To undecorate or not to undecorate

I have pondered and played with the idea that we should be undecorating maximized windows. On my netbook it really does help with screen real estate and makes the interface feel more integrated. Well I have been chatting with some folks on #gnome-shell and reading some of the bugs filed against this subject. Well I have finally come up with a solution I ultimately like.

I believe that maximized windows should be turned into border-only windows. This allows the metacity theme to specifically say what to and how to draw the border of the window only when it is maximized. One theme can cram the menubar right up against the Activities button, while another one can make a nice large strip the size of a normal window border, title and all. Everyone can have it their way, just like Burger King.

I will post how all this can be accomplished at a later time, after I push the code to my repos. For the short term to help you decipher my ramblings, here is a screenie.

posted on Monday, September 21, 2009
0 comments

ChromeShell for the world.

I promised I would make my gnome-shell customized theme available here for people to try and discuss. It uses the murrine engine, so make sure to install it. This is a derivative work from some other themes that I found on gnome-look.org. I believe all original copyright material is still intact and should be fine for redistribution.

Uploading the files failed so I just popped them on my web server for download.

ChromeShell-theme.tar.gz

ChromeShell-icons.tar.gz

From DropBox


From DropBox

posted on Saturday, September 19, 2009
0 comments

Collaboration Efforts

I have been working with Volker Sobek on and off as he has been experimenting with a better shadow effect for mutter. After he had all the hard work done, I took some time tonight and extended the mutter plugin so a drop shadow could be positioned a bit more dynamic. The hack is ugly and needs a lot of cleanup, but does finally get us the upper-center shadows drawn to match the gnome-shell spec.

posted on Saturday, September 19, 2009
0 comments

Behind the scenes things are moving

All the behind the scenes work I have been pulling together is finally consumable on Livecrumbs. I have pulled in the nbtk-introduction branch to livecrumbs and re-reverted the libTidy removal. My drawer.js code was then a trivial patch to NbtkGrid and things were rolling.

Now I just need to pull in my local workspaces-crumb branch and push that and things should be displaying nice and cleanly. After that the future focus will be on mouse gestures and widgets.

posted on Friday, September 18, 2009
0 comments

VirtualBox calm down!

I have been testing some respins and such on my desktop using VirtualBox. I noticed that the main process was spinning at 100% cpu utilization when my guest was sitting around doing nothing. Hmmm, strange. After some googling around I found that it was a problem with the CPU affinity of VirtualBox. Here is my fix.


sudo yum install util-linux-ng
sudo vi /usr/bin/VirtualBox

change line 72 to

exec "/bin/taskset" "-c" "1" "/usr/lib/virtualbox/VirtualBox" "$@"




Save the file and relaunch VirtualBox. Works as good as a valium for my virtualization.

posted on Tuesday, September 15, 2009
0 comments

Using LiveCrumbs refresher

It seems more and more people are getting into gnome-shell testing mode. They also seem to like some of the experimental features I am implementing in my branch. I decided to add an entry here that covers the steps you need to add gnome-shell livecrumbs to your gnome-shell jhbuild environment. Some of these steps were modified from a great write up done here by my good friend Augias.

First Step is to add my mutter branch to your local git repo and do a checkout.


cd ~/gnome-shell/source/mutter
git remote add -f linux4kix git://github.com/linux4kix/mutter.git
git checkout --track -b linux4kix linux4kix/linux4kix
git fetch
jhbuild shell
make
make install



Then the next step is to add my gnome-shell livecrumbs branch to your local build env.


cd ~/gnome-shell/source/gnome-shell
git remote add -f linux4kix git://github.com/linux4kix/gnome-shell.git
git checkout --track -b livecrumbs linux4kix/livecrumbs
git fetch
jhbuild shell
make
make install



Then you should be able to test things out with


gnome-shell --replace



Checking for new updates can be done with the following in both the mutter
and gnome-shell directories.


git fetch
jhbuild shell
make
make install



Then to go back for both mutter and gnome-shell do.


git checkout master
jhbuild shell
make
make install


posted on Sunday, September 13, 2009
0 comments

A Necessary Evil

I know we, we being the Open Source community, have various methods for voip services. Ekiga is responsible for me keeping in touch with my wife for over a year before she was my wife. Telepathy and it's tubes are also starting to gain some maturity. However most the non-geek world handles their internet video chat and telephony with Skype. Well since Fedora 10 and full acceptance of pulseaudio skype has really been a nightmare to use. I just did my morning perusing of the web for interesting bits and found a new beta release of Skype is available for linux, *gasp*. My download is now finished so now let me see if it actually works.

posted on Friday, September 11, 2009
0 comments

Baby Steps Forward

Tonight I pushed the bits to my mutter and gnome-shell branches to enable the new "maximized window behavior. The idea is that maximizing a window will undecorate it and move the window controls up next to the application menu, or window crumb in my branches case. On netbooks this behaviour is invaluable for giving the user a bit more screen real estate. This will be the default behavior on netbooks once I land my next set of changes.

I have thought a bit about how I want to integrate livecrumbs as a feature into gnome-shell. I am not going to cover any details right now as I want to hash out the ideas in my head a bit more.

I am always interested in ideas so feel free to add them in comments or catch me on #gnome-shell or send me an e-mail.

posted on Monday, September 07, 2009
0 comments

My hate for computers

Over the last week I have finally been able to get back to livecrumbs and gnome-shell in general. Well last night I did something very stupid and I lost half of my work on my netbook. I will not exactly say what I did because I really don't want the specifics documented anywhere.

Regardless to say I will have to redo a lot of the work I had pieced together over time. The good news is I do have some patches and such here and there that will help me remember specifics. I will hopefully have everything back together this weekend. I am using this opportunity to make most my work consumable upstream. That means getting maximized window, demands attention and countless other patches merged upstream.

For people tracking LiveCrumbs I apologize for the delay. I just pushed changes which should bring in master for mutter and gnome-shell and should work, just without major changes.

posted on Friday, September 04, 2009
0 comments

The sounds of silence

The past week I have been full of all sorts of busy getting ready to pack up from Denmark and make my way over to Vancouver. Well I have landed and found a free wireless access point, so here is another post.

Bit by bit I have been working on livecrumbs and my other gnome-shell modifications to provide a better user experience. Of course the guys at the official gnome-shell project are doing the same. Sometimes our divergence of work causes me to go back and revisit some of the changes. This is going to continue to be the case until gnome-shell gets a proper plugin system.

I have recently done some updates that bring my changes back into gnome-shell proper. What is interesting is that with the addition of the "application" panel item gnome-shell is starting to look more and more like breadcrumbs. I have also heard that they are planning on implementing functionality that I already have landed in crumbs. Small world.

On the plane ride over to Vancouver I have finished out some smalls bits for gnome-shell netbook edition and will start to land those as time permits over the next few days.

Time for breakfast!

posted on Saturday, August 15, 2009
0 comments

Demands-Attention!!!

It is finally here, well mostly finally here :-).

I hashed out the final bits and have a working version of demands-attention window notifications. It isn't perfect but works quite nicely within a single workspace at a time. Yes I know that is something still on the todo list. I need to figure out how to get window notifications from all workspaces.

Besides that I have landed the core bits I needed to start adding a lot more window action features in crumbs. The next bit I will nail down is undecorating maximized windows and managing them from the window crumb. All the hard work is already in git for gnome-shell now I just need to work out th emutter bits. Currently mutter throws a fit when I try to undecorate a window while it is being maximized...but I digress.

First the screenshot.

The differences are subtle but there. Next to the window crumb you see the ! icon that does a dual purpose job. It subtly notifies the user that a window has asked for attention. It does this by slowly pulsing 3 times and then staying on. It's second duty is a quick way to bring the windows-demanding attention to the foreground. If you click on the ! it will bring each window to the front in the order that they asked for attention.

If you prefer a more methodical approach to window selection you will find windows that have demanded attention highlighted in a soft rose color. Hey it fits the color scheme and grabs your attention.

Try it out, give me feedback. I am sure there are little bugs here and there so please tell me about them. Overall enjoy.

posted on Saturday, August 01, 2009
0 comments

Repos brought up to date

Morning crumb users!

The update of clutter to 1.0.0 is great news. Unfortunately it happend when I didn't have time to push changes to LiveCrumbs right away. Now all the changes are pushed and they build and work. The caveat to this is that you have to make sure your git repo for clutter is up to date. It is well worth it, there is a fix that makes notification icons redraw smoothly. Yes I know small things do make me happy.

posted on Friday, July 31, 2009
0 comments

OLPC fixups

I spent some time working on fixing up the openchrome driver for the OLPC guys. They are very overworked but still very nice to work with. Most everything I did today was maintenance specific to their device, but fulfilling none the less. I like the idea that my Open Source hacking is going towards benefiting children around the world.

posted on Tuesday, July 28, 2009
0 comments

Attention LiveCrumb users!!!

I finally decided that getting patches committed to mutter is slower than I would like and forked mutter to github for future development. This is good for me because I can more quickly and easily work on new features for livecrumbs. It is not the best because people wanting to use my livecrumbs work will need my special mutter.

I will continue to push patches upstream to mutter, let's hope they continue to get accepted. I have my fingers crossed.

People that want to continue to use my livecrumbs branch of gnome-shell will also now need to add my linux4kix branch of mutter. Within your local mutter git repository please run the following commands.

git remote add -f linux4kix git://github.com/linux4kix/mutter.git
git checkout -b linux4kix
git pull linux4kix linux4kix

This may not be the most efficient way to do this, as I am not very git literate. Please comment if there is a better way to do this.

What does this get you. Right now it gets you property notifications, so I can update window titles when they change. It also has the bits needed to get demands-attention code working. This branch of mutter will also allow me to publish my code to undecorate maximized windows.

posted on Sunday, July 26, 2009
2 comments

XO 1.5

Last night I received my XO 1.5a to hack on. As an openchrome.org developer my primary responsibility will be to get the new VX855 chipset up and running.

posted on Saturday, July 25, 2009
0 comments

Gnome-shell for Netbooks?

As a proud owner of a 7" eeePC I have continued to search for an interface that really works well for me. Use cases involve the lower default resolution of 800x480, as well as something that scales larger when I have an external monitor plugged into it. Livecrumbs to the rescue!!!


From Linux4kix

From Linux4kix

posted on Thursday, July 23, 2009
1 comments

Updates

Took some time to look at why I was not getting a gobject property notification update for window title changes. Looks like there is some confusion going on in window-props.c about title setting. Opened this bug, with a patch to fix things up. Will update livecrumbs once this has been committed, or I finally get around to starting my own mutter branch at github.

posted on Thursday, July 23, 2009
0 comments

LiveCrumbs

Finally some time to hack, and getting back to the crumbs was just what I needed. I felt that the flat list was very dated at this time and wanted to take advantage of some of the new features of mutter and gnome-shell. Hence the live windows breadcrumbs were born. The window and workspace lists were replaced with drawers that held live previews of all the applications on your current workspace, and all workspaces open on your desktop.


The initial announcement was well received, and I now had more work ahead of me. I followed up my announcement with a public git repository and a youtube video. Things were good.

Quick side note, you can add my livecrumbs branch to a current gnome-shell git checkout with these commands.

git remote add -f linux4kix git://github.com/linux4kix/gnome-shell.git
git checkout linux4kix/livecrumbs
Oh and of course Screenshots!!!

posted on Thursday, July 23, 2009
0 comments

Gnome-shell

I was very intrigued when I saw the first bits of mutter and gnome-shell leaking out and pooling all over the web around talk of GNOME 3.0. Never one to wait for new technology I immediately went to http://live.gnome.org/GnomeShell and got things building. Then all it took was one ./gnome-shell --replace for me to have a new desktop project to work on.


Well it wasn't so simple. I was a bit behind on my gtk/gnome technologies and much to learn before I could get started. Technologies like clutter, gobject-introspection , and gjs had to be absorbed. 2 days later I was ready to get moving and I haven't looked back since.

Since I was a seasoned metacity, xcompmgr hacker I figured the first thing I could do was help to get metacity-mutter cleaned up and renamed to mutter for gnome inclusion.


Okay took there of that. Now what? It was time to start working on some new usability ideas. I am still sold on the idea of organizing workspaces as activities, however the shell needed some more small things changed for it to be usable to me. I will get to the activities idea in another post.

One of the more intriguing design ideas that had been discussed was Sander's breadcrumbs. After it was first brought up, maybe 3 days later a working demo was published for consumption. Definitely what I was looking for, but other life was keeping me away from too much work on gnome-shell.

posted on Thursday, July 23, 2009
0 comments

Catchup

Recently I have found a need to provide information to people on a more public basis. I decided it was time to dust off the old blogspot account and start using it for these types of communication. I was shocked when I logged into it to find I had posted a blog in a year and a half. Well the backlog is now deleted and we are starting fresh from here.


So what have I been doing? Traveling the world with my wife, working on Open Source projects, spending time with our friends and families....the usual.

Enough about me. I will finish up this initial post so I can move onto the more pressing documentation.

Cheers

posted on Thursday, July 23, 2009
0 comments