Now that Gnome 3.0.2 packages hit Debian Wheezy repository, I thought of giving vanilla Gnome a try for a week or two. After many years of using small, tiling, keyboard-friendly window managers ion, dwm, awesome and xmonad, I was curious to see how a typical mainstream Desktop Environment user experience evolved over time from a keyboard-oriented user point of view.
Install gnome-shell and gnome-tweak-tool
Installed gnome-shell and gnome-tweak-tool:
$ sudo aptitude install gnome-shell gnome-tweak-tool
and configured keyboard shortcuts to my liking (e.g. s-2 to switch to desktop 2) and to be more Dvorak-friendly (e.g. s-c to switch to the last focused window).
If running gnome-tweak-tool gives a message about pk-gtk-module not being available, then install it:
$ sudo apt-file search pk-gtk-module gnome-packagekit: /usr/lib/gnome-settings-daemon-3.0/gtk-modules/gpk-pk-gtk-module.desktop packagekit-dbg: /usr/lib/debug/usr/lib/gtk-3.0/modules/libpk-gtk-module.so packagekit-gtk3-module: /usr/lib/gtk-3.0/modules/libpk-gtk-module.so $ sudo aptitude install gnome-packagekit packagekit-dbg packagekit-gtk3-module
Switch off blinking cursor in gnome-terminal
In gnome terminal, the default blinking cursor is annoying. There does not seem to be an UI option to disable blinking cursor. One has to use gsettings:
$ gsettings set org.gnome.desktop.interface cursor-blink false
Otherwise the terminal scrolling speed seems to be on the par with urxvt, and looks are good with Unifont Medium 12 and green-on-black colour scheme.
Reduce window title bar height
Window title bars are too large and space consuming, especially since I'm used to using window managers where they are typically absent. So I did:
$ sudo sed -i '/title_vertical_pad/s|value="[0-9]\{1,2\}"|value="0"|g' \ /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml
followed by restarting the gnome-shell via M-F2 r RET. This changes vertical padding from 14 to 0, which gives windows a sleeker look. To restore the original values, re-install package gnome-themes-standard.
Tip seen at the fine ArchWiki Gnome page.
Hide window title bar when maximised
Window title bars are better removed completely, especially in maximised mode. I did:
$ sudo sed -i -r 's|(<frame_geometry name="max")|\1 has_title="false"|' \ /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml
followed by restarting the gnome-shell via M-F2 r RET. After this tweak, you may find it difficult to un-maximize a window when there is no title bar to grab. With suitable keybindings, you should be able to use M-F5, M-F10 or M-SPC to remedy the situation.
Tip seen at the fine ArchWiki Gnome page.
Start some applications in some desktops
Another useful productivity extension is auto-move-windows that permits to start certain applications on certain desktops. It got compiled in the previous step. Install via:
$ sudo dpkg -i ../gnome-shell-extensions-auto-move-windows_3.0.2-1_all.deb
Here is an example of a configuration that will start Chromium on desktop three and Skype on desktop four:
$ gsettings set org.gnome.shell.extensions.auto-move-windows \ application-list "['chromium.desktop:3','skype.desktop:4']"
BTW, in order to start some applications automatically at the Gnome boot up time, when not using ~/.xinitrc, one can configure them by running gnome-session-properties, or else via editing files under ~/.config/autostart/foo.desktop.
Tiling
gnome-shell comes with basic tiling functionality, covering 2x1 setup. This is suitable especially for laptop only use case, where I usually either maximise windows, or else use them tiled precisely in a 2x1 manner. However, when using bigger screens, the 2x1 tiling mode is not sufficient. I would have preferred to have at least one more grid-like 2x2 tiling mode option.
The tiling is achieved by mouse-dragging windows to the left or right. There does not seem to be a possibility to define keyboard shortcuts to tile windows.
However, there is shellshape gnome extension that provides some tiling capabilities like xmonad. It is less smooth around the ages.
Drop-down scratchpad terminal
In xmonad I'm using "named scratchpads". One of the primary use case of which has been to press a key and bring up a terminal with a permanent screen or tmux session running in it. The same functionality can be achieved in Gnome 3 by installing guake which offers a drop-down terminal after pressing F12.
Summary
Impressions after using this setup for a week? Pleasant UI with good looks, modern feel, nice overview exposé-like mode. With the above-mentioned tweaks, also relatively space efficient and keyboard friendly. I was pleased to see that basic tiling capabilities started to hit the main desktop environments in a native manner. (And I hope that native tiling gets extended much more in next gnome-shell versions.) However, the productivity and ergonomics is still far from using a native keyboard-friendly tiling window manager for me. This is especially noticeable on set ups with bigger screens. After I went back to xmonad, I felt immediately much more productive and efficient. Home, sweet home.