Archive for -
GNOME Day 3 (Nitpicks and plasma-desktop test)

So, another day with GNOME on the laptop. First, I'll go over the things brought up in the comments of yesterday's post. I also replied in the comments to most, but I know going to posts to read comments is something I do rarely, so I'll make it convenient for others to get the discussion.

To Adam, I mentioned that I would be trying out GNOME Shell anyways, so no need to worry that I was trying alpha software at the whim of a comment ;) . I tried gdevilspie, but couldn't get it to actually do anything. The options indicate it can do what I want, but it just doesn't do it. The GUI says the service is running, but neither Metacity nor GNOME Shell picked up on the rules at all.

To Nicolas, I know that the screen is actually 129 dpi, but the fonts are too big then. To get them to the size I want them to be, I have to set it to 6pt and 4pt for regular and small text, respectively. The font selections go to 6pt as a minimum, so anything meant to be smaller is just the same size. I'm sure I can edit it in gconf, but meddling in there is after I try doing it all through a GUI. The fonts getting bigger with higher dpi seems backwards to me since you should be able to show the same size with smaller physical size, but maybe I'm missing some key detail as to why the opposite is true. So the only way to get the font sizes I want is to set the dpi to a lower value, probably 96 dpi since I know the font sizes at that dpi.

To Alexander, pressing Shift while moving a window gets the effect I want, but only snapping is jarring and not really what I expect.

To twilightomni, the animations are something that I find dispensable. They aren't necessary for things to work. The main reason I find fault in requiring 3d acceleration is that nvidia users are left out in the cold or forced to go for the blob. One of the reasons for this install was so that my KDE install with nouveau isn't screwed up when I no longer need the nvidia driver. I have more on this issue today.

Second, the nitpicks that I've found with usage. First, I tried to use Guake which is supposed to be similar to YaKuake. Upon trying to start it, it just crashed (yes, a bug has been filed). I'll look into it once the issue is fixed. This crash triggered abrt to report the crash. Now this is an issue that I've been finding all over the place, but dialogs are not given focus when they are created. I need to manually move the mouse (or alt+tab, but i have issues with GNOME Shell's way of doing this as I went over yesterday) to give the dialog focus. In abrt's case, it also put the dialogs underneath other windows or dialogs making me wonder why the application had become unresponsive. Having translucent windows as I normally do would help avoid the discovery that there is a modal dialog hiding among the others, but it would only ease the issue, not solve it. I also spotted a spelling error in the dialog that requests for credentials. The word "below" is misspelled as "bellow". If this post isn't enough to be considered a bug report, I'll file a formal one.

There are also some migration pains with Nautilus. In Dolphin, F10 creates a new directory and prompts for a name. In Nautilus (and elsewhere), F10 gives the menubar focus (just like in the latest incarnations of Windows). Both KDE and GNOME also allow alt+<letter> to access the menubar, but in GNOME, F10 is a wasted key. This also conflicts with htop when inside of a gnome-terminal, but at least 'q' still works to quit as well. The screensaver also automatically locks the screen. I want it to lock, but I want some time to catch it and prevent it from forcing me to put my password in if I'm reading something (like my notes for these posts). I also found a quirk in PackageKit. After selecting and installing a set of packages, they are still checked in the interface, but the "Clear" action does nothing to change these selections which is a little odd, I thought.

For GNOME Shell, I do have issue with it not supporting a low-end setup without 3d acceleration. First, nvidia users are left to either stick with Metacity or use non-Free drivers which require some additional repositories to be enabled. Other chipsets have similar issues, but nvidia is the most noted one. Personally, I have found that the only thing that is used that really requires acceleration is the "Activities" view. Everything else is just animations and other effects that don't really add any useful features to the experience (maybe I'm missing things, let me know). It is sort of necessary since there is no other way to easily launch applications that I can approve of for general use. With no other option to fall back to, there is no way to lower power consumption. KWin suspends its (well, PowerDevil triggers it, but it's there) compositing when low on power to help prolong battery life. GNOME Shell has nowhere to drop to other than Metacity which loses essential and key features of GNOME Shell.

While on this subject, there is some lack of interoperability between Metacity and GNOME Shell. The activity count for GNOME Shell is not turned into a desktop count in Metacity and when going back to GNOME Shell, there is again only one activity. This was irritating as I had to reorganize my windows after each switch (though KWin would be able to pick up my rules and put important things where they belong). I know that window manager to window manager switching usually collapses all applications to one desktop anyways, but if GNOME Shell does have a power-save mode, Metacity would probably be it and they should work better together in that case.

The "lg" command that GNOME Shell has is nifty, but I don't know what objects are available. If there was something like Python's dir() function, discoverability of things I could do with it would be greatly improved[1]. The history output also seems to not keep the output scrolled to the bottom if it is there forcing manual intervention to see output.

Third, and probably the most interesting part of this post, is my test to try GNOME Shell and plasma-desktop at the same time. All I did was install kdebase-workspace and launched plasma-desktop. To my surprise, it worked and there were no dead_kittens. Plasma picked up GNOME Shell's activity count and pager happily displayed them all. However, the workspace switcher in GNOME Shell was confused and only saw one workspace (with the ctrl+alt+left/right keys, going back to 1 worked, but you were locked in once there) even after plasma was killed (switching to Metacity and back fixed it). Plasma also stole the notification area (status bar) and GNOME Shell didn't get it back until the Metacity switch as well. After finished with plasma-desktop (and KRunner), killing them brought back the nautilus desktop as one would expect. The only thing that didn't really fit was GNOME Do which still stuck to the bottom edge behind the plasma panel, but it still worked despite being there. I also removed kdebase-workspace (with yum history undo) to prevent future temptation to just use them instead.

Tomorrow, I'll have some RAM usage statistics I gathered last night.

[1] As a note, I just figured out what the "Evaluator", "Heirarchy", and "Properties" labels do, but that is, again, more mousing than I like.

GNOME Day 2 (GNOME Shell)

After using GNOME for a little while, I discovered some things that are not how I am used to things working that would probably take a while to get used to if I were to move to GNOME full time (I doubt it though, KWin, KRunner, and general application integration is just too nice in KDE). I'll be using it until the end of the semester (right before FUDCon) at least since I'll need Panda3d and therefore the nvidia driver until then.

First, things that got fixed from my last post are that the audio applet showed up after the first upgrade, so I'm guessing the PulseAudio issues that were there caused all of the issues and the upgrade fixed that all up. The nvidia driver works, but it has those issues that I had last time I used it every now and then (waking up, it goes right back to sleep, some jerky animations, screwed up DPI (129 instead of 96), etc.). In response to Adam's comment on my last post for the driver, the dual booting with another Fedora install makes the kernels a touchy subject and not something I want to deal with. I ended up "rebuilding" the RPMFusion SRPM myself against this kernel. Thanks to the help with getting the "focus follows mouse" setting and the opening terminal entry for the desktop. I did end up getting my keyboard layout settings fixed, but gnome-shell has broken them again (see below).

This morning I had to poke around with some code, so I fired up gedit, played with some settings (mainly tabulators to spaces and 4 spaces for indentation). After some mistakes with typing, I found out what kept causing me to screw up: ctrl+bksp behavior is very different from what I am used to in KatePart. In KatePart, it goes to the beginning of the next <word> and since KatePart is used pretty much anywhere non-trivial text editing is needed, it's consistent everywhere. In gedit, however, its movement is very different. Going forwards, it goes to the end of a <word>. Numbers are considered a different <word> which adds to the confusion (I'm getting used to looking ahead in vim for command counts, the numbers adding to it throws the counts for key presses off). Going in reverse, the cursor is placed at the beginning of a <word>. This duality is disorienting at times. There is also some odd behavior near the end of newlines. In KatePart, ctrl+bksp will stop at a newline effectively just clearing it. Instead, gedit also deletes the last <word> on the line before which causes me to manually hit Backspace to delete what I want. Word jumping over newlines follows similar patterns and is hard to get used to. For actual coding (pretty much anything beyond what that class requires), I don't know how well gedit works out, but it'll take some getting used to. I was pleasantly surprised to see a Kate color scheme in gedit.

I discovered some odd behavior with the volume keys as well. If something is selected, changing the volume with the keys makes it use the "hovered" color while the button is pressed. Another oddity I found was the "desktop effects" configuration selection for Compiz had quick options for "wobbly windows" and "the cube", two of, what I consider, the useless effects that have been made. I usually use "Present Windows", "Zoom", "Desktop Wall", "Thumbnail Aside", and "Translucency" in KWin. Other than that, it's just some visual cues that I could live without like a minimization animation. The rest I see as eye candy (well, the other desktop switchers can be useful, just not my preference) and not really necessary, so why two of the more "useless" effects are front and center befuddles me.

I also found some inconsistency with dialogs. Sometimes Escape works as if I hit "Cancel" and other times it just does nothing. One such dialog is the "Add/Remove Software" window. Visually, it screams "I'm a dialog" to me since it lacks a menubar and toolbars (though these aren't always applicable) and yet Escape does nothing. Just something I've come across and I'm sure there are more around.

How am I supposed to eject flash drives in GNOME? I kept trying to do "Safely Remove" but it kept coming back that "this file could not be stopped" (though it is a funny error message, fairly for those who don't know about processes holding file descriptors open). Eject works, but it's not what I'd choose with an option of "Safely Remove" right there.

I also installed GNOME Do and tried it out. Unfortunately it is also not KRunner by a long stretch. I search for "naut", GNOME Do suggests "Livna Display Configuration" and only that. Why not Nautilus? I know what it's called, let me launch it. KRunner also searches my bookmarks, contacts, recent documents, path names, Konqueror web shortcuts (very handy), Kate sessions, offers a calculator, and lots more. GNOME Do doesn't do any of that (as far as I can tell) out of the box. I haven't searched for plugins yet, so any pointers on good ones for the things I listed would be nice. GNOME Do is also not a standard text entry widget, so ctrl+bksp doesn't work at all.

Window management is one thing that I've gotten touchy about after getting used to KWin. Metacity and GNOME Shell both have the following issue that bugs me: windows only snap to edges when going towards the edge and not when the two windows previously overlapped. I have high sensitivity on my inputs (but smooth, which is where the Windows drivers start to annoy the hell out of me with their jerky scrolling) so I overshoot placing windows often and "reverse snapping" is nice. KWin also snaps corners to corners and when edges line up (the top will snap to the neighbor's top line if the two windows "touch") which Metacity and GNOME Shell are both missing. Resizing windows is also weird with it depending on where the mouse starts within the window. In KWin I don't really resize things much since I lock windows' position, desktop, and size for persistent apps (and size for common ones like Konqueror or KWrite). I also set shortcuts for persistent apps (meta+alt+i for Konversation for instance). As far as I can tell, neither Metacity nor GNOME Shell has this ability, so I'm left to manage such things manually and since default sizes are way too small for 129 DPI, I have to resize things.

While on window management, I'll report my initial findings for GNOME Shell. The first thing I noticed is that its alt+f2 tool is even more featureless than the default GNOME one. It only accepts complete command names, no tab completion, no ctrl+bksp, forces focus, and other things. This mix of things it's missing makes it pretty much useless in my book since opening up a terminal and letting bash auto-complete for me is much faster. In addition to this, the GNOME Do shortcut gets clobbered somewhere in GNOME Shell so it has to be manually started.

The alt+tab switcher in GNOME Shell is also hard to get used to. If there are two windows for an application, they cannot be separated without the mouse or hitting the down arrow. I was able to get it to display the separate windows with nothing but alt+tab a few times, but it's not reproducible reliably. Window thumbnails are also hidden in this submenu. Being used to "Present Windows" (with two variants, all desktops and just the current one) which has filtering, this is a step backwards for me anyways, the awkward navigation just adds to it

The list of applications next to the "Activities" menu doesn't make much sense to me. It only lists the currently focused application so of what use is it? In addition it says "File Manager" for the desktop. How many people know that the desktop in GNOME is just a Nautilus view of a folder with a wallpaper? I didn't until today. I kept trying to find this "File Manager" that was open so I could close it.

The "Activities" area is weird. There's no keyboard navigation unless you're searching (which also does not support ctrl+bksp by the way). You can add and remove desktops here as well. Adding them is no problem. I find issue with the way desktops are removed. You can only remove the last one and the way it works, the position of the last desktop keeps moving. I was also unable to find keyboard access for this. The other issue with these desktops is that the layout with the "Activities" visible is 2d. When back on the actual desktop, it is 1d. On KDE I have my 9 desktops set up in a 3x3 square with shortcuts that treat it as 2d and 1d (if I had 6 more arrow keys and shortcut actions to attach them to, there would be 27 in a 3x3x3 logical layout ;) ). GNOME Shell has no way to treat them as a 2d grid. In addition, I did not find any shortcuts for moving windows between these desktops. You have to get the window menu (alt+f3 with KWin, click in GNOME Shell) and choose to move it right or left. There is also no wrapping, so to get a window from desktop 1 to desktop 9, I have to do this 8 times. There's also the ability to move windows when in the "Activities" area, but this also requires a mouse and lots more of it.

GNOME Shell also likes to play around with shortcuts. Since the "Activities" area is triggered by the Meta (also known as "Super") key, my shortcuts to the desktop through VNC are chomped when they use the Meta key. Not fun. If the "Control to show mouse position" is active, the Control key modifier is also impossible over VNC (now using TigerVNC since vinagre is really annoying). My keyboard settings for CapsLock-as-Backspace and RtAlt-is-AltGr, Shift+RtAlt-is-Compose are also completely ignored. Setting them manually with setxkbmap works as expected, but the keyboard settings are completely ignored. The GNOME Do access key (Meta+Space) also seems to have no effect when in its dock mode forcing the mouse to access it there as well.

With GNOME Shell active, GNOME Do defaults to a Macintosh-like dock. It's nifty and looks nice, but not really my thing. Unfortunately, with what other ways there are to launch applications, it is the least annoying (though I just found the "Sidebar" and it looks a lot better, will report on that tomorrow). Similar to the alt+tab switcher, the dock is hard to use with multiple windows for one application. Right click on the app and then click on the entry you want. No thumbnails to differentiate them if the titles are the same or keyboard navigation.

Reflecting, GNOME Shell gets a "meh" from me so far. I hope that it's still alpha so that more features can be added (assuming standard alpha and beta definitions). If it isn't, GNOME Shell's first release will probably feel like KDE 4.0 did to many. In either case, KWin and Plasma have been much more powerful from my experience and they aren't as much as a detachment from how things have worked for the past many years.

Experiment for tomorrow: gnome-shell with plasma-desktop. The /proc/acpi/dead_kittens file will probably be reporting numbers in the dozens.

Trying out GNOME (first impressions)

Today, I installed an instance of Fedora 12 Beta GNOME Spin onto the partition that used to be occupied by the Windows 7 Beta I installed in March or so and BSODs on boot. Dual booting Fedora/Fedora is an interesting prospect and I found some interesting corner cases in Anaconda and dealing with getting the two to work with each other.

Luckily the install I'd like to keep clean (the KDE one with the nouveau driver) had the kernel for the Beta still installed. When installing the GNOME instance, I didn't install a bootloader since the possibility of overwriting the good settings was too risky. It turns out that Anaconda did nothing with /boot in this case (it made a directory for it on its /, but that's all I can tell). Maybe it did and I didn't notice, but there was no GRUB entry for the new install and the kernels both went to the first install (though the settings on the menu and timeout do seem to have been modified, not sure what's going on there).

After hacking the GRUB listing to boot the GNOME install, I did an upgrade. I skipped the kernel since I don't want to see how the two installs would get along with each claiming ownership of the files in /boot, so the GNOME install will keep its kernel and the KDE install won't uninstall the version that the GNOME one is on.

I think that in order to fix issues like this, there needs to not be one file in charge of GRUB entries. One way I can see this working better is for GRUB to have global settings (and a GUI to control these) that all installs obey and to have a directory with one directory for each installed system on the machine. This way the Ubuntu magic incantations can stay in one file and the Fedora lists can each be separate. GRUB would then scrape all these lists and boot whichever it needs to. This is much more extensible and allows the distros to each do their own thing and not step on each others' toes with defaults and whatnot.

I must say that the GNOME frontend for PackageKit is much more advanced, but KPackageKit allows for a more pain-free way of dealing with cerdentials. I don't know how many times I entered the root password to fiddle with packages, but it's not fun with my password. The dialog for the password request also doesn't get focus without clicking forcing me to act to deal with it. This with no setting for "Focus Follows Mouse" that I could find annoyed me. I also had issues with PulseAudio popping the speakers every other second. Luckily the update fixed that, but it was really annoying while it was going on.

As for GNOME itself, I feel lost. Since PulseAudio was popping the speakers, I wanted to mute them. However, when I went to the Sound entry under settings it just sat waiting for PulseAudio and never did anything. I couldn't find any mixer like KMix, so I started up a terminal to do alsamixer. When I ran it, it gave an error about PulseAudio not being reachable. Fine, at least there's a reason that the Sound configuration doesn't work. But it then crashed nm-applet somehow. Unfortunately, abrt had failed to start for that session and there's no trace for it.

Some other little things I saw were that the icons in the menus sometimes "popped" into existence after the menu was displayed. The Alt+F2 tool (not sure what it's called) is similar to what KDE3 had and not the KRunner I'm used to and the combination of that, the menus being foreign to me, and me not using menus normally made it awkward to launch applications. KRunner can do substring suggestions and also searches descriptions so that Konsole matches any of "term", "kons", "sole", and others. To launch the GNOME terminal it's "gnome-terminal" (tab completion helps, but KRunner is still far superior here). Since terminals are a dime a dozen and I usually close things as soon as I'm done with them, this is unproductive for me (I normally use YaKuake).

I also coupled my /home partition with the new install, but firstboot required me to use a different name or chance that the uid for my user on the new install and the old install were the same. I'd like a button to say "Yes, it's my $HOME, set my uid/gid to what that directory's ownership is" to help with migration and reinstalls.

With this, it shared my other install's xdg-dirs settings, which has everything pointing to $HOME. This is the first time in a while that I've had icons on my desktop and I can't say I miss it. That with the overlapping (which I was able to fix after fiddling with the context menu) and previews, it makes my desktop feel cluttered, but if I could get rid of the previews, I'd feel at least a little better about it, but I've been unsuccessful in my attempts to get that to happen yet.

I was also unable to find any GUI control to fine tune my keyboard settings (I set the Caps Lock key to be an extra Backspace and RtAlt to AltGr and Compose with Shift). I know the commands to do it, but would have liked to set it in a GUI somewhere. Speaking of configurations, it took a while to find the control panel (similar to systemsettings in KDE) and it was an accident. I had kept going to the menus (which I find awkward with, but if there's keyboard access to them, I'd feel better) so configuring was another annoyance.

I use VNC to access the session running on my desktop, so I editied my client script (it shunnels the VNC session) to use the client shipped by default. The biggest annoyance is that there's no cursor shown at all, so I have to rely on effects in the display to guess where the cursor is (I'd use the keyboard if the local X session didn't eat all the important ones).

Another thing I am missing from KDE is the context menu on the desktop. In KDE, there are entries for Konsole, logging out, shutting down, and locking the session all in one convenient place. Instead, I have to go to those menus (requiring a mouse) to do any of this. The ctrl+alt+del menu also doesn't have logout, but the other entries being there is nicer than going to the menus.

After playing around a bit, I had to install the nvidia driver so that I could use the install for the class I have to use Panda3d for (this was the main reason for a second install; so that the KDE one wasn't polluted with this thing). The kernel the GNOME install has is older than what the RPMFusion repositories carry, so I had to "build" it myself. That wasn't hard. THe gotchas were allowing it to execute code on the stack and rebuilding the initrd since nouveau was in the one from the KDE install. The nouveau and nvidia drivers really do not work together at all. With nouveau, you have it taking the frame buffer and nvidia not being able to grab the device and uninstalling the nvidia driver is just a pain. It also does not do 96 dpi out of the box and all my fonts are huge (physical dpi is around 129 or so).

I'll be playing around with this install for a while (3 projects to go with Panda3d), and I'd be grateful for any tips on how to do anything I failed to do and described here. I'd say that most of it is that I'm just missing where things are for half of it, but I wouldn't be surprised if I had to go app searching for some of it (like VNC). I'll also be trying out gnome-shell later since I have 3d acceleration with the nvidia driver (one reason I think it shouldn't become default until nouveau supports 3d or nvidia is miraculously released as Free software).

SVG editing and Scour

Thanks to the replies to my last entry. I've put Scour up for review so that I no longer have to scrub SVG files by hand.