I don't know much about the IM software named Adium except that it resides under Mac.
It therefore, as I guess, has inherited the tradition of Mac of having charming GUI.
Apart from its beautiful software interface, it also has variety of distinguishing 'Message Style'
If you don't understand what I am talking about, you may check this out.
As to these adorable message styles, they are based on the web render engine named 'Webkit', which is actually the reason why they are so attractive.
'Guys who are using Adium would be lucky!' if you love these styles you may think.
But you can be one of them even though you don't use Adium.
There is a geek who just has written a plugin for Pidgin to use these affluent Adium message style!
But don't tell me that you have no chance to use pidgin since it's open source.
In the following, I will guide you how to make it rock on your computer:
1. Where to find the necessary stuffs
Since Pidgin-Webkit is still on its beta stage, you may have to download the source code on its developer's page:
- you can refer to the official site of Webkit to compile and install it
- and if you are lucky enough using the ubuntu as I am, there is an existing webkit package in the repository, about which I will walk you through below.
- http://adiumxtras.com/index.php?a=search&cat_id=5
- Are they the really eye-candy? I must ask. :)
First of all, you must make the Webkit available in your system. As I mentioned, you can compile it yourself from the source code, which I am not going to talk about here.
Then another way is that you can install it from the repository:
- add 'deb http://ppa.launchpad.net/stemp/ubuntu hardy main' into your software source, if you are using ubuntu Gutsy, you may change the 'hardy' part to 'gutsy';
- then update your package information: sudo apt-get update
- install the webkit package for development: sudo apt-get install libwebkit-dev
Second, it is time for you to compile the long-waited pidgin-webkit plugin:
- unpack the source code package you downloaded and get into the folder
- simply type 'make' to compile it
- then 'sudo make install' to install it to the pidgin plugin folder
- if you encounter problems in this part, you may refer to the 'Trouble Shooting' part below to find if you have the same problem as I did.
- unpack the style package
- copy the folders within it to this folder: ~/.purple/message_styles/ : sudo cp -r style_folders ~/.purple/message_styles/
Then open a message session, chat with your best friends facing the wonderful interface.
3. Trouble Shooting
Surely, you cannot go through the steps above without any problems. At least, I confronted so many problems while I am undergoing these stages. I would paste them here and also my solutions to them, wish it helpful.
- the version problem for package libgtk2.0
- When I tried to install the libwebkit-dev package, I encountered the error which told me
The following packages have broken dependencies:
libgtk2.0-dev: Depends: libgtk2.0-0 (= 2.12.9-3ubuntu4) but 2.12.9-4ubuntu3 will be installed
E: Broken Packages- it is because I had gnome2-global-menu installed before that.
- to get rid of it, you have to install the right package back:
- first install the right version of libgtk2.0-0: sudo apt-get install libgtk2.0-0=2.12.9-3ubuntu4
- this will uninstall some packages such as gnome-themes gtk2-engines-pixbuf gtk2.0-examples gucharmap libgtk2.0-bin
- now install libgtk2.0-dev: sudo apt-get install libgtk2.0-dev
- reinstall the uninstalled packages: sudo apt-get install gnome-themes gtk2-engines-pixbuf gtk2.0-examples gucharmap libgtk2.0-bin
- then this problem was solved
- refer to: http://ubuntuforums.org/showthread.php?t=871606&page=2
- the "No package 'pidgin' found" problem
- when I typed 'make' to compile pidgin-webkit, this problem occured.
- this is all about the package 'pidgin-dev', install it in your favorite way.
- here you go.
- when using the plugin, the pidgin suffers from crashing
- when I use the plugin the first time, the pidgin gave me a crashing as an answer.
- through searching, I figured out that it is likely to be the problem of wrong file ownership.
- check the Adium message style folder you copied to .purple/message_styles/ for the file owner.
- If they don't belong to you, you have to change them to this way:
- sudo chown -hR yourusername thestylefolders
- then relaunch pidgin
Until now, you can open pidgin to enjoy the different kinds beautiful message styles, can't you?
But for me, I was not satisfied with the Chinese characters it displays.
Because most of the existing Adium message styles are designed by English speakers and they cannot be aware of other characters they don't use, other poor language characters don't shows great enough.
If you have this problem as I do, you can follow me. I will lead you to configure the fonts for your language other than English.
By the way, I choosed the style named 'renkoo', I will take it for examples.
- go to the 'Contents/Resources/' folder under the style folder
- open the file 'main.css' with your text editor
- within the '#heading .conversationWith' block and 'font:' entry, add the font name of your language after 'Lucida Grande, '. As for me, I added 'STHeiti'. It finally looks like 'font: bold 16px Myriad Pro, Myriad, Lucida Grande, STHeiti, Trebuchet MS, Arial;'
- and within the '#heading .conversationTime' and '.status_container' blocks, go in the similar way.
- within the '.tableBubble' block, add the 'font:' entry. For instance, I added a new line 'font: 12px Myriad, Lucida Grande, STHeiti, Arial;'
- and if you want to adjust the font size, you may go to the '.tableBubble .message' block to change the 'font-size' entry. I just changed it to '12px'
5. Words from the author
Because my English is not so fluent, please forgive my problems in language.
I just take it as a note for myself, and I paste it here with the wish that it may be helpful.
Cheers!
[Update] the source code of pidgin-webkit can now be obtained through Bazzar at: https://code.launchpad.net/pidgin-webkit
Labels: adium, pidgin, PlayingLinux, plugin, ubuntu
Hi,
pidgin doesn't start for me.
when i launch pidgin with -d option, i have a trace of a missing symbol in webkit purple_buddy_icons_node_find_custom_icon.
I get the webkit in the repository
Hum,
Bot a crash in fact but can't select the pidgin webkit plugin due to the error
Hi !!!!
It Work !!! Very nice =)))))))))))))))
It's for pidgin 2.5.1.. inialially, i try with 2.4 (the one in ubunutu repo)...
Looking for a Windows one....
Yes, franck, I have also tried the early versions of Pidgin but all failed. It seems to work with 2.5.0 or higher version due to its using a new variable in 2.5.0. You can see that from the terminal.
Does Pidgin show you an "... is typing" info? I don't know whether it is only a case of proper theme, or all the webkit plugin? Is it any way to make Pidgin writing it?
And is it a way to force it to show the last chat on a top of a new conversation?
@ jasiekmarc, yes, there is no the '... is typing' information because of the Message Style. I haven't tried any other styles so I have no idea. If you really want it, you may try the pidgin-screenlets plugin.
As for your second question, I think there is a plugin called 'History' in the plugin options. You may give it a try.
I've always used the History plugin. I think, they won't work together.
On launchpad i found, that adium doesn't show a "...is typing" inside the conversation, so doesn.t the pidgin-webkit
hi .. maybe this is an old post but i want to know where do you get the source code for the plugin i cant find it anywhere on that url thanks
You may use the Bazaar branches:
bzr branch lp:pidgin-webkit
refer to: https://code.launchpad.net/pidgin-webkit
Good luck!
I don't know what the heck happened but the source code is screwed up.
When I try to run "make" on the pidgin webkit, I get a bunch of errors:
These are just a chunk of them, there are a ton more:
--------------------
webkit.c: In function ‘pidgin_webkit_prefs_style_cb’:
webkit.c:520: warning: implicit declaration of function ‘purple_prefs_get_string’
webkit.c:521: warning: initialization makes pointer from integer without a cast
webkit.c:526: warning: passing argument 1 of ‘g_build_filename’ makes pointer from integer without a cast
webkit.c:530: warning: implicit declaration of function ‘purple_debug_error’
webkit.c:546: warning: implicit declaration of function ‘purple_get_conversations’
webkit.c:546: warning: assignment makes pointer from integer without a cast
webkit.c: At top level:
webkit.c:561: error: expected declaration specifiers or ‘...’ before ‘PurplePrefType’
webkit.c: In function ‘pidgin_webkit_prefs_variant_cb’:
webkit.c:565: warning: initialization makes pointer from integer without a cast
webkit.c:594: warning: assignment makes pointer from integer without a cast
webkit.c: At top level:
webkit.c:609: error: expected ‘)’ before ‘*’ token
webkit.c:647: error: expected ‘)’ before ‘*’ token
webkit.c:718: error: expected ‘)’ before ‘*’ token
webkit.c:780: error: expected ‘)’ before ‘*’ token
webkit.c: In function ‘escape_message’:
webkit.c:829: warning: implicit declaration of function ‘gtk_imhtml_is_smiley’
webkit.c:829: warning: implicit declaration of function ‘GTK_IMHTML’
webkit.c:836: warning: implicit declaration of function ‘purple_unescape_html’
webkit.c:836: warning: assignment makes pointer from integer without a cast
webkit.c:839: error: ‘GtkIMHtmlSmiley’ undeclared (first use in this function)
webkit.c:839: error: ‘imhtml_smiley’ undeclared (first use in this function)
webkit.c:840: warning: implicit declaration of function ‘gtk_imhtml_smiley_get’
webkit.c:842: error: invalid type argument of ‘->’ (have ‘int’)
webkit.c: At top level:
webkit.c:871: error: expected ‘)’ before ‘*’ token
webkit.c:1024: error: expected ‘)’ before ‘*’ token
webkit.c:1060: error: expected ‘)’ before ‘*’ token
webkit.c:1103: error: expected ‘)’ before ‘*’ token
webkit.c:1137: error: expected ‘)’ before ‘*’ token
webkit.c:1147: error: expected ‘)’ before ‘*’ token
webkit.c: In function ‘pidgin_webkit_load_message_style’:
webkit.c:1167: warning: initialization makes pointer from integer without a cast
webkit.c:1169: warning: initialization makes pointer from integer without a cast
webkit.c:1172: warning: passing argument 1 of ‘g_build_filename’ makes pointer from integer without a cast
webkit.c:1184: warning: passing argument 1 of ‘g_build_filename’ makes pointer from integer without a cast
webkit.c: At top level:
webkit.c:1311: error: expected ‘)’ before ‘*’ token
webkit.c:1359: error: expected ‘)’ before ‘*’ token
webkit.c:1380: error: expected ‘)’ before ‘*’ token
webkit.c:1403: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ui_info’
webkit.c:1408: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘info’
webkit.c:1442: error: expected ‘)’ before ‘*’ token
webkit.c:1451: warning: return type defaults to ‘int’
webkit.c: In function ‘PURPLE_INIT_PLUGIN’:
webkit.c:1451: error: expected ‘{’ at end of input
make: *** [webkit.o] Error 1
------------------------------
Any ideas anyone?
Thanks!
-Michael
Hope someday the plugin would be aviliable por amd64
I did everything you mention, but whenever I click on a buddy of mine in the list of users, it opens Chrome with the custom Template.html of the theme.
Any ideas???
I have Kubuntu 14.04 and 64 Bits.
Whenever I run pidgin with the -d command and activate the plugin, this is what I get:
(11:05:08) WebKit: plugin_load
(11:05:08) WebKit: Message style dir: /home/user/.purple/message_styles/renkoo.AdiumMessageStyle
(11:05:08) WebKit: Using custom Template.html
(11:05:08) WebKit: No Footer.html
(11:05:08) WebKit: css_path: /home/user/.purple/message_styles/renkoo.AdiumMessageStyle/Contents/Resources/Variants/Green on Red.css
(11:05:08) prefs: /pidgin/plugins/loaded changed, scheduling save.
Logs from the make and make install:
PC:~/$ make
gcc -c webkit.c -o webkit.o -O2 -Wall -fpic -g -I/usr/local/include -I/usr/local/include/gtk-2.0 -I/usr/local/include/glib-2.0 -I/usr/local/include/pango-1.0 -I/usr/local/include/atk-1.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/lib/gtk-2.0/include -I/usr/include -I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/lib/glib-2.0/include -I/usr/lib/gtk-2.0/include `pkg-config --cflags gtk+-2.0 pidgin` `pkg-config --cflags webkit-1.0`
webkit.c: In function ‘get_webkit’:
webkit.c:658:14: warning: variable ‘imhtml’ set but not used [-Wunused-but-set-variable]
GtkWidget *imhtml = NULL;
^
gcc -c prefs.c -o prefs.o -O2 -Wall -fpic -g -I/usr/local/include -I/usr/local/include/gtk-2.0 -I/usr/local/include/glib-2.0 -I/usr/local/include/pango-1.0 -I/usr/local/include/atk-1.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/lib/gtk-2.0/include -I/usr/include -I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/lib/glib-2.0/include -I/usr/lib/gtk-2.0/include `pkg-config --cflags gtk+-2.0 pidgin` `pkg-config --cflags webkit-1.0`
prefs.c: In function ‘plugin_config_frame’:
prefs.c:185:16: warning: variable ‘model’ set but not used [-Wunused-but-set-variable]
GtkTreeModel *model;
^
gcc webkit.o prefs.o -shared `pkg-config --libs webkit-1.0` -o webkit.so
PC:~/$ sudo make install
mkdir -p ~/.purple/plugins
cp webkit.so ~/.purple/plugins/
mkdir -p ~/.purple/message_styles
cp message_styles/* ~/.purple/message_styles/ -rf
Thanks.