I wanted to know how difficult it would be to implement true transparency in applications like Konsole. From what I can tell, these applications simply set their background to a region of the desktop wallpaper, and set some color tinting to their image. What would it take to implement true transparency, similar to how MacOSX does? I presume OSX uses OpenGL or some other library to set an alpha mask for a given window (or region of a window), but with it you can see through one window and into a window behind it.
This is really convenient, especially when you have a terminal window open above a web browser or email window; or have multiple overlapped windows, allowing you to do your work in one window while seeing the results of a compile or some other long-running process in the background.
This Week...
A review of kde from cvs. More safari merges, and many many bugfixes.
State of the HEAD.
The purpose of this review is to give the readers an idea as to the progress of development. I have not tried all the applications, rather focusing on what I and no doubt many others would categorize as the core applications. So the review is limited to Kmail and Konqueror, with a few comments on Kontact, the personal information manager. I intend to look at other applications in future editions.
First off, how does one go about getting a running copy from cvs? There are many different strategies, and the many how-to details are beyond the scope of this article. http://developer.kde.org/build/compile_cvs.html gives some instructions on compiling kde from cvs. I use Gentoo, and the kde packager has generously provided ebuild scripts for kde-cvs. Get them at http://cvs.gentoo.org/~danarmak/kde-cvs.html . Please read the section Note about support, which makes the point that anyone using a cvs version is on their own. Expect compilation failures, expect incomplete or broken applications. It took me about a week to get the modules compiled, due to compilation errors. Be prepared to dig into the sources to get it to compile. And please be patient with the developers. The problems are being worked on.
One word comes to mind when running what will become version 3.2. It snaps. Speed and responsiveness are somewhat subjective, and what feels quick the first time you run an application becomes ordinary very soon. We hate waiting for the machine. Yet, after running cvs for a week or so, it still surprises. I have an Athlon 1000, with 256 megs ram, 80 gig HD, with cable modem internet. Here are some comments for each application.
In version 3.1, Konqueror is much quicker than before. Loading is quicker, rendering is fast. The cvs version is quicker again. When I first loaded konqueror by clicking on the panel icon, it was there. I was surprised, and checked whether it was preloaded, but no. Very nice. Pages render quickly. What I thought was a slow connection in fact had been delays in rendering, loading, etc. There are a few new features implemented, such as middle click to load page in new tab (configurable), a new tab and close tab button. The only hesitation I have noticed is when I middle click on a link. It seems that the link is connected before opening the new tab. With a slow link, it takes seconds before the new tab is created. The first time this happened, I thought I missed or something, and middle clicked a few more times, eventually having half a dozen tabs open. This lag was noticeable because it is out of character with the rest of the software.
Konqueror has been as stable, no crashes. There are a few pages that render differently, such as www.linuxjournal.com. bugs.kde.org here I come.
Kmail has been extensively rewritten, with many new capabilities. It is now a KPart, has virtual folders, better imap support, group-ware support, spell checking, etc. I have been using it for a week, trying different features out. It is unstable, but usable.
Like Konqueror, there are many optimizations that improve the user experience. Have you clicked on a link in an email address, gone for a coffee, come back to see it loaded? I'm exaggerating of course. I know I have avoided doing things like that due to the slowness. The situation is much improved. I would almost suggest doing away with the progress dialog, since things happen so much quicker. In doing the research for this article, I was corresponding with Marc Mutz, who sent me a link to an archive of interesting emails (more later). I clicked on the link, and there was ark with the list of files. Fast. Very nice.
Virtual folders are a useful tool for separating out a group of similar emails to work with. For this feature to be useful, it must be fast. To create a virtual folder, select a folder, click search. A dialog box allows creation of a query, then click search. (screenshot) I tried this using the kde-cvs mailing list folder, with 1569 messages. A search for subject contains kdebase resulted in 225 matches. The search took 5 seconds. Another search for kdeaccessiblity returning 9 matches took less than a second. The searching algorithm is quick, but handling the hits bogs down a little. It is possible to create a named folder with the search results. The folder is persistent if you exit and reload kmail.
I have no way of testing the group-ware capabilities. I also attempted testing the imap support, pointing to the kde lists, but unfortunately wasn't able to get very far due to crashes. Most of the issues have since been fixed, and I will test this in the future. If anyone wants to review the group-ware, please let me know.
There are many other enhancements such as a new addressbook for email addresses. There is a capability to view multiple charsets split into multiple mime parts (example from Marc's interesting emails). On the fly spell checking, highlighting misspelled words. Email lists can be imported from windows with kmailcvt. I'm sure there are many more enhancements that will show up as I use the software. As you can see, there are a few quirks yet to fix. (screenshot)
Kmail is definitely a work in progress. The virtual folders have some quirks that show up under heavy usage. Two things I noticed. In preparing this digest, I scroll through the emails, copying any of interest to appropriate folders. If I scrolled through a virtual folder, copied one of interest, went to the next, it would skip emails. Also, if I had multiple virtual folders, when I checked mail, new messages would be added to some folders without any rhyme or reason. More testing is required, and a bug will be filed. Throughout kmail there are features that show great promise, but require finishing.
Kontact (screenshot) is a container application that makes up a personal information manager. Four applications are included, Mail, Calendar, Contacts and Notes. It is quick to switch between applications, which can be run in the container, or separately. I haven't used anything other than Kmail, so more in the future.
The panel has two enhancements that I will use. One is a Control Center icon that gives a list of all the modules. The second one gives the option To Current Desktop on grouped applications. For example, if you have two or three konsole's open, the can be grouped on the panel. You can move the whole group to a virtual screen.
All in all, I am impressed. Development code can bite, and I fully expect problems and even data loss. Yet, I haven't loaded 3.1 except to compare features. And that is as easy as selecting a target in the login manager. Kudos to the developers for their fine work. Thanks to Marc Mutz and Melchior Franz for help with this review.
The purpose of this review is to give the readers an idea as to the progress of development. I have not tried all the applications, rather focusing on what I and no doubt many others would categorize as the core applications. So the review is limited to Kmail and Konqueror, with a few comments on Kontact, the personal information manager. I intend to look at other applications in future editions.
First off, how does one go about getting a running copy from cvs? There are many different strategies, and the many how-to details are beyond the scope of this article. http://developer.kde.org/build/compile_cvs.html gives some instructions on compiling kde from cvs. I use Gentoo, and the kde packager has generously provided ebuild scripts for kde-cvs. Get them at http://cvs.gentoo.org/~danarmak/kde-cvs.html . Please read the section Note about support, which makes the point that anyone using a cvs version is on their own. Expect compilation failures, expect incomplete or broken applications. It took me about a week to get the modules compiled, due to compilation errors. Be prepared to dig into the sources to get it to compile. And please be patient with the developers. The problems are being worked on.
One word comes to mind when running what will become version 3.2. It snaps. Speed and responsiveness are somewhat subjective, and what feels quick the first time you run an application becomes ordinary very soon. We hate waiting for the machine. Yet, after running cvs for a week or so, it still surprises. I have an Athlon 1000, with 256 megs ram, 80 gig HD, with cable modem internet. Here are some comments for each application.
In version 3.1, Konqueror is much quicker than before. Loading is quicker, rendering is fast. The cvs version is quicker again. When I first loaded konqueror by clicking on the panel icon, it was there. I was surprised, and checked whether it was preloaded, but no. Very nice. Pages render quickly. What I thought was a slow connection in fact had been delays in rendering, loading, etc. There are a few new features implemented, such as middle click to load page in new tab (configurable), a new tab and close tab button. The only hesitation I have noticed is when I middle click on a link. It seems that the link is connected before opening the new tab. With a slow link, it takes seconds before the new tab is created. The first time this happened, I thought I missed or something, and middle clicked a few more times, eventually having half a dozen tabs open. This lag was noticeable because it is out of character with the rest of the software.
Konqueror has been as stable, no crashes. There are a few pages that render differently, such as www.linuxjournal.com. bugs.kde.org here I come.
Kmail has been extensively rewritten, with many new capabilities. It is now a KPart, has virtual folders, better imap support, group-ware support, spell checking, etc. I have been using it for a week, trying different features out. It is unstable, but usable.
Like Konqueror, there are many optimizations that improve the user experience. Have you clicked on a link in an email address, gone for a coffee, come back to see it loaded? I'm exaggerating of course. I know I have avoided doing things like that due to the slowness. The situation is much improved. I would almost suggest doing away with the progress dialog, since things happen so much quicker. In doing the research for this article, I was corresponding with Marc Mutz, who sent me a link to an archive of interesting emails (more later). I clicked on the link, and there was ark with the list of files. Fast. Very nice.
Virtual folders are a useful tool for separating out a group of similar emails to work with. For this feature to be useful, it must be fast. To create a virtual folder, select a folder, click search. A dialog box allows creation of a query, then click search. (screenshot) I tried this using the kde-cvs mailing list folder, with 1569 messages. A search for subject contains kdebase resulted in 225 matches. The search took 5 seconds. Another search for kdeaccessiblity returning 9 matches took less than a second. The searching algorithm is quick, but handling the hits bogs down a little. It is possible to create a named folder with the search results. The folder is persistent if you exit and reload kmail.
I have no way of testing the group-ware capabilities. I also attempted testing the imap support, pointing to the kde lists, but unfortunately wasn't able to get very far due to crashes. Most of the issues have since been fixed, and I will test this in the future. If anyone wants to review the group-ware, please let me know.
There are many other enhancements such as a new addressbook for email addresses. There is a capability to view multiple charsets split into multiple mime parts (example from Marc's interesting emails). On the fly spell checking, highlighting misspelled words. Email lists can be imported from windows with kmailcvt. I'm sure there are many more enhancements that will show up as I use the software. As you can see, there are a few quirks yet to fix. (screenshot)
Kmail is definitely a work in progress. The virtual folders have some quirks that show up under heavy usage. Two things I noticed. In preparing this digest, I scroll through the emails, copying any of interest to appropriate folders. If I scrolled through a virtual folder, copied one of interest, went to the next, it would skip emails. Also, if I had multiple virtual folders, when I checked mail, new messages would be added to some folders without any rhyme or reason. More testing is required, and a bug will be filed. Throughout kmail there are features that show great promise, but require finishing.
Kontact (screenshot) is a container application that makes up a personal information manager. Four applications are included, Mail, Calendar, Contacts and Notes. It is quick to switch between applications, which can be run in the container, or separately. I haven't used anything other than Kmail, so more in the future.
The panel has two enhancements that I will use. One is a Control Center icon that gives a list of all the modules. The second one gives the option To Current Desktop on grouped applications. For example, if you have two or three konsole's open, the can be grouped on the panel. You can move the whole group to a virtual screen.
All in all, I am impressed. Development code can bite, and I fully expect problems and even data loss. Yet, I haven't loaded 3.1 except to compare features. And that is as easy as selecting a target in the login manager. Kudos to the developers for their fine work. Thanks to Marc Mutz and Melchior Franz for help with this review.
Currently it's not possible, but it's being worked on.
Right now there are two psudeo-transparencies available. The first type is in Konsole. This isn't really psudeo-transparency, it's the wallpaper at konsole's current position. KDE can share the wallpaper pixmap with other applications via KSharedPixmap.
The other type of psudeo-transparency is the type originally provided by my styles and is now part of KDE. What this does is it grabs the area of the desktop before showing a popupmenu. This means you get the underlying windows and icons, not just the wallpaper. But it has no way to see if the windows underneath have been modified so is only useful for situations where the window isn't likely to be moved and is only shown for a short time. This is why it is only used in popup menus.
The real solution is something Keith Packard was working on a long time ago but seems to have dropped for the time being - a translucency server. What this would do is provide a server for sharing X Render drawables across applications. This would allow you to blend different windows from different applications efficently - catching all updates and exposures - something you can't currently do.
This was planned like two years ago but first he decided to redo font handling and is now working on graphics primitives for XRender AFAIK. Really, I doubt eye-candy features are high on his priority list. He posted screenshots of it and TWM a long time ago but refused to release the code for it.
Right now there are two psudeo-transparencies available. The first type is in Konsole. This isn't really psudeo-transparency, it's the wallpaper at konsole's current position. KDE can share the wallpaper pixmap with other applications via KSharedPixmap.
The other type of psudeo-transparency is the type originally provided by my styles and is now part of KDE. What this does is it grabs the area of the desktop before showing a popupmenu. This means you get the underlying windows and icons, not just the wallpaper. But it has no way to see if the windows underneath have been modified so is only useful for situations where the window isn't likely to be moved and is only shown for a short time. This is why it is only used in popup menus.
The real solution is something Keith Packard was working on a long time ago but seems to have dropped for the time being - a translucency server. What this would do is provide a server for sharing X Render drawables across applications. This would allow you to blend different windows from different applications efficently - catching all updates and exposures - something you can't currently do.
This was planned like two years ago but first he decided to redo font handling and is now working on graphics primitives for XRender AFAIK. Really, I doubt eye-candy features are high on his priority list. He posted screenshots of it and TWM a long time ago but refused to release the code for it.
No commits found