My Thesis Is Ready

I’ve been pretty busy on the last week writing my thesis. I’ll only graduate in the next year, but I had to make it that soon. It’s about UC and it looks pretty cool, actually cooler than on this picture.

thesis

I’ve just uploaded the paper to my home page into the Hungarian section. So grab it if you’re fluent in Hungarian.

I’d like to thank my mentor, Vilmos Bilicki for his help. He has been very supportive throughout my work and positively influenced the project with his great ideas, especially regarding the Windows port and the plugin architecture. So thanks Vilmos!

UC Windows Port

I’ve demoed UC to Vilmos Bilicki, who is my mentor in relation with my master thesis project (which is UC). He was very enthusiastic and told me that he’d use UC if it ran on Windows. I was thinking about porting UC to Windows even before, but he was giving me a further push, so I did a try this time.

I had a talk with Francisco T. Martinez a la Paco on #Mono. He directed me to his expermiental Windows Mono Installer which incorporates the Gnome bindings, not just Gtk# as the official installer. Using his stuff it was easy to port UC to Windows. Well I’ve not entirely ported it, just to make the GUI work, but it’s nice to see how fine it looks on Windows:

ultimate-commander-gui-1

He told me that the extra bindings of his expermental installer will be a part of the official installer soon. Very nice!

I’ll try to maintain UC in the future respecting the Windows port. I think it worths the additional maintenance burden which is not too heavy with Mono.

Ultimate Commander: Frame Handling Implemented

I’ve just committed the basic frame handling functionality to the repo. Frame handling in UC is part of an advanced interaction design which eliminates the need of more windows.

The concept is that the applications is composed of one, and only one window. Why? Because fiddling with tons of windows is not much fun. I heard many people talking about how much burden handling many windows is and I have the same opinion on the issue.

Here is a little demonstration to show you what I’m talking about. Just to make it clear, the file operatons are not implemented yet. Here’s the initial state of UC:

ultimate-commander-frames-1

Let’s say the user wants to configure the listing of the right panel. Then (s)he presses the “Set Listing” toggle button on the right panel. Here’s what happens:

ultimate-commander-frames-2

As you can see a tabbar and the related tab appears on the left panel frame. There is no overlapping like in the case of an additional window. It’s simple and beautiful.

I’ve made many changes to the codebase in the last few days and I didn’t clean up the code so it’s a bit messy now. Apart from small refactorizations, I guess I overuse accessors a bit. I need to educate myself more on the topic.

As a last note it’s nice to see how friendly the Free Software Community really is. When I requested a logo designer in the help wanted section of SourceForge, I got many help from more people and they were very kind and willing to cooperate. I’ve experienced the same attitude on the GTK IRC channels and mailing lists also.