21

I've been using Gnome Shell with Ubuntu for few days now and have experienced really annoying behaviour with new windows.

Sometimes when I use another window and press e.g. Alt+Ctrl +T to open new terminal window, the new window is not brought to the front. Instead I get a "New terminal window is ready to use" notification.

A similar problem occurs with the with Pidgin being integrated with Gnome Shell (via extension). When I get a new message, a notification pops up, but the window does not show. I need to either Alt+Tab it or click the notification to see the new message.

Is there any way to have new windows being always brought to front, and remove those annoying "Window is ready" notifications?

EDIT: gconftool-2 --search-key focus_new_windows (as requested by severin):

 /schemas/apps/metacity/general/focus_new_windows = Schema (type: `string' list_type: '*invalid*' car_type: '*invalid*' cdr_type: '*invalid*' locale: `C')
 /apps/metacity/general/focus_new_windows = smart
  • 2
    There is a good reason why Gnome shows that "Window is ready" notification when a new window is opened without getting focus automatically. It is a important accessibility feature. For the blind and other visually impaired users like me it is important to get notified if a window without focus is opened because otherwise it would be impossible to know if the window really was not opened or not. If a new window does not get focus automatically then user must be notified so that users knows that the window opened. Screen reader like Orca speaks those notifications. – miksuh Nov 7 '17 at 14:02
  • In Debian v3.16, Gnome 3 I found this focus_new_windows setting in org.gnome.desktop.wm.preferences – Pierre de LESPINAY Mar 9 '18 at 9:40
  • if a new window gets focus automatically (especially with a shell) while I am typing stuff, I get pretty angry… also think about potential security consequences – törzsmókus Mar 5 at 15:22
12
+100

You can try setting focus_new_windows from smart to strict. You can either use gconf-editor and go to /apps/metacity/general and change the value of focus_new_windows from smart to strict, like here:enter image description here

Or you can use the command line:

gconftool-2 --set /apps/metacity/general/focus_new_windows --type string strict

If that still doesn't help, you can also change auto_raise_delay from 1000 to 0 in aforementioned gconf-editor (see screenshot).

See also here.

  • 1
    But the long description given for focus_new_windows key says "This option provides additional control over how newly created windows get focus. It has two possible values; "smart" applies the user's normal focus mode, and "strict" results in windows started from a terminal not being given focus." But we want the opposite . Isnt it ? We want to give focus for newly launched applications. How to do that? – mac Dec 22 '11 at 9:39
  • 2
    Running that command-line had no effect for me – Robin Winslow Aug 8 '13 at 17:24
  • 1
    Also had no effect for me (I have it set both to strict and the auto_raise_delay to 0). – Jakub Kotowski Jul 18 '14 at 15:19
11

There is an extension for Gnome3

"steal my focus"

https://extensions.gnome.org/extension/234/steal-my-focus/

it solves the exact problem you're having.

  • doesn't work for me. I noticed that I'm having this problem only on my external monitor. On the laptop display the window comes in front. – Jakub Kotowski Jul 18 '14 at 15:38
  • A great extension! – qed Sep 29 '14 at 0:01
  • This worked for me, Gnome 3.14. – Rasmus Feb 10 '15 at 8:10
  • 1
    Doesn't work on GNOME 3.22.2 (Fedora 25) – l0b0 Feb 6 '17 at 10:47
  • 1
    extensions.gnome.org/extension/1236/noannoyance is the more up to date option. – lkraav Nov 25 '18 at 12:35
3
  1. Go to System > Preferences > CompizConfig Settings Manager > General Options (under General) > Focus & Raise Behaviour,
  2. Clear Focus Prevention Windows field.

References: Compiz General Options, Compiz Window Matching.

2

I dont think there is a setting to do this. I have been using gnome shell for a while now. You can install the "advanced settings extension" for gnome 3 which provides you with a few more settings. However, you cannot get the function you are looking for. I will search the net and come back to you.

  • Nope, as far as I'm concerned there is no way to do autofocussing a new window nor is there a way to remove the notifications. – Hannes Nov 20 '11 at 12:59
  • there is an extension for gnome which does that exact thing you're saying isn't possible. Have a look at my answer :) – Schweinsteiger Aug 17 '12 at 12:42
2

This can now be done within Tweak Tool which is included with Gnome Shell. You no longer need to use extensions or dconf-editor.

Under the "Windows" section, slide the switch over for "Automatically Raise Windows".

This setting will make windows popup in focus, and will also get rid of the "application is ready" notification.

enter image description here

EDIT: This option is missing in Ubuntu 17.10 and will hopefully be back in 18.04. As a temporary fix, you can try installing the following gnome extensions;

  • Noannoyance
  • Focus my window
  • Steal my focus

The above extension are available here : https://extensions.gnome.org/

  • 1
    This setting is absent on gnome-tweak-tool in Ubuntu 17.10 – Chris Billington Feb 28 '18 at 3:52
  • @ChrisBillington Correct. The reasoning for the removal isn't clear. However, you can get these back by installing the Gnome extensions "NoAnnoyance" and "Focus my window". Hopefully they bring it back in 18.04. I usually only stick with LTS releases... Also as mentioned below, the extension "Steal my focus" may work for you. – Dorian Mar 1 '18 at 16:46
0

You can modify this type of stuff with devilspie, which has a nice GUI frontend gdevilspie, which is in the repos.

0

Create a custom shortcut under your keyboard settings and use command:
xterm -e < terminalname >
or:
uxterm -e < terminalname >

Also if you get problems with "failed to execute session" you can always go a step further.

< terminalname > -e xterm -e < terminalname >

In my case:
xfce4-terminal -e xterm -e xfce4-terminal

This i kinda funny because in this way you use a native terminal to start the newer one.
And since the older don't have the preference to start in background
it will start the newer on top.

Clean and no need to install extensions.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.