Major changes in the Xfce Task Manager going 1.0
It's done. The task manager application available in Xfce for quite some years is now available with major changes. It has been rewritten from scratch, with GtkBuilder UI definitions and GObjects, everything is fresh and clean. The application has support for Linux, OpenBSD, FreeBSD and OpenSolaris.Let's start by visual changes:
- The buttons at the bottom are gone, the progress bars at the top are vanished, say hello to a toolbar with buttons and monitors.
- You read well, monitors are in, they show a graph of the CPU and memory usage by time.
- A status bar is visible at the bottom, it displays a general information about the system usage.
- Icons are displayed beneath the task names.
Let's continue with less visual:
- Tasks that start are displayed with a green background for a short delay and tasks that terminate with a red background.
- Tasks which state is changing are temporarily displayed with a yellow background. This covers tasks changing their state from idle to running, vice versa and etc.
- The tree views context menu contains the same actions as before, sending signals to the task and changing the priority. They have been polished however, for example the continue and stop signals aren't shown altogether anymore, and there are only five priorities to set ranging from Very low to Very high.
- The tree view columns can be reordered as you wish.
- An optional status icon can be activated allowing you to hide the application.
- It is possible to display percentage values with more precision.
- And finally, the default refresh rate is 750ms and it can be switched from 500ms up to 10s.
And the result is as follows:
The application is fully translated into fifteen languages!
Go to project webpage.
June Xfce desktop
This month's Xfce desktop was inspired by old Japan.
icons: Feel of Japan
gtk+: Simplistica
xfwm4: axiomd
background: The Great Wave off Kanagawa
cursor: Obsidian xcursors
The icon set is very pretty, with lots of creative touches. It can be a little hard to tell what an icon represents, but the more time I spend with this set, the easier it is to recognize items. Sadly, this set only had one release, and it's still incomplete.
The gtk+ theme Simplistica (from April's desktop) returns for June's desktop. Its colors add an old-time feel to the desktop. The blue menu rollovers even match up with the wave colors of the background image.
The window manager theme is the darker variant of axiom, a simple, elegant theme. Its deep hue provides richly contrasts the sandy, woody tones of the gtk+ theme, and suggests dark, stormy skies to match the waves of the background image.
The wallpaper is a famous woodblock print by Hokusai, from the series 36 Views of Mount Fuji, and a simple Google search turns up any resolution you could want. The Great Wave is one of my favorite works. It was on my February calendar, and now it's on my desktop. The image isn't quite the rustic picture of ancient Japan that I'd like - that would take a couple of weeks to locate - but it's still pleasing. Sakura, from last month's desktop, is another good choice, but variety is the spice of life. The Great Wave goes well with my SLiM login theme, Wave.
I picked the mouse cursor theme because it reminds me of wet ink on rice paper, and it has occasional blue animations that match the wave colors. It's available in Portage; you can install it by running emerge obsidian-xcursors
.
The uncluttered version that shows off the wallpaper:
Applications
Thunar is the filemanager open in the foreground. An Xfce terminal shows an update to Gnumeric being compiled in the background.
Running in the panel are an assortment of application launchers, including customized dropdown menus for frequently used programs.
In the panel, I changed the default Xfce menu button (the blue X on the far left) to use a different icon; look in /usr/share/pixmaps
for the four menu icons shipped with Xfce. Right click the menu button to change the icon. Since you have to supply the full path, it means that when you change icon themes, any menu icon included will not automatically be applied to the menu button. You'll have to change it manually every time you change your theme.
After the launchers and taskbar, the notification area holds the tray icons for Claws Mail and Pidgin. Then a genmon applet that runs my lastsync.sh
Portage script. After genmon, there are plugins for volume control, the Orage clock, and local weather.
May Xfce desktop
This month's mostly warm, occasionally cool and windy weather inspired me to create a working environment that called to mind the pleasant days of springtime. The wallpaper is suitably natural, with pale blossoms and soft shadowed reflections at the water's edge.
icons: Crashbit
gtk+: Lila-Xfce
xfwm4: axiom
background: sakura
cursor: gentoo-xcursors
The gtk+ colors were chosen to complement the lavender cherry tree blossoms. While Xfce includes a gtk+ theme with matching colors, Xfce-Cadmium, one of the Lila themes had better-looking widgets. Cadmium is still a good choice, as are Lila-Simple and Lila-Industrial.
The icon set is an older version of Crashbit. The window manager theme "axiom" was chosen because it picks up the neutral background colors. Most themes are designed to pick up one of the primary colors, but that made things too purplish. The Lila project offers a couple of xfwm4 themes, but both are too harsh for this desktop.
The final piece of the theme is the mouse cursor. Normally I just use the Vanilla DMZ cursor theme, but I thought I'd try out a cursor set created specifically for Gentoo, which you can install by running emerge gentoo-xcursors
. It even comes with an animated Znurt for "working" operations. The light on his head pulses rapidly while you wait. Cute, very cute. The Lila project also has a few cursor themes, but I decided to stick with the Gentoo theme, because of Znurt.
The uncluttered version that shows off the wallpaper:
It's a pleasantly warm background, medium contrast, so it's easy on my eyes at all times. Plus, the water complements my SLiM theme, Wave.
Applications
Thunar is the filemanager open in the background. An Xfce Terminal displays the working directory for my LogJam fork. (Ebuilds in the overnight overlay.)
The weather plugin is running in the panel, displaying the local forecast, just after the very flexible Orage clock and my lastsync.sh
script in the genmon plugin.
Also visible: the Xfce Task Manager and Decibel Audio Player. Decibel is running in Playlist mode, playing the album Raja by Planet Boelex. The album is beautiful, relaxing, entrancing. It's freely available at Soft Phase.
Building a home NAS
Problem
I need to get a NAS. A small one, due to physical space constraints. Yet it still needs to hold 3 or 4 drives. Cheap, too. Ideally I'd spend $150, but I can do more if need be. Total cost must be less than $400.
The single media storage drive in my desktop workstation has run out of room, and the box itself has become increasingly unreliable due to overheating and flaky parts. So before the thing dies and takes my drive with it, I should stick it in a separate box, along with two other drives, and thus put all my home media needs in one easily accessible place. I need to get a NAS that can hold at least 3-4 drives.
Options
There are two ways of doing that:
1. Buying a NAS device.
Synology, Buffalo, QNAP, and others make 2-to-4 drive NAS boxes with decent firmware and web interfaces, and are guaranteed Linux/Mac compatible, which is good for all my machines. The downside is that they typically cost $300 - $500 new, which is more than I want to pay. I've checked eBay, but NASes from these vendors and others are purchased very quickly, as there's a thriving resale market. Even used, the devices command a very high price. QNAP, which seems to have the best NAS devices (according to Small Net Builder, would be my first choice based on firmware features and reputation, but the few 4-bay NASes on eBay are still too expensive, and they're sold within just a couple of hours or days.
2. Building my own NAS device.
In theory, this could be much cheaper than purchasing a NAS from a vendor. The downside is that I have to buy the components, assemble them, hope they all work, find a decent NAS operating system, hope it installs, configure it, and hope it works, and then carefully administer updates and other things I don't want to be bothered with.
That's why I was so set on getting a small QNAP or DiskStation -- the firmware and web UI are already in place, and easy-to-use. I just want to put in the drives and set my sharing services. Paying a slightly higher price in exchange for less hair pulling seemed like a worthy trade. On the other hand, choosing my own NAS OS means support for certain things all the vendor-supplied NAS OSes lack, like better filesystem support, or running all kinds of sharing services without being limited to what's in the firmware, for example UPnP/DLNA.
That brings me to the next part:
Requirements
These things will determine what kind of NAS I purchase or assemble, and what operating system I install.
Media serving
1. UPnP: The UPnP server needs to support streaming to normal UPnP clients and an Xbox 360. There's an ION-based HTPC (Zotac MAG) and an Xbox 360 in the living room, attached to the home network.
Right now the HTPC has XBMC installed, but it's so frustrating to configure I may switch to Boxee or some other more user-friendly HTPC OS. Still, at least it does UPnP, which the easiest way to stream something from the desktop workstation, without having to setup Samba or NFS.
Currently, I run uShare from my desktop workstation whenever we want to watch something in the living room. The workstation has all the media files. However, to access them from the HTPC or the Xbox 360, I have to close all networked programs, turn off iptables, and then start the uShare service on the desktop. Not ideal.
2. MPD: Once the NAS is set up, I figure it's a smart idea to just use streaming players, since there won't be any local playback, except for audio CDs on the workstation. All other music will be on the NAS hard drives.
3. iTunes: We do have a Mac on the network, so I probably need iTunes server support via something like Firefly. That way no matter what's connected, it can still receive media streams.
File serving
1. Samba: The universal file sharing protocol. NFS is too unreliable. Samba can be used by anything and everything. The HTPC needs always-on access to the NAS. Same for the workstation and laptops -- they need to transfer content to and from the NAS.
The downside in Linux, at least, is needing to setup transparent Samba mounts for Xfce. It took me quite awhile to figure out how to setup Thunar, FuseSMB, FUSE, gvfs, and Gigolo. That's far, far too much effort, but at least it works when I needed to send stuff to the HTPC's hard drive over the network. Thunar is not a network-aware file manager, nor are there any plans to make it that way.
2. rsync: Useful for backups, as well as other things, I'm sure.
Filesytems
Right now, all my media is on ReiserFS, ext3, and vfat drives. I have two spare drives formatted with ReiserFS but nothing's on 'em, so I can always reformat if necessary. Whatever NAS or NAS OS I choose, it needs to support these filesystems, preferably read and write. I really don't want to have to swap files around when installing, simply because the OS doesn't support a certain filesystem.
Interface
1. Web GUI: The most important: an easy-to-use, preinstalled web user interface. I don't have the first clue on how to install and configure one myself, and I don't want to learn. It needs to already be there. Setting up a NAS should be mostly painless, so it should already provide easy configuration for Samba, access controls, media serving protocols, scheduled backups, and other bits.
2. SSH: I've discovered that with my HTPC and routers, SSH access is sometimes a lot quicker than going through a web GUI. In the case of the XBMC HTPC, sometimes it's ,em>required for upgrades and troubleshooting. There probably aren't many NAS OSes that don't offer SSH access, but it is something to check.
Which one?
If I buy a NAS, I'm at the mercy of the manufacturer for firmware updates, bug fixes, and new features. If I build my own, then the problem is which OS do I choose?
I probably won't choose Gentoo, given that nothing is ready ahead of time. Plus compiling on a low-power NAS box isn't fun. Stock Debian is right out: again, nothing's setup for serving or the web UI.
FreeNAS is often mentioned, but it has subpar filesystem support, and as a BSD, its nomenclature is quite different from Linux. Hardware support is another issue: it doesn't support as much common hardware (such as NICs) as Linux does, based on a survey of low-power Atom and ARM platforms.
Full-on server operating systems, like Ubuntu Server, seem rather bloated, and most of them aren't setup for the NAS role; they're made to be web servers, not media servers for small home networks.
The rest of the server OSes I've come across are designed as firewalls, gateways, or domain controllers, and only offer FTP access -- there's no real file sharing.
* * *
So, what are your thoughts on cheap home NAS devices? Have you built your own? Which OS did you use? What'd you pay for it? Did you buy a vendor-made NAS? Which one and why?
Lemme know!
Late April Xfce desktop
It's only been two weeks since my last awesome desktop, but already I've found a new look. Where mid-April's look was grungy, stormy, and dark-toned, my newest desktop is sleek, airy, and light. It exudes a reserved warmth; perfect for the approaching summer. Lots of light wood, airy spaces, pale blue skies, and soft shadows.
icons: Simplistica
gtk+: Simplistica
xfwm4: Rezlooks-gtk
background: Shards
The uncluttered version that shows off the wallpaper:
The downside to such a beautifully bright environment is that it's too bright when using the computer in dim light. 'Specially late at night or early in the morning. Dark themes with lower contrast are a bit easier on the eyes in those cases.
The Simplistica icon set is comprehensive and well-designed: It's intuitive and it has more icons than even Tango, at least on my machine. Every icon looks good, though I wish there were a few more mimetype icons, for example .txt
and .xml
. Something like the appearance of the .zip
and .tar
icons.
Applications
Thunar is the filemanager open in the background. Check out those icons.
The weather plugin is running, displaying the local forecast.
That image editor is Fotoxx. When you need to make quick touchups or corrections to pictures, give Fotoxx a shot. It's way faster than The Gimp, and easier to use. There's an ebuild available in my overlay, though I need to update the ebuild for the 10.x releases.
Also visible is xfrun4, a popup application launcher that remembers your most recent commands. It's pretty nifty; I like its autocomplete feature.
April Xfce desktop
Behold this month's Xfce desktop.
icons: Smokikon
gtk+: Shiki-Colors
xfwm4: Shiki-Colors
background: paleis by Steven Schreurs
The uncluttered version that shows off the wallpaper:
It's nice and grungy, though the gtk theme's blue highlights aren't quite dark enough. A simple color mod would fix that. I do like Shiki's unified titlebar; it lends an elegant touch. Someone needs to port Shiki to the Rezlooks engine, since Clearlooks is just too smooth, too nice for the grungy wallpapers I favor. Also, there aren't nearly enough decent grunge icon sets. Everything's too bright, too shiny, too smooth, too 3D, etc.
Applications
As usual: Decibel for playing music, and Thunar as the filemanager.
Highlighted in the panel menu is PyRoom. An ebuild for it is available in overnight.
The album featured in Decibel is Rain on Mars by Koalips. It's freely available at archive.org.
New notes plugin release 1.7.3
Three months since the last release, and three months since it is available as a separate standalone application running in the notification area. This has made it a lot easier to test and debug, as before I had to build the plugin, install the plugin, restart the panel or remove/readd the plugin in the panel, now I just have to run ./xfce4-notes from the source directory.This new release has seen some structural tree changes to save time during compilation. Now everything is in src/ and lib/, where lib/ contains code to build an XnpHypertextView, an XnpNote (a composite-widget that embeds a GtkScrolledWindow with an XnpHypertextView and sends “save” signals on changes), an XnpWindow with the custom made navigation and title bars and the right click menu on the title bar, and finally an XnpApplication class that is the heart of everything, it handles creations/deletions of notes, loads/saves the data, etc. The src/ directory contains the main files for the panel plugin, the status icon, the popup command and the settings dialogue.
The new stuff is mostly eye-candy as stated in the previous blog entry. The GTK+ RC style has been pimped up with custom made scrollbars and the source code contains a self-drawn close button. The stuff about GTK+ scrollbars theming is grossly explained on live.gnome.org but I opened the GTK+ Dust theme files which was, to me, more understandable :-) Also it was because of this particular theme I took a look at customizing the scrollbars, see below the before/after screenshots. The older article about writing a Widget with Cairo helped me getting started from scratch with an empty “close button” widget to replace the simple GtkButton with label. As I liked very much the time passed on these changes I contributed a tutorial “Monochrome icon” available only in PDF as of today which I hope to be useful for Vala beginners but also a nice update of the article about Cairo but with Vala language.
The fixes included in this release are the following: correctly restore sticky-window and keep-above states after some race conditions, and restore tab label orientation after renaming a note. And last but definitely not least the undo feature was not working because an internal timeout wasn't reset to zero which made the code think a snapshot was needed and thus the undo/redo buffers ended with the same content after the timeout elapsed. Thanks to Christian (the developer behind Midori) otherwise I would still not have taken a look around this!
The forthcoming features I have in mind would be a search dialogue and per-note options for activating a stripped down “markdown” syntax, an orthographic corrector and wrapping words which is the default for the moment.
The release is available at archive.xfce.org.
Thanks for the feedbacks and reports you sent and will send back.
Update: The tutorial is now also available on the Xfce wiki.
March Xfce desktop
Shook up my Xfce desktop a bit. I've always been a fan of darker environments, especially those with blue tones. This one's mysterious and fantastic. I did keep the same icon theme as last month, as I don't have anything more suitable installed at the moment. I'm still looking for something a bit more suited to my current setup.
icons: Area o.43
gtk+: Cold Blue, my own theme based on this one. Still a work in progress; I'm trying to get the colors to match the background image. (Pixmap and Mist engines)
xfwm4: Rezlooks-gtk
background: Summerwood
The uncluttered version that shows off the wallpaper:
Applications
You can find the ebuild for The Widget Factory in my in my overlay. The audio player is Decibel in the "mini" mode. I'm using Thunar as my filemanager.
Panel
The left side of the panel has the start menu, followed by launchers for my favorite apps: Terminal, editors (submenu), Thunar, Firefox, Claws Mail, and instant message applications (submenu).
I used to just have gVim in the editor launcher, and just irssi in the IM apps launcher. However, I was tired of having to drill down through a few start menus for my frequently used applications, so I just stuck 'em in their own easy-access submenu on my panel. Using submenus is one of the most overlooked abilities of the Xfce panel. In 5 years or so I've never really tried it out, but now I'm seeing some real benefits. I get quick access to my often-used apps, but without wasting panel space on a bunch of individual launchers.
Here's the editors menu:
An ebuild for PyRoom is available in overnight.
. . . and the IM apps:
After the launchers, there's a taskbar, then a genmon (generic monitor) applet. It runs my Portage script that checks the last time I ran emerge --sync
. Here it is, lastsync.sh
:
#!/bin/bash qlop -s | sed 's/\ >>>.*//' | tail -n1 | xargs -i date --date="{}" '+%b %d'
You need portage-utils
to make it work.
After genmon, there are plugins for volume control, the Orage clock, and weather.
Nifty, eh?
Overnight overlay
I've added a few more ebuilds to my overlay, including a useful calendar utility called gsimplecal. It was originally written for tint2, but since it just uses gtk+, it's suitable for just about any environment. It doesn't come with the Xfce dependencies of Orage; it's just a quick, simple calendar.
If you use tint2, you can actually configure the clock to show gsimplecal just by clicking it. Clicking again quits the program. While tint2 doesn't actually have a launcher function (yet?), this is as close as it gets. You can do some pretty tricky things just by using the built-in clock click actions. Left click for gsimplecal, right click to launch a weather checker, for example.
I've bumped a few packages to the latest version, which included some build/install fixes for Fotoxx and Printoxx. Fotoxx, I'm happy to say, has finally dropped the dependency on freeimage
. Freeimage was removed from Gentoo awhile ago because it has unfixed security vulnerabilities against the bundled libraries, which are really copies of things probably already installed on your system. Fotoxx relied on freeimage only to work with TIFF images. Fotoxx 9.8 and up now just use libtiff
directly. Security improvements for the win.
Keep checking my overlay; I'm always adding nifty new applications and cleaning up existing ebuilds.
Include custom GTK+ RC style
I've been using a custom GTK+ RC style for the notes plugin since the version 1.4.0, right now it is at version 1.7.2. I have been playing with GTK+ theming again these last two hours, and I've get custom scrollbars, a gradient for the custom-made “title bar”, and better colours for the notebook to get the current tab stand out from the crowd.While experimenting on a test-case code I found out a better way to parse a gtkrc file in the program. The first time I was fighting with the existing gtk_rc related functions, I gave up on a solution I partially dislike that is to include a line to the custom gtkrc file within ~/.gtkrc-2.0.
Today I understood how gtk_rc_parse(filename) behaves. You have to call this function at the beginning of the program before building any widgets, it will work even if the file doesn't exist yet. Next, while the program is running, you can modify the file, create it, delete it, truncate it, whatever, and call gtk_rc_reparse_all() to get the style refreshed in the GUI. It's hard to believe that such easy things are sometimes a PITA :-)
Be prepared for a 1.7.3 notes plugin with nicer colours.
SCALE 8x recap
So SCALE 8x went okay.
I was interviewed by the SCALE Public Relations team; you can see the video here.
Gentoo@SCALE
I'd say we had the most diverse assortment of machines at any booth -- something like 10 different machines on 5 architectures. Certainly we had a bunch of developers; we haven't had a showing like this since SCALE 5x.
Everyone loves event pictures, so here's the Gentoo team:
Left to right: vapier, nightmorph, antarus, nerdboy, wormo, omp, halcy0n, solar
Not pictured: blackace (he took the picture)
And now, the hardware running Gentoo! On the table, from left to right:
1. Beagleboard running E17 on the huge monitor
2. Hammer/Nail board by Tin Can Tools (in the clear orange-capped tube)
3. Blackfin development board (hooked up to the middle keyboard, and with a touchscreen running Doom)
4. deployed Blackfin module (that 2-inch square to the left of the wireless mouse)
5. my Core2 Thinkpad running KDE4
6. a mini-notebook
7. OLPC XO (green/white, on top)
8. PowerPC Walnut board (in the K'Nex case). Barely visible behind it is the laptop that's tied in via serial port.
There were a few other Gentoo-powered laptops, subnotebooks, and smartphones demoed throughout the conference, but not all of 'em are visible in this picture.
I mostly demoed KDE 4.3 on my laptop, since the desktop effects and eye candy proved to be a good draw, especially the "falling snowflakes" animation. Man, I love that thing! It's a built-in KWin effect, so there's nothing special to install. Now all I want is a "falling raindrops" effect on my desktop, without resorting to Compiz.
I did occasionally switch the laptop to Xfce when I wanted to save power, or just to showcase Gentoo's flexibility. I got a good draw not when showing a standard Gentoo wallpaper, but when I showed off a desktop rather like this (clean version here). There were a buncha little kids that stopped by and oohed and ahhed over that for a bit.
Sessions@SCALE
The talks were rather disappointing this year. Several of my fellow devs stated that they "just plain sucked." Basically, none of us attended because of the talks. There just weren't any powerful draws. I was only vaguely interested in attending a couple of sessions, the ones on startup-up/embedded improvements and building a featherweight desktop. Didn't actually get to see those, as the timing and draw was just kinda "meh."
Instead, I found myself at the Mindstorms talk, which was very lackluster. I expected to see lots of toys in action, and videos, and whatnot. The speaker wasn't at all engaging, and the single Lego robot was impossible to see, and it wasn't working correctly for the entire presentation. I stopped by another session or two, but nothing grabbed my interest. I spent most of my time on the show floor, helping in the booth or wandering the floor. Speaking of which . ..
KDE@SCALE
I stopped by the KDE booth to see the newest 4.4 and 4.5 stuff being demoed, and I also tried to help one of the devs figure out the build dependencies for one of the latest libraries. Man, source building on Ubuntu sucks. There's some really, really nifty Plasma desktop stuff going on for small screens. The newspaper-like activity flow is something I wouldn't mind using day-to-day on my workstation.
Another neat bit of 4.4/4.5 is the ability to switch your Plasma desktop widgets while still keeping your applications open in front of you. It's sort of the opposite of workspace switchers, where each application group is on a separate virtual workspace, while the desktop remains fixed. I never bother with more than one workspace, but I do like the idea of switching the widgets behind whatever it is I'm working on.
The 4.4 improvements and upcoming 4.5 features are definitely enough to keep me interested in KDE, so I'll leave it on my laptop and look forward to the day 4.4 is stabilized in Gentoo.
Elsewhere@SCALE
The Gnome and XBMC booths were just across the alley from our booth, but I didn't get a chance to check out either. The Gnome guys blasted pounding techno music the whole conference, which gave all of us--even the ones without hangovers--good-sized headaches. The XBMC folks were running some pretty impressive demos on their Zotac MAG, but unfortunately I didn't get a chance to go over and chat with 'em.
In the last few days, I've decided to put together a living room HTPC built around an Acer Aspire Revo and XBMC Live, and it woulda been good to see the thing properly demoed a couple of weeks ago. Still, from what I saw from the Gentoo booth, XBMC is one heck of an awesome app.
Our booth was fairly well trafficked, but overall it felt like attendance (and interest in Gentoo) was down from previous years. Take that with a huge grain of salt, though -- while I felt like SCALE was more sparsely attended and the talks sucked, the actual numbers tell a different story. The event organizers say attendance was up more than 10% and there were more standing-room-only talks than ever before. So make of that what you will -- but I might not go back next year if it's going to be anything like my experience this year. There need to be more sessions that are relevant to my interests.
One of the high points of SCALE was meeting the folks interested in Gentoo, and definitely talking with our existing users, like the ever-loyal calculus from IRC. Thanks for coming by, folks!