Merge lp:~cairo-dock-team/ubuntu/precise/cairo-dock-plug-ins/3.0.0.0beta1 into lp:ubuntu/precise/cairo-dock-plug-ins

Proposed by Matthieu Baerts on 2012-02-14
Status: Merged
Merge reported by: Stefano Rivera
Merged at revision: not available
Proposed branch: lp:~cairo-dock-team/ubuntu/precise/cairo-dock-plug-ins/3.0.0.0beta1
Merge into: lp:ubuntu/precise/cairo-dock-plug-ins
Diff against target: 174493 lines (+69904/-47645)
482 files modified
.pc/01-removed-useless-g_print.patch/switcher/src/applet-draw.c (+0/-689)
.pc/01-removed-useless-g_print.patch/switcher/src/applet-load-icons.c (+0/-238)
.pc/applied-patches (+0/-1)
Animated-icons/data/Animated-icons.conf.in (+0/-9)
Animated-icons/src/applet-config.c (+0/-5)
Animated-icons/src/applet-pulse.c (+2/-1)
Animated-icons/src/applet-rays.c (+4/-2)
Animated-icons/src/applet-rotation.c (+3/-3)
Animated-icons/src/applet-spot.c (+3/-3)
Animated-icons/src/applet-unfold.c (+14/-19)
Animated-icons/src/applet-wave.c (+5/-5)
Animated-icons/src/applet-wobbly.c (+3/-3)
Applets.stable (+2/-0)
CMakeLists.txt (+284/-174)
Cairo-Penguin/data/Cairo-Penguin.conf.in (+2/-2)
Cairo-Penguin/src/applet-animation.c (+8/-13)
Cairo-Penguin/src/applet-animation.h (+2/-2)
Cairo-Penguin/src/applet-init.c (+6/-6)
Cairo-Penguin/src/applet-notifications.c (+5/-14)
Clipper/data/Clipper.conf.in (+3/-4)
Clipper/src/applet-clipboard.c (+5/-2)
Clipper/src/applet-config.c (+2/-23)
Clipper/src/applet-init.c (+13/-3)
Clipper/src/applet-notifications.c (+21/-7)
Clipper/src/applet-notifications.h (+3/-3)
Clipper/src/applet-struct.h (+2/-1)
Composite-Manager/data/Composite-Manager.conf.in (+4/-5)
Composite-Manager/src/applet-config.c (+2/-12)
Composite-Manager/src/applet-init.c (+11/-0)
Composite-Manager/src/applet-notifications.c (+9/-3)
Composite-Manager/src/applet-notifications.h (+4/-2)
Composite-Manager/src/applet-struct.h (+2/-1)
Dbus/interfaces/bash/CDBashApplet.py (+0/-83)
Dbus/interfaces/bash/CDBashApplet.py.in (+83/-0)
Dbus/interfaces/bash/CDBashApplet.sh (+4/-1)
Dbus/interfaces/bash/CMakeLists.txt (+4/-3)
Dbus/interfaces/mono/CDApplet.cs (+5/-1)
Dbus/interfaces/mono/CMakeLists.txt (+1/-1)
Dbus/interfaces/python/CDApplet.py (+0/-272)
Dbus/interfaces/python/CDApplet.py.in (+275/-0)
Dbus/interfaces/python/CMakeLists.txt (+5/-3)
Dbus/interfaces/python/CairoDock.py (+0/-115)
Dbus/interfaces/python/CairoDock.py.in (+117/-0)
Dbus/interfaces/ruby/CDApplet.rb (+3/-3)
Dbus/interfaces/vala/CDApplet.vala (+5/-1)
Dbus/interfaces/vala/src/CDApplet.h (+2/-2)
Dbus/src/applet-dbus.c (+7/-4)
Dbus/src/applet-struct.h (+2/-1)
Dbus/src/dbus-applet-spec.h (+200/-199)
Dbus/src/dbus-main-spec.h (+264/-264)
Dbus/src/dbus-sub-applet-spec.h (+104/-104)
Dbus/src/dbus_applet_introspectable.xml (+3/-0)
Dbus/src/interface-applet-methods.c (+112/-126)
Dbus/src/interface-applet-methods.h (+2/-0)
Dbus/src/interface-applet-object.c (+9/-6)
Dbus/src/interface-applet-signals.c (+9/-9)
Dbus/src/interface-main-methods.c (+11/-16)
Disks/data/Disks.conf.in (+2/-3)
Disks/src/applet-notifications.c (+0/-4)
Doncky/data/Doncky.conf.in (+3/-4)
Doncky/src/applet-notifications.c (+1/-2)
Folders/data/Folders.conf.in (+3/-4)
Folders/src/applet-notifications.c (+22/-20)
GMenu/data/GMenu.conf.in (+3/-4)
GMenu/src/applet-config.c (+0/-6)
GMenu/src/applet-init.c (+16/-4)
GMenu/src/applet-menu-callbacks.c (+31/-30)
GMenu/src/applet-menu.c (+35/-30)
GMenu/src/applet-menu.h (+1/-1)
GMenu/src/applet-notifications.c (+0/-5)
GMenu/src/applet-run-dialog.c (+3/-0)
GMenu/src/applet-struct.h (+7/-5)
Global-Menu/CMakeLists.txt (+6/-0)
Global-Menu/data/CMakeLists.txt (+12/-0)
Global-Menu/data/Global-Menu.conf.in (+131/-0)
Global-Menu/data/button-close.svg (+1198/-0)
Global-Menu/data/button-max.svg (+839/-0)
Global-Menu/data/button-min.svg (+323/-0)
Global-Menu/data/button-restore.svg (+1082/-0)
Global-Menu/data/icon.svg (+441/-0)
Global-Menu/registrar/CMakeLists.txt (+8/-0)
Global-Menu/registrar/appmenu-registrar.py.in (+95/-0)
Global-Menu/src/CMakeLists.txt (+50/-0)
Global-Menu/src/MwmUtil.h (+136/-0)
Global-Menu/src/applet-app.c (+462/-0)
Global-Menu/src/applet-app.h (+44/-0)
Global-Menu/src/applet-config.c (+57/-0)
Global-Menu/src/applet-config.h (+30/-0)
Global-Menu/src/applet-draw.c (+406/-0)
Global-Menu/src/applet-draw.h (+44/-0)
Global-Menu/src/applet-init.c (+228/-0)
Global-Menu/src/applet-init.h (+31/-0)
Global-Menu/src/applet-notifications.c (+365/-0)
Global-Menu/src/applet-notifications.h (+58/-0)
Global-Menu/src/applet-struct.h (+90/-0)
Impulse/data/Impulse.conf.in (+1/-2)
Impulse/src/CMakeLists.txt (+10/-3)
Impulse/src/Impulse.c (+69/-48)
Impulse/src/Impulse.h (+7/-7)
Impulse/src/applet-impulse.c (+5/-4)
Impulse/src/applet-init.c (+4/-3)
Impulse/src/applet-notifications.c (+1/-2)
Indicator-applet/CMakeLists.txt (+3/-0)
Indicator-applet/indicator-applet.c (+78/-36)
Indicator-applet/indicator-applet.h (+12/-4)
MeMenu/data/MeMenu.conf.in (+1/-2)
MeMenu/src/CMakeLists.txt (+6/-0)
MeMenu/src/about-me-menu-item.c (+14/-2)
MeMenu/src/about-me-menu-item.h (+1/-1)
MeMenu/src/applet-init.c (+2/-1)
MeMenu/src/applet-menu.c (+38/-4)
MeMenu/src/applet-menu.h (+4/-0)
MeMenu/src/applet-notifications.c (+1/-2)
Messaging-Menu/data/Messaging-Menu.conf.in (+11/-3)
Messaging-Menu/src/CMakeLists.txt (+3/-0)
Messaging-Menu/src/applet-config.c (+2/-2)
Messaging-Menu/src/applet-init.c (+18/-4)
Messaging-Menu/src/applet-menu.c (+125/-68)
Messaging-Menu/src/applet-menu.h (+4/-0)
Messaging-Menu/src/applet-notifications.c (+16/-4)
Messaging-Menu/src/applet-notifications.h (+3/-2)
Messaging-Menu/src/applet-struct.h (+2/-1)
Network-Monitor/data/Network-Monitor.conf.in (+2/-3)
Network-Monitor/src/applet-menu.c (+3/-2)
Network-Monitor/src/applet-notifications.c (+10/-28)
Network-Monitor/src/applet-wifi.c (+1/-1)
RSSreader/data/RSSreader.conf.in (+3/-4)
RSSreader/src/applet-notifications.c (+0/-4)
RSSreader/src/applet-rss.c (+2/-2)
Recent-Events/data/Recent-Events.conf.in (+2/-3)
Recent-Events/src/applet-config.c (+0/-4)
Recent-Events/src/applet-dialog.c (+9/-4)
Recent-Events/src/applet-init.c (+6/-3)
Recent-Events/src/applet-notifications.c (+6/-5)
Recent-Events/src/applet-struct.h (+1/-0)
Remote-Control/data/Remote-Control.conf.in (+5/-1)
Remote-Control/src/applet-config.c (+3/-6)
Remote-Control/src/applet-icon-finder.c (+57/-38)
Remote-Control/src/applet-init.c (+15/-11)
Remote-Control/src/applet-notifications.c (+158/-47)
Remote-Control/src/applet-notifications.h (+3/-3)
Remote-Control/src/applet-session.c (+85/-40)
Remote-Control/src/applet-session.h (+8/-3)
Remote-Control/src/applet-struct.h (+11/-3)
Scooby-Do/data/calc.sh (+4/-4)
Scooby-Do/data/updatedb.sh (+4/-4)
Scooby-Do/src/applet-config.c (+0/-2)
Scooby-Do/src/applet-init.c (+7/-2)
Scooby-Do/src/applet-listing.c (+24/-20)
Scooby-Do/src/applet-notifications.c (+7/-2)
Scooby-Do/src/applet-session.c (+7/-5)
Scooby-Do/src/applet-struct.h (+1/-0)
Status-Notifier/data/Status-Notifier.conf.in (+20/-6)
Status-Notifier/src/CMakeLists.txt (+3/-0)
Status-Notifier/src/applet-config.c (+2/-1)
Status-Notifier/src/applet-draw.c (+10/-10)
Status-Notifier/src/applet-draw.h (+0/-6)
Status-Notifier/src/applet-host-ias.c (+2/-2)
Status-Notifier/src/applet-host-kde.c (+3/-2)
Status-Notifier/src/applet-host.c (+3/-3)
Status-Notifier/src/applet-init.c (+8/-8)
Status-Notifier/src/applet-item.c (+18/-10)
Status-Notifier/src/applet-item.h (+3/-0)
Status-Notifier/src/applet-notifications.c (+1/-2)
Status-Notifier/src/applet-struct.h (+8/-4)
Status-Notifier/watcher/CMakeLists.txt (+2/-12)
Status-Notifier/watcher/status-notifier-watcher.py (+0/-131)
Status-Notifier/watcher/status-notifier-watcher.py.in (+143/-0)
System-Monitor/data/System-Monitor.conf.in (+4/-5)
System-Monitor/src/applet-notifications.c (+0/-4)
System-Monitor/src/applet-top.c (+1/-1)
Toons/data/Toons.conf.in (+2/-3)
Toons/src/applet-draw.c (+1/-1)
Toons/src/applet-notifications.c (+3/-4)
Xgamma/data/Xgamma.conf.in (+10/-4)
Xgamma/src/applet-config.c (+4/-0)
Xgamma/src/applet-init.c (+17/-0)
Xgamma/src/applet-notifications.c (+12/-7)
Xgamma/src/applet-notifications.h (+6/-3)
Xgamma/src/applet-struct.h (+4/-0)
Xgamma/src/applet-xgamma.c (+14/-4)
alsaMixer/data/AlsaMixer.conf.in (+30/-24)
alsaMixer/data/broken.svg (+737/-154)
alsaMixer/data/default.svg (+107/-73)
alsaMixer/data/mute.svg (+866/-327)
alsaMixer/src/CMakeLists.txt (+68/-67)
alsaMixer/src/applet-backend-alsamixer.c (+375/-0)
alsaMixer/src/applet-backend-alsamixer.h (+33/-0)
alsaMixer/src/applet-backend-sound-menu.c (+226/-0)
alsaMixer/src/applet-backend-sound-menu.h (+32/-0)
alsaMixer/src/applet-config.c (+1/-7)
alsaMixer/src/applet-draw.c (+26/-36)
alsaMixer/src/applet-draw.h (+2/-8)
alsaMixer/src/applet-generic.c (+123/-0)
alsaMixer/src/applet-generic.h (+45/-0)
alsaMixer/src/applet-init.c (+44/-91)
alsaMixer/src/applet-menu.c (+464/-0)
alsaMixer/src/applet-menu.h (+35/-0)
alsaMixer/src/applet-mixer.c (+0/-309)
alsaMixer/src/applet-mixer.h (+0/-55)
alsaMixer/src/applet-notifications.c (+27/-31)
alsaMixer/src/applet-struct.h (+27/-1)
alsaMixer/src/common-defs.h (+93/-0)
alsaMixer/src/dbus-shared-names.h (+37/-0)
alsaMixer/src/metadata-widget.c (+995/-0)
alsaMixer/src/metadata-widget.h (+55/-0)
alsaMixer/src/mute-widget.c (+135/-0)
alsaMixer/src/mute-widget.h (+67/-0)
alsaMixer/src/transport-widget.c (+1882/-0)
alsaMixer/src/transport-widget.h (+73/-0)
alsaMixer/src/voip-input-widget.c (+289/-0)
alsaMixer/src/voip-input-widget.h (+60/-0)
alsaMixer/src/volume-widget.c (+327/-0)
alsaMixer/src/volume-widget.h (+62/-0)
clock/data/clock.conf.in (+2/-3)
clock/src/applet-draw.c (+1/-1)
clock/src/applet-notifications.c (+2/-7)
clock/src/applet-task-editor.c (+2/-2)
clock/src/applet-timer.c (+11/-8)
cmake_modules/GNUInstallDirs.cmake (+182/-0)
debian/cairo-dock-plug-ins-data.install (+2/-1)
debian/cairo-dock-plug-ins-dbus-interface-mono.install (+1/-0)
debian/cairo-dock-plug-ins-dbus-interface-python.install (+2/-0)
debian/cairo-dock-plug-ins-dbus-interface-ruby.install (+1/-0)
debian/cairo-dock-plug-ins-dbus-interface-vala.install (+3/-0)
debian/cairo-dock-plug-ins-dbus-interface-vala.lintian-overrides (+3/-0)
debian/cairo-dock-plug-ins-dbus-interface-vala.postinst (+7/-0)
debian/cairo-dock-plug-ins-integration.install (+1/-1)
debian/cairo-dock-plug-ins.install (+3/-8)
debian/cairo-dock-plug-ins.lintian-overrides (+0/-4)
debian/changelog (+49/-0)
debian/compat (+1/-1)
debian/control (+100/-31)
debian/copyright (+1/-0)
debian/patches/01-removed-useless-g_print.patch (+0/-37)
debian/patches/series (+0/-1)
debian/rules (+3/-1)
debian/watch (+1/-1)
desklet-rendering/src/rendering-desklet-caroussel.c (+15/-15)
desklet-rendering/src/rendering-desklet-controler.c (+4/-4)
desklet-rendering/src/rendering-desklet-mediaplayer.c (+5/-5)
desklet-rendering/src/rendering-desklet-panel.c (+4/-1)
desklet-rendering/src/rendering-desklet-simple.c (+2/-2)
desklet-rendering/src/rendering-desklet-slide.c (+5/-3)
desklet-rendering/src/rendering-desklet-tree.c (+3/-1)
desklet-rendering/src/rendering-desklet-viewport.c (+4/-2)
dnd2share/data/dnd2share.conf.in (+3/-4)
dnd2share/data/upload2free.sh (+6/-1)
dnd2share/src/applet-notifications.c (+0/-4)
dock-rendering/data/rendering.conf.in (+3/-0)
dock-rendering/src/CMakeLists.txt (+1/-1)
dock-rendering/src/rendering-3D-plane.c (+22/-18)
dock-rendering/src/rendering-caroussel.c (+6/-6)
dock-rendering/src/rendering-commons.c (+45/-36)
dock-rendering/src/rendering-config.c (+2/-0)
dock-rendering/src/rendering-curve.c (+32/-73)
dock-rendering/src/rendering-diapo-simple.c (+563/-277)
dock-rendering/src/rendering-diapo.c (+0/-1)
dock-rendering/src/rendering-init.c (+1/-0)
dock-rendering/src/rendering-panel.c (+362/-224)
dock-rendering/src/rendering-parabole.c (+9/-10)
dock-rendering/src/rendering-rainbow.c (+6/-6)
drop-indicator/data/drop_indicator.conf.in (+2/-2)
drop-indicator/src/applet-init.c (+12/-12)
drop-indicator/src/applet-notifications.c (+15/-9)
dustbin/data/dustbin.conf.in (+2/-3)
dustbin/src/applet-notifications.c (+0/-6)
dustbin/src/applet-trashes-manager.c (+2/-2)
gnome-integration-old/src/applet-init.c (+1/-0)
gnome-integration/src/applet-init.c (+1/-0)
gnome-integration/src/applet-utils.c (+2/-2)
icon-effect/data/icon-effect.conf.in (+0/-6)
icon-effect/src/applet-config.c (+0/-3)
icon-effect/src/applet-fire.h (+1/-1)
icon-effect/src/applet-init.c (+0/-3)
illusion/src/applet-evaporate.c (+10/-8)
illusion/src/applet-evaporate.h (+1/-1)
illusion/src/applet-lightning.c (+1/-1)
kde-integration/src/applet-init.c (+1/-0)
kde-integration/src/applet-utils.c (+6/-1)
kde-integration/src/applet-utils.h (+2/-0)
keyboard-indicator/data/CMakeLists.txt (+2/-0)
keyboard-indicator/data/keyboard-indicator.conf.in (+11/-3)
keyboard-indicator/src/applet-config.c (+3/-4)
keyboard-indicator/src/applet-draw.c (+93/-52)
keyboard-indicator/src/applet-init.c (+35/-28)
keyboard-indicator/src/applet-notifications.c (+29/-9)
keyboard-indicator/src/applet-notifications.h (+2/-3)
keyboard-indicator/src/applet-struct.h (+7/-7)
keyboard-indicator/src/applet-xklavier.c (+18/-15)
logout/data/logout.conf.in (+27/-9)
logout/data/logout.sh (+21/-4)
logout/src/applet-config.c (+7/-2)
logout/src/applet-init.c (+22/-5)
logout/src/applet-logout.c (+456/-242)
logout/src/applet-logout.h (+0/-5)
logout/src/applet-notifications.c (+38/-98)
logout/src/applet-notifications.h (+3/-7)
logout/src/applet-struct.h (+21/-10)
mail/data/mail.conf.in (+8/-3)
mail/src/cd-mail-applet-config.c (+12/-4)
mail/src/cd-mail-applet-notifications.c (+6/-14)
motion-blur/src/applet-init.c (+8/-8)
musicPlayer/data/musicPlayer.conf.in (+15/-7)
musicPlayer/src/applet-amarok2.c (+1/-0)
musicPlayer/src/applet-amazon.c (+49/-133)
musicPlayer/src/applet-amazon.h (+1/-14)
musicPlayer/src/applet-audacious.c (+21/-5)
musicPlayer/src/applet-banshee.c (+12/-16)
musicPlayer/src/applet-clementine.c (+1/-0)
musicPlayer/src/applet-config.c (+4/-2)
musicPlayer/src/applet-cover.c (+297/-273)
musicPlayer/src/applet-cover.h (+1/-3)
musicPlayer/src/applet-dbus.c (+1/-3)
musicPlayer/src/applet-draw.c (+129/-314)
musicPlayer/src/applet-draw.h (+7/-10)
musicPlayer/src/applet-exaile.c (+2/-2)
musicPlayer/src/applet-exaile3.c (+1/-0)
musicPlayer/src/applet-gmusicbrowser.c (+1/-0)
musicPlayer/src/applet-guayadeque.c (+1/-0)
musicPlayer/src/applet-init.c (+18/-30)
musicPlayer/src/applet-listen.c (+1/-0)
musicPlayer/src/applet-mpris.c (+41/-6)
musicPlayer/src/applet-mpris.h (+3/-0)
musicPlayer/src/applet-mpris2.c (+43/-31)
musicPlayer/src/applet-musicplayer.c (+220/-88)
musicPlayer/src/applet-musicplayer.h (+1/-1)
musicPlayer/src/applet-notifications.c (+33/-22)
musicPlayer/src/applet-qmmp.c (+1/-0)
musicPlayer/src/applet-quodlibet.c (+7/-6)
musicPlayer/src/applet-rhythmbox.c (+28/-56)
musicPlayer/src/applet-songbird.c (+1/-0)
musicPlayer/src/applet-struct.h (+22/-12)
musicPlayer/src/applet-xmms2.c (+1/-0)
netspeed/data/netspeed.conf.in (+8/-5)
netspeed/src/applet-notifications.c (+3/-8)
po/ar.po (+1400/-1205)
po/cairo-dock.pot (+1388/-1196)
po/cs.po (+1392/-1207)
po/de.po (+2833/-2419)
po/el.po (+1389/-1207)
po/en_GB.po (+1392/-1206)
po/es.po (+1426/-1242)
po/et.po (+1396/-1201)
po/eu.po (+1396/-1199)
po/fr.po (+1428/-1221)
po/hu.po (+1800/-1430)
po/id.po (+1398/-1201)
po/it.po (+1390/-1212)
po/ja.po (+1396/-1213)
po/nl.po (+1397/-1222)
po/pl.po (+1398/-1201)
po/pt.po (+1394/-1199)
po/pt_BR.po (+1424/-1231)
po/ru.po (+1402/-1222)
po/sk.po (+1389/-1201)
po/sr.po (+1390/-1193)
po/sv.po (+1538/-1281)
po/tr.po (+1383/-1186)
po/uk.po (+1422/-1240)
po/zh_CN.po (+1391/-1196)
po/zh_TW.po (+1392/-1205)
powermanager/data/default-battery.svg (+382/-84)
powermanager/data/default-charge.svg (+79/-164)
powermanager/data/powermanager.conf.in (+3/-4)
powermanager/src/powermanager-config.c (+1/-1)
powermanager/src/powermanager-draw.c (+17/-9)
powermanager/src/powermanager-init.c (+10/-20)
powermanager/src/powermanager-menu-functions.c (+18/-13)
powermanager/src/powermanager-struct.h (+1/-1)
quick-browser/data/quick-browser.conf.in (+3/-4)
quick-browser/src/applet-config.c (+1/-3)
quick-browser/src/applet-init.c (+8/-2)
quick-browser/src/applet-notifications.c (+2/-6)
quick-browser/src/applet-struct.h (+1/-0)
shared-files/CMakeLists.txt (+2/-0)
shared-files/images/CMakeLists.txt (+9/-0)
shared-files/images/expose-desktops.svg (+894/-0)
shared-files/images/expose-windows.svg (+1478/-0)
shared-files/images/show-desktop.svg (+1127/-0)
shared-files/images/widget-layer.svg (+631/-0)
shared-files/scripts/CMakeLists.txt (+6/-0)
shared-files/scripts/lock-screen.sh (+26/-0)
shared-images/CMakeLists.txt (+0/-9)
shared-images/expose-desktops.svg (+0/-894)
shared-images/expose-windows.svg (+0/-1478)
shared-images/show-desktop.svg (+0/-1127)
shared-images/widget-layer.svg (+0/-631)
shortcuts/data/shortcuts.conf.in (+3/-4)
shortcuts/src/applet-bookmarks.c (+2/-1)
shortcuts/src/applet-init.c (+2/-2)
shortcuts/src/applet-notifications.c (+0/-2)
show-mouse/src/applet-init.c (+12/-12)
show-mouse/src/applet-notifications.c (+1/-1)
showDesktop/data/showDesktop.conf.in (+2/-3)
showDesktop/src/applet-config.c (+0/-2)
showDesktop/src/applet-init.c (+10/-2)
showDesktop/src/applet-notifications.c (+10/-14)
showDesktop/src/applet-struct.h (+1/-0)
slider/data/slider.conf.in (+2/-3)
slider/src/applet-notifications.c (+0/-8)
stack/data/stack.conf.in (+9/-6)
stack/src/applet-config.c (+15/-2)
stack/src/applet-load-icons.c (+11/-8)
stack/src/applet-notifications.c (+3/-8)
stack/src/applet-stack.c (+4/-15)
stack/src/applet-struct.h (+1/-0)
switcher/data/switcher.conf.in (+10/-7)
switcher/src/applet-config.c (+1/-0)
switcher/src/applet-desktops.c (+30/-12)
switcher/src/applet-draw.c (+38/-65)
switcher/src/applet-init.c (+8/-8)
switcher/src/applet-load-icons.c (+6/-6)
switcher/src/applet-notifications.c (+18/-23)
switcher/src/applet-struct.h (+7/-1)
systray/data/systray.conf.in (+3/-4)
systray/src/CMakeLists.txt (+7/-6)
systray/src/fixedtip.c (+0/-261)
systray/src/fixedtip.h (+0/-68)
systray/src/gtk2/fixedtip.c (+261/-0)
systray/src/gtk2/fixedtip.h (+68/-0)
systray/src/gtk2/na-marshal.c (+165/-0)
systray/src/gtk2/na-marshal.h (+36/-0)
systray/src/gtk2/na-tray-child.c (+520/-0)
systray/src/gtk2/na-tray-child.h (+71/-0)
systray/src/gtk2/na-tray-manager.c (+849/-0)
systray/src/gtk2/na-tray-manager.h (+97/-0)
systray/src/gtk2/na-tray.c (+836/-0)
systray/src/gtk2/na-tray.h (+67/-0)
systray/src/gtk3/fixedtip.c (+277/-0)
systray/src/gtk3/fixedtip.h (+68/-0)
systray/src/gtk3/main.c (+281/-0)
systray/src/gtk3/main.h (+57/-0)
systray/src/gtk3/na-marshal.c (+167/-0)
systray/src/gtk3/na-marshal.h (+36/-0)
systray/src/gtk3/na-tray-child.c (+525/-0)
systray/src/gtk3/na-tray-child.h (+71/-0)
systray/src/gtk3/na-tray-manager.c (+989/-0)
systray/src/gtk3/na-tray-manager.h (+114/-0)
systray/src/gtk3/na-tray.c (+862/-0)
systray/src/gtk3/na-tray.h (+76/-0)
systray/src/gtk3/testtray.c (+220/-0)
systray/src/na-marshal.c (+0/-165)
systray/src/na-marshal.h (+0/-36)
systray/src/na-tray-child.c (+0/-520)
systray/src/na-tray-child.h (+0/-71)
systray/src/na-tray-manager.c (+0/-849)
systray/src/na-tray-manager.h (+0/-97)
systray/src/na-tray.c (+0/-836)
systray/src/na-tray.h (+0/-67)
systray/src/systray-config.c (+0/-2)
systray/src/systray-init.c (+10/-5)
systray/src/systray-interface.c (+0/-7)
systray/src/systray-interface.h (+0/-2)
systray/src/systray-notifications.c (+0/-3)
systray/src/systray-struct.h (+1/-0)
template/data/template.conf.in (+3/-4)
template/src/applet-notifications.c (+1/-2)
terminal/data/terminal.conf.in (+3/-4)
terminal/src/terminal-callbacks.c (+6/-5)
terminal/src/terminal-config.c (+0/-2)
terminal/src/terminal-init.c (+9/-2)
terminal/src/terminal-menu-functions.c (+3/-6)
terminal/src/terminal-struct.h (+1/-0)
terminal/src/terminal-widget.c (+60/-38)
tomboy/data/tomboy.conf.in (+4/-5)
tomboy/src/tomboy-dbus.c (+3/-3)
tomboy/src/tomboy-draw.c (+2/-2)
tomboy/src/tomboy-notifications.c (+0/-10)
weather/data/weather.conf.in (+8/-5)
weather/src/applet-config.c (+5/-3)
weather/src/applet-notifications.c (+0/-4)
weblets/data/weblets.conf.in (+3/-4)
weblets/src/applet-notifications.c (+2/-6)
weblets/src/applet-widget.c (+3/-3)
wifi/data/wifi.conf.in (+2/-3)
wifi/src/applet-notifications.c (+2/-6)
xfce-integration/data/CMakeLists.txt (+0/-4)
xfce-integration/data/lock-screen.sh (+0/-11)
xfce-integration/src/CMakeLists.txt (+9/-6)
xfce-integration/src/applet-init.c (+1/-0)
xfce-integration/src/applet-utils.c (+1/-1)
To merge this branch: bzr merge lp:~cairo-dock-team/ubuntu/precise/cairo-dock-plug-ins/3.0.0.0beta1
Reviewer Review Type Date Requested Status
Ubuntu Sponsors Team 2012-02-14 Pending
Review via email: mp+92987@code.launchpad.net

Description of the change

Hello,

The Cairo-Dock team proposes a new version of its Cairo-Dock packages.

This is the Upstream (short) ChangeLog:
 * Upstream (short) ChangeLog:
   - The Log out applet has been rewritten, now allows to switch users.
   - Many shortkeys have been added in different applets
   - The Sound Menu from Ubuntu has been integrated into the
      Sound-Control applet.
   - The Sound Menu from Ubuntu has been integrated into the
      Sound-Control applet.
   - Cairo-Dock now uses GTK3, for a better integration in a Gnome desktop
   - Few additions to the DBus API.

Note that the next stable version if scheduled for March. (before the beta freeze)

This branch should be ready to be pushed on lp:ubuntu/cairo-dock-plug-ins (except the UNRELEASED version in debian/changelog)

Please upload this version before the Feature Freeze :)

Thank you for your help!

PS: 'cairo-dock' source package has to be uploaded before this package (if possible, min 20min before these plug-ins) ( LP: #932041 )

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed directory '.pc/01-removed-useless-g_print.patch'
2=== removed directory '.pc/01-removed-useless-g_print.patch/switcher'
3=== removed directory '.pc/01-removed-useless-g_print.patch/switcher/src'
4=== removed file '.pc/01-removed-useless-g_print.patch/switcher/src/applet-draw.c'
5--- .pc/01-removed-useless-g_print.patch/switcher/src/applet-draw.c 2011-11-05 21:55:39 +0000
6+++ .pc/01-removed-useless-g_print.patch/switcher/src/applet-draw.c 1970-01-01 00:00:00 +0000
7@@ -1,689 +0,0 @@
8-/**
9-* This file is a part of the Cairo-Dock project
10-*
11-* Copyright : (C) see the 'copyright' file.
12-* E-mail : see the 'copyright' file.
13-*
14-* This program is free software; you can redistribute it and/or
15-* modify it under the terms of the GNU General Public License
16-* as published by the Free Software Foundation; either version 3
17-* of the License, or (at your option) any later version.
18-*
19-* This program is distributed in the hope that it will be useful,
20-* but WITHOUT ANY WARRANTY; without even the implied warranty of
21-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22-* GNU General Public License for more details.
23-* You should have received a copy of the GNU General Public License
24-* along with this program. If not, see <http://www.gnu.org/licenses/>.
25-*/
26-
27-#include <string.h>
28-#include <glib/gstdio.h>
29-#include <math.h>
30-
31-#include "applet-struct.h"
32-#include "applet-load-icons.h"
33-#include "applet-desktops.h"
34-#include "applet-draw.h"
35-
36-typedef struct {
37- gint iNumDesktop;
38- gint iNumViewportX;
39- gint iNumViewportY;
40- gint iOneViewportWidth;
41- gint iOneViewportHeight;
42- cairo_t *pCairoContext;
43- } CDSwitcherDesktop;
44-
45-static void _cd_switcher_draw_windows_on_viewport (Icon *pIcon, CDSwitcherDesktop *data)
46-{
47- if (pIcon == NULL || pIcon->fInsertRemoveFactor > 0)
48- return ;
49- if (pIcon->bIsHidden && ! myConfig.bDisplayHiddenWindows)
50- return ;
51- int iNumDesktop = data->iNumDesktop;
52- int iNumViewportX = data->iNumViewportX;
53- int iNumViewportY = data->iNumViewportY;
54- int iOneViewportWidth = data->iOneViewportWidth;
55- int iOneViewportHeight = data->iOneViewportHeight;
56- cairo_t *pCairoContext = data->pCairoContext;
57-
58- // On calcule les coordonnees en repere absolu.
59- int x = pIcon->windowGeometry.x; // par rapport au viewport courant.
60- x += myData.switcher.iCurrentViewportX * g_desktopGeometry.iXScreenWidth[CAIRO_DOCK_HORIZONTAL]; // repere absolu
61- if (x < 0)
62- x += g_desktopGeometry.iNbViewportX * g_desktopGeometry.iXScreenWidth[CAIRO_DOCK_HORIZONTAL];
63- int y = pIcon->windowGeometry.y;
64- y += myData.switcher.iCurrentViewportY * g_desktopGeometry.iXScreenHeight[CAIRO_DOCK_HORIZONTAL];
65- if (y < 0)
66- y += g_desktopGeometry.iNbViewportY * g_desktopGeometry.iXScreenHeight[CAIRO_DOCK_HORIZONTAL];
67- int w = pIcon->windowGeometry.width, h = pIcon->windowGeometry.height;
68-
69- // test d'intersection avec le viewport donne.
70- //g_print (" %s : (%d;%d) %dx%d\n", pIcon->cName, x, y, w, h);
71- if ((pIcon->iNumDesktop != -1 && pIcon->iNumDesktop != iNumDesktop) ||
72- x + w <= iNumViewportX * g_desktopGeometry.iXScreenWidth[CAIRO_DOCK_HORIZONTAL] ||
73- x >= (iNumViewportX + 1) * g_desktopGeometry.iXScreenWidth[CAIRO_DOCK_HORIZONTAL] ||
74- y + h <= iNumViewportY * g_desktopGeometry.iXScreenHeight[CAIRO_DOCK_HORIZONTAL] ||
75- y >= (iNumViewportY + 1) * g_desktopGeometry.iXScreenHeight[CAIRO_DOCK_HORIZONTAL])
76- return ;
77- //g_print (" > on la dessine (%x)\n", pIcon->pIconBuffer);
78-
79- // on dessine ses traits.
80- cairo_save (pCairoContext);
81-
82- cairo_set_source_rgba (pCairoContext, myConfig.RGBWLineColors[0], myConfig.RGBWLineColors[1], myConfig.RGBWLineColors[2], myConfig.RGBWLineColors[3]);
83- cairo_rectangle (pCairoContext,
84- (1.*x/g_desktopGeometry.iXScreenWidth[CAIRO_DOCK_HORIZONTAL] - iNumViewportX)*iOneViewportWidth,
85- (1.*y/g_desktopGeometry.iXScreenHeight[CAIRO_DOCK_HORIZONTAL] - iNumViewportY)*iOneViewportHeight,
86- 1.*w/g_desktopGeometry.iXScreenWidth[CAIRO_DOCK_HORIZONTAL]*iOneViewportWidth,
87- 1.*h/g_desktopGeometry.iXScreenHeight[CAIRO_DOCK_HORIZONTAL]*iOneViewportHeight);
88- if (pIcon->Xid == cairo_dock_get_current_active_window ())
89- {
90- //g_print (" %s est la fenetre active\n", pIcon->cName);
91- cairo_fill (pCairoContext);
92- }
93- else
94- {
95- cairo_stroke (pCairoContext);
96- }
97-
98- if (pIcon->pIconBuffer != NULL)
99- {
100- int iWidth, iHeight;
101- cairo_dock_get_icon_extent (pIcon, &iWidth, &iHeight);
102- double fZoomX = (double) w/g_desktopGeometry.iXScreenWidth[CAIRO_DOCK_HORIZONTAL]*iOneViewportWidth / iWidth;
103- double fZoomY = (double) h/g_desktopGeometry.iXScreenHeight[CAIRO_DOCK_HORIZONTAL]*iOneViewportHeight / iHeight;
104- double fZoom = MIN (fZoomX, fZoomY); // on garde le ratio.
105-
106- cairo_translate (pCairoContext,
107- (1.*x/g_desktopGeometry.iXScreenWidth[CAIRO_DOCK_HORIZONTAL] - iNumViewportX)*iOneViewportWidth + (fZoomX - fZoom) * iWidth/2,
108- (1.*y/g_desktopGeometry.iXScreenHeight[CAIRO_DOCK_HORIZONTAL] - iNumViewportY)*iOneViewportHeight + (fZoomY - fZoom) * iHeight/2);
109- cairo_scale (pCairoContext,
110- fZoom,
111- fZoom);
112- cairo_set_source_surface (pCairoContext,
113- pIcon->pIconBuffer,
114- 0.,
115- 0.);
116- cairo_paint (pCairoContext);
117- }
118-
119- cairo_restore (pCairoContext);
120-}
121-
122-
123-static int _compare_icons_stack_order (Icon *icon1, Icon *icon2)
124-{
125- if (icon1 == NULL) // les icones nulles vont a la fin.
126- return 1;
127- if (icon2 == NULL)
128- return -1;
129- if (icon1->iStackOrder < icon2->iStackOrder) // ordre petit => dessus => dessinee en dernier.
130- return -1;
131- else
132- return 1;
133-}
134-void cd_switcher_draw_main_icon_compact_mode (void)
135-{
136- if (myData.switcher.iNbColumns == 0 || myData.switcher.iNbLines == 0) // may happen in desklet mode with a cube desktop, when the desklet is still 0x0.
137- return;
138- g_return_if_fail (myDrawContext != NULL);
139- //g_print ("%s (%d;%d)\n", __func__, myData.switcher.iCurrentLine, myData.switcher.iCurrentColumn);
140- // On efface l'icone.
141- cairo_dock_erase_cairo_context (myDrawContext);
142-
143- // definition des parametres de dessin.
144- int iWidth, iHeight;
145- CD_APPLET_GET_MY_ICON_EXTENT (&iWidth, &iHeight);
146-
147- myData.switcher.fOneViewportHeight = (double) (iHeight - 2 * myConfig.iLineSize - (myData.switcher.iNbLines - 1) * myConfig.iInLineSize) / myData.switcher.iNbLines; //hauteur d'un bureau/viewport sans compter les lignes exterieures et interieures.
148- myData.switcher.fOneViewportWidth = (double) (iWidth - 2 * myConfig.iLineSize - (myData.switcher.iNbColumns - 1) * myConfig.iInLineSize) / myData.switcher.iNbColumns; //largeur d'un bureau/viewport sans compter les lignes exterieures et interieures.
149- double dx=0, dy=0;
150- double w = iWidth, h = iHeight;
151- if (myConfig.bPreserveScreenRatio)
152- {
153- double r = (double) g_desktopGeometry.iXScreenWidth[CAIRO_DOCK_HORIZONTAL] / g_desktopGeometry.iXScreenHeight[CAIRO_DOCK_HORIZONTAL];
154- double r_ = myData.switcher.fOneViewportWidth / myData.switcher.fOneViewportHeight;
155- if (r_ > r) // on etire trop en largeur.
156- {
157- myData.switcher.fOneViewportWidth /= r_ / r;
158- dx = (double) iWidth/2 * (1 - r / r_);
159- w /= r_ / r;
160- }
161- else
162- {
163- myData.switcher.fOneViewportHeight /= r / r_;
164- dy = (double) iHeight/2 * (1 - r_ / r);
165- h /= r / r_;
166- }
167- }
168- myData.switcher.fOffsetX = dx;
169- myData.switcher.fOffsetY = dy;
170-
171- cairo_save (myDrawContext);
172- cairo_translate (myDrawContext, dx, dy);
173-
174- cairo_surface_t *pSurface = NULL;
175- double fZoomX, fZoomY;
176- if (myConfig.bMapWallpaper)
177- {
178- pSurface = myData.pDesktopBgMapSurface;
179- }
180- if (pSurface == NULL)
181- {
182- pSurface = myData.pDefaultMapSurface;
183- }
184- fZoomX = (double) myData.switcher.fOneViewportWidth / myData.iSurfaceWidth; // both surfaces are loaded at the same size.
185- fZoomY= (double) myData.switcher.fOneViewportHeight / myData.iSurfaceHeight;
186-
187- // cadre exterieur.
188- cairo_set_line_width (myDrawContext,myConfig.iLineSize);
189- cairo_set_source_rgba(myDrawContext,myConfig.RGBLineColors[0],myConfig.RGBLineColors[1],myConfig.RGBLineColors[2],myConfig.RGBLineColors[3]);
190- cairo_rectangle(myDrawContext,
191- .5*myConfig.iLineSize,
192- .5*myConfig.iLineSize,
193- w - myConfig.iLineSize,
194- h - myConfig.iLineSize);
195-
196- cairo_stroke (myDrawContext);
197-
198- // lignes interieures.
199- cairo_set_line_width (myDrawContext,myConfig.iInLineSize);
200- cairo_set_source_rgba(myDrawContext,myConfig.RGBInLineColors[0],myConfig.RGBInLineColors[1],myConfig.RGBInLineColors[2],myConfig.RGBInLineColors[3]);
201- double xi, yj;
202- int i, j;
203- for (i = 1; i < myData.switcher.iNbColumns; i ++) // lignes verticales.
204- {
205- xi = myConfig.iLineSize + i * (myData.switcher.fOneViewportWidth + myConfig.iInLineSize) - .5*myConfig.iInLineSize;
206- cairo_move_to (myDrawContext, xi, myConfig.iLineSize);
207- cairo_rel_line_to (myDrawContext, 0, h - 2*myConfig.iLineSize);
208- cairo_stroke (myDrawContext);
209- }
210- for (j = 1; j < myData.switcher.iNbLines; j ++) // lignes horizontales.
211- {
212- yj = myConfig.iLineSize + j * (myData.switcher.fOneViewportHeight + myConfig.iInLineSize) - .5*myConfig.iInLineSize;
213- cairo_move_to (myDrawContext, myConfig.iLineSize, yj);
214- cairo_rel_line_to (myDrawContext, w - 2*myConfig.iLineSize, 0);
215- cairo_stroke (myDrawContext);
216- }
217-
218- GList *pWindowList = NULL;
219- if (myConfig.bDrawWindows)
220- {
221- pWindowList = cairo_dock_get_current_applis_list ();
222- pWindowList = g_list_sort (pWindowList, (GCompareFunc) _compare_icons_stack_order);
223- }
224-
225- // chaque bureau/viewport.
226- int iNumDesktop=0, iNumViewportX=0, iNumViewportY=0;
227- int k = 0, N = g_desktopGeometry.iNbDesktops * g_desktopGeometry.iNbViewportX * g_desktopGeometry.iNbViewportY;
228- for (j = 0; j < myData.switcher.iNbLines && k < N; j ++)
229- {
230- for (i = 0; i < myData.switcher.iNbColumns && k < N; i ++)
231- {
232- cairo_save (myDrawContext);
233-
234- xi = myConfig.iLineSize + i * (myData.switcher.fOneViewportWidth + myConfig.iInLineSize);
235- yj = myConfig.iLineSize + j * (myData.switcher.fOneViewportHeight + myConfig.iInLineSize);
236-
237- cairo_translate (myDrawContext,
238- xi,
239- yj);
240-
241- cairo_scale (myDrawContext,
242- fZoomX,
243- fZoomY);
244- cairo_set_source_surface (myDrawContext,
245- pSurface,
246- 0.,
247- 0.);
248- cairo_paint(myDrawContext);
249-
250- cairo_restore (myDrawContext);
251-
252- if (myConfig.iDrawCurrentDesktopMode == SWICTHER_FILL_INVERTED && (i != myData.switcher.iCurrentColumn || j != myData.switcher.iCurrentLine))
253- {
254- cairo_save (myDrawContext);
255-
256- cairo_set_source_rgba (myDrawContext, myConfig.RGBIndColors[0], myConfig.RGBIndColors[1], myConfig.RGBIndColors[2], myConfig.RGBIndColors[3]);
257- cairo_rectangle(myDrawContext,
258- xi - .5*myConfig.iLineSize,
259- yj - .5*myConfig.iLineSize,
260- myData.switcher.fOneViewportWidth + myConfig.iLineSize,
261- myData.switcher.fOneViewportHeight + myConfig.iLineSize);
262- cairo_fill (myDrawContext);
263-
264- cairo_restore (myDrawContext);
265- }
266-
267- if (myConfig.bDrawWindows)
268- {
269- cairo_save (myDrawContext);
270-
271- cairo_translate (myDrawContext,
272- xi,
273- yj);
274- cairo_set_line_width (myDrawContext, 1.);
275- cairo_rectangle (myDrawContext,
276- 0.,
277- 0.,
278- myData.switcher.fOneViewportWidth,
279- myData.switcher.fOneViewportHeight);
280- cairo_clip (myDrawContext);
281-
282- //g_print (" dessin des fenetres du bureau (%d;%d;%d) ...\n", iNumDesktop, iNumViewportX, iNumViewportY);
283- CDSwitcherDesktop data = {iNumDesktop, iNumViewportX, iNumViewportY, (int) myData.switcher.fOneViewportWidth, (int) myData.switcher.fOneViewportHeight, myDrawContext};
284- g_list_foreach (pWindowList, (GFunc) _cd_switcher_draw_windows_on_viewport, &data);
285-
286- cairo_restore (myDrawContext);
287- }
288-
289- iNumViewportX ++;
290- if (iNumViewportX == g_desktopGeometry.iNbViewportX)
291- {
292- iNumViewportX = 0;
293- iNumViewportY ++;
294- if (iNumViewportY == g_desktopGeometry.iNbViewportY)
295- {
296- iNumViewportY = 0;
297- iNumDesktop ++;
298- }
299- }
300- k ++;
301- }
302- }
303-
304- // dessin de l'indicateur sur le bureau courant (on le fait maintenant car dans le cas ou la ligne interieure est plus petite que la ligne de l'indicateur, les surfaces suivantes recouvreraient en partie la ligne.
305- if (myConfig.iDrawCurrentDesktopMode != SWICTHER_FILL_INVERTED)
306- {
307- i = myData.switcher.iCurrentColumn;
308- j = myData.switcher.iCurrentLine;
309- xi = myConfig.iLineSize + i * (myData.switcher.fOneViewportWidth + myConfig.iInLineSize);
310- yj = myConfig.iLineSize + j * (myData.switcher.fOneViewportHeight + myConfig.iInLineSize);
311-
312- cairo_set_line_width (myDrawContext,myConfig.iLineSize);
313- cairo_set_source_rgba (myDrawContext,myConfig.RGBIndColors[0],myConfig.RGBIndColors[1],myConfig.RGBIndColors[2],myConfig.RGBIndColors[3]);
314- cairo_rectangle(myDrawContext,
315- xi - .5*myConfig.iLineSize,
316- yj - .5*myConfig.iLineSize,
317- myData.switcher.fOneViewportWidth + myConfig.iLineSize,
318- myData.switcher.fOneViewportHeight + myConfig.iLineSize);
319-
320- if (myConfig.iDrawCurrentDesktopMode == SWICTHER_FILL)
321- cairo_fill (myDrawContext);
322- else
323- cairo_stroke(myDrawContext);
324- }
325-
326- cairo_restore (myDrawContext);
327- g_list_free (pWindowList); // le contenu appartient a la hash table, mais pas la liste.
328-
329- if (CD_APPLET_MY_CONTAINER_IS_OPENGL)
330- cairo_dock_update_icon_texture (myIcon);
331- else
332- CD_APPLET_UPDATE_REFLECT_ON_MY_ICON;
333-}
334-
335-
336-void cd_switcher_draw_main_icon_expanded_mode (void)
337-{
338- // apply the desktop bg or the user image on the main icon, in dock mode
339- int iWidth, iHeight;
340-
341- if (myDock)
342- {
343- CD_APPLET_GET_MY_ICON_EXTENT (&iWidth, &iHeight);
344- myData.switcher.fOneViewportHeight = (iHeight - 2 * myConfig.iLineSize - (myData.switcher.iNbLines - 1) * myConfig.iInLineSize) / myData.switcher.iNbLines; //hauteur d'un bureau/viewport sans compter les lignes exterieures et interieures.
345- myData.switcher.fOneViewportWidth = (iWidth - 2 * myConfig.iLineSize - (myData.switcher.iNbColumns - 1) * myConfig.iInLineSize) / myData.switcher.iNbColumns; //largeur d'un bureau/viewport sans compter les lignes exterieures et interieures.
346-
347- cairo_surface_t *pSurface = NULL;
348- double fZoomX, fZoomY;
349- if (myConfig.bMapWallpaper)
350- {
351- cairo_dock_erase_cairo_context (myDrawContext);
352-
353- pSurface = myData.pDesktopBgMapSurface;
354- fZoomX = 1. * iWidth / myData.iSurfaceWidth;
355- fZoomY= 1. * iHeight / myData.iSurfaceHeight;
356- cairo_translate (myDrawContext,
357- 0.,
358- 0.);
359-
360- cairo_save (myDrawContext);
361- cairo_scale (myDrawContext,
362- fZoomX ,
363- fZoomY );
364- cairo_set_source_surface (myDrawContext,
365- pSurface,
366- 0.,
367- 0.);
368- cairo_paint(myDrawContext);
369- cairo_restore (myDrawContext);
370-
371- if (CD_APPLET_MY_CONTAINER_IS_OPENGL)
372- cairo_dock_update_icon_texture (myIcon);
373- else
374- CD_APPLET_UPDATE_REFLECT_ON_MY_ICON;
375- }
376- else
377- {
378- CD_APPLET_SET_IMAGE_ON_MY_ICON (MY_APPLET_SHARE_DATA_DIR"/"MY_APPLET_ICON_FILE);
379- }
380- }
381-
382- if (myConfig.bDrawWindows)
383- {
384- GList *pWindowList = cairo_dock_get_current_applis_list ();
385- pWindowList = g_list_sort (pWindowList, (GCompareFunc) _compare_icons_stack_order);
386-
387- CDSwitcherDesktop data;
388- int iNumDesktop=0, iNumViewportX=0, iNumViewportY=0;
389- cairo_t *pCairoContext;
390- Icon *pIcon;
391- CairoContainer *pContainer = CD_APPLET_MY_ICONS_LIST_CONTAINER;
392- GList *pIconsList = CD_APPLET_MY_ICONS_LIST;
393- GList *ic;
394- for (ic = pIconsList; ic != NULL; ic = ic->next)
395- {
396- pIcon = ic->data;
397- cairo_dock_get_icon_extent (pIcon, &iWidth, &iHeight);
398- pCairoContext = cairo_create (pIcon->pIconBuffer);
399- cairo_set_line_width (pCairoContext, 1.);
400- cairo_set_source_rgba (pCairoContext, myConfig.RGBWLineColors[0], myConfig.RGBWLineColors[1], myConfig.RGBWLineColors[2], myConfig.RGBWLineColors[3]);
401-
402- data.iNumDesktop = iNumDesktop;
403- data.iNumViewportX = iNumViewportX;
404- data.iNumViewportY = iNumViewportY;
405- data.iOneViewportWidth = iWidth;
406- data.iOneViewportHeight = iHeight;
407- data.pCairoContext = pCairoContext;
408- g_list_foreach (pWindowList, (GFunc) _cd_switcher_draw_windows_on_viewport, &data);
409-
410- iNumViewportX ++;
411- if (iNumViewportX == g_desktopGeometry.iNbViewportX)
412- {
413- iNumViewportY ++;
414- if (iNumViewportY == g_desktopGeometry.iNbViewportY)
415- iNumDesktop ++;
416- }
417- cairo_destroy (pCairoContext);
418- }
419- g_list_free (pWindowList); // le contenu appartient a la hash table, mais pas la liste.
420- }
421-}
422-
423-/*Fonction de base pour toutes les autres*/
424-void cd_switcher_draw_main_icon (void)
425-{
426- cd_message ("%s (%d)", __func__, myConfig.bCompactView);
427- if (myConfig.bCompactView)
428- {
429- cd_switcher_draw_main_icon_compact_mode ();
430- }
431- else
432- {
433- cd_switcher_draw_main_icon_expanded_mode ();
434- }
435-
436- CD_APPLET_REDRAW_MY_ICON;
437-}
438-
439-
440-void cd_switcher_draw_desktops_bounding_box (CairoDesklet *pDesklet)
441-{
442- CD_APPLET_ENTER;
443- //g_print ("%s (%.2Fx%.2f)\n", __func__, myData.switcher.fOneViewportWidth, myData.switcher.fOneViewportHeight);
444- double x, y, w, h;
445- glTranslatef (-pDesklet->container.iWidth/2, -pDesklet->container.iHeight/2, 0.);
446-
447- w = myData.switcher.fOneViewportWidth/2;
448- h = myData.switcher.fOneViewportHeight/2;
449- int i, j;
450- int k = 0, N = g_desktopGeometry.iNbDesktops * g_desktopGeometry.iNbViewportX * g_desktopGeometry.iNbViewportY;
451-
452- for (j = 0; j < myData.switcher.iNbLines; j ++) // lignes horizontales.
453- {
454- y = myConfig.iLineSize + j * (myData.switcher.fOneViewportHeight + myConfig.iInLineSize) - .5*myConfig.iInLineSize;
455- y = pDesklet->container.iHeight - (y + h + myData.switcher.fOffsetY);
456-
457- for (i = 0; i < myData.switcher.iNbColumns; i ++) // lignes verticales.
458- {
459- x = myConfig.iLineSize + i * (myData.switcher.fOneViewportWidth + myConfig.iInLineSize) - .5*myConfig.iInLineSize;
460- x += w + myData.switcher.fOffsetX;
461-
462- glLoadName(i * myData.switcher.iNbLines + j + 1); // +1 pour ne pas avoir 0.
463-
464- glBegin(GL_QUADS);
465- glVertex3f(x-w, y+h, 0.);
466- glVertex3f(x+w, y+h, 0.);
467- glVertex3f(x+w, y-h, 0.);
468- glVertex3f(x-w, y-h, 0.);
469- glEnd();
470-
471- k ++;
472- if (k == N)
473- break;
474- }
475- }
476- CD_APPLET_LEAVE ();
477-}
478-
479-void cd_switcher_extract_viewport_coords_from_picked_object (CairoDesklet *pDesklet, int *iCoordX, int *iCoordY)
480-{
481- //g_print ("%s (%d)\n", __func__, pDesklet->iPickedObject);
482- if (pDesklet->iPickedObject != 0)
483- {
484- pDesklet->iPickedObject --; // cf le +1
485- int i, j;
486- i = pDesklet->iPickedObject / myData.switcher.iNbLines;
487- j = pDesklet->iPickedObject % myData.switcher.iNbLines;
488- //g_print ("bureau (%d;%d)\n", i, j);
489-
490- double x, y, w, h;
491- w = myData.switcher.fOneViewportWidth/2;
492- h = myData.switcher.fOneViewportHeight/2;
493- x = myConfig.iLineSize + i * (myData.switcher.fOneViewportWidth + myConfig.iInLineSize) - .5*myConfig.iInLineSize;
494- x += w + myData.switcher.fOffsetX;
495- y = myConfig.iLineSize + j * (myData.switcher.fOneViewportHeight + myConfig.iInLineSize) - .5*myConfig.iInLineSize;
496- y += h + myData.switcher.fOffsetY;
497- *iCoordX = x;
498- *iCoordY = y;
499- }
500-}
501-
502-
503-static void _show_window (GtkMenuItem *menu_item, Icon *pIcon)
504-{
505- CD_APPLET_ENTER;
506- cairo_dock_show_xwindow (pIcon->Xid);
507- CD_APPLET_LEAVE ();
508-}
509-
510-static void _show_desktop (GtkMenuItem *menu_item, gpointer data)
511-{
512- CD_APPLET_ENTER;
513- int iIndex = GPOINTER_TO_INT (data);
514- int iNumDesktop, iNumViewportX, iNumViewportY;
515- cd_switcher_compute_viewports_from_index (iIndex, &iNumDesktop, &iNumViewportX, &iNumViewportY);
516- if (iNumDesktop != myData.switcher.iCurrentDesktop)
517- cairo_dock_set_current_desktop (iNumDesktop);
518- if (iNumViewportX != myData.switcher.iCurrentViewportX || iNumViewportY != myData.switcher.iCurrentViewportY)
519- cairo_dock_set_current_viewport (iNumViewportX, iNumViewportY);
520- CD_APPLET_LEAVE ();
521-}
522-static void _cd_switcher_list_window_on_viewport (Icon *pIcon, int iNumDesktop, int iNumViewportX, int iNumViewportY, GtkWidget *pMenu)
523-{
524- //g_print (" + %s\n", pIcon->cName);
525- // on recupere la taille de l'icone.
526- int iWidth, iHeight;
527- cairo_dock_get_icon_extent (pIcon, &iWidth, &iHeight);
528-
529- // on cree une copie de la surface de l'icone a la taille du menu.
530- GdkPixbuf *pixbuf = NULL;
531- if (iWidth > 0 && iHeight > 0 && pIcon->pIconBuffer != NULL)
532- {
533- int w = 24, h = w;
534- cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
535- w,
536- h);
537- cairo_t *pCairoContext = cairo_create (surface);
538- cairo_scale (pCairoContext, (double)w/iWidth, (double)h/iHeight);
539- cairo_set_source_surface (pCairoContext, pIcon->pIconBuffer, 0., 0.);
540- cairo_paint (pCairoContext);
541- cairo_destroy (pCairoContext);
542- guchar *d, *data = cairo_image_surface_get_data (surface);
543- int r = cairo_image_surface_get_stride (surface);
544-
545- // on la convertit en un pixbuf.
546- pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB,
547- TRUE,
548- 8,
549- w,
550- h);
551- guchar *p, *pixels = gdk_pixbuf_get_pixels (pixbuf);
552- int iNbChannels = gdk_pixbuf_get_n_channels (pixbuf);
553- int iRowstride = gdk_pixbuf_get_rowstride (pixbuf);
554-
555- int x, y;
556- int red, green, blue;
557- float fAlphaFactor;
558- for (y = 0; y < h; y ++)
559- {
560- for (x = 0; x < w; x ++)
561- {
562- p = pixels + y * iRowstride + x * iNbChannels;
563- d = data + y * r + x * 4;
564-
565- fAlphaFactor = (float) d[3] / 255;
566- if (fAlphaFactor != 0)
567- {
568- red = d[0] / fAlphaFactor;
569- green = d[1] / fAlphaFactor;
570- blue = d[2] / fAlphaFactor;
571- }
572- else
573- {
574- red = blue = green = 0;
575- }
576- p[0] = blue;
577- p[1] = green;
578- p[2] = red;
579- p[3] = d[3];
580- }
581- }
582-
583- cairo_surface_destroy (surface);
584- }
585-
586- // on ajoute une entree au menu avec le pixbuf.
587- GtkWidget *pMenuItem = gtk_image_menu_item_new_with_label (pIcon->cName);
588- if (pixbuf)
589- {
590- GtkWidget *image = gtk_image_new_from_pixbuf (pixbuf);
591-#if (GTK_MAJOR_VERSION > 2 || GTK_MINOR_VERSION >= 16)
592- gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (pMenuItem), TRUE);
593-#endif
594- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (pMenuItem), image);
595- g_object_unref (pixbuf);
596- }
597- gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem);
598- g_signal_connect (G_OBJECT (pMenuItem), "activate", G_CALLBACK (_show_window), pIcon);
599-}
600-void cd_switcher_build_windows_list (GtkWidget *pMenu)
601-{
602- GList *pWindowList = NULL;
603- pWindowList = cairo_dock_get_current_applis_list ();
604- pWindowList = g_list_sort (pWindowList, (GCompareFunc) _compare_icons_stack_order);
605-
606- // chaque bureau/viewport.
607- int iNumDesktop=0, iNumViewportX=0, iNumViewportY=0;
608- int k = 0, N = g_desktopGeometry.iNbDesktops * g_desktopGeometry.iNbViewportX * g_desktopGeometry.iNbViewportY;
609- int iIndex = cd_switcher_compute_index (myData.switcher.iCurrentDesktop, myData.switcher.iCurrentViewportX, myData.switcher.iCurrentViewportY);
610- GString *sDesktopName = g_string_new ("");
611- int i, j;
612- for (j = 0; j < myData.switcher.iNbLines; j ++)
613- {
614- for (i = 0; i < myData.switcher.iNbColumns; i ++)
615- {
616- // on ajoute le nom du bureau/viewport dans le menu.
617- GtkWidget *pMenuItem = gtk_separator_menu_item_new ();
618- gtk_menu_shell_append(GTK_MENU_SHELL (pMenu), pMenuItem);
619- g_object_set (pMenuItem, "height-request", 3, NULL);
620-
621- if (k < myConfig.iNbNames)
622- {
623- if (k == iIndex)
624- g_string_printf (sDesktopName, "<b>%s (%s)</b>", myConfig.cDesktopNames[k], D_("Current"));
625- else
626- g_string_printf (sDesktopName, "<b>%s</b>", myConfig.cDesktopNames[k]);
627- }
628- else
629- {
630- if (k == iIndex)
631- g_string_printf (sDesktopName, "<b>%s %d (%s)</b>", D_("Desktop"), k+1, D_("Current"));
632- else
633- g_string_printf (sDesktopName, "<b>%s %d</b>", D_("Desktop"), k+1);
634- } // les noms des bureaux : _NET_DESKTOP_NAMES, UTF8_STRING
635- pMenuItem = gtk_menu_item_new ();
636- GtkWidget *pLabel = gtk_label_new (sDesktopName->str);
637- gtk_label_set_use_markup (GTK_LABEL (pLabel), TRUE);
638- gtk_misc_set_alignment (GTK_MISC (pLabel), .5, .5);
639- gtk_container_add (GTK_CONTAINER (pMenuItem), pLabel);
640- gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem);
641- g_signal_connect (G_OBJECT (pMenuItem), "activate", G_CALLBACK (_show_desktop), GINT_TO_POINTER (k));
642-
643- pMenuItem = gtk_separator_menu_item_new ();
644- gtk_menu_shell_append(GTK_MENU_SHELL (pMenu), pMenuItem);
645- g_object_set (pMenuItem, "height-request", 3, NULL);
646-
647- // on ajoute les fenetres du viewport au menu.
648- g_print (" listing des fenetres du bureau (%d;%d;%d) ...\n", iNumDesktop, iNumViewportX, iNumViewportY);
649- cd_switcher_foreach_window_on_viewport (iNumDesktop,
650- iNumViewportX,
651- iNumViewportY,
652- (CDSwitcherActionOnViewportFunc) _cd_switcher_list_window_on_viewport,
653- pMenu);
654-
655- // on passe au viewport suivant.
656- iNumViewportX ++;
657- if (iNumViewportX == g_desktopGeometry.iNbViewportX)
658- {
659- iNumViewportX = 0;
660- iNumViewportY ++;
661- if (iNumViewportY == g_desktopGeometry.iNbViewportY)
662- {
663- iNumViewportY = 0;
664- iNumDesktop ++;
665- }
666- }
667- k ++;
668- if (k == N)
669- break ;
670- }
671- }
672- g_string_free (sDesktopName, TRUE);
673-}
674-
675-
676-
677-static void _cd_switcher_move_window_to_viewport (Icon *pIcon, int iNumDesktop, int iNumViewportX, int iNumViewportY, gint *data)
678-{
679- int iDestNumDesktop = data[0];
680- int iDestNumViewportX = data[1];
681- int iDestNumViewportY = data[2];
682-
683- cairo_dock_move_xwindow_to_nth_desktop (pIcon->Xid,
684- iDestNumDesktop,
685- (iDestNumViewportX - myData.switcher.iCurrentViewportX) * g_desktopGeometry.iXScreenWidth[CAIRO_DOCK_HORIZONTAL],
686- (iDestNumViewportY - myData.switcher.iCurrentViewportY) * g_desktopGeometry.iXScreenHeight[CAIRO_DOCK_HORIZONTAL]);
687-}
688-void cd_switcher_move_current_desktop_to (int iNumDesktop, int iNumViewportX, int iNumViewportY)
689-{
690- gint data[3] = {iNumDesktop, iNumViewportX, iNumViewportY};
691- cd_switcher_foreach_window_on_viewport (myData.switcher.iCurrentDesktop,
692- myData.switcher.iCurrentViewportX,
693- myData.switcher.iCurrentViewportY,
694- (CDSwitcherActionOnViewportFunc) _cd_switcher_move_window_to_viewport,
695- data);
696-}
697
698=== removed file '.pc/01-removed-useless-g_print.patch/switcher/src/applet-load-icons.c'
699--- .pc/01-removed-useless-g_print.patch/switcher/src/applet-load-icons.c 2011-11-05 21:55:39 +0000
700+++ .pc/01-removed-useless-g_print.patch/switcher/src/applet-load-icons.c 1970-01-01 00:00:00 +0000
701@@ -1,238 +0,0 @@
702-/**
703-* This file is a part of the Cairo-Dock project
704-*
705-* Copyright : (C) see the 'copyright' file.
706-* E-mail : see the 'copyright' file.
707-*
708-* This program is free software; you can redistribute it and/or
709-* modify it under the terms of the GNU General Public License
710-* as published by the Free Software Foundation; either version 3
711-* of the License, or (at your option) any later version.
712-*
713-* This program is distributed in the hope that it will be useful,
714-* but WITHOUT ANY WARRANTY; without even the implied warranty of
715-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
716-* GNU General Public License for more details.
717-* You should have received a copy of the GNU General Public License
718-* along with this program. If not, see <http://www.gnu.org/licenses/>.
719-*/
720-
721-#include <string.h>
722-
723-#include "applet-struct.h"
724-#include "applet-desktops.h"
725-#include "applet-draw.h"
726-#include "applet-load-icons.h"
727-
728-
729-static void _load_desktop_icon (Icon *pIcon)
730-{
731- int iWidth = pIcon->iImageWidth;
732- int iHeight = pIcon->iImageHeight;
733-
734- pIcon->pIconBuffer = cairo_dock_duplicate_surface (myData.pDesktopBgMapSurface,
735- myData.iSurfaceWidth, myData.iSurfaceHeight,
736- iWidth, iHeight);
737-}
738-
739-static GList * _load_icons (void)
740-{
741- GList *pIconList = NULL;
742- int iIndex = cd_switcher_compute_index (myData.switcher.iCurrentDesktop, myData.switcher.iCurrentViewportX, myData.switcher.iCurrentViewportY);
743- Icon *pIcon;
744- int i;
745- for (i = 0; i < myData.switcher.iNbViewportTotal; i ++)
746- {
747- pIcon = cairo_dock_create_dummy_launcher (NULL,
748- (myConfig.bMapWallpaper ? NULL : (myConfig.cDefaultIcon != NULL ? g_strdup (myConfig.cDefaultIcon) : g_strdup (MY_APPLET_SHARE_DATA_DIR"/default.svg"))),
749- NULL,
750- g_strdup_printf ("%d",i+1),
751- i);
752- if (i == iIndex)
753- {
754- pIcon->cName = g_strdup_printf ("%s (%d)", D_("Current"), i+1);
755- pIcon->bHasIndicator = TRUE;
756- pIcon->fAlpha = .7;
757- }
758- else
759- {
760- pIcon->cName = (i < myConfig.iNbNames ? g_strdup (myConfig.cDesktopNames[i]) : g_strdup_printf ("%s %d", D_("Desktop"), i+1));
761- pIcon->bHasIndicator = FALSE;
762- pIcon->fAlpha = 1.;
763- }
764- pIcon->cParentDockName = g_strdup (myIcon->cName);
765-
766- if (myConfig.bMapWallpaper)
767- {
768- pIcon->iface.load_image = _load_desktop_icon;
769- }
770-
771- pIconList = g_list_append (pIconList, pIcon);
772- }
773-
774- return pIconList;
775-}
776-
777-
778-
779-void cd_switcher_load_icons (void)
780-{
781- CD_APPLET_DELETE_MY_ICONS_LIST;
782- cairo_surface_destroy (myData.pDesktopBgMapSurface);
783- myData.pDesktopBgMapSurface = NULL;
784- cairo_surface_destroy (myData.pDefaultMapSurface);
785- myData.pDefaultMapSurface = NULL;
786-
787- if (myConfig.bMapWallpaper)
788- {
789- cd_switcher_load_desktop_bg_map_surface ();
790- }
791- if (myData.pDesktopBgMapSurface == NULL)
792- {
793- cd_switcher_load_default_map_surface ();
794- }
795-
796- if (myConfig.bCompactView)
797- {
798- if (myIcon->pSubDock != NULL) // si on est passe de expanded a compact, le sous-dock vide reste.
799- {
800- cairo_dock_destroy_dock (myIcon->pSubDock, myIcon->cName);
801- myIcon->pSubDock = NULL;
802- }
803- if (myDesklet)
804- {
805- CD_APPLET_SET_DESKLET_RENDERER ("Simple");
806- myDesklet->render_bounding_box = cd_switcher_draw_desktops_bounding_box; // pour le picking du bureau clique.
807- }
808- }
809- else
810- {
811- //\_______________________ On cree la liste des icones de prevision.
812- GList *pIconList = _load_icons ();
813-
814- //\_______________________ On charge la nouvelle liste.
815- CD_APPLET_LOAD_MY_ICONS_LIST (pIconList, myConfig.cRenderer, "Slide", NULL);
816-
817- //\_______________________ On peint les icones.
818- ///cd_switcher_trigger_paint_icons ();
819- }
820-}
821-
822-/**void cd_switcher_paint_icons (void)
823-{
824- //\_______________________ On applique la surface.
825- CairoContainer *pContainer = CD_APPLET_MY_ICONS_LIST_CONTAINER;
826- GList *pIconList = CD_APPLET_MY_ICONS_LIST;
827- if (pIconList == NULL)
828- return ;
829-
830- cairo_surface_t *pSurface = NULL;
831- double fZoomX, fZoomY;
832- Icon *pFirstIcon = pIconList->data;
833-
834- int iWidth, iHeight;
835- cairo_dock_get_icon_extent (pFirstIcon, &iWidth, &iHeight);
836- int _iWidth, _iHeight;
837- CD_APPLET_GET_MY_ICON_EXTENT (&_iWidth, &_iHeight);
838-
839- if (myConfig.bMapWallpaper)
840- {
841- cd_switcher_draw_main_icon();
842- pSurface = myData.pDesktopBgMapSurface;
843- fZoomX = (double)iWidth / _iWidth;
844- fZoomY = (double)iHeight / _iHeight;
845-
846- }
847- if (pSurface == NULL)
848- {
849- pSurface = myData.pDefaultMapSurface;
850- fZoomX = (double)iWidth / _iWidth;
851- fZoomY = (double)iHeight / _iHeight;
852- }
853-
854- cairo_t *pIconContext;
855- GList* ic;
856- Icon *icon;
857- for (ic = pIconList; ic != NULL; ic = ic->next)
858- {
859- icon = ic->data;
860- //g_print (" (%.2f; %.2f) %.2fx%.2f\n", icon->fDrawX, icon->fDrawY, icon->fWidth, icon->fHeight);
861- pIconContext = cairo_create (icon->pIconBuffer);
862- cairo_scale (pIconContext,
863- fZoomX,
864- fZoomY);
865-
866- cairo_dock_set_icon_surface_with_reflect (pIconContext, pSurface, icon, pContainer);
867- cairo_destroy (pIconContext);
868- }
869-}
870-
871-static gboolean _paint_icons (gpointer data)
872-{
873- CD_APPLET_ENTER;
874- if (! myConfig.bCompactView)
875- cd_switcher_paint_icons ();
876- myData.iSidPainIcons = 0;
877- CD_APPLET_LEAVE (FALSE);
878-}
879-void cd_switcher_trigger_paint_icons (void)
880-{
881- if (myData.iSidPainIcons != 0) // on la lance en idle, car les icones sont chargees en idle.
882- g_source_remove (myData.iSidPainIcons);
883- myData.iSidPainIcons = g_idle_add ((GSourceFunc)_paint_icons, NULL);
884-}*/
885-
886-
887-void cd_switcher_load_desktop_bg_map_surface (void)
888-{
889- // get the background surface
890- CairoDockDesktopBackground *db = cairo_dock_get_desktop_background (FALSE); // FALSE <=> sans texture.
891- cairo_surface_t *pBgSurface = cairo_dock_get_desktop_bg_surface (db);
892-
893- if (myData.pDesktopBgMapSurface != NULL)
894- cairo_surface_destroy (myData.pDesktopBgMapSurface);
895- if (pBgSurface == NULL)
896- {
897- cd_warning ("couldn't get the wallpaper");
898- myData.pDesktopBgMapSurface = NULL;
899- cairo_dock_destroy_desktop_background (db);
900- return ;
901- }
902-
903- // load it at a decent size.
904- if (myDock)
905- {
906- CD_APPLET_GET_MY_ICON_EXTENT (&myData.iSurfaceWidth, &myData.iSurfaceHeight);
907- }
908- else
909- {
910- myData.iSurfaceWidth = myContainer->iWidth / myData.switcher.iNbViewportTotal;
911- myData.iSurfaceHeight = myContainer->iHeight / myData.switcher.iNbViewportTotal;
912- }
913- g_print ("%s (%dx%d)\n", __func__, myData.iSurfaceWidth, myData.iSurfaceHeight);
914-
915- myData.pDesktopBgMapSurface = cairo_dock_duplicate_surface (pBgSurface,
916- g_desktopGeometry.iXScreenWidth[CAIRO_DOCK_HORIZONTAL], g_desktopGeometry.iXScreenHeight[CAIRO_DOCK_HORIZONTAL],
917- myData.iSurfaceWidth, myData.iSurfaceHeight);
918-
919- cairo_dock_destroy_desktop_background (db);
920-}
921-
922-void cd_switcher_load_default_map_surface (void)
923-{
924- if (myData.pDefaultMapSurface != NULL)
925- cairo_surface_destroy (myData.pDefaultMapSurface);
926- if (myDock)
927- {
928- CD_APPLET_GET_MY_ICON_EXTENT (&myData.iSurfaceWidth, &myData.iSurfaceHeight);
929- }
930- else
931- {
932- myData.iSurfaceWidth = myContainer->iWidth / myData.switcher.iNbViewportTotal;
933- myData.iSurfaceHeight = myContainer->iHeight / myData.switcher.iNbViewportTotal;
934- }
935- g_print ("%s (%dx%d)\n", __func__, myData.iSurfaceWidth, myData.iSurfaceHeight);
936- myData.pDefaultMapSurface = cairo_dock_create_surface_from_image_simple (myConfig.cDefaultIcon,
937- myData.iSurfaceWidth,
938- myData.iSurfaceHeight);
939-}
940
941=== removed file '.pc/applied-patches'
942--- .pc/applied-patches 2011-11-05 21:55:39 +0000
943+++ .pc/applied-patches 1970-01-01 00:00:00 +0000
944@@ -1,1 +0,0 @@
945-01-removed-useless-g_print.patch
946
947=== modified file 'Animated-icons/data/Animated-icons.conf.in' (properties changed: +x to -x)
948--- Animated-icons/data/Animated-icons.conf.in 2011-08-09 18:08:08 +0000
949+++ Animated-icons/data/Animated-icons.conf.in 2012-02-14 14:04:19 +0000
950@@ -28,15 +28,6 @@
951 #i+[1;5] Number of times the animation will play:
952 nb rounds applis = 1
953
954-#F-[when clicking on an applet]
955-frame_applet =
956-
957-#V+[Bounce;Rotate;Blink;Pulse;Wobbly;Wave;Spot] Effects used on applets:
958-click applets = 0
959-
960-#i+[1;5] Number of times the animation will play:
961-nb rounds applets = 1
962-
963
964 #[@animated_iconsdatadir@/icon-rotation.png]
965 [Rotation]
966
967=== modified file 'Animated-icons/src/applet-config.c'
968--- Animated-icons/src/applet-config.c 2011-04-20 20:46:51 +0000
969+++ Animated-icons/src/applet-config.c 2012-02-14 14:04:19 +0000
970@@ -49,11 +49,6 @@
971 (int *)myConfig.iEffectsOnClick[CAIRO_DOCK_APPLI]);
972 myConfig.iNbRoundsOnClick[CAIRO_DOCK_APPLI] = CD_CONFIG_GET_INTEGER ("Global", "nb rounds applis");
973
974- CD_CONFIG_GET_INTEGER_LIST ("Global", "click applets", CD_ANIMATIONS_NB_EFFECTS,
975- (int *)myConfig.iEffectsOnClick[CAIRO_DOCK_APPLET]);
976- myConfig.iNbRoundsOnClick[CAIRO_DOCK_APPLET] = CD_CONFIG_GET_INTEGER ("Global", "nb rounds applets");
977-
978-
979 myConfig.iRotationDuration = CD_CONFIG_GET_INTEGER ("Rotation", "duration");
980 myConfig.bContinueRotation = CD_CONFIG_GET_BOOLEAN ("Rotation", "continue");
981 myConfig.iMeshType = CD_CONFIG_GET_INTEGER ("Rotation", "mesh");
982
983=== modified file 'Animated-icons/src/applet-pulse.c'
984--- Animated-icons/src/applet-pulse.c 2010-08-10 00:05:57 +0000
985+++ Animated-icons/src/applet-pulse.c 2012-02-14 14:04:19 +0000
986@@ -86,7 +86,8 @@
987 else
988 cairo_translate (pCairoContext, pIcon->fHeight * pIcon->fScale * (1 - fScaleFactor) / 2, pIcon->fWidth * pIcon->fScale * (1 - fScaleFactor) / 2);
989
990- cairo_dock_set_icon_scale_on_context (pCairoContext, pIcon, pDock->container.bIsHorizontal, pDock->container.fRatio * fScaleFactor, pDock->container.bDirectionUp);
991+ cairo_dock_set_icon_scale_on_context (pCairoContext, pIcon, pDock->container.bIsHorizontal, 1., pDock->container.bDirectionUp);
992+ cairo_scale (pCairoContext, fScaleFactor, fScaleFactor);
993
994 cairo_set_source_surface (pCairoContext, pIcon->pIconBuffer, 0.0, 0.0);
995 cairo_paint_with_alpha (pCairoContext, pData->fPulseAlpha * pIcon->fAlpha);
996
997=== modified file 'Animated-icons/src/applet-rays.c'
998--- Animated-icons/src/applet-rays.c 2009-10-05 19:27:17 +0000
999+++ Animated-icons/src/applet-rays.c 2012-02-14 14:04:19 +0000
1000@@ -28,8 +28,10 @@
1001 {
1002 if (myData.iRaysTexture == 0)
1003 myData.iRaysTexture = cd_animations_load_rays_texture ();
1004- double fMaxScale = cairo_dock_get_max_scale (CAIRO_CONTAINER (pDock));
1005- CairoParticleSystem *pRaysParticleSystem = cairo_dock_create_particle_system (myConfig.iNbRaysParticles, myData.iRaysTexture, pIcon->fWidth, pIcon->fHeight * fMaxScale);
1006+ CairoParticleSystem *pRaysParticleSystem = cairo_dock_create_particle_system (myConfig.iNbRaysParticles,
1007+ myData.iRaysTexture,
1008+ pIcon->fWidth,
1009+ pDock->container.bIsHorizontal ? pIcon->iImageHeight : pIcon->iImageWidth);
1010 pRaysParticleSystem->dt = dt;
1011 pRaysParticleSystem->bDirectionUp = (pDock->container.bIsHorizontal ? pDock->container.bDirectionUp : ! pDock->container.bDirectionUp);
1012 pRaysParticleSystem->bAddLuminance = TRUE;
1013
1014=== modified file 'Animated-icons/src/applet-rotation.c'
1015--- Animated-icons/src/applet-rotation.c 2011-04-20 20:46:51 +0000
1016+++ Animated-icons/src/applet-rotation.c 2012-02-14 14:04:19 +0000
1017@@ -261,7 +261,7 @@
1018 else
1019 {
1020 glTranslatef (0., fOffsetY, 0.);
1021- //glScalef (pIcon->fWidth * pIcon->fWidthFactor * pIcon->fScale, myIconsParam.fReflectSize * pDock->container.fRatio, 1.);
1022+ //glScalef (pIcon->fWidth * pIcon->fWidthFactor * pIcon->fScale, pDock->iIconSize * myIconsParam.fReflectHeightRatio * pDock->container.fRatio, 1.);
1023 }
1024 glScalef (1., -1., 1.);
1025 }
1026@@ -270,12 +270,12 @@
1027 if (pDock->container.bDirectionUp)
1028 {
1029 glTranslatef (fOffsetY, 0., 0.);
1030- //glScalef (- myIconsParam.fReflectSize * pDock->container.fRatio, pIcon->fWidth * pIcon->fWidthFactor * pIcon->fScale, 1.);
1031+ //glScalef (- pDock->iIconSize * myIconsParam.fReflectHeightRatio * pDock->container.fRatio, pIcon->fWidth * pIcon->fWidthFactor * pIcon->fScale, 1.);
1032 }
1033 else
1034 {
1035 glTranslatef (- fOffsetY, 0., 0.);
1036- //glScalef (myIconsParam.fReflectSize * pDock->container.fRatio, pIcon->fWidth * pIcon->fWidthFactor * pIcon->fScale, 1.);
1037+ //glScalef (pDock->iIconSize * myIconsParam.fReflectHeightRatio * pDock->container.fRatio, pIcon->fWidth * pIcon->fWidthFactor * pIcon->fScale, 1.);
1038 }
1039 glScalef (-1., 1., 1.);
1040 }
1041
1042=== modified file 'Animated-icons/src/applet-spot.c'
1043--- Animated-icons/src/applet-spot.c 2011-04-20 20:46:51 +0000
1044+++ Animated-icons/src/applet-spot.c 2012-02-14 14:04:19 +0000
1045@@ -51,7 +51,7 @@
1046 glRotatef (90, 0., 0., 1.);
1047 double fY = (- pIcon->fHeight + CD_ANIMATIONS_SPOT_HEIGHT) * pIcon->fScale/2; // * fRadiusFactor
1048 if (pDock->container.bUseReflect)
1049- fY -= MIN (myIconsParam.fReflectSize, CD_ANIMATIONS_SPOT_HEIGHT/2);
1050+ fY -= MIN (pDock->iIconSize * myIconsParam.fReflectHeightRatio, CD_ANIMATIONS_SPOT_HEIGHT/2);
1051 if (! pDock->container.bDirectionUp)
1052 fY = -fY;
1053 glTranslatef (0., fY, 0.);
1054@@ -81,7 +81,7 @@
1055 glRotatef (90, 0., 0., 1.);
1056 double fY = CD_ANIMATIONS_SPOT_HEIGHT * (1 + cos (G_PI * fHaloRotationAngle / 180.))/2 - pIcon->fHeight * pIcon->fScale/2; // * fRadiusFactor
1057 if (pDock->container.bUseReflect)
1058- fY -= MIN (myIconsParam.fReflectSize, CD_ANIMATIONS_SPOT_HEIGHT/2);
1059+ fY -= MIN (pDock->iIconSize * myIconsParam.fReflectHeightRatio, CD_ANIMATIONS_SPOT_HEIGHT/2);
1060 if (! pDock->container.bDirectionUp)
1061 fY = -fY;
1062 double fX = .9 * pIcon->fWidth * pIcon->fScale/2; // * fRadiusFactor
1063@@ -115,7 +115,7 @@
1064 glRotatef (90, 0., 0., 1.);
1065 double fY = (- pIcon->fHeight + CD_ANIMATIONS_SPOT_HEIGHT/2 + pIcon->fHeight * fRadiusFactor) * pIcon->fScale/2; // CD_ANIMATIONS_SPOT_HEIGHT/2 * fRadiusFactor
1066 if (pDock->container.bUseReflect)
1067- fY -= MIN (myIconsParam.fReflectSize, CD_ANIMATIONS_SPOT_HEIGHT/2);
1068+ fY -= MIN (pDock->iIconSize * myIconsParam.fReflectHeightRatio, CD_ANIMATIONS_SPOT_HEIGHT/2);
1069 if (! pDock->container.bDirectionUp)
1070 fY = -fY;
1071 glTranslatef (0., fY, 0.);
1072
1073=== modified file 'Animated-icons/src/applet-unfold.c'
1074--- Animated-icons/src/applet-unfold.c 2011-09-26 12:56:12 +0000
1075+++ Animated-icons/src/applet-unfold.c 2012-02-14 14:04:19 +0000
1076@@ -31,7 +31,7 @@
1077 int w, h;
1078 cairo_dock_get_icon_extent (pIcon, &w, &h);
1079 double f = 1. - pIcon->pSubDock->fFoldingFactor;
1080- double fMaxScale = cairo_dock_get_max_scale (CAIRO_CONTAINER (pDock));
1081+ double fMaxScale = (pIcon->fHeight != 0 ? (pDock->container.bIsHorizontal ? pIcon->iImageHeight : pIcon->iImageWidth) / pIcon->fHeight : 1.);
1082 double z = pIcon->fScale / fMaxScale * pDock->container.fRatio;
1083
1084 //\______________ On dessine la boite derriere.
1085@@ -55,11 +55,6 @@
1086 cairo_scale(pCairoContext,
1087 (double) w / g_pBoxBelowBuffer.iWidth,
1088 (double) h / g_pBoxBelowBuffer.iHeight);
1089- /**cairo_set_source_surface (pCairoContext,
1090- g_pBoxBelowBuffer.pSurface,
1091- 0.,
1092- 0.);
1093- cairo_paint (pCairoContext);*/
1094 cairo_dock_draw_surface (pCairoContext,
1095 g_pBoxBelowBuffer.pSurface,
1096 g_pBoxBelowBuffer.iWidth, g_pBoxBelowBuffer.iHeight,
1097@@ -80,11 +75,9 @@
1098 if (! pDock->container.bDirectionUp)
1099 cairo_translate (pCairoContext, .2*h, 0.);
1100 }
1101- cairo_scale(pCairoContext,
1102- .8,
1103- .8);
1104 int i;
1105 double dx, dy;
1106+ int wi, hi;
1107 Icon *icon;
1108 GList *ic;
1109 for (ic = pIcon->pSubDock->icons, i = 0; ic != NULL && i < 3; ic = ic->next, i++)
1110@@ -112,11 +105,18 @@
1111 else
1112 dx = - (.1*i - f*1.5) * h/z;
1113 }
1114+
1115+ cairo_dock_get_icon_extent (icon, &wi, &hi);
1116+
1117+ cairo_save (pCairoContext);
1118+ cairo_translate (pCairoContext, dx, dy);
1119+ cairo_scale (pCairoContext, .8 * w / wi, .8 * h / hi);
1120 cairo_set_source_surface (pCairoContext,
1121 icon->pIconBuffer,
1122- dx,
1123- dy);
1124+ 0,
1125+ 0);
1126 cairo_paint_with_alpha (pCairoContext, 1. - f);
1127+ cairo_restore (pCairoContext);
1128 }
1129 cairo_restore (pCairoContext);
1130
1131@@ -125,11 +125,6 @@
1132 cairo_scale(pCairoContext,
1133 (double) w / g_pBoxAboveBuffer.iWidth,
1134 (double) h / g_pBoxAboveBuffer.iHeight);
1135- /**cairo_set_source_surface (pCairoContext,
1136- g_pBoxAboveBuffer.pSurface,
1137- 0.,
1138- 0.);
1139- cairo_paint (pCairoContext);*/
1140 cairo_dock_draw_surface (pCairoContext,
1141 g_pBoxAboveBuffer.pSurface,
1142 g_pBoxAboveBuffer.iWidth, g_pBoxAboveBuffer.iHeight,
1143@@ -139,9 +134,9 @@
1144 cairo_restore (pCairoContext);
1145
1146 //\_____________________ On dessine son reflet.
1147- cairo_dock_draw_icon_reflect_cairo (pIcon, pDock, pCairoContext);
1148+ cairo_restore (pCairoContext); // come back to the original context
1149
1150- cairo_restore (pCairoContext);
1151+ cairo_dock_draw_icon_reflect_cairo (pIcon, CAIRO_CONTAINER (pDock), pCairoContext);
1152 }
1153
1154
1155@@ -151,7 +146,7 @@
1156 int w, h;
1157 cairo_dock_get_icon_extent (pIcon, &w, &h);
1158 double f = 1. - pIcon->pSubDock->fFoldingFactor;
1159- double fMaxScale = cairo_dock_get_max_scale (CAIRO_CONTAINER (pDock));
1160+ double fMaxScale = (pIcon->fHeight != 0 ? (pDock->container.bIsHorizontal ? pIcon->iImageHeight : pIcon->iImageWidth) / pIcon->fHeight : 1.);
1161 double z = pIcon->fScale / fMaxScale * pDock->container.fRatio;
1162
1163 //\______________ On dessine la boite derriere.
1164
1165=== modified file 'Animated-icons/src/applet-wave.c'
1166--- Animated-icons/src/applet-wave.c 2011-04-20 20:46:51 +0000
1167+++ Animated-icons/src/applet-wave.c 2012-02-14 14:04:19 +0000
1168@@ -186,8 +186,8 @@
1169 {
1170 glPushMatrix ();
1171 double x0, y0, x1, y1;
1172- double fReflectRatio = myIconsParam.fReflectSize * pDock->container.fRatio / pIcon->fHeight / pIcon->fScale;
1173- double fOffsetY = pIcon->fHeight * pIcon->fScale/2 + (myIconsParam.fReflectSize/2 + pIcon->fDeltaYReflection) * pDock->container.fRatio;
1174+ double fReflectRatio = pDock->iIconSize * myIconsParam.fReflectHeightRatio * pDock->container.fRatio / pIcon->fHeight / pIcon->fScale;
1175+ double fOffsetY = pIcon->fHeight * pIcon->fScale/2 + (pDock->iIconSize * myIconsParam.fReflectHeightRatio/2 + pIcon->fDeltaYReflection) * pDock->container.fRatio;
1176 if (pDock->container.bIsHorizontal)
1177 {
1178 if (pDock->container.bDirectionUp)
1179@@ -203,7 +203,7 @@
1180 else
1181 {
1182 glTranslatef (0., fOffsetY, 0.);
1183- glScalef (pIcon->fWidth * pIcon->fWidthFactor * pIcon->fScale, myIconsParam.fReflectSize * pDock->container.fRatio, 1.);
1184+ glScalef (pIcon->fWidth * pIcon->fWidthFactor * pIcon->fScale, pDock->iIconSize * myIconsParam.fReflectHeightRatio * pDock->container.fRatio, 1.);
1185 x0 = 0.;
1186 y0 = fReflectRatio;
1187 x1 = 1.;
1188@@ -215,7 +215,7 @@
1189 if (pDock->container.bDirectionUp)
1190 {
1191 glTranslatef (fOffsetY, 0., 0.);
1192- glScalef (- myIconsParam.fReflectSize * pDock->container.fRatio, pIcon->fWidth * pIcon->fWidthFactor * pIcon->fScale, 1.);
1193+ glScalef (- pDock->iIconSize * myIconsParam.fReflectHeightRatio * pDock->container.fRatio, pIcon->fWidth * pIcon->fWidthFactor * pIcon->fScale, 1.);
1194 x0 = 1. - fReflectRatio;
1195 y0 = 0.;
1196 x1 = 1.;
1197@@ -224,7 +224,7 @@
1198 else
1199 {
1200 glTranslatef (- fOffsetY, 0., 0.);
1201- glScalef (myIconsParam.fReflectSize * pDock->container.fRatio, pIcon->fWidth * pIcon->fWidthFactor * pIcon->fScale, 1.);
1202+ glScalef (pDock->iIconSize * myIconsParam.fReflectHeightRatio * pDock->container.fRatio, pIcon->fWidth * pIcon->fWidthFactor * pIcon->fScale, 1.);
1203 x0 = fReflectRatio;
1204 y0 = 0.;
1205 x1 = 0.;
1206
1207=== modified file 'Animated-icons/src/applet-wobbly.c'
1208--- Animated-icons/src/applet-wobbly.c 2011-08-09 18:08:08 +0000
1209+++ Animated-icons/src/applet-wobbly.c 2012-02-14 14:04:19 +0000
1210@@ -422,8 +422,8 @@
1211 {
1212 glPushMatrix ();
1213 double x0, y0, x1, y1;
1214- double fReflectRatio = myIconsParam.fReflectSize * pDock->container.fRatio / pIcon->fHeight / pIcon->fScale;
1215- ///double fOffsetY = pIcon->fHeight * pIcon->fScale/2 + (myIconsParam.fReflectSize/2 + pIcon->fDeltaYReflection) * pDock->container.fRatio;
1216+ double fReflectRatio = pDock->iIconSize * myIconsParam.fReflectHeightRatio * pDock->container.fRatio / pIcon->fHeight / pIcon->fScale;
1217+ ///double fOffsetY = pIcon->fHeight * pIcon->fScale/2 + (pDock->iIconSize * myIconsParam.fReflectHeightRatio/2 + pIcon->fDeltaYReflection) * pDock->container.fRatio;
1218 double fOffsetY = pIcon->fHeight * pIcon->fScale + pIcon->fDeltaYReflection;
1219 if (pDock->container.bIsHorizontal)
1220 {
1221@@ -498,7 +498,7 @@
1222 // 0, 1, 8, 2, &pColorPts[0][0][0]);
1223 glMap2f(GL_MAP2_COLOR_4, 0.0, 1.0, 4, 4,
1224 0.0, 1.0, 16, 4, &colorPoints[0][0][0]);*/
1225- glEvalMesh2(GL_FILL, 0, myConfig.iNbGridNodes, myConfig.iNbGridNodes*0, myConfig.iNbGridNodes*1);
1226+ glEvalMesh2(GL_FILL, 0, myConfig.iNbGridNodes, 0, myConfig.iNbGridNodes);
1227
1228 /**glActiveTextureARB(GL_TEXTURE1_ARB);
1229 glDisable(GL_TEXTURE_2D);
1230
1231=== modified file 'Applets.stable'
1232--- Applets.stable 2011-09-26 12:56:12 +0000
1233+++ Applets.stable 2012-02-14 14:04:19 +0000
1234@@ -61,6 +61,8 @@
1235 Composite-Manager
1236 Impulse
1237 ###All other applets are considered to be either not enough functionnal, buggy/untested, or under heavy development.
1238+#Sound-Menu
1239+#Application-Menu
1240 #Scooby-Do
1241 #Network-Monitor
1242 #Disks
1243
1244=== modified file 'CMakeLists.txt'
1245--- CMakeLists.txt 2011-10-09 00:19:16 +0000
1246+++ CMakeLists.txt 2012-02-14 14:04:19 +0000
1247@@ -6,13 +6,14 @@
1248 include (CheckIncludeFiles)
1249 include (CheckFunctionExists)
1250 include (CheckSymbolExists)
1251+include ("${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/GNUInstallDirs.cmake")
1252
1253 ########### project ###############
1254
1255 project ("cairo-dock-plugins")
1256-set (VERSION "2.4.0~2")
1257+set (VERSION "3.0.0.0beta1")
1258
1259-add_definitions (-std=c99 -Wextra -Wwrite-strings -Wuninitialized -Werror-implicit-function-declaration) # removed for stable versions: -Wstrict-prototypes #-Wunreachable-code -Wno-unused-parameter -Wall
1260+add_definitions (-std=c99 -Wextra -Wwrite-strings -Wuninitialized -Werror-implicit-function-declaration -Wstrict-prototypes) # removed for stable versions: -Wstrict-prototypes #-Wunreachable-code -Wno-unused-parameter -Wall
1261 if (NOT ${CMAKE_BUILD_TYPE})
1262 add_definitions (-O3)
1263 endif()
1264@@ -48,17 +49,27 @@
1265
1266 # get plug-ins install dir
1267 execute_process(
1268- COMMAND pkg-config gldi --variable=pluginsdir # /usr/lib/cairo-dock
1269+ COMMAND pkg-config gldi --variable=pluginsdir # /usr/lib/cairo-dock # or /usr/lib/x86_64-linux-gnu/cairo-dock
1270 OUTPUT_VARIABLE pluginsdir)
1271-STRING (REGEX REPLACE "\n" "" pluginsdir ${pluginsdir}) # la commande rajoute un retour chariot ...
1272+STRING (REGEX REPLACE "\n" "" pluginsdir ${pluginsdir}) # remove the \n
1273 # get plug-ins data dir
1274 execute_process(
1275- COMMAND pkg-config gldi --variable=pluginsdatadir # /usr/share/cairo-dock/plug-ins
1276+ COMMAND pkg-config gldi --variable=pluginsdatadir # /usr/share/cairo-dock/plug-ins
1277 OUTPUT_VARIABLE pluginsdatadir)
1278 STRING (REGEX REPLACE "\n" "" pluginsdatadir ${pluginsdatadir})
1279+# get prefix dir
1280+execute_process(
1281+ COMMAND pkg-config gldi --variable=prefix # /usr/share/cairo-dock/plug-ins
1282+ OUTPUT_VARIABLE prefix)
1283+STRING (REGEX REPLACE "\n" "" prefix ${prefix})
1284+# get GTK version (must be the same as the core, as GTK2 and GTK3 can't coexist at runtime)
1285+execute_process(
1286+ COMMAND pkg-config gldi --variable=gtkversion # 2 or 3
1287+ OUTPUT_VARIABLE gtkversion)
1288+STRING (REGEX REPLACE "\n" "" gtkversion ${gtkversion})
1289 # check that version matches with the core
1290 execute_process(
1291- COMMAND pkg-config --modversion gldi # 2.2.0-3
1292+ COMMAND pkg-config --modversion gldi # 2.2.0-3
1293 OUTPUT_VARIABLE dock_version)
1294 STRING (REGEX REPLACE "\n" "" dock_version ${dock_version})
1295 if (NOT "${dock_version}" STREQUAL "${VERSION}") # Version
1296@@ -69,18 +80,13 @@
1297 endif ()
1298 endif()
1299
1300-#if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT "${FORCE_LIB64}" STREQUAL "") # 64bits and force install in lib64
1301-# set (libname "lib64")
1302-#else()
1303-# set (libname "lib${LIB_SUFFIX}")
1304-#endif()
1305-#set (libdir "${CMAKE_INSTALL_PREFIX}/${libname}/cairo-dock") # /usr/lib
1306-
1307 # check that installation dir matches with the core
1308-GET_FILENAME_COMPONENT(libdir "${pluginsdir}/.." ABSOLUTE) # /usr/lib
1309-GET_FILENAME_COMPONENT(prefix "${pluginsdir}/../.." ABSOLUTE) # /usr
1310-if (NOT "${CMAKE_INSTALL_PREFIX}" STREQUAL "${prefix}")
1311- message (STATUS "It seems that the current CMAKE_INSTALL_PREFIX flag is not the same that you have used with the core.")
1312+GET_FILENAME_COMPONENT(libdir "${pluginsdir}/.." ABSOLUTE) # /usr/lib # or /usr/lib/x86_64-linux-gnu
1313+GET_FILENAME_COMPONENT(datadir "${pluginsdatadir}/../.." ABSOLUTE) # /usr/share
1314+if (NOT "${CMAKE_INSTALL_PREFIX}" STREQUAL "${prefix}"
1315+ OR NOT "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" STREQUAL "${libdir}"
1316+ OR NOT "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}" STREQUAL "${datadir}")
1317+ message (STATUS "It seems that the current CMAKE_INSTALL_{PREFIX,LIBDIR,DATAROOTDIR} flags are not the same that you have used with the core.")
1318 message (STATUS " It will be replaced by this value: ${prefix}")
1319 message (WARNING "Plug-ins should be installed in the same directory as the core, that is to say in ${pluginsdir}")
1320 set (CMAKE_INSTALL_PREFIX "${prefix}")
1321@@ -89,8 +95,8 @@
1322
1323 # set internationalisation
1324 set (GETTEXT_PLUGINS "cairo-dock-plugins")
1325-set (localedir "${CMAKE_INSTALL_PREFIX}/share/locale")
1326-set (gaugesdir "${CMAKE_INSTALL_PREFIX}/share/cairo-dock/gauges")
1327+set (localedir "${prefix}/${CMAKE_INSTALL_LOCALEDIR}")
1328+set (gaugesdir "${datadir}/cairo-dock/gauges")
1329
1330 set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules/") # additionnal FindPackage files
1331
1332@@ -102,14 +108,16 @@
1333
1334 message ("")
1335 message (STATUS "=====================")
1336-message (STATUS "Check dependancies...")
1337+message (STATUS "Check dependencies...")
1338 message (STATUS "=====================")
1339 message ("")
1340
1341-pkg_check_modules ("PACKAGE" REQUIRED "gtk+-2.0" "gthread-2.0" "cairo" "librsvg-2.0" "dbus-1" "dbus-glib-1" "libxml-2.0" "gtkglext-1.0")
1342-pkg_check_modules ("GLDI" REQUIRED "gldi") # we don't want to link with gldi
1343+pkg_check_modules ("PACKAGE" REQUIRED "cairo" "librsvg-2.0" "dbus-1" "dbus-glib-1" "libxml-2.0")
1344+#pkg_check_modules ("PACKAGE" REQUIRED "ig")
1345+pkg_check_modules ("GLDI" REQUIRED "gldi") # we don't want to link with gldi, so we check it separately.
1346 set (PACKAGE_INCLUDE_DIRS "${GLDI_INCLUDE_DIRS}")
1347-#message (STATUS "PACKAGE: ${PACKAGE_INCLUDE_DIRS}")
1348+
1349+add_definitions (-DGTK_DISABLE_DEPRECATED="1")
1350
1351 ############# GLIB #################
1352 pkg_check_modules (GLIB glib-2.0)
1353@@ -119,6 +127,127 @@
1354 STRING (REGEX REPLACE ".*\\." "" GLIB_NANO "${GLIB_VERSION}") # 2.28.3 => 3
1355 STRING (REGEX REPLACE "-.*" "" GLIB_NANO "${GLIB_NANO}")
1356
1357+############# INDICATOR-APPLET #################
1358+message (STATUS "> Indicator-Applet:")
1359+# Note: the names of dbusmenu-glib, dbusmenu-gtk and indicator have changed...
1360+set (DBUSMENU_MODULE dbusmenu-glib-0.4)
1361+pkg_check_modules (DBUSMENU ${DBUSMENU_MODULE})
1362+if (NOT "${DBUSMENU_FOUND}")
1363+ set (DBUSMENU_MODULE dbusmenu-glib)
1364+ pkg_check_modules (DBUSMENU ${DBUSMENU_MODULE})
1365+endif()
1366+
1367+if ("${gtkversion}" STREQUAL "2")
1368+ set (DBUSMENU_GTK_MODULE dbusmenu-gtk-0.4)
1369+else()
1370+ set (DBUSMENU_GTK_MODULE dbusmenu-gtk3-0.4)
1371+endif()
1372+pkg_check_modules (DBUSMENU_GTK ${DBUSMENU_GTK_MODULE})
1373+if (NOT "${DBUSMENU_GTK_FOUND}")
1374+ if ("${gtkversion}" STREQUAL "2")
1375+ set (DBUSMENU_GTK_MODULE dbusmenu-gtk)
1376+ else()
1377+ set (DBUSMENU_GTK_MODULE dbusmenu-gtk3)
1378+ endif()
1379+ pkg_check_modules (DBUSMENU_GTK ${DBUSMENU_GTK_MODULE})
1380+endif()
1381+
1382+if ("${gtkversion}" STREQUAL "2")
1383+ set (INDICATOR_APPLET_MODULE indicator-0.4)
1384+else()
1385+ set (INDICATOR_APPLET_MODULE indicator3-0.4)
1386+endif()
1387+pkg_check_modules (INDICATOR_APPLET ${INDICATOR_APPLET_MODULE})
1388+if ("${INDICATOR_APPLET_FOUND}" STREQUAL "1")
1389+ set (INDICATOR_APPLICATIONADDED_HAS_HINT 1) # now the ApplicationAdded signal (Status-Notifier) has a new parameter (hint) => https://code.launchpad.net/~ted/indicator-application/name-hints/+merge/67213
1390+ set (INDICATOR_NEW_VERSION 1) # oneiric and newer
1391+else()
1392+ if ("${gtkversion}" STREQUAL "2")
1393+ set (INDICATOR_APPLET_MODULE indicator)
1394+ else()
1395+ set (INDICATOR_APPLET_MODULE indicator3)
1396+ endif()
1397+ pkg_check_modules (INDICATOR_APPLET ${INDICATOR_APPLET_MODULE})
1398+ set (INDICATOR_APPLICATIONADDED_HAS_HINT 0)
1399+endif()
1400+
1401+if ("${gtkversion}" STREQUAL "2")
1402+ set (IDO_MODULE libido-0.1)
1403+else()
1404+ set (IDO_MODULE libido3-0.1)
1405+endif()
1406+pkg_check_modules (IDO ${IDO_MODULE})
1407+
1408+if ("${INDICATOR_APPLET_FOUND}" STREQUAL "1" AND "${DBUSMENU_FOUND}" STREQUAL "1" AND "${DBUSMENU_GTK_FOUND}" STREQUAL "1")
1409+ STRING (REGEX REPLACE "\\..*" "" DBUSMENU_MAJOR "${DBUSMENU_VERSION}")
1410+ STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" DBUSMENU_MINOR "${DBUSMENU_VERSION}") # 0.1.7 => 1.7
1411+ STRING (REGEX REPLACE "\\.[0-9]*" "" DBUSMENU_MINOR "${DBUSMENU_MINOR}")
1412+ STRING (REGEX REPLACE ".*\\." "" DBUSMENU_NANO "${DBUSMENU_VERSION}")
1413+ STRING (REGEX REPLACE "-.*" "" DBUSMENU_NANO "${DBUSMENU_NANO}")
1414+
1415+ STRING (REGEX REPLACE "\\..*" "" DBUSMENU_GTK_MAJOR "${DBUSMENU_GTK_VERSION}")
1416+ STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" DBUSMENU_GTK_MINOR "${DBUSMENU_GTK_VERSION}") # 0.1.7 => 1.7
1417+ STRING (REGEX REPLACE "\\.[0-9]*" "" DBUSMENU_GTK_MINOR "${DBUSMENU_GTK_MINOR}")
1418+ STRING (REGEX REPLACE ".*\\." "" DBUSMENU_GTK_NANO "${DBUSMENU_GTK_VERSION}")
1419+ STRING (REGEX REPLACE "-.*" "" DBUSMENU_GTK_NANO "${DBUSMENU_GTK_NANO}")
1420+
1421+ STRING (REGEX REPLACE "\\..*" "" INDICATOR_MAJOR "${INDICATOR_APPLET_VERSION}")
1422+ STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" INDICATOR_MINOR "${INDICATOR_APPLET_VERSION}") # 0.1.7 => 1.7
1423+ STRING (REGEX REPLACE "\\.[0-9]*" "" INDICATOR_MINOR "${INDICATOR_MINOR}")
1424+ STRING (REGEX REPLACE ".*\\." "" INDICATOR_NANO "${INDICATOR_APPLET_VERSION}")
1425+ STRING (REGEX REPLACE "-.*" "" INDICATOR_NANO "${INDICATOR_NANO}")
1426+
1427+ if (${DBUSMENU_GTK_MAJOR} GREATER 0 OR ${DBUSMENU_GTK_MINOR} GREATER 5 OR (${DBUSMENU_GTK_MINOR} EQUAL 5 AND ${DBUSMENU_GTK_NANO} GREATER 89))
1428+ set (DBUSMENU_GTK3_NEW 1)
1429+ endif()
1430+
1431+ if ("${INDICATOR_NEW_VERSION}" STREQUAL "1") # oneiric and newer
1432+ if ("${gtkversion}" STREQUAL "2")
1433+ execute_process(
1434+ COMMAND pkg-config --variable=iconsdir indicator-0.4
1435+ OUTPUT_VARIABLE INDICATORICONSDIR)
1436+ else()
1437+ execute_process(
1438+ COMMAND pkg-config --variable=iconsdir indicator3-0.4
1439+ OUTPUT_VARIABLE INDICATORICONSDIR)
1440+ endif()
1441+ else()
1442+ if ("${gtkversion}" STREQUAL "2")
1443+ execute_process(
1444+ COMMAND pkg-config --variable=iconsdir indicator
1445+ OUTPUT_VARIABLE INDICATORICONSDIR)
1446+ else()
1447+ execute_process(
1448+ COMMAND pkg-config --variable=iconsdir indicator3
1449+ OUTPUT_VARIABLE INDICATORICONSDIR)
1450+ endif()
1451+ endif()
1452+ STRING (REGEX REPLACE "\n" "" INDICATORICONSDIR ${INDICATORICONSDIR}) # la commande rajoute un retour chariot ...
1453+ add_subdirectory (Indicator-applet)
1454+ set (with_indicator "yes")
1455+else()
1456+ message (WARNING "These modules are required to compile Indicators applet (MeMenu, Messaging-Menu, Sound-Control, Status-Notifier and Global-Menu): ${INDICATOR_APPLET_MODULE}(-0.4), ${IDO_MODULE}, ${DBUSMENU_MODULE}(-0.4), ${DBUSMENU_GTK_MODULE}(-0.4)")
1457+ set (MODULES_MISSING "${MODULES_MISSING} ${INDICATOR_APPLET_MODULE}(-0.4) (${IDO_MODULE}) ${DBUSMENU_MODULE}(-0.4) ${DBUSMENU_GTK_MODULE}(-0.4)")
1458+endif()
1459+
1460+############# INDICATOR-NAME #################
1461+message (STATUS "> Indicator Names:")
1462+set (INDICATOR_OLD_NAMES 0)
1463+if ("${force_old_indicator_names}" STREQUAL "yes")
1464+ set (INDICATOR_OLD_NAMES 1)
1465+ message (STATUS " Indicators: use old Ayatana Dbus names (forced)")
1466+#~ elseif ("${DISTRO_ID}" STREQUAL "Ubuntu")
1467+ #~ STRING (REGEX REPLACE "\\..*" "" DISTRO_RELEASE_MAJOR ${DISTRO_RELEASE})
1468+ #~ # message (STATUS "DISTRO_RELEASE_MAJOR: ${DISTRO_RELEASE_MAJOR}")
1469+ #~ if (${DISTRO_RELEASE_MAJOR} LESS 11) # from 11.04, new names are used.
1470+ #~ set (INDICATOR_OLD_NAMES 1)
1471+ #~ message (STATUS " Indicators: use old Ayatana Dbus names")
1472+ #~ endif()
1473+elseif ("${INDICATOR_APPLET_FOUND}" STREQUAL "1" AND NOT (${INDICATOR_MAJOR} GREATER 0 OR ${INDICATOR_MINOR} GREATER 3 OR (${INDICATOR_MINOR} EQUAL 3 AND ${INDICATOR_NANO} GREATER 20)))
1474+ set (INDICATOR_OLD_NAMES 1) # maverick or older
1475+ message (STATUS " Indicators: use old Ayatana Dbus names")
1476+endif()
1477+
1478 ############# ALSA_MIXER #################
1479 message (STATUS "> AlsaMixer:")
1480 set (with_alsa "no")
1481@@ -130,11 +259,15 @@
1482 set (MODULES_MISSING "${MODULES_MISSING} alsa")
1483 else()
1484 set (GETTEXT_ALSA_MIXER ${GETTEXT_PLUGINS})
1485- set (VERSION_ALSA_MIXER "1.1.1")
1486+ set (VERSION_ALSA_MIXER "2.0.0")
1487 set (PACKAGE_ALSA_MIXER "cd-AlsaMixer")
1488 set (with_alsa "yes")
1489 set (alsa_mixerdatadir "${pluginsdatadir}/AlsaMixer")
1490 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/alsaMixer/data/AlsaMixer.conf.in ${CMAKE_CURRENT_BINARY_DIR}/alsaMixer/data/AlsaMixer.conf)
1491+ if ("${with_indicator}" STREQUAL "yes" AND "${IDO_FOUND}"
1492+ AND "${INDICATOR_OLD_NAMES}" STREQUAL "0")
1493+ set (with_soundmenu "yes")
1494+ endif()
1495 add_subdirectory ("alsaMixer")
1496 endif()
1497 endif()
1498@@ -151,7 +284,7 @@
1499 ############# CAIRO_PENGUIN #################
1500 message (STATUS "> Cairo Penguin:")
1501 set (GETTEXT_CAIRO_PENGUIN ${GETTEXT_PLUGINS})
1502-set (VERSION_CAIRO_PENGUIN "1.1.9")
1503+set (VERSION_CAIRO_PENGUIN "1.1.10")
1504 set (PACKAGE_CAIRO_PENGUIN "cd-Cairo-Penguin")
1505 set (cairo_penguinuserdirname "Cairo-Penguin")
1506 set (cairo_penguindatadir "${pluginsdatadir}/Cairo-Penguin")
1507@@ -161,7 +294,7 @@
1508 ############# CLIPPER #################
1509 message (STATUS "> Clipper:")
1510 set (GETTEXT_CLIPPER ${GETTEXT_PLUGINS})
1511-set (VERSION_CLIPPER "1.1.5")
1512+set (VERSION_CLIPPER "1.1.6")
1513 set (PACKAGE_CLIPPER "cd-Clipper")
1514 set (Clipperdatadir "${pluginsdatadir}/Clipper")
1515 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Clipper/data/Clipper.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Clipper/data/Clipper.conf)
1516@@ -178,7 +311,7 @@
1517 set (MODULES_MISSING "${MODULES_MISSING} libical")
1518 endif()
1519 set (GETTEXT_CLOCK ${GETTEXT_PLUGINS})
1520-set (VERSION_CLOCK "2.1.4")
1521+set (VERSION_CLOCK "2.1.5")
1522 set (PACKAGE_CLOCK "cd-clock")
1523 set (clockuserdirname "clock")
1524 set (clockdatadir "${pluginsdatadir}/clock")
1525@@ -188,7 +321,7 @@
1526 ############# COMPOSITE_MANAGER #################
1527 message (STATUS "> Composite Manager:")
1528 set (GETTEXT_COMPOSITE_MANAGER ${GETTEXT_PLUGINS})
1529-set (VERSION_COMPOSITE_MANAGER "1.0.0")
1530+set (VERSION_COMPOSITE_MANAGER "1.0.1")
1531 set (PACKAGE_COMPOSITE_MANAGER "cd-Composite-Manager")
1532 set (composite_managerdatadir "${pluginsdatadir}/Composite-Manager")
1533 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Composite-Manager/data/Composite-Manager.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Composite-Manager/data/Composite-Manager.conf)
1534@@ -197,7 +330,10 @@
1535 ############# DBUS #################
1536 message (STATUS "> DBus:")
1537 message (STATUS " * Python:")
1538-find_program (PYTHON_EXECUTABLE python)
1539+find_program (PYTHON_EXECUTABLE python2) # if python v3 is the default python interpreter (e.g. on ArchLinux), python2 program should exist and we have to use it...
1540+if ("${PYTHON_EXECUTABLE}" STREQUAL "" OR NOT EXISTS ${PYTHON_EXECUTABLE})
1541+ find_program (PYTHON_EXECUTABLE python)
1542+endif()
1543 EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "import sys; print sys.version" OUTPUT_VARIABLE PYTHON_VERSION)
1544 if ("${PYTHON_VERSION}" STREQUAL "")
1545 message (STATUS "Could not find Python, won't install Python interface.")
1546@@ -207,6 +343,7 @@
1547 else()
1548 STRING (REGEX REPLACE "\n" "" PYTHON_VERSION ${PYTHON_VERSION})
1549 message (STATUS " Python Version: ${PYTHON_VERSION}")
1550+ message (STATUS " Python executable program: ${PYTHON_EXECUTABLE}")
1551 GET_FILENAME_COMPONENT(DEBIAN_VERSION /etc/debian_version ABSOLUTE)
1552 if (EXISTS ${DEBIAN_VERSION})
1553 message (STATUS " will use '--install-layout deb' with 'python setup.py install'")
1554@@ -256,7 +393,7 @@
1555 endif()
1556
1557 message (STATUS " * Vala:")
1558-# Valac is only riquired to convert vala files to C files.
1559+# Valac is only required to convert vala files to C files.
1560 # So we can directly use produced files (c, h, vapi) without using valac.
1561 set (with_vala "yes")
1562 set (with_valac "no")
1563@@ -265,10 +402,11 @@
1564
1565 if ("${WITH_VALA}" STREQUAL "no")
1566 set (with_vala "no")
1567-# >= Glib 2.26
1568+# Glib < 2.26
1569 elseif (${GLIB_MAJOR} LESS 3 AND ${GLIB_MINOR} LESS 26)
1570 set (with_vala "no")
1571-elseif (NOT "${VALAC_EXE}" STREQUAL "VALAC_EXE-NOTFOUND") # now it works with 0.10 and 0.11 (= next 0.12)
1572+elseif ( (NOT "${VALAC_EXE}" STREQUAL "VALAC_EXE-NOTFOUND")
1573+ AND (EXISTS ${VALAC_EXE}) ) # now it works with 0.10 and 0.11 (= next 0.12) # $VALAC_EXE may be the correct path, even if valac is not installed !
1574 execute_process(COMMAND ${VALAC_EXE} "--version"
1575 OUTPUT_VARIABLE "VALA_VERSION")
1576 string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION})
1577@@ -296,7 +434,7 @@
1578 endif()
1579 else()
1580 message (STATUS "Could not find ValaC, won't build Vala interface with the version of your distribution.")
1581- message (WARNING "This program is required to compile DBus applet with Python interface: valac (version > 0.10)")
1582+ message (WARNING "This program is required to compile DBus applet with Vala interface: valac (version > 0.10)")
1583 set (PROGRAMS_MISSING "${PROGRAMS_MISSING} valac")
1584 endif()
1585
1586@@ -331,7 +469,7 @@
1587 if ("${enable-disks}" STREQUAL "yes")
1588 message (STATUS "> Disks:")
1589 set (GETTEXT_DISKS ${GETTEXT_PLUGINS})
1590- set (VERSION_DISKS "0.0.3")
1591+ set (VERSION_DISKS "0.0.4")
1592 set (PACKAGE_DISKS "cd-disks")
1593 set (with_disks "yes")
1594 set (disksdatadir "${pluginsdatadir}/Disks")
1595@@ -342,7 +480,7 @@
1596 ############# DND2SHARE #################
1597 message (STATUS "> DND2Share:")
1598 set (GETTEXT_DND2SHARE ${GETTEXT_PLUGINS})
1599-set (VERSION_DND2SHARE "1.0.6")
1600+set (VERSION_DND2SHARE "1.0.7")
1601 set (PACKAGE_DND2SHARE "cd-dnd2share")
1602 set (dnd2sharedatadir "${pluginsdatadir}/dnd2share")
1603 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/dnd2share/data/dnd2share.conf.in ${CMAKE_CURRENT_BINARY_DIR}/dnd2share/data/dnd2share.conf)
1604@@ -362,7 +500,7 @@
1605 if ("${enable-doncky}" STREQUAL "yes")
1606 message (STATUS "> Doncky:")
1607 set (GETTEXT_DONCKY ${GETTEXT_PLUGINS})
1608- set (VERSION_DONCKY "0.0.5")
1609+ set (VERSION_DONCKY "0.0.6")
1610 set (PACKAGE_DONCKY "cd-doncky")
1611 set (with_doncky "yes")
1612 set (donckydatadir "${pluginsdatadir}/Doncky")
1613@@ -373,7 +511,7 @@
1614 ############# DROP INDICATOR #################
1615 message (STATUS "> Drop Indicator:")
1616 set (GETTEXT_DROP_INDICATOR ${GETTEXT_PLUGINS})
1617-set (VERSION_DROP_INDICATOR "1.1.4")
1618+set (VERSION_DROP_INDICATOR "1.1.5")
1619 set (PACKAGE_DROP_INDICATOR "cd-drop_indicator")
1620 set (drop_indicatordatadir "${pluginsdatadir}/drop-indicator")
1621 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/drop-indicator/data/drop_indicator.conf.in ${CMAKE_CURRENT_BINARY_DIR}/drop-indicator/data/drop_indicator.conf)
1622@@ -382,7 +520,7 @@
1623 ############# DUSTBIN #################
1624 message (STATUS "> Dustbin:")
1625 set (GETTEXT_DUSTBIN ${GETTEXT_PLUGINS})
1626-set (VERSION_DUSTBIN "2.3.2")
1627+set (VERSION_DUSTBIN "2.3.3")
1628 set (PACKAGE_DUSTBIN "cd-dustbin")
1629 set (dustbinuserdirname "dustbin")
1630 set (dustbindatadir "${pluginsdatadir}/dustbin")
1631@@ -392,7 +530,7 @@
1632 ############# FOLDERS #################
1633 message (STATUS "> Folders:")
1634 set (GETTEXT_FOLDERS ${GETTEXT_PLUGINS})
1635-set (VERSION_FOLDERS "0.2.2")
1636+set (VERSION_FOLDERS "0.2.3")
1637 set (PACKAGE_FOLDERS "cd-Folders")
1638 set (foldersdatadir "${pluginsdatadir}/Folders")
1639 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Folders/data/Folders.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Folders/data/Folders.conf)
1640@@ -402,14 +540,20 @@
1641 message (STATUS "> GMenu:")
1642 set (with_gmenu "no")
1643 if (NOT "${enable-gmenu}" STREQUAL "no")
1644- pkg_check_modules (GMENU_PACKAGE libgnome-menu)
1645+ if ("${gtkversion}" STREQUAL "2")
1646+ set (GMENU_MODULE libgnome-menu)
1647+ else()
1648+ set (GMENU_MODULE libgnome-menu)
1649+ # set (GMENU_MODULE libgnome-menu-3.0) # TODO
1650+ endif()
1651+ pkg_check_modules (GMENU_PACKAGE ${GMENU_MODULE})
1652 if ("${GMENU_PACKAGE_FOUND}" STREQUAL "")
1653- message (STATUS "Could not find libgnome-menu; Cairo-Dock won't be built with GMenu applet.")
1654- message (WARNING "This module is required to compile GMenu applet: libgnome-menu")
1655- set (MODULES_MISSING "${MODULES_MISSING} libgnome-menu")
1656+ message (STATUS "Could not find ${GMENU_MODULE}; Cairo-Dock won't be built with GMenu applet.")
1657+ message (WARNING "This module is required to compile GMenu applet: ${GMENU_MODULE}")
1658+ set (MODULES_MISSING "${MODULES_MISSING} ${GMENU_MODULE}")
1659 else()
1660 set (GETTEXT_GMENU ${GETTEXT_PLUGINS})
1661- set (VERSION_GMENU "1.1.8")
1662+ set (VERSION_GMENU "1.1.9")
1663 set (PACKAGE_GMENU "cd-GMenu")
1664 set (with_gmenu "yes")
1665 set (gmenudatadir "${pluginsdatadir}/GMenu")
1666@@ -472,14 +616,15 @@
1667 ############# IMPULSE #################
1668 set (with_impulse "no")
1669 message (STATUS "> Impulse:")
1670-pkg_check_modules (IMPULSE_PACKAGES libpulse fftw3)
1671-if ("${IMPULSE_PACKAGES_FOUND}" STREQUAL "")
1672+pkg_check_modules (LIBPULSE libpulse)
1673+pkg_check_modules (FFTW3 fftw3) # optional, not advised for distributions packages (it's not a small dependence...)
1674+if ("${LIBPULSE_FOUND}" STREQUAL "")
1675 message (STATUS "Could not find libpulse; Cairo-Dock won't be built with Impulse applet.")
1676- message (WARNING "These modules are required to compile Impulse applet: libpulse fftw3")
1677- set (MODULES_MISSING "${MODULES_MISSING} libpulse fftw3")
1678+ message (WARNING "These modules are required to compile Impulse applet: libpulse (and fftw3 - optional)")
1679+ set (MODULES_MISSING "${MODULES_MISSING} libpulse")
1680 else()
1681 set (GETTEXT_IMPULSE ${GETTEXT_PLUGINS})
1682- set (VERSION_IMPULSE "0.0.3")
1683+ set (VERSION_IMPULSE "0.0.4")
1684 set (PACKAGE_IMPULSE "cd-Impulse")
1685 set (with_impulse "yes")
1686 set (impulsedatadir "${pluginsdatadir}/Impulse")
1687@@ -487,61 +632,6 @@
1688 add_subdirectory (Impulse)
1689 endif()
1690
1691-############# INDICATOR-APPLET #################
1692-message (STATUS "> Indicator-Applet:")
1693-# Note: the names of dbusmenu-glib, dbusmenu-gtk and indicator have changed...
1694-pkg_check_modules (DBUSMENU_04 QUIET dbusmenu-glib-0.4)
1695-pkg_check_modules (DBUSMENU_GTK_04 QUIET dbusmenu-gtk-0.4)
1696-pkg_check_modules (INDICATOR_04 QUIET indicator-0.4)
1697-if ("${DBUSMENU_04_FOUND}" STREQUAL "1")
1698- pkg_check_modules (DBUSMENU dbusmenu-glib-0.4)
1699-else()
1700- pkg_check_modules (DBUSMENU dbusmenu-glib)
1701-endif()
1702-if ("${DBUSMENU_GTK_04_FOUND}" STREQUAL "1")
1703- pkg_check_modules (DBUSMENU_GTK dbusmenu-gtk-0.4)
1704-else()
1705- pkg_check_modules (DBUSMENU_GTK dbusmenu-gtk)
1706-endif()
1707-if ("${INDICATOR_04_FOUND}" STREQUAL "1")
1708- pkg_check_modules (INDICATOR_APPLET indicator-0.4 libido-0.1)
1709- set (INDICATOR_APPLICATIONADDED_HAS_HINT 1) # now the ApplicationAdded signal (Status-Notifier) has a new parameter (hint) => https://code.launchpad.net/~ted/indicator-application/name-hints/+merge/67213
1710-else()
1711- pkg_check_modules (INDICATOR_APPLET indicator libido-0.1)
1712- set (INDICATOR_APPLICATIONADDED_HAS_HINT 0)
1713-endif()
1714-
1715-if ("${INDICATOR_APPLET_FOUND}" STREQUAL "1" AND "${DBUSMENU_FOUND}" STREQUAL "1" AND "${DBUSMENU_GTK_FOUND}" STREQUAL "1")
1716- #message (STATUS "DBUSMENU_VERSION : ${DBUSMENU_VERSION}")
1717-
1718- STRING (REGEX REPLACE "\\..*" "" DBUSMENU_MAJOR "${DBUSMENU_VERSION}")
1719- # message (STATUS "DBUSMENU_MAJOR : ${DBUSMENU_MAJOR}")
1720-
1721- STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" DBUSMENU_MINOR "${DBUSMENU_VERSION}") # 0.1.7 => 1.7
1722- STRING (REGEX REPLACE "\\.[0-9]*" "" DBUSMENU_MINOR "${DBUSMENU_MINOR}")
1723- # message (STATUS "DBUSMENU_MINOR : ${DBUSMENU_MINOR}")
1724-
1725- STRING (REGEX REPLACE ".*\\." "" DBUSMENU_NANO "${DBUSMENU_VERSION}")
1726- STRING (REGEX REPLACE "-.*" "" DBUSMENU_NANO "${DBUSMENU_NANO}")
1727- # message (STATUS "DBUSMENU_NANO : ${DBUSMENU_NANO}")
1728-
1729- if ("${INDICATOR_04_FOUND}" STREQUAL "1")
1730- execute_process(
1731- COMMAND pkg-config --variable=iconsdir indicator-0.4
1732- OUTPUT_VARIABLE INDICATORICONSDIR)
1733- else()
1734- execute_process(
1735- COMMAND pkg-config --variable=iconsdir indicator
1736- OUTPUT_VARIABLE INDICATORICONSDIR)
1737- endif()
1738- STRING (REGEX REPLACE "\n" "" INDICATORICONSDIR ${INDICATORICONSDIR}) # la commande rajoute un retour chariot ...
1739- add_subdirectory (Indicator-applet)
1740- set (with_indicator "yes")
1741-else()
1742- message (WARNING "These modules are required to compile Indicators applet (MeMenu and Messaging-Menu): indicator(-0.4), libido-0.1, dbusmenu-glib(-0.4), dbusmenu-gtk(-0.4)")
1743- set (MODULES_MISSING "${MODULES_MISSING} indicator(-0.4) libido-0.1 dbusmenu-glib(-0.4) dbusmenu-gtk(-0.4)")
1744-endif()
1745-
1746 ############# ILLUSION #################
1747 message (STATUS "> Illusion:")
1748 set (GETTEXT_ILLUSION ${GETTEXT_PLUGINS})
1749@@ -638,7 +728,7 @@
1750 set (MODULES_MISSING "${MODULES_MISSING} libxklavier")
1751 else()
1752 set (GETTEXT_KEYBOARD_INDICATOR ${GETTEXT_PLUGINS})
1753- set (VERSION_KEYBOARD_INDICATOR "1.1.4")
1754+ set (VERSION_KEYBOARD_INDICATOR "1.1.5")
1755 set (PACKAGE_KEYBOARD_INDICATOR "cd-keyboard-indicator")
1756 set (with_keyboard_indicator "yes")
1757 set (keyboard_indicatordatadir "${pluginsdatadir}/keyboard-indicator")
1758@@ -658,7 +748,7 @@
1759 set (MODULES_MISSING "${MODULES_MISSING} upower-glib")
1760 endif()
1761 set (GETTEXT_LOGOUT ${GETTEXT_PLUGINS})
1762-set (VERSION_LOGOUT "1.2.11")
1763+set (VERSION_LOGOUT "2.0.0")
1764 set (PACKAGE_LOGOUT "cd-logout")
1765 set (logoutdatadir "${pluginsdatadir}/logout")
1766 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/logout/data/logout.conf.in ${CMAKE_CURRENT_BINARY_DIR}/logout/data/logout.conf)
1767@@ -672,10 +762,13 @@
1768 execute_process(
1769 COMMAND ${LIBETPAN_CONFIG_EXECUTABLE} --cflags
1770 OUTPUT_VARIABLE MAIL_PACKAGE_CFLAGS)
1771-if (NOT "${MAIL_PACKAGE_CFLAGS}" STREQUAL "") # if there is a problem with the previous, we don't want to have a lot of errors
1772- STRING (REGEX MATCHALL "-I[^ ]+ " TMP_VARIABLE "${MAIL_PACKAGE_CFLAGS}") # first extract the "-I" options
1773+if (NOT "${MAIL_PACKAGE_CFLAGS}" STREQUAL "" AND NOT "${MAIL_PACKAGE_CFLAGS}" STREQUAL "\n") # if there is a problem with the previous, we don't want to have a lot of errors
1774+ STRING (REGEX REPLACE "\n" "" TMP_VARIABLE "${MAIL_PACKAGE_CFLAGS}") # to not skip the last option
1775+ STRING (REGEX MATCHALL "(^| )-I[^ ]+( |$)" TMP_VARIABLE "${TMP_VARIABLE}") # first extract the "-I" options
1776 STRING (REGEX REPLACE ";" "" TMP_VARIABLE "${TMP_VARIABLE}")
1777 STRING (REGEX REPLACE " $" "" TMP_VARIABLE "${TMP_VARIABLE}")
1778+ STRING (REGEX REPLACE "^ " "" TMP_VARIABLE "${TMP_VARIABLE}")
1779+ STRING (REGEX REPLACE " " " " TMP_VARIABLE "${TMP_VARIABLE}")
1780 STRING (REGEX REPLACE "-I([^ ]+)" "\\1" MAIL_PACKAGE_INCLUDE_DIRS "${TMP_VARIABLE}") # then remove the "-I" string
1781 endif()
1782 # find the link flags
1783@@ -683,14 +776,19 @@
1784 COMMAND ${LIBETPAN_CONFIG_EXECUTABLE} --libs
1785 OUTPUT_VARIABLE MAIL_PACKAGE_LIBS)
1786 if (NOT "${MAIL_PACKAGE_LIBS}" STREQUAL "")
1787+ STRING (REGEX REPLACE "\n" "" MAIL_PACKAGE_LIBS "${MAIL_PACKAGE_LIBS}")
1788 # find the link libraries
1789- STRING (REGEX MATCHALL "-l[^ ]+ " TMP_VARIABLE "${MAIL_PACKAGE_LIBS}") # extract the "-l" options
1790+ STRING (REGEX MATCHALL "(^| )-l[^ ]+( |$)" TMP_VARIABLE "${MAIL_PACKAGE_LIBS}") # extract the "-l" options (only if it's separated by two blank spaces or the end/beginning of the line => -L/usr/lib/x86_64-linux-gnu)
1791 STRING (REGEX REPLACE ";" "" TMP_VARIABLE "${TMP_VARIABLE}")
1792+ STRING (REGEX REPLACE "^ " "" TMP_VARIABLE "${TMP_VARIABLE}")
1793+ STRING (REGEX REPLACE " " " " TMP_VARIABLE "${TMP_VARIABLE}")
1794 STRING (REGEX REPLACE " $" "" MAIL_PACKAGE_LIBRARIES "${TMP_VARIABLE}")
1795 # find the link directories
1796- STRING (REGEX MATCHALL "-L[^ ]+ " TMP_VARIABLE "${MAIL_PACKAGE_LIBS}") # extract the "-L" options
1797+ STRING (REGEX MATCHALL "(^| )-L[^ ]+( |$)" TMP_VARIABLE "${MAIL_PACKAGE_LIBS}") # extract the "-L" options
1798 STRING (REGEX REPLACE ";" "" TMP_VARIABLE "${TMP_VARIABLE}")
1799 STRING (REGEX REPLACE " $" "" TMP_VARIABLE "${TMP_VARIABLE}")
1800+ STRING (REGEX REPLACE "^ " "" TMP_VARIABLE "${TMP_VARIABLE}")
1801+ STRING (REGEX REPLACE " " " " TMP_VARIABLE "${TMP_VARIABLE}")
1802 STRING (REGEX REPLACE "-L([^ ]+)" "\\1" MAIL_PACKAGE_LIBRARY_DIRS "${TMP_VARIABLE}") # then remove the "-L" string
1803 endif()
1804 if ("${MAIL_PACKAGE_LIBS}" STREQUAL "")
1805@@ -703,7 +801,7 @@
1806 message (STATUS " Link directories: ${MAIL_PACKAGE_LIBRARY_DIRS}")
1807 message (STATUS " Link libraries: ${MAIL_PACKAGE_LIBRARIES}")
1808 set (GETTEXT_MAIL ${GETTEXT_PLUGINS})
1809- set (VERSION_MAIL "1.0.9")
1810+ set (VERSION_MAIL "1.0.10")
1811 set (PACKAGE_MAIL "cd-mail")
1812 set (maildatadir "${pluginsdatadir}/mail")
1813 set (with_mail "yes")
1814@@ -754,29 +852,27 @@
1815 message (STATUS " DISTRO_ID: ${DISTRO_ID}, DISTRO_RELEASE: ${DISTRO_RELEASE}")
1816 endif()
1817
1818-############# INDICATOR_NAME #################
1819-message (STATUS "> Indicator Names:")
1820-set (INDICATOR_OLD_NAMES 0)
1821-if ("${force_old_indicator_names}" STREQUAL "yes")
1822- set (INDICATOR_OLD_NAMES 1)
1823- message (STATUS " Indicators: use old Ayatana Dbus names (forced)")
1824-elseif ("${DISTRO_ID}" STREQUAL "Ubuntu")
1825- STRING (REGEX REPLACE "\\..*" "" DISTRO_RELEASE_MAJOR ${DISTRO_RELEASE})
1826- # message (STATUS "DISTRO_RELEASE_MAJOR: ${DISTRO_RELEASE_MAJOR}")
1827- if (${DISTRO_RELEASE_MAJOR} LESS 11) # from 11.04, new names are used.
1828- set (INDICATOR_OLD_NAMES 1)
1829- message (STATUS " Indicators: use old Ayatana Dbus names")
1830- endif()
1831+############# GLOBAL-MENU #################
1832+set (with_global_menu "no")
1833+if ("${enable-global-menu}" STREQUAL "yes" AND "${INDICATOR_OLD_NAMES}" STREQUAL "0" AND "${DBUSMENU_FOUND}" AND "${DBUSMENU_GTK_FOUND}") # currently only supported with new name of the indicator module and with newer version of dbusmenu
1834+ message (STATUS "> Global-Menu:")
1835+ set (GETTEXT_GLOBAL_MENU ${GETTEXT_PLUGINS})
1836+ set (VERSION_GLOBAL_MENU "0.1.0")
1837+ set (PACKAGE_GLOBAL_MENU "cd-Global-Menu")
1838+ set (with_global_menu "yes")
1839+ set (global_menudatadir "${pluginsdatadir}/Global-Menu")
1840+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Global-Menu/data/Global-Menu.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Global-Menu/data/Global-Menu.conf)
1841+ add_subdirectory (Global-Menu)
1842 endif()
1843
1844 ############# MEMENU #################
1845 set (with_me_menu "no")
1846-if ("${INDICATOR_04_FOUND}" STREQUAL "1")
1847- message (STATUS "> MeMenu: this applet has been automatically merged with Messaging-Menu")
1848-elseif ("${with_indicator}" STREQUAL "yes")
1849+if ("${INDICATOR_NEW_VERSION}" STREQUAL "1" AND NOT "${enable-memenu}" STREQUAL "yes")
1850+ message (STATUS "> MeMenu: this applet has been automatically merged with Messaging-Menu") # oneiric or newer
1851+elseif ("${with_indicator}" STREQUAL "yes" AND "${IDO_FOUND}")
1852 message (STATUS "> MeMenu:")
1853 set (GETTEXT_MEMENU ${GETTEXT_PLUGINS})
1854- set (VERSION_MEMENU "1.0.2")
1855+ set (VERSION_MEMENU "1.0.3")
1856 set (PACKAGE_MEMENU "cd-MeMenu")
1857 set (memenudatadir "${pluginsdatadir}/MeMenu")
1858 set (with_me_menu "yes")
1859@@ -789,7 +885,7 @@
1860 if ("${with_indicator}" STREQUAL "yes")
1861 message (STATUS "> Messaging-Menu:")
1862 set (GETTEXT_MESSAGING_MENU ${GETTEXT_PLUGINS})
1863- set (VERSION_MESSAGING_MENU "1.0.2")
1864+ set (VERSION_MESSAGING_MENU "1.0.3")
1865 set (PACKAGE_MESSAGING_MENU "cd-Messaging-Menu")
1866 set (with_messaging_menu "yes")
1867 set (messaging_menudatadir "${pluginsdatadir}/Messaging-Menu")
1868@@ -809,7 +905,7 @@
1869 ############# MUSICPLAYER #################
1870 message (STATUS "> MusicPlayer:")
1871 set (GETTEXT_MUSICPLAYER ${GETTEXT_PLUGINS})
1872-set (VERSION_MUSICPLAYER "1.1.0")
1873+set (VERSION_MUSICPLAYER "2.0.0")
1874 set (PACKAGE_MUSICPLAYER "cd-musicPlayer")
1875 set (musicplayerdatadir "${pluginsdatadir}/musicPlayer")
1876 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/musicPlayer/data/musicPlayer.conf.in ${CMAKE_CURRENT_BINARY_DIR}/musicPlayer/data/musicPlayer.conf)
1877@@ -818,7 +914,7 @@
1878 ############# NETSPEED #################
1879 message (STATUS "> NetSpeed:")
1880 set (GETTEXT_NETSPEED ${GETTEXT_PLUGINS})
1881-set (VERSION_NETSPEED "1.2.7")
1882+set (VERSION_NETSPEED "1.2.8")
1883 set (PACKAGE_NETSPEED "cd-netspeed")
1884 set (netspeeddatadir "${pluginsdatadir}/netspeed")
1885 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/netspeed/data/netspeed.conf.in ${CMAKE_CURRENT_BINARY_DIR}/netspeed/data/netspeed.conf)
1886@@ -829,7 +925,7 @@
1887 if ("${enable-network-monitor}" STREQUAL "yes")
1888 message (STATUS "> Network Monitor:")
1889 set (GETTEXT_NETWORK_MONITOR ${GETTEXT_PLUGINS})
1890- set (VERSION_NETWORK_MONITOR "0.2.5")
1891+ set (VERSION_NETWORK_MONITOR "0.2.6")
1892 set (PACKAGE_NETWORK_MONITOR "cd-network-monitor")
1893 set (with_network_monitor "yes")
1894 set (network_monitordatadir "${pluginsdatadir}/Network-Monitor")
1895@@ -840,7 +936,7 @@
1896 ############# POWERMANAGER #################
1897 message (STATUS "> PowerManager:")
1898 set (GETTEXT_POWERMANAGER ${GETTEXT_PLUGINS})
1899-set (VERSION_POWERMANAGER "1.3.7")
1900+set (VERSION_POWERMANAGER "1.3.8")
1901 set (PACKAGE_POWERMANAGER "cd-powermanager")
1902 set (powermanagerdatadir "${pluginsdatadir}/powermanager")
1903 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/powermanager/data/powermanager.conf.in ${CMAKE_CURRENT_BINARY_DIR}/powermanager/data/powermanager.conf)
1904@@ -849,7 +945,7 @@
1905 ############# QUICK BROWSER #################
1906 message (STATUS "> Quick Browser:")
1907 set (GETTEXT_QUICK_BROWSER ${GETTEXT_PLUGINS})
1908-set (VERSION_QUICK_BROWSER "1.0.9")
1909+set (VERSION_QUICK_BROWSER "1.0.10")
1910 set (PACKAGE_QUICK_BROWSER "cd-quick-browser")
1911 set (quick_browserdatadir "${pluginsdatadir}/quick_browser")
1912 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/quick-browser/data/quick-browser.conf.in ${CMAKE_CURRENT_BINARY_DIR}/quick-browser/data/quick-browser.conf)
1913@@ -865,7 +961,7 @@
1914 set (MODULES_MISSING "${MODULES_MISSING} zeitgeist-1.0")
1915 else()
1916 set (GETTEXT_RECENT_EVENTS ${GETTEXT_PLUGINS})
1917- set (VERSION_RECENT_EVENTS "1.0.0")
1918+ set (VERSION_RECENT_EVENTS "1.0.1")
1919 set (PACKAGE_RECENT_EVENTS "cd-Recent-Events")
1920 set (with_recent_events "yes")
1921 set (recent_eventsdatadir "${pluginsdatadir}/Recent-Events")
1922@@ -876,7 +972,7 @@
1923 ############# REMOTE_CONTROL #################
1924 message (STATUS "> Remote Control:")
1925 set (GETTEXT_REMOTE_CONTROL ${GETTEXT_PLUGINS})
1926-set (VERSION_REMOTE_CONTROL "0.0.2")
1927+set (VERSION_REMOTE_CONTROL "1.0.0")
1928 set (PACKAGE_REMOTE_CONTROL "cd-Remote-Control")
1929 set (remote_controldatadir "${pluginsdatadir}/Remote-Control")
1930 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Remote-Control/data/Remote-Control.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Remote-Control/data/Remote-Control.conf)
1931@@ -885,7 +981,7 @@
1932 ############# RSSREADER #################
1933 message (STATUS "> RSSreader:")
1934 set (GETTEXT_RSS_READER ${GETTEXT_PLUGINS})
1935-set (VERSION_RSS_READER "1.0.4")
1936+set (VERSION_RSS_READER "1.0.5")
1937 set (PACKAGE_RSS_READER "cd-rssreader")
1938 set (rss_readerdatadir "${pluginsdatadir}/RSSreader")
1939 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/RSSreader/data/RSSreader.conf.in ${CMAKE_CURRENT_BINARY_DIR}/RSSreader/data/RSSreader.conf)
1940@@ -904,14 +1000,14 @@
1941 add_subdirectory (Scooby-Do)
1942 endif()
1943
1944-############# SHARED-IMAGES #################
1945-set (shared_imagesdatadir "${pluginsdatadir}/shared-images")
1946-add_subdirectory (shared-images)
1947+############# SHARED-FILES #################
1948+set (shared_filesdatadir "${pluginsdatadir}/shared-files")
1949+add_subdirectory (shared-files)
1950
1951 ############# SHORTCUTS #################
1952 message (STATUS "> Shortcuts:")
1953 set (GETTEXT_SHORTCUTS ${GETTEXT_PLUGINS})
1954-set (VERSION_SHORTCUTS "1.3.2")
1955+set (VERSION_SHORTCUTS "1.3.3")
1956 set (PACKAGE_SHORTCUTS "cd-shortcuts")
1957 set (shortcutsdatadir "${pluginsdatadir}/shortcuts")
1958 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/shortcuts/data/shortcuts.conf.in ${CMAKE_CURRENT_BINARY_DIR}/shortcuts/data/shortcuts.conf)
1959@@ -928,7 +1024,7 @@
1960 set (with_xrandr "no")
1961 endif()
1962 set (GETTEXT_SHOW_DESKTOP ${GETTEXT_PLUGINS})
1963-set (VERSION_SHOW_DESKTOP "1.2.5")
1964+set (VERSION_SHOW_DESKTOP "1.2.6")
1965 set (PACKAGE_SHOW_DESKTOP "cd-showDesktop")
1966 set (show_desktopdatadir "${pluginsdatadir}/showDesktop")
1967 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/showDesktop/data/showDesktop.conf.in ${CMAKE_CURRENT_BINARY_DIR}/showDesktop/data/showDesktop.conf)
1968@@ -954,7 +1050,7 @@
1969 set (with_exif "no")
1970 endif()
1971 set (GETTEXT_SLIDER ${GETTEXT_PLUGINS})
1972-set (VERSION_SLIDER "2.0.10")
1973+set (VERSION_SLIDER "2.0.11")
1974 set (PACKAGE_SLIDER "cd-slider")
1975 set (sliderdatadir "${pluginsdatadir}/slider")
1976 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/slider/data/slider.conf.in ${CMAKE_CURRENT_BINARY_DIR}/slider/data/slider.conf)
1977@@ -963,7 +1059,7 @@
1978 ############# STACK #################
1979 message (STATUS "> Stack:")
1980 set (GETTEXT_STACK ${GETTEXT_PLUGINS})
1981-set (VERSION_STACK "0.3.2")
1982+set (VERSION_STACK "0.3.3")
1983 set (PACKAGE_STACK "cd-stack")
1984 set (stackdatadir "${pluginsdatadir}/stack")
1985 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/stack/data/stack.conf.in ${CMAKE_CURRENT_BINARY_DIR}/stack/data/stack.conf)
1986@@ -973,7 +1069,7 @@
1987 message (STATUS "> Status Notifier:")
1988 if ("${DBUSMENU_GTK_FOUND}" STREQUAL "")
1989 message (STATUS "Could not find Status-Notifier libs; Cairo-Dock won't be built with Status-Notifier support.")
1990- message (WARNING "This module is required to compile Status Notifier applet: dbusmenu-gtk(-0.4)")
1991+ message (WARNING "This module is required to compile Status Notifier applet: ${DBUSMENU_GTK_MODULE}(-0.4)")
1992 # set (MODULES_MISSING "${MODULES_MISSING} dbusmenu-gtk(-0.4)") # it should already be in the list.
1993 set (with_status_notifier "no")
1994 else()
1995@@ -984,7 +1080,7 @@
1996 endif()
1997 message (STATUS " ApplicationAdded signal has 'Hint' = ${INDICATOR_APPLICATIONADDED_HAS_HINT}")
1998 set (GETTEXT_STATUS_NOTIFIER ${GETTEXT_PLUGINS})
1999- set (VERSION_STATUS_NOTIFIER "0.1.4")
2000+ set (VERSION_STATUS_NOTIFIER "0.1.5")
2001 set (PACKAGE_STATUS_NOTIFIER "cd-status-notifier")
2002 set (with_status_notifier "yes")
2003 set (status_notifierdatadir "${pluginsdatadir}/Status-Notifier")
2004@@ -995,7 +1091,7 @@
2005 ############# SWITCHER #################
2006 message (STATUS "> Switcher:")
2007 set (GETTEXT_SWITCHER ${GETTEXT_PLUGINS})
2008-set (VERSION_SWITCHER "2.1.7")
2009+set (VERSION_SWITCHER "2.1.8")
2010 set (PACKAGE_SWITCHER "cd-switcher")
2011 set (switcherdatadir "${pluginsdatadir}/switcher")
2012 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/switcher/data/switcher.conf.in ${CMAKE_CURRENT_BINARY_DIR}/switcher/data/switcher.conf)
2013@@ -1012,7 +1108,7 @@
2014 set (with_sensors "no")
2015 endif()
2016 set (GETTEXT_SYSTEM_MONITOR ${GETTEXT_PLUGINS})
2017-set (VERSION_SYSTEM_MONITOR "1.0.9")
2018+set (VERSION_SYSTEM_MONITOR "1.0.10")
2019 set (PACKAGE_SYSTEM_MONITOR "cd-system-monitor")
2020 set (system_monitordatadir "${pluginsdatadir}/System-monitor")
2021 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/System-Monitor/data/System-Monitor.conf.in ${CMAKE_CURRENT_BINARY_DIR}/System-Monitor/data/System-Monitor.conf)
2022@@ -1021,7 +1117,7 @@
2023 ############# SYSTRAY #################
2024 message (STATUS "> Systray:")
2025 set (GETTEXT_SYSTRAY ${GETTEXT_PLUGINS})
2026-set (VERSION_SYSTRAY "0.2.3")
2027+set (VERSION_SYSTRAY "0.2.4")
2028 set (PACKAGE_SYSTRAY "cd-systray")
2029 set (systraydatadir "${pluginsdatadir}/systray")
2030 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/systray/data/systray.conf.in ${CMAKE_CURRENT_BINARY_DIR}/systray/data/systray.conf)
2031@@ -1029,15 +1125,20 @@
2032
2033 ############# TERMINAL #################
2034 message (STATUS "> Terminal:")
2035-pkg_check_modules (TERMINAL_PACKAGE vte)
2036+if ("${gtkversion}" STREQUAL "2")
2037+ set (TERMINAL_MODULE vte)
2038+else()
2039+ set (TERMINAL_MODULE vte-2.90)
2040+endif()
2041+pkg_check_modules (TERMINAL_PACKAGE ${TERMINAL_MODULE})
2042 if ("${TERMINAL_PACKAGE_FOUND}" STREQUAL "")
2043- message (STATUS "Could not find libvte; Cairo-Dock won't be built with terminal applet.")
2044- message (WARNING "This module is required to compile Terminal applet: vte")
2045- set (MODULES_MISSING "${MODULES_MISSING} vte")
2046+ message (STATUS "Could not find ${TERMINAL_MODULE}; Cairo-Dock won't be built with terminal applet.")
2047+ message (WARNING "This module is required to compile Terminal applet: ${TERMINAL_MODULE}")
2048+ set (MODULES_MISSING "${MODULES_MISSING} ${TERMINAL_MODULE}")
2049 set (with_terminal "no")
2050 else()
2051 set (GETTEXT_TERMINAL ${GETTEXT_PLUGINS})
2052- set (VERSION_TERMINAL "1.0.11")
2053+ set (VERSION_TERMINAL "1.0.12")
2054 set (PACKAGE_TERMINAL "cd-terminal")
2055 set (with_terminal "yes")
2056 set (terminaldatadir "${pluginsdatadir}/terminal")
2057@@ -1048,7 +1149,7 @@
2058 ############# TOMBOY #################
2059 message (STATUS "> Tomboy:")
2060 set (GETTEXT_TOMBOY ${GETTEXT_PLUGINS})
2061-set (VERSION_TOMBOY "1.3.2")
2062+set (VERSION_TOMBOY "1.3.3")
2063 set (PACKAGE_TOMBOY "cd-tomboy")
2064 set (tomboydatadir "${pluginsdatadir}/tomboy")
2065 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/tomboy/data/tomboy.conf.in ${CMAKE_CURRENT_BINARY_DIR}/tomboy/data/tomboy.conf)
2066@@ -1057,7 +1158,7 @@
2067 ############# TOONS #################
2068 message (STATUS "> Toons:")
2069 set (GETTEXT_TOONS ${GETTEXT_PLUGINS})
2070-set (VERSION_TOONS "1.0.10")
2071+set (VERSION_TOONS "1.0.11")
2072 set (PACKAGE_TOONS "cd-Toons")
2073 set (toonsdatadir "${pluginsdatadir}/Toons")
2074 set (toonsuserdirname "Toons")
2075@@ -1067,7 +1168,7 @@
2076 ############# WEATHER #################
2077 message (STATUS "> Weather:")
2078 set (GETTEXT_WEATHER ${GETTEXT_PLUGINS})
2079-set (VERSION_WEATHER "1.2.11")
2080+set (VERSION_WEATHER "1.2.12")
2081 set (PACKAGE_WEATHER "cd-weather")
2082 set (weatherdatadir "${pluginsdatadir}/weather")
2083 set (weatheruserdirname "weather")
2084@@ -1078,14 +1179,19 @@
2085 message (STATUS "> Weblets:")
2086 set (with_weblets "no")
2087 if (NOT "${enable-weblets}" STREQUAL "no")
2088- pkg_check_modules (WEBKIT webkit-1.0)
2089+ if ("${gtkversion}" STREQUAL "2")
2090+ set (WEBKIT_MODULE webkit-1.0)
2091+ else()
2092+ set (WEBKIT_MODULE webkitgtk-3.0)
2093+ endif()
2094+ pkg_check_modules (WEBKIT ${WEBKIT_MODULE})
2095 if ("${WEBKIT_FOUND}" STREQUAL "")
2096- message (STATUS "Could not find webkit-1.0; Cairo-Dock won't be built with Weblets applet.")
2097- message (WARNING "This module is required to compile Weblets applet: webkit-1.0")
2098- set (MODULES_MISSING "${MODULES_MISSING} webkit-1.0")
2099+ message (STATUS "Could not find ${WEBKIT_MODULE}; Cairo-Dock won't be built with Weblets applet.")
2100+ message (WARNING "This module is required to compile Weblets applet: ${WEBKIT_MODULE}")
2101+ set (MODULES_MISSING "${MODULES_MISSING} ${WEBKIT_MODULE}")
2102 else()
2103 set (GETTEXT_WEBLETS ${GETTEXT_PLUGINS})
2104- set (VERSION_WEBLETS "0.0.11")
2105+ set (VERSION_WEBLETS "0.0.12")
2106 set (PACKAGE_WEBLETS "cd-weblets")
2107 set (webletsdatadir "${pluginsdatadir}/weblets")
2108 set (with_weblets "yes")
2109@@ -1097,7 +1203,7 @@
2110 ############# WIFI #################
2111 message (STATUS "> WiFi:")
2112 set (GETTEXT_WIFI ${GETTEXT_PLUGINS})
2113-set (VERSION_WIFI "1.2.9")
2114+set (VERSION_WIFI "1.2.10")
2115 set (PACKAGE_WIFI "cd-wifi")
2116 set (wifidatadir "${pluginsdatadir}/wifi")
2117 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/wifi/data/wifi.conf.in ${CMAKE_CURRENT_BINARY_DIR}/wifi/data/wifi.conf)
2118@@ -1107,7 +1213,7 @@
2119 message (STATUS "> XFCE-Integration:")
2120 set (with_xfce_integration "no")
2121 if (NOT "${enable-xfce-integration}" STREQUAL "no")
2122- pkg_check_modules (XFCE_INTEGRATION_THUNAR thunar-vfs-1)
2123+ pkg_check_modules (XFCE_INTEGRATION_THUNAR QUIET thunar-vfs-1) # thunar-vfs is not used if gvfs (gio) is available
2124 pkg_check_modules (XFCE_INTEGRATION_GVFS gio-2.0)
2125 if ("${XFCE_INTEGRATION_THUNAR_FOUND}" STREQUAL "" AND "${XFCE_INTEGRATION_GVFS_FOUND}" STREQUAL "")
2126 message (STATUS "Could find neither thunar-vfs or libgio-2.0; Cairo-Dock won't be built with XFCE support.")
2127@@ -1132,7 +1238,7 @@
2128 set (with_xgamma "no")
2129 else()
2130 set (GETTEXT_XGAMMA ${GETTEXT_PLUGINS})
2131- set (VERSION_XGAMMA "1.2.1")
2132+ set (VERSION_XGAMMA "1.2.2")
2133 set (PACKAGE_XGAMMA "cd-Xgamma")
2134 set (with_xgamma "yes")
2135 set (xgammadatadir "${pluginsdatadir}/Xgamma")
2136@@ -1159,29 +1265,33 @@
2137 message (STATUS " - with XFCE support: ${with_xfce_integration}")
2138 message (STATUS " Plug-ins:")
2139 message (STATUS " - with Alsa-Mixer applet: ${with_alsa}")
2140-message (STATUS " - with iCal support: ${with_ical}")
2141 message (STATUS " - with GMenu applet: ${with_gmenu}")
2142 message (STATUS " - with Impulse applet: ${with_impulse}")
2143 message (STATUS " - with Keyboard-indicator applet: ${with_keyboard_indicator}")
2144 message (STATUS " - with Mail applet: ${with_mail}")
2145-if (NOT "${INDICATOR_04_FOUND}" STREQUAL "1")
2146-message (STATUS " - with Me-Menu applet: ${with_me_menu}")
2147+if (NOT "${INDICATOR_NEW_VERSION}" STREQUAL "1" OR "${enable-memenu}" STREQUAL "yes") # oneiric or newer
2148+message (STATUS " - with Me-Menu applet applet: ${with_me_menu}")
2149 endif()
2150-message (STATUS " - with Messaging-Menu: ${with_messaging_menu}")
2151-message (STATUS " - with Screen Resolution support: ${with_xrandr}")
2152+message (STATUS " - with Messaging-Menu applet: ${with_messaging_menu}")
2153+message (STATUS " - with Recent-Events applet: ${with_recent_events}")
2154 message (STATUS " - with Status-Notifier applet: ${with_status_notifier}")
2155-message (STATUS " - with Sensors support: ${with_sensors}")
2156 message (STATUS " - with Terminal applet: ${with_terminal}")
2157 message (STATUS " - with Weblets applet: ${with_weblets}")
2158 message (STATUS " - with Xgamma applet: ${with_xgamma}")
2159-message (STATUS " - with Recent-Events applet: ${with_recent_events}")
2160+message (STATUS "Add On:")
2161+message (STATUS " - with Sound-Menu support: ${with_soundmenu}")
2162+message (STATUS " - with Screen Resolution support: ${with_xrandr}")
2163+message (STATUS " - with Sensors support: ${with_sensors}")
2164 message (STATUS " - with UPower support: ${with_upower_support}")
2165+message (STATUS " - with iCal support: ${with_ical}")
2166+message (STATUS "Third Party Interfaces:")
2167 message (STATUS " - with Python interface: ${with_python}")
2168 message (STATUS " - with Ruby interface: ${with_ruby}")
2169 message (STATUS " - with Mono interface: ${with_mono}")
2170 message (STATUS " - with Vala interface: ${with_vala}")
2171 message (STATUS " - with Vala Translator (valac): ${with_valac}")
2172 message (STATUS "Unstable:")
2173+message (STATUS " - with Global-Menu applet: ${with_global_menu}")
2174 message (STATUS " - with Disks applet: ${with_disks}")
2175 message (STATUS " - with Doncky applet: ${with_doncky}")
2176 message (STATUS " - with KDE experimental support: ${with_kde_integration2}")
2177@@ -1193,13 +1303,13 @@
2178 if (NOT "${MODULES_MISSING}" STREQUAL "")
2179 message ("")
2180 message (STATUS "WARNING: It seems that one (or more) module(s) is (are) missing:${MODULES_MISSING}")
2181- message (STATUS "It can be interesting to install them (even more if you're a maintainer of Cairo-Dock's packages).")
2182+ message (STATUS "It can be interesting to install them (especially if you're a maintainer of Cairo-Dock's packages).")
2183 endif ()
2184
2185 if (NOT "${PROGRAMS_MISSING}" STREQUAL "")
2186 message ("")
2187 message (STATUS "WARNING: It seems that one (or more) program(s) or package(s) is (are) missing:${PROGRAMS_MISSING}")
2188- message (STATUS "It can be interesting to install them (even more if you're a maintainer of Cairo-Dock's packages).")
2189+ message (STATUS "It can be interesting to install them (especially if you're a maintainer of Cairo-Dock's packages).")
2190 endif ()
2191
2192 if (NOT "${MODULES_INTEGRATION_MISSING}" STREQUAL "")
2193
2194=== modified file 'Cairo-Penguin/data/Cairo-Penguin.conf.in' (properties changed: +x to -x)
2195--- Cairo-Penguin/data/Cairo-Penguin.conf.in 2011-08-09 18:08:08 +0000
2196+++ Cairo-Penguin/data/Cairo-Penguin.conf.in 2012-02-14 14:04:19 +0000
2197@@ -9,9 +9,9 @@
2198 #d Name of the dock it belongs to:
2199 dock name =
2200
2201-#s Name of the icon as it will appear in its caption in the dock:
2202+#s[Default] Name of the icon as it will appear in its caption in the dock:
2203 name =
2204- #v
2205+#v
2206 sep_display=
2207
2208 icon =
2209
2210=== modified file 'Cairo-Penguin/src/applet-animation.c'
2211--- Cairo-Penguin/src/applet-animation.c 2011-09-26 12:56:12 +0000
2212+++ Cairo-Penguin/src/applet-animation.c 2012-02-14 14:04:19 +0000
2213@@ -37,11 +37,7 @@
2214 g_return_if_fail (pAnimation != NULL);
2215 int iPreviousPositionX = myData.iCurrentPositionX, iPreviousPositionY = myData.iCurrentPositionY;
2216
2217- Icon *pFirstDrawnIcon = NULL;
2218- if (myDock->pFirstDrawnElement != NULL)
2219- pFirstDrawnIcon = myDock->pFirstDrawnElement->data;
2220- if (pFirstDrawnIcon == NULL && myDock->icons != NULL)
2221- pFirstDrawnIcon = myDock->icons->data;
2222+ Icon *pFirstDrawnIcon = cairo_dock_get_first_icon (myDock->icons);
2223 int iXMin = (pFirstDrawnIcon != NULL ? pFirstDrawnIcon->fXAtRest : 0);
2224 iXMin = 0;
2225 int iXMax = iXMin + myDock->fFlatDockWidth;
2226@@ -246,7 +242,7 @@
2227 }
2228
2229 //\________________ les reflets.
2230- CD_APPLET_UPDATE_REFLECT_ON_MY_ICON;
2231+ ///CD_APPLET_UPDATE_REFLECT_ON_MY_ICON;
2232 }
2233
2234 CD_APPLET_REDRAW_MY_ICON;
2235@@ -335,11 +331,11 @@
2236 {
2237 cairo_dock_erase_cairo_context (myDrawContext); // CD_APPLET_SET_SURFACE_ON_MY_ICON (NULL)
2238
2239- if (myIcon->pReflectionBuffer != NULL)
2240+ /**if (myIcon->pReflectionBuffer != NULL)
2241 {
2242 cairo_surface_destroy (myIcon->pReflectionBuffer);
2243 myIcon->pReflectionBuffer = NULL;
2244- }
2245+ }*/
2246 if (CAIRO_DOCK_CONTAINER_IS_OPENGL (myContainer))
2247 cairo_dock_update_icon_texture (myIcon);
2248 }
2249@@ -533,8 +529,8 @@
2250 penguin_remove_notfications();
2251 if (myConfig.bFree)
2252 {
2253- cairo_dock_register_notification_on_object (myContainer, NOTIFICATION_UPDATE_DOCK_SLOW, (CairoDockNotificationFunc) penguin_update_container, CAIRO_DOCK_RUN_AFTER, myApplet);
2254- cairo_dock_register_notification_on_object (myContainer, NOTIFICATION_RENDER_DOCK, (CairoDockNotificationFunc) penguin_render_on_container, CAIRO_DOCK_RUN_AFTER, myApplet);
2255+ cairo_dock_register_notification_on_object (myContainer, NOTIFICATION_UPDATE_SLOW, (CairoDockNotificationFunc) penguin_update_container, CAIRO_DOCK_RUN_AFTER, myApplet);
2256+ cairo_dock_register_notification_on_object (myContainer, NOTIFICATION_RENDER, (CairoDockNotificationFunc) penguin_render_on_container, CAIRO_DOCK_RUN_AFTER, myApplet);
2257 }
2258 else
2259 {
2260@@ -554,12 +550,11 @@
2261
2262 if (myConfig.bFree) // attention : c'est un hack moyen; il faudrait pouvoir indiquer a cairo-dock de ne pas inserer notre icone...
2263 {
2264- cairo_dock_detach_icon_from_dock (myIcon, myDock, myIconsParam.iSeparateIcons);
2265- cairo_dock_update_dock_size (myDock);
2266+ cairo_dock_detach_icon_from_dock (myIcon, myDock);
2267 }
2268 else
2269 {
2270- cairo_dock_insert_icon_in_dock (myIcon, myDock, CAIRO_DOCK_UPDATE_DOCK_SIZE, ! CAIRO_DOCK_ANIMATE_ICON);
2271+ cairo_dock_insert_icon_in_dock (myIcon, myDock, ! CAIRO_DOCK_ANIMATE_ICON);
2272 }
2273 cairo_dock_launch_animation (myContainer);
2274 }
2275
2276=== modified file 'Cairo-Penguin/src/applet-animation.h'
2277--- Cairo-Penguin/src/applet-animation.h 2011-04-20 20:46:51 +0000
2278+++ Cairo-Penguin/src/applet-animation.h 2012-02-14 14:04:19 +0000
2279@@ -30,8 +30,8 @@
2280
2281 #define penguin_remove_notfications() do {\
2282 cairo_dock_remove_notification_func_on_object (myIcon, NOTIFICATION_UPDATE_ICON_SLOW, (CairoDockNotificationFunc) penguin_update_icon, myApplet);\
2283- cairo_dock_remove_notification_func_on_object (myDock, NOTIFICATION_UPDATE_DOCK_SLOW, (CairoDockNotificationFunc) penguin_update_container, myApplet);\
2284- cairo_dock_remove_notification_func_on_object (myDock, NOTIFICATION_RENDER_DOCK, (CairoDockNotificationFunc) penguin_render_on_container, myApplet); } while (0)
2285+ cairo_dock_remove_notification_func_on_object (myDock, NOTIFICATION_UPDATE_SLOW, (CairoDockNotificationFunc) penguin_update_container, myApplet);\
2286+ cairo_dock_remove_notification_func_on_object (myDock, NOTIFICATION_RENDER, (CairoDockNotificationFunc) penguin_render_on_container, myApplet); } while (0)
2287
2288 void penguin_move_in_dock (CairoDockModuleInstance *myApplet);
2289 gboolean penguin_render_on_container (CairoDockModuleInstance *myApplet, CairoContainer *pContainer, cairo_t *pCairoContext);
2290
2291=== modified file 'Cairo-Penguin/src/applet-init.c'
2292--- Cairo-Penguin/src/applet-init.c 2011-04-20 20:46:51 +0000
2293+++ Cairo-Penguin/src/applet-init.c 2012-02-14 14:04:19 +0000
2294@@ -63,7 +63,7 @@
2295 CAIRO_DOCK_RUN_FIRST,
2296 myApplet);
2297 cairo_dock_register_notification_on_object (myDock,
2298- NOTIFICATION_STOP_DOCK,
2299+ NOTIFICATION_DESTROY,
2300 (CairoDockNotificationFunc) cd_on_dock_destroyed,
2301 CAIRO_DOCK_RUN_AFTER,
2302 myApplet);
2303@@ -85,7 +85,7 @@
2304 (CairoDockNotificationFunc) CD_APPLET_ON_BUILD_MENU_FUNC,
2305 myApplet);
2306 cairo_dock_remove_notification_func_on_object (myDock,
2307- NOTIFICATION_STOP_DOCK,
2308+ NOTIFICATION_DESTROY,
2309 (CairoDockNotificationFunc) cd_on_dock_destroyed,
2310 myApplet);
2311 penguin_remove_notfications();
2312@@ -118,8 +118,8 @@
2313 area.x = (myDock->container.iWidth - myDock->fFlatDockWidth) / 2 + myData.iCurrentPositionX;
2314 area.y = myDock->container.iHeight - myData.iCurrentPositionY - pAnimation->iFrameHeight;
2315 area.width = pAnimation->iFrameWidth;
2316- area.height = pAnimation->iFrameHeight + myDock->container.bUseReflect * myIconsParam.fReflectSize;
2317- gdk_window_invalidate_rect (myContainer->pWidget->window, &area, FALSE);
2318+ area.height = pAnimation->iFrameHeight + myDock->container.bUseReflect * myDock->iIconSize * myIconsParam.fReflectHeightRatio;
2319+ cairo_dock_redraw_container_area (myContainer, &area);
2320 }
2321
2322 //\_______________ On recharge tout de zero (changement de theme).
2323@@ -130,12 +130,12 @@
2324 //\_______________ On libere le pingouin ou au contraire on le cloisonne.
2325 if (myConfig.bFree)
2326 {
2327- cairo_dock_detach_icon_from_dock (myIcon, myDock, myIconsParam.iSeparateIcons);
2328+ cairo_dock_detach_icon_from_dock (myIcon, myDock);
2329 cairo_dock_update_dock_size (myDock);
2330 }
2331 else
2332 {
2333- cairo_dock_insert_icon_in_dock (myIcon, myDock, CAIRO_DOCK_UPDATE_DOCK_SIZE, ! CAIRO_DOCK_ANIMATE_ICON);
2334+ cairo_dock_insert_icon_in_dock (myIcon, myDock, ! CAIRO_DOCK_ANIMATE_ICON);
2335 }
2336
2337 penguin_start_animating (myApplet);
2338
2339=== modified file 'Cairo-Penguin/src/applet-notifications.c'
2340--- Cairo-Penguin/src/applet-notifications.c 2011-04-20 20:46:51 +0000
2341+++ Cairo-Penguin/src/applet-notifications.c 2012-02-14 14:04:19 +0000
2342@@ -81,7 +81,7 @@
2343 g_source_remove (myData.iSidRestartDelayed);
2344 myData.iSidRestartDelayed = 0;
2345 }
2346- cairo_dock_remove_notification_func_on_object (myContainer, NOTIFICATION_UPDATE_DOCK_SLOW, (CairoDockNotificationFunc) penguin_update_container, myApplet);
2347+ cairo_dock_remove_notification_func_on_object (myContainer, NOTIFICATION_UPDATE_SLOW, (CairoDockNotificationFunc) penguin_update_container, myApplet);
2348 cairo_dock_remove_notification_func_on_object (myIcon, NOTIFICATION_UPDATE_ICON_SLOW, (CairoDockNotificationFunc) penguin_update_icon, myApplet);
2349
2350 //\_______________ On met l'animation de repos et on la dessine.
2351@@ -109,30 +109,21 @@
2352
2353 if ((myConfig.bFree && pClickedContainer == myContainer && myDock->container.iMouseX > (myDock->container.iWidth - myDock->fFlatDockWidth) / 2 + myData.iCurrentPositionX && myDock->container.iMouseX < (myDock->container.iWidth - myDock->fFlatDockWidth) / 2 + myData.iCurrentPositionX + pAnimation->iFrameWidth && myDock->container.iMouseY > myContainer->iHeight - myData.iCurrentPositionY - pAnimation->iFrameHeight && myDock->container.iMouseY < myContainer->iHeight - myData.iCurrentPositionY) || (! myConfig.bFree && pClickedIcon == myIcon))
2354 {
2355- if (pClickedIcon != myIcon && ! (CAIRO_DOCK_IS_APPLET (pClickedIcon) && pClickedIcon->pModuleInstance->pModule == myIcon->pModuleInstance->pModule))
2356- {
2357- cd_debug ("%s\n", myApplet->cConfFilePath);
2358- cairo_dock_notify_on_object (myContainer, NOTIFICATION_BUILD_ICON_MENU, myIcon, myContainer, CD_APPLET_MY_MENU);
2359- CD_APPLET_LEAVE (CAIRO_DOCK_INTERCEPT_NOTIFICATION);
2360- }
2361-
2362 GtkWidget *pMenuItem, *image;
2363
2364 CD_APPLET_ADD_SEPARATOR_IN_MENU (CD_APPLET_MY_MENU);
2365
2366- GtkWidget *pModuleSubMenu = CD_APPLET_CREATE_MY_SUB_MENU ();
2367 if (penguin_is_resting (pAnimation))
2368 {
2369- CD_APPLET_ADD_IN_MENU(D_("Wake up"), _wake_up, pModuleSubMenu);
2370+ CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Wake up"), MY_APPLET_SHARE_DATA_DIR"/icon.png", _wake_up, CD_APPLET_MY_MENU);
2371 }
2372 else
2373 {
2374- CD_APPLET_ADD_IN_MENU(D_("Keep quiet"), _keep_quiet, pModuleSubMenu);
2375+ CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Keep quiet"), MY_APPLET_SHARE_DATA_DIR"/icon.png",_keep_quiet, CD_APPLET_MY_MENU);
2376 }
2377
2378- CD_APPLET_ADD_IN_MENU(D_("Start XPenguins"), _start_xpenguins, pModuleSubMenu);
2379- CD_APPLET_ADD_IN_MENU(D_("Stop XPenguins"), _stop_xpenguins, pModuleSubMenu);
2380- CD_APPLET_ADD_ABOUT_IN_MENU (pModuleSubMenu);
2381+ CD_APPLET_ADD_IN_MENU(D_("Start XPenguins"), _start_xpenguins, CD_APPLET_MY_MENU);
2382+ CD_APPLET_ADD_IN_MENU(D_("Stop XPenguins"), _stop_xpenguins, CD_APPLET_MY_MENU);
2383 CD_APPLET_ON_BUILD_MENU_END
2384
2385
2386
2387=== modified file 'Clipper/data/Clipper.conf.in' (properties changed: +x to -x)
2388--- Clipper/data/Clipper.conf.in 2011-09-26 12:56:12 +0000
2389+++ Clipper/data/Clipper.conf.in 2012-02-14 14:04:19 +0000
2390@@ -9,12 +9,12 @@
2391 #d Name of the dock it belongs to:
2392 dock name =
2393
2394-#s Name of the icon as it will appear in its caption in the dock:
2395+#s[Default] Name of the icon as it will appear in its caption in the dock:
2396 name =
2397- #v
2398+#v
2399 sep_display=
2400
2401-#S+ Image filename:
2402+#S+[Default] Image filename:
2403 #{Leave empty to use the default one.}
2404 icon=accessories-text-editor
2405
2406@@ -60,7 +60,6 @@
2407 #b Is detached from the dock
2408 initially detached=false
2409 #l[Normal;Keep above;Keep below;Keep on widget layer;Reserve space] Visibility:
2410-#{for CompizFusion's "widget layer", set behaviour in Compiz to: (class=Cairo-dock & type=Utility)}
2411 accessibility=0
2412 #b Should be visible on all desktops?
2413 sticky=true
2414
2415=== modified file 'Clipper/src/applet-clipboard.c'
2416--- Clipper/src/applet-clipboard.c 2011-09-26 12:56:12 +0000
2417+++ Clipper/src/applet-clipboard.c 2012-02-14 14:04:19 +0000
2418@@ -554,7 +554,7 @@
2419 CD_APPLET_ADD_IN_MENU_WITH_DATA ((pItem->cDisplayedText != NULL ? pItem->cDisplayedText : pItem->cText), _cd_clipper_activate_item, pMenu, pItem);
2420 if (pElement->next != NULL && ((CDClipperItem *)pElement->next->data)->iType != pItem->iType)
2421 {
2422- CD_APPLET_ADD_SEPARATOR (pMenu);
2423+ CD_APPLET_ADD_SEPARATOR_IN_MENU (pMenu);
2424 }
2425 }
2426 return pMenu;
2427@@ -605,7 +605,10 @@
2428 pItem = it->data;
2429 if ((pItem->iType & iType) == 0)
2430 continue;
2431- g_string_append_printf (sText, "%s%s", pItem->cText, it->next ? cSeparator : "");
2432+ g_string_prepend (sText, pItem->cText); // we prepend the string in order to keep the same order
2433+ if (it->next)
2434+ g_string_prepend (sText, cSeparator);
2435+ // g_string_append_printf (sText, "%s%s", pItem->cText, it->next ? cSeparator : "");
2436 }
2437 gchar *cText = sText->str;
2438 g_string_free (sText, FALSE);
2439
2440=== modified file 'Clipper/src/applet-config.c'
2441--- Clipper/src/applet-config.c 2010-08-10 00:05:57 +0000
2442+++ Clipper/src/applet-config.c 2012-02-14 14:04:19 +0000
2443@@ -25,22 +25,6 @@
2444 #include "applet-config.h"
2445
2446
2447-static void _cd_clipper_on_keybinding_pull (const char *keystring, gpointer user_data)
2448-{
2449- if (myData.pItems == NULL)
2450- {
2451- gchar *cIconPath = g_strdup_printf ("%s/%s", MY_APPLET_SHARE_DATA_DIR, MY_APPLET_ICON_FILE);
2452- cairo_dock_show_temporary_dialog_with_icon (D_("No items yet."), myIcon, myContainer, 2000, cIconPath);
2453- g_free (cIconPath);
2454- }
2455- else
2456- {
2457- GtkWidget *pMenu = cd_clipper_build_items_menu ();
2458-
2459- cd_clipper_popup_menu (pMenu);
2460- }
2461-}
2462-
2463 //\_________________ Here you have to get all your parameters from the conf file. Use the macros CD_CONFIG_GET_BOOLEAN, CD_CONFIG_GET_INTEGER, CD_CONFIG_GET_STRING, etc. myConfig has been reseted to 0 at this point. This function is called at the beginning of init and reload.
2464 CD_APPLET_GET_CONFIG_BEGIN
2465 myConfig.iItemType = CD_CONFIG_GET_INTEGER ("Configuration", "item type");
2466@@ -65,8 +49,7 @@
2467 myConfig.bReplayAction = CD_CONFIG_GET_BOOLEAN ("Configuration", "replay action");
2468 myConfig.iActionMenuDuration = CD_CONFIG_GET_INTEGER ("Configuration", "action duration");
2469
2470- myConfig.cShortCut = CD_CONFIG_GET_STRING ("Configuration", "shortkey");
2471- cd_keybinder_bind (myConfig.cShortCut, (CDBindkeyHandler)_cd_clipper_on_keybinding_pull, (gpointer)NULL);
2472+ myConfig.cShortcut = CD_CONFIG_GET_STRING ("Configuration", "shortkey");
2473
2474 gsize length = 0;
2475 myConfig.pPersistentItems = CD_CONFIG_GET_STRING_LIST("Configuration", "persistent", &length);
2476@@ -78,11 +61,7 @@
2477
2478 //\_________________ Here you have to free all ressources allocated for myConfig. This one will be reseted to 0 at the end of this function. This function is called right before you get the applet's config, and when your applet is stopped, in the end.
2479 CD_APPLET_RESET_CONFIG_BEGIN
2480- if (myConfig.cShortCut)
2481- {
2482- cd_keybinder_unbind(myConfig.cShortCut, (CDBindkeyHandler)_cd_clipper_on_keybinding_pull);
2483- g_free (myConfig.cShortCut);
2484- }
2485+ g_free (myConfig.cShortcut);
2486 g_strfreev (myConfig.pPersistentItems);
2487 g_free (myConfig.cRememberedItems);
2488 CD_APPLET_RESET_CONFIG_END
2489
2490=== modified file 'Clipper/src/applet-init.c'
2491--- Clipper/src/applet-init.c 2011-09-26 12:56:12 +0000
2492+++ Clipper/src/applet-init.c 2012-02-14 14:04:19 +0000
2493@@ -67,6 +67,12 @@
2494 cd_clipper_load_items (myConfig.cRememberedItems);
2495 }
2496
2497+ // shortkey
2498+ myData.cKeyBinding = CD_APPLET_BIND_KEY (myConfig.cShortcut,
2499+ D_("Pop-up the items menu"),
2500+ "Configuration", "shortkey",
2501+ (CDBindkeyHandler) cd_clipper_on_keybinding_pull);
2502+
2503 CD_APPLET_REGISTER_FOR_CLICK_EVENT;
2504 CD_APPLET_REGISTER_FOR_BUILD_MENU_EVENT;
2505 CD_APPLET_REGISTER_FOR_MIDDLE_CLICK_EVENT;
2506@@ -95,12 +101,14 @@
2507
2508 if (myConfig.bRememberItems) // on se souvient des items courants.
2509 {
2510- gchar *cRememberedItems = cd_clipper_concat_items_of_type (CD_CLIPPER_CLIPBOARD, CD_ITEMS_DELIMITER); // on prend que les CTRL+c.
2511+ gchar *cRememberedItems = cd_clipper_concat_items_of_type (myConfig.bSeparateSelections ? CD_CLIPPER_CLIPBOARD : CD_CLIPPER_BOTH, CD_ITEMS_DELIMITER); // on prend que les CTRL+c.
2512 cairo_dock_update_conf_file (CD_APPLET_MY_CONF_FILE,
2513 G_TYPE_STRING, "Configuration", "last items", cRememberedItems,
2514 G_TYPE_INVALID);
2515 g_free (cRememberedItems);
2516 }
2517+
2518+ cd_keybinder_unbind (myData.cKeyBinding);
2519 CD_APPLET_STOP_END
2520
2521
2522@@ -158,6 +166,8 @@
2523 }
2524 }
2525
2526+ cd_keybinder_rebind (myData.cKeyBinding, myConfig.cShortcut, NULL);
2527+
2528 if (myConfig.cRememberedItems != NULL && ! myConfig.bRememberItems) // on ne veut plus s'en souvenir.
2529 {
2530 cairo_dock_update_conf_file (CD_APPLET_MY_CONF_FILE,
2531@@ -173,8 +183,8 @@
2532 while (myData.iNbItems[i] > myConfig.iNbItems[i])
2533 {
2534 GList *pElement = cd_clipper_get_last_item (i);
2535- if (pElement == NULL)
2536- continue;
2537+ if (pElement == NULL) // shouldn't happen
2538+ break;
2539 cd_clipper_free_item (pElement->data);
2540 myData.pItems = g_list_delete_link (myData.pItems, pElement);
2541 myData.iNbItems[i] --;
2542
2543=== modified file 'Clipper/src/applet-notifications.c'
2544--- Clipper/src/applet-notifications.c 2011-04-20 20:46:51 +0000
2545+++ Clipper/src/applet-notifications.c 2012-02-14 14:04:19 +0000
2546@@ -30,7 +30,7 @@
2547 if (myData.pItems == NULL)
2548 {
2549 cairo_dock_remove_dialog_if_any (myIcon);
2550- cairo_dock_show_temporary_dialog_with_icon (D_("No items yet."), myIcon, myContainer, 2000, "same icon");
2551+ cairo_dock_show_temporary_dialog_with_icon (D_("The clipboard history is empty."), myIcon, myContainer, 3000, "same icon");
2552 }
2553 else
2554 {
2555@@ -86,12 +86,9 @@
2556 CD_APPLET_LEAVE();
2557 }
2558 CD_APPLET_ON_BUILD_MENU_BEGIN
2559- // Sub-Menu
2560- GtkWidget *pSubMenu = CD_APPLET_CREATE_MY_SUB_MENU ();
2561- CD_APPLET_ADD_IN_MENU_WITH_STOCK ("Clear clipboard History", GTK_STOCK_CLEAR, _cd_clipper_clear_history, pSubMenu);
2562- CD_APPLET_ADD_IN_MENU_WITH_STOCK ("Paste all copied items", GTK_STOCK_PASTE, _cd_clipper_paste_all, pSubMenu);
2563- CD_APPLET_ADD_SEPARATOR_IN_MENU (pSubMenu);
2564- CD_APPLET_ADD_ABOUT_IN_MENU (pSubMenu);
2565+ CD_APPLET_ADD_IN_MENU_WITH_STOCK ("Clear clipboard History", GTK_STOCK_CLEAR, _cd_clipper_clear_history, CD_APPLET_MY_MENU);
2566+
2567+ CD_APPLET_ADD_IN_MENU_WITH_STOCK ("Paste all copied items", GTK_STOCK_PASTE, _cd_clipper_paste_all, CD_APPLET_MY_MENU);
2568 CD_APPLET_ON_BUILD_MENU_END
2569
2570
2571@@ -136,3 +133,20 @@
2572 g_string_free (pString, TRUE);
2573 }
2574 CD_APPLET_ON_DROP_DATA_END
2575+
2576+
2577+void cd_clipper_on_keybinding_pull (const char *keystring, gpointer user_data)
2578+{
2579+ if (myData.pItems == NULL)
2580+ {
2581+ gchar *cIconPath = g_strdup_printf ("%s/%s", MY_APPLET_SHARE_DATA_DIR, MY_APPLET_ICON_FILE);
2582+ cairo_dock_show_temporary_dialog_with_icon (D_("No items yet."), myIcon, myContainer, 2000, cIconPath);
2583+ g_free (cIconPath);
2584+ }
2585+ else
2586+ {
2587+ GtkWidget *pMenu = cd_clipper_build_items_menu ();
2588+
2589+ cd_clipper_popup_menu (pMenu);
2590+ }
2591+}
2592
2593=== modified file 'Clipper/src/applet-notifications.h'
2594--- Clipper/src/applet-notifications.h 2009-08-26 21:07:39 +0000
2595+++ Clipper/src/applet-notifications.h 2012-02-14 14:04:19 +0000
2596@@ -17,15 +17,12 @@
2597 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2598 */
2599
2600-
2601 #ifndef __APPLET_NOTIFICATIONS__
2602 #define __APPLET_NOTIFICATIONS__
2603
2604-
2605 #include <cairo-dock.h>
2606
2607
2608-
2609 CD_APPLET_ON_CLICK_H
2610
2611 CD_APPLET_ON_BUILD_MENU_H
2612@@ -35,4 +32,7 @@
2613 CD_APPLET_ON_DROP_DATA_H
2614
2615
2616+void cd_clipper_on_keybinding_pull (const char *keystring, gpointer user_data);
2617+
2618+
2619 #endif
2620
2621=== modified file 'Clipper/src/applet-struct.h'
2622--- Clipper/src/applet-struct.h 2010-08-10 00:05:57 +0000
2623+++ Clipper/src/applet-struct.h 2012-02-14 14:04:19 +0000
2624@@ -62,7 +62,7 @@
2625 gboolean bSeparateSelections;
2626 gboolean bReplayAction;
2627 gint iActionMenuDuration;
2628- gchar *cShortCut;
2629+ gchar *cShortcut;
2630 gchar **pPersistentItems;
2631 gboolean bRememberItems;
2632 gchar *cRememberedItems;
2633@@ -78,6 +78,7 @@
2634 gboolean bActionsLoaded;
2635 gboolean bActionBlocked;
2636 GtkWidget *pActionMenu;
2637+ CairoKeyBinding *cKeyBinding;
2638 } ;
2639
2640 #endif
2641
2642=== modified file 'Composite-Manager/data/Composite-Manager.conf.in' (properties changed: +x to -x)
2643--- Composite-Manager/data/Composite-Manager.conf.in 2011-09-26 12:56:12 +0000
2644+++ Composite-Manager/data/Composite-Manager.conf.in 2012-02-14 14:04:19 +0000
2645@@ -9,9 +9,9 @@
2646 #d Name of the dock it belongs to:
2647 dock name =
2648
2649-#s Name of the icon as it will appear in its caption in the dock:
2650+#s[Default] Name of the icon as it will appear in its caption in the dock:
2651 name =
2652- #v
2653+#v
2654 sep_display=
2655
2656 icon =
2657@@ -58,7 +58,6 @@
2658 #b Is detached from the dock
2659 initially detached=false
2660 #l[Normal;Keep above;Keep below;Keep on widget layer;Reserve space] Visibility:
2661-#{for CompizFusion's "widget layer", set behaviour in Compiz to: (class=Cairo-dock & type=Utility)}
2662 accessibility=0
2663 #b Should be visible on all desktops?
2664 sticky=true
2665@@ -104,11 +103,11 @@
2666 #F[Style;gtk-color-picker]
2667 frame_style =
2668
2669-#S+ Image when composite is active:
2670+#S+[Default] Image when composite is active:
2671 #{Leave empty to use the default one.}
2672 icon on =
2673
2674-#S+ Image when composite is inactive:
2675+#S+[Default] Image when composite is inactive:
2676 #{Leave empty to use the default one.}
2677 icon off =
2678
2679
2680=== modified file 'Composite-Manager/src/applet-config.c'
2681--- Composite-Manager/src/applet-config.c 2011-08-09 18:08:08 +0000
2682+++ Composite-Manager/src/applet-config.c 2012-02-14 14:04:19 +0000
2683@@ -24,11 +24,6 @@
2684 #include "applet-config.h"
2685
2686
2687-static void _cd_on_keybinding_pull (const char *keystring, gpointer user_data)
2688-{
2689- cd_toggle_composite ();
2690-}
2691-
2692 CD_APPLET_GET_CONFIG_BEGIN
2693 myConfig.cWmCompositor = CD_CONFIG_GET_STRING ("Configuration", "compositor");
2694 myConfig.cWmFallback = CD_CONFIG_GET_STRING ("Configuration", "fallback");
2695@@ -40,8 +35,7 @@
2696
2697 myConfig.iActionOnMiddleClick = CD_CONFIG_GET_INTEGER ("Configuration", "action on click");
2698
2699- myConfig.cShortCut = CD_CONFIG_GET_STRING ("Configuration", "shortkey");
2700- cd_keybinder_bind (myConfig.cShortCut, (CDBindkeyHandler)_cd_on_keybinding_pull, (gpointer)NULL);
2701+ myConfig.cShortcut = CD_CONFIG_GET_STRING ("Configuration", "shortkey");
2702 CD_APPLET_GET_CONFIG_END
2703
2704
2705@@ -50,11 +44,7 @@
2706 g_free (myConfig.cWmFallback);
2707 g_free (myConfig.cIconCompositeON);
2708 g_free (myConfig.cIconCompositeOFF);
2709- if (myConfig.cShortCut)
2710- {
2711- cd_keybinder_unbind(myConfig.cShortCut, (CDBindkeyHandler)_cd_on_keybinding_pull);
2712- g_free (myConfig.cShortCut);
2713- }
2714+ g_free (myConfig.cShortcut);
2715 CD_APPLET_RESET_CONFIG_END
2716
2717
2718
2719=== modified file 'Composite-Manager/src/applet-init.c'
2720--- Composite-Manager/src/applet-init.c 2011-08-09 18:08:08 +0000
2721+++ Composite-Manager/src/applet-init.c 2012-02-14 14:04:19 +0000
2722@@ -46,6 +46,12 @@
2723 CD_APPLET_REGISTER_FOR_CLICK_EVENT;
2724 CD_APPLET_REGISTER_FOR_MIDDLE_CLICK_EVENT;
2725 CD_APPLET_REGISTER_FOR_BUILD_MENU_EVENT;
2726+
2727+ // keyboard events
2728+ myData.cKeyBinding = CD_APPLET_BIND_KEY (myConfig.cShortcut,
2729+ D_("Toggle the composite ON/OFF"),
2730+ "Configuration", "shortkey",
2731+ (CDBindkeyHandler) cd_on_keybinding_pull);
2732 CD_APPLET_INIT_END
2733
2734
2735@@ -55,6 +61,9 @@
2736 CD_APPLET_UNREGISTER_FOR_CLICK_EVENT;
2737 CD_APPLET_UNREGISTER_FOR_MIDDLE_CLICK_EVENT;
2738 CD_APPLET_UNREGISTER_FOR_BUILD_MENU_EVENT;
2739+
2740+ // shortkey
2741+ cd_keybinder_unbind (myData.cKeyBinding);
2742 CD_APPLET_STOP_END
2743
2744
2745@@ -69,5 +78,7 @@
2746 cd_define_prefered_wms ();
2747
2748 cd_draw_current_state ();
2749+
2750+ cd_keybinder_rebind (myData.cKeyBinding, myConfig.cShortcut, NULL);
2751 }
2752 CD_APPLET_RELOAD_END
2753
2754=== modified file 'Composite-Manager/src/applet-notifications.c'
2755--- Composite-Manager/src/applet-notifications.c 2011-08-09 18:08:08 +0000
2756+++ Composite-Manager/src/applet-notifications.c 2012-02-14 14:04:19 +0000
2757@@ -135,7 +135,7 @@
2758
2759 cLabel = (myConfig.iActionOnMiddleClick == CD_SHOW_DESKTOP ? g_strdup_printf ("%s (%s)", D_("Show desktop"), D_("middle-click")) : g_strdup (D_("Show desktop")));
2760 CD_APPLET_ADD_IN_MENU_WITH_STOCK (cLabel,
2761- MY_APPLET_SHARE_DATA_DIR"/../shared-images/show-desktop.svg",
2762+ MY_APPLET_SHARE_DATA_DIR"/../shared-files/images/show-desktop.svg",
2763 _cd_show_desktop,
2764 CD_APPLET_MY_MENU);
2765 g_free (cLabel);
2766@@ -144,7 +144,7 @@
2767 {
2768 cLabel = (myConfig.iActionOnMiddleClick == CD_EXPOSE_DESKTOPS ? g_strdup_printf ("%s (%s)", D_("Expose all the desktops"), D_("middle-click")) : g_strdup (D_("Expose all the desktops")));
2769 CD_APPLET_ADD_IN_MENU_WITH_STOCK (cLabel,
2770- MY_APPLET_SHARE_DATA_DIR"/../shared-images/expose-desktops.svg",
2771+ MY_APPLET_SHARE_DATA_DIR"/../shared-files/images/expose-desktops.svg",
2772 _cd_expose_desktops,
2773 CD_APPLET_MY_MENU);
2774 g_free (cLabel);
2775@@ -153,7 +153,7 @@
2776 {
2777 cLabel = (myConfig.iActionOnMiddleClick == CD_EXPOSE_WINDOWS ? g_strdup_printf ("%s (%s)", D_("Expose all the windows"), D_("middle-click")) : g_strdup (D_("Expose all the windows")));
2778 CD_APPLET_ADD_IN_MENU_WITH_STOCK (cLabel,
2779- MY_APPLET_SHARE_DATA_DIR"/../shared-images/expose-windows.svg",
2780+ MY_APPLET_SHARE_DATA_DIR"/../shared-files/images/expose-windows.svg",
2781 _cd_expose_windows,
2782 CD_APPLET_MY_MENU);
2783 g_free (cLabel);
2784@@ -168,3 +168,9 @@
2785 g_free (cLabel);
2786 }
2787 CD_APPLET_ON_BUILD_MENU_END
2788+
2789+
2790+void cd_on_keybinding_pull (const char *keystring, gpointer user_data)
2791+{
2792+ cd_toggle_composite ();
2793+}
2794
2795=== modified file 'Composite-Manager/src/applet-notifications.h'
2796--- Composite-Manager/src/applet-notifications.h 2011-08-09 18:08:08 +0000
2797+++ Composite-Manager/src/applet-notifications.h 2012-02-14 14:04:19 +0000
2798@@ -17,7 +17,6 @@
2799 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2800 */
2801
2802-
2803 #ifndef __APPLET_NOTIFICATIONS__
2804 #define __APPLET_NOTIFICATIONS__
2805
2806@@ -25,11 +24,14 @@
2807 #include <cairo-dock.h>
2808
2809
2810-
2811 CD_APPLET_ON_CLICK_H
2812
2813 CD_APPLET_ON_BUILD_MENU_H
2814
2815 CD_APPLET_ON_MIDDLE_CLICK_H
2816
2817+
2818+void cd_on_keybinding_pull (const char *keystring, gpointer user_data);
2819+
2820+
2821 #endif
2822
2823=== modified file 'Composite-Manager/src/applet-struct.h'
2824--- Composite-Manager/src/applet-struct.h 2011-08-09 18:08:08 +0000
2825+++ Composite-Manager/src/applet-struct.h 2012-02-14 14:04:19 +0000
2826@@ -62,7 +62,7 @@
2827 gchar *cIconCompositeOFF;
2828 gboolean bAskBeforeSwitching;
2829 CDWMAction iActionOnMiddleClick;
2830- gchar *cShortCut;
2831+ gchar *cShortcut;
2832 } ;
2833
2834 typedef struct {
2835@@ -77,6 +77,7 @@
2836 gboolean bIsComposited;
2837 CDWM *wmc;
2838 CDWM *wmfb;
2839+ CairoKeyBinding *cKeyBinding;
2840 } ;
2841
2842
2843
2844=== modified file 'Dbus/demos/demo_python/demo_python' (properties changed: -x to +x)
2845=== removed file 'Dbus/interfaces/bash/CDBashApplet.py'
2846--- Dbus/interfaces/bash/CDBashApplet.py 2011-04-20 20:46:51 +0000
2847+++ Dbus/interfaces/bash/CDBashApplet.py 1970-01-01 00:00:00 +0000
2848@@ -1,83 +0,0 @@
2849-#!/usr/bin/python
2850-
2851-# This is a part of the external applets for Cairo-Dock
2852-# Copyright : (C) 2010-2011 by Nochka85, Fabounet and Matttbe
2853-# E-mail : fabounet@glx-dock.org
2854-#
2855-# This program is free software; you can redistribute it and/or
2856-# modify it under the terms of the GNU General Public License
2857-# as published by the Free Software Foundation; either version 2
2858-# of the License, or (at your option) any later version.
2859-#
2860-# This program is distributed in the hope that it will be useful,
2861-# but WITHOUT ANY WARRANTY; without even the implied warranty of
2862-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2863-# GNU General Public License for more details.
2864-# http://www.gnu.org/licenses/licenses.html#GPL
2865-
2866-####################
2867-### dependancies ###
2868-####################
2869-import os.path
2870-from CDApplet import CDApplet
2871-
2872-####################
2873-### Applet class ###
2874-####################
2875-class CDBashApplet(CDApplet):
2876- def __init__(self):
2877- # call high-level init
2878- self.app_folder = os.path.abspath(".")
2879- CDApplet.__init__(self)
2880-
2881- ##### private methods #####
2882-
2883- def call(self,action):
2884- os.popen("cd " + self.app_folder + " && ./" + self.cAppletName + ".sh " + self.cAppletName + " " + self.cBusPath + " " + self.cConfFile + " " + self.cParentAppName + " " + action).read().rstrip()
2885-
2886- ##### applet definition #####
2887-
2888- def get_config(self,keyfile):
2889- self.call("get_config")
2890-
2891- def end(self):
2892- self.call("end")
2893-
2894- def begin(self):
2895- self.call("begin")
2896-
2897- def reload(self):
2898- self.call("reload")
2899-
2900- ##### callbacks #####
2901-
2902- def on_click(self,iState):
2903- self.call("on_click "+str(iState))
2904-
2905- def on_middle_click(self):
2906- self.call("on_middle_click")
2907-
2908- def on_build_menu(self):
2909- self.call("on_build_menu")
2910-
2911- def on_menu_select(self,iNumEntry):
2912- self.call("on_menu_select "+str(iNumEntry))
2913-
2914- def on_scroll(self,bScrollUp):
2915- self.call("on_scroll "+str(bScrollUp))
2916-
2917- def on_drop_data(self,cReceivedData):
2918- self.call("on_drop_data '"+cReceivedData+"'")
2919-
2920- def on_answer_dialog(self, button, answer):
2921- self.call("on_answer_dialog "+str(button)+" '"+str(answer)+"'")
2922-
2923- def on_shortkey(self,key):
2924- self.call("on_shortkey '"+key+"'")
2925-
2926- def on_change_focus(self,bIsActive):
2927- self.call("on_change_focus '"+str(bIsActive)+"'")
2928-
2929- def on_click_sub_icon(self, iState, cIconID):
2930- self.call("on_click_sub_icon '"+str(iState)+"' '"+cIconID+"'")
2931-
2932
2933=== added file 'Dbus/interfaces/bash/CDBashApplet.py.in'
2934--- Dbus/interfaces/bash/CDBashApplet.py.in 1970-01-01 00:00:00 +0000
2935+++ Dbus/interfaces/bash/CDBashApplet.py.in 2012-02-14 14:04:19 +0000
2936@@ -0,0 +1,83 @@
2937+#!@PYTHON_EXECUTABLE@
2938+#
2939+# This is a part of the external applets for Cairo-Dock
2940+# Copyright : (C) 2010-2011 by Nochka85, Fabounet and Matttbe
2941+# E-mail : fabounet@glx-dock.org
2942+#
2943+# This program is free software; you can redistribute it and/or
2944+# modify it under the terms of the GNU General Public License
2945+# as published by the Free Software Foundation; either version 3
2946+# of the License, or (at your option) any later version.
2947+#
2948+# This program is distributed in the hope that it will be useful,
2949+# but WITHOUT ANY WARRANTY; without even the implied warranty of
2950+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2951+# GNU General Public License for more details.
2952+# http://www.gnu.org/licenses/licenses.html#GPL
2953+
2954+####################
2955+### dependancies ###
2956+####################
2957+import os.path
2958+from CDApplet import CDApplet
2959+
2960+####################
2961+### Applet class ###
2962+####################
2963+class CDBashApplet(CDApplet):
2964+ def __init__(self):
2965+ # call high-level init
2966+ self.app_folder = os.path.abspath(".")
2967+ CDApplet.__init__(self)
2968+
2969+ ##### private methods #####
2970+
2971+ def call(self,action):
2972+ os.popen("cd " + self.app_folder + " && ./" + self.cAppletName + ".sh " + self.cAppletName + " " + self.cBusPath + " " + self.cConfFile + " " + self.cParentAppName + " " + action)
2973+
2974+ ##### applet definition #####
2975+
2976+ def get_config(self,keyfile):
2977+ self.call("get_config")
2978+
2979+ def end(self):
2980+ self.call("end")
2981+
2982+ def begin(self):
2983+ self.call("begin")
2984+
2985+ def reload(self):
2986+ self.call("reload")
2987+
2988+ ##### callbacks #####
2989+
2990+ def on_click(self,iState):
2991+ self.call("on_click "+str(iState))
2992+
2993+ def on_middle_click(self):
2994+ self.call("on_middle_click")
2995+
2996+ def on_build_menu(self):
2997+ self.call("on_build_menu")
2998+
2999+ def on_menu_select(self,iNumEntry):
3000+ self.call("on_menu_select "+str(iNumEntry))
3001+
3002+ def on_scroll(self,bScrollUp):
3003+ self.call("on_scroll "+str(bScrollUp))
3004+
3005+ def on_drop_data(self,cReceivedData):
3006+ self.call("on_drop_data '"+cReceivedData+"'")
3007+
3008+ def on_answer_dialog(self, button, answer):
3009+ self.call("on_answer_dialog "+str(button)+" '"+str(answer)+"'")
3010+
3011+ def on_shortkey(self,key):
3012+ self.call("on_shortkey '"+key+"'")
3013+
3014+ def on_change_focus(self,bIsActive):
3015+ self.call("on_change_focus '"+str(bIsActive)+"'")
3016+
3017+ def on_click_sub_icon(self, iState, cIconID):
3018+ self.call("on_click_sub_icon '"+str(iState)+"' '"+cIconID+"'")
3019+
3020
3021=== modified file 'Dbus/interfaces/bash/CDBashApplet.sh'
3022--- Dbus/interfaces/bash/CDBashApplet.sh 2011-09-26 12:56:12 +0000
3023+++ Dbus/interfaces/bash/CDBashApplet.sh 2012-02-14 14:04:19 +0000
3024@@ -8,7 +8,7 @@
3025 #
3026 # This program is free software; you can redistribute it and/or
3027 # modify it under the terms of the GNU General Public License
3028-# as published by the Free Software Foundation; either version 2
3029+# as published by the Free Software Foundation; either version 3
3030 # of the License, or (at your option) any later version.
3031 #
3032 # This program is distributed in the hope that it will be useful,
3033@@ -27,8 +27,11 @@
3034 DBUS_INTERFACE="org.cairodock.CairoDock"
3035 CONF_FILE="$1"
3036 shift 1
3037+ROOT_DATA_DIR="$1"
3038+shift 1
3039 PARENT_APP_NAME="$1"
3040 shift 1
3041+SHARE_DATA_DIR="$PWD"
3042
3043 BOTTOM=0
3044 TOP=1
3045
3046=== modified file 'Dbus/interfaces/bash/CMakeLists.txt'
3047--- Dbus/interfaces/bash/CMakeLists.txt 2011-04-20 20:46:51 +0000
3048+++ Dbus/interfaces/bash/CMakeLists.txt 2012-02-14 14:04:19 +0000
3049@@ -1,10 +1,9 @@
3050-
3051-########### install files ###############
3052+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CDBashApplet.py.in ${CMAKE_CURRENT_BINARY_DIR}/CDBashApplet.py)
3053
3054 # the python script goes with other python scripts.
3055 if (NOT "${CMAKE_CURRENT_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
3056 # copy *.py to current binary dir (cleaner)
3057- execute_process(COMMAND cp "${CMAKE_CURRENT_SOURCE_DIR}/setup.py" "${CMAKE_CURRENT_SOURCE_DIR}/CDBashApplet.py" ${CMAKE_CURRENT_BINARY_DIR})
3058+ execute_process(COMMAND cp "${CMAKE_CURRENT_SOURCE_DIR}/setup.py" ${CMAKE_CURRENT_BINARY_DIR})
3059 exec_program("${PYTHON_EXECUTABLE}" "${CMAKE_CURRENT_BINARY_DIR}" ARGS "setup.py" "-q" "build")
3060 endif()
3061 # Run a custom script with 'make install'
3062@@ -12,6 +11,8 @@
3063 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/BashInstall.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/BashInstall.cmake)
3064 set_target_properties(bash_pyc PROPERTIES POST_INSTALL_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/BashInstall.cmake)
3065
3066+########### install files ###############
3067+
3068 # and the bash functions goes into the data dir of the applet (didn't find a better place).
3069 install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/CDBashApplet.sh
3070 DESTINATION ${dbusdatadir}
3071
3072=== modified file 'Dbus/interfaces/mono/CDApplet.cs'
3073--- Dbus/interfaces/mono/CDApplet.cs 2011-09-26 12:56:12 +0000
3074+++ Dbus/interfaces/mono/CDApplet.cs 2012-02-14 14:04:19 +0000
3075@@ -40,6 +40,8 @@
3076 public string cParentAppName = null;
3077 public string cBusPath = null;
3078 public string cConfFile = null;
3079+ public string cShareDataDir = null;
3080+ public string cRootDataDir = null;
3081 public IApplet icon = null;
3082 public ISubApplet sub_icons= null;
3083 private GLib.MainLoop loop = null;
3084@@ -89,7 +91,9 @@
3085 this.cAppletName = argv[0].Substring(2);
3086 this.cBusPath = argv[2];
3087 this.cConfFile = argv[3];
3088- this.cParentAppName = argv[4];
3089+ this.cRootDataDir = argv[4];
3090+ this.cParentAppName = argv[5];
3091+ //this.cShareDataDir = Environment.CurrentDir(); // not sure of the exact syntax...
3092
3093 this._get_config ();
3094 this._connect_to_dock ();
3095
3096=== modified file 'Dbus/interfaces/mono/CMakeLists.txt'
3097--- Dbus/interfaces/mono/CMakeLists.txt 2011-04-20 20:46:51 +0000
3098+++ Dbus/interfaces/mono/CMakeLists.txt 2012-02-14 14:04:19 +0000
3099@@ -7,7 +7,7 @@
3100 -out:${CMAKE_CURRENT_BINARY_DIR}/CDApplet.dll
3101 ${CMAKE_CURRENT_SOURCE_DIR}/CDApplet.cs ${CMAKE_CURRENT_SOURCE_DIR}/ISubApplet.cs ${CMAKE_CURRENT_SOURCE_DIR}/IApplet.cs)
3102 ### find how to register to GAC ...
3103-set (MONO_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib/cli")
3104+set (MONO_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib/cli/cairo-dock-plug-ins")
3105 install (FILES ${CMAKE_CURRENT_BINARY_DIR}/CDApplet.dll
3106 DESTINATION ${MONO_LIB_DIR})
3107
3108
3109=== removed file 'Dbus/interfaces/python/CDApplet.py'
3110--- Dbus/interfaces/python/CDApplet.py 2011-09-26 12:56:12 +0000
3111+++ Dbus/interfaces/python/CDApplet.py 1970-01-01 00:00:00 +0000
3112@@ -1,272 +0,0 @@
3113-# This is a part of the external applets for Cairo-Dock
3114-# Copyright : (C) 2010-2011 by Fabounet
3115-# E-mail : fabounet@glx-dock.org
3116-#
3117-# This program is free software; you can redistribute it and/or
3118-# modify it under the terms of the GNU General Public License
3119-# as published by the Free Software Foundation; either version 2
3120-# of the License, or (at your option) any later version.
3121-#
3122-# This program is distributed in the hope that it will be useful,
3123-# but WITHOUT ANY WARRANTY; without even the implied warranty of
3124-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3125-# GNU General Public License for more details.
3126-# http://www.gnu.org/licenses/licenses.html#GPL
3127-
3128-# Base class for Cairo-Dock's applets.
3129-# Make your own class derive from a CDApplet, and override the functions you need (the ones which don't start with an underscore).
3130-
3131-####################
3132-### dependancies ###
3133-####################
3134-import sys
3135-import os.path
3136-import ConfigParser
3137-import gobject
3138-import glib
3139-import gettext
3140-import dbus
3141-from dbus.mainloop.glib import DBusGMainLoop
3142-
3143-DBusGMainLoop(set_as_default=True)
3144-
3145-INSTALL_PREFIX = os.path.abspath("..") # applets are launched from their install directory, so ".." is the folder containing all applets.
3146-
3147-GETTEXT_NAME = 'cairo-dock-plugins-extra'
3148-LOCALE_DIR = INSTALL_PREFIX + '/locale' # user version of /usr/share/locale
3149-gettext.textdomain(GETTEXT_NAME)
3150-gettext.bind_textdomain_codeset (GETTEXT_NAME, 'UTF-8');
3151-gettext.bindtextdomain(GETTEXT_NAME, LOCALE_DIR)
3152-_ = lambda x: gettext.dgettext(GETTEXT_NAME,x)
3153-
3154-####################
3155-### Applet class ###
3156-####################
3157-class CDApplet:
3158-
3159- #############
3160- ### Enums ###
3161- #############
3162- # orientation
3163- BOTTOM = 0
3164- TOP = 1
3165- RIGHT = 2
3166- LEFT = 3
3167- # container type
3168- DOCK = 0
3169- DESKLET = 1
3170- # emblem position
3171- EMBLEM_TOP_LEFT = 0
3172- EMBLEM_BOTTOM_RIGHT = 1
3173- EMBLEM_BOTTOM_LEFT = 2
3174- EMBLEM_TOP_RIGHT = 3
3175- EMBLEM_MIDDLE = 4
3176- EMBLEM_BOTTOM = 5
3177- EMBLEM_TOP = 6
3178- EMBLEM_RIGHT = 7
3179- EMBLEM_LEFT = 8
3180- # menu item types
3181- MENU_ENTRY = 0
3182- MENU_SUB_MENU = 1
3183- MENU_SEPARATOR = 2
3184- MENU_CHECKBOX = 3
3185- MENU_RADIO_BUTTON = 4
3186- # main menu ID
3187- MAIN_MENU_ID = 0
3188- # dialog key pressed
3189- DIALOG_KEY_ENTER = -1
3190- DIALOG_KEY_ESCAPE = -2
3191-
3192- #####################
3193- ### INIT AND DBUS ###
3194- #####################
3195-
3196- def __init__(self):
3197- """ initialize the applet. Must be called by any class that inheritates from it.
3198- It defines the following:
3199- - icon : our main icon
3200- - sub_icons: our sub-icons
3201- - config : a dictionnary where our configuration parameters are stored
3202- - cAppletName : name of our applet (the same as the folder where files are stored)
3203- - cConfFile : path to our config file (you will rarely need it)
3204- """
3205- self.icon = None
3206- self.sub_icons = None
3207- self.config = {}
3208- self.loop = None
3209- self._bEnded = False
3210- self._cMenuIconId = None
3211- self.cAppletName = sys.argv[0][2:] # the command is ./applet_name
3212- self.cBusPath = sys.argv[2]
3213- self.cConfFile = sys.argv[3]
3214- self.cParentAppName = sys.argv[4]
3215- self.cShareDataDir = INSTALL_PREFIX + '/' + self.cAppletName
3216-
3217- self._get_config()
3218- self._connect_to_dock()
3219-
3220- def _connect_to_dock(self):
3221- # get our applet on the bus.
3222- bus = dbus.SessionBus()
3223- try:
3224- applet_object = bus.get_object("org.cairodock.CairoDock", self.cBusPath)
3225- except:
3226- print ">>> object '"+self.cBusPath+"' can't be found on the bus, exit.\nMake sure that Cairo-Dock is running"
3227- sys.exit(2)
3228- self.icon = dbus.Interface(applet_object, "org.cairodock.CairoDock.applet") # this object represents our icon inside the dock or a desklet.
3229- sub_icons_object = bus.get_object("org.cairodock.CairoDock", self.cBusPath+"/sub_icons")
3230- self.sub_icons = dbus.Interface(sub_icons_object, "org.cairodock.CairoDock.subapplet") # this object represents the list of icons contained in our sub-dock, or in our desklet. We'll add them one by one later, giving them a unique ID, which will be used to identify each of them.
3231- # connect to signals.
3232- self.icon.connect_to_signal("on_click", self.on_click) # when the user left-clicks on our icon.
3233- self.icon.connect_to_signal("on_middle_click", self.on_middle_click) # when the user middle-clicks on our icon.
3234- self.icon.connect_to_signal("on_build_menu", self._on_build_menu) # when the user right-clicks on our applet (which builds the menu)
3235- self.icon.connect_to_signal("on_menu_select", self._on_menu_select) # when the user selects an entry of this menu.
3236- self.icon.connect_to_signal("on_scroll", self.on_scroll) # when the user scroll up or down on our icon.
3237- self.icon.connect_to_signal("on_drop_data", self.on_drop_data) # when the user drops something on our icon.
3238- self.icon.connect_to_signal("on_answer_dialog", self.on_answer_dialog) # when the user answer a question.
3239- self.icon.connect_to_signal("on_shortkey", self.on_shortkey) # when the user press the shortkey.
3240- self.icon.connect_to_signal("on_change_focus", self.on_change_focus) # when the window's focus changes.
3241- self.icon.connect_to_signal("on_stop_module", self._on_stop) # when the user deactivate our applet (or the DBus plug-in, or when the Cairo-Dock is stopped).
3242- self.icon.connect_to_signal("on_reload_module", self._on_reload) # when the user changes something in our config, or when the desklet is resized (with no change in the config).
3243- self.sub_icons.connect_to_signal("on_click_sub_icon", self.on_click_sub_icon) # when the user left-clicks on a sub-icon.
3244- self.sub_icons.connect_to_signal("on_middle_click_sub_icon", self.on_middle_click_sub_icon)
3245- self.sub_icons.connect_to_signal("on_scroll_sub_icon", self.on_scroll_sub_icon)
3246- self.sub_icons.connect_to_signal("on_build_menu_sub_icon", self._on_build_menu_sub_icon)
3247- self.sub_icons.connect_to_signal("on_drop_data_sub_icon", self.on_drop_data_sub_icon)
3248-
3249- def run(self):
3250- """ start the applet and enter the main loop; we never get out of this function """
3251- self.begin()
3252- if not self._bEnded: # _bEnded can be true if the applet runs its own main loop, in which case we stay stuck in the 'begin' function until the end of the applet; in this case, we don't want to run a main loop again!
3253- self.loop = gobject.MainLoop()
3254- self.loop.run()
3255- print ">>> applet '"+self.cAppletName+"' terminated."
3256- sys.exit(0)
3257-
3258- ##################################
3259- ### callbacks on the main icon ###
3260- ##################################
3261-
3262- def on_click(self,iState):
3263- """ action on click """
3264- pass
3265-
3266- def on_middle_click(self):
3267- """ action on middle-click """
3268- pass
3269-
3270- def _on_build_menu(self):
3271- self._cMenuIconId = None
3272- self.on_build_menu()
3273- pass
3274-
3275- def on_build_menu(self):
3276- """ build our menu """
3277- pass
3278-
3279- def _on_menu_select(self,iNumEntry):
3280- if self._cMenuIconId == None:
3281- self.on_menu_select(iNumEntry)
3282- else:
3283- self.on_menu_select_sub_icon(iNumEntry,self._cMenuIconId)
3284-
3285- def on_menu_select(self,iNumEntry):
3286- """ action on selecting an entry of our menu """
3287- pass
3288-
3289- def on_scroll(self,bScrollUp):
3290- """ action on scroll """
3291- pass
3292-
3293- def on_drop_data(self,cReceivedData):
3294- """ action on dropping something on our applet """
3295-
3296- def on_answer(self,answer):
3297- """ action on answering ok to a dialog with ok/cancel buttons (deprecated) """
3298- pass
3299-
3300- def on_answer_dialog(self, button, answer):
3301- """ action on answering a dialog """
3302- if button == -1 or button == 0:
3303- self.on_answer(answer)
3304-
3305- def on_shortkey(self,cKey):
3306- """ action on pressing one of the shortkeys we bound beforehand """
3307- pass
3308-
3309- def on_change_focus(self,bIsActive):
3310- """ action when the window controlled by the applet takes or looses the focus """
3311- pass
3312-
3313- ##################################
3314- ### callbacks on the sub-icons ###
3315- ##################################
3316-
3317- def on_click_sub_icon(self, iState, cIconID):
3318- """ action on click on one of our sub-icons"""
3319- pass
3320-
3321- def on_middle_click_sub_icon(self, cIconID):
3322- """ action on middle-click on one of our sub-icons"""
3323- pass
3324-
3325- def on_scroll_sub_icon(self, bScrollUp, cIconID):
3326- """ action on scroll on one of our sub-icons"""
3327- pass
3328-
3329- def _on_build_menu_sub_icon(self, cIconID):
3330- self._cMenuIconId = cIconID
3331- self.on_build_menu_sub_icon(cIconID)
3332-
3333- def on_build_menu_sub_icon(self, cIconID):
3334- """ build our menu on one of our sub-icons"""
3335- pass
3336-
3337- def on_menu_select_sub_icon(self, iNumEntry, cIconID):
3338- """ action on selecting an entry of our menu on a sub-icon"""
3339- pass
3340-
3341- def on_drop_data_sub_icon(self, cReceivedData, cIconID):
3342- """ action on dropping something on one of our sub-icons"""
3343- pass
3344-
3345- def on_answer_dialog_sub_icon(self, button, answer, cIconID):
3346- """ action on answering a dialog about a sub-icon"""
3347- pass
3348-
3349- ###############################
3350- ### callbacks on the applet ###
3351- ###############################
3352-
3353- def begin(self):
3354- """ action when the applet is started """
3355- pass
3356-
3357- def end(self):
3358- """ action when the applet is terminated """
3359- pass
3360-
3361- def _on_stop(self):
3362- self._bEnded = True
3363- self.end()
3364- if self.loop != None:
3365- self.loop.quit()
3366-
3367- def reload(self):
3368- """ called when our applet is reloaded (config parameters have changed) """
3369- pass
3370-
3371- def _on_reload(self,bConfigHasChanged):
3372- if bConfigHasChanged:
3373- self._get_config()
3374- self.reload()
3375-
3376- def get_config(self,keyfile):
3377- """ get our parameters from the key-file """
3378- pass
3379-
3380- def _get_config(self):
3381- keyfile = ConfigParser.RawConfigParser()
3382- keyfile.read(self.cConfFile)
3383- self.get_config(keyfile)
3384-
3385
3386=== added file 'Dbus/interfaces/python/CDApplet.py.in'
3387--- Dbus/interfaces/python/CDApplet.py.in 1970-01-01 00:00:00 +0000
3388+++ Dbus/interfaces/python/CDApplet.py.in 2012-02-14 14:04:19 +0000
3389@@ -0,0 +1,275 @@
3390+#!@PYTHON_EXECUTABLE@
3391+#
3392+# This is a part of the external applets for Cairo-Dock
3393+# Copyright : (C) 2010-2011 by Fabounet
3394+# E-mail : fabounet@glx-dock.org
3395+#
3396+# This program is free software; you can redistribute it and/or
3397+# modify it under the terms of the GNU General Public License
3398+# as published by the Free Software Foundation; either version 3
3399+# of the License, or (at your option) any later version.
3400+#
3401+# This program is distributed in the hope that it will be useful,
3402+# but WITHOUT ANY WARRANTY; without even the implied warranty of
3403+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3404+# GNU General Public License for more details.
3405+# http://www.gnu.org/licenses/licenses.html#GPL
3406+
3407+# Base class for Cairo-Dock's applets.
3408+# Make your own class derive from a CDApplet, and override the functions you need (the ones which don't start with an underscore).
3409+
3410+####################
3411+### dependancies ###
3412+####################
3413+import sys
3414+import os.path
3415+import ConfigParser
3416+import gobject
3417+import glib
3418+import gettext
3419+import dbus
3420+from dbus.mainloop.glib import DBusGMainLoop
3421+
3422+DBusGMainLoop(set_as_default=True)
3423+
3424+INSTALL_PREFIX = os.path.abspath("..") # applets are launched from their install directory, so ".." is the folder containing all applets.
3425+
3426+GETTEXT_NAME = 'cairo-dock-plugins-extra'
3427+LOCALE_DIR = INSTALL_PREFIX + '/locale' # user version of /usr/share/locale
3428+gettext.textdomain(GETTEXT_NAME)
3429+gettext.bind_textdomain_codeset (GETTEXT_NAME, 'UTF-8');
3430+gettext.bindtextdomain(GETTEXT_NAME, LOCALE_DIR)
3431+_ = lambda x: gettext.dgettext(GETTEXT_NAME,x)
3432+
3433+####################
3434+### Applet class ###
3435+####################
3436+class CDApplet:
3437+
3438+ #############
3439+ ### Enums ###
3440+ #############
3441+ # orientation
3442+ BOTTOM = 0
3443+ TOP = 1
3444+ RIGHT = 2
3445+ LEFT = 3
3446+ # container type
3447+ DOCK = 0
3448+ DESKLET = 1
3449+ # emblem position
3450+ EMBLEM_TOP_LEFT = 0
3451+ EMBLEM_BOTTOM_RIGHT = 1
3452+ EMBLEM_BOTTOM_LEFT = 2
3453+ EMBLEM_TOP_RIGHT = 3
3454+ EMBLEM_MIDDLE = 4
3455+ EMBLEM_BOTTOM = 5
3456+ EMBLEM_TOP = 6
3457+ EMBLEM_RIGHT = 7
3458+ EMBLEM_LEFT = 8
3459+ # menu item types
3460+ MENU_ENTRY = 0
3461+ MENU_SUB_MENU = 1
3462+ MENU_SEPARATOR = 2
3463+ MENU_CHECKBOX = 3
3464+ MENU_RADIO_BUTTON = 4
3465+ # main menu ID
3466+ MAIN_MENU_ID = 0
3467+ # dialog key pressed
3468+ DIALOG_KEY_ENTER = -1
3469+ DIALOG_KEY_ESCAPE = -2
3470+
3471+ #####################
3472+ ### INIT AND DBUS ###
3473+ #####################
3474+
3475+ def __init__(self):
3476+ """ initialize the applet. Must be called by any class that inheritates from it.
3477+ It defines the following:
3478+ - icon : our main icon
3479+ - sub_icons: our sub-icons
3480+ - config : a dictionnary where our configuration parameters are stored
3481+ - cAppletName : name of our applet (the same as the folder where files are stored)
3482+ - cConfFile : path to our config file (you will rarely need it)
3483+ """
3484+ self.icon = None
3485+ self.sub_icons = None
3486+ self.config = {}
3487+ self.loop = None
3488+ self._bEnded = False
3489+ self._cMenuIconId = None
3490+ self.cAppletName = sys.argv[0][2:] # the command is ./applet_name
3491+ self.cBusPath = sys.argv[2]
3492+ self.cConfFile = sys.argv[3]
3493+ self.cRootDataDir = sys.argv[4]
3494+ self.cParentAppName = sys.argv[5]
3495+ self.cShareDataDir = INSTALL_PREFIX + '/' + self.cAppletName
3496+
3497+ self._get_config()
3498+ self._connect_to_dock()
3499+
3500+ def _connect_to_dock(self):
3501+ # get our applet on the bus.
3502+ bus = dbus.SessionBus()
3503+ try:
3504+ applet_object = bus.get_object("org.cairodock.CairoDock", self.cBusPath)
3505+ except:
3506+ print ">>> object '"+self.cBusPath+"' can't be found on the bus, exit.\nMake sure that Cairo-Dock is running"
3507+ sys.exit(2)
3508+ self.icon = dbus.Interface(applet_object, "org.cairodock.CairoDock.applet") # this object represents our icon inside the dock or a desklet.
3509+ sub_icons_object = bus.get_object("org.cairodock.CairoDock", self.cBusPath+"/sub_icons")
3510+ self.sub_icons = dbus.Interface(sub_icons_object, "org.cairodock.CairoDock.subapplet") # this object represents the list of icons contained in our sub-dock, or in our desklet. We'll add them one by one later, giving them a unique ID, which will be used to identify each of them.
3511+ # connect to signals.
3512+ self.icon.connect_to_signal("on_click", self.on_click) # when the user left-clicks on our icon.
3513+ self.icon.connect_to_signal("on_middle_click", self.on_middle_click) # when the user middle-clicks on our icon.
3514+ self.icon.connect_to_signal("on_build_menu", self._on_build_menu) # when the user right-clicks on our applet (which builds the menu)
3515+ self.icon.connect_to_signal("on_menu_select", self._on_menu_select) # when the user selects an entry of this menu.
3516+ self.icon.connect_to_signal("on_scroll", self.on_scroll) # when the user scroll up or down on our icon.
3517+ self.icon.connect_to_signal("on_drop_data", self.on_drop_data) # when the user drops something on our icon.
3518+ self.icon.connect_to_signal("on_answer_dialog", self.on_answer_dialog) # when the user answer a question.
3519+ self.icon.connect_to_signal("on_shortkey", self.on_shortkey) # when the user press the shortkey.
3520+ self.icon.connect_to_signal("on_change_focus", self.on_change_focus) # when the window's focus changes.
3521+ self.icon.connect_to_signal("on_stop_module", self._on_stop) # when the user deactivate our applet (or the DBus plug-in, or when the Cairo-Dock is stopped).
3522+ self.icon.connect_to_signal("on_reload_module", self._on_reload) # when the user changes something in our config, or when the desklet is resized (with no change in the config).
3523+ self.sub_icons.connect_to_signal("on_click_sub_icon", self.on_click_sub_icon) # when the user left-clicks on a sub-icon.
3524+ self.sub_icons.connect_to_signal("on_middle_click_sub_icon", self.on_middle_click_sub_icon)
3525+ self.sub_icons.connect_to_signal("on_scroll_sub_icon", self.on_scroll_sub_icon)
3526+ self.sub_icons.connect_to_signal("on_build_menu_sub_icon", self._on_build_menu_sub_icon)
3527+ self.sub_icons.connect_to_signal("on_drop_data_sub_icon", self.on_drop_data_sub_icon)
3528+
3529+ def run(self):
3530+ """ start the applet and enter the main loop; we never get out of this function """
3531+ self.begin()
3532+ if not self._bEnded: # _bEnded can be true if the applet runs its own main loop, in which case we stay stuck in the 'begin' function until the end of the applet; in this case, we don't want to run a main loop again!
3533+ self.loop = gobject.MainLoop()
3534+ self.loop.run()
3535+ print ">>> applet '"+self.cAppletName+"' terminated."
3536+ sys.exit(0)
3537+
3538+ ##################################
3539+ ### callbacks on the main icon ###
3540+ ##################################
3541+
3542+ def on_click(self,iState):
3543+ """ action on click """
3544+ pass
3545+
3546+ def on_middle_click(self):
3547+ """ action on middle-click """
3548+ pass
3549+
3550+ def _on_build_menu(self):
3551+ self._cMenuIconId = None
3552+ self.on_build_menu()
3553+ pass
3554+
3555+ def on_build_menu(self):
3556+ """ build our menu """
3557+ pass
3558+
3559+ def _on_menu_select(self,iNumEntry):
3560+ if self._cMenuIconId == None:
3561+ self.on_menu_select(iNumEntry)
3562+ else:
3563+ self.on_menu_select_sub_icon(iNumEntry,self._cMenuIconId)
3564+
3565+ def on_menu_select(self,iNumEntry):
3566+ """ action on selecting an entry of our menu """
3567+ pass
3568+
3569+ def on_scroll(self,bScrollUp):
3570+ """ action on scroll """
3571+ pass
3572+
3573+ def on_drop_data(self,cReceivedData):
3574+ """ action on dropping something on our applet """
3575+
3576+ def on_answer(self,answer):
3577+ """ action on answering ok to a dialog with ok/cancel buttons (deprecated) """
3578+ pass
3579+
3580+ def on_answer_dialog(self, button, answer):
3581+ """ action on answering a dialog """
3582+ if button == -1 or button == 0:
3583+ self.on_answer(answer)
3584+
3585+ def on_shortkey(self,cKey):
3586+ """ action on pressing one of the shortkeys we bound beforehand """
3587+ pass
3588+
3589+ def on_change_focus(self,bIsActive):
3590+ """ action when the window controlled by the applet takes or looses the focus """
3591+ pass
3592+
3593+ ##################################
3594+ ### callbacks on the sub-icons ###
3595+ ##################################
3596+
3597+ def on_click_sub_icon(self, iState, cIconID):
3598+ """ action on click on one of our sub-icons"""
3599+ pass
3600+
3601+ def on_middle_click_sub_icon(self, cIconID):
3602+ """ action on middle-click on one of our sub-icons"""
3603+ pass
3604+
3605+ def on_scroll_sub_icon(self, bScrollUp, cIconID):
3606+ """ action on scroll on one of our sub-icons"""
3607+ pass
3608+
3609+ def _on_build_menu_sub_icon(self, cIconID):
3610+ self._cMenuIconId = cIconID
3611+ self.on_build_menu_sub_icon(cIconID)
3612+
3613+ def on_build_menu_sub_icon(self, cIconID):
3614+ """ build our menu on one of our sub-icons"""
3615+ pass
3616+
3617+ def on_menu_select_sub_icon(self, iNumEntry, cIconID):
3618+ """ action on selecting an entry of our menu on a sub-icon"""
3619+ pass
3620+
3621+ def on_drop_data_sub_icon(self, cReceivedData, cIconID):
3622+ """ action on dropping something on one of our sub-icons"""
3623+ pass
3624+
3625+ def on_answer_dialog_sub_icon(self, button, answer, cIconID):
3626+ """ action on answering a dialog about a sub-icon"""
3627+ pass
3628+
3629+ ###############################
3630+ ### callbacks on the applet ###
3631+ ###############################
3632+
3633+ def begin(self):
3634+ """ action when the applet is started """
3635+ pass
3636+
3637+ def end(self):
3638+ """ action when the applet is terminated """
3639+ pass
3640+
3641+ def _on_stop(self):
3642+ self._bEnded = True
3643+ self.end()
3644+ if self.loop != None:
3645+ self.loop.quit()
3646+
3647+ def reload(self):
3648+ """ called when our applet is reloaded (config parameters have changed) """
3649+ pass
3650+
3651+ def _on_reload(self,bConfigHasChanged):
3652+ if bConfigHasChanged:
3653+ self._get_config()
3654+ self.reload()
3655+
3656+ def get_config(self,keyfile):
3657+ """ get our parameters from the key-file """
3658+ pass
3659+
3660+ def _get_config(self):
3661+ keyfile = ConfigParser.RawConfigParser()
3662+ keyfile.read(self.cConfFile)
3663+ self.get_config(keyfile)
3664+
3665
3666=== modified file 'Dbus/interfaces/python/CMakeLists.txt'
3667--- Dbus/interfaces/python/CMakeLists.txt 2011-08-09 18:08:08 +0000
3668+++ Dbus/interfaces/python/CMakeLists.txt 2012-02-14 14:04:19 +0000
3669@@ -1,11 +1,13 @@
3670-
3671-########### install files ###############
3672+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CDApplet.py.in ${CMAKE_CURRENT_BINARY_DIR}/CDApplet.py)
3673+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CairoDock.py.in ${CMAKE_CURRENT_BINARY_DIR}/CairoDock.py)
3674
3675 if (NOT "${CMAKE_CURRENT_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
3676 # copy *.py to current binary dir (cleaner)
3677- execute_process(COMMAND cp "${CMAKE_CURRENT_SOURCE_DIR}/setup.py" "${CMAKE_CURRENT_SOURCE_DIR}/CDApplet.py" "${CMAKE_CURRENT_SOURCE_DIR}/CairoDock.py" ${CMAKE_CURRENT_BINARY_DIR})
3678+ execute_process(COMMAND cp "${CMAKE_CURRENT_SOURCE_DIR}/setup.py" ${CMAKE_CURRENT_BINARY_DIR})
3679 exec_program("${PYTHON_EXECUTABLE}" "${CMAKE_CURRENT_BINARY_DIR}" ARGS "setup.py" "-q" "build")
3680 endif()
3681+
3682+########### install files ###############
3683 # Run a custom script with 'make install'
3684 add_custom_target(python_pyc ALL)
3685 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/PythonInstall.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/PythonInstall.cmake)
3686
3687=== removed file 'Dbus/interfaces/python/CairoDock.py'
3688--- Dbus/interfaces/python/CairoDock.py 2011-09-26 12:56:12 +0000
3689+++ Dbus/interfaces/python/CairoDock.py 1970-01-01 00:00:00 +0000
3690@@ -1,115 +0,0 @@
3691-# This is a part of the Cairo-Dock plug-ins.
3692-# Copyright : (C) 2010-2011 by Fabounet
3693-# E-mail : fabounet@glx-dock.org
3694-#
3695-# This program is free software; you can redistribute it and/or
3696-# modify it under the terms of the GNU General Public License
3697-# as published by the Free Software Foundation; either version 2
3698-# of the License, or (at your option) any later version.
3699-#
3700-# This program is distributed in the hope that it will be useful,
3701-# but WITHOUT ANY WARRANTY; without even the implied warranty of
3702-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3703-# GNU General Public License for more details.
3704-# http://www.gnu.org/licenses/licenses.html#GPL
3705-
3706-# Base class for Cairo-Dock's main interface.
3707-
3708-####################
3709-### dependancies ###
3710-####################
3711-import os.path
3712-import dbus
3713-import re
3714-
3715-USER_CONFIG_DIR = os.path.abspath("~/.config")
3716-
3717-
3718-##################
3719-### Main class ###
3720-##################
3721-class CairoDock:
3722-
3723- #############
3724- ### Enums ###
3725- #############
3726- # orientation
3727- BOTTOM = 0
3728- TOP = 1
3729- RIGHT = 2
3730- LEFT = 3
3731- # container type
3732- DOCK = "Dock"
3733- DESKLET = "Desklet"
3734- # emblem position
3735- EMBLEM_TOP_LEFT = 0
3736- EMBLEM_BOTTOM_RIGHT = 1
3737- EMBLEM_BOTTOM_LEFT = 2
3738- EMBLEM_TOP_RIGHT = 3
3739- EMBLEM_MIDDLE = 4
3740- EMBLEM_BOTTOM = 5
3741- EMBLEM_TOP = 6
3742- EMBLEM_RIGHT = 7
3743- EMBLEM_LEFT = 8
3744- # module category
3745- CATEGORY_BEHAVIOR = 0
3746- CATEGORY_THEME = 1
3747- CATEGORY_APPLET_FILES = 2
3748- CATEGORY_APPLET_INTERNET = 3
3749- CATEGORY_APPLET_DESKTOP = 4
3750- CATEGORY_APPLET_ACCESSORY = 5
3751- CATEGORY_APPLET_SYSTEM = 6
3752- CATEGORY_APPLET_FUN = 7
3753- # module type
3754- CAN_DOCK = 1
3755- CAN_DESKLET = 2
3756- # icon type
3757- TYPE_LAUNCHER = "Launcher"
3758- TYPE_APPLICATION = "Application"
3759- TYPE_APPLET = "Applet"
3760- TYPE_SEPARATOR = "Separator"
3761- TYPE_CONTAINER = "Container"
3762- TYPE_CLASS_CONTAINER = "Class-Container"
3763- TYPE_OTHER = "Other"
3764- # toggle dock visibility
3765- HIDE_DOCK = 0
3766- SHOW_DOCK = 1
3767- TOGGLE_DOCK = 2
3768-
3769- #####################
3770- ### INIT AND DBUS ###
3771- #####################
3772-
3773- def __init__(self, app_name="cairo-dock"):
3774- """ Initialize the interface.
3775- It defines the following:
3776- - cDataDir: main dir
3777- - cCurrentThemeDir: current theme dir
3778- - cConfFile : path to the global config file
3779- """
3780- self.dock = None
3781- self.cAppName = app_name
3782- self.cDataDir = USER_CONFIG_DIR + '/' + app_name
3783- self.cCurrentThemeDir = self.cDataDir + '/current_theme'
3784- self.cLaunchersDir = self.cCurrentThemeDir + '/launchers'
3785- self.cPluginsDir = self.cCurrentThemeDir + '/plug-ins'
3786- self.cConfFile = self.cCurrentThemeDir + '/' + app_name + '.conf'
3787-
3788- self._connect()
3789-
3790- def _connect(self):
3791- # get gldi on the bus.
3792- bus = dbus.SessionBus()
3793-
3794- name1 = self.cAppName.replace('-','') # -> cairodock
3795- name2 = re.sub('-[a-z]', lambda x: x.group(0).upper(), self.cAppName)
3796- name2 = re.sub('^[a-z]', lambda x: x.group(0).upper(), name2) # -> CairoDock
3797- name2 = name2.replace('-','') # -> CairoDock
3798- cBusPath = '/org/'+name1+'/'+name2
3799- try:
3800- dbus_object = bus.get_object("org.cairodock.CairoDock", cBusPath)
3801- except:
3802- print ">>> object '"+cBusPath+"' can't be found on the bus, exit.\nMake sure that Cairo-Dock is running"
3803- return
3804- self.iface = dbus.Interface(dbus_object, "org.cairodock.CairoDock") # this object represents gldi.
3805-
3806
3807=== added file 'Dbus/interfaces/python/CairoDock.py.in'
3808--- Dbus/interfaces/python/CairoDock.py.in 1970-01-01 00:00:00 +0000
3809+++ Dbus/interfaces/python/CairoDock.py.in 2012-02-14 14:04:19 +0000
3810@@ -0,0 +1,117 @@
3811+#!@PYTHON_EXECUTABLE@
3812+#
3813+# This is a part of the Cairo-Dock plug-ins.
3814+# Copyright : (C) 2010-2011 by Fabounet
3815+# E-mail : fabounet@glx-dock.org
3816+#
3817+# This program is free software; you can redistribute it and/or
3818+# modify it under the terms of the GNU General Public License
3819+# as published by the Free Software Foundation; either version 3
3820+# of the License, or (at your option) any later version.
3821+#
3822+# This program is distributed in the hope that it will be useful,
3823+# but WITHOUT ANY WARRANTY; without even the implied warranty of
3824+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3825+# GNU General Public License for more details.
3826+# http://www.gnu.org/licenses/licenses.html#GPL
3827+
3828+# Base class for Cairo-Dock's main interface.
3829+
3830+####################
3831+### dependancies ###
3832+####################
3833+import os.path
3834+import dbus
3835+import re
3836+
3837+USER_CONFIG_DIR = os.path.abspath("~/.config")
3838+
3839+
3840+##################
3841+### Main class ###
3842+##################
3843+class CairoDock:
3844+
3845+ #############
3846+ ### Enums ###
3847+ #############
3848+ # orientation
3849+ BOTTOM = 0
3850+ TOP = 1
3851+ RIGHT = 2
3852+ LEFT = 3
3853+ # container type
3854+ DOCK = "Dock"
3855+ DESKLET = "Desklet"
3856+ # emblem position
3857+ EMBLEM_TOP_LEFT = 0
3858+ EMBLEM_BOTTOM_RIGHT = 1
3859+ EMBLEM_BOTTOM_LEFT = 2
3860+ EMBLEM_TOP_RIGHT = 3
3861+ EMBLEM_MIDDLE = 4
3862+ EMBLEM_BOTTOM = 5
3863+ EMBLEM_TOP = 6
3864+ EMBLEM_RIGHT = 7
3865+ EMBLEM_LEFT = 8
3866+ # module category
3867+ CATEGORY_BEHAVIOR = 0
3868+ CATEGORY_THEME = 1
3869+ CATEGORY_APPLET_FILES = 2
3870+ CATEGORY_APPLET_INTERNET = 3
3871+ CATEGORY_APPLET_DESKTOP = 4
3872+ CATEGORY_APPLET_ACCESSORY = 5
3873+ CATEGORY_APPLET_SYSTEM = 6
3874+ CATEGORY_APPLET_FUN = 7
3875+ # module type
3876+ CAN_DOCK = 1
3877+ CAN_DESKLET = 2
3878+ # icon type
3879+ TYPE_LAUNCHER = "Launcher"
3880+ TYPE_APPLICATION = "Application"
3881+ TYPE_APPLET = "Applet"
3882+ TYPE_SEPARATOR = "Separator"
3883+ TYPE_CONTAINER = "Container"
3884+ TYPE_CLASS_CONTAINER = "Class-Container"
3885+ TYPE_OTHER = "Other"
3886+ # toggle dock visibility
3887+ HIDE_DOCK = 0
3888+ SHOW_DOCK = 1
3889+ TOGGLE_DOCK = 2
3890+
3891+ #####################
3892+ ### INIT AND DBUS ###
3893+ #####################
3894+
3895+ def __init__(self, app_name="cairo-dock"):
3896+ """ Initialize the interface.
3897+ It defines the following:
3898+ - cDataDir: main dir
3899+ - cCurrentThemeDir: current theme dir
3900+ - cConfFile : path to the global config file
3901+ """
3902+ self.dock = None
3903+ self.cAppName = app_name
3904+ self.cDataDir = USER_CONFIG_DIR + '/' + app_name
3905+ self.cCurrentThemeDir = self.cDataDir + '/current_theme'
3906+ self.cLaunchersDir = self.cCurrentThemeDir + '/launchers'
3907+ self.cPluginsDir = self.cCurrentThemeDir + '/plug-ins'
3908+ self.cConfFile = self.cCurrentThemeDir + '/' + app_name + '.conf'
3909+
3910+ self._connect()
3911+
3912+ def _connect(self):
3913+ # get gldi on the bus.
3914+ bus = dbus.SessionBus()
3915+
3916+ name1 = self.cAppName.replace('-','') # -> cairodock
3917+ name2 = re.sub('-[a-z]', lambda x: x.group(0).upper(), self.cAppName)
3918+ name2 = re.sub('^[a-z]', lambda x: x.group(0).upper(), name2) # -> CairoDock
3919+ name2 = name2.replace('-','') # -> CairoDock
3920+ cBusPath = '/org/'+name1+'/'+name2
3921+ try:
3922+ dbus_object = bus.get_object("org.cairodock.CairoDock", cBusPath)
3923+ except:
3924+ print ">>> object '"+cBusPath+"' can't be found on the bus, exit.\nMake sure that Cairo-Dock is running"
3925+ return
3926+ self.iface = dbus.Interface(dbus_object, "org.cairodock.CairoDock") # this object represents gldi.
3927+
3928
3929=== modified file 'Dbus/interfaces/ruby/CDApplet.rb'
3930--- Dbus/interfaces/ruby/CDApplet.rb 2011-09-26 12:56:12 +0000
3931+++ Dbus/interfaces/ruby/CDApplet.rb 2012-02-14 14:04:19 +0000
3932@@ -57,8 +57,6 @@
3933 DIALOG_KEY_ESCAPE = -2
3934
3935 def initialize
3936- #~ self.cAppletName = File.basename(Dir.getwd)
3937- #~ self.cConfFile = File.expand_path("~/.config/cairo-dock/current_theme/plug-ins/#{self.cAppletName}/#{self.cAppletName}.conf")
3938 self.config = {}
3939 self.bus = nil
3940 self.icon = nil
3941@@ -67,7 +65,9 @@
3942 self.cAppletName = $0[2,999]
3943 self.cBusPath = ARGV[1]
3944 self.cConfFile = ARGV[2]
3945- self.cParentAppName = ARGV[3]
3946+ self.cRootDataDir = ARGV[3]
3947+ self.cParentAppName = ARGV[4]
3948+ self.cShareDataDir = Dir.getwd
3949
3950 self._get_config()
3951 self._connect_to_dock()
3952
3953=== modified file 'Dbus/interfaces/vala/CDApplet.vala'
3954--- Dbus/interfaces/vala/CDApplet.vala 2011-09-26 12:56:12 +0000
3955+++ Dbus/interfaces/vala/CDApplet.vala 2012-02-14 14:04:19 +0000
3956@@ -83,6 +83,8 @@
3957 public string cConfFile;
3958 public string cParentAppName;
3959 public string cBusPath;
3960+ public string cShareDataDir;
3961+ public string cRootDataDir;
3962 private MainLoop loop;
3963 private string _cMenuIconId;
3964
3965@@ -129,7 +131,9 @@
3966 this.cAppletName = argv[0].substring(2,999);
3967 this.cBusPath = argv[2];
3968 this.cConfFile = argv[3];
3969- this.cParentAppName = argv[4];
3970+ this.cRootDataDir = argv[4];
3971+ this.cParentAppName = argv[5];
3972+ //this.cShareDataDir = get_current_dir(); // not sure of the exact syntax...
3973
3974 this._get_config();
3975 this._connect_to_bus();
3976
3977=== modified file 'Dbus/interfaces/vala/src/CDApplet.h'
3978--- Dbus/interfaces/vala/src/CDApplet.h 2011-10-03 15:13:15 +0000
3979+++ Dbus/interfaces/vala/src/CDApplet.h 2012-02-14 14:04:19 +0000
3980@@ -1,8 +1,8 @@
3981 /* CDApplet.h generated by valac 0.10.0, the Vala compiler, do not modify */
3982
3983
3984-#ifndef ___HOME_FAB_CD2_4_PLUG_INS_DBUS_INTERFACES_VALA_SRC_CDAPPLET_H__
3985-#define ___HOME_FAB_CD2_4_PLUG_INS_DBUS_INTERFACES_VALA_SRC_CDAPPLET_H__
3986+#ifndef ___HOME_FAB_CD2_CAIRO_DOCK_PLUG_INS_DBUS_INTERFACES_VALA_SRC_CDAPPLET_H__
3987+#define ___HOME_FAB_CD2_CAIRO_DOCK_PLUG_INS_DBUS_INTERFACES_VALA_SRC_CDAPPLET_H__
3988
3989 #include <glib.h>
3990 #include <glib-object.h>
3991
3992=== modified file 'Dbus/src/applet-dbus.c'
3993--- Dbus/src/applet-dbus.c 2011-08-09 18:08:08 +0000
3994+++ Dbus/src/applet-dbus.c 2012-02-14 14:04:19 +0000
3995@@ -82,7 +82,7 @@
3996
3997 static void _on_init_module (CairoDockModuleInstance *pModuleInstance, GKeyFile *pKeyFile)
3998 {
3999- cd_debug ("%s (%d)", __func__, (int)pModuleInstance->pModule->fLastLoadingTime);
4000+ cd_debug ("%s ()", __func__);
4001
4002 //\_____________ On initialise l'icone.
4003 cd_dbus_action_on_init_module (pModuleInstance);
4004@@ -105,7 +105,7 @@
4005 //\_____________ On (re)lance l'executable de l'applet.
4006 cd_dbus_launch_applet_process (pModuleInstance, pDbusApplet);
4007 }
4008-static gboolean _cd_dbus_register_new_module (const gchar *cModuleName, const gchar *cDescription, const gchar *cAuthor, const gchar *cVersion, gint iCategory, const gchar *cIconName, const gchar *cShareDataDir, gboolean bMultiInstance)
4009+static gboolean _cd_dbus_register_new_module (const gchar *cModuleName, const gchar *cDescription, const gchar *cAuthor, const gchar *cVersion, gint iCategory, const gchar *cIconName, const gchar *cShareDataDir, gboolean bMultiInstance, gboolean bActAsLauncher)
4010 {
4011 cd_message ("%s (%s)", __func__, cModuleName);
4012
4013@@ -147,6 +147,7 @@
4014 pVisitCard->cTitle = g_strdup (dgettext (pVisitCard->cGettextDomain, cModuleName));
4015 pVisitCard->iContainerType = CAIRO_DOCK_MODULE_CAN_DOCK | CAIRO_DOCK_MODULE_CAN_DESKLET;
4016 pVisitCard->bMultiInstance = bMultiInstance;
4017+ pVisitCard->bActAsLauncher = bActAsLauncher; // ex.: XChat controls xchat/xchat-gnome, but it does that only after initializing; we need to know if it's a launcher before the taskbar is loaded, hence this parameter.
4018 pModule->pInterface = g_new0 (CairoDockModuleInterface, 1);
4019 pModule->pInterface->initModule = _on_init_module;
4020 pModule->pInterface->stopModule = cd_dbus_emit_on_stop_module;
4021@@ -213,11 +214,13 @@
4022
4023 gboolean bMultiInstance = g_key_file_get_boolean (pKeyFile, "Register", "multi-instance", NULL); // false if not specified
4024
4025+ gboolean bActAsLauncher = g_key_file_get_boolean (pKeyFile, "Register", "act as launcher", NULL); // false if not specified
4026+
4027 gchar *cShareDataDir = g_strdup_printf ("%s/%s", cThirdPartyPath, cModuleName);
4028
4029 g_key_file_free (pKeyFile);
4030
4031- gboolean bActivationOk = _cd_dbus_register_new_module (cModuleName, cDescription, cAuthor, cVersion, iCategory, cIconName, cShareDataDir, bMultiInstance);
4032+ gboolean bActivationOk = _cd_dbus_register_new_module (cModuleName, cDescription, cAuthor, cVersion, iCategory, cIconName, cShareDataDir, bMultiInstance, bActAsLauncher);
4033 g_free (cDescription);
4034 g_free (cAuthor);
4035 g_free (cVersion);
4036@@ -295,7 +298,7 @@
4037 {
4038 if (CAIRO_DOCK_IS_DOCK (pContainer))
4039 {
4040- cairo_dock_detach_icon_from_dock (pIcon, CAIRO_DOCK (pContainer), myIconsParam.iSeparateIcons);
4041+ cairo_dock_detach_icon_from_dock (pIcon, CAIRO_DOCK (pContainer));
4042 cairo_dock_free_icon (pIcon);
4043 cairo_dock_update_dock_size (CAIRO_DOCK (pContainer));
4044 cairo_dock_redraw_container (pContainer);
4045
4046=== modified file 'Dbus/src/applet-struct.h'
4047--- Dbus/src/applet-struct.h 2011-09-26 12:56:12 +0000
4048+++ Dbus/src/applet-struct.h 2012-02-14 14:04:19 +0000
4049@@ -105,9 +105,10 @@
4050 dbusMainObject *pMainObject;
4051 const gchar *cProgName;
4052 gchar *cBasePath;
4053- GtkWidget *pModuleSubMenu;
4054+ ///GtkWidget *pModuleSubMenu;
4055 GtkWidget *pModuleMainMenu;
4056 dbusApplet *pCurrentMenuDbusApplet;
4057+ gint iMenuPosition;
4058 Window xActiveWindow;
4059 CairoDockTask *pGetListTask;
4060 GList *pUpdateTasksList;
4061
4062=== modified file 'Dbus/src/dbus-applet-spec.h'
4063--- Dbus/src/dbus-applet-spec.h 2011-04-20 20:46:51 +0000
4064+++ Dbus/src/dbus-applet-spec.h 2012-02-14 14:04:19 +0000
4065@@ -55,102 +55,6 @@
4066 #endif /* !G_ENABLE_DEBUG */
4067
4068
4069-/* BOOLEAN:STRING,INT,POINTER */
4070-extern void dbus_glib_marshal_cd_dbus_applet_BOOLEAN__STRING_INT_POINTER (GClosure *closure,
4071- GValue *return_value,
4072- guint n_param_values,
4073- const GValue *param_values,
4074- gpointer invocation_hint,
4075- gpointer marshal_data);
4076-void
4077-dbus_glib_marshal_cd_dbus_applet_BOOLEAN__STRING_INT_POINTER (GClosure *closure,
4078- GValue *return_value G_GNUC_UNUSED,
4079- guint n_param_values,
4080- const GValue *param_values,
4081- gpointer invocation_hint G_GNUC_UNUSED,
4082- gpointer marshal_data)
4083-{
4084- typedef gboolean (*GMarshalFunc_BOOLEAN__STRING_INT_POINTER) (gpointer data1,
4085- gpointer arg_1,
4086- gint arg_2,
4087- gpointer arg_3,
4088- gpointer data2);
4089- register GMarshalFunc_BOOLEAN__STRING_INT_POINTER callback;
4090- register GCClosure *cc = (GCClosure*) closure;
4091- register gpointer data1, data2;
4092- gboolean v_return;
4093-
4094- g_return_if_fail (return_value != NULL);
4095- g_return_if_fail (n_param_values == 4);
4096-
4097- if (G_CCLOSURE_SWAP_DATA (closure))
4098- {
4099- data1 = closure->data;
4100- data2 = g_value_peek_pointer (param_values + 0);
4101- }
4102- else
4103- {
4104- data1 = g_value_peek_pointer (param_values + 0);
4105- data2 = closure->data;
4106- }
4107- callback = (GMarshalFunc_BOOLEAN__STRING_INT_POINTER) (marshal_data ? marshal_data : cc->callback);
4108-
4109- v_return = callback (data1,
4110- g_marshal_value_peek_string (param_values + 1),
4111- g_marshal_value_peek_int (param_values + 2),
4112- g_marshal_value_peek_pointer (param_values + 3),
4113- data2);
4114-
4115- g_value_set_boolean (return_value, v_return);
4116-}
4117-
4118-/* BOOLEAN:BOXED,POINTER */
4119-extern void dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOXED_POINTER (GClosure *closure,
4120- GValue *return_value,
4121- guint n_param_values,
4122- const GValue *param_values,
4123- gpointer invocation_hint,
4124- gpointer marshal_data);
4125-void
4126-dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOXED_POINTER (GClosure *closure,
4127- GValue *return_value G_GNUC_UNUSED,
4128- guint n_param_values,
4129- const GValue *param_values,
4130- gpointer invocation_hint G_GNUC_UNUSED,
4131- gpointer marshal_data)
4132-{
4133- typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_POINTER) (gpointer data1,
4134- gpointer arg_1,
4135- gpointer arg_2,
4136- gpointer data2);
4137- register GMarshalFunc_BOOLEAN__BOXED_POINTER callback;
4138- register GCClosure *cc = (GCClosure*) closure;
4139- register gpointer data1, data2;
4140- gboolean v_return;
4141-
4142- g_return_if_fail (return_value != NULL);
4143- g_return_if_fail (n_param_values == 3);
4144-
4145- if (G_CCLOSURE_SWAP_DATA (closure))
4146- {
4147- data1 = closure->data;
4148- data2 = g_value_peek_pointer (param_values + 0);
4149- }
4150- else
4151- {
4152- data1 = g_value_peek_pointer (param_values + 0);
4153- data2 = closure->data;
4154- }
4155- callback = (GMarshalFunc_BOOLEAN__BOXED_POINTER) (marshal_data ? marshal_data : cc->callback);
4156-
4157- v_return = callback (data1,
4158- g_marshal_value_peek_boxed (param_values + 1),
4159- g_marshal_value_peek_pointer (param_values + 2),
4160- data2);
4161-
4162- g_value_set_boolean (return_value, v_return);
4163-}
4164-
4165 /* BOOLEAN:BOXED,BOXED,POINTER */
4166 extern void dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOXED_BOXED_POINTER (GClosure *closure,
4167 GValue *return_value,
4168@@ -200,32 +104,33 @@
4169 g_value_set_boolean (return_value, v_return);
4170 }
4171
4172-/* BOOLEAN:BOOLEAN,POINTER */
4173-extern void dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOOLEAN_POINTER (GClosure *closure,
4174- GValue *return_value,
4175- guint n_param_values,
4176- const GValue *param_values,
4177- gpointer invocation_hint,
4178- gpointer marshal_data);
4179+/* BOOLEAN:BOOLEAN,STRING,POINTER */
4180+extern void dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOOLEAN_STRING_POINTER (GClosure *closure,
4181+ GValue *return_value,
4182+ guint n_param_values,
4183+ const GValue *param_values,
4184+ gpointer invocation_hint,
4185+ gpointer marshal_data);
4186 void
4187-dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOOLEAN_POINTER (GClosure *closure,
4188- GValue *return_value G_GNUC_UNUSED,
4189- guint n_param_values,
4190- const GValue *param_values,
4191- gpointer invocation_hint G_GNUC_UNUSED,
4192- gpointer marshal_data)
4193+dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOOLEAN_STRING_POINTER (GClosure *closure,
4194+ GValue *return_value G_GNUC_UNUSED,
4195+ guint n_param_values,
4196+ const GValue *param_values,
4197+ gpointer invocation_hint G_GNUC_UNUSED,
4198+ gpointer marshal_data)
4199 {
4200- typedef gboolean (*GMarshalFunc_BOOLEAN__BOOLEAN_POINTER) (gpointer data1,
4201- gboolean arg_1,
4202- gpointer arg_2,
4203- gpointer data2);
4204- register GMarshalFunc_BOOLEAN__BOOLEAN_POINTER callback;
4205+ typedef gboolean (*GMarshalFunc_BOOLEAN__BOOLEAN_STRING_POINTER) (gpointer data1,
4206+ gboolean arg_1,
4207+ gpointer arg_2,
4208+ gpointer arg_3,
4209+ gpointer data2);
4210+ register GMarshalFunc_BOOLEAN__BOOLEAN_STRING_POINTER callback;
4211 register GCClosure *cc = (GCClosure*) closure;
4212 register gpointer data1, data2;
4213 gboolean v_return;
4214
4215 g_return_if_fail (return_value != NULL);
4216- g_return_if_fail (n_param_values == 3);
4217+ g_return_if_fail (n_param_values == 4);
4218
4219 if (G_CCLOSURE_SWAP_DATA (closure))
4220 {
4221@@ -237,58 +142,10 @@
4222 data1 = g_value_peek_pointer (param_values + 0);
4223 data2 = closure->data;
4224 }
4225- callback = (GMarshalFunc_BOOLEAN__BOOLEAN_POINTER) (marshal_data ? marshal_data : cc->callback);
4226+ callback = (GMarshalFunc_BOOLEAN__BOOLEAN_STRING_POINTER) (marshal_data ? marshal_data : cc->callback);
4227
4228 v_return = callback (data1,
4229 g_marshal_value_peek_boolean (param_values + 1),
4230- g_marshal_value_peek_pointer (param_values + 2),
4231- data2);
4232-
4233- g_value_set_boolean (return_value, v_return);
4234-}
4235-
4236-/* BOOLEAN:STRING,STRING,POINTER */
4237-extern void dbus_glib_marshal_cd_dbus_applet_BOOLEAN__STRING_STRING_POINTER (GClosure *closure,
4238- GValue *return_value,
4239- guint n_param_values,
4240- const GValue *param_values,
4241- gpointer invocation_hint,
4242- gpointer marshal_data);
4243-void
4244-dbus_glib_marshal_cd_dbus_applet_BOOLEAN__STRING_STRING_POINTER (GClosure *closure,
4245- GValue *return_value G_GNUC_UNUSED,
4246- guint n_param_values,
4247- const GValue *param_values,
4248- gpointer invocation_hint G_GNUC_UNUSED,
4249- gpointer marshal_data)
4250-{
4251- typedef gboolean (*GMarshalFunc_BOOLEAN__STRING_STRING_POINTER) (gpointer data1,
4252- gpointer arg_1,
4253- gpointer arg_2,
4254- gpointer arg_3,
4255- gpointer data2);
4256- register GMarshalFunc_BOOLEAN__STRING_STRING_POINTER callback;
4257- register GCClosure *cc = (GCClosure*) closure;
4258- register gpointer data1, data2;
4259- gboolean v_return;
4260-
4261- g_return_if_fail (return_value != NULL);
4262- g_return_if_fail (n_param_values == 4);
4263-
4264- if (G_CCLOSURE_SWAP_DATA (closure))
4265- {
4266- data1 = closure->data;
4267- data2 = g_value_peek_pointer (param_values + 0);
4268- }
4269- else
4270- {
4271- data1 = g_value_peek_pointer (param_values + 0);
4272- data2 = closure->data;
4273- }
4274- callback = (GMarshalFunc_BOOLEAN__STRING_STRING_POINTER) (marshal_data ? marshal_data : cc->callback);
4275-
4276- v_return = callback (data1,
4277- g_marshal_value_peek_string (param_values + 1),
4278 g_marshal_value_peek_string (param_values + 2),
4279 g_marshal_value_peek_pointer (param_values + 3),
4280 data2);
4281@@ -345,6 +202,100 @@
4282 g_value_set_boolean (return_value, v_return);
4283 }
4284
4285+/* BOOLEAN:POINTER,POINTER */
4286+extern void dbus_glib_marshal_cd_dbus_applet_BOOLEAN__POINTER_POINTER (GClosure *closure,
4287+ GValue *return_value,
4288+ guint n_param_values,
4289+ const GValue *param_values,
4290+ gpointer invocation_hint,
4291+ gpointer marshal_data);
4292+void
4293+dbus_glib_marshal_cd_dbus_applet_BOOLEAN__POINTER_POINTER (GClosure *closure,
4294+ GValue *return_value G_GNUC_UNUSED,
4295+ guint n_param_values,
4296+ const GValue *param_values,
4297+ gpointer invocation_hint G_GNUC_UNUSED,
4298+ gpointer marshal_data)
4299+{
4300+ typedef gboolean (*GMarshalFunc_BOOLEAN__POINTER_POINTER) (gpointer data1,
4301+ gpointer arg_1,
4302+ gpointer arg_2,
4303+ gpointer data2);
4304+ register GMarshalFunc_BOOLEAN__POINTER_POINTER callback;
4305+ register GCClosure *cc = (GCClosure*) closure;
4306+ register gpointer data1, data2;
4307+ gboolean v_return;
4308+
4309+ g_return_if_fail (return_value != NULL);
4310+ g_return_if_fail (n_param_values == 3);
4311+
4312+ if (G_CCLOSURE_SWAP_DATA (closure))
4313+ {
4314+ data1 = closure->data;
4315+ data2 = g_value_peek_pointer (param_values + 0);
4316+ }
4317+ else
4318+ {
4319+ data1 = g_value_peek_pointer (param_values + 0);
4320+ data2 = closure->data;
4321+ }
4322+ callback = (GMarshalFunc_BOOLEAN__POINTER_POINTER) (marshal_data ? marshal_data : cc->callback);
4323+
4324+ v_return = callback (data1,
4325+ g_marshal_value_peek_pointer (param_values + 1),
4326+ g_marshal_value_peek_pointer (param_values + 2),
4327+ data2);
4328+
4329+ g_value_set_boolean (return_value, v_return);
4330+}
4331+
4332+/* BOOLEAN:BOXED,POINTER */
4333+extern void dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOXED_POINTER (GClosure *closure,
4334+ GValue *return_value,
4335+ guint n_param_values,
4336+ const GValue *param_values,
4337+ gpointer invocation_hint,
4338+ gpointer marshal_data);
4339+void
4340+dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOXED_POINTER (GClosure *closure,
4341+ GValue *return_value G_GNUC_UNUSED,
4342+ guint n_param_values,
4343+ const GValue *param_values,
4344+ gpointer invocation_hint G_GNUC_UNUSED,
4345+ gpointer marshal_data)
4346+{
4347+ typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_POINTER) (gpointer data1,
4348+ gpointer arg_1,
4349+ gpointer arg_2,
4350+ gpointer data2);
4351+ register GMarshalFunc_BOOLEAN__BOXED_POINTER callback;
4352+ register GCClosure *cc = (GCClosure*) closure;
4353+ register gpointer data1, data2;
4354+ gboolean v_return;
4355+
4356+ g_return_if_fail (return_value != NULL);
4357+ g_return_if_fail (n_param_values == 3);
4358+
4359+ if (G_CCLOSURE_SWAP_DATA (closure))
4360+ {
4361+ data1 = closure->data;
4362+ data2 = g_value_peek_pointer (param_values + 0);
4363+ }
4364+ else
4365+ {
4366+ data1 = g_value_peek_pointer (param_values + 0);
4367+ data2 = closure->data;
4368+ }
4369+ callback = (GMarshalFunc_BOOLEAN__BOXED_POINTER) (marshal_data ? marshal_data : cc->callback);
4370+
4371+ v_return = callback (data1,
4372+ g_marshal_value_peek_boxed (param_values + 1),
4373+ g_marshal_value_peek_pointer (param_values + 2),
4374+ data2);
4375+
4376+ g_value_set_boolean (return_value, v_return);
4377+}
4378+
4379 /* BOOLEAN:STRING,INT,STRING,POINTER */
4380 extern void dbus_glib_marshal_cd_dbus_applet_BOOLEAN__STRING_INT_STRING_POINTER (GClosure *closure,
4381 GValue *return_value,
4382@@ -396,27 +347,27 @@
4383 g_value_set_boolean (return_value, v_return);
4384 }
4385
4386-/* BOOLEAN:BOOLEAN,STRING,POINTER */
4387-extern void dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOOLEAN_STRING_POINTER (GClosure *closure,
4388- GValue *return_value,
4389- guint n_param_values,
4390- const GValue *param_values,
4391- gpointer invocation_hint,
4392- gpointer marshal_data);
4393+/* BOOLEAN:STRING,INT,POINTER */
4394+extern void dbus_glib_marshal_cd_dbus_applet_BOOLEAN__STRING_INT_POINTER (GClosure *closure,
4395+ GValue *return_value,
4396+ guint n_param_values,
4397+ const GValue *param_values,
4398+ gpointer invocation_hint,
4399+ gpointer marshal_data);
4400 void
4401-dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOOLEAN_STRING_POINTER (GClosure *closure,
4402- GValue *return_value G_GNUC_UNUSED,
4403- guint n_param_values,
4404- const GValue *param_values,
4405- gpointer invocation_hint G_GNUC_UNUSED,
4406- gpointer marshal_data)
4407+dbus_glib_marshal_cd_dbus_applet_BOOLEAN__STRING_INT_POINTER (GClosure *closure,
4408+ GValue *return_value G_GNUC_UNUSED,
4409+ guint n_param_values,
4410+ const GValue *param_values,
4411+ gpointer invocation_hint G_GNUC_UNUSED,
4412+ gpointer marshal_data)
4413 {
4414- typedef gboolean (*GMarshalFunc_BOOLEAN__BOOLEAN_STRING_POINTER) (gpointer data1,
4415- gboolean arg_1,
4416- gpointer arg_2,
4417- gpointer arg_3,
4418- gpointer data2);
4419- register GMarshalFunc_BOOLEAN__BOOLEAN_STRING_POINTER callback;
4420+ typedef gboolean (*GMarshalFunc_BOOLEAN__STRING_INT_POINTER) (gpointer data1,
4421+ gpointer arg_1,
4422+ gint arg_2,
4423+ gpointer arg_3,
4424+ gpointer data2);
4425+ register GMarshalFunc_BOOLEAN__STRING_INT_POINTER callback;
4426 register GCClosure *cc = (GCClosure*) closure;
4427 register gpointer data1, data2;
4428 gboolean v_return;
4429@@ -434,11 +385,11 @@
4430 data1 = g_value_peek_pointer (param_values + 0);
4431 data2 = closure->data;
4432 }
4433- callback = (GMarshalFunc_BOOLEAN__BOOLEAN_STRING_POINTER) (marshal_data ? marshal_data : cc->callback);
4434+ callback = (GMarshalFunc_BOOLEAN__STRING_INT_POINTER) (marshal_data ? marshal_data : cc->callback);
4435
4436 v_return = callback (data1,
4437- g_marshal_value_peek_boolean (param_values + 1),
4438- g_marshal_value_peek_string (param_values + 2),
4439+ g_marshal_value_peek_string (param_values + 1),
4440+ g_marshal_value_peek_int (param_values + 2),
4441 g_marshal_value_peek_pointer (param_values + 3),
4442 data2);
4443
4444@@ -543,26 +494,75 @@
4445 g_value_set_boolean (return_value, v_return);
4446 }
4447
4448-/* BOOLEAN:POINTER,POINTER */
4449-extern void dbus_glib_marshal_cd_dbus_applet_BOOLEAN__POINTER_POINTER (GClosure *closure,
4450+/* BOOLEAN:STRING,STRING,POINTER */
4451+extern void dbus_glib_marshal_cd_dbus_applet_BOOLEAN__STRING_STRING_POINTER (GClosure *closure,
4452+ GValue *return_value,
4453+ guint n_param_values,
4454+ const GValue *param_values,
4455+ gpointer invocation_hint,
4456+ gpointer marshal_data);
4457+void
4458+dbus_glib_marshal_cd_dbus_applet_BOOLEAN__STRING_STRING_POINTER (GClosure *closure,
4459+ GValue *return_value G_GNUC_UNUSED,
4460+ guint n_param_values,
4461+ const GValue *param_values,
4462+ gpointer invocation_hint G_GNUC_UNUSED,
4463+ gpointer marshal_data)
4464+{
4465+ typedef gboolean (*GMarshalFunc_BOOLEAN__STRING_STRING_POINTER) (gpointer data1,
4466+ gpointer arg_1,
4467+ gpointer arg_2,
4468+ gpointer arg_3,
4469+ gpointer data2);
4470+ register GMarshalFunc_BOOLEAN__STRING_STRING_POINTER callback;
4471+ register GCClosure *cc = (GCClosure*) closure;
4472+ register gpointer data1, data2;
4473+ gboolean v_return;
4474+
4475+ g_return_if_fail (return_value != NULL);
4476+ g_return_if_fail (n_param_values == 4);
4477+
4478+ if (G_CCLOSURE_SWAP_DATA (closure))
4479+ {
4480+ data1 = closure->data;
4481+ data2 = g_value_peek_pointer (param_values + 0);
4482+ }
4483+ else
4484+ {
4485+ data1 = g_value_peek_pointer (param_values + 0);
4486+ data2 = closure->data;
4487+ }
4488+ callback = (GMarshalFunc_BOOLEAN__STRING_STRING_POINTER) (marshal_data ? marshal_data : cc->callback);
4489+
4490+ v_return = callback (data1,
4491+ g_marshal_value_peek_string (param_values + 1),
4492+ g_marshal_value_peek_string (param_values + 2),
4493+ g_marshal_value_peek_pointer (param_values + 3),
4494+ data2);
4495+
4496+ g_value_set_boolean (return_value, v_return);
4497+}
4498+
4499+/* BOOLEAN:BOOLEAN,POINTER */
4500+extern void dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOOLEAN_POINTER (GClosure *closure,
4501 GValue *return_value,
4502 guint n_param_values,
4503 const GValue *param_values,
4504 gpointer invocation_hint,
4505 gpointer marshal_data);
4506 void
4507-dbus_glib_marshal_cd_dbus_applet_BOOLEAN__POINTER_POINTER (GClosure *closure,
4508+dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOOLEAN_POINTER (GClosure *closure,
4509 GValue *return_value G_GNUC_UNUSED,
4510 guint n_param_values,
4511 const GValue *param_values,
4512 gpointer invocation_hint G_GNUC_UNUSED,
4513 gpointer marshal_data)
4514 {
4515- typedef gboolean (*GMarshalFunc_BOOLEAN__POINTER_POINTER) (gpointer data1,
4516- gpointer arg_1,
4517+ typedef gboolean (*GMarshalFunc_BOOLEAN__BOOLEAN_POINTER) (gpointer data1,
4518+ gboolean arg_1,
4519 gpointer arg_2,
4520 gpointer data2);
4521- register GMarshalFunc_BOOLEAN__POINTER_POINTER callback;
4522+ register GMarshalFunc_BOOLEAN__BOOLEAN_POINTER callback;
4523 register GCClosure *cc = (GCClosure*) closure;
4524 register gpointer data1, data2;
4525 gboolean v_return;
4526@@ -580,10 +580,10 @@
4527 data1 = g_value_peek_pointer (param_values + 0);
4528 data2 = closure->data;
4529 }
4530- callback = (GMarshalFunc_BOOLEAN__POINTER_POINTER) (marshal_data ? marshal_data : cc->callback);
4531+ callback = (GMarshalFunc_BOOLEAN__BOOLEAN_POINTER) (marshal_data ? marshal_data : cc->callback);
4532
4533 v_return = callback (data1,
4534- g_marshal_value_peek_pointer (param_values + 1),
4535+ g_marshal_value_peek_boolean (param_values + 1),
4536 g_marshal_value_peek_pointer (param_values + 2),
4537 data2);
4538
4539@@ -613,15 +613,16 @@
4540 { (GCallback) cd_dbus_applet_render_values, dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOXED_POINTER, 992 },
4541 { (GCallback) cd_dbus_applet_control_appli, dbus_glib_marshal_cd_dbus_applet_BOOLEAN__STRING_POINTER, 1052 },
4542 { (GCallback) cd_dbus_applet_show_appli, dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOOLEAN_POINTER, 1121 },
4543- { (GCallback) cd_dbus_applet_populate_menu, dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOXED_POINTER, 1175 },
4544- { (GCallback) cd_dbus_applet_add_menu_items, dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOXED_POINTER, 1235 },
4545- { (GCallback) cd_dbus_applet_bind_shortkey, dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOXED_POINTER, 1298 },
4546+ { (GCallback) cd_dbus_applet_act_on_appli, dbus_glib_marshal_cd_dbus_applet_BOOLEAN__STRING_POINTER, 1175 },
4547+ { (GCallback) cd_dbus_applet_populate_menu, dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOXED_POINTER, 1232 },
4548+ { (GCallback) cd_dbus_applet_add_menu_items, dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOXED_POINTER, 1292 },
4549+ { (GCallback) cd_dbus_applet_bind_shortkey, dbus_glib_marshal_cd_dbus_applet_BOOLEAN__BOXED_POINTER, 1355 },
4550 };
4551
4552 const DBusGObjectInfo dbus_glib_cd_dbus_applet_object_info = { 1,
4553 dbus_glib_cd_dbus_applet_methods,
4554- 20,
4555-"org.cairodock.CairoDock.applet\0Get\0S\0cProperty\0I\0s\0value\0O\0F\0N\0v\0\0org.cairodock.CairoDock.applet\0GetAll\0S\0hProperties\0O\0F\0N\0a{sv}\0\0org.cairodock.CairoDock.applet\0SetQuickInfo\0S\0cQuickInfo\0I\0s\0\0org.cairodock.CairoDock.applet\0SetLabel\0S\0cLabel\0I\0s\0\0org.cairodock.CairoDock.applet\0SetIcon\0S\0cImage\0I\0s\0\0org.cairodock.CairoDock.applet\0SetEmblem\0S\0cImage\0I\0s\0iPosition\0I\0i\0\0org.cairodock.CairoDock.applet\0Animate\0S\0cAnimation\0I\0s\0iNbRounds\0I\0i\0\0org.cairodock.CairoDock.applet\0DemandsAttention\0S\0bStart\0I\0b\0cAnimation\0I\0s\0\0org.cairodock.CairoDock.applet\0ShowDialog\0S\0cMessage\0I\0s\0iDuration\0I\0i\0\0org.cairodock.CairoDock.applet\0AskQuestion\0S\0cMessage\0I\0s\0\0org.cairodock.CairoDock.applet\0AskValue\0S\0cMessage\0I\0s\0fInitialValue\0I\0d\0fMaxlValue\0I\0d\0\0org.cairodock.CairoDock.applet\0AskText\0S\0cMessage\0I\0s\0cInitialText\0I\0s\0\0org.cairodock.CairoDock.applet\0PopupDialog\0S\0hDialogAttributes\0I\0a{sv}\0hWidgetAttributes\0I\0a{sv}\0\0org.cairodock.CairoDock.applet\0AddDataRenderer\0S\0cType\0I\0s\0iNbValues\0I\0i\0cTheme\0I\0s\0\0org.cairodock.CairoDock.applet\0RenderValues\0S\0pValues\0I\0ad\0\0org.cairodock.CairoDock.applet\0ControlAppli\0S\0cApplicationClass\0I\0s\0\0org.cairodock.CairoDock.applet\0ShowAppli\0S\0bShow\0I\0b\0\0org.cairodock.CairoDock.applet\0PopulateMenu\0S\0pLabels\0I\0as\0\0org.cairodock.CairoDock.applet\0AddMenuItems\0S\0pItems\0I\0aa{sv}\0\0org.cairodock.CairoDock.applet\0BindShortkey\0S\0cShortkeys\0I\0as\0\0\0",
4556+ 21,
4557+"org.cairodock.CairoDock.applet\0Get\0S\0cProperty\0I\0s\0value\0O\0F\0N\0v\0\0org.cairodock.CairoDock.applet\0GetAll\0S\0hProperties\0O\0F\0N\0a{sv}\0\0org.cairodock.CairoDock.applet\0SetQuickInfo\0S\0cQuickInfo\0I\0s\0\0org.cairodock.CairoDock.applet\0SetLabel\0S\0cLabel\0I\0s\0\0org.cairodock.CairoDock.applet\0SetIcon\0S\0cImage\0I\0s\0\0org.cairodock.CairoDock.applet\0SetEmblem\0S\0cImage\0I\0s\0iPosition\0I\0i\0\0org.cairodock.CairoDock.applet\0Animate\0S\0cAnimation\0I\0s\0iNbRounds\0I\0i\0\0org.cairodock.CairoDock.applet\0DemandsAttention\0S\0bStart\0I\0b\0cAnimation\0I\0s\0\0org.cairodock.CairoDock.applet\0ShowDialog\0S\0cMessage\0I\0s\0iDuration\0I\0i\0\0org.cairodock.CairoDock.applet\0AskQuestion\0S\0cMessage\0I\0s\0\0org.cairodock.CairoDock.applet\0AskValue\0S\0cMessage\0I\0s\0fInitialValue\0I\0d\0fMaxlValue\0I\0d\0\0org.cairodock.CairoDock.applet\0AskText\0S\0cMessage\0I\0s\0cInitialText\0I\0s\0\0org.cairodock.CairoDock.applet\0PopupDialog\0S\0hDialogAttributes\0I\0a{sv}\0hWidgetAttributes\0I\0a{sv}\0\0org.cairodock.CairoDock.applet\0AddDataRenderer\0S\0cType\0I\0s\0iNbValues\0I\0i\0cTheme\0I\0s\0\0org.cairodock.CairoDock.applet\0RenderValues\0S\0pValues\0I\0ad\0\0org.cairodock.CairoDock.applet\0ControlAppli\0S\0cApplicationClass\0I\0s\0\0org.cairodock.CairoDock.applet\0ShowAppli\0S\0bShow\0I\0b\0\0org.cairodock.CairoDock.applet\0ActOnAppli\0S\0cAction\0I\0s\0\0org.cairodock.CairoDock.applet\0PopulateMenu\0S\0pLabels\0I\0as\0\0org.cairodock.CairoDock.applet\0AddMenuItems\0S\0pItems\0I\0aa{sv}\0\0org.cairodock.CairoDock.applet\0BindShortkey\0S\0cShortkeys\0I\0as\0\0\0",
4558 "org.cairodock.CairoDock.applet\0on_click\0org.cairodock.CairoDock.applet\0on_middle_click\0org.cairodock.CairoDock.applet\0on_scroll\0org.cairodock.CairoDock.applet\0on_build_menu\0org.cairodock.CairoDock.applet\0on_menu_select\0org.cairodock.CairoDock.applet\0on_drop_data\0org.cairodock.CairoDock.applet\0on_change_focus\0org.cairodock.CairoDock.applet\0on_answer\0org.cairodock.CairoDock.applet\0on_answer_dialog\0org.cairodock.CairoDock.applet\0on_shortkey\0org.cairodock.CairoDock.applet\0on_stop_module\0org.cairodock.CairoDock.applet\0on_reload_module\0\0",
4559 "\0"
4560 };
4561
4562=== modified file 'Dbus/src/dbus-main-spec.h'
4563--- Dbus/src/dbus-main-spec.h 2011-08-09 18:08:08 +0000
4564+++ Dbus/src/dbus-main-spec.h 2012-02-14 14:04:19 +0000
4565@@ -102,146 +102,50 @@
4566 g_value_set_boolean (return_value, v_return);
4567 }
4568
4569-/* BOOLEAN:BOXED,POINTER */
4570-extern void dbus_glib_marshal_cd_dbus_main_BOOLEAN__BOXED_POINTER (GClosure *closure,
4571- GValue *return_value,
4572- guint n_param_values,
4573- const GValue *param_values,
4574- gpointer invocation_hint,
4575- gpointer marshal_data);
4576-void
4577-dbus_glib_marshal_cd_dbus_main_BOOLEAN__BOXED_POINTER (GClosure *closure,
4578- GValue *return_value G_GNUC_UNUSED,
4579- guint n_param_values,
4580- const GValue *param_values,
4581- gpointer invocation_hint G_GNUC_UNUSED,
4582- gpointer marshal_data)
4583-{
4584- typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_POINTER) (gpointer data1,
4585- gpointer arg_1,
4586- gpointer arg_2,
4587- gpointer data2);
4588- register GMarshalFunc_BOOLEAN__BOXED_POINTER callback;
4589- register GCClosure *cc = (GCClosure*) closure;
4590- register gpointer data1, data2;
4591- gboolean v_return;
4592-
4593- g_return_if_fail (return_value != NULL);
4594- g_return_if_fail (n_param_values == 3);
4595-
4596- if (G_CCLOSURE_SWAP_DATA (closure))
4597- {
4598- data1 = closure->data;
4599- data2 = g_value_peek_pointer (param_values + 0);
4600- }
4601- else
4602- {
4603- data1 = g_value_peek_pointer (param_values + 0);
4604- data2 = closure->data;
4605- }
4606- callback = (GMarshalFunc_BOOLEAN__BOXED_POINTER) (marshal_data ? marshal_data : cc->callback);
4607-
4608- v_return = callback (data1,
4609- g_marshal_value_peek_boxed (param_values + 1),
4610- g_marshal_value_peek_pointer (param_values + 2),
4611- data2);
4612-
4613- g_value_set_boolean (return_value, v_return);
4614-}
4615-
4616-/* BOOLEAN:BOOLEAN,POINTER */
4617-extern void dbus_glib_marshal_cd_dbus_main_BOOLEAN__BOOLEAN_POINTER (GClosure *closure,
4618- GValue *return_value,
4619- guint n_param_values,
4620- const GValue *param_values,
4621- gpointer invocation_hint,
4622- gpointer marshal_data);
4623-void
4624-dbus_glib_marshal_cd_dbus_main_BOOLEAN__BOOLEAN_POINTER (GClosure *closure,
4625- GValue *return_value G_GNUC_UNUSED,
4626- guint n_param_values,
4627- const GValue *param_values,
4628- gpointer invocation_hint G_GNUC_UNUSED,
4629- gpointer marshal_data)
4630-{
4631- typedef gboolean (*GMarshalFunc_BOOLEAN__BOOLEAN_POINTER) (gpointer data1,
4632- gboolean arg_1,
4633- gpointer arg_2,
4634- gpointer data2);
4635- register GMarshalFunc_BOOLEAN__BOOLEAN_POINTER callback;
4636- register GCClosure *cc = (GCClosure*) closure;
4637- register gpointer data1, data2;
4638- gboolean v_return;
4639-
4640- g_return_if_fail (return_value != NULL);
4641- g_return_if_fail (n_param_values == 3);
4642-
4643- if (G_CCLOSURE_SWAP_DATA (closure))
4644- {
4645- data1 = closure->data;
4646- data2 = g_value_peek_pointer (param_values + 0);
4647- }
4648- else
4649- {
4650- data1 = g_value_peek_pointer (param_values + 0);
4651- data2 = closure->data;
4652- }
4653- callback = (GMarshalFunc_BOOLEAN__BOOLEAN_POINTER) (marshal_data ? marshal_data : cc->callback);
4654-
4655- v_return = callback (data1,
4656- g_marshal_value_peek_boolean (param_values + 1),
4657- g_marshal_value_peek_pointer (param_values + 2),
4658- data2);
4659-
4660- g_value_set_boolean (return_value, v_return);
4661-}
4662-
4663-/* BOOLEAN:BOOLEAN,STRING,STRING,POINTER */
4664-extern void dbus_glib_marshal_cd_dbus_main_BOOLEAN__BOOLEAN_STRING_STRING_POINTER (GClosure *closure,
4665- GValue *return_value,
4666- guint n_param_values,
4667- const GValue *param_values,
4668- gpointer invocation_hint,
4669- gpointer marshal_data);
4670-void
4671-dbus_glib_marshal_cd_dbus_main_BOOLEAN__BOOLEAN_STRING_STRING_POINTER (GClosure *closure,
4672- GValue *return_value G_GNUC_UNUSED,
4673- guint n_param_values,
4674- const GValue *param_values,
4675- gpointer invocation_hint G_GNUC_UNUSED,
4676- gpointer marshal_data)
4677-{
4678- typedef gboolean (*GMarshalFunc_BOOLEAN__BOOLEAN_STRING_STRING_POINTER) (gpointer data1,
4679- gboolean arg_1,
4680- gpointer arg_2,
4681- gpointer arg_3,
4682- gpointer arg_4,
4683- gpointer data2);
4684- register GMarshalFunc_BOOLEAN__BOOLEAN_STRING_STRING_POINTER callback;
4685- register GCClosure *cc = (GCClosure*) closure;
4686- register gpointer data1, data2;
4687- gboolean v_return;
4688-
4689- g_return_if_fail (return_value != NULL);
4690- g_return_if_fail (n_param_values == 5);
4691-
4692- if (G_CCLOSURE_SWAP_DATA (closure))
4693- {
4694- data1 = closure->data;
4695- data2 = g_value_peek_pointer (param_values + 0);
4696- }
4697- else
4698- {
4699- data1 = g_value_peek_pointer (param_values + 0);
4700- data2 = closure->data;
4701- }
4702- callback = (GMarshalFunc_BOOLEAN__BOOLEAN_STRING_STRING_POINTER) (marshal_data ? marshal_data : cc->callback);
4703-
4704- v_return = callback (data1,
4705- g_marshal_value_peek_boolean (param_values + 1),
4706- g_marshal_value_peek_string (param_values + 2),
4707- g_marshal_value_peek_string (param_values + 3),
4708- g_marshal_value_peek_pointer (param_values + 4),
4709+/* BOOLEAN:STRING,BOOLEAN,POINTER */
4710+extern void dbus_glib_marshal_cd_dbus_main_BOOLEAN__STRING_BOOLEAN_POINTER (GClosure *closure,
4711+ GValue *return_value,
4712+ guint n_param_values,
4713+ const GValue *param_values,
4714+ gpointer invocation_hint,
4715+ gpointer marshal_data);
4716+void
4717+dbus_glib_marshal_cd_dbus_main_BOOLEAN__STRING_BOOLEAN_POINTER (GClosure *closure,
4718+ GValue *return_value G_GNUC_UNUSED,
4719+ guint n_param_values,
4720+ const GValue *param_values,
4721+ gpointer invocation_hint G_GNUC_UNUSED,
4722+ gpointer marshal_data)
4723+{
4724+ typedef gboolean (*GMarshalFunc_BOOLEAN__STRING_BOOLEAN_POINTER) (gpointer data1,
4725+ gpointer arg_1,
4726+ gboolean arg_2,
4727+ gpointer arg_3,
4728+ gpointer data2);
4729+ register GMarshalFunc_BOOLEAN__STRING_BOOLEAN_POINTER callback;
4730+ register GCClosure *cc = (GCClosure*) closure;
4731+ register gpointer data1, data2;
4732+ gboolean v_return;
4733+
4734+ g_return_if_fail (return_value != NULL);
4735+ g_return_if_fail (n_param_values == 4);
4736+
4737+ if (G_CCLOSURE_SWAP_DATA (closure))
4738+ {
4739+ data1 = closure->data;
4740+ data2 = g_value_peek_pointer (param_values + 0);
4741+ }
4742+ else
4743+ {
4744+ data1 = g_value_peek_pointer (param_values + 0);
4745+ data2 = closure->data;
4746+ }
4747+ callback = (GMarshalFunc_BOOLEAN__STRING_BOOLEAN_POINTER) (marshal_data ? marshal_data : cc->callback);
4748+
4749+ v_return = callback (data1,
4750+ g_marshal_value_peek_string (param_values + 1),
4751+ g_marshal_value_peek_boolean (param_values + 2),
4752+ g_marshal_value_peek_pointer (param_values + 3),
4753 data2);
4754
4755 g_value_set_boolean (return_value, v_return);
4756@@ -292,55 +196,6 @@
4757 g_value_set_boolean (return_value, v_return);
4758 }
4759
4760-/* BOOLEAN:STRING,STRING,POINTER */
4761-extern void dbus_glib_marshal_cd_dbus_main_BOOLEAN__STRING_STRING_POINTER (GClosure *closure,
4762- GValue *return_value,
4763- guint n_param_values,
4764- const GValue *param_values,
4765- gpointer invocation_hint,
4766- gpointer marshal_data);
4767-void
4768-dbus_glib_marshal_cd_dbus_main_BOOLEAN__STRING_STRING_POINTER (GClosure *closure,
4769- GValue *return_value G_GNUC_UNUSED,
4770- guint n_param_values,
4771- const GValue *param_values,
4772- gpointer invocation_hint G_GNUC_UNUSED,
4773- gpointer marshal_data)
4774-{
4775- typedef gboolean (*GMarshalFunc_BOOLEAN__STRING_STRING_POINTER) (gpointer data1,
4776- gpointer arg_1,
4777- gpointer arg_2,
4778- gpointer arg_3,
4779- gpointer data2);
4780- register GMarshalFunc_BOOLEAN__STRING_STRING_POINTER callback;
4781- register GCClosure *cc = (GCClosure*) closure;
4782- register gpointer data1, data2;
4783- gboolean v_return;
4784-
4785- g_return_if_fail (return_value != NULL);
4786- g_return_if_fail (n_param_values == 4);
4787-
4788- if (G_CCLOSURE_SWAP_DATA (closure))
4789- {
4790- data1 = closure->data;
4791- data2 = g_value_peek_pointer (param_values + 0);
4792- }
4793- else
4794- {
4795- data1 = g_value_peek_pointer (param_values + 0);
4796- data2 = closure->data;
4797- }
4798- callback = (GMarshalFunc_BOOLEAN__STRING_STRING_POINTER) (marshal_data ? marshal_data : cc->callback);
4799-
4800- v_return = callback (data1,
4801- g_marshal_value_peek_string (param_values + 1),
4802- g_marshal_value_peek_string (param_values + 2),
4803- g_marshal_value_peek_pointer (param_values + 3),
4804- data2);
4805-
4806- g_value_set_boolean (return_value, v_return);
4807-}
4808-
4809 /* BOOLEAN:STRING,POINTER,POINTER */
4810 extern void dbus_glib_marshal_cd_dbus_main_BOOLEAN__STRING_POINTER_POINTER (GClosure *closure,
4811 GValue *return_value,
4812@@ -390,57 +245,6 @@
4813 g_value_set_boolean (return_value, v_return);
4814 }
4815
4816-/* BOOLEAN:STRING,INT,STRING,POINTER */
4817-extern void dbus_glib_marshal_cd_dbus_main_BOOLEAN__STRING_INT_STRING_POINTER (GClosure *closure,
4818- GValue *return_value,
4819- guint n_param_values,
4820- const GValue *param_values,
4821- gpointer invocation_hint,
4822- gpointer marshal_data);
4823-void
4824-dbus_glib_marshal_cd_dbus_main_BOOLEAN__STRING_INT_STRING_POINTER (GClosure *closure,
4825- GValue *return_value G_GNUC_UNUSED,
4826- guint n_param_values,
4827- const GValue *param_values,
4828- gpointer invocation_hint G_GNUC_UNUSED,
4829- gpointer marshal_data)
4830-{
4831- typedef gboolean (*GMarshalFunc_BOOLEAN__STRING_INT_STRING_POINTER) (gpointer data1,
4832- gpointer arg_1,
4833- gint arg_2,
4834- gpointer arg_3,
4835- gpointer arg_4,
4836- gpointer data2);
4837- register GMarshalFunc_BOOLEAN__STRING_INT_STRING_POINTER callback;
4838- register GCClosure *cc = (GCClosure*) closure;
4839- register gpointer data1, data2;
4840- gboolean v_return;
4841-
4842- g_return_if_fail (return_value != NULL);
4843- g_return_if_fail (n_param_values == 5);
4844-
4845- if (G_CCLOSURE_SWAP_DATA (closure))
4846- {
4847- data1 = closure->data;
4848- data2 = g_value_peek_pointer (param_values + 0);
4849- }
4850- else
4851- {
4852- data1 = g_value_peek_pointer (param_values + 0);
4853- data2 = closure->data;
4854- }
4855- callback = (GMarshalFunc_BOOLEAN__STRING_INT_STRING_POINTER) (marshal_data ? marshal_data : cc->callback);
4856-
4857- v_return = callback (data1,
4858- g_marshal_value_peek_string (param_values + 1),
4859- g_marshal_value_peek_int (param_values + 2),
4860- g_marshal_value_peek_string (param_values + 3),
4861- g_marshal_value_peek_pointer (param_values + 4),
4862- data2);
4863-
4864- g_value_set_boolean (return_value, v_return);
4865-}
4866-
4867 /* BOOLEAN:STRING,DOUBLE,STRING,POINTER,POINTER */
4868 extern void dbus_glib_marshal_cd_dbus_main_BOOLEAN__STRING_DOUBLE_STRING_POINTER_POINTER (GClosure *closure,
4869 GValue *return_value,
4870@@ -494,6 +298,204 @@
4871 g_value_set_boolean (return_value, v_return);
4872 }
4873
4874+/* BOOLEAN:BOOLEAN,STRING,STRING,POINTER */
4875+extern void dbus_glib_marshal_cd_dbus_main_BOOLEAN__BOOLEAN_STRING_STRING_POINTER (GClosure *closure,
4876+ GValue *return_value,
4877+ guint n_param_values,
4878+ const GValue *param_values,
4879+ gpointer invocation_hint,
4880+ gpointer marshal_data);
4881+void
4882+dbus_glib_marshal_cd_dbus_main_BOOLEAN__BOOLEAN_STRING_STRING_POINTER (GClosure *closure,
4883+ GValue *return_value G_GNUC_UNUSED,
4884+ guint n_param_values,
4885+ const GValue *param_values,
4886+ gpointer invocation_hint G_GNUC_UNUSED,
4887+ gpointer marshal_data)
4888+{
4889+ typedef gboolean (*GMarshalFunc_BOOLEAN__BOOLEAN_STRING_STRING_POINTER) (gpointer data1,
4890+ gboolean arg_1,
4891+ gpointer arg_2,
4892+ gpointer arg_3,
4893+ gpointer arg_4,
4894+ gpointer data2);
4895+ register GMarshalFunc_BOOLEAN__BOOLEAN_STRING_STRING_POINTER callback;
4896+ register GCClosure *cc = (GCClosure*) closure;
4897+ register gpointer data1, data2;
4898+ gboolean v_return;
4899+
4900+ g_return_if_fail (return_value != NULL);
4901+ g_return_if_fail (n_param_values == 5);
4902+
4903+ if (G_CCLOSURE_SWAP_DATA (closure))
4904+ {
4905+ data1 = closure->data;
4906+ data2 = g_value_peek_pointer (param_values + 0);
4907+ }
4908+ else
4909+ {
4910+ data1 = g_value_peek_pointer (param_values + 0);
4911+ data2 = closure->data;
4912+ }
4913+ callback = (GMarshalFunc_BOOLEAN__BOOLEAN_STRING_STRING_POINTER) (marshal_data ? marshal_data : cc->callback);
4914+
4915+ v_return = callback (data1,
4916+ g_marshal_value_peek_boolean (param_values + 1),
4917+ g_marshal_value_peek_string (param_values + 2),
4918+ g_marshal_value_peek_string (param_values + 3),
4919+ g_marshal_value_peek_pointer (param_values + 4),
4920+ data2);
4921+
4922+ g_value_set_boolean (return_value, v_return);
4923+}
4924+
4925+/* BOOLEAN:BOXED,POINTER */
4926+extern void dbus_glib_marshal_cd_dbus_main_BOOLEAN__BOXED_POINTER (GClosure *closure,
4927+ GValue *return_value,
4928+ guint n_param_values,
4929+ const GValue *param_values,
4930+ gpointer invocation_hint,
4931+ gpointer marshal_data);
4932+void
4933+dbus_glib_marshal_cd_dbus_main_BOOLEAN__BOXED_POINTER (GClosure *closure,
4934+ GValue *return_value G_GNUC_UNUSED,
4935+ guint n_param_values,
4936+ const GValue *param_values,
4937+ gpointer invocation_hint G_GNUC_UNUSED,
4938+ gpointer marshal_data)
4939+{
4940+ typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_POINTER) (gpointer data1,
4941+ gpointer arg_1,
4942+ gpointer arg_2,
4943+ gpointer data2);
4944+ register GMarshalFunc_BOOLEAN__BOXED_POINTER callback;
4945+ register GCClosure *cc = (GCClosure*) closure;
4946+ register gpointer data1, data2;
4947+ gboolean v_return;
4948+
4949+ g_return_if_fail (return_value != NULL);
4950+ g_return_if_fail (n_param_values == 3);
4951+
4952+ if (G_CCLOSURE_SWAP_DATA (closure))
4953+ {
4954+ data1 = closure->data;
4955+ data2 = g_value_peek_pointer (param_values + 0);
4956+ }
4957+ else
4958+ {
4959+ data1 = g_value_peek_pointer (param_values + 0);
4960+ data2 = closure->data;
4961+ }
4962+ callback = (GMarshalFunc_BOOLEAN__BOXED_POINTER) (marshal_data ? marshal_data : cc->callback);
4963+
4964+ v_return = callback (data1,
4965+ g_marshal_value_peek_boxed (param_values + 1),
4966+ g_marshal_value_peek_pointer (param_values + 2),
4967+ data2);
4968+
4969+ g_value_set_boolean (return_value, v_return);
4970+}
4971+
4972+/* BOOLEAN:STRING,INT,STRING,POINTER */
4973+extern void dbus_glib_marshal_cd_dbus_main_BOOLEAN__STRING_INT_STRING_POINTER (GClosure *closure,
4974+ GValue *return_value,
4975+ guint n_param_values,
4976+ const GValue *param_values,
4977+ gpointer invocation_hint,
4978+ gpointer marshal_data);
4979+void
4980+dbus_glib_marshal_cd_dbus_main_BOOLEAN__STRING_INT_STRING_POINTER (GClosure *closure,
4981+ GValue *return_value G_GNUC_UNUSED,
4982+ guint n_param_values,
4983+ const GValue *param_values,
4984+ gpointer invocation_hint G_GNUC_UNUSED,
4985+ gpointer marshal_data)
4986+{
4987+ typedef gboolean (*GMarshalFunc_BOOLEAN__STRING_INT_STRING_POINTER) (gpointer data1,
4988+ gpointer arg_1,
4989+ gint arg_2,
4990+ gpointer arg_3,
4991+ gpointer arg_4,
4992+ gpointer data2);
4993+ register GMarshalFunc_BOOLEAN__STRING_INT_STRING_POINTER callback;
4994+ register GCClosure *cc = (GCClosure*) closure;
4995+ register gpointer data1, data2;
4996+ gboolean v_return;
4997+
4998+ g_return_if_fail (return_value != NULL);
4999+ g_return_if_fail (n_param_values == 5);
5000+
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches