Last night our MHVLUG meeting was a Desktop Shootout, where people showed off their Linux desktop environments what they liked and what they didn’t. I went last, presenting Unity, and got a few good questions and comments about how I did things.
White listing the Tray
I have a number of apps (RedShift GUI and an IBM firewall thing being prime examples) that minimize to the system tray. Under default Unity this means there is no UI for them. So I’ve done a broad white listing all all applications in the tray. It definitely looks a little uglier now, but at least it works. 🙂
The default alt tab behavior drives me nuts, because it collapses 2 chrome windows into a single item. So you can’t quickly use it to flip between 2 browser windows. This is provided by the Unity compiz plugin. Fortunately you can just load up one of the other compiz switchers instead.
Run ccsm (Compiz Config Settings Manager) and scroll down to the Window Manangement section. You’ll want to enable “Application Switcher” and configure Next Window (All windows) key stroke there.
If there are other questions you think off, please just ask in comments, and I’ll update the post with the answers.
3 thoughts on “My Unity Tweaks”
I don’t find any of the Compiz application switcher plugins very bearable. Instead I prefer something like superswitcher, which has some issues, but its concept seems infinitely superior. Having a bunch of thumbnails or just icons of various windows of the same application isn’t very useful at all: it’s the icon that identifies the application and the window title that identifies the document. I’d recommend running it with the -C option so it overrides Caps Lock, or I suppose you could consider modding the source so it behaves like regular Alt + Tab.
Back in my gnome2 days I was a big fan of superswitcher + devilspie to manage my desktops. Realistically with the Unity Super+# taking you to applications, I only rarely bother to move to things by desktop any more. So I dropped using it. I did like what they were doing though. I even wrote about it previously https://dague.net/2007/10/24/on-returning-to-gnome/
How silly of me. The very reason I subscribed to your blog in the first place might’ve been because I was searching around for more opinions on superswitcher, after which I might’ve read a few other entries and liked what I saw. Of course I don’t recall, but it sounds plausible enough.
I do like the Super + # idea, but there are some rather serious flaws with the concept — I’m starting to sound like a broken record, aren’t I? The first and most obvious flaw is what your post here complains about, because you’ll have to use Super + # first, after which you’ll have to utilize Alt + `. The second major flaw, which may not be obvious while you’re trying Unity on a LiveCD for the fist time, but which quickly pops up in actual use, is that # is all it is. The logical continuation of the concept after reaching 10 windows or applications would be [a-z]. I assume the reason they didn’t implement that is because it would interfere with various other Super + something keyboard bindings.
My vision of the correct way to implement this would be as follows:
If you press Alt + Tab and keep Alt pressed, a window much like superswitcher pops up. All the windows in superswitcher are numbered: first [0-9], followed by [a-z], and I suppose in the slightly unlikely event that more is required, [A-Z]. Hence pressing Alt + [0-9a-z] or Alt + Shift + [A-Z] immediately takes you to a certain window. Other than that superswitcher’s keyboard shortcuts could be retained as they’re quite intuitive: Alt + F1, F2, etc. takes you to a different workspace, Alt + arrow keys allows you to select a window, Alt + Esc closes a selected window, you can click on them, etc. Just activate the whole thing with Alt + Tab first, hold Alt, and then do your thing.
superswitcher’s search functionality is something I’d probably never even think about if this functionality were present, but it could be retained by pressing Alt + : or something like that to activate it.
I would retain the Caps Lock override functionality, for Caps Lock may well be the most useless key on anything that isn’t a mechanical typewriter, but I’d make it into a toggle. A Switch Lock, if you will. But that’s probably something that should be configurable.
I could probably modify superswitcher to behave this way myself if it weren’t for those meddling kids — those meddling keyboard shortcuts, that is. I know some amount of Java, ECMAScript and PHP, so it’s easy enough to follow what’s going on, but lack of time and knowledge is keeping me back for now. I did recently come across something that might solve the hotkey issues though: https://launchpad.net/gtkhotkey So while I’m ranting on about this I suppose I might as well ask whether you know any decent resources to teach me about C(++), whether on paper or online? I’d hopefully be able to take it up during summer.
(I did manage to hack in regular Alt + Tab behavior, with major emphasis on hack, through XBindKey and XGrabKeyboard. It works in Unity, but Metacity just laughs at me even if I disable its own stranglehold on Alt + Tab. I guess it also has a stranglehold on Alt or the keyboard as a whole or something.)
 I realize I haven’t use Scroll Lock since DOS, and not only because it doesn’t work in any application anymore as I’ve always preferred Page Up and Page Down, but at least it’s out of the way not occupying a slot that’s easy to reach by pinky.