July 03, 2008

How-To: View and Convert CHM Help Files to PDF in Debian Lenny

View CHM files using Kchmviewer
CHM is a proprietary file format from Microsoft used for help files. You can view these files with Kchmviewer, which is quite a good application for KDE, offering a lot of options. To install it, just do the usual apt-get install kchmviewer as root.

Kchmviewer 3.1

You can configure font sizes, how it behaves, what engine to use for displaying the HTML files. You can add bookmarks or even see the HTML source for the currently viewing page. It also has an option to extract HTML files into a directory of your choice, breaking the whole CHM file into HTML files readable with a usual web browser.

Settings

The last stable version of KchmViewer is 3.1, and the development release at the time of writing is 4.0beta3.

Converting CHM to PDF using the chm2pdf tool
For converting the file to PDF, there is an open-source tool called chm2pdf included in the repositories as well. To install it type apt-get install chm2pdf as root, and to use it, all you have to do is:

chm2pdf --webpage chm_file.chm

A PDF file with the name chm_file.pdf will be generated, readable with any PDF reader like KPDF. The tool provides many other options for the newly generated PDF file, for a complete list see man chm2pdf.

Updated: Jul 03, 2008 (Created: Jul 03, 2008)

July 02, 2008

XChat 2.8.6 Review - A Great Graphical IRC Client

IRC is one of the most used protocols for text chatting and most major projects and distributions have several IRC channels to offer help or discuss development or any other issues.

XChat is a very powerful IRC client written in GTK who has been around for years and is now feature complete, low on resources, with a powerful scripting interface and support for C plugins.

Usual XChat instance, connected to the OFTC network, channel #debian

The interface doesn't seem to be very complex, but the true configuration power of XChat stands in scripts and /SET variables, which allows you to make it behave in any way you like. One good thing about XChat is that it doesn't copy other clients' interfaces, and it provides its own, simple and clean. Although not necessary very intuitive at start, once you get used to it, XChat comes to behave the way you like it. A GNOME version of XChat is available too, but I decided upon the original client.

When it first starts, XChat will pop-up the network list, allowing you to set the desired nickname, user, real name and select to which network you want to connect. This dialogue can be disabled in the future.

First start - enter the nickname and select the network

You can also configure the behaviour to automatically connect to several network at start-up and also send several commands when it does (which can also be listed in a text file inside ~/.xchat/ directory), although I recommend doing this in a script and just loading it when XChat starts.

The default list of channels is tree view, but you can switch it to the more common tab view in the View -> Channel Switcher -> Tabs menu.

As I said before, the true power of XChat lies in the /SET variables (just type /SET to see a complete list, or visit this website to see what they all do), in scripting and support for C plugins. Scripting is available by default in Perl and Python, and a plugin makes available Tcl too. The good thing about the scripting interface is that it's fully documented on the official website, so what you'll only need in order to extend XChat is basic programming knowledge in Perl or Python and a little documentation reading. If you know basic C, you'll also be able to create plugins for XChat. It supports event-based scripting. Here is my work in this matter and I'm not a professional programmer.

Connected to multiple networks - OFTC and Freenode

Some of the /SET variables are really useful, like irc_whois_front (to see /WHOIS information in the current active window) or irc_conf_mode (to hide the join/part events - the conference mode). The conference mode can also be enabled by right-clicking on the channel tab and ticking Settings -> Hide Join/Part Messages.

XChat has support for connecting to several networks at the same time, a powerful logging system which allows not only to select the path, but also to use date specifiers like %b or %d for the filenames with your discussions. Practically, you can make any format possible using the specifiers.

Very flexible logging system

You can configure keyboard shortcuts, it has an auto-replace feature and also spell checking, which really is very useful if your English is not that good.

This new version also has a new entry in the Logging tab inside the Preferences window, which allows to enable/disable the scrollback from previous discussions. This option was available in the previous release with the /SET TEXT_REPLAY 1|0 variable.

The Preferences dialogue

XChat also features system tray integration, although in KDE the icon can sometimes be too big (that depends what size the panel with the tray icons has). One feature I couldn't find and I really miss is start minimized, and I really hope it will be implemented in the future.

The system tray icon can also be configured to highlight whenever a special event occurs, you can do it through the Settings -> Preferences -> Alerts dialogue.

Documentation is very abundant, and as for the community, the project offers both a forum and an IRC channel, #xchat on Freenode.

XChat 2.8.6 - the very last release for Linux

Overall, I can only say that XChat is probably the most complete, powerful and popular graphical client for IRC on Linux. It implements everything an IRC client should have, and the options you miss can be easily implemented using scripts or plugins. There are lots of them on the official website. This was my favourite client for a very long time, and I warmly recommend to any person who uses IRC, regarding if it's an IRC addict or not, a beginner or a more experienced user.

Of course, if XChat doesn't fit you, other powerful graphical clients are KVirc and Konversation, and for CLI there is the lovely Irssi, which I found myself using more and more lately.

Official Website
Documentation
Forum
Scripts & Plugins
/SET Variables
My XChat Scripts & Plugins

Updated: Jul 02, 2008 (Created: Jul 02, 2008)

Most Popular Posts - June

What Makes Amarok the Most Popular Audio Player for Linux?
An article/review about 7 reasons for which Amarok is the most popular audio player on Linux.


10 Best KDE Applications Not Included in KDE
A review of 10 best KDE applications which don't come with KDE alone, including Amarok, K3b, KTorrent, Kaffeine and KDevelop.


10 Best GTK Applications Not Included in GNOME
A review of 10 best GTK applications which don't come with GNOME, including the GIMP, XChat, Inkscape, Banshee and Deluge.


Wine 1.0 Review
Review of the first 1.x release of Wine. Tested applications are World of WarCraft, mIRC, Half-Life 2 and Counter-Strike.


Review of the New Banshee 1.0 Audio Player
Banshee is a powerful audio player which integrates with GNOME, and the new 1.0 release features a whole bunch of new stuff.


3 BitTorrent Clients for Linux
This article reviews KTorrent, Deluge and Transmission, which are three of the most used BitTorrent clients in Linux.


Updated: Jul 02, 2008 (Created: Jul 02, 2008)

How-To: Use Profiles in Konqueror 3.5.9

Konqueror is the default file manager in KDE 3.x and most KDE-based distributions still use it over KDE 4.x since at the current date it's more feature-complete and more stable. Another powerful file manager for KDE is Krusader, and the new default in KDE 4.x is Dolphin, which aims to provide good functionality and be only a file manager, but although I used it for a little, I only saw a file manager that lacks features with no advantage over Konqueror. That's supposed to change, but until then, Konqueror with KDE 3.5.x still remains a winning combination.

Anyway, this short tutorial will show how to add two profiles in Konqueror, one for file management with two tabs opened in two different locations, and one for web browsing.

1. Create the file management profile
Open Konqueror and eventually set the path in the current tab to your home directory. If you like, you can open another tab and set the location to another path, or split the window left/right or top/bottom. Mainly, the profile will remember any settings you did in this Konqueror session. Next, go to Settings -> Configure View Profiles... and add the name for your profile, for example Configured FM. You can tick the Save window size in profile too if you want the window size to be remembered. Click Save.

Saving a new profile in Settings -> Configure View Profiles...

Tab split left/right using the Configured FM profile

2. Create the web browsing profile
Just repeat the steps from 1, except this time use a web address in the location bar (and eventually do whatever other things you may find useful to be automatically loaded when you start Konqueror - open more tabs etc). Save it, say as Configured Web Browsing.

3. (Optional) Run Konqueror by loading any of those profiles
To run Konqueror using any of those profiles, just hit ALT+F2 and type:

konqueror --profile "PROFILE NAME"

For example, for the Configured FM profile:

konqueror --profile "Configured FM"

And for Configured Web Browsing:

konqueror --profile "Configured Web Browsing"

4. Add desktop shortcuts
In order to start it faster, just create two plain text file on the desktop with the following lines:

For the file management profile:

[Desktop Entry]
Exec=konqueror --profile "Configured FM"
Icon=konqueror
Name=Konqueror (FM)
Type=Application
Comment=File Manager

For the web browsing profile:

[Desktop Entry]
Exec=konqueror --profile "Configured Web Browsing"
Icon=konqueror
Name=Konqueror (Web Browser)
Type=Application
Comment=Web Browser

And that's it. You can now easily access Konqueror easily as file manager or web browser using those two shortcuts. And don't forget to check out the default profiles, they might be useful too.

Updated: Jul 02, 2008 (Created: Jul 02, 2008)

July 01, 2008

How-To: Compile and Install the QtCurve Style for KDE3 in Debian Lenny

Note: This how-to may also work on Ubuntu and other Debian-based distributions.

QtCurve is a beautiful and highly configurable style for KDE. It's mature and bug-free, so if you want to give it a try, download the source for KDE 3 from the KDE-Look.org page . Next, install the dependencies:

apt-get install build-essential cmake kdebase-dev cmake lsb-cxx

Then, issue the following commands in the QtCurve directory:

mkdir build
cd build
cmake ..
make
make install

The last command as root. Your style should now be installed. To apply it and configure QtCurve, run KControl (hit ALT+F2 and enter kcontrol), go to Appearance & Themes -> Style, and select QtCurve from the Widget Style drop-down list.


Updated: Jul 01, 2008 (Created: Jul 01, 2008)

SMPlayer Review - One of the Most Powerful Video Players for Linux

SMPlayer is a complete video player built in Qt 4.4.0 and based on the powerful, open-source engine MPlayer.

The version I decided to test in this review is 0.6.1 from SVN. SMPlayer basically plays anything video or audio, including DVDs, VCDs or DVD ISO images, audio CDs, MPEG, AVI or ASF. SMPlayer can also play DVD ISO images or mounted images by pointing to the directory which contains the VIDEO_TS and AUDIO_TS directories, or even videos from a given URL location.

Playing Big Buck Bunny at 1080p

One of the great features SMPlayer has is the ability to resume a movie after you closed it and restarted the application. This really is useful and time-saving in case of a reboot, logout or a restart of the X server, or just in case you will need to close it in order to free up memory and CPU for some other task. Settings are saved separately for each video file, but currently it doesn't seem to support resume for DVD images.

Usual instance when SMPlayer is started for the first time

Among the other features it comes with are the OSD (On-Screen Display), very detailed information about the currently playing movie, support for subtitles (which, by the way, are displayed very nice and clean and allow font resizing to anything it fits you better), support for DVD chapters, and a whole bunch of video effects, like rotating or filters. You will have to select the CD/DVD drives in the Options -> Preferences window.

SMPlayer is highly configurable, allowing to change the icon theme, the language (it has full support for many languages, see the screenshot below) and many more. You can select the output video driver too. I liked the support for configuring the interface: besides the language or icon theme, you can also change the style or the default font the application uses. This allows you to make SMPlayer look just the way you want it to.

SMPlayer - the interface is completely available in many languages

You can also change the shortcuts for mostly all of its functions, and also have the mouse behave differently. For example, double-click will toggle fullscreen mode, while you can set single click to anything, like play/pause or mute. The middle button and wheel are also configurable.

SMPlayer is highly configurable

Subtitle support is also powerful: SMPlayer allows any subtitle sizes, it provides the possibility to automatically load subtitles which match a specific criteria, the position of subtitles on screen and the language encoding to use.

I noticed that MPlayer takes up quite some CPU resources when playing a movie with a big resolution, and it was around 20% when playing Big Buck Bunny at 1920x1080 encoded as MP4, on my Intel Core 2 Duo 1.8GHz running Debian Lenny. Also, I encountered a crash on MPlayer when trying to play a DVD from the drive, but the second time it ran just fine.


Since it uses Qt 4, integration with KDE 4.x is very good and the interface blends smoothly in the environment. As for speed, comparing to players for KDE 3 like Kaffeine, it is a little slower (I'm referring to the interface's response only), but I hope this will get fixed as the time passes though.

To sum it up, SMPlayer is a very impressing application and one of the most powerful video players for Linux, together with Kaffeine or VLC.

Official Website

Updated: Sep 15, 2008

Review of the Last.fm Open-Source Client for Linux

Last.fm is an open-source application licensed under the GPL, allowing you to listen to Last.fm radio stations and submit the songs in the same time. For those of you unfamiliar with Last.fm, it's a great social music community, allowing you to submit songs you currently listen to, statistics, forums for bands or music styles (or even more: Amarok has a group, most major distributions also, and you can start your own group about anything, match people and discuss), together with information for each artist, open for anyone to edit, just like the Wikipedia style.

The application is also included in Debian's repositories (and probably most other distributions), and it can be downloaded alternately from the Tools page on Last.fm. What I liked is that they also offer an online Debian repository for it here, although I recommend using the official package in Debian's repositories. But if you want the latest version, the repositories they provide are fine.

Main interface after logging in

The client is built using the Qt 4.3.4 libraries since April 2, 2008, so the integration with KDE 4.x should be just fine. You will also need a Last.fm account in order to use it.

Features
The left tab contains most of the important links for the Last.fm radio, like recently played, loved or banned songs, tags, friends, neighbours or history. You can love, ban or skip songs (but unfortunately I couldn't find any 'pause' button). You can also start your own radio station and add favourite songs there.

Listening to radio

It integrates with the system tray, and it's available in several languages, like English, French or Italian.

It also offers several configuration options, like the audio engine or the icon in the system tray.

Configuration

As a conclusion, the Last.fm client can prove very useful for persons who like to listen to internet radio a lot, unless you prefer to do it in your own audio player of choice. Overall, another nice free application for our delight, and these projects should really be encouraged and supported.

Updated: Jul 01, 2008 (Created: Jul 01, 2008)