Posts tagged: GNOME

Multiple monitors, Primary Monitor, GNOME 3 and the Top Bar

I have generally been a fan of GNOME 3. Innovation makes me happy and it was certainly a foray away from the well known desktop styles. I really like the idea of the dynamic workspaces which gets a lot of use. Searching for applications instead of looking through folders manually makes a whole load of sense.

Ever since google, we seem to be moving more and more towards a search-centric life. Forget about folders and organising things, just use search.

The old way of organising things into folders were never very efficient anyway. Most things needed to be filed under more than one section and this, of course, wasn’t possible. Search on the other hands means that you just plonk everything in one place and let the search worry about finding it.

There are however, several issues with GNOME 3 – and ironically, it seems to be basic functionality that’s missing. It’s technical things too – not a case of philosophy. I use multiple monitors and it is expected that I can choose which monitor displays the top bar. It should be possible to put it on the “Primary Monitor” or one of any secondary monitors.

Read more »

Gnome Desktop Inaccessible After Screensaver Kicks in [1103]

Yesterday, I mentioned a problem that I’ve been having with GNOME 3 on Ubuntu 11.10.

Essentially what happens is that when I leave my desktop for a while, under specific circumstances, and often, on returning and moving the mouse or using the keyboard, the pointer would come back  on screen. However, this only works on one of my two screens.

The unlock dialog does not show up and it seems that there is no way to get back in.

In the past, I would log into the terminal (Ctrl-Alt-F1 or any function key through to F5 or so) and

$ kill -9 -1

This would of course kill all processes owned by me and is therefore unpleasant at best and have you losing a bunch of work at worst.

After a brainwave yesterday (as detailed in the aforementioned post), I decided to check the status of the screensaver and killed just those processes. Happily, this gives me my desktop back. However, my gnome-shell had given up which I had to restart

$ gnome-shell --replace

Unfortunately, I did not get the windows into the original workspaces since everything just got dumped into the one workspace but it is better than having to kill everything off.

EDIT: I just realised that the screen saver of course no longer kicks in and I had to restart it

$ gnome-screensaver --no-daemon

Saving your workspace window configuration in Linux [1102]

I am usually working on a good half a dozen things at any given time and this means that I usually have a good ten or twenty windows open. My chromium currently has a 134 tabs and this is after I  cleaned up and closed all the tabs I no longer need.

Luckily, working in Linux means that I can spread each stream of work into the various workspaces.

Now GNOME 3 makes things a little more complicated with the dynamic workspaces but I’m learning to use it to my advantage

However, with Ubuntu 11.10 Oneiric Ocelot and GNOME 3, I seem to be running into an issue regularly…If I leave my computer for a while, it doesn’t unlock correctly. The screen remains black and I can’t move the mouse to my second screen and the unlock screen doesn’t show up.

Thinking about it, it seems like there might be two screen savers being started but I shall investigate that tomorrow. I have the same issue at both work and home so it is more likely to be related to Ubuntu + GNOME 3 or something about the way I set things up.

I  usually resolve this by logging into the console and here a neat trick for killing all our processes in one fell swoop.

$ kill -9 -1

Another thing I have been doing a bit more of recently is gaming which involves rebooting in Windows.

Both of the above leaves me with a restarted workspace. Starting up the applications pops them all into the same workspace. Chrome is especially a nightmare. I might have 135 open tabs but they are in about 6 windows spread across four workspaces.

It is annoying to have to distribute these things out each time.

Read more »

Your Time

I have always been curious about how I spend my time. It would be useful or at the very least cool, if I could figure out what I did with the 24 hours I get each day. Considering that this is overkill, it would be useful to find out how much time I spend on each task / client at work…

This is something that a lot of companies would find useful, especially in the professional sector. Lawyers, for example need to know this information for the purposes of billing. Time tracking has always been a personal bug bear of mine and is something that I often ramble on about.

In fact, in Chris’ Blog, the team management application he speaks about towards the end is something that I have been talking about and working on in the background for about a year now (actual effort is probably only around a week since I keep getting distracted with other things)

My aim has always (unconsciously) been to have an invisible interface, more because if there is effort involved, its going to take away from the task at hand and unless you are an obsessive compulsive (which I sometimes end up being), its going to be inaccurate. More importantly, its going to take up time to track and log time and ends up being a task of its own which requires management.

The most common way to log time is to just have log sheet which is filled in at the end of the day – just putting numbers against tasks and making sure it adds up to the number of hours you worked in the day.

Mylyn for Eclipse, which is a task/bug management plugin has a cool and useful concept of task contexts. This means that when you activate a tasks, it remembers the files you are working on, as well as which lines you were on and saves it as the task context. You can then de-activate the context or activate another task. When you go back to this task, it loads up the context. In other words, the files you had open, at the lines that you were at. This is a real boon and can save a lot of time once you get the hang of creating a task for everything you are working on and practice a little bit of self discipline in terms of activating and de-activating tasks.

Mylyn could use a little more intelligence in context management and creation on activating tasks with no context. But the concept of contexts is great and it should be possible to apply this at the operating system level.

For example, I am working on Task A. This involves a number of URL’s in firefox, a number of emails from Thunderbird, some files in Eclipse, some terminal windows, couple of Documents, and a spreadsheet.

Task B involves a url in firefox or two and a document.

and so on.

It should now be possible for me to simply tell my “Task Manager” that I am about to work on Task A and have all the applications load up in the locations that I last left them and hide away or close the other applications. When I want to switch to Task B, it should close everything else and open up the applications for Task B.

My desktop environment (GNOME), like most Linux desktop environments have the concept of workspaces. You can also get this as an addon for Windows. I have used these to emulate this kind of behaviour but this is far from perfect.

In theory however, this should make it possible for an application to track the time spent in each workspace. If the application is told what task is associated with each workspace, it could automatically log time against that.

The real power for task management would come from a powerful use of task hierarchy. Lets say we have the following task list

Client A => Project A => Subtask 1

Client A => Project A => Subtask 2

Client A => Project B => Subtask

Client B => Project A => Subtask

In this setup, the task management could be told (or even better figure out on its own) that there are application hierarchies… In other words, for all tasks related to Client A – the user will always need application X (with a particular configuration – say firefox on a particular url)

For Project A, there could be the requirement of another url in firefox.

This way, when a new Project or subtask is created, the system can automatically start a few steps ahead…

Client B could have completely different application setup / layout.

Automatic time tracking, task managment and planning then becomes so much easier.

For this to be viable, however, there are a lot of things that still needs to happen.

  • Context awareness for applications and ability to save a context
  • Ability in applications to merge contexts (for hierarchical contexts)
  • Efficient Application swapin/swapout when tasks switch for instant task switching
  • Applications needs to be more lightweight to make task switching quicker

Most, if not all modern applications provide extension points and it should be possible, at least in theory to add this functionality on to most applications. More importantly, it is theoretically possible to add this functionality on to all the open source software since the source is available. However, since it requires a fairly radical shift in thinking about application state, this is probably far more complex than it seems.

Once we have something like this working, it should be much more straightforward to add workflow using the task hierarchy to make it seamless including passing the contexts to the another person if necessary…

In any case, a few years into the future, who knows, these features might be built into all applications and perhaps we will be talking about task management, not application / process management.


Admitting to being a techie – I have often overlooked design. In fact, I have often explained to (potential) clients, using the analogy of a ferrari that we make the engine and everything else work while somebody else makes it look gorgeous. For me, how something looks was largely irrelevant – as long as it worked well.

This explains why, for a long time, I used a fairly bland desktop environment. My desktop itself was just pure black with no wallpaper. Ironically, I would remove all the icons, so it would be pure black and nothing else.

This should have tipped me off on my own desire for design. I thought my desire for black stemmed from the “good old” days of DOS when the screen was black and my love for the linux terminal. As an aside, I used to reconfigure the terminal windows in X to have a white on black background as well – so much better for the eyes. In fact, I still don’t understand why everyone uses a white background for terminals and such like. Paper was white because that was easier. There is really no reason for the screen to be white too…

Now, this was before I bumped into Enlightenment (at this time, it was E16) and to put it bluntly, I was captivated. This this was absolutely gorgeous. Fairly unusable since I was used to GNOME and of course Microsoft Windows. I thoroughly enjoyed this until it became more of a distraction…

I ended up reconfiguring GNOME to be prettier – in fact, I had the Mac OS X theme for a while which I enjoyed.

I then dabbled with E17 and it was absolutely gorgeous – E16 paled in comparison. I ran into a bug where some java applications would jump a few pixels when changing the decorations. This was a real pain since I was developing a Java application at the time. I spent an entire day trying to “fix” this before I realised that it was E17 screwing it up and not my code… :-(

More recently, I thoroughly enjoyed Compiz with the shaky windows and such like – I just always wished that I could actually throw a window and watch the momentum carry it that extra distance.

Nevertheless, this bridged the gap enough to E17 to keep me happy for a little while.

Last week, I dabbled with E17 again to see if the issue with Java was resolved. To my surprise E17 had changed more or less completely – it was bridging the gap between a window manager and a full fledged Desktop environment.

However, there was a problem. It looked like I couldn’t get it back to its old glory of absolutely fantastic graphics without some effort in configuration. One other issue I ran into was that maximising a screen would fill it up across both my monitors. Another thing I could configure but then, it all seemed like too much effort.

E17 gives me the feeling that this is where user interfaces will end up – it automates so many of the things that makes it quicker to do anything. However, it still lacks some of the “basics”.

E17 is a very good example of a UI that tries to conform to what I call the “Invisible Interface” which I will be writing about later.

To bring it all back to now, I found it a hassle to go through all the available themes for WordPress for the Company Blog as well as my own.

I used to take great pleasure in going through dozens or hundreds of themes and picking ones that I liked but after doing it a few times (for Firefox, Thunderbird, my phone, GNOME, GDM and my flat), it gets a bit repetitous.

Now, for a wish. A website that pulls in all the different themes for all over the world for everything. A one-stop-theme shop. Here, I could go through and pick a general theme that I liked and download it for all the applications, my phone(s), mp3 players (and of course, taking it to the next level, all the gadgets at my flat).

That gives my life more uniformity. Perhaps this is something that Designers could take on… Say Hugo Boss, and design something that even matches your clothes, shoes, hair – everything.

That way, you could have your own unique branding… and while you are at it link it into Gravatars and you are also instantly recognisable

Now for the issue of privacy – I think I best leave that for another day.

WordPress Themes