You are not logged in.
pidgin systray icon does not follow panel background, so i googled and get something.
https://bugs.launchpad.net/ubuntu/+sour … bug/532789
https://bugs.launchpad.net/ubuntu/+sour … bug/529375
https://bugs.launchpad.net/ubuntu/+sour … bug/447548
i found this bug is fixed in ubuntu 10.04, so i searched the patch files.
http://archive.ubuntu.com/ubuntu/pool/m … ian.tar.gz
seems 91_gtkstatusicon_backport.patch is the patch i need. after applied the patch, i found the background problem is gone but the icon is missing. the showing icon is the one when icon is missing or loading.
and i don't know what to do now. any ideas?
sorry for my english.
--------
Solution: #23
Last edited by jarryson (2010-04-29 06:17:42)
Offline
91_gtkstatusicon_backport.patch:
http://pastebin.com/wxqX5suS
Offline
this is fixed already upstream and it would be available in pidgin 2.7
Give what you have. To someone, it may be better than you dare to think.
Offline
Thanks very much, good to hear.
but seems need to wait for a long time, so it will be great if some one can give me a hint with that patch.
Offline
use abs to get PKGBUILD, then add the patch to the sources, add after cd $pkgname-$pkgver, patch -Np1 -i $srcdir/patchname, regenerate md5 with makepkg -g and then makepkg
Give what you have. To someone, it may be better than you dare to think.
Offline
yes, i did exactlly like you said, but problem is the icon is missing, while the background is normal now. like i said in the top.
Last edited by jarryson (2010-03-25 05:59:02)
Offline
the icon is missing
Maybe will be fixed by:
gtk-update-icon-cache -f
Then logout/login.
Note that pidgin.install basically does that.
Offline
thanks, but pidgin.install already did that, and the icon is not locate in /usr/share/icons/hicolor
This patch is quite new, from ubuntu, it would be better if someone have a try.
Last edited by jarryson (2010-03-25 08:39:01)
Offline
In Lunar Linux, we have:
$ lvu install pidgin | grep hicolor
/usr/share/icons/hicolor/16x16/apps/pidgin.png
/usr/share/icons/hicolor/22x22/apps/pidgin.png
/usr/share/icons/hicolor/24x24/apps/pidgin.png
/usr/share/icons/hicolor/32x32/apps/pidgin.png
/usr/share/icons/hicolor/48x48/apps/pidgin.png
/usr/share/icons/hicolor/scalable/apps/pidgin.svg
And:
$ grep Icon /usr/share/applications/pidgin.desktop
Icon=pidgin
Offline
i mean the system tray icon did not use pidign.png
Offline
2jarryson
How did you fix (if you did) the missing icon problem?
Offline
Tried the patch and got the same problem. it can't find the pidgin picture (or the patch points to a picture that don't exist) only shows the icon packs standard icon for icon not found.
Anyone have manage to get it right?
Offline
no i could not find a way to solve this problem. and i checked ubuntu but still did not figer out
Offline
Here is the patch from pidgin official. It works well.
pidgin-gtkstatusicon-blink.patch: http://pastebin.com/R1TpuN7s
gtkstatusicon_pidginstock.patch: http://pastebin.com/wmRvhD2g
but the icon size is not correct when the panel is 22x, but 24x is ok.
Offline
Here is the patch from pidgin official. It works well.
pidgin-gtkstatusicon-blink.patch: http://pastebin.com/R1TpuN7s
gtkstatusicon_pidginstock.patch: http://pastebin.com/wmRvhD2g
but the icon size is not correct when the panel is 22x, but 24x is ok.
Are you sure that's all of the patches you used?
It complains at me if I do that: gtkdocklet.c:848: undefined reference to `docklet_ui_init'.. perhaps I did something stupid?.. post your pkguild+files, please?
Last edited by FrozenFox (2010-04-28 13:32:15)
Offline
i also add other patches, but i don't think they are related.
i compiled without errors, have your successfully add these patches?
Offline
I have the same problem. Building fails with only these two patches.
Offline
oh, i know.
maybe need add these lines before "./configure"
glib-gettextize -f
libtoolize --force
intltoolize --force --copy --automake
aclocal $ACLOCAL_FLAGS -I .
autoheader
automake -a -c -f
autoconf
PS: Now the problem is the icon size is not very suitable for 22px panel.
PS2: And i still didn't figure why ubuntu patches works on ubuntu but not arch..
Last edited by jarryson (2010-04-28 14:36:37)
Offline
Because u never know what else is patched on ubuntu
Applying ubuntu patches on a near vanilla distribution like arch is pretty suicidal imho
Offline
maybe need add these lines before "./configure"
glib-gettextize -f libtoolize --force intltoolize --force --copy --automake aclocal $ACLOCAL_FLAGS -I . autoheader automake -a -c -f autoconf
\o/ it worked. Thanks.
Offline
I've uploaded the patched pidgin pkgbuild stuff and compiled packages here to save people some trouble. I use the default panel size (24), so these patches work great for me and I have no icon size trouble; for those who wish to try with pacman -U *tar.xz, it's there. I don't know which are necessary (from pidgin, libpurple, finch).. I expect only pidgin. Just in case though, there they all are. x86_64 and i686 are now both up. When a better solution/patchset comes around, I'll update accordingly.
******** EDIT: See the new link 3 posts down, and IGNORE the link in the post directly below this one. *********
Last edited by FrozenFox (2010-04-29 09:36:09)
Offline
I've uploaded the patched pidgin pkgbuild stuff and compiled packages here to save people some trouble. I use the default panel size (24), so these patches work great for me and I have no icon size trouble; for those who wish to try with pacman -U *tar.xz, it's there. I don't know which are necessary (from pidgin, libpurple, finch).. I expect only pidgin. Just in case though, there they all are. x86_64 and i686 are now both up. When a better solution/patchset comes around, I'll update accordingly.
Yay! that worked for me. The tray icon for pidgin was bugging the crap out of me, but I guess not enough to get me to fix it on my own. Thanks for doing it for us!
Offline
finally i know how to make ubuntu patches work..
i recommand ubuntu patch. these patches can make tray icon changable. if your gtk icon theme contain pidign-tray-*.png, pidgin can use them instead of the original ones.
actually the patches pidgin official merged more like ubuntu ones. and these patch have no problem with different size of panels.
hope you understand what i am saying...
you need these patches( from ubuntu ):
91_gtkstatusicon_backport.patch
92_gtkstatusicon_blink.patch
gtkstatusicon_pidginstock.patch
NOTE: you need copy some icon files to /usr/share/icons/hicolor, so add following case to your PKGBUILD
cd $pkgdir/usr/share/pixmaps/pidgin/tray
for i in *;do
rm ${i}/*.ico
for j in ${i}/*.png;do
install -Dm644 ${j} $pkgdir/usr/share/icons/hicolor/${i}x${i}/status/pidgin-`basename ${j}`
done
done
cd $OLDPWD
and also need recreate makefile.in:
glib-gettextize -f
libtoolize --force
intltoolize --force --copy --automake
aclocal $ACLOCAL_FLAGS -I .
autoheader
automake -a -c -f
autoconf
and Here is the example PKGBUILD :
pkgbase=('pidgin')
pkgname=('libpurple' 'pidgin')
pkgver=2.6.6
pkgrel=1
arch=('i686' 'x86_64')
url="http://pidgin.im/"
license=('GPL')
makedepends=('startup-notification' 'libxss' 'nss' 'python'
'hicolor-icon-theme' 'gstreamer0.10-base'
'ca-certificates' 'intltool' 'networkmanager')
options=('!libtool')
source=(http://downloads.sourceforge.net/${pkgbase}/${pkgver}/${pkgbase}-${pkgver}.tar.bz2)
sha256sums=()
apatch(){
for i in $startdir/*.patch; do
msg2 "Add `basename $i`"
patch -Np1 -i $i || return 1
done
}
build() {
cd "$srcdir/$pkgbase-$pkgver"
apatch || return 1
glib-gettextize -f
libtoolize --force
intltoolize --force --copy --automake
aclocal $ACLOCAL_FLAGS -I .
autoheader
automake -a -c -f
autoconf
./configure --prefix=/usr --sysconfdir=/etc \
--with-gconf-schema-file-dir=/usr/share/gconf/schemas \
--with-system-ssl-certs=/etc/ssl/certs \
--disable-tk --disable-tcl --disable-gtkspell --disable-avahi \
--disable-doxygen --disable-vv --disable-idn\
--disable-perl --disable-gnutls --disable-meanwhile --disable-consoleui\
--enable-cyrus-sasl --enable-gstreamer --enable-nm --enable-gnome-keyring|| return 1
make || return 1
}
package_libpurple(){
pkgdesc="IM library extracted from Pidgin"
depends=('libsasl' 'dbus-glib' 'nss')
conflicts=('libpurple')
provides=('libpurple' "libpurple=$pkgver")
install=libpurple.install
cd "$srcdir/$pkgbase-$pkgver"
for dir in libpurple share/sounds share/ca-certs m4macros po
do
make -C "$dir" DESTDIR="$pkgdir" install || return 1
done
# rm -rf "$pkgdir/etc" || return 1
}
package_pidgin(){
pkgdesc="Multi-protocol instant messaging client"
depends=("libpurple=$pkgver" 'startup-notification' 'libxss' 'python'
'hicolor-icon-theme' 'gstreamer0.10-base' 'gnome-keyring')
conflicts=('pidgin')
provides=('pidgin' "pidgin=$pkgver")
optdepends=('gstreamer0.10-good: to play sounds'
'avahi: Bonjour protocol support'
'tk: Tcl/Tk scripting support'
'ca-certificates: SSL CA certificates'
'aspell: for spelling correction')
install=pidgin.install
cd "$srcdir/$pkgbase-$pkgver"
#for linking
make -C libpurple DESTDIR="$pkgdir" install-libLTLIBRARIES || return 1
make -C pidgin DESTDIR="$pkgdir" install || return 1
make -C doc DESTDIR="$pkgdir" install || return 1
#clean up libpurple
make -C libpurple DESTDIR="$pkgdir" uninstall-libLTLIBRARIES || return 1
install -D -m 0644 pidgin.desktop "$pkgdir"/usr/share/applications/pidgin.desktop || return 1
rm -f "$pkgdir"/usr/share/man/man1/finch.1 || return 1
cd $pkgdir/usr/share/pixmaps/pidgin/tray
for i in *;do
rm ${i}/*.ico
for j in ${i}/*.png;do
install -Dm644 ${j} $pkgdir/usr/share/icons/hicolor/${i}x${i}/status/pidgin-`basename ${j}`
done
done
cd $OLDPWD
}
#package_finch(){
# pkgdesc="A ncurses-based messaging client"
# depends=("libpurple=$pkgver")
# optdepends=('avahi: Bonjour protocol support'
# 'tk: Tcl/Tk scripting support'
# 'ca-certificates: SSL CA certificates')
# cd "$srcdir/$pkgbase-$pkgver"
# #for linking
# make -C libpurple DESTDIR="$pkgdir" install-libLTLIBRARIES || return 1
# make -C finch DESTDIR="$pkgdir" install || return 1
# make -C doc DESTDIR="$pkgdir" install || return 1
# #clean up libpurple
# make -C libpurple DESTDIR="$pkgdir" uninstall-libLTLIBRARIES || return 1
# rm -f "$pkgdir"/usr/share/man/man1/pidgin.1 || return 1
#}
Last edited by jarryson (2010-04-29 09:31:28)
Offline
Jowilkin: You're welcome vast majority of the thanks should be to jarryson though.
(I hope you come back to this thread and notice the new links..)
Jarryson: Awesome! Thanks
I have made new packages from your new stuff and tweaked it accordingly (it needed the patch sources, patch md5sums, had an extraneous reference to libpurple.install, and had a dependency on libpurple-gnome instead of libpurple), and posted them to a new shared folder.
I'm pretty sure you have 2 more unnecessary lines in there, but for lack of time I didn't remove them and check. It really doesn't matter anyway
EDIT: Oops. Accidentally deleted the x86_64 bins. They're back again now.. hopefully they will stay there
ALSO: Maybe I'm crazy, but.. I'm pretty sure the previous packages changed to a different style of icons.. these packages for sure have the icons how they were before. O.o
EDIT2: Bah. I didn't notice just how many changes Jarryson's packages made to the Arch ones (like removing aspell support). I have started over accordingly, and just added the corrected stuff to the Arch pkgbuilds. His are there though too if you want them.
TLDR:
These are Arch's packages patched + tweaked (I haven't tested i686 yet, x86_64 + pkgbuild work):
http://www.mediafire.com/?sharekey=6884 … 8e5b24962e
These are Jarryson's minimal packages, tweaked:
http://www.mediafire.com/?sharekey=6884 … 9d3b204475
Last edited by FrozenFox (2010-05-01 05:27:45)
Offline
Just to let you know, since Pidgin 2.7 this is fixed upstream, so no need for ugly hacks anymore.
Offline