From d75d473058c8d01830d83c7df30c6b013eb8c8e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20H=C3=B6rist?= Date: Fri, 25 Jan 2019 23:50:02 +0100 Subject: [PATCH] [client_icons] Refactor Plugin - Use IconTheme - Add/Remove some clients --- clients_icons/clients.py | 346 +++++---- clients_icons/clients_icons.py | 424 ++++------ .../16x16/apps/xmpp-client-jitsi.png} | Bin .../16x16/apps/xmpp-client-libpurple.png} | Bin .../16x16/apps/xmpp-client-miranda_ng.png} | Bin .../16x16/apps/xmpp-client-nimbuzz.png} | Bin .../16x16/apps/xmpp-client-poezio.png} | Bin .../16x16/apps/xmpp-client-psto.png} | Bin .../16x16/apps/xmpp-client-tigase.png} | Bin .../16x16/apps/xmpp-client-unknown.png} | Bin .../22x22/apps/xmpp-client-1end1.png} | Bin .../22x22/apps/xmpp-client-adium.png} | Bin .../apps/xmpp-client-agilemessenger.png} | Bin .../22x22/apps/xmpp-client-aim.png} | Bin .../22x22/apps/xmpp-client-akeni.png} | Bin .../22x22/apps/xmpp-client-anastasiya.png} | Bin .../22x22/apps/xmpp-client-android.png} | Bin .../22x22/apps/xmpp-client-apple.png} | Bin .../22x22/apps/xmpp-client-aqq.png} | Bin .../22x22/apps/xmpp-client-asterisk.png} | Bin .../22x22/apps/xmpp-client-ayttm.png} | Bin .../22x22/apps/xmpp-client-barracuda-im.png} | Bin .../22x22/apps/xmpp-client-bayanicq.png} | Bin .../22x22/apps/xmpp-client-beejive.png} | Bin .../22x22/apps/xmpp-client-bitlbee.png} | Bin .../22x22/apps/xmpp-client-bot.png} | Bin .../22x22/apps/xmpp-client-buddydroid.png} | Bin .../22x22/apps/xmpp-client-centericq.png} | Bin .../22x22/apps/xmpp-client-centerim.png} | Bin .../22x22/apps/xmpp-client-chatsecure.png} | Bin .../22x22/apps/xmpp-client-coccinella.png} | Bin .../22x22/apps/xmpp-client-colibry.png} | Bin .../22x22/apps/xmpp-client-conversejs.png} | Bin .../22x22/apps/xmpp-client-corepager.png} | Bin .../22x22/apps/xmpp-client-digsby.png} | Bin .../22x22/apps/xmpp-client-ebuddy.png} | Bin .../22x22/apps/xmpp-client-emacs.png} | Bin .../22x22/apps/xmpp-client-emess.png} | Bin .../22x22/apps/xmpp-client-exodus.png} | Bin .../22x22/apps/xmpp-client-facebook.png} | Bin .../22x22/apps/xmpp-client-fin.png} | Bin .../22x22/apps/xmpp-client-freqbot.png} | Bin .../22x22/apps/xmpp-client-fring.png} | Bin .../22x22/apps/xmpp-client-gabber.png} | Bin .../22x22/apps/xmpp-client-gadugadu.png} | Bin .../22x22/apps/xmpp-client-gaim.png} | Bin .../22x22/apps/xmpp-client-gismeteo.png} | Bin .../22x22/apps/xmpp-client-gizmo.png} | Bin .../22x22/apps/xmpp-client-glu.png} | Bin .../22x22/apps/xmpp-client-gluxibot.png} | Bin .../22x22/apps/xmpp-client-goim.png} | Bin .../22x22/apps/xmpp-client-google.com.png} | Bin .../22x22/apps/xmpp-client-gossip.png} | Bin .../22x22/apps/xmpp-client-gush.png} | Bin .../22x22/apps/xmpp-client-ichabber.png} | Bin .../22x22/apps/xmpp-client-ichat.png} | Bin .../22x22/apps/xmpp-client-imov.png} | Bin .../22x22/apps/xmpp-client-implus.png} | Bin .../apps/xmpp-client-inluxmessenger.png} | Bin .../22x22/apps/xmpp-client-instango.png} | Bin .../22x22/apps/xmpp-client-instantbird.png} | Bin .../22x22/apps/xmpp-client-isida-bot.png} | Bin .../22x22/apps/xmpp-client-jabber.el.png} | Bin .../22x22/apps/xmpp-client-jabbim.png} | Bin .../22x22/apps/xmpp-client-jabbin.png} | Bin .../22x22/apps/xmpp-client-jabbroid.png} | Bin .../22x22/apps/xmpp-client-jabiru.png} | Bin .../22x22/apps/xmpp-client-jajc.png} | Bin .../22x22/apps/xmpp-client-jappix.png} | Bin .../22x22/apps/xmpp-client-japyt.png} | Bin .../22x22/apps/xmpp-client-jasmine.png} | Bin .../22x22/apps/xmpp-client-jbother.png} | Bin .../22x22/apps/xmpp-client-jeti.png} | Bin .../22x22/apps/xmpp-client-jicq.png} | Bin .../22x22/apps/xmpp-client-jimm-aspro.png} | Bin .../22x22/apps/xmpp-client-jimm.png} | Bin .../22x22/apps/xmpp-client-jit.png} | Bin .../22x22/apps/xmpp-client-jmiranda.png} | Bin .../22x22/apps/xmpp-client-jtalk.png} | Bin .../22x22/apps/xmpp-client-jubo.png} | Bin .../22x22/apps/xmpp-client-juick.png} | Bin .../22x22/apps/xmpp-client-koolim.png} | Bin .../22x22/apps/xmpp-client-kopete.png} | Bin .../22x22/apps/xmpp-client-lampiro.png} | Bin .../22x22/apps/xmpp-client-mabber.png} | Bin .../apps/xmpp-client-mail.google.com.png} | Bin .../22x22/apps/xmpp-client-mailruagent.png} | Bin .../apps/xmpp-client-mailruagent.sis.png} | Bin .../22x22/apps/xmpp-client-mandarin.png} | Bin .../22x22/apps/xmpp-client-mcabber.png} | Bin .../22x22/apps/xmpp-client-mchat.png} | Bin .../22x22/apps/xmpp-client-meebo.png} | Bin .../22x22/apps/xmpp-client-meetro.png} | Bin .../22x22/apps/xmpp-client-megafon.png} | Bin .../22x22/apps/xmpp-client-mig33.png} | Bin .../22x22/apps/xmpp-client-miranda.png} | Bin .../apps/xmpp-client-mirandahotcoffee.png} | Bin .../22x22/apps/xmpp-client-morange.png} | Bin .../22x22/apps/xmpp-client-msnmessenger.png} | Bin .../apps/xmpp-client-msnwebmessenger.png} | Bin .../22x22/apps/xmpp-client-nicq.png} | Bin .../apps/xmpp-client-om.beeonline.ru.png} | Bin .../22x22/apps/xmpp-client-omnipresence.png} | Bin .../22x22/apps/xmpp-client-oneteamiphone.png} | Bin .../22x22/apps/xmpp-client-osiris.png} | Bin .../22x22/apps/xmpp-client-ovi-chat.png} | Bin .../22x22/apps/xmpp-client-palm.png} | Bin .../22x22/apps/xmpp-client-palringo.png} | Bin .../22x22/apps/xmpp-client-pandion.png} | Bin .../22x22/apps/xmpp-client-papla.png} | Bin .../22x22/apps/xmpp-client-phpicq.png} | Bin .../22x22/apps/xmpp-client-pidgin.png} | Bin .../22x22/apps/xmpp-client-pigeon.png} | Bin .../22x22/apps/xmpp-client-profanity.png} | Bin .../22x22/apps/xmpp-client-psi.png} | Bin .../22x22/apps/xmpp-client-psiplus.png} | Bin .../22x22/apps/xmpp-client-pyaim-t.png} | Bin .../22x22/apps/xmpp-client-pyicq-t.png} | Bin .../22x22/apps/xmpp-client-qip.png} | Bin .../22x22/apps/xmpp-client-qippda.png} | Bin .../22x22/apps/xmpp-client-qnext.png} | Bin .../22x22/apps/xmpp-client-qq.png} | Bin .../22x22/apps/xmpp-client-qutim.png} | Bin .../22x22/apps/xmpp-client-radio-t.png} | Bin .../22x22/apps/xmpp-client-rnq.png} | Bin .../22x22/apps/xmpp-client-rss.png} | Bin .../22x22/apps/xmpp-client-sameplace.png} | Bin .../22x22/apps/xmpp-client-sapo.png} | Bin .../22x22/apps/xmpp-client-siejc.png} | Bin .../22x22/apps/xmpp-client-sim.png} | Bin .../22x22/apps/xmpp-client-slick.png} | Bin .../22x22/apps/xmpp-client-smack.png} | Bin .../22x22/apps/xmpp-client-spark.png} | Bin .../22x22/apps/xmpp-client-spectrum.png} | Bin .../22x22/apps/xmpp-client-swift.png} | Bin .../apps/xmpp-client-talk.google.com.png} | Bin .../xmpp-client-talkgadget.google.com.png} | Bin .../22x22/apps/xmpp-client-talkonaut.png} | Bin ...xmpp-client-telepathy.freedesktop.org.png} | Bin .../22x22/apps/xmpp-client-tipicim.png} | Bin .../22x22/apps/xmpp-client-tkabber.png} | Bin .../22x22/apps/xmpp-client-trillian.png} | Bin .../22x22/apps/xmpp-client-trillianbasic.png} | Bin .../22x22/apps/xmpp-client-twitter.png} | Bin .../22x22/apps/xmpp-client-uim.png} | Bin .../22x22/apps/xmpp-client-vacuum.png} | Bin .../22x22/apps/xmpp-client-virtus.png} | Bin .../22x22/apps/xmpp-client-vkontakte.png} | Bin .../22x22/apps/xmpp-client-wannachat.png} | Bin .../22x22/apps/xmpp-client-weather.com.png} | Bin .../22x22/apps/xmpp-client-webicq.png} | Bin .../22x22/apps/xmpp-client-xeus.png} | Bin .../22x22/apps/xmpp-client-xfire.png} | Bin .../22x22/apps/xmpp-client-yabber.png} | Bin .../22x22/apps/xmpp-client-yahoo.png} | Bin .../22x22/apps/xmpp-client-yaonline.png} | Bin .../22x22/apps/xmpp-client-yaonlinej2me.png} | Bin .../apps/xmpp-client-yaonlinesymbian.png} | Bin .../22x22/apps/xmpp-client-yaxim.png} | Bin .../hicolor/32x32/apps/xmpp-client-bruno.png | Bin 0 -> 3774 bytes .../xmpp-client-conversations-legacy.png} | Bin .../32x32/apps/xmpp-client-conversations.png} | Bin .../32x32/apps/xmpp-client-dino.png} | Bin .../32x32/apps/xmpp-client-freize.png} | Bin .../32x32/apps/xmpp-client-google.png} | Bin .../32x32/apps/xmpp-client-movim.png} | Bin .../32x32/apps/xmpp-client-pixart.png} | Bin .../32x32/apps/xmpp-client-xabber.png} | Bin clients_icons/hicolor/icon-theme.cache | Bin 0 -> 8392 bytes clients_icons/hicolor/index.theme | 28 + .../scalable/apps/xmpp-client-gajim.svg | 449 +++++++++++ .../hicolor/scalable/apps/xmpp-client-sat.svg | 727 ++++++++++++++++++ clients_icons/icons/bombus-avalon.png | Bin 1746 -> 0 bytes clients_icons/icons/bombus-klub.png | Bin 2039 -> 0 bytes clients_icons/icons/bombus.png | Bin 2245 -> 0 bytes clients_icons/icons/bombusmod.png | Bin 2236 -> 0 bytes clients_icons/icons/bombusng.png | Bin 2202 -> 0 bytes clients_icons/icons/bombuspl.png | Bin 2165 -> 0 bytes clients_icons/icons/bombusplus.png | Bin 4122 -> 0 bytes clients_icons/icons/bombusqd.png | Bin 1384 -> 0 bytes clients_icons/icons/gajim.png | Bin 2091 -> 0 bytes 181 files changed, 1539 insertions(+), 435 deletions(-) rename clients_icons/{icons/jitsi.png => hicolor/16x16/apps/xmpp-client-jitsi.png} (100%) rename clients_icons/{icons/libpurple.png => hicolor/16x16/apps/xmpp-client-libpurple.png} (100%) rename clients_icons/{icons/miranda_ng.png => hicolor/16x16/apps/xmpp-client-miranda_ng.png} (100%) rename clients_icons/{icons/nimbuzz.png => hicolor/16x16/apps/xmpp-client-nimbuzz.png} (100%) rename clients_icons/{icons/poezio.png => hicolor/16x16/apps/xmpp-client-poezio.png} (100%) rename clients_icons/{icons/psto.png => hicolor/16x16/apps/xmpp-client-psto.png} (100%) rename clients_icons/{icons/tigase.png => hicolor/16x16/apps/xmpp-client-tigase.png} (100%) rename clients_icons/{icons/unknown.png => hicolor/16x16/apps/xmpp-client-unknown.png} (100%) rename clients_icons/{icons/1end1.png => hicolor/22x22/apps/xmpp-client-1end1.png} (100%) rename clients_icons/{icons/adium.png => hicolor/22x22/apps/xmpp-client-adium.png} (100%) rename clients_icons/{icons/agilemessenger.png => hicolor/22x22/apps/xmpp-client-agilemessenger.png} (100%) rename clients_icons/{icons/aim.png => hicolor/22x22/apps/xmpp-client-aim.png} (100%) rename clients_icons/{icons/akeni.png => hicolor/22x22/apps/xmpp-client-akeni.png} (100%) rename clients_icons/{icons/anastasiya.png => hicolor/22x22/apps/xmpp-client-anastasiya.png} (100%) rename clients_icons/{icons/android.png => hicolor/22x22/apps/xmpp-client-android.png} (100%) rename clients_icons/{icons/apple.png => hicolor/22x22/apps/xmpp-client-apple.png} (100%) rename clients_icons/{icons/aqq.png => hicolor/22x22/apps/xmpp-client-aqq.png} (100%) rename clients_icons/{icons/asterisk.png => hicolor/22x22/apps/xmpp-client-asterisk.png} (100%) rename clients_icons/{icons/ayttm.png => hicolor/22x22/apps/xmpp-client-ayttm.png} (100%) rename clients_icons/{icons/barracuda-im.png => hicolor/22x22/apps/xmpp-client-barracuda-im.png} (100%) rename clients_icons/{icons/bayanicq.png => hicolor/22x22/apps/xmpp-client-bayanicq.png} (100%) rename clients_icons/{icons/beejive.png => hicolor/22x22/apps/xmpp-client-beejive.png} (100%) rename clients_icons/{icons/bitlbee.png => hicolor/22x22/apps/xmpp-client-bitlbee.png} (100%) rename clients_icons/{icons/bot.png => hicolor/22x22/apps/xmpp-client-bot.png} (100%) rename clients_icons/{icons/buddydroid.png => hicolor/22x22/apps/xmpp-client-buddydroid.png} (100%) rename clients_icons/{icons/centericq.png => hicolor/22x22/apps/xmpp-client-centericq.png} (100%) rename clients_icons/{icons/centerim.png => hicolor/22x22/apps/xmpp-client-centerim.png} (100%) rename clients_icons/{icons/chatsecure.png => hicolor/22x22/apps/xmpp-client-chatsecure.png} (100%) rename clients_icons/{icons/coccinella.png => hicolor/22x22/apps/xmpp-client-coccinella.png} (100%) rename clients_icons/{icons/colibry.png => hicolor/22x22/apps/xmpp-client-colibry.png} (100%) rename clients_icons/{icons/conversejs.png => hicolor/22x22/apps/xmpp-client-conversejs.png} (100%) rename clients_icons/{icons/corepager.png => hicolor/22x22/apps/xmpp-client-corepager.png} (100%) rename clients_icons/{icons/digsby.png => hicolor/22x22/apps/xmpp-client-digsby.png} (100%) rename clients_icons/{icons/ebuddy.png => hicolor/22x22/apps/xmpp-client-ebuddy.png} (100%) rename clients_icons/{icons/emacs.png => hicolor/22x22/apps/xmpp-client-emacs.png} (100%) rename clients_icons/{icons/emess.png => hicolor/22x22/apps/xmpp-client-emess.png} (100%) rename clients_icons/{icons/exodus.png => hicolor/22x22/apps/xmpp-client-exodus.png} (100%) rename clients_icons/{icons/facebook.png => hicolor/22x22/apps/xmpp-client-facebook.png} (100%) rename clients_icons/{icons/fin.png => hicolor/22x22/apps/xmpp-client-fin.png} (100%) rename clients_icons/{icons/freqbot.png => hicolor/22x22/apps/xmpp-client-freqbot.png} (100%) rename clients_icons/{icons/fring.png => hicolor/22x22/apps/xmpp-client-fring.png} (100%) rename clients_icons/{icons/gabber.png => hicolor/22x22/apps/xmpp-client-gabber.png} (100%) rename clients_icons/{icons/gadugadu.png => hicolor/22x22/apps/xmpp-client-gadugadu.png} (100%) rename clients_icons/{icons/gaim.png => hicolor/22x22/apps/xmpp-client-gaim.png} (100%) rename clients_icons/{icons/gismeteo.png => hicolor/22x22/apps/xmpp-client-gismeteo.png} (100%) rename clients_icons/{icons/gizmo.png => hicolor/22x22/apps/xmpp-client-gizmo.png} (100%) rename clients_icons/{icons/glu.png => hicolor/22x22/apps/xmpp-client-glu.png} (100%) rename clients_icons/{icons/gluxibot.png => hicolor/22x22/apps/xmpp-client-gluxibot.png} (100%) rename clients_icons/{icons/goim.png => hicolor/22x22/apps/xmpp-client-goim.png} (100%) rename clients_icons/{icons/google.com.png => hicolor/22x22/apps/xmpp-client-google.com.png} (100%) rename clients_icons/{icons/gossip.png => hicolor/22x22/apps/xmpp-client-gossip.png} (100%) rename clients_icons/{icons/gush.png => hicolor/22x22/apps/xmpp-client-gush.png} (100%) rename clients_icons/{icons/ichabber.png => hicolor/22x22/apps/xmpp-client-ichabber.png} (100%) rename clients_icons/{icons/ichat.png => hicolor/22x22/apps/xmpp-client-ichat.png} (100%) rename clients_icons/{icons/imov.png => hicolor/22x22/apps/xmpp-client-imov.png} (100%) rename clients_icons/{icons/implus.png => hicolor/22x22/apps/xmpp-client-implus.png} (100%) rename clients_icons/{icons/inluxmessenger.png => hicolor/22x22/apps/xmpp-client-inluxmessenger.png} (100%) rename clients_icons/{icons/instango.png => hicolor/22x22/apps/xmpp-client-instango.png} (100%) rename clients_icons/{icons/instantbird.png => hicolor/22x22/apps/xmpp-client-instantbird.png} (100%) rename clients_icons/{icons/isida-bot.png => hicolor/22x22/apps/xmpp-client-isida-bot.png} (100%) rename clients_icons/{icons/jabber.el.png => hicolor/22x22/apps/xmpp-client-jabber.el.png} (100%) rename clients_icons/{icons/jabbim.png => hicolor/22x22/apps/xmpp-client-jabbim.png} (100%) rename clients_icons/{icons/jabbin.png => hicolor/22x22/apps/xmpp-client-jabbin.png} (100%) rename clients_icons/{icons/jabbroid.png => hicolor/22x22/apps/xmpp-client-jabbroid.png} (100%) rename clients_icons/{icons/jabiru.png => hicolor/22x22/apps/xmpp-client-jabiru.png} (100%) rename clients_icons/{icons/jajc.png => hicolor/22x22/apps/xmpp-client-jajc.png} (100%) rename clients_icons/{icons/jappix.png => hicolor/22x22/apps/xmpp-client-jappix.png} (100%) rename clients_icons/{icons/japyt.png => hicolor/22x22/apps/xmpp-client-japyt.png} (100%) rename clients_icons/{icons/jasmine.png => hicolor/22x22/apps/xmpp-client-jasmine.png} (100%) rename clients_icons/{icons/jbother.png => hicolor/22x22/apps/xmpp-client-jbother.png} (100%) rename clients_icons/{icons/jeti.png => hicolor/22x22/apps/xmpp-client-jeti.png} (100%) rename clients_icons/{icons/jicq.png => hicolor/22x22/apps/xmpp-client-jicq.png} (100%) rename clients_icons/{icons/jimm-aspro.png => hicolor/22x22/apps/xmpp-client-jimm-aspro.png} (100%) rename clients_icons/{icons/jimm.png => hicolor/22x22/apps/xmpp-client-jimm.png} (100%) rename clients_icons/{icons/jit.png => hicolor/22x22/apps/xmpp-client-jit.png} (100%) rename clients_icons/{icons/jmiranda.png => hicolor/22x22/apps/xmpp-client-jmiranda.png} (100%) rename clients_icons/{icons/jtalk.png => hicolor/22x22/apps/xmpp-client-jtalk.png} (100%) rename clients_icons/{icons/jubo.png => hicolor/22x22/apps/xmpp-client-jubo.png} (100%) rename clients_icons/{icons/juick.png => hicolor/22x22/apps/xmpp-client-juick.png} (100%) rename clients_icons/{icons/koolim.png => hicolor/22x22/apps/xmpp-client-koolim.png} (100%) rename clients_icons/{icons/kopete.png => hicolor/22x22/apps/xmpp-client-kopete.png} (100%) rename clients_icons/{icons/lampiro.png => hicolor/22x22/apps/xmpp-client-lampiro.png} (100%) rename clients_icons/{icons/mabber.png => hicolor/22x22/apps/xmpp-client-mabber.png} (100%) rename clients_icons/{icons/mail.google.com.png => hicolor/22x22/apps/xmpp-client-mail.google.com.png} (100%) rename clients_icons/{icons/mailruagent.png => hicolor/22x22/apps/xmpp-client-mailruagent.png} (100%) rename clients_icons/{icons/mailruagent.sis.png => hicolor/22x22/apps/xmpp-client-mailruagent.sis.png} (100%) rename clients_icons/{icons/mandarin.png => hicolor/22x22/apps/xmpp-client-mandarin.png} (100%) rename clients_icons/{icons/mcabber.png => hicolor/22x22/apps/xmpp-client-mcabber.png} (100%) rename clients_icons/{icons/mchat.png => hicolor/22x22/apps/xmpp-client-mchat.png} (100%) rename clients_icons/{icons/meebo.png => hicolor/22x22/apps/xmpp-client-meebo.png} (100%) rename clients_icons/{icons/meetro.png => hicolor/22x22/apps/xmpp-client-meetro.png} (100%) rename clients_icons/{icons/megafon.png => hicolor/22x22/apps/xmpp-client-megafon.png} (100%) rename clients_icons/{icons/mig33.png => hicolor/22x22/apps/xmpp-client-mig33.png} (100%) rename clients_icons/{icons/miranda.png => hicolor/22x22/apps/xmpp-client-miranda.png} (100%) rename clients_icons/{icons/mirandahotcoffee.png => hicolor/22x22/apps/xmpp-client-mirandahotcoffee.png} (100%) rename clients_icons/{icons/morange.png => hicolor/22x22/apps/xmpp-client-morange.png} (100%) rename clients_icons/{icons/msnmessenger.png => hicolor/22x22/apps/xmpp-client-msnmessenger.png} (100%) rename clients_icons/{icons/msnwebmessenger.png => hicolor/22x22/apps/xmpp-client-msnwebmessenger.png} (100%) rename clients_icons/{icons/nicq.png => hicolor/22x22/apps/xmpp-client-nicq.png} (100%) rename clients_icons/{icons/om.beeonline.ru.png => hicolor/22x22/apps/xmpp-client-om.beeonline.ru.png} (100%) rename clients_icons/{icons/omnipresence.png => hicolor/22x22/apps/xmpp-client-omnipresence.png} (100%) rename clients_icons/{icons/oneteamiphone.png => hicolor/22x22/apps/xmpp-client-oneteamiphone.png} (100%) rename clients_icons/{icons/osiris.png => hicolor/22x22/apps/xmpp-client-osiris.png} (100%) rename clients_icons/{icons/ovi-chat.png => hicolor/22x22/apps/xmpp-client-ovi-chat.png} (100%) rename clients_icons/{icons/palm.png => hicolor/22x22/apps/xmpp-client-palm.png} (100%) rename clients_icons/{icons/palringo.png => hicolor/22x22/apps/xmpp-client-palringo.png} (100%) rename clients_icons/{icons/pandion.png => hicolor/22x22/apps/xmpp-client-pandion.png} (100%) rename clients_icons/{icons/papla.png => hicolor/22x22/apps/xmpp-client-papla.png} (100%) rename clients_icons/{icons/phpicq.png => hicolor/22x22/apps/xmpp-client-phpicq.png} (100%) rename clients_icons/{icons/pidgin.png => hicolor/22x22/apps/xmpp-client-pidgin.png} (100%) rename clients_icons/{icons/pigeon.png => hicolor/22x22/apps/xmpp-client-pigeon.png} (100%) rename clients_icons/{icons/profanity.png => hicolor/22x22/apps/xmpp-client-profanity.png} (100%) rename clients_icons/{icons/psi.png => hicolor/22x22/apps/xmpp-client-psi.png} (100%) rename clients_icons/{icons/psiplus.png => hicolor/22x22/apps/xmpp-client-psiplus.png} (100%) rename clients_icons/{icons/pyaim-t.png => hicolor/22x22/apps/xmpp-client-pyaim-t.png} (100%) rename clients_icons/{icons/pyicq-t.png => hicolor/22x22/apps/xmpp-client-pyicq-t.png} (100%) rename clients_icons/{icons/qip.png => hicolor/22x22/apps/xmpp-client-qip.png} (100%) rename clients_icons/{icons/qippda.png => hicolor/22x22/apps/xmpp-client-qippda.png} (100%) rename clients_icons/{icons/qnext.png => hicolor/22x22/apps/xmpp-client-qnext.png} (100%) rename clients_icons/{icons/qq.png => hicolor/22x22/apps/xmpp-client-qq.png} (100%) rename clients_icons/{icons/qutim.png => hicolor/22x22/apps/xmpp-client-qutim.png} (100%) rename clients_icons/{icons/radio-t.png => hicolor/22x22/apps/xmpp-client-radio-t.png} (100%) rename clients_icons/{icons/rnq.png => hicolor/22x22/apps/xmpp-client-rnq.png} (100%) rename clients_icons/{icons/rss.png => hicolor/22x22/apps/xmpp-client-rss.png} (100%) rename clients_icons/{icons/sameplace.png => hicolor/22x22/apps/xmpp-client-sameplace.png} (100%) rename clients_icons/{icons/sapo.png => hicolor/22x22/apps/xmpp-client-sapo.png} (100%) rename clients_icons/{icons/siejc.png => hicolor/22x22/apps/xmpp-client-siejc.png} (100%) rename clients_icons/{icons/sim.png => hicolor/22x22/apps/xmpp-client-sim.png} (100%) rename clients_icons/{icons/slick.png => hicolor/22x22/apps/xmpp-client-slick.png} (100%) rename clients_icons/{icons/smack.png => hicolor/22x22/apps/xmpp-client-smack.png} (100%) rename clients_icons/{icons/spark.png => hicolor/22x22/apps/xmpp-client-spark.png} (100%) rename clients_icons/{icons/spectrum.png => hicolor/22x22/apps/xmpp-client-spectrum.png} (100%) rename clients_icons/{icons/swift.png => hicolor/22x22/apps/xmpp-client-swift.png} (100%) rename clients_icons/{icons/talk.google.com.png => hicolor/22x22/apps/xmpp-client-talk.google.com.png} (100%) rename clients_icons/{icons/talkgadget.google.com.png => hicolor/22x22/apps/xmpp-client-talkgadget.google.com.png} (100%) rename clients_icons/{icons/talkonaut.png => hicolor/22x22/apps/xmpp-client-talkonaut.png} (100%) rename clients_icons/{icons/telepathy.freedesktop.org.png => hicolor/22x22/apps/xmpp-client-telepathy.freedesktop.org.png} (100%) rename clients_icons/{icons/tipicim.png => hicolor/22x22/apps/xmpp-client-tipicim.png} (100%) rename clients_icons/{icons/tkabber.png => hicolor/22x22/apps/xmpp-client-tkabber.png} (100%) rename clients_icons/{icons/trillian.png => hicolor/22x22/apps/xmpp-client-trillian.png} (100%) rename clients_icons/{icons/trillianbasic.png => hicolor/22x22/apps/xmpp-client-trillianbasic.png} (100%) rename clients_icons/{icons/twitter.png => hicolor/22x22/apps/xmpp-client-twitter.png} (100%) rename clients_icons/{icons/uim.png => hicolor/22x22/apps/xmpp-client-uim.png} (100%) rename clients_icons/{icons/vacuum.png => hicolor/22x22/apps/xmpp-client-vacuum.png} (100%) rename clients_icons/{icons/virtus.png => hicolor/22x22/apps/xmpp-client-virtus.png} (100%) rename clients_icons/{icons/vkontakte.png => hicolor/22x22/apps/xmpp-client-vkontakte.png} (100%) rename clients_icons/{icons/wannachat.png => hicolor/22x22/apps/xmpp-client-wannachat.png} (100%) rename clients_icons/{icons/weather.com.png => hicolor/22x22/apps/xmpp-client-weather.com.png} (100%) rename clients_icons/{icons/webicq.png => hicolor/22x22/apps/xmpp-client-webicq.png} (100%) rename clients_icons/{icons/xeus.png => hicolor/22x22/apps/xmpp-client-xeus.png} (100%) rename clients_icons/{icons/xfire.png => hicolor/22x22/apps/xmpp-client-xfire.png} (100%) rename clients_icons/{icons/yabber.png => hicolor/22x22/apps/xmpp-client-yabber.png} (100%) rename clients_icons/{icons/yahoo.png => hicolor/22x22/apps/xmpp-client-yahoo.png} (100%) rename clients_icons/{icons/yaonline.png => hicolor/22x22/apps/xmpp-client-yaonline.png} (100%) rename clients_icons/{icons/yaonlinej2me.png => hicolor/22x22/apps/xmpp-client-yaonlinej2me.png} (100%) rename clients_icons/{icons/yaonlinesymbian.png => hicolor/22x22/apps/xmpp-client-yaonlinesymbian.png} (100%) rename clients_icons/{icons/yaxim.png => hicolor/22x22/apps/xmpp-client-yaxim.png} (100%) create mode 100644 clients_icons/hicolor/32x32/apps/xmpp-client-bruno.png rename clients_icons/{icons/conversations-legacy.png => hicolor/32x32/apps/xmpp-client-conversations-legacy.png} (100%) rename clients_icons/{icons/conversations.png => hicolor/32x32/apps/xmpp-client-conversations.png} (100%) rename clients_icons/{icons/dino.png => hicolor/32x32/apps/xmpp-client-dino.png} (100%) rename clients_icons/{icons/freize.png => hicolor/32x32/apps/xmpp-client-freize.png} (100%) rename clients_icons/{icons/google.png => hicolor/32x32/apps/xmpp-client-google.png} (100%) rename clients_icons/{icons/movim.png => hicolor/32x32/apps/xmpp-client-movim.png} (100%) rename clients_icons/{icons/pixart.png => hicolor/32x32/apps/xmpp-client-pixart.png} (100%) rename clients_icons/{icons/xabber.png => hicolor/32x32/apps/xmpp-client-xabber.png} (100%) create mode 100644 clients_icons/hicolor/icon-theme.cache create mode 100644 clients_icons/hicolor/index.theme create mode 100644 clients_icons/hicolor/scalable/apps/xmpp-client-gajim.svg create mode 100644 clients_icons/hicolor/scalable/apps/xmpp-client-sat.svg delete mode 100644 clients_icons/icons/bombus-avalon.png delete mode 100644 clients_icons/icons/bombus-klub.png delete mode 100644 clients_icons/icons/bombus.png delete mode 100644 clients_icons/icons/bombusmod.png delete mode 100644 clients_icons/icons/bombusng.png delete mode 100644 clients_icons/icons/bombuspl.png delete mode 100644 clients_icons/icons/bombusplus.png delete mode 100644 clients_icons/icons/bombusqd.png delete mode 100644 clients_icons/icons/gajim.png diff --git a/clients_icons/clients.py b/clients_icons/clients.py index 49ad628..a55d37f 100644 --- a/clients_icons/clients.py +++ b/clients_icons/clients.py @@ -1,168 +1,178 @@ -CLIENTS = { - 'http://www.adium.im/': ['adium.png', 'Adium'], - 'http://www.adiumx.com/caps': ['adium.png', 'Adium'], - 'http://www.adiumx.com': ['adium.png', 'Adium'], - 'http://aqq.eu/': ['aqq.png', 'Aqq'], - 'http://www.asterisk.org/xmpp/client/caps': ['asterisk.png', 'Asterisk'], - 'http://ayttm.souceforge.net/caps': ['ayttm.png', 'Ayttm'], - 'http://www.barobin.com/caps': ['bayanicq.png', 'Bayanicq'], - 'http://bitlbee.org/xmpp/caps': ['bitlbee.png', 'BitlBee'], - 'http://simpleapps.ru/caps#blacksmith': ['bot.png', 'Blacksmith'], - 'http://blacksmith-2.googlecode.com/svn/': ['bot.png', 'Blacksmith-2'], - 'http://jabber.pdg.pl/caps': ['bombus-klub.png', 'Bombus-klub'], - 'http://klub54.wen.ru': ['bombus-klub.png', 'Bombus-klub'], - 'http://bombus-im.org/java': ['bombus.png', 'Bombus'], - 'http://bombusmod.net.ru/caps': ['bombusmod.png', 'Bombusmod'], - 'http://bombusng-md.googlecode.com': ['bombusng.png', 'Bombus-NG'], - 'http://bombus-im.org/ng': ['bombusng.png', 'Bombus-NG'], - 'http://voffk.org.ru/bombus': ['bombusplus.png', 'Bombus+'], - 'http://bombusng-qd.googlecode.com': ['bombusqd.png', 'Bombus-NG'], - 'http://bombusmod-qd.wen.ru/caps': ['bombusqd.png', 'BombusQD'], - 'http://bombusmod.net.ru': ['bombusmod.png', 'Bombusmod'], - 'http://ex-im.name/caps': ['bombusmod.png', 'Bombusmod'], - 'http://bombusmod.eu,http://bombus.pl': ['bombuspl.png', 'Bombusmod'], - 'ChatSecure': ['chatsecure.png', 'ChatSecure'], - 'http://coccinella.sourceforge.net/protocol/caps': \ - ['coccinella.png', 'Coccinella'], - 'http://conversations.im': ['conversations.png', 'Conversations'], - 'Conversations Legacy': ['conversations-legacy.png', 'Conversations Legacy'], - 'https://conversejs.org': ['conversejs.png', 'Converse'], - 'http://digsby.com/caps': ['digsby.png', 'Digsby'], - 'https://dino.im': ['dino.png', 'Dino'], - 'http://emacs-jabber.sourceforge.net': ['emacs.png', 'Emacs Jabber client'], - 'http://emess.eqx.su/caps': ['emess.png', 'Emess'], - 'http://live.gnome.org/empathy/caps': \ - ['telepathy.freedesktop.org.png', 'Empathy'], - 'http://eqo.com/': ['libpurple.png', 'Eqo'], - 'http://exodus.jabberstudio.org/caps': ['exodus.png', 'Exodus'], - 'http://fatal-bot.spb.ru/caps': ['bot.png', 'Fatal-bot'], - 'http://svn.posix.ru/fatal-bot/trunk': ['bot.png', 'Fatal-bot'], - 'http://isida.googlecode.com': ['isida-bot.png', 'Isida'], - 'http://isida-bot.com': ['isida-bot.png', 'Isida'], - 'facebook.com': ['facebook.png', 'Facebook'], - 'http://jabga.ru': ['fin.png', 'Fin jabber'], - 'http://chat.freize.org/caps': ['freize.png', 'Freize'], - 'http://gabber.sourceforge.net': ['gabber.png', 'Gabber'], - 'http://gaim.sf.net/caps': ['gaim.png', 'Gaim'], - 'http://gajim.org': ['gajim.png', 'Gajim'], - 'http://gajim.org/caps': ['gajim.png', 'Gajim'], - 'http://glu.net/': ['glu.png', 'Glu'], - 'http://mail.google.com/xmpp/client/caps': ['google.com.png', 'GMail'], - 'http://www.android.com/gtalk/client/caps': \ - ['talk.google.com.png', 'GTalk'], - 'talk.google.com': ['talk.google.com.png', 'GTalk'], - 'http://talkgadget.google.com/client/caps': ['google.png', 'GTalk'], - 'http://talk.google.com/xmpp/bot/caps': ['google.png', 'GTalk'], - 'http://aspro.users.ru/historian-bot/': ['bot.png', 'Historian-bot'], - 'http://www.apple.com/ichat/caps': ['ichat.png', 'IChat'], - 'http://instantbird.com/': ['instantbird.png', 'Instantbird'], - 'http://j-tmb.ru/caps': ['bot.png', 'J-tmb'], - 'http://jabbroid.akuz.de': ['android.png', 'Jabbroid'], - 'http://jabbroid.akuz.de/caps': ['android.png', 'Jabbroid'], - 'http://dev.jabbim.cz/jabbim/caps': ['jabbim.png', 'Jabbim'], - 'http://jabbrik.ru/caps': ['bot.png', 'Jabbrik'], - 'http://jabrvista.net.ru': ['bot.png', 'Jabvista'], - 'http://jajc.jrudevels.org/caps': ['jajc.png', 'JAJC'], - 'http://qabber.ru/jame-bot': ['bot.png', 'Jame-bot'], - 'https://www.jappix.com/': ['jappix.png', 'Jappix'], - 'http://japyt.googlecode.com': ['japyt.png', 'Japyt'], - 'http://jasmineicq.ru/caps': ['jasmine.png', 'Jasmine'], - 'http://jimm.net.ru/caps': ['jimm-aspro.png', 'Jimm'], - 'http://jitsi.org' :['jitsi.png', 'Jitsi'], - 'http://jtalk.ustyugov.net/caps': ['jtalk.png', 'Jtalk'], - 'http://pjc.googlecode.com/caps': ['jubo.png', 'Jubo'], - 'http://juick.com/caps': ['juick.png', 'Juick'], - 'http://kopete.kde.org/jabber/caps': ['kopete.png', 'Kopete'], - 'http://bluendo.com/protocol/caps': ['lampiro.png', 'Lampiro'], - 'libpurple': ['libpurple.png', 'Libpurple'], - 'http://lytgeygen.ru/caps': ['bot.png', 'Lytgeygen'], - 'http://agent.mail.ru/caps': ['mailruagent.png', 'Mailruagent'], - 'http://agent.mail.ru/': ['mailruagent.png', 'Mailruagent'], - 'http://tomclaw.com/mandarin_im/caps': ['mandarin.png', 'Mandarin'], - 'http://mcabber.lilotux.net/caps': ['mcabber.png', 'MCabber'], - 'http://mcabber.com/caps': ['mcabber.png', 'MCabber'], - 'http://mchat.mgslab.com/': ['mchat.png', 'Mchat'], - 'https://www.meebo.com/': ['meebo.png', 'Meebo'], - 'http://megafonvolga.ru/': ['megafon.png', 'Megafon'], - 'http://miranda-im.org/caps': ['miranda.png', 'Miranda'], - 'http://miranda-ng.org/caps' :['miranda_ng.png', 'Miranda NG'], - 'http://moxl.movim.eu/': ['movim.png', 'Movim'], - 'nimbuzz:caps': ['nimbuzz.png', 'Nimbuzz'], - 'http://nimbuzz.com/caps': ['nimbuzz.png', 'Nimbuzz'], - 'http://home.gna.org/': ['omnipresence.png', 'Omnipresence'], - 'http://oneteam.im/caps': ['oneteamiphone.png', 'OneTeam'], - 'http://www.process-one.net/en/solutions/oneteam_iphone/': \ - ['oneteamiphone.png', 'OneTeam-iphone'], - 'rss@isida-bot.com': ['osiris.png', 'Osiris'], - 'http://chat.ovi.com/caps': ['ovi-chat.png', 'Ovi-chat'], - 'http://opensource.palm.com/packages.html': ['palm.png', 'Palm'], - 'http://palringo.com/caps': ['palringo.png', 'Palringo'], - 'http://pandion.im/': ['pandion.png', 'Pandion'], - 'http://pidgin.im/': ['pidgin.png', 'Pidgin'], - 'http://pidgin.im/caps': ['pidgin.png', 'Pidgin'], - 'http://pigeon.vpro.ru/caps': ['pigeon.png', 'Pigeon'], - 'Pix-Art Messenger': ['pixart.png', 'Pix-Art Messenger'], - 'http://jabber.pix-art.de': ['pixart.png', 'Pix-Art Messenger'], - 'httр://sleekxmpp.com/ver/1.1.11': ['poezio.png', 'Poezio'], - 'https://poez.io': ['poezio.png', 'Poezio'], - 'http://www.profanity.im': ['profanity.png', 'Profanity'], - 'http://psi-im.org/caps': ['psi.png', 'Psi'], - 'http://psi-plus.com': ['psiplus.png', 'Psi+'], - 'http://psi-dev.googlecode.com/caps': ['psiplus.png', 'Psi+'], - 'psto@psto.net': ['psto.png', 'Psto'], - 'http://pyaim': ['pyaim-t.png', 'PyAIM-t'], - 'http://pyicq': ['pyicq-t.png', 'PyICQ-t'], - 'http://spectrum.im/transport': ['pyicq-t.png', 'PyICQ-t'], - 'http://qq-im.com/caps': ['qq.png', 'QQ'], - 'http://qq.com/caps': ['qq.png', 'QQ'], - 'http://2010.qip.ru/caps': ['qip.png', 'Qip'], - 'http://qip.ru/caps': ['qip.png', 'Qip'], - 'http://qip.ru/caps?QIP': ['qip.png', 'Qip'], - 'http://pda.qip.ru/caps': ['qippda.png', 'Qip-PDA'], - 'http://qutim.org': ['qutim.png', 'QutIM'], - 'http://qutim.org/': ['qutim.png', 'QutIM'], - 'http://apps.radio-t.com/caps': ['radio-t.png', 'Radio-t'], - 'Siemens': ['siejc.png', 'Siemens'], # Siemens Native Jabber Client - 'http://sim-im.org/caps': ['sim.png', 'Sim'], - 'http://www.lonelycatgames.com/slick/caps': ['slick.png', 'Slick'], - 'http://slixmpp.com/ver/1.2.4': ['bot.png', 'Slixmpp'], - 'http://slixmpp.com/ver/1.3.0': ['bot.png', 'Slixmpp'], - 'http://snapi-bot.googlecode.com/caps': ['bot.png', 'Snapi-bot'], - 'http://www.igniterealtime.org/project/spark/caps': ['spark.png', 'Spark'], - 'http://spectrum.im/': ['spectrum.png', 'Spectrum'], - 'http://storm-bot.googlecode.com/svn/trunk': ['bot.png', 'Storm-bot'], - 'http://swift.im': ['swift.png', 'Swift'], - 'http://jabber-net.ru/caps/talisman-bot': ['bot.png', 'Talisman-bot'], - 'http://jabber-net.ru/talisman-bot/caps': ['bot.png', 'Talisman-bot'], - 'http://www.google.com/xmpp/client/caps': ['talkonaut.png', 'Talkonaut'], - 'telepathy.': ['telepathy.freedesktop.org.png', 'Telepathy'], - 'http://telepathy.freedesktop.org/caps': \ - ['telepathy.freedesktop.org.png', 'Telepathy'], - 'http://tigase.org/messenger': ['tigase.png', 'Tigase'], - 'http://tkabber.jabber.ru/': ['tkabber.png', 'Tkabber'], - 'http://trillian.im/caps': ['trillian.png', 'Trillian'], - 'http://vacuum-im.googlecode.com': ['vacuum.png', 'Vacuum'], - 'http://code.google.com/p/vacuum-im/': ['vacuum.png', 'Vacuum'], - 'vk.com': ['vkontakte.png', 'Vkontakte'], - 'http://pyvk-t.googlecode.com/caps': ['vkontakte.png', 'Vkontakte'], - 'http://pyvk': ['vkontakte.png', 'Vkontakte'], - 'http://witcher-team.ucoz.ru/': ['bot.png', 'Witcher'], - 'http://online.yandex.ru/caps': ['yaonline.png', 'Yaonline'], - 'http://www.igniterealtime.org/projects/smack/': ['xabber.png', 'Xabber'], - 'https://www.xabber.com/': ['xabber.png', 'Xabber'], - 'http://www.xfire.com/': ['xfire.png', 'Xfire'], - 'http://www.xfire.com/caps': ['xfire.png', 'Xfire'], - 'https://www.yaxim.org/': ['yaxim.png', 'Yaxim'], - 'http://xu-6.jabbrik.ru/caps': ['bot.png', 'XU-6'], -} -LIBPURPLE_CLIENTS = { - 'adium': 'http://www.adium.im/', - 'eqo': 'http://eqo.com/', - 'finch': 'http://pidgin.im/', - 'instantbird': 'http://instantbird.com/', - 'meebo': 'https://www.meebo.com/', - 'palm': 'http://opensource.palm.com/packages.html', - 'pidgin': 'http://pidgin.im/', - 'spectrum': 'http://spectrum.im/', - 'telepathy-haze': 'http://pidgin.im/' -} \ No newline at end of file +from collections import UserDict +from collections import namedtuple + +from gajim.plugins.plugins_i18n import _ + +ClientData = namedtuple('ClientData', ['default', 'variations']) +ClientData.__new__.__defaults__ = (None,) + + +def get_variations(client_name): + # get_variations('Conversation Legacy 1.2.3') + # + # Returns List: + # [Conversation Legacy 1.2.3, + # Conversation Legacy + # Conversation] + if client_name is None: + return [] + alts = client_name.split() + alts = [" ".join(alts[:(i + 1)]) for i in range(len(alts))] + alts.reverse() + return alts + + +class ClientsDict(UserDict): + def get_client_data(self, name, node): + client_data = self.get(node) + if client_data is None: + return _('Unknown'), 'xmpp-client-unknown' + + if client_data.variations is None: + client_name, icon_name = client_data.default + return client_name, 'xmpp-client-%s' % icon_name + + variations = get_variations(name) + for var in variations: + try: + return var, 'xmpp-client-%s' % client_data.variations[var] + except KeyError: + pass + client_name, icon_name = client_data.default + return client_name, 'xmpp-client-%s' % icon_name + + +# ClientData( +# default=(Shown name, icon name) +# variations={Shown name, icon name} +# ) + +CLIENTS = ClientsDict({ + 'http://gajim.org': ClientData(('Gajim', 'gajim')), + 'http://conversations.im': ClientData( + default=('Conversations', 'conversations'), + variations={'Conversations Legacy': 'conversations-legacy'} + ), + 'http://pidgin.im/': ClientData(('Pidgin', 'pidgin')), + 'https://poez.io': ClientData(('Poezio', 'poezio')), + 'https://yaxim.org/': ClientData(('yaxim', 'yaxim')), + 'https://yaxim.org/bruno/': ClientData(('Bruno', 'bruno')), + 'http://jabber.pix-art.de': ClientData(('Pix-Art Messenger', 'pixart')), + 'http://mcabber.com/caps': ClientData(('MCabber', 'mcabber')), + 'http://psi-plus.com': ClientData(('Psi+', 'psiplus')), + 'https://dino.im': ClientData(('Dino', 'dino')), + 'http://slixmpp.com/ver/1.2.4': ClientData(('Bot', 'bot')), + 'http://slixmpp.com/ver/1.3.0': ClientData(('Bot', 'bot')), + 'https://www.xabber.com/': ClientData(('Xabber', 'xabber')), + 'http://www.profanity.im': ClientData(('Profanity', 'profanity')), + 'http://swift.im': ClientData(('Swift', 'swift')), + 'https://salut-a-toi.org': ClientData(('Salut à Toi', 'sat')), + 'https://conversejs.org': ClientData(('Converse', 'conversejs')), + 'http://bitlbee.org/xmpp/caps': ClientData(('BitlBee', 'bitlbee')), + 'http://tkabber.jabber.ru/': ClientData(('Tkabber', 'tkabber')), + 'http://miranda-ng.org/caps': ClientData(('Miranda NG', 'miranda_ng')), + 'http://www.adium.im/': ClientData(('Adium', 'adium')), + 'http://www.adiumx.com/caps': ClientData(('Adium', 'adium')), + 'http://www.adiumx.com': ClientData(('Adium', 'adium')), + 'http://aqq.eu/': ClientData(('Aqq', 'aqq')), + 'http://www.asterisk.org/xmpp/client/caps': ClientData(('Asterisk', 'asterisk')), + 'http://ayttm.souceforge.net/caps': ClientData(('Ayttm', 'ayttm')), + 'http://www.barobin.com/caps': ClientData(('Bayanicq', 'bayanicq')), + 'http://simpleapps.ru/caps#blacksmith': ClientData(('Blacksmith', 'bot')), + 'http://blacksmith-2.googlecode.com/svn/': ClientData(('Blacksmith-2', 'bot')), + 'http://coccinella.sourceforge.net/protocol/caps': ClientData(('Coccinella', 'coccinella')), + 'http://digsby.com/caps': ClientData(('Digsby', 'digsby')), + 'http://emacs-jabber.sourceforge.net': ClientData(('Emacs Jabber Client', 'emacs')), + 'http://emess.eqx.su/caps': ClientData(('Emess', 'emess')), + 'http://live.gnome.org/empathy/caps': ClientData(('Empathy', 'telepathy.freedesktop.org')), + 'http://eqo.com/': ClientData(('Eqo', 'libpurple')), + 'http://exodus.jabberstudio.org/caps': ClientData(('Exodus', 'exodus')), + 'http://fatal-bot.spb.ru/caps': ClientData(('Fatal-bot', 'bot')), + 'http://svn.posix.ru/fatal-bot/trunk': ClientData(('Fatal-bot', 'bot')), + 'http://isida.googlecode.com': ClientData(('Isida', 'isida-bot')), + 'http://isida-bot.com': ClientData(('Isida', 'isida-bot')), + 'http://jabga.ru': ClientData(('Fin jabber', 'fin')), + 'http://chat.freize.org/caps': ClientData(('Freize', 'freize')), + 'http://gabber.sourceforge.net': ClientData(('Gabber', 'gabber')), + 'http://glu.net/': ClientData(('Glu', 'glu')), + 'http://mail.google.com/xmpp/client/caps': ClientData(('GMail', 'google.com')), + 'http://www.android.com/gtalk/client/caps': ClientData(('GTalk', 'talk.google.com')), + 'talk.google.com': ClientData(('GTalk', 'talk.google.com')), + 'http://talkgadget.google.com/client/caps': ClientData(('GTalk', 'google')), + 'http://talk.google.com/xmpp/bot/caps': ClientData(('GTalk', 'google')), + 'http://aspro.users.ru/historian-bot/': ClientData(('Historian-bot', 'bot')), + 'http://www.apple.com/ichat/caps': ClientData(('IChat', 'ichat')), + 'http://instantbird.com/': ClientData(('Instantbird', 'instantbird')), + 'http://j-tmb.ru/caps': ClientData(('J-tmb', 'bot')), + 'http://jabbroid.akuz.de': ClientData(('Jabbroid', 'android')), + 'http://jabbroid.akuz.de/caps': ClientData(('Jabbroid', 'android')), + 'http://dev.jabbim.cz/jabbim/caps': ClientData(('Jabbim', 'jabbim')), + 'http://jabbrik.ru/caps': ClientData(('Jabbrik', 'bot')), + 'http://jabrvista.net.ru': ClientData(('Jabvista', 'bot')), + 'http://jajc.jrudevels.org/caps': ClientData(('JAJC', 'jajc')), + 'http://qabber.ru/jame-bot': ClientData(('Jame-bot', 'bot')), + 'https://www.jappix.com/': ClientData(('Jappix', 'jappix')), + 'http://japyt.googlecode.com': ClientData(('Japyt', 'japyt')), + 'http://jasmineicq.ru/caps': ClientData(('Jasmine', 'jasmine')), + 'http://jimm.net.ru/caps': ClientData(('Jimm', 'jimm-aspro')), + 'http://jitsi.org': ClientData(('Jitsi', 'jitsi')), + 'http://jtalk.ustyugov.net/caps': ClientData(('Jtalk', 'jtalk')), + 'http://pjc.googlecode.com/caps': ClientData(('Jubo', 'jubo')), + 'http://juick.com/caps': ClientData(('Juick', 'juick')), + 'http://kopete.kde.org/jabber/caps': ClientData(('Kopete', 'kopete')), + 'http://bluendo.com/protocol/caps': ClientData(('Lampiro', 'lampiro')), + 'http://lytgeygen.ru/caps': ClientData(('Lytgeygen', 'bot')), + 'http://agent.mail.ru/caps': ClientData(('Mailruagent', 'mailruagent')), + 'http://agent.mail.ru/': ClientData(('Mailruagent', 'mailruagent')), + 'http://tomclaw.com/mandarin_im/caps': ClientData(('Mandarin', 'mandarin')), + 'http://mchat.mgslab.com/': ClientData(('Mchat', 'mchat')), + 'https://www.meebo.com/': ClientData(('Meebo', 'meebo')), + 'http://megafonvolga.ru/': ClientData(('Megafon', 'megafon')), + 'http://miranda-im.org/caps': ClientData(('Miranda', 'miranda')), + 'http://moxl.movim.eu/': ClientData(('Movim', 'movim')), + 'nimbuzz:caps': ClientData(('Nimbuzz', 'nimbuzz')), + 'http://nimbuzz.com/caps': ClientData(('Nimbuzz', 'nimbuzz')), + 'http://home.gna.org/': ClientData(('Omnipresence', 'omnipresence')), + 'http://oneteam.im/caps': ClientData(('OneTeam', 'oneteamiphone')), + 'http://www.process-one.net/en/solutions/oneteam_iphone/': ClientData(('OneTeam-IPhone', 'oneteamiphone')), + 'rss@isida-bot.com': ClientData(('Osiris', 'osiris')), + 'http://chat.ovi.com/caps': ClientData(('Ovi-chat', 'ovi-chat')), + 'http://opensource.palm.com/packages.html': ClientData(('Palm', 'palm')), + 'http://palringo.com/caps': ClientData(('Palringo', 'palringo')), + 'http://pandion.im/': ClientData(('Pandion', 'pandion')), + 'http://pigeon.vpro.ru/caps': ClientData(('Pigeon', 'pigeon')), + 'psto@psto.net': ClientData(('Psto', 'psto')), + 'http://qq-im.com/caps': ClientData(('QQ', 'qq')), + 'http://qq.com/caps': ClientData(('QQ', 'qq')), + 'http://2010.qip.ru/caps': ClientData(('Qip', 'qip')), + 'http://qip.ru/caps': ClientData(('Qip', 'qip')), + 'http://qip.ru/caps?QIP': ClientData(('Qip', 'qip')), + 'http://pda.qip.ru/caps': ClientData(('Qip-PDA', 'qippda')), + 'http://qutim.org': ClientData(('QutIM', 'qutim')), + 'http://qutim.org/': ClientData(('QutIM', 'qutim')), + 'http://apps.radio-t.com/caps': ClientData(('Radio-t', 'radio-t')), + 'http://sim-im.org/caps': ClientData(('Sim', 'sim')), + 'http://www.lonelycatgames.com/slick/caps': ClientData(('Slick', 'slick')), + 'http://snapi-bot.googlecode.com/caps': ClientData(('Snapi-bot', 'bot')), + 'http://www.igniterealtime.org/project/spark/caps': ClientData(('Spark', 'spark')), + 'http://spectrum.im/': ClientData(('Spectrum', 'spectrum')), + 'http://storm-bot.googlecode.com/svn/trunk': ClientData(('Storm-bot', 'bot')), + 'http://jabber-net.ru/caps/talisman-bot': ClientData(('Talisman-bot', 'bot')), + 'http://jabber-net.ru/talisman-bot/caps': ClientData(('Talisman-bot', 'bot')), + 'http://www.google.com/xmpp/client/caps': ClientData(('Talkonaut', 'talkonaut')), + 'http://telepathy.freedesktop.org/caps': ClientData(('SlicTelepathyk', 'telepathy.freedesktop.org')), + 'http://tigase.org/messenger': ClientData(('Tigase', 'tigase')), + 'http://trillian.im/caps': ClientData(('Trillian', 'trillian')), + 'http://vacuum-im.googlecode.com': ClientData(('Vacuum', 'vacuum')), + 'http://code.google.com/p/vacuum-im/': ClientData(('Vacuum', 'vacuum')), + 'http://witcher-team.ucoz.ru/': ClientData(('Witcher', 'bot')), + 'http://online.yandex.ru/caps': ClientData(('Yaonline', 'yaonline')), + 'http://www.igniterealtime.org/projects/smack/': ClientData(('Xabber', 'xabber')), + 'http://www.xfire.com/': ClientData(('Xfire', 'xfire')), + 'http://www.xfire.com/caps': ClientData(('Xfire', 'xfire')), + 'http://xu-6.jabbrik.ru/caps': ClientData(('XU-6', 'bot')), +}) + + +def get_data(*args): + return CLIENTS.get_client_data(*args) diff --git a/clients_icons/clients_icons.py b/clients_icons/clients_icons.py index 38dc4b6..80f9124 100644 --- a/clients_icons/clients_icons.py +++ b/clients_icons/clients_icons.py @@ -1,41 +1,36 @@ -import os import logging +from pathlib import Path from gi.repository import Gtk -from gi.repository import GdkPixbuf +from nbxmpp import JID -from clients_icons.clients import CLIENTS, LIBPURPLE_CLIENTS +from clients_icons import clients + +from gajim.roster_window import Column -from gajim.plugins.gui import GajimPluginConfigDialog from gajim.plugins import GajimPlugin -from gajim.plugins.helpers import log_calls +from gajim.plugins.gui import GajimPluginConfigDialog +from gajim.plugins.plugins_i18n import _ + from gajim.common import ged from gajim.common import app from gajim.common import caps_cache -# Since Gajim 1.1.0 _() has to be imported -try: - from gajim.common.i18n import _ -except ImportError: - pass -log = logging.getLogger('gajim.plugin_system.clients_icons') +from gajim.gtk.util import load_icon + + +log = logging.getLogger('gajim.plugin_system.client_icons') class ClientsIconsPlugin(GajimPlugin): - - @log_calls('ClientsIconsPlugin') def init(self): self.description = _('Shows client icons in roster' ' and in groupchats.') self.pos_list = [_('after statusicon'), _('before avatar')] self.events_handlers = { - 'caps-presence-received': (ged.POSTGUI, - self.caps_presence_received), - 'gc-presence-received': (ged.POSTGUI, - self.gc_presence_received), - 'caps-disco-received': (ged.POSTGUI, - self.caps_disco_received), } + 'caps-update': (ged.POSTGUI, self._on_caps_update), + } self.gui_extension_points = { 'groupchat_control': (self.connect_with_groupchat_control, self.disconnect_from_groupchat_control), @@ -44,42 +39,28 @@ class ClientsIconsPlugin(GajimPlugin): 'gc_tooltip_populate': (self.connect_with_gc_tooltip_populate, None), } self.config_default_values = { - 'show_in_roster': (True, ''), - 'show_in_groupchats': (True, ''), - 'show_in_tooltip': (True, ''), - 'show_unknown_icon': (True, ''), - 'pos_in_list': (0, ''), - 'show_facebook': (True, ''),} + 'show_in_roster': (True, ''), + 'show_in_groupchats': (True, ''), + 'show_in_tooltip': (True, ''), + 'show_unknown_icon': (True, ''), + 'pos_in_list': (0, ''), + 'show_facebook': (True, ''), + } + + _icon_theme = Gtk.IconTheme.get_default() + if _icon_theme is not None: + _icon_theme.append_search_path(str(Path(__file__).parent)) self.config_dialog = ClientsIconsPluginConfigDialog(self) - icon_path = os.path.join(self.local_file_path('icons'), 'unknown.png') - self.default_pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size( - icon_path, 16, 16) - self.icon_cache = {} - @log_calls('ClientsIconsPlugin') - def get_client_name(self, contact, client_name): + @staticmethod + def get_client_identity_name(contact): identities = contact.client_caps.get_cache_lookup_strategy()( caps_cache.capscache).identities if identities: - log.debug('get_client_name, identities: %s', str(identities)) for entry in identities: if entry['category'] == 'client': - client_name = entry.get('name', client_name) - break - return client_name - - def get_client_icon_by_name(self, client_name): - client_icon = None - name_splits = client_name.split() - name_splits = reversed([" ".join(name_splits[:(i+1)]) for i in range(len(name_splits))]) - for name in name_splits: - if not client_icon: - log.debug("get_client_icon_by_name, searching for name fragment '%s'..." % name) - client_icon = CLIENTS.get(name, (None,))[0] - if client_icon: - break - return client_icon + return entry.get('name') @staticmethod def is_groupchat(contact): @@ -87,14 +68,10 @@ class ClientsIconsPlugin(GajimPlugin): return contact.is_groupchat() return False - @log_calls('ClientsIconsPlugin') def add_tooltip_row(self, tooltip, contact, tooltip_grid): caps = contact.client_caps._node - log.debug('connect_with_gc_tooltip_populate, caps: %s', caps) - caps_image, client_name = self.get_icon(caps, contact) - client_name = self.get_client_name(contact, client_name) + caps_image, client_name = self.get_icon(caps, contact, tooltip_grid) caps_image.set_halign(Gtk.PositionType.RIGHT) - log.debug('connect_with_gc_tooltip_populate, client_name: %s', client_name) # fill clients table self.table = Gtk.Grid() @@ -122,27 +99,25 @@ class ClientsIconsPlugin(GajimPlugin): tooltip_grid.attach_next_to(self.table, label, Gtk.PositionType.RIGHT, 1, 1) - @log_calls('ClientsIconsPlugin') def connect_with_gc_tooltip_populate(self, tooltip, contact, tooltip_grid): if not self.config['show_in_tooltip']: return # Check if clients info already attached to tooltip - has_attached = False - for child in tooltip_grid.get_children(): - if child.get_name() == 'client_icons_grid': - caps = contact.client_caps._node - caps_image, client_name = self.get_icon(caps, contact) - child.remove(child.get_child_at(1, 1)) - child.attach(caps_image, 1, 1, 1, 1) - child.get_child_at(2, 1).set_markup(client_name) - child.show_all() - if child.get_name() == 'client_icons_label': - child.show() - has_attached = True - if not has_attached: - self.add_tooltip_row(tooltip, contact, tooltip_grid) - @log_calls('ClientsIconsPlugin') + node = contact.client_caps._node + image, client_name = self.get_icon(node, contact, tooltip_grid) + label = Gtk.Label(label=client_name) + + box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) + box.add(image) + box.add(label) + box.show_all() + + tooltip_grid.insert_next_to(tooltip._ui.affiliation, + Gtk.PositionType.BOTTOM) + tooltip_grid.attach_next_to(box, tooltip._ui.affiliation, + Gtk.PositionType.BOTTOM, 1, 1) + def connect_with_roster_tooltip_populate(self, tooltip, contacts, tooltip_grid): if not self.config['show_in_tooltip']: return @@ -155,6 +130,8 @@ class ClientsIconsPlugin(GajimPlugin): num_resources = 0 contacts_dict = {} for contact in contacts: + if contact.show == 'offline': + return if contact.resource: num_resources += 1 if int(contact.priority) in contacts_dict: @@ -165,97 +142,50 @@ class ClientsIconsPlugin(GajimPlugin): contact_keys.reverse() # fill clients table - self.table = Gtk.Grid() - self.table.insert_row(0) - self.table.insert_row(0) - self.table.insert_column(0) - self.table.set_property('column-spacing', 2) + table = Gtk.Grid() + table.insert_row(0) + table.insert_row(0) + table.insert_column(0) + table.set_property('column-spacing', 2) vcard_current_row = 0 for priority in contact_keys: for acontact in contacts_dict[priority]: caps = acontact.client_caps._node - caps_image, client_name = self.get_icon(caps, acontact) - client_name = self.get_client_name(acontact, client_name) - caps_image.set_alignment(0, 0) - self.table.attach(caps_image, 1, vcard_current_row, 1, 1) - label = Gtk.Label() - label.set_alignment(0, 0) - label.set_markup(client_name) - self.table.attach(label, 2, vcard_current_row, 1, 1) + caps_image, client_name = self.get_icon(caps, acontact, tooltip_grid) + caps_image.set_valign(Gtk.Align.START) + table.attach(caps_image, 1, vcard_current_row, 1, 1) + label = Gtk.Label(label=client_name) + label.set_valign(Gtk.Align.START) + label.set_xalign(0) + table.attach(label, 2, vcard_current_row, 1, 1) vcard_current_row += 1 - self.table.show_all() + table.show_all() + table.set_valign(Gtk.Align.START) # set label label = Gtk.Label() - label.set_alignment(0, 0) + label.set_halign(Gtk.Align.END) + label.set_valign(Gtk.Align.START) if num_resources > 1: - label.set_markup(_('Clients:')) + label.set_text(_('Clients:')) else: - if contact.show == 'offline': - return - label.set_markup(_('Client:')) + label.set_text(_('Client:')) label.show() # set clients table to tooltip - tooltip_grid.insert_next_to(tooltip.resource_label, + tooltip_grid.insert_next_to(tooltip._ui.resource_label, Gtk.PositionType.BOTTOM) - tooltip_grid.attach_next_to(label, tooltip.resource_label, + tooltip_grid.attach_next_to(label, tooltip._ui.resource_label, Gtk.PositionType.BOTTOM, 1, 1) - tooltip_grid.attach_next_to(self.table, label, + tooltip_grid.attach_next_to(table, label, Gtk.PositionType.RIGHT, 1, 1) - def get_icon(self, caps, contact): - client_name = _('Unknown') - caps_ = None - if caps: - # libpurple returns pidgin.im/ only, we have to look for resource name - if 'pidgin.im/' in caps: - caps = 'libpurple' - for client in LIBPURPLE_CLIENTS: - if client in contact.resource.lower(): - caps = LIBPURPLE_CLIENTS[client] + def get_icon(self, node, contact, widget): + identity_name = self.get_client_identity_name(contact) + client_name, icon_name = clients.get_data(identity_name, node) + surface = load_icon(icon_name, widget=widget) + return Gtk.Image.new_from_surface(surface), client_name - if 'sleekxmpp.com'in caps: - caps = 'httр://sleekxmpp.com/ver/1.1.11' - caps_from_jid = self.check_jid(contact.jid) - if caps_from_jid: - caps = caps_from_jid - caps_ = caps.split('#')[0].split() - - client_name = self.get_client_name(contact, client_name) - client_icon = self.get_client_icon_by_name(client_name) - - if caps_ and not client_icon: - client_icon = CLIENTS.get(caps_[0].split()[0], (None,))[0] - client_name = CLIENTS.get(caps_[0].split()[0], ('', _('Unknown')))[1] - - if not client_icon: - return Gtk.Image.new_from_pixbuf(self.default_pixbuf), _('Unknown') - else: - icon_path = os.path.join(self.local_file_path('icons'), client_icon) - if icon_path in self.icon_cache: - return Gtk.Image.new_from_pixbuf(self.icon_cache[icon_path]), \ - client_name - else: - pb = GdkPixbuf.Pixbuf.new_from_file_at_size(icon_path, 16, 16) - self.icon_cache[icon_path] = pb - return Gtk.Image.new_from_pixbuf(pb), client_name - - def check_jid(self, jid): - caps = None - if 'facebook.com' in jid and self.config['show_facebook']: - caps = 'facebook.com' - elif '@vk.com' in jid and self.config['show_facebook']: - caps = 'vk.com' - elif jid == 'juick@juick.com': - caps = 'http://juick.com/caps' - elif jid == 'psto@psto.net': - caps = 'psto@psto.net' - elif jid == 'rss@isida-bot.com': - caps = 'rss@isida-bot.com' - return caps - - @log_calls('ClientsIconsPlugin') def connect_with_roster_draw_contact(self, roster, jid, account, contact): if not self.active: return @@ -268,22 +198,19 @@ class ClientsIconsPlugin(GajimPlugin): return for iter_ in child_iters: if roster.model[iter_][self.renderer_num] is None: - caps = contact.client_caps._node - if not caps: - caps = self.check_jid(jid) - self.set_icon(roster.model, iter_, self.renderer_num, caps, contact) + node = contact.client_caps._node + self.set_icon(roster.model, iter_, self.renderer_num, node, contact) - @log_calls('ClientsIconsPlugin') def connect_with_groupchat_control(self, chat_control): chat_control.nb_ext_renderers += 1 - chat_control.columns += [GdkPixbuf.Pixbuf] + chat_control.columns += [str] self.groupchats_tree_is_transformed = True self.chat_control = chat_control col = Gtk.TreeViewColumn() self.muc_renderer_num = 4 + chat_control.nb_ext_renderers client_icon_rend = ( 'client_icon', Gtk.CellRendererPixbuf(), False, - 'pixbuf', self.muc_renderer_num, + 'icon_name', self.muc_renderer_num, self.tree_cell_data_func, chat_control) # remove old column chat_control.list_treeview.remove_column( @@ -310,14 +237,10 @@ class ClientsIconsPlugin(GajimPlugin): chat_control.account, chat_control.room_jid): gc_contact = app.contacts.get_gc_contact( chat_control.account, chat_control.room_jid, nick) - iter_ = chat_control.add_contact_to_roster( - nick, gc_contact.show, gc_contact.role, - gc_contact.affiliation, gc_contact.status, gc_contact.jid) + iter_ = chat_control.add_contact_to_roster(nick) if not self.config['show_in_groupchats']: - log.debug("not showing in groupchats...") continue caps = gc_contact.client_caps._node - log.debug("caps: %s" % str(caps)) self.set_icon( chat_control.model, iter_, self.muc_renderer_num, caps, gc_contact) @@ -325,7 +248,6 @@ class ClientsIconsPlugin(GajimPlugin): # Recalculate column width for ellipsizin chat_control.list_treeview.columns_autosize() - @log_calls('ClientsIconsPlugin') def disconnect_from_groupchat_control(self, gc_control): gc_control.nb_ext_renderers -= 1 col = gc_control.list_treeview.get_column(0) @@ -345,7 +267,6 @@ class ClientsIconsPlugin(GajimPlugin): gc_control.list_treeview.set_model(gc_control.model) gc_control.draw_roster() - @log_calls('ClientsIconsPlugin') def activate(self): self.active = None roster = app.interface.roster @@ -355,8 +276,8 @@ class ClientsIconsPlugin(GajimPlugin): self.renderer = Gtk.CellRendererPixbuf() client_icon_rend = ( 'client_icon', self.renderer, False, - 'pixbuf', self.renderer_num, - roster._fill_pep_pixbuf_renderer, self.renderer_num) + 'icon_name', self.renderer_num, + self._roster_icon_renderer, self.renderer_num) # remove old column roster.tree.remove_column(roster.tree.get_column(0)) # add new renderer in renderers list @@ -371,11 +292,33 @@ class ClientsIconsPlugin(GajimPlugin): roster.fill_column(col) roster.tree.insert_column(col, 0) # redraw roster - roster.columns += [GdkPixbuf.Pixbuf] + roster.columns += [str] self.active = True roster.setup_and_draw_roster() - @log_calls('ClientsIconsPlugin') + def _roster_icon_renderer(self, column, renderer, model, titer, data=None): + try: + type_ = model[titer][Column.TYPE] + except TypeError: + return + + # allocate space for the icon only if needed + if model[titer][data] is None: + renderer.set_property('visible', False) + else: + renderer.set_property('visible', True) + + if type_ == 'account': + app.interface.roster._set_account_row_background_color(renderer) + renderer.set_property('xalign', 1) + elif type_: + if not model[titer][Column.JID] or not model[titer][Column.ACCOUNT]: + # This can append at the moment we add the row + return + jid = model[titer][Column.JID] + account = model[titer][Column.ACCOUNT] + app.interface.roster._set_contact_row_background_color(renderer, jid, account) + def deactivate(self): self.active = None roster = app.interface.roster @@ -393,139 +336,86 @@ class ClientsIconsPlugin(GajimPlugin): self.renderer_num + 1:] roster.setup_and_draw_roster() - def caps_disco_received(self, iq_obj): - log.debug("caps disco received...") - if not self.config['show_in_roster']: - return - roster = app.interface.roster - contact = app.contacts.get_contact_from_full_jid( - iq_obj.conn.name, iq_obj.jid) - if self.is_groupchat(contact): - return - if contact is None: - room_jid, nick = app.get_room_and_nick_from_fjid(iq_obj.fjid) - contact = app.contacts.get_gc_contact(iq_obj.conn.name, room_jid, nick) - if contact: - gc_control = app.interface.msg_win_mgr.get_gc_control( - iq_obj.jid, iq_obj.conn.name) - iter_ = gc_control.get_contact_iter(nick) - self.set_icon(gc_control.model, iter_, - self.muc_renderer_num, None, contact) - return - if not contact: - return - child_iters = roster._get_contact_iter( - iq_obj.jid, iq_obj.conn.name, contact, roster.model) - if not child_iters: - return - for iter_ in child_iters: - caps = contact.client_caps._node - caps_ = self.check_jid(iq_obj.jid) - if caps_: - caps = caps_ - self.set_icon(roster.model, iter_, self.renderer_num, caps, contact) - - def caps_presence_received(self, iq_obj): - log.debug("caps presence received...") - if not self.config['show_in_roster']: - return - roster = app.interface.roster - contact = app.contacts.get_contact_with_highest_priority( - iq_obj.conn.name, iq_obj.jid) - if not contact or self.is_groupchat(contact): - return - - if iq_obj.resource == 'local': + def _on_caps_update(self, event): + if event.conn.name == 'Local': # zeroconf return - iters = roster._get_contact_iter(iq_obj.jid, iq_obj.conn.name, contact, + contact = self._get_contact_or_gc_contact_for_jid(event.conn.name, event.fjid) + if contact is None: + return + + if contact.is_gc_contact: + self._draw_gc_contact(event, contact) + else: + self._draw_roster_contact(event, contact) + + def _draw_roster_contact(self, event, contact): + if not self.config['show_in_roster']: + return + + if contact.is_groupchat(): + return + roster = app.interface.roster + iters = roster._get_contact_iter(event.jid, event.conn.name, contact, roster.model) iter_ = iters[0] - if contact.show == 'error': - self.set_icon(roster.model, iter_, self.renderer_num, None, contact) + # highest contact changed + caps = contact.client_caps._node + if not caps: return - # highest contact changed if roster.model[iter_][self.renderer_num] is not None: - caps = contact.client_caps._node - if caps: - log.debug('caps_presence_received, caps: %s', caps) - self.set_icon(roster.model, iter_, self.renderer_num, caps, contact) - return - - caps = None - tag = iq_obj.stanza.getTags('c') - if tag: - caps = tag[0].getAttr('node') - if caps: - if 'pidgin.im/' in caps: - caps = 'libpurple' - for client in LIBPURPLE_CLIENTS: - if client in contact.resource.lower(): - caps = LIBPURPLE_CLIENTS[client] - if 'sleekxmpp.com'in caps: - caps = 'httр://sleekxmpp.com/ver/1.1.11' - - caps_from_jid = self.check_jid(iq_obj.jid) - if caps_from_jid: - caps = caps_from_jid + self.set_icon(roster.model, iter_, self.renderer_num, caps, contact) + return for iter_ in iters: self.set_icon(roster.model, iter_, self.renderer_num, caps, contact) - def gc_presence_received(self, iq_obj): - log.debug("gc presence received...") + def _draw_gc_contact(self, event, contact): if not self.config['show_in_groupchats']: return - contact = app.contacts.get_gc_contact( - iq_obj.conn.name, iq_obj.presence_obj.jid, iq_obj.nick) - if not contact: + + control = app.interface.msg_win_mgr.get_gc_control(contact.room_jid, + event.conn.name) + if control is None: return - caps = None - tag = iq_obj.stanza.getTags('c') - if tag: - caps = tag[0].getAttr('node') - if caps: - log.debug('gc_presence_received, caps: %s', caps) - if 'pidgin.im/' in caps: - caps = 'libpurple' - if 'sleekxmpp.com' in caps: - caps = 'httр://sleekxmpp.com/ver/1.1.11' - iter_ = iq_obj.gc_control.get_contact_iter(iq_obj.nick) - model = iq_obj.gc_control.model - if model[iter_][self.muc_renderer_num] is not None: + iter_ = control.get_contact_iter(contact.name) + if control.model[iter_][self.muc_renderer_num] is not None: return - self.set_icon(model, iter_, self.muc_renderer_num, caps, contact) + caps = contact.client_caps._node + if not caps: + return + self.set_icon(control.model, iter_, self.muc_renderer_num, caps, contact) - def set_icon(self, model, iter_, pos, caps, contact): - client_icon = self.get_client_icon_by_name( - self.get_client_name(contact, _('Unknown'))) + def _get_contact_or_gc_contact_for_jid(self, account, fjid): + contact = app.contacts.get_contact_from_full_jid(account, fjid) - if caps and not client_icon: - caps_ = caps.split('#')[0].split() - if caps_: - log.debug('set_icon, caps_: %s', caps_) - client_icon = CLIENTS.get(caps_[0].split()[0], (None,))[0] + if contact is None: + fjid = JID(fjid) + room_jid, resource = fjid.getStripped(), fjid.getResource() + contact = app.contacts.get_gc_contact(account, room_jid, resource) + return contact - if not client_icon: - if self.config['show_unknown_icon']: - model[iter_][pos] = self.default_pixbuf - else: - icon_path = os.path.join(self.local_file_path('icons'), client_icon) - if icon_path in self.icon_cache: - model[iter_][pos] = self.icon_cache[icon_path] - else: - pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(icon_path, 16, 16) - model[iter_][pos] = pixbuf - self.icon_cache[icon_path] = pixbuf + def set_icon(self, model, iter_, pos, node, contact): + identity_name = self.get_client_identity_name(contact) + _client_name, icon_name = clients.get_data(identity_name, node) + if 'unknown' in icon_name: + if node is not None: + log.warning('Unknown client: %s %s', identity_name, node) + if not self.config['show_unknown_icon']: + model[iter_][pos] = None + return + + model[iter_][pos] = icon_name def tree_cell_data_func(self, column, renderer, model, iter_, control): if not model.iter_parent(iter_): renderer.set_property('visible', False) return - elif model[iter_][self.muc_renderer_num]: + + if model[iter_][self.muc_renderer_num]: renderer.set_property('visible', True) contact = app.contacts.get_gc_contact( diff --git a/clients_icons/icons/jitsi.png b/clients_icons/hicolor/16x16/apps/xmpp-client-jitsi.png similarity index 100% rename from clients_icons/icons/jitsi.png rename to clients_icons/hicolor/16x16/apps/xmpp-client-jitsi.png diff --git a/clients_icons/icons/libpurple.png b/clients_icons/hicolor/16x16/apps/xmpp-client-libpurple.png similarity index 100% rename from clients_icons/icons/libpurple.png rename to clients_icons/hicolor/16x16/apps/xmpp-client-libpurple.png diff --git a/clients_icons/icons/miranda_ng.png b/clients_icons/hicolor/16x16/apps/xmpp-client-miranda_ng.png similarity index 100% rename from clients_icons/icons/miranda_ng.png rename to clients_icons/hicolor/16x16/apps/xmpp-client-miranda_ng.png diff --git a/clients_icons/icons/nimbuzz.png b/clients_icons/hicolor/16x16/apps/xmpp-client-nimbuzz.png similarity index 100% rename from clients_icons/icons/nimbuzz.png rename to clients_icons/hicolor/16x16/apps/xmpp-client-nimbuzz.png diff --git a/clients_icons/icons/poezio.png b/clients_icons/hicolor/16x16/apps/xmpp-client-poezio.png similarity index 100% rename from clients_icons/icons/poezio.png rename to clients_icons/hicolor/16x16/apps/xmpp-client-poezio.png diff --git a/clients_icons/icons/psto.png b/clients_icons/hicolor/16x16/apps/xmpp-client-psto.png similarity index 100% rename from clients_icons/icons/psto.png rename to clients_icons/hicolor/16x16/apps/xmpp-client-psto.png diff --git a/clients_icons/icons/tigase.png b/clients_icons/hicolor/16x16/apps/xmpp-client-tigase.png similarity index 100% rename from clients_icons/icons/tigase.png rename to clients_icons/hicolor/16x16/apps/xmpp-client-tigase.png diff --git a/clients_icons/icons/unknown.png b/clients_icons/hicolor/16x16/apps/xmpp-client-unknown.png similarity index 100% rename from clients_icons/icons/unknown.png rename to clients_icons/hicolor/16x16/apps/xmpp-client-unknown.png diff --git a/clients_icons/icons/1end1.png b/clients_icons/hicolor/22x22/apps/xmpp-client-1end1.png similarity index 100% rename from clients_icons/icons/1end1.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-1end1.png diff --git a/clients_icons/icons/adium.png b/clients_icons/hicolor/22x22/apps/xmpp-client-adium.png similarity index 100% rename from clients_icons/icons/adium.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-adium.png diff --git a/clients_icons/icons/agilemessenger.png b/clients_icons/hicolor/22x22/apps/xmpp-client-agilemessenger.png similarity index 100% rename from clients_icons/icons/agilemessenger.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-agilemessenger.png diff --git a/clients_icons/icons/aim.png b/clients_icons/hicolor/22x22/apps/xmpp-client-aim.png similarity index 100% rename from clients_icons/icons/aim.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-aim.png diff --git a/clients_icons/icons/akeni.png b/clients_icons/hicolor/22x22/apps/xmpp-client-akeni.png similarity index 100% rename from clients_icons/icons/akeni.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-akeni.png diff --git a/clients_icons/icons/anastasiya.png b/clients_icons/hicolor/22x22/apps/xmpp-client-anastasiya.png similarity index 100% rename from clients_icons/icons/anastasiya.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-anastasiya.png diff --git a/clients_icons/icons/android.png b/clients_icons/hicolor/22x22/apps/xmpp-client-android.png similarity index 100% rename from clients_icons/icons/android.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-android.png diff --git a/clients_icons/icons/apple.png b/clients_icons/hicolor/22x22/apps/xmpp-client-apple.png similarity index 100% rename from clients_icons/icons/apple.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-apple.png diff --git a/clients_icons/icons/aqq.png b/clients_icons/hicolor/22x22/apps/xmpp-client-aqq.png similarity index 100% rename from clients_icons/icons/aqq.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-aqq.png diff --git a/clients_icons/icons/asterisk.png b/clients_icons/hicolor/22x22/apps/xmpp-client-asterisk.png similarity index 100% rename from clients_icons/icons/asterisk.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-asterisk.png diff --git a/clients_icons/icons/ayttm.png b/clients_icons/hicolor/22x22/apps/xmpp-client-ayttm.png similarity index 100% rename from clients_icons/icons/ayttm.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-ayttm.png diff --git a/clients_icons/icons/barracuda-im.png b/clients_icons/hicolor/22x22/apps/xmpp-client-barracuda-im.png similarity index 100% rename from clients_icons/icons/barracuda-im.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-barracuda-im.png diff --git a/clients_icons/icons/bayanicq.png b/clients_icons/hicolor/22x22/apps/xmpp-client-bayanicq.png similarity index 100% rename from clients_icons/icons/bayanicq.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-bayanicq.png diff --git a/clients_icons/icons/beejive.png b/clients_icons/hicolor/22x22/apps/xmpp-client-beejive.png similarity index 100% rename from clients_icons/icons/beejive.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-beejive.png diff --git a/clients_icons/icons/bitlbee.png b/clients_icons/hicolor/22x22/apps/xmpp-client-bitlbee.png similarity index 100% rename from clients_icons/icons/bitlbee.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-bitlbee.png diff --git a/clients_icons/icons/bot.png b/clients_icons/hicolor/22x22/apps/xmpp-client-bot.png similarity index 100% rename from clients_icons/icons/bot.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-bot.png diff --git a/clients_icons/icons/buddydroid.png b/clients_icons/hicolor/22x22/apps/xmpp-client-buddydroid.png similarity index 100% rename from clients_icons/icons/buddydroid.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-buddydroid.png diff --git a/clients_icons/icons/centericq.png b/clients_icons/hicolor/22x22/apps/xmpp-client-centericq.png similarity index 100% rename from clients_icons/icons/centericq.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-centericq.png diff --git a/clients_icons/icons/centerim.png b/clients_icons/hicolor/22x22/apps/xmpp-client-centerim.png similarity index 100% rename from clients_icons/icons/centerim.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-centerim.png diff --git a/clients_icons/icons/chatsecure.png b/clients_icons/hicolor/22x22/apps/xmpp-client-chatsecure.png similarity index 100% rename from clients_icons/icons/chatsecure.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-chatsecure.png diff --git a/clients_icons/icons/coccinella.png b/clients_icons/hicolor/22x22/apps/xmpp-client-coccinella.png similarity index 100% rename from clients_icons/icons/coccinella.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-coccinella.png diff --git a/clients_icons/icons/colibry.png b/clients_icons/hicolor/22x22/apps/xmpp-client-colibry.png similarity index 100% rename from clients_icons/icons/colibry.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-colibry.png diff --git a/clients_icons/icons/conversejs.png b/clients_icons/hicolor/22x22/apps/xmpp-client-conversejs.png similarity index 100% rename from clients_icons/icons/conversejs.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-conversejs.png diff --git a/clients_icons/icons/corepager.png b/clients_icons/hicolor/22x22/apps/xmpp-client-corepager.png similarity index 100% rename from clients_icons/icons/corepager.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-corepager.png diff --git a/clients_icons/icons/digsby.png b/clients_icons/hicolor/22x22/apps/xmpp-client-digsby.png similarity index 100% rename from clients_icons/icons/digsby.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-digsby.png diff --git a/clients_icons/icons/ebuddy.png b/clients_icons/hicolor/22x22/apps/xmpp-client-ebuddy.png similarity index 100% rename from clients_icons/icons/ebuddy.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-ebuddy.png diff --git a/clients_icons/icons/emacs.png b/clients_icons/hicolor/22x22/apps/xmpp-client-emacs.png similarity index 100% rename from clients_icons/icons/emacs.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-emacs.png diff --git a/clients_icons/icons/emess.png b/clients_icons/hicolor/22x22/apps/xmpp-client-emess.png similarity index 100% rename from clients_icons/icons/emess.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-emess.png diff --git a/clients_icons/icons/exodus.png b/clients_icons/hicolor/22x22/apps/xmpp-client-exodus.png similarity index 100% rename from clients_icons/icons/exodus.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-exodus.png diff --git a/clients_icons/icons/facebook.png b/clients_icons/hicolor/22x22/apps/xmpp-client-facebook.png similarity index 100% rename from clients_icons/icons/facebook.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-facebook.png diff --git a/clients_icons/icons/fin.png b/clients_icons/hicolor/22x22/apps/xmpp-client-fin.png similarity index 100% rename from clients_icons/icons/fin.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-fin.png diff --git a/clients_icons/icons/freqbot.png b/clients_icons/hicolor/22x22/apps/xmpp-client-freqbot.png similarity index 100% rename from clients_icons/icons/freqbot.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-freqbot.png diff --git a/clients_icons/icons/fring.png b/clients_icons/hicolor/22x22/apps/xmpp-client-fring.png similarity index 100% rename from clients_icons/icons/fring.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-fring.png diff --git a/clients_icons/icons/gabber.png b/clients_icons/hicolor/22x22/apps/xmpp-client-gabber.png similarity index 100% rename from clients_icons/icons/gabber.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-gabber.png diff --git a/clients_icons/icons/gadugadu.png b/clients_icons/hicolor/22x22/apps/xmpp-client-gadugadu.png similarity index 100% rename from clients_icons/icons/gadugadu.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-gadugadu.png diff --git a/clients_icons/icons/gaim.png b/clients_icons/hicolor/22x22/apps/xmpp-client-gaim.png similarity index 100% rename from clients_icons/icons/gaim.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-gaim.png diff --git a/clients_icons/icons/gismeteo.png b/clients_icons/hicolor/22x22/apps/xmpp-client-gismeteo.png similarity index 100% rename from clients_icons/icons/gismeteo.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-gismeteo.png diff --git a/clients_icons/icons/gizmo.png b/clients_icons/hicolor/22x22/apps/xmpp-client-gizmo.png similarity index 100% rename from clients_icons/icons/gizmo.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-gizmo.png diff --git a/clients_icons/icons/glu.png b/clients_icons/hicolor/22x22/apps/xmpp-client-glu.png similarity index 100% rename from clients_icons/icons/glu.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-glu.png diff --git a/clients_icons/icons/gluxibot.png b/clients_icons/hicolor/22x22/apps/xmpp-client-gluxibot.png similarity index 100% rename from clients_icons/icons/gluxibot.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-gluxibot.png diff --git a/clients_icons/icons/goim.png b/clients_icons/hicolor/22x22/apps/xmpp-client-goim.png similarity index 100% rename from clients_icons/icons/goim.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-goim.png diff --git a/clients_icons/icons/google.com.png b/clients_icons/hicolor/22x22/apps/xmpp-client-google.com.png similarity index 100% rename from clients_icons/icons/google.com.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-google.com.png diff --git a/clients_icons/icons/gossip.png b/clients_icons/hicolor/22x22/apps/xmpp-client-gossip.png similarity index 100% rename from clients_icons/icons/gossip.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-gossip.png diff --git a/clients_icons/icons/gush.png b/clients_icons/hicolor/22x22/apps/xmpp-client-gush.png similarity index 100% rename from clients_icons/icons/gush.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-gush.png diff --git a/clients_icons/icons/ichabber.png b/clients_icons/hicolor/22x22/apps/xmpp-client-ichabber.png similarity index 100% rename from clients_icons/icons/ichabber.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-ichabber.png diff --git a/clients_icons/icons/ichat.png b/clients_icons/hicolor/22x22/apps/xmpp-client-ichat.png similarity index 100% rename from clients_icons/icons/ichat.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-ichat.png diff --git a/clients_icons/icons/imov.png b/clients_icons/hicolor/22x22/apps/xmpp-client-imov.png similarity index 100% rename from clients_icons/icons/imov.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-imov.png diff --git a/clients_icons/icons/implus.png b/clients_icons/hicolor/22x22/apps/xmpp-client-implus.png similarity index 100% rename from clients_icons/icons/implus.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-implus.png diff --git a/clients_icons/icons/inluxmessenger.png b/clients_icons/hicolor/22x22/apps/xmpp-client-inluxmessenger.png similarity index 100% rename from clients_icons/icons/inluxmessenger.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-inluxmessenger.png diff --git a/clients_icons/icons/instango.png b/clients_icons/hicolor/22x22/apps/xmpp-client-instango.png similarity index 100% rename from clients_icons/icons/instango.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-instango.png diff --git a/clients_icons/icons/instantbird.png b/clients_icons/hicolor/22x22/apps/xmpp-client-instantbird.png similarity index 100% rename from clients_icons/icons/instantbird.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-instantbird.png diff --git a/clients_icons/icons/isida-bot.png b/clients_icons/hicolor/22x22/apps/xmpp-client-isida-bot.png similarity index 100% rename from clients_icons/icons/isida-bot.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-isida-bot.png diff --git a/clients_icons/icons/jabber.el.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jabber.el.png similarity index 100% rename from clients_icons/icons/jabber.el.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jabber.el.png diff --git a/clients_icons/icons/jabbim.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jabbim.png similarity index 100% rename from clients_icons/icons/jabbim.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jabbim.png diff --git a/clients_icons/icons/jabbin.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jabbin.png similarity index 100% rename from clients_icons/icons/jabbin.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jabbin.png diff --git a/clients_icons/icons/jabbroid.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jabbroid.png similarity index 100% rename from clients_icons/icons/jabbroid.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jabbroid.png diff --git a/clients_icons/icons/jabiru.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jabiru.png similarity index 100% rename from clients_icons/icons/jabiru.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jabiru.png diff --git a/clients_icons/icons/jajc.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jajc.png similarity index 100% rename from clients_icons/icons/jajc.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jajc.png diff --git a/clients_icons/icons/jappix.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jappix.png similarity index 100% rename from clients_icons/icons/jappix.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jappix.png diff --git a/clients_icons/icons/japyt.png b/clients_icons/hicolor/22x22/apps/xmpp-client-japyt.png similarity index 100% rename from clients_icons/icons/japyt.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-japyt.png diff --git a/clients_icons/icons/jasmine.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jasmine.png similarity index 100% rename from clients_icons/icons/jasmine.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jasmine.png diff --git a/clients_icons/icons/jbother.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jbother.png similarity index 100% rename from clients_icons/icons/jbother.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jbother.png diff --git a/clients_icons/icons/jeti.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jeti.png similarity index 100% rename from clients_icons/icons/jeti.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jeti.png diff --git a/clients_icons/icons/jicq.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jicq.png similarity index 100% rename from clients_icons/icons/jicq.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jicq.png diff --git a/clients_icons/icons/jimm-aspro.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jimm-aspro.png similarity index 100% rename from clients_icons/icons/jimm-aspro.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jimm-aspro.png diff --git a/clients_icons/icons/jimm.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jimm.png similarity index 100% rename from clients_icons/icons/jimm.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jimm.png diff --git a/clients_icons/icons/jit.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jit.png similarity index 100% rename from clients_icons/icons/jit.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jit.png diff --git a/clients_icons/icons/jmiranda.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jmiranda.png similarity index 100% rename from clients_icons/icons/jmiranda.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jmiranda.png diff --git a/clients_icons/icons/jtalk.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jtalk.png similarity index 100% rename from clients_icons/icons/jtalk.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jtalk.png diff --git a/clients_icons/icons/jubo.png b/clients_icons/hicolor/22x22/apps/xmpp-client-jubo.png similarity index 100% rename from clients_icons/icons/jubo.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-jubo.png diff --git a/clients_icons/icons/juick.png b/clients_icons/hicolor/22x22/apps/xmpp-client-juick.png similarity index 100% rename from clients_icons/icons/juick.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-juick.png diff --git a/clients_icons/icons/koolim.png b/clients_icons/hicolor/22x22/apps/xmpp-client-koolim.png similarity index 100% rename from clients_icons/icons/koolim.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-koolim.png diff --git a/clients_icons/icons/kopete.png b/clients_icons/hicolor/22x22/apps/xmpp-client-kopete.png similarity index 100% rename from clients_icons/icons/kopete.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-kopete.png diff --git a/clients_icons/icons/lampiro.png b/clients_icons/hicolor/22x22/apps/xmpp-client-lampiro.png similarity index 100% rename from clients_icons/icons/lampiro.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-lampiro.png diff --git a/clients_icons/icons/mabber.png b/clients_icons/hicolor/22x22/apps/xmpp-client-mabber.png similarity index 100% rename from clients_icons/icons/mabber.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-mabber.png diff --git a/clients_icons/icons/mail.google.com.png b/clients_icons/hicolor/22x22/apps/xmpp-client-mail.google.com.png similarity index 100% rename from clients_icons/icons/mail.google.com.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-mail.google.com.png diff --git a/clients_icons/icons/mailruagent.png b/clients_icons/hicolor/22x22/apps/xmpp-client-mailruagent.png similarity index 100% rename from clients_icons/icons/mailruagent.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-mailruagent.png diff --git a/clients_icons/icons/mailruagent.sis.png b/clients_icons/hicolor/22x22/apps/xmpp-client-mailruagent.sis.png similarity index 100% rename from clients_icons/icons/mailruagent.sis.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-mailruagent.sis.png diff --git a/clients_icons/icons/mandarin.png b/clients_icons/hicolor/22x22/apps/xmpp-client-mandarin.png similarity index 100% rename from clients_icons/icons/mandarin.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-mandarin.png diff --git a/clients_icons/icons/mcabber.png b/clients_icons/hicolor/22x22/apps/xmpp-client-mcabber.png similarity index 100% rename from clients_icons/icons/mcabber.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-mcabber.png diff --git a/clients_icons/icons/mchat.png b/clients_icons/hicolor/22x22/apps/xmpp-client-mchat.png similarity index 100% rename from clients_icons/icons/mchat.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-mchat.png diff --git a/clients_icons/icons/meebo.png b/clients_icons/hicolor/22x22/apps/xmpp-client-meebo.png similarity index 100% rename from clients_icons/icons/meebo.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-meebo.png diff --git a/clients_icons/icons/meetro.png b/clients_icons/hicolor/22x22/apps/xmpp-client-meetro.png similarity index 100% rename from clients_icons/icons/meetro.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-meetro.png diff --git a/clients_icons/icons/megafon.png b/clients_icons/hicolor/22x22/apps/xmpp-client-megafon.png similarity index 100% rename from clients_icons/icons/megafon.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-megafon.png diff --git a/clients_icons/icons/mig33.png b/clients_icons/hicolor/22x22/apps/xmpp-client-mig33.png similarity index 100% rename from clients_icons/icons/mig33.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-mig33.png diff --git a/clients_icons/icons/miranda.png b/clients_icons/hicolor/22x22/apps/xmpp-client-miranda.png similarity index 100% rename from clients_icons/icons/miranda.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-miranda.png diff --git a/clients_icons/icons/mirandahotcoffee.png b/clients_icons/hicolor/22x22/apps/xmpp-client-mirandahotcoffee.png similarity index 100% rename from clients_icons/icons/mirandahotcoffee.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-mirandahotcoffee.png diff --git a/clients_icons/icons/morange.png b/clients_icons/hicolor/22x22/apps/xmpp-client-morange.png similarity index 100% rename from clients_icons/icons/morange.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-morange.png diff --git a/clients_icons/icons/msnmessenger.png b/clients_icons/hicolor/22x22/apps/xmpp-client-msnmessenger.png similarity index 100% rename from clients_icons/icons/msnmessenger.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-msnmessenger.png diff --git a/clients_icons/icons/msnwebmessenger.png b/clients_icons/hicolor/22x22/apps/xmpp-client-msnwebmessenger.png similarity index 100% rename from clients_icons/icons/msnwebmessenger.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-msnwebmessenger.png diff --git a/clients_icons/icons/nicq.png b/clients_icons/hicolor/22x22/apps/xmpp-client-nicq.png similarity index 100% rename from clients_icons/icons/nicq.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-nicq.png diff --git a/clients_icons/icons/om.beeonline.ru.png b/clients_icons/hicolor/22x22/apps/xmpp-client-om.beeonline.ru.png similarity index 100% rename from clients_icons/icons/om.beeonline.ru.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-om.beeonline.ru.png diff --git a/clients_icons/icons/omnipresence.png b/clients_icons/hicolor/22x22/apps/xmpp-client-omnipresence.png similarity index 100% rename from clients_icons/icons/omnipresence.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-omnipresence.png diff --git a/clients_icons/icons/oneteamiphone.png b/clients_icons/hicolor/22x22/apps/xmpp-client-oneteamiphone.png similarity index 100% rename from clients_icons/icons/oneteamiphone.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-oneteamiphone.png diff --git a/clients_icons/icons/osiris.png b/clients_icons/hicolor/22x22/apps/xmpp-client-osiris.png similarity index 100% rename from clients_icons/icons/osiris.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-osiris.png diff --git a/clients_icons/icons/ovi-chat.png b/clients_icons/hicolor/22x22/apps/xmpp-client-ovi-chat.png similarity index 100% rename from clients_icons/icons/ovi-chat.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-ovi-chat.png diff --git a/clients_icons/icons/palm.png b/clients_icons/hicolor/22x22/apps/xmpp-client-palm.png similarity index 100% rename from clients_icons/icons/palm.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-palm.png diff --git a/clients_icons/icons/palringo.png b/clients_icons/hicolor/22x22/apps/xmpp-client-palringo.png similarity index 100% rename from clients_icons/icons/palringo.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-palringo.png diff --git a/clients_icons/icons/pandion.png b/clients_icons/hicolor/22x22/apps/xmpp-client-pandion.png similarity index 100% rename from clients_icons/icons/pandion.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-pandion.png diff --git a/clients_icons/icons/papla.png b/clients_icons/hicolor/22x22/apps/xmpp-client-papla.png similarity index 100% rename from clients_icons/icons/papla.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-papla.png diff --git a/clients_icons/icons/phpicq.png b/clients_icons/hicolor/22x22/apps/xmpp-client-phpicq.png similarity index 100% rename from clients_icons/icons/phpicq.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-phpicq.png diff --git a/clients_icons/icons/pidgin.png b/clients_icons/hicolor/22x22/apps/xmpp-client-pidgin.png similarity index 100% rename from clients_icons/icons/pidgin.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-pidgin.png diff --git a/clients_icons/icons/pigeon.png b/clients_icons/hicolor/22x22/apps/xmpp-client-pigeon.png similarity index 100% rename from clients_icons/icons/pigeon.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-pigeon.png diff --git a/clients_icons/icons/profanity.png b/clients_icons/hicolor/22x22/apps/xmpp-client-profanity.png similarity index 100% rename from clients_icons/icons/profanity.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-profanity.png diff --git a/clients_icons/icons/psi.png b/clients_icons/hicolor/22x22/apps/xmpp-client-psi.png similarity index 100% rename from clients_icons/icons/psi.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-psi.png diff --git a/clients_icons/icons/psiplus.png b/clients_icons/hicolor/22x22/apps/xmpp-client-psiplus.png similarity index 100% rename from clients_icons/icons/psiplus.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-psiplus.png diff --git a/clients_icons/icons/pyaim-t.png b/clients_icons/hicolor/22x22/apps/xmpp-client-pyaim-t.png similarity index 100% rename from clients_icons/icons/pyaim-t.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-pyaim-t.png diff --git a/clients_icons/icons/pyicq-t.png b/clients_icons/hicolor/22x22/apps/xmpp-client-pyicq-t.png similarity index 100% rename from clients_icons/icons/pyicq-t.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-pyicq-t.png diff --git a/clients_icons/icons/qip.png b/clients_icons/hicolor/22x22/apps/xmpp-client-qip.png similarity index 100% rename from clients_icons/icons/qip.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-qip.png diff --git a/clients_icons/icons/qippda.png b/clients_icons/hicolor/22x22/apps/xmpp-client-qippda.png similarity index 100% rename from clients_icons/icons/qippda.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-qippda.png diff --git a/clients_icons/icons/qnext.png b/clients_icons/hicolor/22x22/apps/xmpp-client-qnext.png similarity index 100% rename from clients_icons/icons/qnext.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-qnext.png diff --git a/clients_icons/icons/qq.png b/clients_icons/hicolor/22x22/apps/xmpp-client-qq.png similarity index 100% rename from clients_icons/icons/qq.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-qq.png diff --git a/clients_icons/icons/qutim.png b/clients_icons/hicolor/22x22/apps/xmpp-client-qutim.png similarity index 100% rename from clients_icons/icons/qutim.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-qutim.png diff --git a/clients_icons/icons/radio-t.png b/clients_icons/hicolor/22x22/apps/xmpp-client-radio-t.png similarity index 100% rename from clients_icons/icons/radio-t.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-radio-t.png diff --git a/clients_icons/icons/rnq.png b/clients_icons/hicolor/22x22/apps/xmpp-client-rnq.png similarity index 100% rename from clients_icons/icons/rnq.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-rnq.png diff --git a/clients_icons/icons/rss.png b/clients_icons/hicolor/22x22/apps/xmpp-client-rss.png similarity index 100% rename from clients_icons/icons/rss.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-rss.png diff --git a/clients_icons/icons/sameplace.png b/clients_icons/hicolor/22x22/apps/xmpp-client-sameplace.png similarity index 100% rename from clients_icons/icons/sameplace.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-sameplace.png diff --git a/clients_icons/icons/sapo.png b/clients_icons/hicolor/22x22/apps/xmpp-client-sapo.png similarity index 100% rename from clients_icons/icons/sapo.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-sapo.png diff --git a/clients_icons/icons/siejc.png b/clients_icons/hicolor/22x22/apps/xmpp-client-siejc.png similarity index 100% rename from clients_icons/icons/siejc.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-siejc.png diff --git a/clients_icons/icons/sim.png b/clients_icons/hicolor/22x22/apps/xmpp-client-sim.png similarity index 100% rename from clients_icons/icons/sim.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-sim.png diff --git a/clients_icons/icons/slick.png b/clients_icons/hicolor/22x22/apps/xmpp-client-slick.png similarity index 100% rename from clients_icons/icons/slick.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-slick.png diff --git a/clients_icons/icons/smack.png b/clients_icons/hicolor/22x22/apps/xmpp-client-smack.png similarity index 100% rename from clients_icons/icons/smack.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-smack.png diff --git a/clients_icons/icons/spark.png b/clients_icons/hicolor/22x22/apps/xmpp-client-spark.png similarity index 100% rename from clients_icons/icons/spark.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-spark.png diff --git a/clients_icons/icons/spectrum.png b/clients_icons/hicolor/22x22/apps/xmpp-client-spectrum.png similarity index 100% rename from clients_icons/icons/spectrum.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-spectrum.png diff --git a/clients_icons/icons/swift.png b/clients_icons/hicolor/22x22/apps/xmpp-client-swift.png similarity index 100% rename from clients_icons/icons/swift.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-swift.png diff --git a/clients_icons/icons/talk.google.com.png b/clients_icons/hicolor/22x22/apps/xmpp-client-talk.google.com.png similarity index 100% rename from clients_icons/icons/talk.google.com.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-talk.google.com.png diff --git a/clients_icons/icons/talkgadget.google.com.png b/clients_icons/hicolor/22x22/apps/xmpp-client-talkgadget.google.com.png similarity index 100% rename from clients_icons/icons/talkgadget.google.com.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-talkgadget.google.com.png diff --git a/clients_icons/icons/talkonaut.png b/clients_icons/hicolor/22x22/apps/xmpp-client-talkonaut.png similarity index 100% rename from clients_icons/icons/talkonaut.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-talkonaut.png diff --git a/clients_icons/icons/telepathy.freedesktop.org.png b/clients_icons/hicolor/22x22/apps/xmpp-client-telepathy.freedesktop.org.png similarity index 100% rename from clients_icons/icons/telepathy.freedesktop.org.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-telepathy.freedesktop.org.png diff --git a/clients_icons/icons/tipicim.png b/clients_icons/hicolor/22x22/apps/xmpp-client-tipicim.png similarity index 100% rename from clients_icons/icons/tipicim.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-tipicim.png diff --git a/clients_icons/icons/tkabber.png b/clients_icons/hicolor/22x22/apps/xmpp-client-tkabber.png similarity index 100% rename from clients_icons/icons/tkabber.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-tkabber.png diff --git a/clients_icons/icons/trillian.png b/clients_icons/hicolor/22x22/apps/xmpp-client-trillian.png similarity index 100% rename from clients_icons/icons/trillian.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-trillian.png diff --git a/clients_icons/icons/trillianbasic.png b/clients_icons/hicolor/22x22/apps/xmpp-client-trillianbasic.png similarity index 100% rename from clients_icons/icons/trillianbasic.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-trillianbasic.png diff --git a/clients_icons/icons/twitter.png b/clients_icons/hicolor/22x22/apps/xmpp-client-twitter.png similarity index 100% rename from clients_icons/icons/twitter.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-twitter.png diff --git a/clients_icons/icons/uim.png b/clients_icons/hicolor/22x22/apps/xmpp-client-uim.png similarity index 100% rename from clients_icons/icons/uim.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-uim.png diff --git a/clients_icons/icons/vacuum.png b/clients_icons/hicolor/22x22/apps/xmpp-client-vacuum.png similarity index 100% rename from clients_icons/icons/vacuum.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-vacuum.png diff --git a/clients_icons/icons/virtus.png b/clients_icons/hicolor/22x22/apps/xmpp-client-virtus.png similarity index 100% rename from clients_icons/icons/virtus.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-virtus.png diff --git a/clients_icons/icons/vkontakte.png b/clients_icons/hicolor/22x22/apps/xmpp-client-vkontakte.png similarity index 100% rename from clients_icons/icons/vkontakte.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-vkontakte.png diff --git a/clients_icons/icons/wannachat.png b/clients_icons/hicolor/22x22/apps/xmpp-client-wannachat.png similarity index 100% rename from clients_icons/icons/wannachat.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-wannachat.png diff --git a/clients_icons/icons/weather.com.png b/clients_icons/hicolor/22x22/apps/xmpp-client-weather.com.png similarity index 100% rename from clients_icons/icons/weather.com.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-weather.com.png diff --git a/clients_icons/icons/webicq.png b/clients_icons/hicolor/22x22/apps/xmpp-client-webicq.png similarity index 100% rename from clients_icons/icons/webicq.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-webicq.png diff --git a/clients_icons/icons/xeus.png b/clients_icons/hicolor/22x22/apps/xmpp-client-xeus.png similarity index 100% rename from clients_icons/icons/xeus.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-xeus.png diff --git a/clients_icons/icons/xfire.png b/clients_icons/hicolor/22x22/apps/xmpp-client-xfire.png similarity index 100% rename from clients_icons/icons/xfire.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-xfire.png diff --git a/clients_icons/icons/yabber.png b/clients_icons/hicolor/22x22/apps/xmpp-client-yabber.png similarity index 100% rename from clients_icons/icons/yabber.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-yabber.png diff --git a/clients_icons/icons/yahoo.png b/clients_icons/hicolor/22x22/apps/xmpp-client-yahoo.png similarity index 100% rename from clients_icons/icons/yahoo.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-yahoo.png diff --git a/clients_icons/icons/yaonline.png b/clients_icons/hicolor/22x22/apps/xmpp-client-yaonline.png similarity index 100% rename from clients_icons/icons/yaonline.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-yaonline.png diff --git a/clients_icons/icons/yaonlinej2me.png b/clients_icons/hicolor/22x22/apps/xmpp-client-yaonlinej2me.png similarity index 100% rename from clients_icons/icons/yaonlinej2me.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-yaonlinej2me.png diff --git a/clients_icons/icons/yaonlinesymbian.png b/clients_icons/hicolor/22x22/apps/xmpp-client-yaonlinesymbian.png similarity index 100% rename from clients_icons/icons/yaonlinesymbian.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-yaonlinesymbian.png diff --git a/clients_icons/icons/yaxim.png b/clients_icons/hicolor/22x22/apps/xmpp-client-yaxim.png similarity index 100% rename from clients_icons/icons/yaxim.png rename to clients_icons/hicolor/22x22/apps/xmpp-client-yaxim.png diff --git a/clients_icons/hicolor/32x32/apps/xmpp-client-bruno.png b/clients_icons/hicolor/32x32/apps/xmpp-client-bruno.png new file mode 100644 index 0000000000000000000000000000000000000000..038cfb79913f23eedded1226e049d0456a7e4929 GIT binary patch literal 3774 zcmaJ^c|4SD+qRW#ktJ)4p@_`F7z|m*G-Hp+5~^WFGng67SQ=E6v2Tf#!Wa@|ukc8= zB1wgWELn;uWQnBs#`8Ws@At>ocmMADzLwu{9Orpn=kd=K?_hUKL{LtUi;GJHgGM@X zM!?RuXE*0hV=z`ZgDl+;x90@r5xxh|>5f>LPkc4%m zyV}|yys2amZU+MjBL{HUTwF#bVF5UAKLQ=#ML0{M90e{mGywr5{86Bbt}Vniz=A*| zp&3C0Cx#u?o8jkefCriw1B}8D904+cjst{|{V6m=*iqo$x(LpEXB!Lz{0*V|9R>a; zDOXzufCV*(0MG^LXn8}RPyiebg2Hs+aOe?$HUz2-hHzfE78Hiig(I}}0RKEdPP8Dr z55f_N`X?4=breXX(*qD-aA;^KC{zbT4LS>k8WdwSb-eCiHsx!kwOS~R1lR6_`75T z>Cd^C{Za29F8dv>P(+Lp8U*Z2eq$L&EJTL-wFqj7Nw zX=9LP*sym`T-^K>LS?tRBNrmWA`L^l41>SGPFTIUZ>7Gk;Bx7GN75y+d3kdl0aY<^ zv_dL6^9N5f|0mu%k*3)Eg8e;?j+u%i`3$)2&91YarAy9ip4ohhCbi+fd7Q^zL~5OQTjok?#4y zMk5}Nxxa%(Gk7=OmkKqsL4+MkjQFCAHx==RLqY>1XJ~G^zara1$1ud%Shw2kgYQdC z0O;qelcN!U_V!#CRpo=4t=nI?wy9dUPu96+6*KwXYs#HKsWepC+heulRQJZQ+G137 z>Widl-1HSl!`jMJ+d0Zbiu1iUf1!%K`O77S$4+khm|v5RZf;|bZe7>~;Wh%BHV(0! z_X5g4i;}4eH;V*hwZTT!5QEK|u(oQFXACvx^{%~B5(Y0 zl_~=~xC_vF-dilLwy!|3Wd(LZl*;OXh^?=0-iS^nBwQ^Ye{pHODQy1jTKE;9z0Ruj zT|d*lV90Im6PW-%1f$-XTfwOAVJfOCW~jUyQ@ZNd%x^FHrEeQcrB4hh zA}JMIl&~{gxm~Q$Wh38>nquRJUtN=EC+<3-28b57TNiFB8UWg?2A)e1vDxaH4tMrs zA>Pgp^$e=IF>~LryF2N|BUmxW>w_tK*ayUrZf|wV`=N~!zV+2OgT_xMAE%|Z7Xm( zDVO?r@at^hv5JS}o_f`4tDh}a^*>$3FIS}h%qUYlFPm~R=hld5$F= zu7-Pl@h|UvI6_=dh{|GFB+gdaNI1V2B=L33wcK8he%5w-@25AJ4%TxI1j)>fcDwEp z-6TDHXXNmML4*QaHoN)|4cV^D;g)R^NTk)MA;pOI?S@wmkdhj1gM)l_?Sz zbxMASmY3`G9qvAu9TC{rtFrOJOog$;cdz8qia!1O9w`+wEIke@BP3l=XwJ?-z^3Ns z$*pKnl15so>D{4xb90}bLqwa2I90jSp7q!3T0?7_uZ9Z!ew|VpXFbn@iT+o>0bIvo48UO75D~@|3 zA}ee$W|e9B11Z)*VFxAR>hm;x5A}pR(mXPeXc!zMlVBAztA5##JVZR9Q;%Puv(nf( z%lo8cUn!@HH(zmVpG2%8c^)l}>z$Qey6ZCb^vN0V&GqDHb}N&~Up2fiRSRy4PZvI( z)lNt&jJ@fux&Nb8%?8QReq>y#Q?|}HLw($<} z?Nz*?5*}Q2|51EftdD6sFSEHAW8_?GJqXfMdE_tI1xW%u|EL{uqaBzRH%eVk^bylH zt5Z}`!*7kApRH`*KHhn9q^ut-{Gp~eqByZ^-jnBy!e1I0Mmnz9!}fp^`}Fr7T5L#M z=HX8io{br(82?hg&dShHG|^6M;}2Su7jd~p^-6r}<~F21o~W%R5FzHM!!tJ-W4$fT zbMcn%fsVaO{^~bl{j8O)+^9z%6!~zdqw>PGLX=g>IVR7z;F5LP7 z@%q`*42k!QpOU#@-zDzMR1c20($v&qjh~hbIp0yfVC@wlM&F*@GOqVjE(Ye=h2)e` zzVE8fO`<2oB2D@3q70NhWsart-L0$d{WrtJ;nM#fVSDphiG{1Tw zGUOEH*fpmv7u~tI;g;Yr$ZIXOQ1mO5s-X=!!&~i15C3%oFX-cTd+rh0@^nmz(D? z3~aMqO`VGazRyN7J_Iv5hdQ7wu?dpxS8|LuJBl~U^HCJEBX$-g6AG@GrKp>yBfXe$ z{3)-z{qI~{etF1l#2}dh$bVRGmm@_=YN_vB8krov@U!Nxzj_ygYFQo0wirnOKVbJ< zZeCxDQ_OyY!h3~!!y+qwfl+;;3WLWYGtn!XdoH0gTuftOtwfiW7--7XD}&4k^Ol}V z5~>rjU&J$CHT^=Z8ZxD|^;~Kzj+_E(xtCMZwbIHjFQxW!YM!n$)?Z#~%%1yL9Y11G zcJjjNCBLGdnSSnJBVMepiUR2g&;p-^Qwbv#5MB9rZ16Q>32Undh|+Izq-epe>U1^f z2W23m+=0y``qr~AEm`)n@iS{YntBE$$|%W|S+B0Cs>gk;9~>sGr_&b<>t(i=LW<)3 zw5}P12J=?8jX$Z9oxA#Q=KM{hTQsuNkM+p?at{f39i6U_Lv+@>Bfjq0b?kv_R0T2O z{d#Kqi4D)?%4$`?tCdfOSy!hQue8%Ngwprrq3=GwzSN?i@sW!clZ?p4s}n>KZN;8|B2e=N-MUbj2J<8aSQ^K_uqsoQ%! zix;i@p03F^$HWOg|;vg3UJ z-0-;801%vN=Czt9T->LILc?qrhaiT*h5SzU0}@_@>du*FtB?^Cn9aSOeL_ttFCr#t zoK#B;9<9w8i0_w{@D|RZ9C2LI#S*>M?8Y#Im}6ss9b5YbU0fblIgb2L>3A$R&M@2j+^*WtYqXlD`G7z;xa~A=PZ9cWe&BTi)-;nLT@Zep{{5kc9hZ*nB zPm2VHT)fhMfR^#;TX;H)#84pjU7*+E9<>f=PWS0dv2SX0l_@SY*hjM+rzMDIEv*n` zDN(GRz$aG%U0?2x>QC&glm^`s(1+zjn~5HtX9(#C?6p4Oz%0D4V42m}Bn>JDm>}YI qIkrPE@r62r8tviTV=h}7&0OpJrV_QRrrDhvCC1VYS#EwN`hNg{aG~q~ literal 0 HcmV?d00001 diff --git a/clients_icons/icons/conversations-legacy.png b/clients_icons/hicolor/32x32/apps/xmpp-client-conversations-legacy.png similarity index 100% rename from clients_icons/icons/conversations-legacy.png rename to clients_icons/hicolor/32x32/apps/xmpp-client-conversations-legacy.png diff --git a/clients_icons/icons/conversations.png b/clients_icons/hicolor/32x32/apps/xmpp-client-conversations.png similarity index 100% rename from clients_icons/icons/conversations.png rename to clients_icons/hicolor/32x32/apps/xmpp-client-conversations.png diff --git a/clients_icons/icons/dino.png b/clients_icons/hicolor/32x32/apps/xmpp-client-dino.png similarity index 100% rename from clients_icons/icons/dino.png rename to clients_icons/hicolor/32x32/apps/xmpp-client-dino.png diff --git a/clients_icons/icons/freize.png b/clients_icons/hicolor/32x32/apps/xmpp-client-freize.png similarity index 100% rename from clients_icons/icons/freize.png rename to clients_icons/hicolor/32x32/apps/xmpp-client-freize.png diff --git a/clients_icons/icons/google.png b/clients_icons/hicolor/32x32/apps/xmpp-client-google.png similarity index 100% rename from clients_icons/icons/google.png rename to clients_icons/hicolor/32x32/apps/xmpp-client-google.png diff --git a/clients_icons/icons/movim.png b/clients_icons/hicolor/32x32/apps/xmpp-client-movim.png similarity index 100% rename from clients_icons/icons/movim.png rename to clients_icons/hicolor/32x32/apps/xmpp-client-movim.png diff --git a/clients_icons/icons/pixart.png b/clients_icons/hicolor/32x32/apps/xmpp-client-pixart.png similarity index 100% rename from clients_icons/icons/pixart.png rename to clients_icons/hicolor/32x32/apps/xmpp-client-pixart.png diff --git a/clients_icons/icons/xabber.png b/clients_icons/hicolor/32x32/apps/xmpp-client-xabber.png similarity index 100% rename from clients_icons/icons/xabber.png rename to clients_icons/hicolor/32x32/apps/xmpp-client-xabber.png diff --git a/clients_icons/hicolor/icon-theme.cache b/clients_icons/hicolor/icon-theme.cache new file mode 100644 index 0000000000000000000000000000000000000000..30af0924d86745de40c9b10a7e56e0815ea5f086 GIT binary patch literal 8392 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 literal 0 HcmV?d00001 diff --git a/clients_icons/hicolor/index.theme b/clients_icons/hicolor/index.theme new file mode 100644 index 0000000..2230716 --- /dev/null +++ b/clients_icons/hicolor/index.theme @@ -0,0 +1,28 @@ +[Icon Theme] +Name=hicolor +Comment=Icons for XMPP Clients + +# Directory list +Directories=16x16/apps,22x22/apps,32x32/apps,scalable/apps + +[16x16/apps] +Context=Applications +Size=16 +Type=Fixed + +[22x22/apps] +Context=Applications +Size=22 +Type=Fixed + +[32x32/apps] +Context=Applications +Size=32 +Type=Fixed + +[scalable/apps] +Context=Applications +Size=16 +MinSize=8 +MaxSize=512 +Type=Scalable \ No newline at end of file diff --git a/clients_icons/hicolor/scalable/apps/xmpp-client-gajim.svg b/clients_icons/hicolor/scalable/apps/xmpp-client-gajim.svg new file mode 100644 index 0000000..44c440f --- /dev/null +++ b/clients_icons/hicolor/scalable/apps/xmpp-client-gajim.svg @@ -0,0 +1,449 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Gajim + 28.10.2006 + + + Josef Vybíral + + + + + + + + + + + + + http://cornelius.gimp.cz + + + gajim + jabber + im + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/clients_icons/hicolor/scalable/apps/xmpp-client-sat.svg b/clients_icons/hicolor/scalable/apps/xmpp-client-sat.svg new file mode 100644 index 0000000..52e8d9a --- /dev/null +++ b/clients_icons/hicolor/scalable/apps/xmpp-client-sat.svg @@ -0,0 +1,727 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/clients_icons/icons/bombus-avalon.png b/clients_icons/icons/bombus-avalon.png deleted file mode 100644 index 0e967e0908202ce8d3c6d55f6f46bc2c25558270..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1746 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 T4cod=00000NkvXXu0mjf@~K6f diff --git a/clients_icons/icons/bombusmod.png b/clients_icons/icons/bombusmod.png deleted file mode 100644 index 3c6153984d8871c8e44e4e751c7ae4efb1112933..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2236 zcmV;t2t)UYP)4Tx0C)j~RL^S@K@|QrZmG~B2wH0nvUrdpNm;9CMbtL^5n^i$+aIn^?(HA4aZWV5ov6ELTdbo0FI&wK{O>*+w4vx20?>!`FrQsdJlnHR>OPy zcd~b_n$otK2Za4V;76L-DzNVtaSB-y0*E}{p()372;bw_^6ZZ}PI-92wGS&j#91PI zKs7DSe@(bk%_Y-7gGe}(^>I=@oY#w#*Bu9GZf3^F5WP>3rn}7Ut74&?PWBFvy`A)a zPP5)V!Xd&78LdA?xQ(9mjMYElVd13a#D+Z_7&Y|xU=_C-srWU*6kiZcC!$nw*)9$7 zn6CX+@=AhmkT}X@VSsa5NKe;HZuq)~1$`#h6R+ZTR#D-3j}vF!)ZOnz+5)dI4jl{{ z44Mr{P!L4~VVJN`K!!XTF*LGrKO?IK8z<8w`3e3jI8lUGNUta*C8 zn(P`s>{pjD=7Kek#B;Fw@hxAK%$F&Q6vg9J^Xf~4by_hu-=A!MJ3Znq&n~srbFGPs zH&&aMXZ>nO`|hf|ljc?VPhR!${AbO?W8x_>CU%PFA&Hm8F7cAsOREdwU~R_;ot1_u z(ruCYB-LPGn!NQdT|ZlRy+(fw^-+`=%+gee_kY4FWHg<*4sZI8+sFJD270UUORdLHO0nA4V) z%{fwsET5CQ>B?eK%uw4yQc~9?*JVo2}ze(;aRcp*ceL#HUJSllrgm5wQKR zQu+C;QrUh^8rFfA`ftFz{YAidi-`aL010qNS#tmY3ljhU3ljkVnw%H_00neOL_t(I z5q(q*P}5}?fB*l@@v*^x4cNv8Obmu>3nvg5#XL2{4!g`jrb4JdXO^cI)paVYL{HBT zj65_Fz2GdyVQPdQr-B8dz!Jlm9|-~S&1!=UHrV#|zJE4DOW)gj&)56>{=Yr%^Sl5; z2%ttoqonE1TFt>6Tjr|(UOArMNcnIaLc*zI>C&oh?qTx7A)igmiH`Mi}ot8T1JoFxKfc7Ad zsZ{pof#TS7DNwCkOBSPq2E!Ea^YtMU6nw|SyKSVG54&jnlGPKRsq>o-e_0fP&W7Og z&tpz^0lH*YznQ@c6oWDIBhcObD`_Tr?czwgciE+rbI@g73=0zoHK)FBOW)+q>*m!u|gSpHj&l^%+1X{?`O zv-tx!QLEMBdgENzMPWCf6%-UuidK7{E)dLj$X*n?Gk{0#$loT?-G>Vro9_^M!vqut z36o?|+~n+y+Y^KMe6P6@!DIk0^s+!8z-(Q${1+VeqQ=$7&c19utJ$Ib@oevbf{*bf z;UsEr$zJ9-uq~bP<>qGEzdf?Ax?6W^Il|ze?TfKon}7ucB*@Qq)YK53J5 zOd%l1=ej{e19CWQ=1}_btveNOU3(2N~==G$0qIZGCx{uln>~CWB|7w8o|mH zsX!4e108pDgd5EcJ!n(#;e%`TH;-M5K5?2DxuNP7w*gArq(qy!E3h%9YGuh;0st#A`v^( z2QH8nlX2TRRkA|*g4lCvl3@!D45W2-4wCIn*X+F=`bgujDV{}6s+<#(|9B*S)Ae15 z3Xf*-_r#t-k>89+VSsJ7HX<-j(q_JN4|Qm zOc*ehy(Z`9Z`5jnt_(kv$MIu}IDDq{mbQU(V^{%);|T`(hf(j$7{eJl^+9Z-MaQzK z`ONCN%ZH&+U$+$7Pd@`Qaw*LJJey9o6rx(KCQ*V7RfxHEZJJkcabcP_d(L@h$?WxN zH60`+p_HrCkIJRY`e!nJ;-8%R>13W>{~&>4s-gzqiTKlOvHcINoCO~h(U<)I0000< KMNUMnLSTZq;7A$( diff --git a/clients_icons/icons/bombusng.png b/clients_icons/icons/bombusng.png deleted file mode 100644 index 7d333a52bd1d6aaa13efbafbe0c898bcc80094d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2202 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 diff --git a/clients_icons/icons/bombusqd.png b/clients_icons/icons/bombusqd.png deleted file mode 100644 index 49ed15d4e903681514b5a4f4b15ec72fd06d5f2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1384 zcmV-u1(*7XP)#^yD5 z!9>ToaBUq+#dM{2{iJEzgF=&Gxs7_O?s!+#x8EOK!ejqvh2ow%_u6lRzaHmd?Zr)c zO9#_6_(hAdD;T$n=GVCb@#)YZw3?$syIcl1I8{x|Sf zCpVrQ9Qx#5t^CF>H?AmN?ja7QH{tt=iSo=G60(j0_t4hfhT`-TJmy1K(E?Vqk&+e2 zEX2;94cNPD_swm++YjL2!CCPmNm@HSGJ5*w;oC3w-@GPH&d#8@YC)}*ajKL8`*2`$dT*TaFbPBbzUe-oeyd z0nbV*-bxtYu+ZuSh*4QD$iRE50Nv*p*Fh$Y`95N4JsSJZ5LpIHZUNJ-+#EMy-?&3xd6!*QD+_+j3E-c8ajvv zfF1$~Vvr)BKw_{dL7l8hKFqbz)ShfdX4M`kd-~#`ZbwEJeV8XxC>V4aLoi}5ARu7y z5JD&sIG}MK)N)WkR0|+*Mno9YXwUUf9k`>7&*wgt3`I{c8cMVrGMgf7K|q6e%FzY| z$&>(sMBNTy6JU+pt28tzO6CiQ6NzSW6@3rE#4I#b%1E&{UoI!QjpkBz0)=8_F)(5f zG2xWNCH8?p?*#4>$AEyNqN4V20;D2H*9;b!sA@1au7a9bUY6kb_RPc-nB^fs?kcfY z$U9;Yh#@Q*T%ABYfqF_zHJ|!RU~OIqg;+-`SWHO3F^Xz$LET8)l-z4$#ni0X)#VAK zTu|A>f{c;ex(G?3*d!&8MdB%l@aTU8r%*-FMMJI-DY;IqGGZyTwk)?-b}ai^kecIP zR+}`}Yd26;CCn4EEKP^g`vEzIzGMrwQi*opq2N2Hl4>dhmXkQ<5+psD4h?aBNOI(< z1ibc+DQxIDFNsHwe-k&oeb1Oq-{_@T+@PQjS)Hf|sFTb^V*aNGT=E(6qzI1&n%C4LedLxwQ6Ekq@mK@tG!!rc*_o~Np%e%cfbDV+8qAu(>}9Q{Cw=r z@Tx|>2C+djDR8(rk6Tt5lXM7ZZb-{Aj&!ZYj<%H;vKwgH@-(DnZMk%2?GNp0;)>$1 zGs$<3l1M+Fg21Of=)cgH9+)$5cMw{9tN2eg5p(+Wy0b q&OCqOL~hCLanJt-eq6-=-1`eczg?-f=c+pZ0000 diff --git a/clients_icons/icons/gajim.png b/clients_icons/icons/gajim.png deleted file mode 100644 index 8c60bfca26adc116b50ec3d06cb46051ab7dbf9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2091 zcmV+`2-Nq9P)4Tx0C)j~RL^S@K@|QrZmG~B2wH0nvUrdpNm;9CMbtL^5n^i$+aIn^?(HA4aZWV5ov6ELTdbo0FI&wK{O>*+w4vx20?>!`FrQsdJlnHR>OPy zcd~b_n$otK2Za4V;76L-DzNVtaSB-y0*E}{p()372;bw_^6ZZ}PI-92wGS&j#91PI zKs7DSe@(bk%_Y-7gGe}(^>I=@oY#w#*Bu9GZf3^F5WP>3rn}7Ut74&?PWBFvy`A)a zPP5)V!Xd&78LdA?xQ(9mjMYElVd13a#D+Z_7&Y|xU=_C-srWU*6kiZcC!$nw*)9$7 zn6CX+@=AhmkT}X@VSsa5NKe;HZuq)~1$`#h6R+ZTR#D-3j}vF!)ZOnz+5)dI4jl{{ z44Mr{P!L4~VVJN`K!!XTF*LGrKO?IK8z<8w`3e3jI8lUGNUta*C8 zn(P`s>{pjD=7Kek#B;Fw@hxAK%$F&Q6vg9J^Xf~4by_hu-=A!MJ3Znq&n~srbFGPs zH&&aMXZ>nO`|hf|ljc?VPhR!${AbO?W8x_>CU%PFA&Hm8F7cAsOREdwU~R_;ot1_u z(ruCYB-LPGn!NQdT|ZlRy+(fw^-+`=%+gee_kY4FWHg<*4sZI8+sFJD270UUORdLHO0nA4V) z%{fwsET5CQ>B?eK%uw4yQc~9?*JVo2}ze(;aRcp*ceL#HUJSllrgm5wQKR zQu+C;QrUh^8rFfA`ftFz{YAidi-`aL010qNS#tmY4c7nw4c7reD4Tcy00iSnL_t(I z5rtK2Y*a-QJ~Q{RcXw~w?GyTdVht!Ukob(C&=RU40Zd8kYK(~@3K}0V#2@_Y_6I*S zCK#hXnm2p)o}Ny{>o3>;3p((_t8XR--zv)voY{S;cgNdub8Bnc3Y-;&mX=D_wtmZ#yX$Jx2B({BMKd+(#6i(&K~YUAfD+DP zV3x6c61c7H0wXB0@5u^aZ$i=h1`r3hJxh4DAN3974VMcG=_5oqS)f$$dFz*Jb-5v( z9zo^-7Lp@Z@|ilIFr?af6QNY%uoO5f2ZB3X_f;s_TzW{Zy?Ak#BSi_)}M7gg1H;#zj}9e*uw~i zqa3{#?j?|?^&lwnZ$^6eAN7UAE50h$oYU_>YJv;p@=K(tI)D`9;P$KmcS1jlz^2nA z02{$tD1F$ z|1n_D4hw}GWRjEc&|{wh3tbR%3&4YVnNks~2fk>qOe+7@sly|mxzMt}JB~N5+y2C( zgKTZQCU$E8JqIu}9j~herrHcNRSh$-onRHKAhhNu@YRjOOztLdW`WIsTQ)G$AJA)p zEij+3UOsi`&oAAoC@Zh5%H&fC5;tLk)?SgNac!<}T__Yt%AN!xn1sr$gCHCoIaUxf z4-RI7V;v|WKx+eax>F?SbiuN1UI@8#pu^~&tW4rN@cQz; zb)d{f5Mdz4-1Sl>5wK`T(>Bl|zY?vX9j@;Q-}{B;zh?&}g=#^p5Y<#ShcXh!atgrJ zne(&1idc?wQS8fa4!=y8`Z3>Bcd^|kV*iZy0EHI$%2 zgkmu#pP#qqMh9mnCx3LS$ZmKT)ae1hq6CJ(C9kDktwmP(-7H^+A)sUb{&fF4|2NKF V8<5E8h${d9002ovPDHLkV1kbU`W65H