Thread Previous • Date Previous • Date Next • Thread Next |
Hi,I am one of maintainers of Getting Things GNOME! (GTG), a task manager application. I would like to add a feature where you trigger a keyboard shortcut and you can immediately start typing a new task you want to do in future, e.g. you browse web and you remember that you have to call your cousin tomorrow. I was able to setup all needed parts but a new window doesn't get focus. You have to switch to the window by mouse or keyboard what kills the feature :-(
I've prepared a simple demo to test: https://code.launchpad.net/~izidor/%2Bjunk/focus-model/
Run the main application (app.py) which provides a DBus method to open a new window. In another terminal window, run Launcher.py which calls that method and makes the app open a new window.
As you can see in image 01.png, a very strange thing happens: the new window is put in over all windows but it doesn't get focus, i.e. when you start typing, you don't change the text of the entry.
I have hard times to understand Window Focus Model in Unity. It seems to me that a new window gets a focus only:
* when its application had already focus * or when the window is the first shown window of an applicationAnother thing is when I use window.preset(), the window is put into the background and an animation in Unity Launcher is shown. (Try it by uncommenting a line in app.py).
This behavior affect all other AppIndicators I use too:* when you open Empathy contact list from the indicator-messages, the window doesn't get focus either, see 02.png. When I type, I type in the gnome-terminal in background. (You might need to open the window and close it few times to prevent showing the window for the first time of application)
* Hamster Appindicator ( http://albertomilone.com/wordpress/?p=502 ) -- after showing the first window, it doesn't get any focus
* GTG's Appindicator -- Although it doesn't run over DBus, it has the same problem. You have to choose an action from appindicator and then switch to a new window.
* Banshee from Sound Menu is a little bit tricker: almost every time you close banshee, you turn it off. The next time you open it, banshee starts as a new process and an exception is applied.
However, this doesn't apply to Skype whose contact list can be shown from its status icon with focus.
I use Ubuntu 11.10, unity 4.28.0-0ubuntu2.My question is: How to give focus to a new window so the user can write in it without switching windows? Is this Window Focus by intention or it is a bug?
Thanks, Izidor
Attachment:
01.png
Description: PNG image
Attachment:
02.png
Description: PNG image
Thread Previous • Date Previous • Date Next • Thread Next |