If you like open source software, you end up doing that someday sooner or later – you scratch your itch and make a contribution. That’s how it rolls. Well unless you’re sponsored to do so, of course.
I did the same for KDE, having had an on/off relationship with it since 3.x, and finally settling onto 4.3, I managed to get into writing code for it. Although not a fan of the entire desktop, it is what I use on a daily basis and I do feel the lack of a few things sometimes. There’s already too much to customize; and am sure I don’t know the half of it yet.
I read a lot of comic books in my free time, on the PC. While I do have my collections named and arranged neatly, it has always been hard finding a particular file since there were no previews of its covers on KDE 4. Since Okular, KDE’s magnificent all-in-one document reader, reads the files (.cbr, .cbz type) why not also preview it. That became my itch, my want. And I scratched it with copious amounts of help provided by its development community. However, I’d be glad if some artist came along and gave the format an Oxygen-style icon as well – since it still lacks one.
In KDE 4.4, you will have comic book previews which would show you the comic book covers in its file manager’s preview mode. This should make your life easier. However, for .cbr thumbnails to work, you’d need the non-free version of unrar cause the free ones don’t do version 3+ files well. It isn’t a hard dependency, and .cbz ZIP files would work just fine without unrar. I’d also written support for .cbt, but it’d have to wait until KDE 4.5 cause of their ‘feature freeze’.
Since I made it this far, I also fixed certain minor annoyances – some reported by other people as well. A small list:
KBreakout is a game provided by the KDE Games suite.
I love playing it and after going about 15 levels into it, I got interested in a few mechanisms and decided to fool around with its code. Turns out, something sinister is hidden within it
To enable the cheat mode in KBreakout, simply run it as the following (on *nix):
export KDE_DEBUG=1; kbreakout
Game should start as normal but now you can use L and S keys to add lives or shift levels incrementally. Use it wisely; I do so to explore levels (Turns out, hacking/adding levels is easy too!)
KDE 4.4 is scheduled to be on your desktops in a few more months. This post details some of the new and changed things in it.
The Desktop
A lot of visual changes are present in the KDE Desktop. There are changes to Style, Behavior and the Plasma – the one which provides the desktop and widgets to boost your desktop experience.
KDE 4.4 Desktop
Activities
Desktop activities, a concept introduced in KDE 4.2, has received a ton of improvements. An activity in KDE is simply as the word goes – a separate view for a specific behavior. You have probably used, or heard of the Virtual Desktop concept – in which one can manage their applications with separate views.
Extending that concept, an Activity is a separate view for your group of widgets. Right now you may notice that switching virtual desktops does not change the widgets available on the desktop – this task’s possible if you use Activities.
Folder View Activity
New features in Activity include Mouse Plug-ins, and two new types of Activities – Search & Launch and Newspaper.
Mouse Plug-ins
This is a configuration area of any activity that, for now, allows you to configure (mouse) shortcuts for your desktop operations like switching activities, showing the context menu, switching tasks, etc..
Activities Mouse Plugin
New Activities
Ever since 4.2, there have been two types of activities in KDE, namely Folder View and Desktop (Default). The former shows the desktop area as a traditional one – with icons from a set folder, while the latter is an empty and clean one with only your added widgets. The two new activities – Search & Launch Containment and Newspaper Activity bring about some refreshing changes to the whole Activity concept.
New Activities
Search and Launch Containment
This is an interesting activity that could replace your need for a panel. It essentially transforms your desktop area into a launcher. There’s a favorites area at the top, followed below by a runner-like search bar and then the Menu groups, which can be double-clicked to open and show all applications contained within. Navigation is simple and animated prettily and bookmarks/favorites can be added by clicking on the star that appears when you hover over an item/application.
Search and Launch Containment
Newspaper Activity
I haven’t found a use for this yet, but it seems to automatically align your widgets in a columnar fashion. It’ll be neater after a little more polish – maybe give you that grid aligning feature for widgets if you needed it. I’ll report more on this as the development progresses in the coming months till the 4.4 Final.
Newspaper Activities - Notice the scrollbar on the right.
Style
In my opinion, the best attraction of the KDE 4 desktop is its Oxygen style. In 4.4, it will be cleaner, have more icons, new animations, fabulous new artwork, and some fine-tuning. You’ll love the amount of advanced customization and simple fine-tuning options Oxygen will give you in KDE 4.4.
Title-bars
The window borders have an improved style than before. The difference can be seen in the screen-shots below as artwork is hard to explain with words. Let’s just say it feels more liquid, and is much more responsive to press actions. Not a change that’d make you care about, but its pleasing and refreshing nevertheless.
KDE 4.3 - Old Title-bars
KDE 4.4 - New Title-bars
Window Borders
Borders are all gone. The Oxygen style does not apply any window borders anymore and instead has added inner and outer glows, which are configurable (colors, spread size, etc.) in System Settings – Appearance. Also changed, are the neat drop shadows, whose colors can also be customized. Once this kicks in, it feels easier to work with non-maximized windows.
Animations
A lot of animations have been added to the Oxygen style and what I’ve noticed is that a fade effect is applied to every kind of change in the UI. That means you’ll see smoother label transitions, fading effects while you switch from a tab to another, fading selectors as you scroll through the options in a context menu, and etc.. These also apply to the hovering effects, like the glow that appears when you hover on a tab. At first the thought of irritation in seeing these animations popped into my head but as good as the Oxygen-Project guys are, the default rates of the animations are well above that barrier although not configurable.
Progress-bars also have animations now and a progress, like from 30% to 50% is done with smoother, running progressions than abrupt and instant ones. This change is very welcome by me; I could do with some fancy feedback stuff while an application makes me wait. Using progress-bars must also adhere to certainstandards and not be like how most applications on Windows are.
Since I can’t show the new animations with mere screen-shots, here’s a video to watch – by the developer himself.
Plasma
Under Plasma, there are too many changes and improvements to count. Its perhaps the most concentrated-upon part of KDE. I’ve listed some easily-visible changes like the new Widget Chooser, Remote Widgets, System Tray and the Device Notifier.
Widget Chooser
The classic Add Widgets… dialog has been replaced with a more wider, flashier chooser. Currently, it does not support removing widgets like the former dialog does, and in behavior and style it is pretty similar to the Search and Launch Containment, which I mentioned earlier. It’s still pretty handy, as it makes listing and scrolling through categories and the widgets under each much easier than when done vertically. What I might be missing is an easier way to see the full name and descriptions of each widget, which was easily displayed in the earlier dialog.
Widget Chooser
Remote Widgets
A concept I could not try out, since I have only one terminal. It seemingly lets you share any widget over the network and allows you, or others to use it remotely. Every widget can be asked to enable sharing, and the configuration dialog has a privacy option for it as well.
Remote Widget Policies
System Tray
The System Tray has improved in many ways. Firstly, the Auto Hide feature has gotten way better than the selective thing it was before. It now supports, for each of the registered items, three modes – Hidden, Auto and Always Show. Auto probably hides it after a certain amount of time or inactivity. Second, there’s a new feature that lets you add your widgets to the tray, or at least some of them. This is useful, from what I could make out, if you’d like to hide some of your panel widgets from showing all the time.
Auto-hide System Tray Apps with more control
Plasma Widgets in System Tray
Device Notifier
The device notifier widget in KDE has received a good amount of new features – called Actions. Its similar to how Windows shows a dialog when you insert a device. Appropriate actions can now be added via System Settings – Advanced – Device Actions and they will show up for each type of devices as you configured. Actions can then be seen while or after mounting the device. There is also an auto-mount configuration coming in KDE 4.4, but that’s a different thing for a different article.
Device Actions Configuration
Device Notifier with Actions
That’s it, under Desktop!
More articles with screen-shots regarding enhancements in File and Window Management, new Application Features under various KDE extensions coming soon. Mostly by the Beta 1 KDE 4.4 release, which is at the beginning of December 2009.
There are also enhancements made for Netbook users but that’s beyond my scope of interest at this point – since I don’t own one.
Oh, and did I mention the amount of bugs fixed? Tons!
Being a KDE user has its ups and downs. The ups are that its beautiful, has a very wide and usable range of applications, updates often for bugfixes, and is generally very customizable. The downs are a few – with the Firefox+GTK integration being one of them. It makes your browser look UGLY! Of course, there are Qt-friendly browsers like Opera and Konqueror, even Arora, but these hardly work well with many sites, especially those of Google (Wave, for example). I’m not gonna delve into that subject, since this post is about using Firefox on KDE 4 (version 4.3.x).
You might have heard of the GTK engine that themes for Qt, known as gtk-engine-qt on most distributions (or with -kde4 suffix, if thats how they’ve integrated). This helps all GTK applications look great on KDE by providing *near* native look and feel. So I install that and smile, happy that my entire K Desktop is as I want it – dark, without gloss and perfectly usable with certain plasma widgets. That is until I notice my Firefox simply does not close itself when asked to, and hangs instead.
At first one would think its due to a plugin, or an extension, probably something added on that is causing it to hang when its supposed to terminate. Even the KB article at Mozillazine supports that fact. Perhaps its a popular reason, but I tried and it didn’t solve the issue for me. I jumped a few steps out of frustration and went on to move my .mozilla directory to a different name, just to see if it was a profile-related issue, and it still refused to close, driving me mad having to `killall firefox` it each time since it always hung at exit. So I switched to Opera and used it with horrible colors – Pages appeared normally as they would be rendered but the forms and other things just didn’t go well with my dark color scheme (Eclipse), making it appear like the image below, unreadable and thus untypable upon.
Unreadable, Unseeable - The form elements as they appear in my Opera (While using a dark color scheme in the DE)
The browser’s great otherwise, its fast and very customizable, but I couldn’t make any changes to these colors. I suppose one can achieve it by writing their own userstyle.css file but that is too much work. Used Opera until today, when I finally found this (pretty old) bug in the gtk-engine-qt project tracker. Uninstalled gtk-engine-qt and lo, all was normal again, closed fine and opened fine. Re-installed all plugins and extensions, and said bye-bye to Opera.
All I now miss is a native-looking dark theme with Oxygen icons, as my K Desktop contains. I’m making do with the Black Stratini theme as of now, it’s beautiful but I like the Oxygen icons better. 440 words for just the choice of browser on a dark theme, tch.
This band is pure awesomeness, rock awesomeness specifically!
Though their latest self-titled album had released a few months ago, I only got them this week and every track on it is splendid and not even one makes me skip to the next! The only other album that I’ve enjoyed so much would be Flipsyde’s We The People. Here’s their Last.fm page if you are interested in trying them out.
However, there is always a favorite no matter how much you like all the tracks on an album and mine were It’s Not My Time and She Don’t Want The World.
Their older album, Away from the Sun was also good, with great tracks like When I’m Gone and Here Without You. Nice music!
Didn’t like the even-older album The Better Life though.
Off to Programming.
Ruby
Ruby Programming Language
I messed around with Ruby a few days. It’s brilliant, and nearly as easy as Python is. But it didn’t fit me so well that I’d shift from Python to it. My prime reason to try it was for seeing how good Ruby On Rails development could be, my interest being sparked by the rave reviews its been getting. It sure is good, web-dev stuff but I’ll go ahead with Django finally.
But doing things in Ruby is sorta easier than in Python. Sort of. But I haven’t poked around much to be sure if it wins over Python or not. Ruby is definitely more Object-Oriented than Python, with every darn thing being an object. With a good editor, ruby files look great and are easy to read as well. Might explore more with it at Project Euler perhaps.
Now for some more KDE4 mixup.
KDE’s Dolphin is a boon for external-storage device users with its neat split screen feature and not to mention the tabbing power. I’d say this is overkill, giving both! And if that were not enough, there’s a button
KDE's Dolphin File Manager
that would launch the terminal below the window in another splitter pane. This power feels good to handle, too good. Ironically for me, its philosophy page says otherwise. Ark, the KDE’s default archive-extract/create program is just not good. It fails at basic tasks and stalls while extracting from split RAR files, but thanks to it am more comfortable with the unrar and tar command line programs now.
Am building Amarok 2 (Alpha 2 – 1.86) as I type this now. Will write about it in a later post, if I manage to get it built and running properly. KTouch is another nice application, for improving your touch-typing skills and am addicted to KBattleShip and KHangMan in my free time, for some educative-arcade fun.
Finally, about my life. (Hey who said all above is for people with no life?!)
Not much is happening at college except for some mild interest of mine rising up for IBM’s TGMC 2008, but I most probably won’t be doing any worthwhile thing in it, I don’t like being forced into Java and accompanying technologies from IBM. This Java thing can form another post actually, haha.
Implementing those OS Job-scheduling algorithms in a preemptive manner in C is a nice practice though the syllabus doesn’t clearly require it. And what is this whole Rational Rose thing, I never get it why designing the construct of a software project is easier this way than hard-coding it down from scratch, I find it too confusing drawing diagrams!
Saw some old Sonic the Hedgehog videos thats been doing some spikes lately, and also saw Hancock and The Dark Knight off which the latter was the most awesome movie ever! Its IMDb rating is justified IMO, with Heath Ledger’s death clearly contributing a lot to it.
Thats all for this syscall of random. *Urgh, goes back to the OS Concepts book*
Harsh, web handle 'QwertyManiac', is a 20-year old B.Tech Information Technology student from India.
He likes programming in his free time, being addicted to the use of Python and C, and loves to tinker around with the Django and Qt Software frameworks for web and desktop application development. More...