• Jediwan@lemy.lol
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      5 months ago

      In your opinion what makes a terminal program “more useful” than a GUI program with the exact same functionality? Genuinely curious because it’s a perspective I cannot wrap my brain around lol

      • Captain Aggravated@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 months 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.

    • bitfucker@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      5 months ago

      You may be out of touch with people that are used to GUI. For example, during the first installation of linux distro after the user is landed on their DE, as far as I know, no distro ever curates the terminal to them. Like “this is the menu”, “this is the terminal emulator”, and even after the user managed to open the terminal, it is not obvious what to do next as there is only text prompt. Remember, users using GUI usually encounter text prompts with some hint (username, comment, email). Meanwhile the terminal has nothing. Suddenly you see the user you are logged in as and a blinking cursor. After that, how do you know what apps are installed? What commands can you call? Typing help doesn’t always help on every distro. Again, remember, users using GUI will see what apps are installed usually using a menu of some sort. There is a lot of friction coming from GUI if you have never encountered CLI before. Heck, I bet some people have never installed an application outside from an app store or their commissioned device. Even a file explorer concept is foreign to some.