And here we go again! We're proud to announce the new version of Smuxi, release
0.10 "Unexpected". During the development, 12 bug reports and
8 feature requests in 259 commits were worked on. Notable
highlights in this release are:
GNOME Frontend Enhancements
- Tabs replaced with chat list. The list is grouped by server and sorted
alphabetically. Private (person to person) chats are sorted after public
(group) chats.
- Man pages included for smuxi-frontend-gnome (Calvin Buckley)
- /window command now cycles through tabs with same name (Oliver Schneider)
- The Windows installer was switched to GTK# 2.12.22 which is more stable than
the previous used 2.12.20 version.
- Adding and editing remote engines works now correctly on Windows and OS X.
Text Frontend Enhancements
- Messages no longer sometimes get sent multiple times
- Rare crashes with scrolling were fixed
- Man pages included for smuxi-frontend-stfl (Calvin Buckley)
Smuxi Hooks / Scripts / Plugins Support
After years of waiting we are more than happy to finally announce the added
scripting support in Smuxi! You are probably thinking right now "so which
scripting language is it?! C#? VB.NET? JavaScript? Perl? Python? Ruby? Maybe
even PHP?" and here comes the best part: ALL OF THEM AND MORE! More? What
else there would be... well, if you really want you can write Smuxi hooks in C,
C++ or even assembler
"How is this possible?"
It's Magic! No, just kidding. This is pure Unix technology taken from the 70s
ported to a powerful messaging client. If you know what Git hooks, Nagios
checks/plugins or CGI scripts are, then you already know what
Smuxi hooks are, if you don't then continue reading this paragraph. Any
executable program in a special location (hook points) will be
executed when a specific event happens, like receiving a message. This program
gets all information passed as environment variables, like who
send the message (SENDER), what was the message (MSG), when was it received
(MSG_TIMESTAMP_UNIX) etc. This program is also able to execute Smuxi commands
by writing hook commands to the standard output.
Currently there are 2 main types of Smuxi hooks:
- protocol-manager hooks: these are mainly events like message-received/sent
that the various protocol managers (IRC, Twitter, XMPP, etc) can raise
- command hooks: these are added Smuxi commands running in the frontend, so you
can add /some_cool_command to Smuxi
Smuxi hooks are maintained in the smuxi-hooks git repository.
So if you want to share your written hook simply create a pull request against
that repository on GitHub, other Smuxi users will be very thankful! Right now
thre are only 2 proof-of-concept hooks available:
- now-playing: adds a /np command to Smuxi which shows the currently
playing song/video of Banshee using MPRIS2 on D-Bus or YouTube (Chrome only).
- tinyurl-resolver: resolves all shortened URLs of t.co, bit.ly, etc to the
full URL. This was originally an irssi plugin written in Perl.
Installing Hooks
"Wow, I am completely amazed, but how can I install hooks?" For now you will
need to either download the files of the hook into the same location into
$HOME/.local/share/smuxi/hooks or by cloning the git repository and symlinking
the files. Here is an example for each method:
Download Method
mkdir -p $HOME/.local/share/smuxi/hooks/frontend/command-manager/command-np/
cd $HOME/.local/share/smuxi/hooks/frontend/command-manager/command-np/
wget https://raw.github.com/meebey/smuxi-hooks/master/now-playing/frontend/command-manager/command-np/now-playing.sh
chmod +x now-playing.sh
Git Clone Method
cd $HOME
git clone https://github.com/meebey/smuxi-hooks.git
mkdir -p $HOME/.local/share/smuxi/hooks/frontend/command-manager/command-np/
cd $HOME/.local/share/smuxi/hooks/frontend/command-manager/command-np/
ln -s $HOME/smuxi-hooks/now-playing/frontend/command-manager/command-np/now-playing.sh
IRC Enhancements
XMPP (Beta) Enhancements
- Pretty chat states: you can now see if your chat peer is composing a message
with a pretty design (Oliver Schneider / George Karavasilev)
- Find Group Chats support for chat rooms on own server (Oliver Schneider)
- Resource collisions are no longer happening if resource was not overridden.
(Oliver Schneider)
- Multi user chats (MUC) are automatically rejoined after a reconnect.
- When "Use Encryption" is enabled, Smuxi will now force SSL/TLS. If that fails
it will no longer silently downgrade to unencrypted. If you can suddenly no
longer connect, check if "Use Encryption" is correctly configured for that
server (as not all XMPP servers support SSL/TLS).
- Annoying FeatureNotImplemented messages are no longer visible.
- Added translations.
- /retweet command and /reply command. Both commands need a
short id as parameter so Smuxi knows which tweet you want to retweet or reply
to. The short ids are shown in brackets like [42] before each tweet.
Example of how a reply to tweet with short id 42 could look like:
/reply 42 thanks, Smuxi is awesome!
- /search command
- /timeline command (Andrés G. Aragoneses)
- /follow and /unfollow command
- On Connect Commands are now executed (Andrés G. Aragoneses)
- Twitter context menu (Andrés G. Aragoneses)
JabbR (Beta) Enhancements
- Message History: Opening chats will now load and show the previous messages
from the JabbR server.
- Added automatic and manual reconnect support.
- Added translations.
Campfire (Beta) Enhancements
- Fixed an issue that can lead to a DoS behavior when the session becomes
invalid. (Carlos Martín Nieto)
Server Enhancements
- The server will now cleanly shutdown on SIGINT and SIGTERM signals.
(Christopher James Halse Rogers)
- Man pages included for smuxi-server (Calvin Buckley)
Updated Translations
Smuxi should now be in your language, including:
- Initial partial Persian (Behrooz Amoozad)
- Initial partial Telugu (Praveen Illa)
- French (Clément Bourgeois)
- Czech (Ondřej Hošek)
- Chinese Simp (Dean Lee)
- Swedish (Martin Bagge)
- Danish (Joe Hansen)
- German (Bianca Mix)
- Spanish (Matías Bellone)
- Partial Turkish (Umut Albayrak)
- Partial Finnish (Kalle Kaitala)
- Partial Portuguese (Brazil) (Leonardo Pires Felix)
Behind the Scenes
- The #smuxi-devel IRC channel has moved from OFTC to freenode, everyone
interested in Smuxi's development is invited to join.
- The C# 4.0 compiler dmcs will now automatically be used and no longer needs
an MCS=/usr/bin/dmcs override with the configure script.
- Added dbus-sharp-2.0 support to build system.
- This GitHub repo is now used as the primary repository
including all submodules of Smuxi. This GNOME repo is now the
official mirror. If you are using git.qnetp.net in your git remotes (git
remote -v) then you should switch that to either
https://github.com/meebey/smuxi.git or git://git.gnome.org/smuxi
- The HACKING file contains now the used codying style of Smuxi.
Contributors
Contributors to this release are the following people:
- Mirco Bauer (165 commits)
- Oliver Schneider (48 commits)
- Andrés G. Aragoneses (22 commits)
- Calvin Buckley (6 commits)
- Christopher James Halse Rogers (4 commits)
- Carlos Martín Nieto (2 commits)
- George Karavasilev (artwork)
- Umut Albayrak (translations)
- Praveen Illa (translations)
- Ondřej Hošek (translations)
- Matías Bellone (translations)
- Martin Bagge (translations)
- Leonardo Pires Felix (translations)
- Kalle Kaitala (translations)
- Joe Hansen (translations)
- Dean Lee (translations)
- Clément Bourgeois (translations)
- Bianca Mix (translations)
- Behrooz Amoozad (translations)
Thank you very much for your contributions to Smuxi!
Want this? Go right here, right now!