Live data from Hacker News

Gooey: Turn command line programs into GUI applications

github.com

41–50 of 76 posts

Re: Gooey: Turn command line programs into GUI applications

#41
post #37

> Turn (almost) any command line program into a full GUI application with one line and lose the ability to pipe, check exit status, run from cron, run through ssh or a different machine, call from other scripts... The last couple of months as I know about more and more the command line, and can configure my shell and tools the way I like, I feel I'm more productive with the terminal than any other GUI application.

It's great that you're learning about the command line and you're enthusiastic about it, but what about writing software for the you of more than a couple of months ago?

I've written more than a few GUIs that added up to wrappers around a command-line app, this would have been very handy then.

Re: Gooey: Turn command line programs into GUI applications

#43
post #37

> Turn (almost) any command line program into a full GUI application with one line and lose the ability to pipe, check exit status, run from cron, run through ssh or a different machine, call from other scripts... The last couple of months as I know about more and more the command line, and can configure my shell and tools the way I like, I feel I'm more productive with the terminal than any other GUI application.

It's not meant to be a replacement for CLI. I can imagine lots of use cases, even for me. Example: I used something to bulk convert images (resize, crop, convert from one format to another). I used it maybe three times in my life, every single time I had to read the manual. If there was a simple GUI, I'd save time.

My main project is a mobile app that has a bunch of calculators dedicated to specific tasks. Some of this tasks are less-than-trivial, but most of them you'd not look a special tool for (for example VAT calculator). It has 950k downloads, most of its users are very happy with it. But every single time there's a review in the online press I get "this is for morons" comments. Every. Single. Time (unless it's a small blog that doesn't have commenters). When I saw Gooey, I had two thoughts: "Nice" and "Someone will surely try to make a point that this is stupid".

Re: Gooey: Turn command line programs into GUI applications

#44
post #37

> Turn (almost) any command line program into a full GUI application with one line and lose the ability to pipe, check exit status, run from cron, run through ssh or a different machine, call from other scripts... The last couple of months as I know about more and more the command line, and can configure my shell and tools the way I like, I feel I'm more productive with the terminal than any other GUI application.

It's not meant to be a replacement for CLI. I can imagine lots of use cases, even for me. Example: I used something to bulk convert images (resize, crop, convert from one format to another). I used it maybe three times in my life, every single time I had to read the manual. If there was a simple GUI, I'd save time. My main project is a mobile app that has a bunch of calculators dedicated to specific tasks. Some of th…

I did not said it is stupid, I said you give up things if you use it. Your use case perfectly makes sense, I did not thought about that! But I don't mind reading manuals since I got Dash[1] :)

[1]: http://kapeli.com/dash

Re: Gooey: Turn command line programs into GUI applications

#45

Earlier quoted context omitted.

Not far from that there's docopt who parses POSIX compliant arguments descriptions.

Is there such a thing as POSIX-compliant argument descriptions? I know POSIX specifies some things about the format of options, but I didn't realize there was a formalized option description language.

Me neither, I thought docopt was a hardcoded fragile thing, until the author explains everything is almost perfectly defined.

Re: Gooey: Turn command line programs into GUI applications

#46
post #44

Earlier quoted context omitted.

It's not meant to be a replacement for CLI. I can imagine lots of use cases, even for me. Example: I used something to bulk convert images (resize, crop, convert from one format to another). I used it maybe three times in my life, every single time I had to read the manual. If there was a simple GUI, I'd save time. My main project is a mobile app that has a bunch of calculators dedicated to specific tasks. Some of th…

I did not said it is stupid, I said you give up things if you use it. Your use case perfectly makes sense, I did not thought about that! But I don't mind reading manuals since I got Dash[1] :) [1]: http://kapeli.com/dash

You're right, you didn't. Sorry for insinuating you were. Thanks for the Dash link, looks great :-)

Re: Gooey: Turn command line programs into GUI applications

#47

Good idea. I wonder if anyone has done this for general unix command-line apps by parsing out the man pages on the fly. It probably wouldn't work for all programs but may be gnu style ones would be consistent enough.

The Python "argcomplete" module[1] generates shell completions for any program that uses argparse, so it's certainly doable.

[1] https://github.com/kislyuk/argcomplete

Re: Gooey: Turn command line programs into GUI applications

#48
As much as I like the CLI, I really find this useful, because it takes time to go through document and find the desired option. I think the real solution is that every CLI program comes with a description file (probably in XML) that describes its CLI options, their types, combination, etc.

The description file should help automatic GUI creating or shell completion.

Re: Gooey: Turn command line programs into GUI applications

#49

As much as I like the CLI, I really find this useful, because it takes time to go through document and find the desired option. I think the real solution is that every CLI program comes with a description file (probably in XML) that describes its CLI options, their types, combination, etc. The description file should help automatic GUI creating or shell completion.

I think you just described a man page. Except for the xml part. That sounds a lot more like something MS would do.
Post reply on HN