• Captain Aggravated
    link
    English
    314 days ago

    The flaw is in the question: terminal apps practically always include more functionality especially for batch processing and automation of tasks.

    I’ll give an example: Find me a GUI application that can quickly convert a gigabyte of .doc files into .pdf format. Pandoc can do that with a single command.

    Also: You’re probably comparing the process of “using” a GUI app with “using” a terminal app, in other words, if you spend 8 hours sitting in front of Premiere or KDENLIVE clicking a mouse, you expect to do the same job with ffmpeg by sitting in front of it for 8 hours typing commands, right? But that’s not how it’s designed to work; it’s designed for you to write scripts that do the things you commonly do, which takes time to do once, then you run those scripts, maybe even from the GUI.

    I’ll give a real example: the software I use for my personal journal is called RedNotebook. This stores the data in a human readable markup format (I think it’s YAML?) and displays it in rich text, including the ability to display inline pictures. I like putting pictures in my journal.

    First problem: what it actually does is store a relative path to the location of the picture in your file system; if ever I was to change the location in my file system where I store the journal or my pictures, or change operating systems, this would break. So I created a Pictures folder within the Journal folder to copy all pictures there.

    Second problem: My phone takes 12MP or larger pictures and the journal displays them at full scale so they take up the whole screen. I’d like to shrink them.

    Third problem: The app’s “Insert picture” funcionality opens a file browser window written in QT which is different than the one from most of my GTK-based desktop apps use and I’d have to manually find the file.

    Simultaneous solution: I wrote a short bash script that calls ImageMagick to shrink the image among a few other cleanup details, and builds the appropriate string to paste into my journal and puts that string in the primary buffer. I then wrote a Nemo Action so that the option to run this script appears in the context menu iff I right click on exactly one image file. Now I can add an image to my journal by browsing to its location in my file manager, right clicking, clicking Add To Journal, and then middle clicking in RedNotebook where I want to paste the picture.

    There are hundreds of tedious little things I would do over and over again clicking through endless menus, windows and dialogs that I can script away, like paving my own bypass lane.