dimanche, octobre 21 2007

GTetrinet through tubes

During the GNOME Summit, I started to hack GTetrinet (based on the initial work of Alban) and Empathy to try to offer a better user experience using stream tubes. I finally found some time this afternoon to finish this work and I am now able to play GTetrinet through tubes!

GTetrinet was patched to add a new dialog. It uses libempathy and libempathy-gtk to display user's contact list. When you have chosen a contact, it launches tetrinet-server into another process and exports its socket through a stream tubes.

The rest of the work is done by Empathy which was modified to display incoming tubes and launch GTetrinet if the user accepts it.

Alban's diagram showing GTetrinet using tubes

Screencast showing GTetrinet initates the tubes with a contact

The other side where Empathy receives the tube and launchs GTetrinet

These 2 patches still need lots of polishing before being ready for merging and we still have to design how tubes will be integrated properly into Empathy and Mission Control but I think they are a good demonstration of how tubes will revolutionize the collaboration in GNOME.

samedi, octobre 6 2007

Inet socket support in stream tubes

While Rob is finishing to review the Gabble tubes mega branch, I implemented inet4 and inet6 sockets support for stream tubes.

That means we are now able to export any (ip, port) socket to a tube and create an inet socket binded to the localhost interface to connect to it. So, any network application can easily be exported through a stream tubes to your contacts or to a muc a room.

For example, if you export your socket (127.0.0.1, 22) to muc foo, each participant of this muc who accepted your tube will have a new socket (127.0.0.1, port) created on their box. They'll just have to connect to it[1] and they'll be automagically connected to your ssh server!

Next step now is to integrate all these cool stuffs to Empathy and GNOME will gain a rocking Collaboration framework!

Notes

[1] ssh localhost -p port

jeudi, septembre 20 2007

Telepathy Ubuntu Personal Package Archive

Thanks to Bigon, the Ubuntu Telepathy team have now its own Personal Package Archives. We'll use it to store packages of the latest upstream version of the Telepathy stack (connection managers, Empathy, Farsight, Soylent, ...) that can't be included in Gutsy due to freeze.

So, if you want to be sure to have latest releases, you just have to add these 2 lines in your /etc/apt/sources.list :

deb     http://ppa.launchpad.net/telepathy/ubuntu gutsy main restricted universe multiverse
deb-src http://ppa.launchpad.net/telepathy/ubuntu gutsy main restricted universe multiverse

mardi, juin 5 2007

Stream tubes, a new generation of tubes

A few weeks ago Daf and Rob announced D-Bus tube, a new Telepathy technology allowing applications to use D-Bus facilities for their network communications.

We have now a new type of tube called Stream Tube. With these tubes you'll be able to easily establish TCP connections with your contacts or with the participants of a multi-users chatroom. Let's take a look on Daf's amazing ASCII art to see how that works.

 .---------.
 |TP client|--|listening socket| B
 '---------'         ^
     C               |
                .----------.
                |Connection|
                | Manager  | A
                '----------'
                     |
                   _____
                __/     \___
            ___/            \n           /                 \____
          |                       \n          \__                     /
             \    Internets      /
             /                   \n            /                     \n           |             ___      /
           \____/\      /   \____/
                  \____/
                     ^
                     |
                .----------.
                |Connection|
             F  | Manager  |-|listening socket| E
                '----------'        ^
                                    |
                               .---------.
                               |TP client| D
                               '---------'

Alice wants to share a, say, local Unix socket (B) with Fernand. She exports that socket in a stream tube and offers it to Fernand. He accepts it and so its Connection Manager creates a local socket (E) on his system. Now, each time Fernand will connect an application (D) to this new socket, Alice's CM will make a new connection to the socket B and a new bytestream will be established between Alice and Fernand to transport data of this connection. So, applications C and D can now communicate together without caring about the network between them and without any code modifications, they just have to support unix socket (more socket type will be supported soon).

So, now imagine C is, for example, a VNC server and D a VNC client and we have... VNC over jabber!

RealVNC doesn't support Unix socket yet, but this patch add this feature. Thanks to the help of its author, I was able to build it with RealVNC 4.1 and so play with a remote GNOME mine. :)

mine-tube.jpg

GNOME mine over VNC over stream tubes over jabber

Currently only local unix socket support is implemented but we should support other socket type soon. We're still using XML bytestream (IBB) but real P2P bytestreams (with NAT penetration support) are planned too.

samedi, février 24 2007

GNOME t-shirts @ FOSDEM

As previously announced by Vincent, we printed very sexy GNOME t-shirts for FOSDEM (thanks to Andreas for the design!).

They are sold 10€ in our devroom (H.1302) and for free if you are speaker in the devroom or member of the GNOME Foundation (but any donation is of course welcome ;).

So, don't forget to come and take our t-shirts (especially if you wrote your size on the wiki, there is one t-shirt reserved for you !).

FOSDEM 2007 t-shirts

Our official GNOME model wearing the GNOME@FOSDEM 2007 t-shirt

jeudi, février 22 2007

Jamendo Rhythmbox plugin

Yesterday was released Rhythmbox 0.9.8. This new version includes my Jamendo plugin.

Jamendo is a rocking musical portal from where you can listen and download a huge quantity of free (as in freedom and/or as in free beer) music. Like the Magnatune plugin, it gives you the ability to listen (streaming) and download all the Jamendo library (except that here you don't have to pay anything!). Download is done using Bittorrent and you can choose if you prefer OGG or MP3 files.

So you can very easily enjoy more than 20000 tracks from 1600 artists (that means more than 58 days of music!) and new albums are added each day. Furthermore, as you can see on this screenshot, the plugin interacts with the albums cover component.

Jamendo plugin

Rhythmbox playing B-Shake[1] from Jamendo

Notes

[1] Very cool rock band of a friend of mine

vendredi, février 16 2007

Hello Planet GNOME + new job

Hi, I'm yet another hackergotchi on Planet GNOME (but you can call me Guillaume).

Some words to introduce myself. I'm a Belgian GNOME hacker who mainly worked on XChat-GNOME with David. I'm very interested about IM in GNOME and so try to give also some love to Gossip, Telepathy...

Some days ago I was still student at ULB (the university where FOSDEM takes place) but I joined Collabora very recently[1]. I'm very excited about this new job as it gives to me the opportunity to work on very exciting projects and learn amount of stuffs with cool people.

Speaking of work, I'm in Cambridge (at Collabora's office) until the next Wednesday. First business trip woohh. :)

Notes

[1] it's my first week of work

jeudi, janvier 11 2007

XChat-GNOME 0.16 released !

Yesterday we released XChat-GNOME 0.16, the "True love dies hard on jagged rocks" release[1].

Moreover the traditional bugs and crashers fix (thanks to the new bugzilla), there are two improvements visible for the end user.

The bigger one is that now each plugin can define its own preference page. So, when you load it, a new item is added in the preferences dialog. As you can see, you can now configure the notification plugin to choose when you want the tray icon appear. It's currently the only plugin having a configuration page. Don't hesitate to implement one for existing plugin or suggest interesting options (but let's try to avoid configuration mess).

The second change is the new channels list dialog. A lot of people complained that the old one was too big and consume too much time at opening because of channels list retrieving. The new dialog doesn't automatically load channels, you have to expand a panel to do it. You can also directly type the name of the channel you want to join. I also added a gconf key[2] if you want to disable the auto popup of the dialog when you join a server and don't have any channel in its autojoin list.

This release should also be the end of all our locale specific bugs. I write with Olivier (thanks to him) a little script to detect badly formatted strings and mark these as fuzzy. We hope it will fix the /me command bug. To avoid to reintroduce these bugs in future version, *please* translators be careful when you translate this kind of strings :

#: ../src/common/textevents.h:21
msgid "%C13*%O$t$1 $2%O"
msgstr "%C13*%O$t$1 $2%O"

A little mistake can make this command unusable in XChat-GNOME. We could argue than translators should not have to worry about this kind of crap. That's true but we're still very dependent on xchat's code and so can't change that easily.

Thanks to Joachim, we now have a begin of new documentation. Rocks!

As usual, RFE and bug report are welcomes. I'd like to insist about crashers. Please try this new version and report any crasher you found. We'd like to fix as many of them ASAP to limit flood mail after Feisty release.

Notes

[1] don't ask me about this release name, i'm not in the mad brain of David ;)

[2] /apps/xchat/channel_list/auto_popup

vendredi, novembre 10 2006

GNOME Foundation, here i am

Dear Guillaume Desmottes,

We are pleased to inform you that you are now part of the GNOME Foundation Membership.

Like some other Belgian guys, i'm now member of the GNOME foundation. :) It's really cool to know that your work is appreciated and become better involved into the community.

Thanks a lot to David and Vincent for their really kind mail and have supported my membership.

dimanche, novembre 5 2006

Automatically shutdown unused computers

For my job at the university I was asked to shutdown unused computers during the night (let's save some energy!). So i wrote halt-if-no-one, a little Python script that checks if there isn't any user logged and if not halt the system.

Sources with Debian packaging stuffs are available as a bazaar branch on http://cass.no-ip.com/~cassidy/repos/halt-if-no-one/.

bzr get http://cass.no-ip.com/~cassidy/repos/halt-if-no-one/

By default the script is called each hour between 8 PM and 8 AM but you can easily change it by editing /etc/cron.d/halt-if-no-one

jeudi, novembre 2 2006

Plugin specific preferences

I finally commited my work to implement plugin's preferences page architecture in XChat-GNOME. Plugins can now have their own preference page nicely integrated in the preferences dialog.

I also added a preference page in the notification plugin to configure the level of notification of the tray icon.

So, i you have nice idea about interesting stuff to configure for a specific plugin don't hesitate to fill a bug. :)

dimanche, octobre 29 2006

XChat-GNOME 0.15

XChat-GNOME 0.15 “Because IRC is like the wild west” is now available.

What is it ?

XChat-GNOME is a new frontend to the popular X-Chat IRC client which is designed with the user interface foremost in mind.

More informations can be found at: http://xchat-gnome.navi.cx/

What's changed ?

  • A couple important bugs fixed
  • New themeable icons!
  • Some HIG improvements

Contributors to this release

David Trowbridge, Guillaume Desmottes

Where can I get it ?

samedi, octobre 21 2006

XChat-GNOME 0.14

XChat-GNOME 0.14 “I dreamt I had to go to mars” is now available.

What is it ?

XChat-GNOME is a new frontend to the popular X-Chat IRC client which is designed with the user interface foremost in mind.

More informations can be found at: http://xchat-gnome.navi.cx/

What's changed ?

  • Import Debian's manpage. Thanks to Marco Cabizza.
  • D-Bus support is now merged in the core and not a plugin anymore.
  • Add a option to enable logging of conversations
  • HIG improvements
  • A mountain of bug fixes.
  • Updated translations.

Contributors to this release

David Trowbridge, Guillaume Desmottes, Christian Persch, Xavier Claessens

Where can I get it ?

dimanche, août 20 2006

Let's say GNOME

Sometimes i try to do useful contribution.
And sometimes i don't.

jeudi, juillet 20 2006

XChat-GNOME 0.13

XChat-GNOME 0.13 “How do they even make Broccoflower?” is now available.

What is it ?

XChat-GNOME is a new frontend to the popular X-Chat IRC client which is designed with the user interface foremost in mind.

More informations can be found at: http://xchat-gnome.navi.cx/

What's changed ?

  • Add the ability to auto-join keyed channels
  • Add the red-line unread indicator
  • Show a short message indicating how to get spell-checking working if libenchant is not installed
  • Allow users to re-join a channel with the context menu of the navigation tree.
  • Pop up the connect dialog on startup if there are no servers set to auto-connect.
  • Pop up the channels list dialog on connect if there are no channels set to auto-join.
  • Add GUI to give OP status
  • Lots and lots of major bug fixes

Contributors to this release

David Trowbridge, Guillaume Desmottes, Christian Persch, Isak Savo, Daniel Drake

Where can I get it ?

jeudi, juin 22 2006

XChat-GNOME 0.12

XChat-GNOME 0.12 “All roads lead to Sean Connery” is now available.

What is it ?

XChat-GNOME is a new frontend to the popular X-Chat IRC client which is designed with the user interface foremost in mind.

More informations can be found at: http://xchat-gnome.navi.cx/

What's changed ?

  • A new sheme for theme-based foreground and backgrond colors, with automatic palette optimization for mIRC color codes.
  • Remove redundant nicknames (with a gconf key to re-enable them)
  • Show a whois tooltip on users in the conversation panel
  • Display a tooltip with the description of plugins
  • You can now build XChat-GNOME HEAD using jhbuild (using gnome-2.16 modulesets)
  • A large number of bug fixes and smaller improvements
  • Updated translations

Contributors to this release

David Trowbridge, Guillaume Desmottes, Christian Persch, Przemyslaw Grzegorczyk, Gathy Grégory, Isak Savo, Steve Frécinaux, Jeremy Nickurak, Dan Kuester, Brian Pepple

Where can I get it ?

samedi, avril 29 2006

IRC chat on Ubuntu Dapper

All releases before Dapper shipped an IRC client, xchat. During Dapper Development phase it was decided to replace it by XChat-GNOME, a new frontend for xchat , far more integrated with GNOME and thus Ubuntu. This change seems to have been well accepted by the community. However at the end of Dapper development phase it was decided to have XChat-GNOME removed from the default installation (even if it stay in main). xchat was not re-added either, leaving the default install without any IRC Client.

I was very disappointed about that and i'm still thinking it was a bad idea. Keep in mind than I take part in XChat-GNOME's development so I'm a little biased about this matter.

  • The main argument for the removing of XChat-GNOME was that Gaim can be used for IRC chat and so it's redundant. Personally i don't like (and so don't use) Gaim for my jabber chat. I really don't love its interface not enough GNOME spirit and intuitive IMHO. It's the same for IRC and i'm not convinced than Gaim is a good tool for that. On the other side, the main goal of XChat-GNOME is the GNOME integration and its easy to use GUI.
  • Another argument was that IRC chat is only used by geek and not by "common user". That's partially true but maybe it's just because current IRC client are too complicated and not enough user-friendly. ;)
  • Furthermore, IRC will be used for the Ubuntu Live Chat Support. This spec aims to provide an easy way for user to ask support in their native language. Current implementation uses gaim and connects it on the channel of the good loco team (according user's locales configuration). So IRC chat is not reserved for geek anymore!
  • I don't think a lot of people use Gaim for IRC chat. But XChat-GNOME has more and more users and so feedback, bugreport, improvements, ... Furthermore, thanks to Sébastien, we have a very good co-operation with Ubuntu. Most of the fixes from HEAD version are quickly backported and integrated in the package.
  • XChat-GNOME offers very sexy features like 3 notifications plugins (using sound, trayicon or libnotify). It's very useful to follow a conversation. Currently none is enabled by default but we could easily change that.
  • XChat-GNOME is pretty small (only 500k for the .deb file). But if it's really a matter of space on the install CD, we could propose to install it the first time we launch the Live Chat Support. I implemented this kind of stuff for the gnome-system-tools and i'll be happy to help to work on it.

As you can see, i really would like see XChat-GNOME installed by default on Dapper or, if it's too late, at least open the debate about that.

jeudi, avril 6 2006

XChat-GNOME 0.11

XChat-GNOME 0.11 “I have plenty of better things to do, I just aren’t doing them” is now available.

What is it ?

XChat-GNOME is a new frontend to the popular X-Chat IRC client which is designed with the user interface foremost in mind.

More informations can be found at: http://xchat-gnome.navi.cx/

What's changed ?

  • Show whois info in a tooltip on the userlist
  • Add a preferences page for controlling spell-checking (enabling it, selecting languages)
  • Save and restore the position of the main window
  • We can now use the "change nick dialog" to be marked as away
  • The servers list view is now reorderable to allow users to change the priority order.
  • Notification plugin: you can now choose (using gconf) the level of messages above which the notification icon will be displayed
  • Updated translations
  • As usual, numerous bug fixes and minor improvements

Where can I get it ?

dimanche, mars 5 2006

Graphical WHOIS support in XChat-GNOME

A lot of XChat-GNOME users often complain than there is no way to perform a "graphical" WHOIS. I never liked the xchat-gtk way to do that: a context menu is really not a place where to put this kind of information. It would be more coherent and GNOME spirit to use a tooltip like in Gajim or Gaim. Unfortunately GTK+ doesn't support tooltip in GtkTreeView actually. But thanks to David Trowbridge[1] we have now a SexyTreeView widget in libsexy. Its API is very sexy and with just one signal[2] and one callback, we have a very nice result. Of course it's a temporary solution until GTK+ implement this properly.

So i use this wonderful widget and implemented last night the "graphical WHOIS" in the user list treeview. It's commited in XChat-GNOME SVN so don't hesitate to test it and give us feedback[3]. There's still a little bug and so tooltips aren't displayed with users in the bottom of the treeview.

The next step will be to add this tooltip in the main conversation window (probably using a SexyTooltip widget) but it'll need a little bit more work.

Notes

[1] who is also XChat-GNOME's maintainer

[2] You are the signal!

[3] You'll need libsexy 0.1.6

mardi, février 28 2006

XChat-GNOME 0.10

XChat-GNOME 0.10 “Almost as great” is now available.

What is it ?

XChat-GNOME is a new frontend to the popular X-Chat IRC client which is designed with the user interface foremost in mind.

More informations can be found at: http://xchat-gnome.navi.cx/

What's changed ?

  • Add a sound notification plugin - Guillaume Desmottes
  • Session management improvements - David Trowbridge
  • Minor UI polish
  • A huge slew of bug-fixes
  • Updated translations

Where can I get it ?

- page 4 de 5 -