You Got A Question? Ask    GNOME Community!


The Special Case Of Terminal In GNOME Shell 3.12

No matter what are you using for graphical display (GNOME, Unity, KDE etc) the real power of Linux Desktop comes from the FOSS tools beneath, and of course the Linux itself, the Kernel.

How we interact with them? Typically via a Terminal Emulator. So let’s treat Terminal as one special application.

In GNOME 3.12, Shell will always launch a new window instance for GNOME-Terminal. Currently this functionality can be done via extensions or by <Ctrl+click> or by dragging the Application Icon to desktop.

terminal-launch

A click is all what you need in GNOME 312 to launch a new terminal instance

McCann says:

One of the most frequent complains about our launching behavior seems to be related to how we handle terminals. I’ve never really noticed this problem myself when using the GNOME Terminal because I use tabs. For that, the single instance behavior works great.

Lately I’ve been forced to use xterm in my jhbuild session because gnome-terminal doesn’t work at all due to some problems with dbus activation. xterm doesn’t support tabs and it makes it really awkward to create new instances.

I wonder if we should special case terminal launchers to always create new instances. OS X does something similar to this for spatial Finder windows.

To be clear, I am not suggesting that we have a class of applications that behave entirely differently in the launcher. I’m suggesting that special casing an application most non-technical users will never see in order to accommodate advanced/legacy usage may be acceptable. 


Debarshi Ray pushed the patch in master today

One of the most frequent complaints about our launching behaviour is how we handle terminals. Among all MDI applications, the terminal is the one that is most likely to have lots of semi-independent windows opened at the same time, and spawning new windows is much more common. More so, if it does not support tabs.

Therefore, we special case terminal launchers to always create a new window. It is an application that most non-technical users will not use, so chances of them being confused by any special behaviour is expected to be low.

From the patch:

function _isTerminal(app) {
    return app.get_app_info().get_categories().indexOf('TerminalEmulator') > -1;
};

I didn’t apply it, but that basically means that this function will work for all Terminal Emulators as long as they have correct Desktop Files.


 
  We can't watch comments unless G+ provides an API or if you send a notification, e.g +World Of Gnome
     Sometimes is better to place your questions on GNOME Community
  • Andrei Petcu
    • alex285

      That was going to FOSS Tools

      • Andrei Petcu

        People ar ls-ing, ln-ing, cp-ing and mkdir-ing and they say they are using “Linux”. It is GNU/Linux.

        I would be pretty pissed off if people were using by software and calling it in a different way, avoiding the name I gave to my project. I understand Stallman’s frustration :(

        Please use “GNU/Linux” even if it does not sound as catchy as “Linux”.

        • alex285

          I have written a post about this case: http://worldofgnome.org/gnu-in-epic-rap-battles-of-history/

          When Linux author Linus, doesn’t accept the term GNU/Linux, how I can call it?

          • Marco Scannadinari

            Well, I think it’s justified, but it’s justified if you actually make a GNU distribution of Linux

            Isn’t everything that includes the really important GNU stuff (coreutils, GRUB, etc) a “GNU distribution”?

          • alex285

            I think you’re misunderstanding the point. GNU/Linux doesn’t mean a Linux Gnu Distro, like Arch Linux. It means that GNU/Linux is one project. That’s the whole controversy about.

            GNU/Linux or GNU+Linux is basically GNU with Linux, or GNU running on the top of Linux. There isn’t such thing as GNU/Linux version.

            GNU can run without Linux, Linux can run without GNU, so why GNU/Linux?

            I don’t care about names, I’m just saying. I don’t use GNU/Linux because I feel isn’t the right term. Credits go where they belong.

          • Andrei Petcu

            Gnome has been a part of the GNU project for a loooong time. I’m not quite sure if it is part right now.

            Admit it, Alex! You dislike Stallman’s beard and you don’t want to give him credit for his work for the past 30 years.

          • alex285

            Free code is always free code, who cares about the rest?
            And Alan Cox’s beard > Stallman ;)

          • IsacDaavid

            I agreed with you until I read there’s no Linux that doesn’t include GNU. It exists and it is called Android. Many routers and embedded devices also include Linux but use musl, dietlibc or ulibc instead of Glibc; and Busybox instead of GNU coreutils

          • alex285

            I didn’t know that Android doesn’t GNU. I have to google a bit on that.

          • IsacDaavid

            I think it is. As a side note, if you listen to Torvalds when he gives that argument in the Revolution OS documentary you can hear the interviewer never pronounces the “slash” or the “plus” between “GNU” and “Linux”; so what Linus is actually refuting is the term as applied to a Linux kernel maintained or promoted by GNU, like Linux-libre nowadays.

          • Andrei Petcu

            Sof if Joh Doe, author of the Darwin kernel, does not accept the name OS X of the OS X Operating System I should call it Darwin?

            Linus builds Linux wiht gcc a GNU project and he has been doing so for a looooong time :)

          • IsacDaavid

            I totally see where you are coming from, but in fact the kernel in Darwin and Mac OS X is called XNU. That is, Darwin is also more than a kernel, like GNU+Linux+friends

  • Pingback: The Special Case Of Terminal In GNOME Shell 3.12 | Linux news

  • Curtis Bolin

    Instead of tabs you can just use GNU Screen. Just look around for a tutorial if you haven’t used it before. I personally never use tabs. Here is my screenrc if you are interested. http://leedev.org/article/Screenrc/ Good Luck

    • alex285

      Thanks, I am just looking at it ;)

    • Otto Swanstaiger

      Or tmux. ;)

      • Curtis Bolin

        tmus has a huge memory leak problem. If you leave it on for a long time (like a day), it will use all of your ram. No matter how many times they claim they have fixed the memory leak, every time I have tried it again, my server ends up unstable because again it used all of memory.

  • johnny

    I’m not so sure if the Gnome HIG should be adopted by every program/app. The core apps focus on specific tasks for a simple and straightforward workflow. Since Terminal is an app »most non-technical users will never see« I think simplification on costs of functionality should not be done. Just my 2 cents…

  • Charlie

    I’m just an average user but why change behaviour when the pro users can create a keyboard shortcut to launch a new instance of terminal.

    • alex285

      Hmm, whats the connection between Pros and Shortcuts?

      • Charlie

        Hi – I could have written “when anyone that needs the behaviour can create a keyboard shortcut” that sounded a bit patronising and I just meant that pro users (i.e. more technical users) will be the ones who need this ‘new window every time’ behaviour.

        • alex285

          I can speak only for my self. I never used a shortcut to launch an App.

  • lot

    What about PDF viewers, text editors, file managers? Typically you want to run multiples instances of these too.

    This whole disaster was created when they removed the windows list applet from the panel for unfathomable reasons. With the windows list gone, the user lost the ability to easily “recall” a minimized window. In order to fix this problem that they themselves had created, the UI designers decided to a) make it difficult for the user to minimize windows and b) reuse an existing button for running programs also for recalling windows.

    And this is how we ended up with a user interface that was less capable and more confusing than the one that we had before. Now it will also be less consistent as well.