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

Proposed by Matthieu Baerts
Status: Merged
Merged at revision: 26
Proposed branch: lp:~cairo-dock-team/ubuntu/precise/cairo-dock-plug-ins/3.0.0.0rc1
Merge into: lp:ubuntu/precise/cairo-dock-plug-ins
Diff against target: 206862 lines (+66950/-58008)
126 files modified
CMakeLists.txt (+66/-49)
Clipper/src/applet-clipboard.c (+4/-3)
Dbus/interfaces/bash/CDBashApplet.sh (+2/-0)
Dbus/interfaces/mono/CDApplet.cs (+4/-0)
Dbus/interfaces/python/CDApplet.py.in (+5/-0)
Dbus/interfaces/python/CairoDock.py.in (+3/-0)
Dbus/interfaces/ruby/CDApplet.rb (+2/-0)
Dbus/interfaces/vala/CDApplet.vala (+4/-0)
Dbus/src/applet-dbus.c (+2/-2)
Dbus/src/interface-applet-methods.c (+1/-1)
Dbus/src/interface-main-methods.c (+3/-3)
Folders/src/applet-notifications.c (+7/-1)
GMenu/src/applet-init.c (+1/-0)
GMenu/src/applet-menu-callbacks.c (+5/-5)
GMenu/src/applet-menu.c (+8/-4)
GMenu/src/applet-menu.h (+1/-1)
GMenu/src/applet-recent.c (+2/-2)
GMenu/src/applet-run-dialog.c (+1/-1)
GMenu/src/applet-struct.h (+1/-0)
Global-Menu/src/applet-draw.c (+38/-13)
Indicator-applet/indicator-applet.c (+45/-13)
Messaging-Menu/data/Messaging-Menu.conf.in (+2/-2)
Network-Monitor/data/Network-Monitor.conf.in (+2/-2)
Recent-Events/data/Recent-Events.conf.in (+1/-1)
Recent-Events/src/applet-dialog.c (+29/-14)
Recent-Events/src/applet-dialog.h (+3/-0)
Recent-Events/src/applet-init.c (+11/-1)
Recent-Events/src/applet-notifications.c (+2/-1)
Recent-Events/src/applet-struct.h (+3/-0)
Remote-Control/src/applet-notifications.c (+14/-6)
Remote-Control/src/applet-struct.h (+1/-1)
Scooby-Do/src/applet-appli-finder.c (+7/-6)
Scooby-Do/src/applet-icon-finder.c (+1/-1)
Status-Notifier/data/Status-Notifier.conf.in (+2/-2)
Status-Notifier/src/CMakeLists.txt (+1/-0)
Status-Notifier/src/applet-draw.c (+23/-10)
Status-Notifier/src/applet-host-ias.c (+109/-21)
Status-Notifier/src/applet-host.c (+5/-3)
Status-Notifier/src/applet-item.c (+28/-9)
Status-Notifier/src/applet-item.h (+1/-1)
Status-Notifier/src/applet-notifications.c (+20/-9)
Status-Notifier/src/applet-struct.h (+2/-1)
System-Monitor/data/System-Monitor.conf.in (+2/-2)
Toons/data/Toons.conf.in (+2/-2)
Toons/src/applet-notifications.c (+1/-1)
alsaMixer/data/AlsaMixer.conf.in (+2/-2)
alsaMixer/src/CMakeLists.txt (+1/-0)
alsaMixer/src/applet-backend-sound-menu.c (+4/-0)
alsaMixer/src/applet-draw.c (+3/-2)
alsaMixer/src/applet-init.c (+5/-8)
alsaMixer/src/applet-notifications.c (+28/-14)
alsaMixer/src/dbus-shared-names-old.h (+37/-0)
alsaMixer/src/dbus-shared-names.h (+4/-4)
alsaMixer/src/metadata-widget.c (+42/-34)
alsaMixer/src/transport-widget.c (+7/-0)
alsaMixer/src/volume-widget.c (+1/-1)
clock/data/clock.conf.in (+5/-2)
clock/src/CMakeLists.txt (+0/-52)
clock/src/applet-config.c (+36/-26)
clock/src/applet-digital.c (+0/-239)
clock/src/applet-digital.h (+0/-38)
clock/src/applet-draw.c (+41/-38)
clock/src/applet-timer.c (+0/-1)
debian/changelog (+69/-0)
debian/control (+3/-3)
dnd2share/src/applet-notifications.c (+5/-4)
drop-indicator/src/applet-notifications.c (+1/-0)
dustbin/src/applet-init.c (+3/-3)
gnome-integration/src/applet-init.c (+22/-13)
gnome-integration/src/applet-utils.c (+1/-0)
gvfs-integration/cairo-dock-gio-vfs.c (+3/-3)
kde-integration/src/applet-vfs.c (+1/-1)
keyboard-indicator/data/keyboard-indicator.conf.in (+2/-2)
logout/src/applet-init.c (+2/-0)
logout/src/applet-logout.c (+29/-16)
logout/src/applet-struct.h (+1/-0)
mail/data/mail.conf.in (+2/-2)
mail/src/cd-mail-applet-config.c (+2/-2)
mail/src/cd-mail-applet-init.c (+2/-2)
musicPlayer/data/musicPlayer.conf.in (+2/-2)
musicPlayer/src/applet-draw.c (+1/-1)
musicPlayer/src/applet-musicplayer.c (+2/-2)
musicPlayer/src/applet-notifications.c (+2/-0)
musicPlayer/src/applet-rhythmbox.c (+1/-1)
netspeed/data/netspeed.conf.in (+2/-2)
po/ar.po (+2509/-2205)
po/cairo-dock.pot (+2477/-2166)
po/cs.po (+2537/-2210)
po/de.po (+2507/-2173)
po/el.po (+2502/-2165)
po/en_GB.po (+2572/-2231)
po/es.po (+2497/-2164)
po/et.po (+2541/-2225)
po/eu.po (+2508/-2203)
po/fr.po (+2502/-2166)
po/hu.po (+2555/-2229)
po/id.po (+2507/-2203)
po/it.po (+2502/-2167)
po/ja.po (+2772/-2266)
po/nl.po (+2496/-2159)
po/pl.po (+2515/-2213)
po/pt.po (+2536/-2210)
po/pt_BR.po (+2487/-2145)
po/ru.po (+2508/-2171)
po/sk.po (+2511/-2174)
po/sr.po (+2528/-2200)
po/sv.po (+2517/-2198)
po/tr.po (+2529/-2215)
po/uk.po (+2484/-2145)
po/zh_CN.po (+2543/-2212)
po/zh_TW.po (+2568/-2179)
powermanager/data/powermanager.conf.in (+2/-2)
powermanager/src/powermanager-menu-functions.c (+14/-1)
quick-browser/src/applet-menu.c (+1/-1)
shortcuts/src/applet-drives.c (+1/-1)
slider/data/slider.conf.in (+2/-2)
slider/src/applet-config.c (+0/-15)
slider/src/applet-init.c (+29/-81)
slider/src/applet-notifications.c (+27/-27)
slider/src/applet-slider.c (+279/-135)
slider/src/applet-slider.h (+6/-12)
stack/src/applet-config.c (+2/-2)
stack/src/applet-load-icons.c (+1/-1)
switcher/src/applet-draw.c (+21/-16)
weather/data/weather.conf.in (+2/-2)
wifi/data/wifi.conf.in (+2/-2)
To merge this branch: bzr merge lp:~cairo-dock-team/ubuntu/precise/cairo-dock-plug-ins/3.0.0.0rc1
Reviewer Review Type Date Requested Status
Jamie Strandboge Approve
Review via email: mp+98724@code.launchpad.net

Description of the change

Hello,

The Cairo-Dock team proposes a new "bugs fixed" version of their Cairo-Dock packages.

This is the Upstream (short) ChangeLog:
 * Upstream ChangeLog: (main changes)
   - Updated translations
   - MusicPlayer:
    + When choosing the player the first time, launch it and set the name
    + It seems the latest stable version of rhythmbox now re-uses this DBus
       address: org.mpris.MediaPlayer2.rhythmbox
   - Use the default bg color for always visible icons
   - GMenu: check if kde4-applications.menu and lxde-applications.menu
      are available
   - Dbus:
    + Bash interface: fixed a typo
    + Changed the third-party applets dir on the server for the 3.0
    + Enabling threads on the Python Interface
    + Modified the old SetEmblem method to use the new overlays
   - Enable GVFS if detected
   - Indicators: handle the case where the service crashes
   - Status-Notifier:
    + Indicator 0.4.90 (and newer) has a new variable (Title)
    + Display Label first if it's available instead of Title first
    + Fixed a bug with empty labels
    + KDE's watcher: if ItemIsMenu is true (e.g. Klipper) and if we only show
       the menu on left click, we emit a signal to the application to show
       its own menu
    + checked if the menu path is different that '/NO_DBUSMENU'
    + IAS: checked if an item is not already available in the systray
       (workaround) and fixed a few typos
    + Added a space between icons and fixed the wrong drawing of the icon
       on a vertical dock if the icon can be resized
    + Used cairo_dock_add_path_to_icon_theme
   - Sound control:
    + Fixed a small bug on reload (invisible icon)
    + Updated the Dbus names to match with Ubuntu 12.04
    + Backported the latest version of Ubuntu's indicator-sound into the
       Sound-Control applet
    + Make some items in the menu invisible if not available
    + Worked around a bug in libindicator, which keeps internally
       the service pointer
   - Logout:
    + Fixed a tiny memory leak
    + Look for a different icon's size if we want to display this icon in
       a menu/a dock/an emblem
   - PowerManager:
    + Removed an extraseparators in the menu
   - Clock:
    + Used the logical rectangle in order to fix the position of the text
    + Removed unused files
    + Removed useless translations (log.x and log.y = 0)
    + Only used this ratio to limit the deformation with the height
    + Fixed a problem with the ratio if this applet is displayed in
       a vertical dock
   - Remote Control: fixed a crash during the 'click' signal
   - Slider:
    + When reloading, display the changes immediately
    + Added the possibility to refresh the images list from the menu
    + Fixed the loading of the image on startup, when the applet's size is
       not yet stable
    + Code cleaning
   - Fixed an error when compiling without libindicator
   - A few minor changes (comments, factorisation, etc)
   - Recent-Events: if zeitgeist is not yet running on first search,
      try 3 times before giving up.

This bzr branch has been linked to this bug report: lp:~cairo-dock-team/ubuntu/precise/cairo-dock-plug-ins/3.0.0.0rc1
This branch should be ready to be pushed on lp:ubuntu/cairo-dock-plug-ins (except the UNRELEASED version in debian/changelog)

Thank you for your help! ;)

PS: 'cairo-dock' package has to be uploaded before this package! (if possible, 30min before) ( LP: #961578 )

To post a comment you must log in.
26. By Matthieu Baerts

* New upstream release. (LP: #961579)
* Upstream ChangeLog: (main changes)
 - Updated translations
 - MusicPlayer:
  + When choosing the player the first time, launch it and set the name
  + It seems the latest stable version of rhythmbox now re-uses this DBus
     address: org.mpris.MediaPlayer2.rhythmbox
 - Use the default bg color for always visible icons
 - GMenu: check if kde4-applications.menu and lxde-applications.menu
    are available
 - Dbus:
  + Bash interface: fixed a typo
  + Changed the third-party applets dir on the server for the 3.0
  + Enabling threads on the Python Interface
  + Modified the old SetEmblem method to use the new overlays
 - Enable GVFS if detected
 - Indicators: handle the case where the service crashes
 - Status-Notifier:
  + Indicator 0.4.90 (and newer) has a new variable (Title)
  + Display Label first if it's available instead of Title first
  + Fixed a bug with empty labels
  + KDE's watcher: if ItemIsMenu is true (e.g. Klipper) and if we only show
     the menu on left click, we emit a signal to the application to show
     its own menu
  + checked if the menu path is different that '/NO_DBUSMENU'
  + IAS: checked if an item is not already available in the systray
     (workaround) and fixed a few typos
  + Added a space between icons and fixed the wrong drawing of the icon
     on a vertical dock if the icon can be resized
  + Used cairo_dock_add_path_to_icon_theme
 - Sound control:
  + Fixed a small bug on reload (invisible icon)
  + Updated the Dbus names to match with Ubuntu 12.04
  + Backported the latest version of Ubuntu's indicator-sound into the
     Sound-Control applet
  + Make some items in the menu invisible if not available
  + Worked around a bug in libindicator, which keeps internally
     the service pointer
 - Logout:
  + Fixed a tiny memory leak
  + Look for a different icon's size if we want to display this icon in
     a menu/a dock/an emblem
 - PowerManager:
  + Removed an extraseparators in the menu
 - Clock:
  + Used the logical rectangle in order to fix the position of the text
  + Removed unused files
  + Removed useless translations (log.x and log.y = 0)
  + Only used this ratio to limit the deformation with the height
  + Fixed a problem with the ratio if this applet is displayed in
     a vertical dock
 - Remote Control: fixed a crash during the 'click' signal
 - Slider:
  + When reloading, display the changes immediately
  + Added the possibility to refresh the images list from the menu
  + Fixed the loading of the image on startup, when the applet's size is
     not yet stable
  + Code cleaning
 - Fixed an error when compiling without libindicator
 - A few minor changes (comments, factorisation, etc)
 - Recent-Events: if zeitgeist is not yet running on first search,
    try 3 times before giving up.
* debian/control:
 - Updated the version of cairo-dock-[core;data;dev].

Revision history for this message
Jamie Strandboge (jdstrand) wrote :

Verified changes against the upstream tarball and successfully build locally. ACK. Thanks!

review: Approve
Revision history for this message
Matthieu Baerts (matttbe) wrote :

Thank you for your help :)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2012-02-16 01:45:57 +0000
+++ CMakeLists.txt 2012-03-21 20:37:19 +0000
@@ -11,7 +11,7 @@
11########### project ###############11########### project ###############
1212
13project ("cairo-dock-plugins")13project ("cairo-dock-plugins")
14set (VERSION "3.0.0.0beta1")14set (VERSION "3.0.0.0rc1")
1515
16add_definitions (-std=c99 -Wextra -Wwrite-strings -Wuninitialized -Werror-implicit-function-declaration -Wstrict-prototypes) # removed for stable versions: -Wstrict-prototypes #-Wunreachable-code -Wno-unused-parameter -Wall16add_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
17if (NOT ${CMAKE_BUILD_TYPE})17if (NOT ${CMAKE_BUILD_TYPE})
@@ -178,7 +178,7 @@
178endif()178endif()
179pkg_check_modules (IDO ${IDO_MODULE})179pkg_check_modules (IDO ${IDO_MODULE})
180180
181if ("${INDICATOR_APPLET_FOUND}" STREQUAL "1" AND "${DBUSMENU_FOUND}" STREQUAL "1" AND "${DBUSMENU_GTK_FOUND}" STREQUAL "1")181if ("${DBUSMENU_FOUND}" STREQUAL "1" AND "${DBUSMENU_GTK_FOUND}" STREQUAL "1")
182 STRING (REGEX REPLACE "\\..*" "" DBUSMENU_MAJOR "${DBUSMENU_VERSION}")182 STRING (REGEX REPLACE "\\..*" "" DBUSMENU_MAJOR "${DBUSMENU_VERSION}")
183 STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" DBUSMENU_MINOR "${DBUSMENU_VERSION}") # 0.1.7 => 1.7183 STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" DBUSMENU_MINOR "${DBUSMENU_VERSION}") # 0.1.7 => 1.7
184 STRING (REGEX REPLACE "\\.[0-9]*" "" DBUSMENU_MINOR "${DBUSMENU_MINOR}")184 STRING (REGEX REPLACE "\\.[0-9]*" "" DBUSMENU_MINOR "${DBUSMENU_MINOR}")
@@ -190,15 +190,28 @@
190 STRING (REGEX REPLACE "\\.[0-9]*" "" DBUSMENU_GTK_MINOR "${DBUSMENU_GTK_MINOR}")190 STRING (REGEX REPLACE "\\.[0-9]*" "" DBUSMENU_GTK_MINOR "${DBUSMENU_GTK_MINOR}")
191 STRING (REGEX REPLACE ".*\\." "" DBUSMENU_GTK_NANO "${DBUSMENU_GTK_VERSION}")191 STRING (REGEX REPLACE ".*\\." "" DBUSMENU_GTK_NANO "${DBUSMENU_GTK_VERSION}")
192 STRING (REGEX REPLACE "-.*" "" DBUSMENU_GTK_NANO "${DBUSMENU_GTK_NANO}")192 STRING (REGEX REPLACE "-.*" "" DBUSMENU_GTK_NANO "${DBUSMENU_GTK_NANO}")
193
194 if (${DBUSMENU_GTK_MAJOR} GREATER 0 OR ${DBUSMENU_GTK_MINOR} GREATER 5
195 OR (${DBUSMENU_GTK_MINOR} EQUAL 5 AND ${DBUSMENU_GTK_NANO} GREATER 89))
196 set (DBUSMENU_GTK3_NEW 1)
197 set (INDICATOR_APPLICATIONADDED_HAS_TITLE 1) # Status-Notifier: new parameter "Title" in the "added" signal since Precise
198 else()
199 set (INDICATOR_APPLICATIONADDED_HAS_TITLE 0)
200 endif()
201endif()
193202
203if ("${INDICATOR_APPLET_FOUND}" STREQUAL "1")
194 STRING (REGEX REPLACE "\\..*" "" INDICATOR_MAJOR "${INDICATOR_APPLET_VERSION}")204 STRING (REGEX REPLACE "\\..*" "" INDICATOR_MAJOR "${INDICATOR_APPLET_VERSION}")
195 STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" INDICATOR_MINOR "${INDICATOR_APPLET_VERSION}") # 0.1.7 => 1.7205 STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" INDICATOR_MINOR "${INDICATOR_APPLET_VERSION}") # 0.1.7 => 1.7
196 STRING (REGEX REPLACE "\\.[0-9]*" "" INDICATOR_MINOR "${INDICATOR_MINOR}")206 STRING (REGEX REPLACE "\\.[0-9]*" "" INDICATOR_MINOR "${INDICATOR_MINOR}")
197 STRING (REGEX REPLACE ".*\\." "" INDICATOR_NANO "${INDICATOR_APPLET_VERSION}")207 STRING (REGEX REPLACE ".*\\." "" INDICATOR_NANO "${INDICATOR_APPLET_VERSION}")
198 STRING (REGEX REPLACE "-.*" "" INDICATOR_NANO "${INDICATOR_NANO}")208 STRING (REGEX REPLACE "-.*" "" INDICATOR_NANO "${INDICATOR_NANO}")
199209
200 if (${DBUSMENU_GTK_MAJOR} GREATER 0 OR ${DBUSMENU_GTK_MINOR} GREATER 5 OR (${DBUSMENU_GTK_MINOR} EQUAL 5 AND ${DBUSMENU_GTK_NANO} GREATER 89))210 if (${INDICATOR_MAJOR} GREATER 0 OR ${INDICATOR_MINOR} GREATER 4
201 set (DBUSMENU_GTK3_NEW 1)211 OR (${INDICATOR_MINOR} EQUAL 4 AND ${INDICATOR_NANO} GREATER 89))
212 set (SOUND_SERVICE_VERSION 1) # Sound-Menu: new DBus path
213 else() # older than Precise.
214 set (SOUND_SERVICE_VERSION 0)
202 endif()215 endif()
203216
204 if ("${INDICATOR_NEW_VERSION}" STREQUAL "1") # oneiric and newer217 if ("${INDICATOR_NEW_VERSION}" STREQUAL "1") # oneiric and newer
@@ -225,7 +238,9 @@
225 STRING (REGEX REPLACE "\n" "" INDICATORICONSDIR ${INDICATORICONSDIR}) # la commande rajoute un retour chariot ...238 STRING (REGEX REPLACE "\n" "" INDICATORICONSDIR ${INDICATORICONSDIR}) # la commande rajoute un retour chariot ...
226 add_subdirectory (Indicator-applet)239 add_subdirectory (Indicator-applet)
227 set (with_indicator "yes")240 set (with_indicator "yes")
228else()241endif()
242
243if (NOT "${DBUSMENU_FOUND}" STREQUAL "1" OR NOT "${DBUSMENU_GTK_FOUND}" STREQUAL "1" OR NOT "${INDICATOR_APPLET_FOUND}" STREQUAL "1")
229 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)")244 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)")
230 set (MODULES_MISSING "${MODULES_MISSING} ${INDICATOR_APPLET_MODULE}(-0.4) (${IDO_MODULE}) ${DBUSMENU_MODULE}(-0.4) ${DBUSMENU_GTK_MODULE}(-0.4)")245 set (MODULES_MISSING "${MODULES_MISSING} ${INDICATOR_APPLET_MODULE}(-0.4) (${IDO_MODULE}) ${DBUSMENU_MODULE}(-0.4) ${DBUSMENU_GTK_MODULE}(-0.4)")
231endif()246endif()
@@ -248,6 +263,51 @@
248 message (STATUS " Indicators: use old Ayatana Dbus names")263 message (STATUS " Indicators: use old Ayatana Dbus names")
249endif()264endif()
250265
266############# DISTRIBUTION #################
267message (STATUS "> Distribution:")
268# We try to detect if the user is on Ubuntu to know which bus we have to use...
269execute_process(
270 COMMAND lsb_release -i
271 OUTPUT_VARIABLE DISTRO_ID) # -> "Distributor ID: Ubuntu"
272if (NOT "${DISTRO_ID}" STREQUAL "") # this tool isn't available on all distributions
273 STRING (REGEX REPLACE "\n" "" DISTRO_ID ${DISTRO_ID}) # retour chariot
274 STRING (REGEX REPLACE ".*: *\t*" "" DISTRO_ID ${DISTRO_ID})
275
276 execute_process(
277 COMMAND lsb_release -r
278 OUTPUT_VARIABLE DISTRO_RELEASE) # -> "Release: 10.10"
279 STRING (REGEX REPLACE "\n" "" DISTRO_RELEASE ${DISTRO_RELEASE}) # retour chariot
280 STRING (REGEX REPLACE ".*: *\t*" "" DISTRO_RELEASE ${DISTRO_RELEASE})
281else()
282 # on Ubuntu deb builders, lsb_release isn't available but we can have a look to /etc/issue.net
283 get_filename_component(ISSUE_NET "/etc/issue.net" ABSOLUTE)
284 if (EXISTS ${ISSUE_NET}) # to not have an error with cat
285 execute_process(
286 COMMAND cat ${ISSUE_NET}
287 OUTPUT_VARIABLE DISTRO_RELEASE) # -> Ubuntu 10.10 || Ubuntu natty (development branch)
288 if (NOT "${DISTRO_RELEASE}" STREQUAL "")
289 STRING (REGEX REPLACE "\n" "" DISTRO_RELEASE ${DISTRO_RELEASE}) # retour chariot
290 STRING (REGEX REPLACE " (.+)" "" DISTRO_ID ${DISTRO_RELEASE})
291 if ("${DISTRO_ID}" STREQUAL "Ubuntu")
292 STRING (REGEX REPLACE ".[(]development branch[)]" "" DISTRO_RELEASE ${DISTRO_RELEASE})
293 STRING (REGEX REPLACE ".LTS" "" DISTRO_RELEASE ${DISTRO_RELEASE}) # Ubuntu 10.04.1 LTS
294 STRING (REGEX REPLACE "(.+) " "" DISTRO_RELEASE ${DISTRO_RELEASE})
295 if ("${DISTRO_RELEASE}" STREQUAL "natty")
296 set (DISTRO_RELEASE "11.04")
297 elseif ("${DISTRO_RELEASE}" STREQUAL "oneiric")
298 set (DISTRO_RELEASE "11.10")
299 elseif ("${DISTRO_RELEASE}" STREQUAL "precise")
300 set (DISTRO_RELEASE "12.04")
301 endif()
302 endif()
303 endif()
304 endif()
305endif()
306
307if (NOT "${DISTRO_ID}" STREQUAL "")
308 message (STATUS " DISTRO_ID: ${DISTRO_ID}, DISTRO_RELEASE: ${DISTRO_RELEASE}")
309endif()
310
251############# ALSA_MIXER #################311############# ALSA_MIXER #################
252message (STATUS "> AlsaMixer:")312message (STATUS "> AlsaMixer:")
253set (with_alsa "no")313set (with_alsa "no")
@@ -809,49 +869,6 @@
809 add_subdirectory ("mail")869 add_subdirectory ("mail")
810endif()870endif()
811871
812############# DISTRIBUTION #################
813message (STATUS "> Distribution:")
814# We try to detect if the user is on Ubuntu to know which bus we have to use...
815execute_process(
816 COMMAND lsb_release -i
817 OUTPUT_VARIABLE DISTRO_ID) # -> "Distributor ID: Ubuntu"
818if (NOT "${DISTRO_ID}" STREQUAL "") # this tool isn't available on all distributions
819 STRING (REGEX REPLACE "\n" "" DISTRO_ID ${DISTRO_ID}) # retour chariot
820 STRING (REGEX REPLACE ".*: *\t*" "" DISTRO_ID ${DISTRO_ID})
821
822 execute_process(
823 COMMAND lsb_release -r
824 OUTPUT_VARIABLE DISTRO_RELEASE) # -> "Release: 10.10"
825 STRING (REGEX REPLACE "\n" "" DISTRO_RELEASE ${DISTRO_RELEASE}) # retour chariot
826 STRING (REGEX REPLACE ".*: *\t*" "" DISTRO_RELEASE ${DISTRO_RELEASE})
827else()
828 # on Ubuntu deb builders, lsb_release isn't available but we can have a look to /etc/issue.net
829 get_filename_component(ISSUE_NET "/etc/issue.net" ABSOLUTE)
830 if (EXISTS ${ISSUE_NET}) # to not have an error with cat
831 execute_process(
832 COMMAND cat ${ISSUE_NET}
833 OUTPUT_VARIABLE DISTRO_RELEASE) # -> Ubuntu 10.10 || Ubuntu natty (development branch)
834 if (NOT "${DISTRO_RELEASE}" STREQUAL "")
835 STRING (REGEX REPLACE "\n" "" DISTRO_RELEASE ${DISTRO_RELEASE}) # retour chariot
836 STRING (REGEX REPLACE " (.+)" "" DISTRO_ID ${DISTRO_RELEASE})
837 if ("${DISTRO_ID}" STREQUAL "Ubuntu")
838 STRING (REGEX REPLACE ".[(]development branch[)]" "" DISTRO_RELEASE ${DISTRO_RELEASE})
839 STRING (REGEX REPLACE ".LTS" "" DISTRO_RELEASE ${DISTRO_RELEASE}) # Ubuntu 10.04.1 LTS
840 STRING (REGEX REPLACE "(.+) " "" DISTRO_RELEASE ${DISTRO_RELEASE})
841 if ("${DISTRO_RELEASE}" STREQUAL "natty")
842 set (DISTRO_RELEASE "11.04")
843 elseif ("${DISTRO_RELEASE}" STREQUAL "oneiric")
844 set (DISTRO_RELEASE "11.10")
845 endif()
846 endif()
847 endif()
848 endif()
849endif()
850
851if (NOT "${DISTRO_ID}" STREQUAL "")
852 message (STATUS " DISTRO_ID: ${DISTRO_ID}, DISTRO_RELEASE: ${DISTRO_RELEASE}")
853endif()
854
855############# GLOBAL-MENU #################872############# GLOBAL-MENU #################
856set (with_global_menu "no")873set (with_global_menu "no")
857if ("${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 dbusmenu874if ("${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
858875
=== modified file 'Clipper/src/applet-clipboard.c'
--- Clipper/src/applet-clipboard.c 2012-02-16 01:45:57 +0000
+++ Clipper/src/applet-clipboard.c 2012-03-21 20:37:19 +0000
@@ -427,13 +427,14 @@
427 CDClipperCommand *pCommand;427 CDClipperCommand *pCommand;
428 gchar *cIconFilePath;428 gchar *cIconFilePath;
429 GList *pElement;429 GList *pElement;
430 gint iDesiredIconSize = cairo_dock_search_icon_size (GTK_ICON_SIZE_LARGE_TOOLBAR); // 24px by default
430 for (pElement = pAction->pCommands; pElement != NULL; pElement = pElement->next)431 for (pElement = pAction->pCommands; pElement != NULL; pElement = pElement->next)
431 {432 {
432 pCommand = pElement->data;433 pCommand = pElement->data;
433 if (pCommand->cIconFileName != NULL)434 if (pCommand->cIconFileName != NULL)
434 {435 {
435 cd_debug (" icone %s", pCommand->cIconFileName);436 cd_debug (" icone %s", pCommand->cIconFileName);
436 cIconFilePath = cairo_dock_search_icon_s_path (pCommand->cIconFileName);437 cIconFilePath = cairo_dock_search_icon_s_path (pCommand->cIconFileName, iDesiredIconSize);
437 }438 }
438 else439 else
439 {440 {
@@ -442,14 +443,14 @@
442 tmp ++;443 tmp ++;
443 gchar *cIconName = g_strndup (pCommand->cFormat, tmp - pCommand->cFormat);444 gchar *cIconName = g_strndup (pCommand->cFormat, tmp - pCommand->cFormat);
444 cd_debug (" icone %s", cIconName);445 cd_debug (" icone %s", cIconName);
445 cIconFilePath = cairo_dock_search_icon_s_path (cIconName);446 cIconFilePath = cairo_dock_search_icon_s_path (cIconName, iDesiredIconSize);
446 g_free (cIconName);447 g_free (cIconName);
447 }448 }
448 449
449 pMenuItem = gtk_image_menu_item_new_with_mnemonic (pCommand->cDescription);450 pMenuItem = gtk_image_menu_item_new_with_mnemonic (pCommand->cDescription);
450 if (cIconFilePath != NULL)451 if (cIconFilePath != NULL)
451 {452 {
452 GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size (cIconFilePath, 24, 24, NULL);453 GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size (cIconFilePath, iDesiredIconSize, iDesiredIconSize, NULL);
453 pImage = gtk_image_new_from_pixbuf (pixbuf);454 pImage = gtk_image_new_from_pixbuf (pixbuf);
454 g_free (cIconFilePath);455 g_free (cIconFilePath);
455 g_object_unref (pixbuf);456 g_object_unref (pixbuf);
456457
=== modified file 'Dbus/interfaces/bash/CDBashApplet.sh'
--- Dbus/interfaces/bash/CDBashApplet.sh 2012-02-16 01:45:57 +0000
+++ Dbus/interfaces/bash/CDBashApplet.sh 2012-03-21 20:37:19 +0000
@@ -48,6 +48,8 @@
48EMBLEM_TOP=648EMBLEM_TOP=6
49EMBLEM_RIGHT=749EMBLEM_RIGHT=7
50EMBLEM_LEFT=850EMBLEM_LEFT=8
51EMBLEM_PERSISTENT=0
52EMBLEM_PRINT=9
51MENU_ENTRY=053MENU_ENTRY=0
52MENU_SUB_MENU=154MENU_SUB_MENU=1
53MENU_SEPARATOR=255MENU_SEPARATOR=2
5456
=== modified file 'Dbus/interfaces/mono/CDApplet.cs'
--- Dbus/interfaces/mono/CDApplet.cs 2012-02-16 01:45:57 +0000
+++ Dbus/interfaces/mono/CDApplet.cs 2012-03-21 20:37:19 +0000
@@ -68,6 +68,10 @@
68 EMBLEM_RIGHT,68 EMBLEM_RIGHT,
69 EMBLEM_LEFT69 EMBLEM_LEFT
70 }70 }
71 public enum EmblemModifier {
72 EMBLEM_PERSISTENT = 0,
73 EMBLEM_PRINT = 9
74 }
71 public enum MenuItemType {75 public enum MenuItemType {
72 MENU_ENTRY = 0,76 MENU_ENTRY = 0,
73 MENU_SUB_MENU,77 MENU_SUB_MENU,
7478
=== modified file 'Dbus/interfaces/python/CDApplet.py.in'
--- Dbus/interfaces/python/CDApplet.py.in 2012-02-16 01:45:57 +0000
+++ Dbus/interfaces/python/CDApplet.py.in 2012-03-21 20:37:19 +0000
@@ -30,6 +30,9 @@
30import dbus30import dbus
31from dbus.mainloop.glib import DBusGMainLoop31from dbus.mainloop.glib import DBusGMainLoop
3232
33gobject.threads_init() # Enabling threading
34dbus.mainloop.glib.threads_init()
35
33DBusGMainLoop(set_as_default=True)36DBusGMainLoop(set_as_default=True)
3437
35INSTALL_PREFIX = os.path.abspath("..") # applets are launched from their install directory, so ".." is the folder containing all applets.38INSTALL_PREFIX = os.path.abspath("..") # applets are launched from their install directory, so ".." is the folder containing all applets.
@@ -67,6 +70,8 @@
67 EMBLEM_TOP = 670 EMBLEM_TOP = 6
68 EMBLEM_RIGHT = 771 EMBLEM_RIGHT = 7
69 EMBLEM_LEFT = 872 EMBLEM_LEFT = 8
73 EMBLEM_PERSISTENT = 0
74 EMBLEM_PRINT = 9
70 # menu item types75 # menu item types
71 MENU_ENTRY = 076 MENU_ENTRY = 0
72 MENU_SUB_MENU = 177 MENU_SUB_MENU = 1
7378
=== modified file 'Dbus/interfaces/python/CairoDock.py.in'
--- Dbus/interfaces/python/CairoDock.py.in 2012-02-16 01:45:57 +0000
+++ Dbus/interfaces/python/CairoDock.py.in 2012-03-21 20:37:19 +0000
@@ -53,6 +53,9 @@
53 EMBLEM_TOP = 653 EMBLEM_TOP = 6
54 EMBLEM_RIGHT = 754 EMBLEM_RIGHT = 7
55 EMBLEM_LEFT = 855 EMBLEM_LEFT = 8
56 # emblem modifier (optionnal, add it to the emblem position)
57 EMBLEM_PERSISTENT = 0
58 EMBLEM_PRINT = 9
56 # module category59 # module category
57 CATEGORY_BEHAVIOR = 060 CATEGORY_BEHAVIOR = 0
58 CATEGORY_THEME = 161 CATEGORY_THEME = 1
5962
=== modified file 'Dbus/interfaces/ruby/CDApplet.rb'
--- Dbus/interfaces/ruby/CDApplet.rb 2012-02-16 01:45:57 +0000
+++ Dbus/interfaces/ruby/CDApplet.rb 2012-03-21 20:37:19 +0000
@@ -44,6 +44,8 @@
44 EMBLEM_TOP = 644 EMBLEM_TOP = 6
45 EMBLEM_RIGHT = 745 EMBLEM_RIGHT = 7
46 EMBLEM_LEFT = 846 EMBLEM_LEFT = 8
47 EMBLEM_PERSISTENT = 0
48 EMBLEM_PRINT = 9
47 49
48 MENU_ENTRY = 050 MENU_ENTRY = 0
49 MENU_SUB_MENU = 151 MENU_SUB_MENU = 1
5052
=== modified file 'Dbus/interfaces/vala/CDApplet.vala'
--- Dbus/interfaces/vala/CDApplet.vala 2012-02-16 01:45:57 +0000
+++ Dbus/interfaces/vala/CDApplet.vala 2012-03-21 20:37:19 +0000
@@ -109,6 +109,10 @@
109 EMBLEM_RIGHT,109 EMBLEM_RIGHT,
110 EMBLEM_LEFT110 EMBLEM_LEFT
111 }111 }
112 public enum EmblemModifier {
113 EMBLEM_PERSISTENT = 0,
114 EMBLEM_PRINT = 9
115 }
112 public enum MenuItemType {116 public enum MenuItemType {
113 MENU_ENTRY = 0,117 MENU_ENTRY = 0,
114 MENU_SUB_MENU,118 MENU_SUB_MENU,
115119
=== modified file 'Dbus/src/applet-dbus.c'
--- Dbus/src/applet-dbus.c 2012-02-16 01:45:57 +0000
+++ Dbus/src/applet-dbus.c 2012-03-21 20:37:19 +0000
@@ -48,7 +48,7 @@
48#include "interface-applet-signals.h"48#include "interface-applet-signals.h"
49#include "applet-dbus.h"49#include "applet-dbus.h"
5050
51#define DISTANT_DIR "2.4.0"51#define DISTANT_DIR "3.0.0"
52#define GETTEXT_NAME_EXTRAS "cairo-dock-plugins-extra"52#define GETTEXT_NAME_EXTRAS "cairo-dock-plugins-extra"
53#define LOCALE_DIR_NAME "locale"53#define LOCALE_DIR_NAME "locale"
5454
@@ -138,7 +138,7 @@
138 pVisitCard->cAuthor = g_strdup (cAuthor);138 pVisitCard->cAuthor = g_strdup (cAuthor);
139 pVisitCard->iCategory = iCategory;139 pVisitCard->iCategory = iCategory;
140 if (cIconName != NULL)140 if (cIconName != NULL)
141 pVisitCard->cIconFilePath = cairo_dock_search_icon_s_path (cIconName);141 pVisitCard->cIconFilePath = cairo_dock_search_icon_s_path (cIconName, CAIRO_DOCK_DEFAULT_ICON_SIZE);
142 if (pVisitCard->cIconFilePath == NULL)142 if (pVisitCard->cIconFilePath == NULL)
143 pVisitCard->cIconFilePath = (cShareDataDir ? g_strdup_printf ("%s/icon", cShareDataDir) : NULL);143 pVisitCard->cIconFilePath = (cShareDataDir ? g_strdup_printf ("%s/icon", cShareDataDir) : NULL);
144 pVisitCard->iSizeOfConfig = 4; // au cas ou ...144 pVisitCard->iSizeOfConfig = 4; // au cas ou ...
145145
=== modified file 'Dbus/src/interface-applet-methods.c'
--- Dbus/src/interface-applet-methods.c 2012-02-16 01:45:57 +0000
+++ Dbus/src/interface-applet-methods.c 2012-03-21 20:37:19 +0000
@@ -269,7 +269,7 @@
269 v = g_hash_table_lookup (hDialogAttributes, "icon");269 v = g_hash_table_lookup (hDialogAttributes, "icon");
270 if (v && G_VALUE_HOLDS_STRING (v))270 if (v && G_VALUE_HOLDS_STRING (v))
271 {271 {
272 cImageFilePath = cairo_dock_search_icon_s_path (g_value_get_string (v));272 cImageFilePath = cairo_dock_search_icon_s_path (g_value_get_string (v), MAX (pIcon->iImageWidth, pIcon->iImageHeight));
273 attr.cImageFilePath = cImageFilePath;273 attr.cImageFilePath = cImageFilePath;
274 }274 }
275 else275 else
276276
=== modified file 'Dbus/src/interface-main-methods.c'
--- Dbus/src/interface-main-methods.c 2012-02-16 01:45:57 +0000
+++ Dbus/src/interface-main-methods.c 2012-03-21 20:37:19 +0000
@@ -1282,12 +1282,12 @@
1282 1282
1283 if (cImage == NULL || *cImage == '\0' || strcmp (cImage, "none") == 0)1283 if (cImage == NULL || *cImage == '\0' || strcmp (cImage, "none") == 0)
1284 {1284 {
1285 cairo_dock_remove_overlay_at_position (pIcon, iPosition);1285 cairo_dock_remove_overlay_at_position (pIcon, iPosition < CAIRO_OVERLAY_NB_POSITIONS ? iPosition : iPosition - CAIRO_OVERLAY_NB_POSITIONS); // for ease of use, handle both case similarily.
1286 }1286 }
1287 else1287 else
1288 {1288 {
1289 if (iPosition < 0) // [-N, -1] => print the overlay1289 if (iPosition >= CAIRO_OVERLAY_NB_POSITIONS) // [N; 2N-1] => print the overlay
1290 cairo_dock_print_overlay_on_icon_from_image (pIcon, pContainer, cImage, - iPosition - 1);1290 cairo_dock_print_overlay_on_icon_from_image (pIcon, pContainer, cImage, iPosition - CAIRO_OVERLAY_NB_POSITIONS);
1291 else // [0, N-1] => add it1291 else // [0, N-1] => add it
1292 cairo_dock_add_overlay_from_image (pIcon, cImage, iPosition);1292 cairo_dock_add_overlay_from_image (pIcon, cImage, iPosition);
1293 }1293 }
12941294
=== modified file 'Folders/src/applet-notifications.c'
--- Folders/src/applet-notifications.c 2012-02-16 01:45:57 +0000
+++ Folders/src/applet-notifications.c 2012-03-21 20:37:19 +0000
@@ -385,6 +385,7 @@
385 gchar **pAppInfo;385 gchar **pAppInfo;
386 gchar *cIconPath;386 gchar *cIconPath;
387 gpointer *app;387 gpointer *app;
388 gint iDesiredIconSize = cairo_dock_search_icon_size (GTK_ICON_SIZE_LARGE_TOOLBAR); // 24px
388 for (a = pApps; a != NULL; a = a->next)389 for (a = pApps; a != NULL; a = a->next)
389 {390 {
390 pAppInfo = a->data;391 pAppInfo = a->data;
@@ -398,7 +399,7 @@
398 myData.pAppList = g_list_prepend (myData.pAppList, app);399 myData.pAppList = g_list_prepend (myData.pAppList, app);
399 400
400 if (pAppInfo[2] != NULL)401 if (pAppInfo[2] != NULL)
401 cIconPath = cairo_dock_search_icon_s_path (pAppInfo[2]);402 cIconPath = cairo_dock_search_icon_s_path (pAppInfo[2], iDesiredIconSize);
402 else403 else
403 cIconPath = NULL;404 cIconPath = NULL;
404 CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (pAppInfo[0], cIconPath, _cd_folders_launch_with, pSubMenu, app);405 CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (pAppInfo[0], cIconPath, _cd_folders_launch_with, pSubMenu, app);
@@ -433,6 +434,7 @@
433typedef struct {434typedef struct {
434 gchar *cReceivedData;435 gchar *cReceivedData;
435 double fOrder;436 double fOrder;
437 gchar *cDockName;
436} CDDropData;438} CDDropData;
437439
438static void _on_answer_import (int iClickedButton, GtkWidget *pInteractiveWidget, CDDropData *data, CairoDialog *pDialog)440static void _on_answer_import (int iClickedButton, GtkWidget *pInteractiveWidget, CDDropData *data, CairoDialog *pDialog)
@@ -451,6 +453,7 @@
451 G_TYPE_STRING, "Configuration", "dir path", cReceivedData,453 G_TYPE_STRING, "Configuration", "dir path", cReceivedData,
452 G_TYPE_BOOLEAN, "Configuration", "show files", bImportFiles,454 G_TYPE_BOOLEAN, "Configuration", "show files", bImportFiles,
453 G_TYPE_DOUBLE, "Icon", "order", fOrder,455 G_TYPE_DOUBLE, "Icon", "order", fOrder,
456 G_TYPE_STRING, "Icon", "dock name", data->cDockName,
454 G_TYPE_INVALID);457 G_TYPE_INVALID);
455 458
456 // instanciate the module from this conf file.459 // instanciate the module from this conf file.
@@ -476,6 +479,7 @@
476static void _free_dialog_data (CDDropData *data)479static void _free_dialog_data (CDDropData *data)
477{480{
478 g_free (data->cReceivedData);481 g_free (data->cReceivedData);
482 g_free (data->cDockName);
479 g_free (data);483 g_free (data);
480}484}
481gboolean cd_folders_on_drop_data (gpointer data, const gchar *cReceivedData, Icon *icon, double fOrder, CairoContainer *pContainer)485gboolean cd_folders_on_drop_data (gpointer data, const gchar *cReceivedData, Icon *icon, double fOrder, CairoContainer *pContainer)
@@ -520,6 +524,8 @@
520 CDDropData *data = g_new0 (CDDropData, 1);524 CDDropData *data = g_new0 (CDDropData, 1);
521 data->cReceivedData = g_strdup (cReceivedData);525 data->cReceivedData = g_strdup (cReceivedData);
522 data->fOrder = fOrder;526 data->fOrder = fOrder;
527 if (CAIRO_DOCK_IS_DOCK (pContainer))
528 data->cDockName = g_strdup (cairo_dock_search_dock_name (CAIRO_DOCK (pContainer)));
523 cairo_dock_show_dialog_full (D_("Do you want to import the content of the folder too?"),529 cairo_dock_show_dialog_full (D_("Do you want to import the content of the folder too?"),
524 pIcon, pContainer,530 pIcon, pContainer,
525 0,531 0,
526532
=== modified file 'GMenu/src/applet-init.c'
--- GMenu/src/applet-init.c 2012-02-16 01:45:57 +0000
+++ GMenu/src/applet-init.c 2012-03-21 20:37:19 +0000
@@ -55,6 +55,7 @@
55 }55 }
56 myData.pMenu = create_main_menu (myApplet);56 myData.pMenu = create_main_menu (myApplet);
57 myData.iShowQuit = myConfig.iShowQuit;57 myData.iShowQuit = myConfig.iShowQuit;
58 myData.iPanelDefaultMenuIconSize = cairo_dock_search_icon_size (GTK_ICON_SIZE_LARGE_TOOLBAR); // 24 by default
58 59
59 CD_APPLET_REGISTER_FOR_CLICK_EVENT;60 CD_APPLET_REGISTER_FOR_CLICK_EVENT;
60 CD_APPLET_REGISTER_FOR_MIDDLE_CLICK_EVENT;61 CD_APPLET_REGISTER_FOR_MIDDLE_CLICK_EVENT;
6162
=== modified file 'GMenu/src/applet-menu-callbacks.c'
--- GMenu/src/applet-menu-callbacks.c 2012-02-16 01:45:57 +0000
+++ GMenu/src/applet-menu-callbacks.c 2012-03-21 20:37:19 +0000
@@ -183,19 +183,19 @@
183 GtkWidget *image = NULL;183 GtkWidget *image = NULL;
184 if (*gtkStock == '/')184 if (*gtkStock == '/')
185 {185 {
186 GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size (gtkStock, 24, 24, NULL);186 GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size (gtkStock, myData.iPanelDefaultMenuIconSize, myData.iPanelDefaultMenuIconSize, NULL);
187 image = gtk_image_new_from_pixbuf (pixbuf);187 image = gtk_image_new_from_pixbuf (pixbuf);
188 g_object_unref (pixbuf);188 g_object_unref (pixbuf);
189 }189 }
190 else190 else
191 {191 {
192 const gchar *cIconPath = cairo_dock_search_icon_s_path (gtkStock);192 const gchar *cIconPath = cairo_dock_search_icon_s_path (gtkStock, myData.iPanelDefaultMenuIconSize);
193 if (cIconPath == NULL)193 if (cIconPath == NULL)
194 {194 {
195 cIconPath = g_strconcat (MY_APPLET_SHARE_DATA_DIR"/", gtkStock, NULL);195 cIconPath = g_strconcat (MY_APPLET_SHARE_DATA_DIR"/", gtkStock, NULL);
196 cIconPath = g_strconcat (cIconPath, ".svg", NULL);196 cIconPath = g_strconcat (cIconPath, ".svg", NULL);
197 }197 }
198 GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size (cIconPath, 24, 24, NULL);198 GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size (cIconPath, myData.iPanelDefaultMenuIconSize, myData.iPanelDefaultMenuIconSize, NULL);
199 image = gtk_image_new_from_pixbuf (pixbuf);199 image = gtk_image_new_from_pixbuf (pixbuf);
200 g_object_unref (pixbuf);200 g_object_unref (pixbuf);
201 }201 }
@@ -464,7 +464,7 @@
464 IconToAdd *icon_to_add;464 IconToAdd *icon_to_add;
465 char *icon_name;465 char *icon_name;
466 GdkPixbuf *pb;466 GdkPixbuf *pb;
467 int icon_height = PANEL_DEFAULT_MENU_ICON_SIZE;467 int icon_height = myData.iPanelDefaultMenuIconSize;
468468
469 gtk_icon_size_lookup (icon->icon_size, NULL, &icon_height);469 gtk_icon_size_lookup (icon->icon_size, NULL, &icon_height);
470470
@@ -513,7 +513,7 @@
513 else {*/513 else {*/
514 IconToAdd *icon_to_add;514 IconToAdd *icon_to_add;
515 GdkPixbuf *pb;515 GdkPixbuf *pb;
516 int icon_height = PANEL_DEFAULT_MENU_ICON_SIZE;516 int icon_height = myData.iPanelDefaultMenuIconSize;
517517
518 gtk_icon_size_lookup (icon->icon_size, NULL, &icon_height);518 gtk_icon_size_lookup (icon->icon_size, NULL, &icon_height);
519519
520520
=== modified file 'GMenu/src/applet-menu.c'
--- GMenu/src/applet-menu.c 2012-02-16 01:45:57 +0000
+++ GMenu/src/applet-menu.c 2012-03-21 20:37:19 +0000
@@ -243,7 +243,7 @@
243{243{
244 IconToLoad *icon;244 IconToLoad *icon;
245 GtkWidget *image;245 GtkWidget *image;
246 int icon_height = PANEL_DEFAULT_MENU_ICON_SIZE;246 int icon_height = myData.iPanelDefaultMenuIconSize;
247247
248 icon = g_new0 (IconToLoad, 1);248 icon = g_new0 (IconToLoad, 1);
249249
@@ -375,14 +375,14 @@
375 (GDestroyNotify) gmenu_tree_item_unref);375 (GDestroyNotify) gmenu_tree_item_unref);
376376
377 panel_load_menu_image_deferred (menuitem,377 panel_load_menu_image_deferred (menuitem,
378 PANEL_DEFAULT_MENU_ICON_SIZE, //panel_menu_icon_get_size (),378 myData.iPanelDefaultMenuIconSize, //panel_menu_icon_get_size (),
379 ///NULL, NULL,379 ///NULL, NULL,
380 alias_directory ? gmenu_tree_directory_get_icon (alias_directory) :380 alias_directory ? gmenu_tree_directory_get_icon (alias_directory) :
381 gmenu_tree_entry_get_icon (entry),381 gmenu_tree_entry_get_icon (entry),
382 NULL);382 NULL);
383383
384 setup_menuitem (menuitem,384 setup_menuitem (menuitem,
385 PANEL_DEFAULT_MENU_ICON_SIZE, //panel_menu_icon_get_size (),385 myData.iPanelDefaultMenuIconSize, //panel_menu_icon_get_size (),
386 ///NULL,386 ///NULL,
387 alias_directory ? gmenu_tree_directory_get_name (alias_directory) :387 alias_directory ? gmenu_tree_directory_get_name (alias_directory) :
388 gmenu_tree_entry_get_name (entry));388 gmenu_tree_entry_get_name (entry));
@@ -715,9 +715,13 @@
715 cMenuFileName = "gnome-applications.menu";715 cMenuFileName = "gnome-applications.menu";
716 else if (g_file_test (XDG_MENUS_PATH"/kde-applications.menu", G_FILE_TEST_EXISTS))716 else if (g_file_test (XDG_MENUS_PATH"/kde-applications.menu", G_FILE_TEST_EXISTS))
717 cMenuFileName = "kde-applications.menu";717 cMenuFileName = "kde-applications.menu";
718 else if (g_file_test (XDG_MENUS_PATH"/kde4-applications.menu", G_FILE_TEST_EXISTS))
719 cMenuFileName = "kde4-applications.menu";
718 else if (g_file_test (XDG_MENUS_PATH"/xfce-applications.menu", G_FILE_TEST_EXISTS))720 else if (g_file_test (XDG_MENUS_PATH"/xfce-applications.menu", G_FILE_TEST_EXISTS))
719 cMenuFileName = "xfce-applications.menu";721 cMenuFileName = "xfce-applications.menu";
720 else // kde4-applications.menu, lxde-applications.menu, ...; let's check any *-applications.menu722 else if (g_file_test (XDG_MENUS_PATH"/lxde-applications.menu", G_FILE_TEST_EXISTS))
723 cMenuFileName = "lxde-applications.menu";
724 else // let's check any *-applications.menu
721 {725 {
722 const gchar *cFileName;726 const gchar *cFileName;
723 GDir *dir = g_dir_open (XDG_MENUS_PATH, 0, NULL);727 GDir *dir = g_dir_open (XDG_MENUS_PATH, 0, NULL);
724728
=== modified file 'GMenu/src/applet-menu.h'
--- GMenu/src/applet-menu.h 2012-02-16 01:45:57 +0000
+++ GMenu/src/applet-menu.h 2012-03-21 20:37:19 +0000
@@ -26,7 +26,7 @@
26#include <gmenu-tree.h>26#include <gmenu-tree.h>
2727
28#define PANEL_ICON_FOLDER "folder"28#define PANEL_ICON_FOLDER "folder"
29#define PANEL_DEFAULT_MENU_ICON_SIZE 2429// #define PANEL_DEFAULT_MENU_ICON_SIZE 24
3030
3131
32GtkWidget * add_menu_separator (GtkWidget *menu);32GtkWidget * add_menu_separator (GtkWidget *menu);
3333
=== modified file 'GMenu/src/applet-recent.c'
--- GMenu/src/applet-recent.c 2011-08-09 18:08:08 +0000
+++ GMenu/src/applet-recent.c 2012-03-21 20:37:19 +0000
@@ -55,11 +55,11 @@
55 55
56 GtkWidget *pMenuItem = gtk_image_menu_item_new_with_label (D_("Recent Documents"));56 GtkWidget *pMenuItem = gtk_image_menu_item_new_with_label (D_("Recent Documents"));
5757
58 const gchar *cIconPath = cairo_dock_search_icon_s_path ("document-open-recent");58 const gchar *cIconPath = cairo_dock_search_icon_s_path ("document-open-recent", myData.iPanelDefaultMenuIconSize);
59 if (cIconPath == NULL)59 if (cIconPath == NULL)
60 cIconPath = MY_APPLET_SHARE_DATA_DIR"/icon-recent.png";60 cIconPath = MY_APPLET_SHARE_DATA_DIR"/icon-recent.png";
6161
62 GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size (cIconPath, 24, 24, NULL);62 GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size (cIconPath, myData.iPanelDefaultMenuIconSize, myData.iPanelDefaultMenuIconSize, NULL);
63 GtkWidget *image = gtk_image_new_from_pixbuf (pixbuf);63 GtkWidget *image = gtk_image_new_from_pixbuf (pixbuf);
64 g_object_unref (pixbuf);64 g_object_unref (pixbuf);
65#if (GTK_MAJOR_VERSION > 2 || GTK_MINOR_VERSION >= 16)65#if (GTK_MAJOR_VERSION > 2 || GTK_MINOR_VERSION >= 16)
6666
=== modified file 'GMenu/src/applet-run-dialog.c'
--- GMenu/src/applet-run-dialog.c 2012-02-16 01:45:57 +0000
+++ GMenu/src/applet-run-dialog.c 2012-03-21 20:37:19 +0000
@@ -349,7 +349,7 @@
349}349}
350CairoDialog *cd_menu_create_quick_launch_dialog (CairoDockModuleInstance *myApplet)350CairoDialog *cd_menu_create_quick_launch_dialog (CairoDockModuleInstance *myApplet)
351{351{
352 gchar *cIconPath = cairo_dock_search_icon_s_path (GTK_STOCK_EXECUTE);352 gchar *cIconPath = cairo_dock_search_icon_s_path (GTK_STOCK_EXECUTE, myData.iPanelDefaultMenuIconSize);
353 CairoDialog *pDialog = cairo_dock_show_dialog_with_entry (D_("Enter a command to launch:"),353 CairoDialog *pDialog = cairo_dock_show_dialog_with_entry (D_("Enter a command to launch:"),
354 myIcon, myContainer,354 myIcon, myContainer,
355 cIconPath ? cIconPath : "same icon",355 cIconPath ? cIconPath : "same icon",
356356
=== modified file 'GMenu/src/applet-struct.h'
--- GMenu/src/applet-struct.h 2012-02-16 01:45:57 +0000
+++ GMenu/src/applet-struct.h 2012-03-21 20:37:19 +0000
@@ -75,6 +75,7 @@
75 guint iSidFakeMenuIdle;75 guint iSidFakeMenuIdle;
76 guint iSidCreateMenuIdle;76 guint iSidCreateMenuIdle;
77 guint iSidTreeChangeIdle;77 guint iSidTreeChangeIdle;
78 gint iPanelDefaultMenuIconSize;
78 79
79 GtkRecentManager *pRecentManager;80 GtkRecentManager *pRecentManager;
80 GtkWidget *pRecentMenuItem;81 GtkWidget *pRecentMenuItem;
8182
=== modified file 'Global-Menu/src/applet-draw.c'
--- Global-Menu/src/applet-draw.c 2012-02-16 01:45:57 +0000
+++ Global-Menu/src/applet-draw.c 2012-03-21 20:37:19 +0000
@@ -74,10 +74,21 @@
74 }74 }
75 75
76 // draw current icon76 // draw current icon
77 const CairoDockImageBuffer *pImage = NULL, *pPrevImage = NULL;
78
77 Icon *pAppli = cairo_dock_get_icon_with_Xid (myData.iCurrentWindow);79 Icon *pAppli = cairo_dock_get_icon_with_Xid (myData.iCurrentWindow);
78 GLuint iTexture = (pAppli ? pAppli->iIconTexture : myData.defaultIcon.iTexture);80 if (pAppli)
81 {
82 pImage = cairo_dock_appli_get_image_buffer (pAppli);
83 }
84 GLuint iTexture = (pImage ? pImage->iTexture : 0);
85
79 Icon *pPrevIcon = cairo_dock_get_icon_with_Xid (myData.iPreviousWindow);86 Icon *pPrevIcon = cairo_dock_get_icon_with_Xid (myData.iPreviousWindow);
80 GLuint iPrevTexture = (pPrevIcon ? pPrevIcon->iIconTexture : myData.defaultIcon.iTexture);87 if (pPrevIcon)
88 {
89 pPrevImage = cairo_dock_appli_get_image_buffer (pPrevIcon);
90 }
91 GLuint iPrevTexture = (pPrevImage ? pPrevImage->iTexture : 0);
81 92
82 if (iPrevTexture != 0)93 if (iPrevTexture != 0)
83 {94 {
@@ -178,20 +189,34 @@
178 y = 0; // on top189 y = 0; // on top
179 }190 }
180 191
181 Icon *pAppli = cairo_dock_get_icon_with_Xid (myData.iCurrentWindow);192 const CairoDockImageBuffer *pImage = NULL, *pPrevImage = NULL;
182 cairo_surface_t *pSurface = (pAppli ? pAppli->pIconBuffer : myData.defaultIcon.pSurface);193
183 Icon *pPrevIcon = cairo_dock_get_icon_with_Xid (myData.iPreviousWindow);194 Icon *pPrevIcon = cairo_dock_get_icon_with_Xid (myData.iPreviousWindow);
184 cairo_surface_t *pPrevSurface = (pPrevIcon ? pPrevIcon->pIconBuffer : myData.defaultIcon.pSurface);195 if (pPrevIcon)
185 196 {
186 if (pPrevSurface != NULL)197 pPrevImage = cairo_dock_appli_get_image_buffer (pPrevIcon);
187 {198 }
188 cairo_set_source_surface (myDrawContext, pPrevSurface, x, y);199 if (pPrevImage && pPrevImage->pSurface)
200 {
201 cairo_save (myDrawContext);
202 cairo_scale (myDrawContext, (double)w / pPrevImage->iWidth, (double)h / pPrevImage->iHeight);
203 cairo_set_source_surface (myDrawContext, pPrevImage->pSurface, x, y);
189 cairo_paint_with_alpha (myDrawContext, 1-f);204 cairo_paint_with_alpha (myDrawContext, 1-f);
190 }205 cairo_restore (myDrawContext);
191 if (pSurface != NULL)206 }
192 {207
193 cairo_set_source_surface (myDrawContext, pSurface, x, y);208 Icon *pAppli = cairo_dock_get_icon_with_Xid (myData.iCurrentWindow);
209 if (pAppli)
210 {
211 pImage = cairo_dock_appli_get_image_buffer (pAppli);
212 }
213 if (pImage && pImage->pSurface)
214 {
215 cairo_save (myDrawContext);
216 cairo_scale (myDrawContext, (double)w / pImage->iWidth, (double)h / pImage->iHeight);
217 cairo_set_source_surface (myDrawContext, pImage->pSurface, x, y);
194 cairo_paint_with_alpha (myDrawContext, f);218 cairo_paint_with_alpha (myDrawContext, f);
219 cairo_restore (myDrawContext);
195 }220 }
196 221
197 // draw window buttons222 // draw window buttons
198223
=== modified file 'Indicator-applet/indicator-applet.c'
--- Indicator-applet/indicator-applet.c 2012-02-16 01:45:57 +0000
+++ Indicator-applet/indicator-applet.c 2012-03-21 20:37:19 +0000
@@ -33,6 +33,12 @@
33 if (old_menu_pointer == (GObject*)pIndicator->pMenu)33 if (old_menu_pointer == (GObject*)pIndicator->pMenu)
34 pIndicator->pMenu = NULL;34 pIndicator->pMenu = NULL;
35}35}
36static void _on_service_destroyed (CDAppletIndicator *pIndicator, GObject *old_menu_pointer)
37{
38 g_print (" --------- no more service (%p / %p\n", old_menu_pointer, pIndicator->service);
39 if (old_menu_pointer == (GObject*)pIndicator->service)
40 pIndicator->service = NULL;
41}
3642
37static void _cd_indicator_make_menu (CDAppletIndicator *pIndicator)43static void _cd_indicator_make_menu (CDAppletIndicator *pIndicator)
38{44{
@@ -41,7 +47,7 @@
41 pIndicator->pMenu = dbusmenu_gtkmenu_new ((gchar*)pIndicator->cBusName, (gchar*)pIndicator->cMenuObject); // the cast is unorthodox, but the function definition is clumsy (it should require 2 const gchar*, since it actually duplicates the strings).47 pIndicator->pMenu = dbusmenu_gtkmenu_new ((gchar*)pIndicator->cBusName, (gchar*)pIndicator->cMenuObject); // the cast is unorthodox, but the function definition is clumsy (it should require 2 const gchar*, since it actually duplicates the strings).
42 if (pIndicator->pMenu != NULL)48 if (pIndicator->pMenu != NULL)
43 {49 {
44 g_object_ref_sink (G_OBJECT (pIndicator->pMenu));50 g_object_ref_sink (G_OBJECT (pIndicator->pMenu)); // the object is floating -> take the reference
45 g_object_weak_ref (G_OBJECT (pIndicator->pMenu),51 g_object_weak_ref (G_OBJECT (pIndicator->pMenu),
46 (GWeakNotify)_on_menu_destroyed,52 (GWeakNotify)_on_menu_destroyed,
47 pIndicator);53 pIndicator);
@@ -63,6 +69,7 @@
63static void69static void
64connection_changed (IndicatorServiceManager * sm, gboolean connected, CDAppletIndicator *pIndicator)70connection_changed (IndicatorServiceManager * sm, gboolean connected, CDAppletIndicator *pIndicator)
65{71{
72 g_print ("%s (%s : %d)\n", __func__, pIndicator->cBusName, connected);
66 CairoDockModuleInstance *myApplet = pIndicator->pApplet;73 CairoDockModuleInstance *myApplet = pIndicator->pApplet;
67 if (connected)74 if (connected)
68 {75 {
@@ -71,7 +78,7 @@
71 // connect to the service.78 // connect to the service.
72 if (pIndicator->pServiceProxy == NULL)79 if (pIndicator->pServiceProxy == NULL)
73 {80 {
74 GError * error = NULL;81 /**GError * error = NULL;
75 DBusGConnection * sbus = cairo_dock_get_session_connection ();82 DBusGConnection * sbus = cairo_dock_get_session_connection ();
76 pIndicator->pServiceProxy = dbus_g_proxy_new_for_name_owner(sbus,83 pIndicator->pServiceProxy = dbus_g_proxy_new_for_name_owner(sbus,
77 pIndicator->cBusName,84 pIndicator->cBusName,
@@ -82,7 +89,11 @@
82 {89 {
83 cd_warning ("'%s' service not found on the bus : %s", pIndicator->cServiceObject, error->message);90 cd_warning ("'%s' service not found on the bus : %s", pIndicator->cServiceObject, error->message);
84 g_error_free(error);91 g_error_free(error);
85 }92 }*/
93 pIndicator->pServiceProxy = cairo_dock_create_new_session_proxy (
94 pIndicator->cBusName,
95 pIndicator->cServiceObject,
96 pIndicator->cServiceInterface);
86 if (pIndicator->pServiceProxy == NULL)97 if (pIndicator->pServiceProxy == NULL)
87 return;98 return;
88 99
@@ -111,6 +122,11 @@
111 g_print ("done.\n");122 g_print ("done.\n");
112 pIndicator->pMenu = NULL;123 pIndicator->pMenu = NULL;
113 }124 }
125 if (pIndicator->pServiceProxy != NULL)
126 {
127 g_object_unref (pIndicator->pServiceProxy); // this removes all the signals connected on the proxy
128 pIndicator->pServiceProxy = NULL;
129 }
114 pIndicator->bConnected = FALSE;130 pIndicator->bConnected = FALSE;
115 }131 }
116 }132 }
@@ -133,8 +149,7 @@
133 if (!s_bIndicatorIconThemeAdded)149 if (!s_bIndicatorIconThemeAdded)
134 {150 {
135 s_bIndicatorIconThemeAdded = TRUE;151 s_bIndicatorIconThemeAdded = TRUE;
136 gtk_icon_theme_append_search_path (gtk_icon_theme_get_default(),152 cairo_dock_add_path_to_icon_theme (INDICATOR_ICONS_DIR); /// maybe we should add it back when the icons manager is reloaded ?...
137 INDICATOR_ICONS_DIR);
138 }153 }
139 CDAppletIndicator *pIndicator = g_new0 (CDAppletIndicator, 1);154 CDAppletIndicator *pIndicator = g_new0 (CDAppletIndicator, 1);
140 pIndicator->pApplet = pApplet;155 pIndicator->pApplet = pApplet;
@@ -144,6 +159,10 @@
144 pIndicator->cMenuObject = cMenuObject;159 pIndicator->cMenuObject = cMenuObject;
145 160
146 pIndicator->service = indicator_service_manager_new_version ((gchar*)cBusName, iVersion);161 pIndicator->service = indicator_service_manager_new_version ((gchar*)cBusName, iVersion);
162 g_object_weak_ref (G_OBJECT (pIndicator->service),
163 (GWeakNotify)_on_service_destroyed,
164 pIndicator); // most probably useless, but let's be parano, since we're using the dreadful "libindicator" :p
165
147 g_signal_connect (G_OBJECT(pIndicator->service), INDICATOR_SERVICE_MANAGER_SIGNAL_CONNECTION_CHANGE, G_CALLBACK(connection_changed), pIndicator); // on sera appele une fois la connexion etablie. // pour le cast, cf plus haut.166 g_signal_connect (G_OBJECT(pIndicator->service), INDICATOR_SERVICE_MANAGER_SIGNAL_CONNECTION_CHANGE, G_CALLBACK(connection_changed), pIndicator); // on sera appele une fois la connexion etablie. // pour le cast, cf plus haut.
148 167
149 // indicators don't send the 'connection-change' signal if the connection couldn't be done, so we have to handle this case ourselves.168 // indicators don't send the 'connection-change' signal if the connection couldn't be done, so we have to handle this case ourselves.
@@ -161,15 +180,28 @@
161 g_source_remove (pIndicator->iSidGetMenuOnce);180 g_source_remove (pIndicator->iSidGetMenuOnce);
162 if (pIndicator->iSidCheckIndicator != 0)181 if (pIndicator->iSidCheckIndicator != 0)
163 g_source_remove (pIndicator->iSidCheckIndicator);182 g_source_remove (pIndicator->iSidCheckIndicator);
183 pIndicator->bConnected = FALSE;
164 pIndicator->on_disconnect = NULL; // since the indicator has been explicitely destroyed, we don't want to call the callback when we'll disconnect from the service.184 pIndicator->on_disconnect = NULL; // since the indicator has been explicitely destroyed, we don't want to call the callback when we'll disconnect from the service.
165 if (pIndicator->service)185 g_print ("destroy indicator menu...\n");
166 g_object_unref (pIndicator->service);186 if (pIndicator->pMenu)
187 g_object_unref (pIndicator->pMenu);
188 g_print ("done.\n");
167 if (pIndicator->pServiceProxy)189 if (pIndicator->pServiceProxy)
190 {
168 g_object_unref (pIndicator->pServiceProxy);191 g_object_unref (pIndicator->pServiceProxy);
169 cd_debug ("destroy indicator menu...");192 pIndicator->pServiceProxy = NULL;
170 if (pIndicator->pMenu)193 }
171 g_object_unref (pIndicator->pMenu);194 g_print ("destroy service...\n");
172 cd_debug ("done.");195 if (pIndicator->service)
196 {
197 //g_object_unref (pIndicator->service); // this causes a crash in libindicator (beacuse they keep the service as parameter of the callback 'service_proxy_name_changed'). so just be sure to disconnect from this object, and forget it.
198 g_signal_handlers_disconnect_by_func (G_OBJECT(pIndicator->service), G_CALLBACK(connection_changed), pIndicator);
199 g_object_weak_unref (G_OBJECT (pIndicator->service),
200 (GWeakNotify)_on_service_destroyed,
201 pIndicator);
202 pIndicator->service = NULL;
203 }
204 g_print ("done.\n");
173 g_free (pIndicator);205 g_free (pIndicator);
174}206}
175207
@@ -187,7 +219,7 @@
187 219
188 const gchar *cIconName = cStatusIcon;220 const gchar *cIconName = cStatusIcon;
189 gchar *tmp_icon_name = NULL;221 gchar *tmp_icon_name = NULL;
190 gchar *cIconPath = cairo_dock_search_icon_s_path (cIconName); // on regarde si l'icone sera trouvee.222 gchar *cIconPath = cairo_dock_search_icon_s_path (cIconName, MAX (myIcon->iImageWidth, myIcon->iImageHeight)); // on regarde si l'icone sera trouvee.
191 gchar *cIconPathFallback = NULL;223 gchar *cIconPathFallback = NULL;
192 if (cIconPath == NULL) // l'icone ne sera pas trouvee, on regarde si ce n'est pas une icone en carton d'Ubuntu.224 if (cIconPath == NULL) // l'icone ne sera pas trouvee, on regarde si ce n'est pas une icone en carton d'Ubuntu.
193 {225 {
@@ -196,7 +228,7 @@
196 {228 {
197 tmp_icon_name = g_strndup (cIconName, str - cIconName);229 tmp_icon_name = g_strndup (cIconName, str - cIconName);
198 cIconName = tmp_icon_name;230 cIconName = tmp_icon_name;
199 cIconPath = cairo_dock_search_icon_s_path (cIconName);231 cIconPath = cairo_dock_search_icon_s_path (cIconName, MAX (myIcon->iImageWidth, myIcon->iImageHeight));
200 }232 }
201 }233 }
202 if (cIconPath == NULL) // l'icone ne sera pas trouvee, on met une icone par defaut.234 if (cIconPath == NULL) // l'icone ne sera pas trouvee, on met une icone par defaut.
203235
=== modified file 'Messaging-Menu/data/Messaging-Menu.conf.in'
--- Messaging-Menu/data/Messaging-Menu.conf.in 2012-02-16 01:45:57 +0000
+++ Messaging-Menu/data/Messaging-Menu.conf.in 2012-03-21 20:37:19 +0000
@@ -20,8 +20,8 @@
20#{Set to 0 to use the default applet size}20#{Set to 0 to use the default applet size}
21icon size = 0;021icon size = 0;0
2222
23#B Always display the icon, even when the dock is hidden?23#Y+[No;0;0;With default background;0;0;With custom background;1;1] Always display the icon, even when the dock is hidden?
24always visi = false24always_visi = 0
2525
26#C+ Background color to add in this case26#C+ Background color to add in this case
27bg color = .8;.8;.8;.527bg color = .8;.8;.8;.5
2828
=== modified file 'Network-Monitor/data/Network-Monitor.conf.in'
--- Network-Monitor/data/Network-Monitor.conf.in 2012-02-16 01:45:57 +0000
+++ Network-Monitor/data/Network-Monitor.conf.in 2012-03-21 20:37:19 +0000
@@ -21,8 +21,8 @@
21#{Set to 0 to use the default applet size}21#{Set to 0 to use the default applet size}
22icon size = 0;022icon size = 0;0
2323
24#B Always display the icon, even when the dock is hidden?24#Y+[No;0;0;With default background;0;0;With custom background;1;1] Always display the icon, even when the dock is hidden?
25always visi = false25always_visi = 0
2626
27#C+ Background color to add in this case27#C+ Background color to add in this case
28bg color = .8;.8;.8;.528bg color = .8;.8;.8;.5
2929
=== modified file 'Recent-Events/data/Recent-Events.conf.in'
--- Recent-Events/data/Recent-Events.conf.in 2012-02-16 01:45:57 +0000
+++ Recent-Events/data/Recent-Events.conf.in 2012-03-21 20:37:19 +0000
@@ -14,7 +14,7 @@
14#v14#v
15sep_display=15sep_display=
1616
17#S+ Image filename:17#S+[Default] Image filename:
18#{Leave empty to use the default one.}18#{Leave empty to use the default one.}
19icon=folder-recent19icon=folder-recent
2020
2121
=== modified file 'Recent-Events/src/applet-dialog.c'
--- Recent-Events/src/applet-dialog.c 2012-02-16 01:45:57 +0000
+++ Recent-Events/src/applet-dialog.c 2012-03-21 20:37:19 +0000
@@ -116,7 +116,7 @@
116 //\_____________ find the icon.116 //\_____________ find the icon.
117 if (strncmp (cEventURI, "http", 4) == 0) // gvfs is deadly slow to get info on distant URI...117 if (strncmp (cEventURI, "http", 4) == 0) // gvfs is deadly slow to get info on distant URI...
118 {118 {
119 cIconName = cairo_dock_search_icon_s_path ("text-html");119 cIconName = cairo_dock_search_icon_s_path ("text-html", myData.iDesiredIconSize);
120 }120 }
121 else121 else
122 {122 {
@@ -124,8 +124,8 @@
124 }124 }
125 if (cIconName != NULL)125 if (cIconName != NULL)
126 {126 {
127 cIconPath = cairo_dock_search_icon_s_path (cIconName);127 cIconPath = cairo_dock_search_icon_s_path (cIconName, myData.iDesiredIconSize);
128 pixbuf = gdk_pixbuf_new_from_file_at_size (cIconPath, 32, 32, NULL);128 pixbuf = gdk_pixbuf_new_from_file_at_size (cIconPath, myData.iDesiredIconSize, myData.iDesiredIconSize, NULL);
129 g_free (cIconPath);129 g_free (cIconPath);
130 }130 }
131 else131 else
@@ -274,7 +274,7 @@
274 myData.pAppList = g_list_prepend (myData.pAppList, pAppInfo[1]);274 myData.pAppList = g_list_prepend (myData.pAppList, pAppInfo[1]);
275 275
276 if (pAppInfo[2] != NULL)276 if (pAppInfo[2] != NULL)
277 cIconPath = cairo_dock_search_icon_s_path (pAppInfo[2]);277 cIconPath = cairo_dock_search_icon_s_path (pAppInfo[2], cairo_dock_search_icon_size (GTK_ICON_SIZE_LARGE_TOOLBAR));
278 else278 else
279 cIconPath = NULL;279 cIconPath = NULL;
280 CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (pAppInfo[0], cIconPath, _cd_launch_with, pSubMenu, pAppInfo[1]);280 CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (pAppInfo[0], cIconPath, _cd_launch_with, pSubMenu, pAppInfo[1]);
@@ -466,7 +466,24 @@
466static gboolean _show_dialog_delayed (gpointer data)466static gboolean _show_dialog_delayed (gpointer data)
467{467{
468 cd_toggle_dialog ();468 cd_toggle_dialog ();
469 return FALSE;469 if (myData.pDialog != NULL) // dialog built with success, quit.
470 {
471 myData.iSidTryDialog = 0;
472 return FALSE;
473 }
474 else // failed, retry up to 3 times.
475 {
476 myData.iNbTries ++;
477 cd_debug (" %d tries", myData.iNbTries);
478 if (myData.iNbTries >= 3) // definitely no hope -> show a message to the user.
479 {
480 cairo_dock_remove_dialog_if_any (myIcon);
481 cairo_dock_show_temporary_dialog_with_icon (D_("You need to install the Zeitgeist data engine."), myIcon, myContainer, 6000, "same icon");
482 myData.iSidTryDialog = 0;
483 return FALSE;
484 }
485 }
486 return TRUE;
470}487}
471void cd_toggle_dialog (void)488void cd_toggle_dialog (void)
472{489{
@@ -482,17 +499,15 @@
482 {499 {
483 cd_debug ("first search");500 cd_debug ("first search");
484 myData.pLog = zeitgeist_log_new (); // may launch the Zeitgeist daemon if it's not yet running.501 myData.pLog = zeitgeist_log_new (); // may launch the Zeitgeist daemon if it's not yet running.
485 if (! zeitgeist_log_is_connected (myData.pLog)) // the connection may not be immediate (even if the daemon is already running), in this case come back in 1s.502 }
503 if (! zeitgeist_log_is_connected (myData.pLog))
504 {
505 cd_debug ("not yet connected");
506 if (myData.iSidTryDialog == 0)
486 {507 {
487 cd_debug ("come back in 1s...");508 myData.iNbTries = 0;
488 g_timeout_add_seconds (1, _show_dialog_delayed, NULL);509 myData.iSidTryDialog = g_timeout_add_seconds (1, _show_dialog_delayed, NULL);
489 return;
490 }510 }
491 }
492 else if (! zeitgeist_log_is_connected (myData.pLog))
493 {
494 cairo_dock_remove_dialog_if_any (myIcon);
495 cairo_dock_show_temporary_dialog_with_icon (D_("You need to install the Zeitgeist data engine."), myIcon, myContainer, 6000, "same icon");
496 return;511 return;
497 }512 }
498 513
499514
=== modified file 'Recent-Events/src/applet-dialog.h'
--- Recent-Events/src/applet-dialog.h 2011-04-20 20:46:51 +0000
+++ Recent-Events/src/applet-dialog.h 2012-03-21 20:37:19 +0000
@@ -30,4 +30,7 @@
30void cd_toggle_dialog (void);30void cd_toggle_dialog (void);
3131
3232
33void cd_folders_free_apps_list (CairoDockModuleInstance *myApplet);
34
35
33#endif36#endif
3437
=== modified file 'Recent-Events/src/applet-init.c'
--- Recent-Events/src/applet-init.c 2012-02-16 01:45:57 +0000
+++ Recent-Events/src/applet-init.c 2012-03-21 20:37:19 +0000
@@ -22,6 +22,7 @@
22#include "applet-config.h"22#include "applet-config.h"
23#include "applet-notifications.h"23#include "applet-notifications.h"
24#include "applet-struct.h"24#include "applet-struct.h"
25#include "applet-dialog.h"
25#include "applet-init.h"26#include "applet-init.h"
2627
2728
@@ -42,7 +43,8 @@
42 }43 }
43 44
44 CD_APPLET_SET_DEFAULT_IMAGE_ON_MY_ICON_IF_NONE; // set the default icon if none is specified in conf.45 CD_APPLET_SET_DEFAULT_IMAGE_ON_MY_ICON_IF_NONE; // set the default icon if none is specified in conf.
45 46
47 myData.iDesiredIconSize = cairo_dock_search_icon_size (GTK_ICON_SIZE_DND); // 32px
46 48
47 CD_APPLET_REGISTER_FOR_CLICK_EVENT;49 CD_APPLET_REGISTER_FOR_CLICK_EVENT;
48 CD_APPLET_REGISTER_FOR_MIDDLE_CLICK_EVENT;50 CD_APPLET_REGISTER_FOR_MIDDLE_CLICK_EVENT;
@@ -66,6 +68,14 @@
66 cairo_dock_remove_notification_func_on_object (&myContainersMgr,68 cairo_dock_remove_notification_func_on_object (&myContainersMgr,
67 NOTIFICATION_BUILD_ICON_MENU, (CairoDockNotificationFunc) CD_APPLET_ON_BUILD_MENU_FUNC, myApplet);69 NOTIFICATION_BUILD_ICON_MENU, (CairoDockNotificationFunc) CD_APPLET_ON_BUILD_MENU_FUNC, myApplet);
68 70
71 if (myData.iSidTryDialog != 0)
72 g_source_remove (myData.iSidTryDialog);
73
74 cairo_dock_dialog_unreference (myData.pDialog); // pModel will be destroyed with the viewport.
75
76 g_free (myData.cCurrentUri);
77 cd_folders_free_apps_list (myApplet);
78
69 cd_keybinder_unbind (myData.pKeyBinding);79 cd_keybinder_unbind (myData.pKeyBinding);
70CD_APPLET_STOP_END80CD_APPLET_STOP_END
7181
7282
=== modified file 'Recent-Events/src/applet-notifications.c'
--- Recent-Events/src/applet-notifications.c 2012-02-16 01:45:57 +0000
+++ Recent-Events/src/applet-notifications.c 2012-03-21 20:37:19 +0000
@@ -106,6 +106,7 @@
106 double fOrder;106 double fOrder;
107 int iVolumeID;107 int iVolumeID;
108 gboolean bIsDirectory;108 gboolean bIsDirectory;
109 gint iDesiredIconSize = cairo_dock_search_icon_size (GTK_ICON_SIZE_LARGE_TOOLBAR); // 24px
109 110
110 CD_APPLET_ADD_SEPARATOR_IN_MENU (s_pMenu);111 CD_APPLET_ADD_SEPARATOR_IN_MENU (s_pMenu);
111 112
@@ -127,7 +128,7 @@
127 g_free (cPath);128 g_free (cPath);
128 s_pEventList = g_list_prepend (s_pEventList, cCommand);129 s_pEventList = g_list_prepend (s_pEventList, cCommand);
129 130
130 cIconPath = cairo_dock_search_icon_s_path (cIconName);131 cIconPath = cairo_dock_search_icon_s_path (cIconName, iDesiredIconSize);
131 CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (zeitgeist_subject_get_text (subject), cIconPath, _open_file, pSubMenu, cCommand);132 CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (zeitgeist_subject_get_text (subject), cIconPath, _open_file, pSubMenu, cCommand);
132 g_free (cIconPath);133 g_free (cIconPath);
133 g_free (cIconName);134 g_free (cIconName);
134135
=== modified file 'Recent-Events/src/applet-struct.h'
--- Recent-Events/src/applet-struct.h 2012-02-16 01:45:57 +0000
+++ Recent-Events/src/applet-struct.h 2012-03-21 20:37:19 +0000
@@ -68,6 +68,9 @@
68 CairoDialog *pDialog;68 CairoDialog *pDialog;
69 CDEventType iCurrentCaterogy;69 CDEventType iCurrentCaterogy;
70 CairoKeyBinding *pKeyBinding;70 CairoKeyBinding *pKeyBinding;
71 gint iDesiredIconSize;
72 guint iSidTryDialog;
73 gint iNbTries;
71 } ;74 } ;
7275
7376
7477
=== modified file 'Remote-Control/src/applet-notifications.c'
--- Remote-Control/src/applet-notifications.c 2012-02-16 01:45:57 +0000
+++ Remote-Control/src/applet-notifications.c 2012-03-21 20:37:19 +0000
@@ -37,6 +37,13 @@
3737
38const int s_iNbPromptAnimationSteps = 40;38const int s_iNbPromptAnimationSteps = 40;
3939
40static void cd_do_simulate_click (CairoContainer *pContainer, Icon *pIcon, int iModifierType)
41{
42 g_return_if_fail (pIcon != NULL);
43 myData.bIgnoreClick = TRUE; // -> ignore the "click" notification, which would close the session and remove the notification while in the loop. the caller of this method should ensure to close the session after.
44 cairo_dock_notify_on_object (pContainer, NOTIFICATION_CLICK_ICON, pIcon, pContainer, iModifierType);
45 myData.bIgnoreClick = FALSE;
46}
4047
41static inline int _orient_arrow (CairoContainer *pContainer, int iKeyVal)48static inline int _orient_arrow (CairoContainer *pContainer, int iKeyVal)
42{49{
@@ -142,8 +149,8 @@
142 if (pNthIcon != NULL)149 if (pNthIcon != NULL)
143 {150 {
144 g_print ("click on %s\n", pNthIcon->cName);151 g_print ("click on %s\n", pNthIcon->cName);
145 ///cairo_dock_notify_on_object (&myContainersMgr, NOTIFICATION_CLICK_ICON, pNthIcon, myData.pCurrentDock, iModifierType);152 ///cairo_dock_notify_on_object (CAIRO_CONTAINER (myData.pCurrentDock), NOTIFICATION_CLICK_ICON, pNthIcon, myData.pCurrentDock, iModifierType);
146 cairo_dock_notify_on_object (CAIRO_CONTAINER (myData.pCurrentDock), NOTIFICATION_CLICK_ICON, pNthIcon, myData.pCurrentDock, iModifierType);153 cd_do_simulate_click (CAIRO_CONTAINER (myData.pCurrentDock), pNthIcon, iModifierType);
147154
148 cairo_dock_start_icon_animation (pNthIcon, myData.pCurrentDock);155 cairo_dock_start_icon_animation (pNthIcon, myData.pCurrentDock);
149 myData.bIgnoreIconState = FALSE;156 myData.bIgnoreIconState = FALSE;
@@ -241,7 +248,7 @@
241 {248 {
242 if (myData.pCurrentIcon != NULL)249 if (myData.pCurrentIcon != NULL)
243 {250 {
244 cd_debug ("on clique sur l'icone '%s' [%d, %d]\n", myData.pCurrentIcon->cName, iModifierType, GDK_SHIFT_MASK);251 g_print ("on clique sur l'icone '%s' [%d, %d]\n", myData.pCurrentIcon->cName, iModifierType, GDK_SHIFT_MASK);
245 252
246 myData.bIgnoreIconState = TRUE;253 myData.bIgnoreIconState = TRUE;
247 if (iModifierType & GDK_MOD1_MASK) // ALT254 if (iModifierType & GDK_MOD1_MASK) // ALT
@@ -264,8 +271,8 @@
264 }271 }
265 else272 else
266 {273 {
267 ///cairo_dock_notify_on_object (&myContainersMgr, NOTIFICATION_CLICK_ICON, myData.pCurrentIcon, myData.pCurrentDock, iModifierType);274 ///cairo_dock_notify_on_object (CAIRO_CONTAINER (myData.pCurrentDock), NOTIFICATION_CLICK_ICON, myData.pCurrentIcon, myData.pCurrentDock, iModifierType);
268 cairo_dock_notify_on_object (CAIRO_CONTAINER (myData.pCurrentDock), NOTIFICATION_CLICK_ICON, myData.pCurrentIcon, myData.pCurrentDock, iModifierType);275 cd_do_simulate_click (CAIRO_CONTAINER (myData.pCurrentDock), myData.pCurrentIcon, iModifierType);
269 }276 }
270 cairo_dock_start_icon_animation (myData.pCurrentIcon, myData.pCurrentDock);277 cairo_dock_start_icon_animation (myData.pCurrentIcon, myData.pCurrentDock);
271 myData.bIgnoreIconState = FALSE;278 myData.bIgnoreIconState = FALSE;
@@ -585,7 +592,8 @@
585{592{
586 g_return_val_if_fail (!cd_do_session_is_off (), CAIRO_DOCK_LET_PASS_NOTIFICATION);593 g_return_val_if_fail (!cd_do_session_is_off (), CAIRO_DOCK_LET_PASS_NOTIFICATION);
587 594
588 cd_do_close_session ();595 if (! myData.bIgnoreClick)
596 cd_do_close_session ();
589 597
590 return CAIRO_DOCK_LET_PASS_NOTIFICATION;598 return CAIRO_DOCK_LET_PASS_NOTIFICATION;
591}599}
592600
=== modified file 'Remote-Control/src/applet-struct.h'
--- Remote-Control/src/applet-struct.h 2012-02-16 01:45:57 +0000
+++ Remote-Control/src/applet-struct.h 2012-03-21 20:37:19 +0000
@@ -48,7 +48,7 @@
48 Icon *pCurrentIcon;48 Icon *pCurrentIcon;
49 CairoDock *pCurrentDock;49 CairoDock *pCurrentDock;
50 gboolean bIgnoreIconState;50 gboolean bIgnoreIconState;
51 51 gboolean bIgnoreClick;
52 int iPrevMouseX, iPrevMouseY;52 int iPrevMouseX, iPrevMouseY;
53 int iMouseX, iMouseY;53 int iMouseX, iMouseY;
54 int iMotionCount;54 int iMotionCount;
5555
=== modified file 'Scooby-Do/src/applet-appli-finder.c'
--- Scooby-Do/src/applet-appli-finder.c 2010-08-10 00:05:57 +0000
+++ Scooby-Do/src/applet-appli-finder.c 2012-03-21 20:37:19 +0000
@@ -174,17 +174,18 @@
174 int iNbAppliLoaded = 0;174 int iNbAppliLoaded = 0;
175 Icon *pIcon;175 Icon *pIcon;
176 gboolean bLoadTexture = (CAIRO_CONTAINER_IS_OPENGL (g_pMainDock));176 gboolean bLoadTexture = (CAIRO_CONTAINER_IS_OPENGL (g_pMainDock));
177 gint iDesiredIconSize = 10; // cairo_dock_search_icon_size (GTK_ICON_SIZE_MENU); // 16px (was 48px but why?) // to data?
177 GList *a;178 GList *a;
178 for (a = myData.pCurrentApplicationToLoad; a != NULL && iNbAppliLoaded < 3; a = a->next) // on en charge 3 d'un coup.179 for (a = myData.pCurrentApplicationToLoad; a != NULL && iNbAppliLoaded < 3; a = a->next) // on en charge 3 d'un coup.
179 {180 {
180 pIcon = a->data;181 pIcon = a->data;
181 if (pIcon->pIconBuffer == NULL)182 if (pIcon->pIconBuffer == NULL)
182 {183 {
183 pIcon->fWidth = 48.;184 pIcon->fWidth = iDesiredIconSize;
184 pIcon->fHeight = 48.;185 pIcon->fHeight = iDesiredIconSize;
185 pIcon->fScale = 1.;186 pIcon->fScale = 1.;
186 gchar *cIconPath = cairo_dock_search_icon_s_path (pIcon->cFileName);187 gchar *cIconPath = cairo_dock_search_icon_s_path (pIcon->cFileName, iDesiredIconSize);
187 pIcon->pIconBuffer = cairo_dock_create_surface_for_icon (cIconPath, 48., 48);188 pIcon->pIconBuffer = cairo_dock_create_surface_for_icon (cIconPath, iDesiredIconSize, iDesiredIconSize);
188 g_free (cIconPath);189 g_free (cIconPath);
189 if (bLoadTexture)190 if (bLoadTexture)
190 pIcon->iIconTexture = cairo_dock_create_texture_from_surface (pIcon->pIconBuffer);191 pIcon->iIconTexture = cairo_dock_create_texture_from_surface (pIcon->pIconBuffer);
@@ -230,14 +231,14 @@
230 bMatch = FALSE;231 bMatch = FALSE;
231 else232 else
232 {233 {
233 bMatch = (g_strncasecmp (pIcon->cCommand, myData.sCurrentText->str, myData.sCurrentText->len) == 0);234 bMatch = (g_ascii_strncasecmp (pIcon->cCommand, myData.sCurrentText->str, myData.sCurrentText->len) == 0);
234 if (!bMatch)235 if (!bMatch)
235 {236 {
236 gchar *str = strchr (pIcon->cCommand, '-'); // on se limite au 1er tiret.237 gchar *str = strchr (pIcon->cCommand, '-'); // on se limite au 1er tiret.
237 if (str && *(str-1) != ' ') // on verifie qu'il n'est pas un tiret d'option238 if (str && *(str-1) != ' ') // on verifie qu'il n'est pas un tiret d'option
238 {239 {
239 str ++;240 str ++;
240 bMatch = (g_strncasecmp (str, myData.sCurrentText->str, myData.sCurrentText->len) == 0);241 bMatch = (g_ascii_strncasecmp (str, myData.sCurrentText->str, myData.sCurrentText->len) == 0);
241 }242 }
242 }243 }
243 }244 }
244245
=== modified file 'Scooby-Do/src/applet-icon-finder.c'
--- Scooby-Do/src/applet-icon-finder.c 2011-09-26 12:56:12 +0000
+++ Scooby-Do/src/applet-icon-finder.c 2012-03-21 20:37:19 +0000
@@ -43,7 +43,7 @@
43 if (str && *(str-1) != ' ') // on verifie qu'il n'est pas un tiret d'option43 if (str && *(str-1) != ' ') // on verifie qu'il n'est pas un tiret d'option
44 {44 {
45 str ++;45 str ++;
46 bMatch = (g_strncasecmp (str, cCommandPrefix, length) == 0);46 bMatch = (g_ascii_strncasecmp (str, cCommandPrefix, length) == 0);
47 }47 }
48 if (!bMatch && pIcon->cName)48 if (!bMatch && pIcon->cName)
49 bMatch = (g_ascii_strncasecmp (cCommandPrefix, pIcon->cName, length) == 0);49 bMatch = (g_ascii_strncasecmp (cCommandPrefix, pIcon->cName, length) == 0);
5050
=== modified file 'Status-Notifier/data/Status-Notifier.conf.in'
--- Status-Notifier/data/Status-Notifier.conf.in 2012-02-16 01:45:57 +0000
+++ Status-Notifier/data/Status-Notifier.conf.in 2012-03-21 20:37:19 +0000
@@ -22,8 +22,8 @@
22#{Set to 0 to use the default applet size}22#{Set to 0 to use the default applet size}
23icon size = 0;023icon size = 0;0
2424
25#B Always display the icon, even when the dock is hidden?25#Y+[No;0;0;With default background;0;0;With custom background;1;1] Always display the icon, even when the dock is hidden?
26always visi = false26always_visi = 0
2727
28#C+ Background color to add in this case28#C+ Background color to add in this case
29bg color = .8;.8;.8;.529bg color = .8;.8;.8;.5
3030
=== modified file 'Status-Notifier/src/CMakeLists.txt'
--- Status-Notifier/src/CMakeLists.txt 2012-02-16 01:45:57 +0000
+++ Status-Notifier/src/CMakeLists.txt 2012-03-21 20:37:19 +0000
@@ -26,6 +26,7 @@
26add_definitions (-DMY_APPLET_ICON_FILE="icon.png")26add_definitions (-DMY_APPLET_ICON_FILE="icon.png")
27add_definitions (-DINDICATOR_OLD_NAMES=${INDICATOR_OLD_NAMES})27add_definitions (-DINDICATOR_OLD_NAMES=${INDICATOR_OLD_NAMES})
28add_definitions (-DINDICATOR_APPLICATIONADDED_HAS_HINT=${INDICATOR_APPLICATIONADDED_HAS_HINT})28add_definitions (-DINDICATOR_APPLICATIONADDED_HAS_HINT=${INDICATOR_APPLICATIONADDED_HAS_HINT})
29add_definitions (-DINDICATOR_APPLICATIONADDED_HAS_TITLE=${INDICATOR_APPLICATIONADDED_HAS_TITLE})
29add_definitions (-DCD_PLUGINS_DIR="${pluginsdir}")30add_definitions (-DCD_PLUGINS_DIR="${pluginsdir}")
30if (DBUSMENU_GTK3_NEW)31if (DBUSMENU_GTK3_NEW)
31 add_definitions (-DDBUSMENU_GTK3_NEW=1)32 add_definitions (-DDBUSMENU_GTK3_NEW=1)
3233
=== modified file 'Status-Notifier/src/applet-draw.c'
--- Status-Notifier/src/applet-draw.c 2012-02-16 01:45:57 +0000
+++ Status-Notifier/src/applet-draw.c 2012-03-21 20:37:19 +0000
@@ -101,21 +101,24 @@
101 myData.iNbLines = myConfig.iNbLines;101 myData.iNbLines = myConfig.iNbLines;
102 myData.iItemSize = MAX (1, iHeight / myConfig.iNbLines);102 myData.iItemSize = MAX (1, iHeight / myConfig.iNbLines);
103 myData.iNbColumns = ceil ((float)iNbItems / myConfig.iNbLines); // nb items by line.103 myData.iNbColumns = ceil ((float)iNbItems / myConfig.iNbLines); // nb items by line.
104 w = MAX (w0, myData.iItemSize * myData.iNbColumns);104 w = MAX (w0, myData.iItemSize * myData.iNbColumns + myIconsParam.iIconGap * (myData.iNbColumns - 1));
105 }105 }
106 else106 else
107 {107 {
108 myData.iNbColumns = myConfig.iNbLines;108 myData.iNbColumns = myConfig.iNbLines;
109 myData.iItemSize = MAX (1, iHeight / myConfig.iNbLines);109 myData.iItemSize = MAX (1, iHeight / myConfig.iNbLines);
110 myData.iNbLines = ceil ((float)iNbItems / myConfig.iNbLines); // nb items by line.110 myData.iNbLines = ceil ((float)iNbItems / myConfig.iNbLines); // nb items by line.
111 w = MAX (w0, myData.iItemSize * myData.iNbLines);111 w = MAX (w0, myData.iItemSize * myData.iNbLines + myIconsParam.iIconGap * (myData.iNbLines - 1));
112 }112 }
113 cd_debug ("=== required width: %d (now: %d)", w, iWidth);113 cd_debug ("=== required width: %d (now: %d)", w, iWidth);
114 114
115 // if width has changed, update the icon size.115 // if width has changed, update the icon size.
116 if (w != iWidth)116 if (w != iWidth)
117 {117 {
118 cairo_dock_resize_applet (myApplet, w, h0);118 if (myContainer->bIsHorizontal)
119 cairo_dock_resize_applet (myApplet, w, h0);
120 else
121 cairo_dock_resize_applet (myApplet, w0, w);
119 }122 }
120}123}
121124
@@ -143,8 +146,13 @@
143 cairo_paint (myDrawContext);146 cairo_paint (myDrawContext);
144 cairo_restore (myDrawContext);147 cairo_restore (myDrawContext);
145 }148 }
146 149
147 int x_pad = (iWidth - myData.iItemSize * myData.iNbColumns) / 2; // pad to center the drawing.150 int iIconGap;
151 if (myConfig.bResizeIcon)
152 iIconGap = myIconsParam.iIconGap;
153 else
154 iIconGap = 0;
155 int x_pad = (iWidth - myData.iItemSize * myData.iNbColumns - iIconGap * (myData.iNbColumns - 1)) / 2; // pad to center the drawing.
148 int y_pad = (iHeight - myData.iItemSize * myData.iNbLines) / 2;156 int y_pad = (iHeight - myData.iItemSize * myData.iNbLines) / 2;
149 cd_debug ("pad: %d;%d; grid: %dx%d, icon: %dx%d", x_pad, y_pad, myData.iNbLines, myData.iNbColumns, iWidth, iHeight);157 cd_debug ("pad: %d;%d; grid: %dx%d, icon: %dx%d", x_pad, y_pad, myData.iNbLines, myData.iNbColumns, iWidth, iHeight);
150 158
@@ -160,7 +168,7 @@
160 cd_debug ("=== draw %s (%d)", pItem->cId, pItem->iPosition);168 cd_debug ("=== draw %s (%d)", pItem->cId, pItem->iPosition);
161 cairo_set_source_surface (myDrawContext,169 cairo_set_source_surface (myDrawContext,
162 pItem->pSurface,170 pItem->pSurface,
163 x_pad + j * myData.iItemSize,171 x_pad + j * (myData.iItemSize + iIconGap),
164 y_pad + i * myData.iItemSize);172 y_pad + i * myData.iItemSize);
165 cairo_paint (myDrawContext);173 cairo_paint (myDrawContext);
166 174
@@ -208,7 +216,7 @@
208 {216 {
209 if (iPrevSize != myData.iItemSize || pItem->pSurface == NULL)217 if (iPrevSize != myData.iItemSize || pItem->pSurface == NULL)
210 {218 {
211 gchar *cIconPath = cd_satus_notifier_search_item_icon_s_path (pItem);219 gchar *cIconPath = cd_satus_notifier_search_item_icon_s_path (pItem, myData.iItemSize);
212 if (cIconPath != NULL)220 if (cIconPath != NULL)
213 {221 {
214 if (pItem->pSurface != NULL)222 if (pItem->pSurface != NULL)
@@ -256,11 +264,16 @@
256 }264 }
257 265
258 // get index on the grid.266 // get index on the grid.
259 int x_pad = (iWidth - myData.iItemSize * myData.iNbColumns) / 2;267 int iIconGap;
268 if (myConfig.bResizeIcon)
269 iIconGap = myIconsParam.iIconGap;
270 else
271 iIconGap = 0;
272 int x_pad = (iWidth - myData.iItemSize * myData.iNbColumns - iIconGap * (myData.iNbColumns - 1)) / 2;
260 int y_pad = (iHeight - myData.iItemSize * myData.iNbLines) / 2;273 int y_pad = (iHeight - myData.iItemSize * myData.iNbLines) / 2;
261 274
262 int line, col; // line, column275 int line, col; // line, column
263 col = (iMouseX - x_pad) / myData.iItemSize;276 col = (iMouseX - x_pad) / (myData.iItemSize + iIconGap);
264 line = (iMouseY - y_pad) / myData.iItemSize;277 line = (iMouseY - y_pad) / myData.iItemSize;
265 278
266 // get item from index.279 // get item from index.
@@ -294,7 +307,7 @@
294{307{
295 if (myConfig.bCompactMode)308 if (myConfig.bCompactMode)
296 {309 {
297 gchar *cIconPath = cd_satus_notifier_search_item_icon_s_path (pItem);310 gchar *cIconPath = cd_satus_notifier_search_item_icon_s_path (pItem, myData.iItemSize);
298 if (cIconPath != NULL)311 if (cIconPath != NULL)
299 {312 {
300 if (pItem->pSurface != NULL)313 if (pItem->pSurface != NULL)
301314
=== modified file 'Status-Notifier/src/applet-host-ias.c'
--- Status-Notifier/src/applet-host-ias.c 2012-02-16 01:45:57 +0000
+++ Status-Notifier/src/applet-host-ias.c 2012-03-21 20:37:19 +0000
@@ -94,7 +94,9 @@
94 data2);94 data2);
95}95}
96#else // Natty96#else // Natty
97#if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)97#if (INDICATOR_APPLICATIONADDED_HAS_TITLE == 1)
98static void _cd_cclosure_marshal_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING_STRING (
99#elif (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)
98static void _cd_cclosure_marshal_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING (100static void _cd_cclosure_marshal_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING (
99#else101#else
100static void _cd_cclosure_marshal_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING (102static void _cd_cclosure_marshal_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING (
@@ -107,7 +109,9 @@
107 gpointer marshal_data)109 gpointer marshal_data)
108{110{
109 //cd_debug ("=== %s ()\n", __func__);111 //cd_debug ("=== %s ()\n", __func__);
110 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)112 #if (INDICATOR_APPLICATIONADDED_HAS_TITLE == 1)
113 typedef void (*GMarshalFunc_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING_STRING) (
114 #elif (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)
111 typedef void (*GMarshalFunc_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING) (115 typedef void (*GMarshalFunc_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING) (
112 #else116 #else
113 typedef void (*GMarshalFunc_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING) (117 typedef void (*GMarshalFunc_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING) (
@@ -123,9 +127,14 @@
123 gchar *arg_8,127 gchar *arg_8,
124 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)128 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)
125 gchar *arg_9,129 gchar *arg_9,
130 #if (INDICATOR_APPLICATIONADDED_HAS_TITLE == 1)
131 gchar *arg_10,
132 #endif
126 #endif133 #endif
127 gpointer data2);134 gpointer data2);
128 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)135 #if (INDICATOR_APPLICATIONADDED_HAS_TITLE == 1)
136 register GMarshalFunc_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING_STRING callback;
137 #elif (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)
129 register GMarshalFunc_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING callback;138 register GMarshalFunc_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING callback;
130 #else139 #else
131 register GMarshalFunc_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING callback;140 register GMarshalFunc_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING callback;
@@ -133,7 +142,9 @@
133 register GCClosure *cc = (GCClosure*) closure;142 register GCClosure *cc = (GCClosure*) closure;
134 register gpointer data1, data2;143 register gpointer data1, data2;
135 // return_value est NULL ici, car la callback ne renvoit rien.144 // return_value est NULL ici, car la callback ne renvoit rien.
136 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)145 #if (INDICATOR_APPLICATIONADDED_HAS_TITLE == 1)
146 g_return_if_fail (n_param_values == 11);
147 #elif (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)
137 g_return_if_fail (n_param_values == 10);148 g_return_if_fail (n_param_values == 10);
138 #else149 #else
139 g_return_if_fail (n_param_values == 9);150 g_return_if_fail (n_param_values == 9);
@@ -149,7 +160,9 @@
149 data1 = g_value_peek_pointer (param_values + 0);160 data1 = g_value_peek_pointer (param_values + 0);
150 data2 = closure->data;161 data2 = closure->data;
151 }162 }
152 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)163 #if (INDICATOR_APPLICATIONADDED_HAS_TITLE == 1)
164 callback = (GMarshalFunc_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING_STRING)
165 #elif (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)
153 callback = (GMarshalFunc_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING)166 callback = (GMarshalFunc_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING)
154 #else167 #else
155 callback = (GMarshalFunc_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING)168 callback = (GMarshalFunc_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING)
@@ -167,6 +180,9 @@
167 (char*) g_value_get_string (param_values + 8),180 (char*) g_value_get_string (param_values + 8),
168 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)181 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)
169 (char*) g_value_get_string (param_values + 9),182 (char*) g_value_get_string (param_values + 9),
183 #if (INDICATOR_APPLICATIONADDED_HAS_TITLE == 1)
184 (char*) g_value_get_string (param_values + 10),
185 #endif
170 #endif186 #endif
171 data2);187 data2);
172}188}
@@ -176,21 +192,27 @@
176 /// Signals ///192 /// Signals ///
177///////////////193///////////////
178194
179static void on_new_application (DBusGProxy *proxy_watcher, const gchar *cIconName, gint iPosition, const gchar *cAdress, const gchar *cObjectPath, const gchar *cIconThemePath, const gchar *cLabel, const gchar *cLabelGuide,195static void on_new_application (DBusGProxy *proxy_watcher, const gchar *cIconName, gint iPosition, const gchar *cAddress, const gchar *cObjectPath, const gchar *cIconThemePath, const gchar *cLabel, const gchar *cLabelGuide,
180#if (INDICATOR_OLD_NAMES == 0) // Natty196#if (INDICATOR_OLD_NAMES == 0) // Natty
181const gchar *cAccessbleDesc, // WTF is this new param ??197const gchar *cAccessbleDesc, // WTF is this new param ??
182#if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)198#if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)
183const gchar *cHint, // <irony> is this a hint to work around a clumsy API ? </irony>199const gchar *cHint, // <irony> is this a hint to work around a clumsy API ? </irony>
200#if (INDICATOR_APPLICATIONADDED_HAS_TITLE == 1)
201const gchar *cTitle,
202#endif
184#endif203#endif
185#endif204#endif
186CairoDockModuleInstance *myApplet)205CairoDockModuleInstance *myApplet)
187{206{
188 CD_APPLET_ENTER;207 CD_APPLET_ENTER;
189 cd_debug ("=== %s (%s, %s, %s, %s, %d)", __func__, cAdress, cObjectPath, cIconName, cIconThemePath, iPosition);208 cd_debug ("=== %s (%s, %s, %s, %s, %d)", __func__, cAddress, cObjectPath, cIconName, cIconThemePath, iPosition);
190 #if (INDICATOR_OLD_NAMES == 0) // Natty209 #if (INDICATOR_OLD_NAMES == 0) // Natty
191 cd_debug (" %s", cAccessbleDesc);210 cd_debug (" %s", cAccessbleDesc);
192 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)211 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)
193 cd_debug (" %s", cHint);212 cd_debug (" %s", cHint);
213 #if (INDICATOR_APPLICATIONADDED_HAS_TITLE == 1)
214 cd_debug (" %s", cTitle);
215 #endif
194 #endif216 #endif
195 #endif217 #endif
196 218
@@ -207,14 +229,21 @@
207 }229 }
208 }230 }
209 231
210 cd_satus_notifier_add_new_item_with_default (cAdress, cObjectPath, iPosition,232 cd_satus_notifier_add_new_item_with_default (cAddress, cObjectPath, iPosition,
211 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)233 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)
212 cIconName ? cIconName : cHint,234 cIconName ? cIconName : cHint,
213 #else235 #else
214 cIconName,236 cIconName,
215 #endif237 #endif
216 cIconThemePath,238 cIconThemePath,
217 cLabel);239 #if (INDICATOR_OLD_NAMES == 0)
240 cAccessbleDesc && *cAccessbleDesc != '\0' ? cAccessbleDesc :
241 #if (INDICATOR_APPLICATIONADDED_HAS_TITLE == 1)
242 cTitle && *cTitle != '\0' ? cTitle :
243 #endif
244 #endif
245 cLabel
246 );
218 247
219 CD_APPLET_LEAVE ();248 CD_APPLET_LEAVE ();
220}249}
@@ -264,6 +293,15 @@
264 G_TYPE_STRING, // iconpath293 G_TYPE_STRING, // iconpath
265 G_TYPE_STRING, // label294 G_TYPE_STRING, // label
266 G_TYPE_STRING, // labelguide295 G_TYPE_STRING, // labelguide
296 #if (INDICATOR_OLD_NAMES == 0) // Natty
297 G_TYPE_STRING, // accessibledesc
298 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)
299 G_TYPE_STRING, // hint
300 #if (INDICATOR_APPLICATIONADDED_HAS_TITLE == 1)
301 G_TYPE_STRING, // title
302 #endif
303 #endif
304 #endif
267 G_TYPE_INVALID));305 G_TYPE_INVALID));
268 gboolean bSuccess = dbus_g_proxy_end_call (proxy,306 gboolean bSuccess = dbus_g_proxy_end_call (proxy,
269 call_id,307 call_id,
@@ -280,14 +318,15 @@
280 CD_APPLET_LEAVE ();318 CD_APPLET_LEAVE ();
281 319
282 //\______________________ build each items.320 //\______________________ build each items.
283 cd_debug ("=== got %d aplications", pApplications->len);321 cd_debug ("=== got %d applications", pApplications->len);
284 guint i, j;322 guint i, j;
285 GValueArray *va;323 GValueArray *va;
286 GValue *v;324 GValue *v;
287 CDStatusNotifierItem *pItem=NULL;325 CDStatusNotifierItem *pItem = NULL;
288 //cd_debug ("=== %d apps in the systray", pApplications->len);326 //cd_debug ("=== %d apps in the systray", pApplications->len);
289 for (i = 0; i < pApplications->len; i ++)327 for (i = 0; i < pApplications->len; i ++)
290 {328 {
329 // get the properties of the item
291 cd_debug ("=== %d) %p", i, pApplications->pdata[i]);330 cd_debug ("=== %d) %p", i, pApplications->pdata[i]);
292 va = pApplications->pdata[i];331 va = pApplications->pdata[i];
293 if (! va)332 if (! va)
@@ -295,11 +334,14 @@
295 334
296 const gchar *cIconName = NULL;335 const gchar *cIconName = NULL;
297 gint iPosition = -1;336 gint iPosition = -1;
298 const gchar *cAdress = NULL;337 const gchar *cAddress = NULL;
299 const gchar *cObjectPath = NULL;338 const gchar *cObjectPath = NULL;
300 const gchar *cIconThemePath = NULL;339 const gchar *cIconThemePath = NULL;
301 const gchar *cLabel = NULL;340 const gchar *cLabel = NULL;
302 const gchar *cLabelGuide = NULL;341 const gchar *cLabelGuide = NULL;
342 const gchar *cAccessibleDesc = NULL; // natty
343 // const gchar *cHint = NULL; // oneiric
344 const gchar *cTitle = NULL; // precise
303 345
304 v = g_value_array_get_nth (va, 0);346 v = g_value_array_get_nth (va, 0);
305 if (v && G_VALUE_HOLDS_STRING (v))347 if (v && G_VALUE_HOLDS_STRING (v))
@@ -311,7 +353,7 @@
311 353
312 v = g_value_array_get_nth (va, 2);354 v = g_value_array_get_nth (va, 2);
313 if (v && G_VALUE_HOLDS_STRING (v))355 if (v && G_VALUE_HOLDS_STRING (v))
314 cAdress = g_value_get_string (v);356 cAddress = g_value_get_string (v);
315 357
316 v = g_value_array_get_nth (va, 3);358 v = g_value_array_get_nth (va, 3);
317 if (v && G_VALUE_HOLDS (v, DBUS_TYPE_G_OBJECT_PATH))359 if (v && G_VALUE_HOLDS (v, DBUS_TYPE_G_OBJECT_PATH))
@@ -337,22 +379,59 @@
337 if (v && G_VALUE_HOLDS_STRING (v))379 if (v && G_VALUE_HOLDS_STRING (v))
338 cLabelGuide = g_value_get_string (v);380 cLabelGuide = g_value_get_string (v);
339 381
340 cd_debug ("=== + item {%s ; %d ; %s ; %s ; %s ; %s ; %s}",382 #if (INDICATOR_OLD_NAMES == 0)
383 v = g_value_array_get_nth (va, 7);
384 if (v && G_VALUE_HOLDS_STRING (v))
385 cAccessibleDesc = g_value_get_string (v);
386
387 #if (INDICATOR_APPLICATIONADDED_HAS_TITLE == 1)
388 v = g_value_array_get_nth (va, 9);
389 if (v && G_VALUE_HOLDS_STRING (v))
390 cTitle = g_value_get_string (v);
391 #endif
392 #endif
393
394 cd_debug ("=== + item {%s ; %d ; %s ; %s ; %s ; %s ; %s ; %s ; %s}",
341 cIconName,395 cIconName,
342 iPosition,396 iPosition,
343 cAdress,397 cAddress,
344 cObjectPath,398 cObjectPath,
345 cIconThemePath,399 cIconThemePath,
346 cLabel,400 cLabel,
347 cLabelGuide);401 cLabelGuide,
348 402 cAccessibleDesc,
349 pItem = cd_satus_notifier_create_item (cAdress, cObjectPath);403 cTitle);
404
405 if (!cAddress)
406 continue;
407
408 // ensure we're not duplicating an existing item (this should never happen if the service is ok, but since it doesn't depend on us, let's be careful).
409 GList *it;
410 for (it = myData.pItems; it != NULL; it = it->next)
411 {
412 pItem = it->data;
413 if (strcmp (cAddress, pItem->cService) == 0) // pItem->cService is never NULL
414 {
415 cd_warning ("Duplicated item: %s (%s)", cIconName, cAddress);
416 return;
417 }
418 if (iPosition != -1 && pItem->iPosition == iPosition)
419 {
420 cd_warning ("Possible duplicated item: %s/%s/%d , %s/%s/%d)", cIconName, cAddress, iPosition, pItem->cIconName, pItem->cService, pItem->iPosition);
421 }
422 }
423
424 // make a new item based on these properties.
425 pItem = cd_satus_notifier_create_item (cAddress, cObjectPath);
350 if (! pItem)426 if (! pItem)
351 continue;427 continue;
352 if (pItem->iPosition == -1)428 if (pItem->iPosition == -1)
353 pItem->iPosition = iPosition;429 pItem->iPosition = iPosition;
354 if (pItem->cTitle == NULL && pItem->cLabel == NULL)430 if (pItem->cTitle == NULL && pItem->cLabel == NULL && pItem->cAccessibleDesc == NULL)
355 pItem->cLabel = g_strdup (cLabel && *cLabel != '\0' ? cLabel : pItem->cId);431 pItem->cLabel = g_strdup (cAccessibleDesc && *cAccessibleDesc != '\0' ? cAccessibleDesc :
432 cLabel && *cLabel != '\0' ? cLabel :
433 cTitle && *cTitle != '\0' ? cTitle :
434 NULL); // don't use cId as a fallback, because it often has cryptic names (nm-applet ; dropbox-xxxx). If the appli doesn't provide a title, it's its fault.
356 myData.pItems = g_list_prepend (myData.pItems, pItem);435 myData.pItems = g_list_prepend (myData.pItems, pItem);
357 }436 }
358 437
@@ -396,7 +475,9 @@
396 G_TYPE_NONE, G_TYPE_STRING, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID);475 G_TYPE_NONE, G_TYPE_STRING, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID);
397 #else // Natty476 #else // Natty
398 dbus_g_object_register_marshaller(477 dbus_g_object_register_marshaller(
399 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)478 #if (INDICATOR_APPLICATIONADDED_HAS_TITLE == 1)
479 _cd_cclosure_marshal_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING_STRING,
480 #elif (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)
400 _cd_cclosure_marshal_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING,481 _cd_cclosure_marshal_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING_STRING,
401 #else482 #else
402 _cd_cclosure_marshal_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING,483 _cd_cclosure_marshal_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING_STRING,
@@ -406,6 +487,9 @@
406 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING,487 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING,
407 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)488 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)
408 G_TYPE_STRING,489 G_TYPE_STRING,
490 #if (INDICATOR_APPLICATIONADDED_HAS_TITLE == 1)
491 G_TYPE_STRING,
492 #endif
409 #endif493 #endif
410 G_TYPE_INVALID);494 G_TYPE_INVALID);
411 #endif495 #endif
@@ -425,6 +509,9 @@
425 G_TYPE_STRING, // accessibledesc509 G_TYPE_STRING, // accessibledesc
426 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)510 #if (INDICATOR_APPLICATIONADDED_HAS_HINT == 1)
427 G_TYPE_STRING, // hint => only with indicator-0.4 (Oneiric)511 G_TYPE_STRING, // hint => only with indicator-0.4 (Oneiric)
512 #if (INDICATOR_APPLICATIONADDED_HAS_TITLE == 1)
513 G_TYPE_STRING, // title => only with indicator-0.4.90 (Precise)
514 #endif
428 #endif515 #endif
429 #endif516 #endif
430 G_TYPE_INVALID);517 G_TYPE_INVALID);
@@ -436,6 +523,7 @@
436 G_TYPE_INVALID);523 G_TYPE_INVALID);
437 dbus_g_proxy_connect_signal(myData.pProxyIndicatorApplicationService, "ApplicationRemoved",524 dbus_g_proxy_connect_signal(myData.pProxyIndicatorApplicationService, "ApplicationRemoved",
438 G_CALLBACK(on_removed_application), myApplet, NULL);525 G_CALLBACK(on_removed_application), myApplet, NULL);
526 // TODO? ApplicationIconChanged, ApplicationIconThemePathChanged, ApplicationLabelChanged, ApplicationTitleChanged
439}527}
440528
441 //////////////////529 //////////////////
442530
=== modified file 'Status-Notifier/src/applet-host.c'
--- Status-Notifier/src/applet-host.c 2012-02-16 01:45:57 +0000
+++ Status-Notifier/src/applet-host.c 2012-03-21 20:37:19 +0000
@@ -203,7 +203,8 @@
203 g_hash_table_insert (myData.pThemePaths, g_strdup (cThemePath), GINT_TO_POINTER (ref)); // et on la met a jour dans la table.203 g_hash_table_insert (myData.pThemePaths, g_strdup (cThemePath), GINT_TO_POINTER (ref)); // et on la met a jour dans la table.
204 204
205 if (ref == 1) // premiere fois qu'on voit ce chemin.205 if (ref == 1) // premiere fois qu'on voit ce chemin.
206 gtk_icon_theme_append_search_path (gtk_icon_theme_get_default(), cThemePath); // append car ce sont des icones par defaut.206 ///gtk_icon_theme_append_search_path (gtk_icon_theme_get_default(), cThemePath); // append car ce sont des icones par defaut.
207 cairo_dock_add_path_to_icon_theme (cThemePath);
207}208}
208209
209void cd_satus_notifier_remove_theme_path (const gchar * cThemePath)210void cd_satus_notifier_remove_theme_path (const gchar * cThemePath)
@@ -217,7 +218,8 @@
217 {218 {
218 g_hash_table_remove (myData.pThemePaths, cThemePath); // on le supprime de la table.219 g_hash_table_remove (myData.pThemePaths, cThemePath); // on le supprime de la table.
219 220
220 GtkIconTheme *pIconTheme = gtk_icon_theme_get_default(); // et du theme.221 cairo_dock_remove_path_from_icon_theme (cThemePath);
222 /**GtkIconTheme *pIconTheme = gtk_icon_theme_get_default(); // et du theme.
221 gchar **paths = NULL;223 gchar **paths = NULL;
222 gint iNbPaths = 0;224 gint iNbPaths = 0;
223 gtk_icon_theme_get_search_path (pIconTheme, &paths, &iNbPaths);225 gtk_icon_theme_get_search_path (pIconTheme, &paths, &iNbPaths);
@@ -239,7 +241,7 @@
239 gtk_icon_theme_set_search_path (pIconTheme, (const gchar **)paths, iNbPaths - 1);241 gtk_icon_theme_set_search_path (pIconTheme, (const gchar **)paths, iNbPaths - 1);
240 }242 }
241 243
242 g_strfreev (paths);244 g_strfreev (paths);*/
243 }245 }
244 else // on decremente la reference.246 else // on decremente la reference.
245 {247 {
246248
=== modified file 'Status-Notifier/src/applet-item.c'
--- Status-Notifier/src/applet-item.c 2012-02-16 01:45:57 +0000
+++ Status-Notifier/src/applet-item.c 2012-03-21 20:37:19 +0000
@@ -145,6 +145,8 @@
145 145
146 g_free (pItem->cIconName);146 g_free (pItem->cIconName);
147 pItem->cIconName = cairo_dock_dbus_get_property_as_string (pItem->pProxyProps, CD_STATUS_NOTIFIER_ITEM_IFACE, "IconName");147 pItem->cIconName = cairo_dock_dbus_get_property_as_string (pItem->pProxyProps, CD_STATUS_NOTIFIER_ITEM_IFACE, "IconName");
148 g_free (pItem->cAccessibleDesc);
149 pItem->cAccessibleDesc = cairo_dock_dbus_get_property_as_string (pItem->pProxyProps, CD_STATUS_NOTIFIER_ITEM_IFACE, "IconAccessibleDesc");
148 //g_print ("=== new icon : %s\n", pItem->cIconName);150 //g_print ("=== new icon : %s\n", pItem->cIconName);
149 151
150 if (pItem->iStatus != CD_STATUS_NEEDS_ATTENTION)152 if (pItem->iStatus != CD_STATUS_NEEDS_ATTENTION)
@@ -328,7 +330,7 @@
328 CD_APPLET_LEAVE ();330 CD_APPLET_LEAVE ();
329}331}
330332
331gchar *cd_satus_notifier_search_item_icon_s_path (CDStatusNotifierItem *pItem)333gchar *cd_satus_notifier_search_item_icon_s_path (CDStatusNotifierItem *pItem, gint iSize)
332{334{
333 g_return_val_if_fail (pItem != NULL, NULL);335 g_return_val_if_fail (pItem != NULL, NULL);
334 gchar *cImageName = (pItem->iStatus == CD_STATUS_NEEDS_ATTENTION ? pItem->cAttentionIconName: pItem->cIconName);336 gchar *cImageName = (pItem->iStatus == CD_STATUS_NEEDS_ATTENTION ? pItem->cAttentionIconName: pItem->cIconName);
@@ -346,7 +348,7 @@
346 348
347 if (cIconPath == NULL)349 if (cIconPath == NULL)
348 {350 {
349 cIconPath = cairo_dock_search_icon_s_path (cImageName);351 cIconPath = cairo_dock_search_icon_s_path (cImageName, iSize);
350 }352 }
351353
352 if (cIconPath == NULL)354 if (cIconPath == NULL)
@@ -358,7 +360,7 @@
358CDStatusNotifierItem *cd_satus_notifier_create_item (const gchar *cService, const gchar *cObjectPath)360CDStatusNotifierItem *cd_satus_notifier_create_item (const gchar *cService, const gchar *cObjectPath)
359{361{
360 g_return_val_if_fail (cService != NULL, NULL);362 g_return_val_if_fail (cService != NULL, NULL);
361 g_print ("=== %s (%s, %s)\n", __func__, cService, cObjectPath);363 cd_debug ("=== %s (%s, %s)", __func__, cService, cObjectPath);
362 364
363 gchar *str = strchr (cService, '/'); // just to be sure.365 gchar *str = strchr (cService, '/'); // just to be sure.
364 if (str)366 if (str)
@@ -372,7 +374,6 @@
372 const gchar *str = strrchr (cObjectPath, '/');374 const gchar *str = strrchr (cObjectPath, '/');
373 if (str)375 if (str)
374 {376 {
375
376 cRealObjectPath = g_strndup (cObjectPath, str - cObjectPath);377 cRealObjectPath = g_strndup (cObjectPath, str - cObjectPath);
377 }378 }
378 }379 }
@@ -470,7 +471,7 @@
470 471
471 const gchar *cLabel = NULL;472 const gchar *cLabel = NULL;
472 v = g_hash_table_lookup (hProps, "XAyatanaLabel");473 v = g_hash_table_lookup (hProps, "XAyatanaLabel");
473 if (v && G_VALUE_HOLDS_BOXED(v))474 if (v && G_VALUE_HOLDS_STRING(v))
474 {475 {
475 cLabel = g_value_get_string (v);476 cLabel = g_value_get_string (v);
476 }477 }
@@ -478,11 +479,18 @@
478 479
479 const gchar *cLabelGuide = NULL;480 const gchar *cLabelGuide = NULL;
480 v = g_hash_table_lookup (hProps, "XAyatanaLabelGuide");481 v = g_hash_table_lookup (hProps, "XAyatanaLabelGuide");
481 if (v && G_VALUE_HOLDS_BOXED(v))482 if (v && G_VALUE_HOLDS_STRING(v))
482 {483 {
483 cLabelGuide = g_value_get_string (v);484 cLabelGuide = g_value_get_string (v);
484 }485 }
485 //g_print ("=== cLabelGuide '%s'\n", cLabelGuide);486 //g_print ("=== cLabelGuide '%s'\n", cLabelGuide);
487
488 const gchar *cAccessibleDesc = NULL;
489 v = g_hash_table_lookup (hProps, "IconAccessibleDesc");
490 if (v && G_VALUE_HOLDS_STRING(v))
491 {
492 cAccessibleDesc = g_value_get_string (v);
493 } // Updated with ApplicationIconChanged
486 494
487 // properties supported by KDE.495 // properties supported by KDE.
488 const gchar *cTitle = NULL;496 const gchar *cTitle = NULL;
@@ -491,7 +499,7 @@
491 {499 {
492 cTitle = g_value_get_string (v);500 cTitle = g_value_get_string (v);
493 }501 }
494 cd_debug ("=== Title '%s", cTitle);502 cd_debug ("=== Title '%s'", cTitle);
495 503
496 v = g_hash_table_lookup (hProps, "WindowId");504 v = g_hash_table_lookup (hProps, "WindowId");
497 guint iWindowId = 0;505 guint iWindowId = 0;
@@ -524,6 +532,13 @@
524 pToolTipTab = g_value_get_boxed (v);532 pToolTipTab = g_value_get_boxed (v);
525 }533 }
526 534
535 gboolean bItemIsMenu = FALSE; // "when is true the dbusmenu will be shown instead of emitting Activate()"
536 v = g_hash_table_lookup (hProps, "ItemIsMenu");
537 if (v && G_VALUE_HOLDS_BOOLEAN (v))
538 {
539 bItemIsMenu = g_value_get_boolean (v);
540 }
541
527 DBusGProxy *pProxyItem = cairo_dock_create_new_session_proxy (542 DBusGProxy *pProxyItem = cairo_dock_create_new_session_proxy (
528 cService,543 cService,
529 cRealObjectPath ? cRealObjectPath : cObjectPath,544 cRealObjectPath ? cRealObjectPath : cObjectPath,
@@ -541,7 +556,9 @@
541 pItem->cTitle = g_strdup (cTitle);556 pItem->cTitle = g_strdup (cTitle);
542 pItem->cLabel = g_strdup (cLabel);557 pItem->cLabel = g_strdup (cLabel);
543 pItem->cLabelGuide = g_strdup (cLabelGuide);558 pItem->cLabelGuide = g_strdup (cLabelGuide);
544 pItem->cMenuPath = (cMenuPath ? g_strdup (cMenuPath) : g_strdup (cObjectPath));559 pItem->cAccessibleDesc = g_strdup (cAccessibleDesc);
560 ///pItem->cMenuPath = (cMenuPath ? g_strdup (cMenuPath) : g_strdup (cObjectPath));
561 pItem->cMenuPath = g_strdup (cMenuPath); // if NULL, we'll just send the ContextMenu() signal.
545 pItem->iWindowId = iWindowId;562 pItem->iWindowId = iWindowId;
546 pItem->iCategory = _find_category (cCategory);563 pItem->iCategory = _find_category (cCategory);
547 pItem->iStatus = _find_status (cStatus);564 pItem->iStatus = _find_status (cStatus);
@@ -550,6 +567,7 @@
550 pItem->cAttentionIconName = g_strdup (cAttentionIconName);567 pItem->cAttentionIconName = g_strdup (cAttentionIconName);
551 pItem->cAttentionMovieName = g_strdup (cAttentionMovieName);568 pItem->cAttentionMovieName = g_strdup (cAttentionMovieName);
552 pItem->cOverlayIconName = g_strdup (cOverlayIconName);569 pItem->cOverlayIconName = g_strdup (cOverlayIconName);
570 pItem->bItemIsMenu = bItemIsMenu;
553 if (pToolTipTab)571 if (pToolTipTab)
554 {572 {
555 pItem->pToolTip = _make_tooltip_from_dbus_struct (pToolTipTab);573 pItem->pToolTip = _make_tooltip_from_dbus_struct (pToolTipTab);
@@ -630,6 +648,7 @@
630 g_free (pItem->cAttentionIconName);648 g_free (pItem->cAttentionIconName);
631 g_free (pItem->cLabel);649 g_free (pItem->cLabel);
632 g_free (pItem->cLabelGuide);650 g_free (pItem->cLabelGuide);
651 g_free (pItem->cAccessibleDesc);
633 g_free (pItem->cTitle);652 g_free (pItem->cTitle);
634 g_free (pItem->cAttentionMovieName);653 g_free (pItem->cAttentionMovieName);
635 g_free (pItem->cOverlayIconName);654 g_free (pItem->cOverlayIconName);
@@ -645,7 +664,7 @@
645 int iHeight = icon->iImageHeight;664 int iHeight = icon->iImageHeight;
646 665
647 CDStatusNotifierItem *pItem = cd_satus_notifier_get_item_from_icon (icon);666 CDStatusNotifierItem *pItem = cd_satus_notifier_get_item_from_icon (icon);
648 gchar *cIconPath = cd_satus_notifier_search_item_icon_s_path (pItem);667 gchar *cIconPath = cd_satus_notifier_search_item_icon_s_path (pItem, MAX (iWidth, iHeight));
649 if (cIconPath != NULL && *cIconPath != '\0')668 if (cIconPath != NULL && *cIconPath != '\0')
650 icon->pIconBuffer = cairo_dock_create_surface_from_image_simple (cIconPath,669 icon->pIconBuffer = cairo_dock_create_surface_from_image_simple (cIconPath,
651 iWidth,670 iWidth,
652671
=== modified file 'Status-Notifier/src/applet-item.h'
--- Status-Notifier/src/applet-item.h 2012-02-16 01:45:57 +0000
+++ Status-Notifier/src/applet-item.h 2012-03-21 20:37:19 +0000
@@ -27,7 +27,7 @@
2727
28void cd_free_item (CDStatusNotifierItem *pItem);28void cd_free_item (CDStatusNotifierItem *pItem);
2929
30gchar *cd_satus_notifier_search_item_icon_s_path (CDStatusNotifierItem *pItem);30gchar *cd_satus_notifier_search_item_icon_s_path (CDStatusNotifierItem *pItem, gint iSize);
3131
32Icon *cd_satus_notifier_create_icon_for_item (CDStatusNotifierItem *pItem);32Icon *cd_satus_notifier_create_icon_for_item (CDStatusNotifierItem *pItem);
3333
3434
=== modified file 'Status-Notifier/src/applet-notifications.c'
--- Status-Notifier/src/applet-notifications.c 2012-02-16 01:45:57 +0000
+++ Status-Notifier/src/applet-notifications.c 2012-03-21 20:37:19 +0000
@@ -87,7 +87,7 @@
87static inline gboolean _popup_menu (CDStatusNotifierItem *pItem, Icon *pIcon, CairoContainer *pContainer)87static inline gboolean _popup_menu (CDStatusNotifierItem *pItem, Icon *pIcon, CairoContainer *pContainer)
88{88{
89 gboolean r = FALSE;89 gboolean r = FALSE;
90 if (pItem->cMenuPath != NULL)90 if (pItem->cMenuPath != NULL && *pItem->cMenuPath != '\0' && strcmp (pItem->cMenuPath, "/NO_DBUSMENU") != 0) // hopefully, if the item doesn't have a dbusmenu, it will not set something different as these 2 choices.
91 {91 {
92 if (pItem->pMenu == NULL)92 if (pItem->pMenu == NULL)
93 pItem->pMenu = dbusmenu_gtkmenu_new ((gchar *)pItem->cService, (gchar *)pItem->cMenuPath);93 pItem->pMenu = dbusmenu_gtkmenu_new ((gchar *)pItem->cService, (gchar *)pItem->cMenuPath);
@@ -98,15 +98,17 @@
98 }98 }
99 }99 }
100100
101 if (!r)101 if (!r) // no menu available, send the corresponding action
102 {102 {
103 r = _emit_click (pItem, pIcon, pContainer, "ContextMenu");103 r = _emit_click (pItem, pIcon, pContainer, "ContextMenu");
104 }104 }
105105
106 if (!r)106 if (!r) // no luck, try to fallback on 'activate()'
107 {107 {
108 r = _emit_click (pItem, pIcon, pContainer, "Activate");108 r = _emit_click (pItem, pIcon, pContainer, "Activate");
109 }109 }
110
111 return r;
110}112}
111113
112CD_APPLET_ON_CLICK_BEGIN114CD_APPLET_ON_CLICK_BEGIN
@@ -114,19 +116,22 @@
114 //g_print ("click on item '%s'\n", pItem?pItem->cService:"none");116 //g_print ("click on item '%s'\n", pItem?pItem->cService:"none");
115 if (pItem != NULL)117 if (pItem != NULL)
116 {118 {
117 if (myConfig.bMenuOnLeftClick)119 // Ubuntu-like: show the menu on left click as the sole action (right-click = usual Cairo-Dock menu).
120 if (myConfig.bMenuOnLeftClick || pItem->bItemIsMenu) // if bItemIsMenu: "The item only support the context menu, the visualization should prefer sending ContextMenu() instead of Activate()"
118 {121 {
119 _popup_menu (pItem, CD_APPLET_CLICKED_ICON, CD_APPLET_CLICKED_CONTAINER);122 _popup_menu (pItem, CD_APPLET_CLICKED_ICON, CD_APPLET_CLICKED_CONTAINER);
120 }123 }
121 else124 else // KDE-like: activate the item on left click, and show its menu on right-click.
122 {125 {
123 gboolean r = _emit_click (pItem, CD_APPLET_CLICKED_ICON, CD_APPLET_CLICKED_CONTAINER, "Activate");126 gboolean r;
127 r = _emit_click (pItem, CD_APPLET_CLICKED_ICON, CD_APPLET_CLICKED_CONTAINER, "Activate");
128
124 if (!r)129 if (!r)
125 {130 {
126 if (pItem->cId != NULL)131 if (pItem->cId != NULL)
127 {132 {
128 /// TODO: try to get the icon in the taskbar, because launch the command doesn't raise the window if it was already visible (but it does pop up it if it was hidden, usually).133 /// TODO: try to get the icon in the taskbar, because launch the command doesn't raise the window if it was already visible (but it does pop up it if it was hidden, usually).
129 cairo_dock_launch_command (pItem->cId); // lancer une nouvelle fois l'appli montre sa fenetre (enfin, generalement).134 cairo_dock_launch_command (pItem->cId); // try to launch the application because generally this click shows its item's window.
130 }135 }
131 }136 }
132 }137 }
@@ -197,7 +202,7 @@
197 gchar *cIconPath = NULL;202 gchar *cIconPath = NULL;
198 if (pItemData->pToolTip->cIconName)203 if (pItemData->pToolTip->cIconName)
199 {204 {
200 cIconPath = cairo_dock_search_icon_s_path (pItemData->pToolTip->cIconName);205 cIconPath = cairo_dock_search_icon_s_path (pItemData->pToolTip->cIconName, 32); // dialog
201 }206 }
202 207
203 cairo_dock_show_temporary_dialog_with_icon (cText, pIcon, CAIRO_CONTAINER (myIcon->pSubDock), 3000, cIconPath ? cIconPath : "same icon");208 cairo_dock_show_temporary_dialog_with_icon (cText, pIcon, CAIRO_CONTAINER (myIcon->pSubDock), 3000, cIconPath ? cIconPath : "same icon");
@@ -251,7 +256,13 @@
251 if (pItem == NULL)256 if (pItem == NULL)
252 CD_APPLET_SET_NAME_FOR_MY_ICON (NULL);257 CD_APPLET_SET_NAME_FOR_MY_ICON (NULL);
253 else258 else
254 CD_APPLET_SET_NAME_FOR_MY_ICON (pItem->cLabel ? pItem->cLabel : pItem->cTitle ? pItem->cTitle : pItem->cId);259 CD_APPLET_SET_NAME_FOR_MY_ICON (
260 pItem->cAccessibleDesc && *pItem->cAccessibleDesc != '\0' ? pItem->cAccessibleDesc :
261 pItem->cLabel && *pItem->cLabel != '\0' ? pItem->cLabel :
262 pItem->cTitle && *pItem->cTitle != '\0' ? pItem->cTitle :
263 NULL);
264 // pItem->cId && *pItem->cId != '\0' ? pItem->cId :
265 // maybe better to not display cId, e.g: nm-applet ; dropbox-xxxx ; etc.
255 266
256 if (myDock)267 if (myDock)
257 CAIRO_DOCK_REDRAW_MY_CONTAINER;268 CAIRO_DOCK_REDRAW_MY_CONTAINER;
258269
=== modified file 'Status-Notifier/src/applet-struct.h'
--- Status-Notifier/src/applet-struct.h 2012-02-16 01:45:57 +0000
+++ Status-Notifier/src/applet-struct.h 2012-03-21 20:37:19 +0000
@@ -84,12 +84,13 @@
84 gchar *cLabel;84 gchar *cLabel;
85 gchar *cLabelGuide;85 gchar *cLabelGuide;
86 gchar *cMenuPath;86 gchar *cMenuPath;
87 gchar *cAccessibleDesc;
87 // additionnal props supported by KDE88 // additionnal props supported by KDE
88 Window iWindowId;89 Window iWindowId;
89 gchar *cAttentionMovieName;90 gchar *cAttentionMovieName;
90 gchar *cOverlayIconName;91 gchar *cOverlayIconName;
91 CDToolTip *pToolTip;92 CDToolTip *pToolTip;
92 93 gboolean bItemIsMenu;
93 gint iPosition; // donnee par l'indicator service94 gint iPosition; // donnee par l'indicator service
94 guint iSidPopupTooltip;95 guint iSidPopupTooltip;
95 // data96 // data
9697
=== modified file 'System-Monitor/data/System-Monitor.conf.in'
--- System-Monitor/data/System-Monitor.conf.in 2012-02-16 01:45:57 +0000
+++ System-Monitor/data/System-Monitor.conf.in 2012-03-21 20:37:19 +0000
@@ -20,8 +20,8 @@
20#{Set to 0 to use the default applet size}20#{Set to 0 to use the default applet size}
21icon size = 0;021icon size = 0;0
2222
23#B Always display the icon, even when the dock is hidden?23#Y+[No;0;0;With default background;0;0;With custom background;1;1] Always display the icon, even when the dock is hidden?
24always visi = false24always_visi = 0
2525
26#C+ Background color to add in this case26#C+ Background color to add in this case
27bg color = .8;.8;.8;.527bg color = .8;.8;.8;.5
2828
=== modified file 'Toons/data/Toons.conf.in'
--- Toons/data/Toons.conf.in 2012-02-16 01:45:57 +0000
+++ Toons/data/Toons.conf.in 2012-03-21 20:37:19 +0000
@@ -20,8 +20,8 @@
20#{Set to 0 to use the default applet size}20#{Set to 0 to use the default applet size}
21icon size = 0;021icon size = 0;0
2222
23#B Always display the icon, even when the dock is hidden?23#Y+[No;0;0;With default background;0;0;With custom background;1;1] Always display the icon, even when the dock is hidden?
24always visi = false24always_visi = 0
2525
26#C+ Background color to add in this case26#C+ Background color to add in this case
27bg color = .8;.8;.8;.527bg color = .8;.8;.8;.5
2828
=== modified file 'Toons/src/applet-notifications.c'
--- Toons/src/applet-notifications.c 2012-02-16 01:45:57 +0000
+++ Toons/src/applet-notifications.c 2012-03-21 20:37:19 +0000
@@ -36,7 +36,7 @@
36CD_APPLET_ON_UPDATE_ICON_BEGIN36CD_APPLET_ON_UPDATE_ICON_BEGIN
37 //\_________________ On chope les coordonnees du curseur par rapport a notre container.37 //\_________________ On chope les coordonnees du curseur par rapport a notre container.
38 int iMouseX, iMouseY;38 int iMouseX, iMouseY;
39 gdk_window_get_pointer (gldi_container_get_gdk_window (myContainer), &iMouseX, &iMouseY, NULL);39 gldi_display_get_pointer (&iMouseX, &iMouseY);
40 40
41 //\_________________ On calcule les nouvelles coordonnees.41 //\_________________ On calcule les nouvelles coordonnees.
42 gboolean bNeedsUpdate = FALSE;42 gboolean bNeedsUpdate = FALSE;
4343
=== modified file 'alsaMixer/data/AlsaMixer.conf.in'
--- alsaMixer/data/AlsaMixer.conf.in 2012-02-16 01:45:57 +0000
+++ alsaMixer/data/AlsaMixer.conf.in 2012-03-21 20:37:19 +0000
@@ -21,8 +21,8 @@
21#{Set to 0 to use the default applet size}21#{Set to 0 to use the default applet size}
22icon size = 0;022icon size = 0;0
2323
24#B Always display the icon, even when the dock is hidden?24#Y+[No;0;0;With default background;0;0;With custom background;1;1] Always display the icon, even when the dock is hidden?
25always visi = false25always_visi = 0
2626
27#C+ Background color to add in this case27#C+ Background color to add in this case
28bg color = .8;.8;.8;.528bg color = .8;.8;.8;.5
2929
=== modified file 'alsaMixer/data/preview.jpg'
30Binary files alsaMixer/data/preview.jpg 2010-04-20 01:52:21 +0000 and alsaMixer/data/preview.jpg 2012-03-21 20:37:19 +0000 differ30Binary files alsaMixer/data/preview.jpg 2010-04-20 01:52:21 +0000 and alsaMixer/data/preview.jpg 2012-03-21 20:37:19 +0000 differ
=== modified file 'alsaMixer/src/CMakeLists.txt'
--- alsaMixer/src/CMakeLists.txt 2012-02-16 01:45:57 +0000
+++ alsaMixer/src/CMakeLists.txt 2012-03-21 20:37:19 +0000
@@ -37,6 +37,7 @@
37add_definitions (-DMY_APPLET_ICON_FILE="icon.png")37add_definitions (-DMY_APPLET_ICON_FILE="icon.png")
38if ("${with_soundmenu}" STREQUAL "yes")38if ("${with_soundmenu}" STREQUAL "yes")
39 add_definitions (-DSOUND_SERVICE_SUPPORT="1")39 add_definitions (-DSOUND_SERVICE_SUPPORT="1")
40 add_definitions (-DSOUND_SERVICE_VERSION=${SOUND_SERVICE_VERSION})
40endif()41endif()
41if (DBUSMENU_GTK3_NEW)42if (DBUSMENU_GTK3_NEW)
42 add_definitions (-DDBUSMENU_GTK3_NEW=1)43 add_definitions (-DDBUSMENU_GTK3_NEW=1)
4344
=== modified file 'alsaMixer/src/applet-backend-sound-menu.c'
--- alsaMixer/src/applet-backend-sound-menu.c 2012-02-16 01:45:57 +0000
+++ alsaMixer/src/applet-backend-sound-menu.c 2012-03-21 20:37:19 +0000
@@ -23,7 +23,11 @@
23#include <stdlib.h>23#include <stdlib.h>
24#include <string.h>24#include <string.h>
2525
26#if (SOUND_SERVICE_VERSION < 1)
27#include "dbus-shared-names-old.h"
28#else
26#include "dbus-shared-names.h"29#include "dbus-shared-names.h"
30#endif
2731
28#include "common-defs.h"32#include "common-defs.h"
29#include "volume-widget.h"33#include "volume-widget.h"
3034
=== modified file 'alsaMixer/src/applet-draw.c'
--- alsaMixer/src/applet-draw.c 2012-02-16 01:45:57 +0000
+++ alsaMixer/src/applet-draw.c 2012-03-21 20:37:19 +0000
@@ -46,6 +46,7 @@
4646
47static void mixer_draw_bar (cairo_surface_t *pSurface)47static void mixer_draw_bar (cairo_surface_t *pSurface)
48{48{
49 g_print ("%s (%p, %d)\n", __func__, pSurface, myData.iCurrentVolume);
49 CD_APPLET_SET_SURFACE_ON_MY_ICON_WITH_BAR (pSurface, myData.iCurrentVolume * .01);50 CD_APPLET_SET_SURFACE_ON_MY_ICON_WITH_BAR (pSurface, myData.iCurrentVolume * .01);
50}51}
5152
@@ -148,7 +149,7 @@
148 149
149 if (myConfig.cDefaultIcon != NULL)150 if (myConfig.cDefaultIcon != NULL)
150 {151 {
151 gchar *cImagePath = cairo_dock_search_icon_s_path (myConfig.cDefaultIcon);152 gchar *cImagePath = cairo_dock_search_icon_s_path (myConfig.cDefaultIcon, MAX (myIcon->iImageWidth, myIcon->iImageHeight));
152 if (cImagePath == NULL)153 if (cImagePath == NULL)
153 cImagePath = cairo_dock_search_image_s_path (myConfig.cDefaultIcon);154 cImagePath = cairo_dock_search_image_s_path (myConfig.cDefaultIcon);
154 if (cImagePath != NULL)155 if (cImagePath != NULL)
@@ -174,7 +175,7 @@
174{175{
175 if (myConfig.cMuteIcon != NULL)176 if (myConfig.cMuteIcon != NULL)
176 {177 {
177 gchar *cImagePath = cairo_dock_search_icon_s_path (myConfig.cMuteIcon);178 gchar *cImagePath = cairo_dock_search_icon_s_path (myConfig.cMuteIcon, MAX (myIcon->iImageWidth, myIcon->iImageHeight));
178 if (cImagePath == NULL)179 if (cImagePath == NULL)
179 cImagePath = cairo_dock_search_image_s_path (myConfig.cMuteIcon);180 cImagePath = cairo_dock_search_image_s_path (myConfig.cMuteIcon);
180 if (cImagePath != NULL)181 if (cImagePath != NULL)
181182
=== modified file 'alsaMixer/src/applet-init.c'
--- alsaMixer/src/applet-init.c 2012-02-16 01:45:57 +0000
+++ alsaMixer/src/applet-init.c 2012-03-21 20:37:19 +0000
@@ -33,10 +33,9 @@
33 CAIRO_DOCK_CATEGORY_APPLET_SYSTEM,33 CAIRO_DOCK_CATEGORY_APPLET_SYSTEM,
34 N_("This applet lets you control the sound volume from the dock.\n"34 N_("This applet lets you control the sound volume from the dock.\n"
35 "Scroll up/down on the icon to increase/decrease the volume.\n"35 "Scroll up/down on the icon to increase/decrease the volume.\n"
36 "Click on icon to show/hide volume control (you can bind a keyboard shortcut for it)\n"36 "Click on icon to show/hide the volume control (you can bind a keyboard shortcut for it)\n"
37 "You can also hide the dialog by clicking on it.\n"
38 "Middle-click to set or unset to mute, double-click to raise the channels mixer.\n"37 "Middle-click to set or unset to mute, double-click to raise the channels mixer.\n"
39 "This applet works with the Alsa sound driver."),38 "The applet can either use the Ubuntu Sound-menu or the Alsa driver."),
40 "Fabounet (Fabrice Rey)")39 "Fabounet (Fabrice Rey)")
41 CD_APPLET_DEFINE_COMMON_APPLET_INTERFACE40 CD_APPLET_DEFINE_COMMON_APPLET_INTERFACE
42 CD_APPLET_ALLOW_EMPTY_TITLE41 CD_APPLET_ALLOW_EMPTY_TITLE
@@ -247,11 +246,9 @@
247 if (myDesklet && myDesklet->container.iHeight <= 64)246 if (myDesklet && myDesklet->container.iHeight <= 64)
248 gtk_widget_hide (myData.pScale);247 gtk_widget_hide (myData.pScale);
249 248
250 CD_APPLET_RELOAD_MY_DATA_RENDERER (NULL);249 if (myConfig.iVolumeEffect == VOLUME_EFFECT_GAUGE)
250 CD_APPLET_RELOAD_MY_DATA_RENDERER (NULL);
251 251
252 if (myData.pControledElement != NULL)252 cd_update_icon ();
253 {
254 cd_update_icon ();
255 }
256 }253 }
257CD_APPLET_RELOAD_END254CD_APPLET_RELOAD_END
258255
=== modified file 'alsaMixer/src/applet-notifications.c'
--- alsaMixer/src/applet-notifications.c 2012-02-16 01:45:57 +0000
+++ alsaMixer/src/applet-notifications.c 2012-03-21 20:37:19 +0000
@@ -26,6 +26,7 @@
26#include "applet-generic.h"26#include "applet-generic.h"
27#include "applet-notifications.h"27#include "applet-notifications.h"
2828
29static const gchar *s_cMixerCmd = NULL;
2930
30CD_APPLET_ON_CLICK_BEGIN31CD_APPLET_ON_CLICK_BEGIN
31 cd_show_hide ();32 cd_show_hide ();
@@ -40,18 +41,9 @@
40 {41 {
41 g_spawn_command_line_async (myConfig.cShowAdvancedMixerCommand, &erreur);42 g_spawn_command_line_async (myConfig.cShowAdvancedMixerCommand, &erreur);
42 }43 }
43 else44 else if (s_cMixerCmd != NULL)
44 {45 {
45 gchar *cResult = cairo_dock_launch_command_sync ("which gnome-volume-control");46 g_spawn_command_line_async (s_cMixerCmd, &erreur);
46 if (cResult != NULL && *cResult == '/')
47 {
48 g_spawn_command_line_async ("gnome-volume-control -p applications", &erreur); // gnome 2
49 }
50 else /// TODO: we need to handle the other DE too ...
51 {
52 g_spawn_command_line_async ("gnome-control-center sound", &erreur); // Gnome 3
53 }
54 g_free (cResult);
55 }47 }
56 48
57 if (erreur != NULL)49 if (erreur != NULL)
@@ -62,11 +54,33 @@
62 CD_APPLET_LEAVE();54 CD_APPLET_LEAVE();
63}55}
64CD_APPLET_ON_BUILD_MENU_BEGIN56CD_APPLET_ON_BUILD_MENU_BEGIN
57 static gboolean bMixerChecked = FALSE;
65 gchar *cLabel;58 gchar *cLabel;
66 59
67 cLabel = g_strdup_printf ("%s (%s)", D_("Adjust channels"), D_("double-click"));60 if (!myConfig.cShowAdvancedMixerCommand && !bMixerChecked)
68 CD_APPLET_ADD_IN_MENU_WITH_STOCK (cLabel, GTK_STOCK_PREFERENCES, _mixer_show_advanced_mixer, CD_APPLET_MY_MENU);61 {
69 g_free (cLabel);62 bMixerChecked = TRUE;
63 gchar *cResult = cairo_dock_launch_command_sync ("which gnome-control-center"); // Gnome3
64 if (cResult != NULL && *cResult == '/')
65 {
66 s_cMixerCmd = "gnome-control-center sound";
67 }
68 else
69 {
70 g_free (cResult);
71 cResult = cairo_dock_launch_command_sync ("which gnome-volume-control"); // Gnome2
72 if (cResult != NULL && *cResult == '/') /// TODO: other DE...
73 s_cMixerCmd = "gnome-volume-control -p applications";
74 } /// TODO: handle other DE ...
75 g_free (cResult);
76 }
77
78 if (myConfig.cShowAdvancedMixerCommand || s_cMixerCmd)
79 {
80 cLabel = g_strdup_printf ("%s (%s)", D_("Adjust channels"), D_("double-click"));
81 CD_APPLET_ADD_IN_MENU_WITH_STOCK (cLabel, GTK_STOCK_PREFERENCES, _mixer_show_advanced_mixer, CD_APPLET_MY_MENU);
82 g_free (cLabel);
83 }
70 84
71 cLabel = g_strdup_printf ("%s (%s)", (myData.bIsMute ? D_("Unmute") : D_("Mute")), D_("middle-click"));85 cLabel = g_strdup_printf ("%s (%s)", (myData.bIsMute ? D_("Unmute") : D_("Mute")), D_("middle-click"));
72 CD_APPLET_ADD_IN_MENU_WITH_STOCK (cLabel, MY_APPLET_SHARE_DATA_DIR"/emblem-mute.svg", cd_toggle_mute, CD_APPLET_MY_MENU);86 CD_APPLET_ADD_IN_MENU_WITH_STOCK (cLabel, MY_APPLET_SHARE_DATA_DIR"/emblem-mute.svg", cd_toggle_mute, CD_APPLET_MY_MENU);
7387
=== added file 'alsaMixer/src/dbus-shared-names-old.h'
--- alsaMixer/src/dbus-shared-names-old.h 1970-01-01 00:00:00 +0000
+++ alsaMixer/src/dbus-shared-names-old.h 2012-03-21 20:37:19 +0000
@@ -0,0 +1,37 @@
1/*
2A small wrapper utility to load indicators and put them as menu items
3into the gnome-panel using it's applet interface.
4
5Copyright 2010 Canonical Ltd.
6
7Authors:
8 Conor Curran <conor.curran@canonical.com>
9 Ted Gould <ted@canonical.com>
10
11This program is free software: you can redistribute it and/or modify it
12under the terms of the GNU General Public License version 3, as published
13by the Free Software Foundation.
14
15This program is distributed in the hope that it will be useful, but
16WITHOUT ANY WARRANTY; without even the implied warranties of
17MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
18PURPOSE. See the GNU General Public License for more details.
19
20You should have received a copy of the GNU General Public License along
21with this program. If not, see <http://www.gnu.org/licenses/>.
22*/
23
24
25#ifndef __DBUS_SHARED_NAMES_H__
26#define __DBUS_SHARED_NAMES_H__
27
28#define INDICATOR_SOUND_DBUS_NAME "com.canonical.indicators.sound"
29#define INDICATOR_SOUND_MENU_DBUS_OBJECT_PATH "/com/canonical/indicators/sound/menu"
30#define INDICATOR_SOUND_SERVICE_DBUS_OBJECT_PATH "/com/canonical/indicators/sound/service"
31#define INDICATOR_SOUND_DBUS_INTERFACE "com.canonical.indicators.sound"
32#define INDICATOR_SOUND_DBUS_VERSION 0
33
34#define INDICATOR_SOUND_SIGNAL_STATE_UPDATE "SoundStateUpdate"
35
36
37#endif /* __DBUS_SHARED_NAMES_H__ */
038
=== modified file 'alsaMixer/src/dbus-shared-names.h'
--- alsaMixer/src/dbus-shared-names.h 2012-02-16 01:45:57 +0000
+++ alsaMixer/src/dbus-shared-names.h 2012-03-21 20:37:19 +0000
@@ -25,10 +25,10 @@
25#ifndef __DBUS_SHARED_NAMES_H__25#ifndef __DBUS_SHARED_NAMES_H__
26#define __DBUS_SHARED_NAMES_H__26#define __DBUS_SHARED_NAMES_H__
2727
28#define INDICATOR_SOUND_DBUS_NAME "com.canonical.indicators.sound"28#define INDICATOR_SOUND_DBUS_NAME "com.canonical.indicator.sound"
29#define INDICATOR_SOUND_MENU_DBUS_OBJECT_PATH "/com/canonical/indicators/sound/menu"29#define INDICATOR_SOUND_MENU_DBUS_OBJECT_PATH "/com/canonical/indicator/sound/menu"
30#define INDICATOR_SOUND_SERVICE_DBUS_OBJECT_PATH "/com/canonical/indicators/sound/service"30#define INDICATOR_SOUND_SERVICE_DBUS_OBJECT_PATH "/com/canonical/indicator/sound/service"
31#define INDICATOR_SOUND_DBUS_INTERFACE "com.canonical.indicators.sound"31#define INDICATOR_SOUND_DBUS_INTERFACE "com.canonical.indicator.sound"
32#define INDICATOR_SOUND_DBUS_VERSION 032#define INDICATOR_SOUND_DBUS_VERSION 0
3333
34#define INDICATOR_SOUND_SIGNAL_STATE_UPDATE "SoundStateUpdate"34#define INDICATOR_SOUND_SIGNAL_STATE_UPDATE "SoundStateUpdate"
3535
=== modified file 'alsaMixer/src/metadata-widget.c'
--- alsaMixer/src/metadata-widget.c 2012-02-16 01:45:57 +0000
+++ alsaMixer/src/metadata-widget.c 2012-03-21 20:37:19 +0000
@@ -217,9 +217,9 @@
217 // player label217 // player label
218 GtkWidget* player_label;218 GtkWidget* player_label;
219 player_label = gtk_label_new("");219 player_label = gtk_label_new("");
220 gtk_misc_set_alignment(GTK_MISC(player_label), (gfloat)0, (gfloat)0.5);220 gtk_misc_set_alignment(GTK_MISC(player_label), (gfloat)0, (gfloat)0);
221 gtk_misc_set_padding (GTK_MISC(player_label), (gfloat)1, (gfloat)0); 221 gtk_misc_set_padding (GTK_MISC(player_label), (gfloat)1, (gfloat)4);
222 gtk_widget_set_size_request (player_label, 200, 24);222 gtk_widget_set_size_request (player_label, 150, 24);
223 priv->player_label = player_label;223 priv->player_label = player_label;
224 224
225 gtk_box_pack_start (GTK_BOX(outer_v_box), priv->player_label, FALSE, FALSE, 0);225 gtk_box_pack_start (GTK_BOX(outer_v_box), priv->player_label, FALSE, FALSE, 0);
@@ -241,7 +241,12 @@
241241
242 if (priv->icon_buf != NULL){242 if (priv->icon_buf != NULL){
243 gdk_pixbuf_unref(priv->icon_buf);243 gdk_pixbuf_unref(priv->icon_buf);
244 priv->icon_buf = NULL;
244 }245 }
246 g_string_free (priv->image_path, TRUE);
247 priv->image_path = NULL;
248 g_string_free (priv->old_image_path, TRUE);
249 priv->old_image_path = NULL;
245 G_OBJECT_CLASS (metadata_widget_parent_class)->dispose (object);250 G_OBJECT_CLASS (metadata_widget_parent_class)->dispose (object);
246}251}
247252
@@ -410,36 +415,37 @@
410 {415 {
411 return FALSE;416 return FALSE;
412 }417 }
413 418
419 if(priv->image_path->len > 0){
420 if(g_string_equal(priv->image_path, priv->old_image_path) == FALSE ||
421 priv->theme_change_occured == TRUE){
422 priv->theme_change_occured = FALSE;
423 GdkPixbuf* pixbuf;
424 pixbuf = gdk_pixbuf_new_from_file_at_size(priv->image_path->str, 60, 60, NULL);
425
426 if(GDK_IS_PIXBUF(pixbuf) == FALSE){
427 gtk_image_clear ( GTK_IMAGE(priv->album_art));
428 gtk_widget_set_size_request(GTK_WIDGET(priv->album_art), 60, 60);
429 draw_album_border_gtk_3 (metadata, FALSE, cr);
430 draw_album_art_placeholder_gtk_3(metadata, cr);
431 return FALSE;
432 }
433
434 gtk_image_set_from_pixbuf(GTK_IMAGE(priv->album_art), pixbuf);
435 gtk_widget_set_size_request(GTK_WIDGET(priv->album_art),
436 gdk_pixbuf_get_width(pixbuf),
437 gdk_pixbuf_get_height(pixbuf));
438
439 draw_album_border_gtk_3 (metadata, FALSE, cr);
440 g_string_erase (priv->old_image_path, 0, -1);
441 g_string_overwrite (priv->old_image_path, 0, priv->image_path->str);
442 g_object_unref(pixbuf);
443 }
444 return FALSE;
445 }
446 gtk_image_clear (GTK_IMAGE(priv->album_art));
447 gtk_widget_set_size_request(GTK_WIDGET(priv->album_art), 60, 60);
414 draw_album_border_gtk_3 (metadata, FALSE, cr);448 draw_album_border_gtk_3 (metadata, FALSE, cr);
415
416 if(priv->image_path->len > 0){
417 if(g_string_equal(priv->image_path, priv->old_image_path) == FALSE ||
418 priv->theme_change_occured == TRUE){
419 priv->theme_change_occured = FALSE;
420 GdkPixbuf* pixbuf;
421 pixbuf = gdk_pixbuf_new_from_file_at_size(priv->image_path->str, 60, 60, NULL);
422
423 if(GDK_IS_PIXBUF(pixbuf) == FALSE){
424 gtk_image_clear ( GTK_IMAGE(priv->album_art));
425 gtk_widget_set_size_request(GTK_WIDGET(priv->album_art), 60, 60);
426 draw_album_art_placeholder_gtk_3(metadata, cr);
427 return FALSE;
428 }
429
430 gtk_image_set_from_pixbuf(GTK_IMAGE(priv->album_art), pixbuf);
431 gtk_widget_set_size_request(GTK_WIDGET(priv->album_art),
432 gdk_pixbuf_get_width(pixbuf),
433 gdk_pixbuf_get_height(pixbuf));
434
435 g_string_erase (priv->old_image_path, 0, -1);
436 g_string_overwrite (priv->old_image_path, 0, priv->image_path->str);
437 g_object_unref(pixbuf);
438 }
439 return FALSE;
440 }
441 gtk_image_clear (GTK_IMAGE(priv->album_art));
442 gtk_widget_set_size_request(GTK_WIDGET(priv->album_art), 60, 60);
443 draw_album_art_placeholder_gtk_3(metadata, cr);449 draw_album_art_placeholder_gtk_3(metadata, cr);
444 return FALSE;450 return FALSE;
445}451}
@@ -907,8 +913,10 @@
907 gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &width, &height);913 gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &width, &height);
908 914
909 GString* banshee_string = g_string_new ( "banshee" );915 GString* banshee_string = g_string_new ( "banshee" );
910 GString* app_panel = g_string_new ( g_utf8_strdown (dbusmenu_menuitem_property_get(priv->twin_item, DBUSMENU_METADATA_MENUITEM_PLAYER_NAME),916 gchar * tmp = g_utf8_strdown (dbusmenu_menuitem_property_get(priv->twin_item, DBUSMENU_METADATA_MENUITEM_PLAYER_NAME), -1);
911 -1));917 GString* app_panel = g_string_new (tmp);
918 g_free (tmp);
919
912 GdkPixbuf* icon_buf;920 GdkPixbuf* icon_buf;
913 921
914 // Banshee Special case! 922 // Banshee Special case!
915923
=== modified file 'alsaMixer/src/transport-widget.c'
--- alsaMixer/src/transport-widget.c 2012-02-16 01:45:57 +0000
+++ alsaMixer/src/transport-widget.c 2012-03-21 20:37:19 +0000
@@ -269,6 +269,13 @@
269 }269 }
270 }270 }
271 #endif271 #endif
272
273 TransportWidgetPrivate* priv = TRANSPORT_WIDGET_GET_PRIVATE(object);
274 if (priv->command_coordinates != NULL) {
275 g_hash_table_destroy (priv->command_coordinates);
276 priv->command_coordinates = NULL;
277 }
278
272 G_OBJECT_CLASS (transport_widget_parent_class)->dispose (object);279 G_OBJECT_CLASS (transport_widget_parent_class)->dispose (object);
273}280}
274281
275282
=== modified file 'alsaMixer/src/volume-widget.c'
--- alsaMixer/src/volume-widget.c 2012-02-16 01:45:57 +0000
+++ alsaMixer/src/volume-widget.c 2012-03-21 20:37:19 +0000
@@ -218,7 +218,7 @@
218218
219 volume_widget_update(mitem, new_value, "change-value");219 volume_widget_update(mitem, new_value, "change-value");
220220
221 /// I think we need to update the icon here.221 // we need to update the icon here.
222 update_accessible_desc (new_value);222 update_accessible_desc (new_value);
223 return FALSE;223 return FALSE;
224}224}
225225
=== modified file 'clock/data/clock.conf.in'
--- clock/data/clock.conf.in 2012-02-16 01:45:57 +0000
+++ clock/data/clock.conf.in 2012-03-21 20:37:19 +0000
@@ -21,8 +21,8 @@
21#{Set to 0 to use the default applet size}21#{Set to 0 to use the default applet size}
22icon size = 0;022icon size = 0;0
2323
24#B Always display the icon, even when the dock is hidden?24#Y+[No;0;0;With default background;0;0;With custom background;1;1] Always display the icon, even when the dock is hidden?
25always visi = false25always_visi = 0
2626
27#C+ Background color to add in this case27#C+ Background color to add in this case
28bg color = .8;.8;.8;.528bg color = .8;.8;.8;.5
@@ -151,6 +151,9 @@
151#X[Digital View;gtk-italic]151#X[Digital View;gtk-italic]
152numeric=152numeric=
153153
154#B+ Use a custom font
155custom font = false
156
154#P+ Font:157#P+ Font:
155font = Sans 16158font = Sans 16
156159
157160
=== modified file 'clock/src/CMakeLists.txt'
--- clock/src/CMakeLists.txt 2010-09-18 14:20:27 +0000
+++ clock/src/CMakeLists.txt 2012-03-21 20:37:19 +0000
@@ -47,55 +47,3 @@
47########### install files ###############47########### install files ###############
4848
49install(TARGETS ${PACKAGE_CLOCK} DESTINATION ${pluginsdir})49install(TARGETS ${PACKAGE_CLOCK} DESTINATION ${pluginsdir})
50
51
52#original Makefile.am contents follow:
53
54# #dnl Process this file with automake to produce Makefile.in
55#
56#lib_LTLIBRARIES =
57# libcd-clock.la
58#
59#
60#libcd_clock_la_SOURCES =
61# applet-struct.h
62# applet-init.c
63# applet-init.h
64# applet-draw.c
65# applet-draw.h
66# applet-digital.c
67# applet-digital.h
68# applet-config.c
69# applet-config.h
70# applet-notifications.c
71# applet-notifications.h
72# applet-theme.c
73# applet-theme.h
74#
75#
76#dock_version = `pkg-config --modversion cairo-dock`
77#
78#libcd_clock_la_CFLAGS =
79# -I$(top_srcdir)/src
80# $(PACKAGE_CFLAGS)
81# -DMY_APPLET_SHARE_DATA_DIR=""${clockdatadir)""
82# -DMY_APPLET_PREVIEW_FILE=""preview.jpg""
83# -DMY_APPLET_CONF_FILE=""clock.conf""
84# -DMY_APPLET_USER_DATA_DIR=""${clockuserdirname)""
85# -DMY_APPLET_VERSION=""${VERSION_CLOCK)""
86# -DMY_APPLET_GETTEXT_DOMAIN=""${GETTEXT_CLOCK)""
87# -DMY_APPLET_DOCK_VERSION=""${dock_version)""
88# -DMY_APPLET_ICON_FILE=""icon.png""
89# -DCD_APPLET_MULTI_INSTANCE="1"
90# -DGL_GLEXT_PROTOTYPES=""1""
91# -std=c99
92# -Wall
93## -g -ggdb -W -Wall
94#
95#
96#libcd_clock_la_LIBADD =
97# $(PACKAGE_LIBS) -lm
98#
99#
100#libcd_clock_la_LDFLAGS =
101# -avoid-version -module
10250
=== modified file 'clock/src/applet-config.c'
--- clock/src/applet-config.c 2011-04-20 20:46:51 +0000
+++ clock/src/applet-config.c 2012-03-21 20:37:19 +0000
@@ -76,31 +76,42 @@
76 {76 {
77 CD_CONFIG_GET_COLOR_WITH_DEFAULT ("Configuration", "text color", myConfig.fTextColor, couleur);77 CD_CONFIG_GET_COLOR_WITH_DEFAULT ("Configuration", "text color", myConfig.fTextColor, couleur);
78 78
79 gchar *cFontDescription = CD_CONFIG_GET_STRING ("Configuration", "font");79 gboolean bCustomFont = CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT ("Configuration", "custom font", FALSE); // false by default
80 if (cFontDescription == NULL)80 if (bCustomFont)
81 {81 {
82 cFontDescription = g_strdup ("Sans"); // sinon fd est NULL. On ne precise pas la taille ici pour pouvoir intercepter ce cas.82 gchar *cFontDescription = CD_CONFIG_GET_STRING ("Configuration", "font");
83 }83 if (cFontDescription == NULL)
84 PangoFontDescription *fd = pango_font_description_from_string (cFontDescription);84 {
85 85 cFontDescription = g_strdup ("Sans"); // sinon fd est NULL. On ne precise pas la taille ici pour pouvoir intercepter ce cas.
86 myConfig.cFont = g_strdup (pango_font_description_get_family (fd));86 }
87 myConfig.iWeight = pango_font_description_get_weight (fd);87 PangoFontDescription *fd = pango_font_description_from_string (cFontDescription);
88 myConfig.iStyle = pango_font_description_get_style (fd);88
89 if (pango_font_description_get_size (fd) == 0) // anciens parametres de font.89 myConfig.cFont = g_strdup (pango_font_description_get_family (fd));
90 {90 myConfig.iWeight = pango_font_description_get_weight (fd);
91 int iWeight = g_key_file_get_integer (pKeyFile, "Configuration", "weight", NULL);91 myConfig.iStyle = pango_font_description_get_style (fd);
92 myConfig.iWeight = cairo_dock_get_pango_weight_from_1_9 (iWeight);92
93 myConfig.iStyle = PANGO_STYLE_NORMAL;93 if (pango_font_description_get_size (fd) == 0) // anciens parametres de font.
94 94 {
95 pango_font_description_set_size (fd, 16 * PANGO_SCALE);95 int iWeight = g_key_file_get_integer (pKeyFile, "Configuration", "weight", NULL);
96 pango_font_description_set_weight (fd, myConfig.iWeight);96 myConfig.iWeight = cairo_dock_get_pango_weight_from_1_9 (iWeight);
97 pango_font_description_set_style (fd, myConfig.iStyle);97 myConfig.iStyle = PANGO_STYLE_NORMAL;
98
99 pango_font_description_set_size (fd, 16 * PANGO_SCALE);
100 pango_font_description_set_weight (fd, myConfig.iWeight);
101 pango_font_description_set_style (fd, myConfig.iStyle);
102 g_free (cFontDescription);
103 cFontDescription = pango_font_description_to_string (fd);
104 g_key_file_set_string (pKeyFile, "Configuration", "font", cFontDescription);
105 }
106 pango_font_description_free (fd);
98 g_free (cFontDescription);107 g_free (cFontDescription);
99 cFontDescription = pango_font_description_to_string (fd);108 }
100 g_key_file_set_string (pKeyFile, "Configuration", "font", cFontDescription);109 else // use the same font as the labels
101 }110 {
102 pango_font_description_free (fd);111 myConfig.cFont = g_strdup (myIconsParam.iconTextDescription.cFont);
103 g_free (cFontDescription);112 myConfig.iWeight = PANGO_WEIGHT_HEAVY; // force to bold, it's much more readable.
113 myConfig.iStyle = myIconsParam.iconTextDescription.iStyle;
114 }
104 115
105 myConfig.cNumericBackgroundImage = CD_CONFIG_GET_STRING ("Configuration", "numeric bg");116 myConfig.cNumericBackgroundImage = CD_CONFIG_GET_STRING ("Configuration", "numeric bg");
106 myConfig.fTextRatio = CD_CONFIG_GET_DOUBLE_WITH_DEFAULT ("Configuration", "text ratio", 1.);117 myConfig.fTextRatio = CD_CONFIG_GET_DOUBLE_WITH_DEFAULT ("Configuration", "text ratio", 1.);
@@ -456,9 +467,8 @@
456 s_pTimeZoneList = NULL;467 s_pTimeZoneList = NULL;
457}468}
458469
459void cd_clock_load_custom_widget (CairoDockModuleInstance *myApplet, GKeyFile* pKeyFile)470void cd_clock_load_custom_widget (CairoDockModuleInstance *myApplet, GKeyFile* pKeyFile) // warning: myApplet can be NULL if the applet has not been yet started.
460{471{
461 cd_debug ("%s (%s)", __func__, myIcon->cName);
462 //\____________ On recupere notre widget personnalise (un simple container vide qu'on va remplir avec nos trucs).472 //\____________ On recupere notre widget personnalise (un simple container vide qu'on va remplir avec nos trucs).
463 CairoDockGroupKeyWidget *pGroupKeyWidget = CD_APPLET_GET_CONFIG_PANEL_GROUP_KEY_WIDGET ("Alarm", "add new");473 CairoDockGroupKeyWidget *pGroupKeyWidget = CD_APPLET_GET_CONFIG_PANEL_GROUP_KEY_WIDGET ("Alarm", "add new");
464 g_return_if_fail (pGroupKeyWidget != NULL);474 g_return_if_fail (pGroupKeyWidget != NULL);
465475
=== removed file 'clock/src/applet-digital.c'
--- clock/src/applet-digital.c 2011-04-20 20:46:51 +0000
+++ clock/src/applet-digital.c 1970-01-01 00:00:00 +0000
@@ -1,239 +0,0 @@
1/**
2* This file is a part of the Cairo-Dock project
3*
4* Copyright : (C) see the 'copyright' file.
5* E-mail : see the 'copyright' file.
6*
7* This program is free software; you can redistribute it and/or
8* modify it under the terms of the GNU General Public License
9* as published by the Free Software Foundation; either version 3
10* of the License, or (at your option) any later version.
11*
12* This program is distributed in the hope that it will be useful,
13* but WITHOUT ANY WARRANTY; without even the implied warranty of
14* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15* GNU General Public License for more details.
16* You should have received a copy of the GNU General Public License
17* along with this program. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20#include <stdlib.h>
21#include <math.h>
22
23#include "applet-struct.h"
24#include "applet-config.h"
25#include "applet-digital.h"
26
27
28#define CD_CLOCK_DATE_BUFFER_LENGTH 50
29static char s_cDateBuffer[CD_CLOCK_DATE_BUFFER_LENGTH+1];
30
31void cd_clock_configure_digital (CairoDockModuleInstance *myApplet) {
32 cd_debug ("%s", __func__);
33
34 GError *erreur = NULL;
35 GKeyFile *pKeyFile = g_key_file_new (); //On ouvre le fichier de conf
36 if (myConfig.cDigital == NULL)
37 myConfig.cDigital = g_strdup ("default");
38
39 gchar *cConfPath = g_strdup_printf ("%s/digital/%s/config", MY_APPLET_SHARE_DATA_DIR, myConfig.cDigital);
40 cd_debug ("Clock: Using %s digital theme", cConfPath);
41 g_key_file_load_from_file (pKeyFile, cConfPath, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, &erreur);
42
43 if (erreur != NULL) {
44 cd_warning ("Attention : %s", erreur->message);
45 g_error_free (erreur);
46 erreur = NULL;
47 return;
48 }
49
50 myData.pDigitalClock.bSecondCapable = cairo_dock_get_boolean_key_value (pKeyFile, "configuration", "seconds", FALSE, FALSE, NULL, NULL);
51 myData.pDigitalClock.iFrameSpacing = cairo_dock_get_integer_key_value (pKeyFile, "configuration", "framespacing", FALSE, 2, NULL, NULL);
52
53 myData.pDigitalClock.i12modeWidth = cairo_dock_get_integer_key_value (pKeyFile, "configuration", "12width", FALSE, 6, NULL, NULL);
54 myData.pDigitalClock.i12modeHeight = cairo_dock_get_integer_key_value (pKeyFile, "configuration", "12height", FALSE, 6, NULL, NULL);
55 myData.pDigitalClock.i12modeXOffset = cairo_dock_get_integer_key_value (pKeyFile, "configuration", "12offsetX", FALSE, 4, NULL, NULL);
56 myData.pDigitalClock.i12modeYOffset = cairo_dock_get_integer_key_value (pKeyFile, "configuration", "12offsetY", FALSE, 1, NULL, NULL);
57 myData.pDigitalClock.i12modeFrame = cairo_dock_get_integer_key_value (pKeyFile, "configuration", "12frame", FALSE, 4, NULL, NULL);
58
59 int i = 0, j = (myData.pDigitalClock.bSecondCapable == TRUE ? 3 : 4);
60 //Avec secondes 3 frames, une par unités (hh : mm : ss)
61 //Sans secondes 4 frames, une par nombre (1|2:4|5)
62 for (i = 0; i < j; i++) {
63 gchar *cGroupName = g_strdup_printf ("frame_%d", i);
64 myData.pDigitalClock.pFrame[i].iWidth = cairo_dock_get_integer_key_value (pKeyFile, cGroupName, "width", FALSE, 4, NULL, NULL);
65 myData.pDigitalClock.pFrame[i].iHeight = cairo_dock_get_integer_key_value (pKeyFile, cGroupName, "height", FALSE, 4, NULL, NULL);
66 myData.pDigitalClock.pFrame[i].iXOffset = cairo_dock_get_integer_key_value (pKeyFile, cGroupName, "offsetX", FALSE, 0, NULL, NULL);
67 myData.pDigitalClock.pFrame[i].iYOffset = cairo_dock_get_integer_key_value (pKeyFile, cGroupName, "offsetY", FALSE, 0, NULL, NULL);
68 g_free (cGroupName);
69
70 cGroupName = g_strdup_printf ("text_%d", i);
71 myData.pDigitalClock.pText[i].iXOffset = cairo_dock_get_integer_key_value (pKeyFile, cGroupName, "offsetX", FALSE, -1, NULL, NULL);
72 myData.pDigitalClock.pText[i].iYOffset = cairo_dock_get_integer_key_value (pKeyFile, cGroupName, "offsetY", FALSE, -1, NULL, NULL);
73 g_free (cGroupName);
74 }
75
76 g_key_file_free (pKeyFile);
77 g_free (cConfPath);
78
79 cd_clock_digital_load_frames (myApplet);
80}
81
82void cd_clock_digital_load_frames (CairoDockModuleInstance *myApplet) {
83 cd_debug ("%s", __func__);
84
85 int i = 0, j = (myData.pDigitalClock.bSecondCapable == TRUE ? 3 : 4);
86 double fFrameWidth = 1, fFrameHeight = 1;
87 //Avec secondes 3 frames, une par unités (hh : mm : ss)
88 //Sans secondes 4 frames, une par nombre (1|2:4|5)
89 for (i = 0; i < j; i++) {
90 fFrameWidth = myIcon->fWidth / (double) myData.pDigitalClock.pFrame[i].iWidth;
91 cd_debug ("Clock: frame %d width %.02f (%.02f %d)", i+1, fFrameWidth, myIcon->fWidth, myData.pDigitalClock.pFrame[i].iWidth);
92 fFrameWidth = fFrameWidth - myData.pDigitalClock.iFrameSpacing;
93 fFrameHeight = myIcon->fHeight; /// myData.pDigitalClock.pFrame[i].iHeight;
94 double fImgW=0, fImgH=0;
95
96 if (myConfig.cDigital == NULL)
97 myConfig.cDigital = g_strdup ("default");
98
99 gchar *cImagePath = g_strdup_printf ("%s/digital/%s/frame_%d.svg", MY_APPLET_SHARE_DATA_DIR, myConfig.cDigital, i);
100 cd_debug ("Clock: Loading %s frame (%.02fx%.02f)", cImagePath, fFrameWidth, fFrameHeight);
101 cairo_t *pCairoContext = cairo_dock_create_context_from_window (myContainer);
102 myData.pDigitalClock.pFrame[i].pFrameSurface = cairo_dock_create_surface_from_image (cImagePath,
103 1.,
104 fFrameWidth, fFrameHeight,
105 FALSE,
106 &fImgW, &fImgH,
107 NULL, NULL);
108 cairo_destroy (pCairoContext);
109 g_free (cImagePath);
110 }
111}
112
113void cd_clock_draw_frames (CairoDockModuleInstance *myApplet) {
114 cd_debug ("%s", __func__);
115
116 cairo_set_source_rgba (myDrawContext, 0., 0., 0., 0.);
117 cairo_set_operator (myDrawContext, CAIRO_OPERATOR_SOURCE);
118 cairo_paint (myDrawContext);
119 cairo_set_operator (myDrawContext, CAIRO_OPERATOR_OVER);
120
121 int i = 0, j = (myData.pDigitalClock.bSecondCapable == TRUE ? 3 : 4);
122 double fX, fY;
123 //Avec secondes 3 frames, une par unité (hh | mm | ss)
124 //Sans secondes 4 frames, une par nombre (1|2 | 4|5)
125 for (i = 0; i < j; i++) {
126 fX = (myIcon->fWidth / j) * i + myData.pDigitalClock.pFrame[i].iXOffset;
127 fY = myData.pDigitalClock.pFrame[i].iYOffset;
128 cd_debug ("Clock: frame:%d ; fX:%.02f ; fY:%.02f", i+1, fX, fY);
129 cairo_set_source_surface (myDrawContext, myData.pDigitalClock.pFrame[i].pFrameSurface, fX, fY);
130 cairo_paint (myDrawContext);
131 }
132
133 CD_APPLET_REDRAW_MY_ICON;
134}
135
136void cd_clock_put_text_on_frames (CairoDockModuleInstance *myApplet, int width, int height, double fMaxScale, struct tm *pTime) {
137 cd_debug ("%s", __func__);
138
139 cairo_t *pSourceContext = myDrawContext;
140 GString *sFormat = g_string_new ("");
141
142 if (myConfig.b24Mode) {
143 if (myData.pDigitalClock.bSecondCapable)
144 g_string_printf (sFormat, "%%T");
145 else
146 g_string_printf (sFormat, " %%R");
147 }
148 else {
149 if (myData.pDigitalClock.bSecondCapable)
150 g_string_printf (sFormat, "%%r%%s");
151 else
152 g_string_printf (sFormat, "%%I:%%M");
153 }
154
155 if (myConfig.iShowDate == CAIRO_DOCK_INFO_ON_ICON)
156 cd_clock_draw_date_on_frame (myApplet);
157 //Erf! Comment bien gérer ca ...
158
159 strftime (s_cDateBuffer, CD_CLOCK_DATE_BUFFER_LENGTH, sFormat->str, pTime);
160 g_string_free (sFormat, TRUE);
161
162 /// Attention : soit on passe un char a cd_clock_fill_text_surface(), soit un char *, il faut choisir.
163 /// Ne pas modifier le pointeur d'une chaine ! utiliser un pointeur secondaire qu'on balade dessus, sinon au free ca fait mal ;-)
164 gchar *cTime = g_strdup (s_cDateBuffer), *cT1 = NULL;
165 if (myData.pDigitalClock.bSecondCapable) { //On coupe aux ':' donc on arrive a 12|45|32
166 cT1 = g_strdup (cTime);
167 gchar *str = strchr (cT1, ':'); //On récupère [12]:45:32
168 if (str != NULL)
169 *str = '\0';
170 cd_clock_fill_text_surface (myApplet, cT1, 0);
171
172 cT1 = g_strdup (cTime);
173 str = strrchr (cT1, ':'); //On récupère [12:45]:32
174 if (str != NULL)
175 *str = '\0';
176 str = strchr (cT1, ':'); //On récupère 12:[45]:32
177 str++;
178 cd_clock_fill_text_surface (myApplet, str, 1);
179
180 cT1 = g_strdup (cTime);
181 str = strrchr (cT1, ':'); //On récupère 12:45:[32]
182 str++;
183 cd_clock_fill_text_surface (myApplet, str, 2);
184 }
185 else { //On coupe au ':' puis on sépare les chiffres donc on arrive a 1|2 | 4|5
186 cT1 = g_strdup (cTime);
187 gchar *str = strchr (cT1, ':'); //On récupère [12]:45
188 if (str != NULL)
189 *str = '\0';
190 cd_clock_fill_text_surface (myApplet, *cT1, 0);
191 cT1++; /// GLUPS !
192 cd_clock_fill_text_surface (myApplet, *cT1, 1);
193
194 cT1 = g_strdup (cTime);
195 str = strrchr (cT1, ':'); //On récupère 12:[45]
196 str++;
197 cd_clock_fill_text_surface (myApplet, *str, 2);
198 str++;
199 cd_clock_fill_text_surface (myApplet, *str, 3);
200 }
201 g_free (cTime);
202 g_free (cT1);
203
204 int i = 0, j = (myData.pDigitalClock.bSecondCapable == TRUE ? 3 : 4);
205 for (i = 0; i < j; i++) {
206 //On dessine le texte dans les frames
207 cd_clock_draw_text_from_surface (myApplet, i);
208 }
209
210 //On ajoute le am/pm s'il le faut
211 if (! myConfig.b24Mode) {
212 if (pTime->tm_hour > 12)
213 cd_clock_draw_ampm (myApplet, "PM");
214 else
215 cd_clock_draw_ampm (myApplet, "AM");
216 }
217}
218
219void cd_clock_draw_ampm (CairoDockModuleInstance *myApplet, gchar *cMark) {
220 cd_debug ("Adding %s to the last frame", cMark);
221 //Ca s'est gérer dans la config.
222 //Vérifier les structures necessaires.
223}
224
225void cd_clock_draw_text_from_surface (CairoDockModuleInstance *myApplet, int iNumber) {
226 cd_debug ("Printing text #%d on corresponding frame", iNumber);
227 //Il faudra surment scale down la surface avant de cairo_print
228 //TODO prendre le code sur slider.
229}
230
231void cd_clock_fill_text_surface (CairoDockModuleInstance *myApplet, gchar *cStr, int iNumber) {
232 cd_debug ("Filling the #%d surface with %s", iNumber, cStr);
233 //Aucune idée de comment faire!
234 //TODO demander a fabounet des indices ici.
235}
236
237void cd_clock_draw_date_on_frame (CairoDockModuleInstance *myApplet) {
238 cd_debug ("Add date on frame");
239}
2400
=== removed file 'clock/src/applet-digital.h'
--- clock/src/applet-digital.h 2009-10-05 19:27:17 +0000
+++ clock/src/applet-digital.h 1970-01-01 00:00:00 +0000
@@ -1,38 +0,0 @@
1/**
2* This file is a part of the Cairo-Dock project
3*
4* Copyright : (C) see the 'copyright' file.
5* E-mail : see the 'copyright' file.
6*
7* This program is free software; you can redistribute it and/or
8* modify it under the terms of the GNU General Public License
9* as published by the Free Software Foundation; either version 3
10* of the License, or (at your option) any later version.
11*
12* This program is distributed in the hope that it will be useful,
13* but WITHOUT ANY WARRANTY; without even the implied warranty of
14* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15* GNU General Public License for more details.
16* You should have received a copy of the GNU General Public License
17* along with this program. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20
21#ifndef __CD_CLOCK_DIGITAL__
22#define __CD_CLOCK_DIGITAL__
23
24
25#include <cairo-dock.h>
26#include "applet-struct.h"
27
28void cd_clock_configure_digital (CairoDockModuleInstance *myApplet);
29void cd_clock_digital_load_frames (CairoDockModuleInstance *myApplet);
30void cd_clock_draw_frames (CairoDockModuleInstance *myApplet);
31void cd_clock_put_text_on_frames (CairoDockModuleInstance *myApplet, int width, int height, double fMaxScale, struct tm *pTime);
32void cd_clock_draw_ampm (CairoDockModuleInstance *myApplet, gchar *cMark);
33void cd_clock_draw_text_from_surface (CairoDockModuleInstance *myApplet, int iNumber);
34void cd_clock_fill_text_surface (CairoDockModuleInstance *myApplet, gchar *cStr, int iNumber);
35void cd_clock_draw_date_on_frame (CairoDockModuleInstance *myApplet);
36
37
38#endif
390
=== modified file 'clock/src/applet-draw.c'
--- clock/src/applet-draw.c 2012-02-16 01:45:57 +0000
+++ clock/src/applet-draw.c 2012-03-21 20:37:19 +0000
@@ -76,8 +76,8 @@
76 76
77 strftime (s_cDateBuffer, CD_CLOCK_DATE_BUFFER_LENGTH, cFormat, pTime);77 strftime (s_cDateBuffer, CD_CLOCK_DATE_BUFFER_LENGTH, cFormat, pTime);
78 pango_layout_set_text (pLayout, s_cDateBuffer, -1);78 pango_layout_set_text (pLayout, s_cDateBuffer, -1);
79 PangoRectangle ink, log;79 PangoRectangle log;
80 pango_layout_get_pixel_extents (pLayout, &ink, &log);80 pango_layout_get_pixel_extents (pLayout, NULL, &log);
81 81
82 //\______________ On dessine le texte.82 //\______________ On dessine le texte.
83 cairo_save (myDrawContext);83 cairo_save (myDrawContext);
@@ -88,40 +88,45 @@
88 88
89 strftime (s_cDateBuffer, CD_CLOCK_DATE_BUFFER_LENGTH, "%a %d %b", pTime);89 strftime (s_cDateBuffer, CD_CLOCK_DATE_BUFFER_LENGTH, "%a %d %b", pTime);
90 pango_layout_set_text (pLayout2, s_cDateBuffer, -1);90 pango_layout_set_text (pLayout2, s_cDateBuffer, -1);
91 PangoRectangle ink2, log2;91 PangoRectangle log2;
92 pango_layout_get_pixel_extents (pLayout2, &ink2, &log2);92 pango_layout_get_pixel_extents (pLayout2, NULL, &log2);
93 93
94 double h=0, w=0, fZoomX=0, fZoomY=0; // parametres d'affichage 2 lignes94 double h=0, w=0, fZoomX=0, fZoomY=0; // parametres d'affichage 2 lignes
95 double h_=0, w_=0, fZoomX_=0, fZoomY_=0; // parametres d'affichage 1 ligne95 double h_=0, w_=0, fZoomX_=0, fZoomY_=0; // parametres d'affichage 1 ligne
96 if (myData.iTextLayout == CD_TEXT_LAYOUT_2_LINES || myData.iTextLayout == CD_TEXT_LAYOUT_AUTO)96 if (myData.iTextLayout == CD_TEXT_LAYOUT_2_LINES || myData.iTextLayout == CD_TEXT_LAYOUT_AUTO)
97 {97 {
98 h = ink.height + ink2.height + GAPY * iHeight;98 h = log.height + log2.height + GAPY * iHeight;
99 w = MAX (ink.width, ink2.width);99 w = MAX (log.width, log2.width);
100 fZoomX = (double) iWidth / w;100 fZoomX = (double) iWidth / w;
101 fZoomY = (double) iHeight / h;101 fZoomY = (double) iHeight / h;
102 if (myDock && fZoomY > MAX_RATIO * fZoomX) // on ne garde pas le ratio car ca ferait un texte trop petit en hauteur, toutefois on limite un peu la deformation en hauteur.102 if (myDock)
103 fZoomY = MAX_RATIO * fZoomX;103 {
104 if (myContainer->bIsHorizontal && fZoomY > MAX_RATIO * fZoomX) // we limit the deformation
105 fZoomY = MAX_RATIO * fZoomX;
106 else if (myContainer->bIsHorizontal && fZoomX > MAX_RATIO * fZoomY)
107 fZoomX = MAX_RATIO * fZoomY;
108 }
104 109
105 if (myConfig.fTextRatio < 1)110 if (myConfig.fTextRatio < 1)
106 {
107 fZoomX *= myConfig.fTextRatio;
108 fZoomY *= myConfig.fTextRatio;111 fZoomY *= myConfig.fTextRatio;
109 }
110 }112 }
111 if (myData.iTextLayout == CD_TEXT_LAYOUT_1_LINE || myData.iTextLayout == CD_TEXT_LAYOUT_AUTO)113 if (myData.iTextLayout == CD_TEXT_LAYOUT_1_LINE || myData.iTextLayout == CD_TEXT_LAYOUT_AUTO)
112 {114 {
113 h_ = MAX (ink.height, ink2.height);115 h_ = MAX (log.height, log2.height);
114 w_ = ink.width + ink2.width + GAPX * iWidth;116 w_ = log.width + log2.width + GAPX * iWidth;
115 fZoomX_ = (double) iWidth / w_;117 fZoomX_ = (double) iWidth / w_;
116 fZoomY_ = (double) iHeight / h_;118 fZoomY_ = (double) iHeight / h_;
117 if (myDock && fZoomY_ > MAX_RATIO * fZoomX_) // on ne garde pas le ratio car ca ferait un texte trop petit en hauteur, toutefois on limite un peu la deformation en hauteur.119 if (myDock)
118 fZoomY_ = MAX_RATIO * fZoomX_;120 {
121 if (myContainer->bIsHorizontal && fZoomY_ > MAX_RATIO * fZoomX_) // we limit the deformation
122 fZoomY_ = MAX_RATIO * fZoomX_;
123 else if (myContainer->bIsHorizontal && fZoomX_ > MAX_RATIO * fZoomY_)
124 fZoomX_ = MAX_RATIO * fZoomY_;
125 }
119 126
120 if (myConfig.fTextRatio < 1)127 if (myConfig.fTextRatio < 1)
121 {
122 fZoomX_ *= myConfig.fTextRatio;
123 fZoomY_ *= myConfig.fTextRatio;128 fZoomY_ *= myConfig.fTextRatio;
124 }129
125 if (fZoomY_ > fZoomX_)130 if (fZoomY_ > fZoomX_)
126 {131 {
127 double fMaxScale = cairo_dock_get_icon_max_scale (myIcon);132 double fMaxScale = cairo_dock_get_icon_max_scale (myIcon);
@@ -143,52 +148,50 @@
143 {148 {
144 cairo_translate (myDrawContext, (iWidth - fZoomX_ * w_) / 2, (iHeight - fZoomY_ * h_)/2); // centre verticalement.149 cairo_translate (myDrawContext, (iWidth - fZoomX_ * w_) / 2, (iHeight - fZoomY_ * h_)/2); // centre verticalement.
145 cairo_scale (myDrawContext, fZoomX_, fZoomY_);150 cairo_scale (myDrawContext, fZoomX_, fZoomY_);
146 cairo_translate (myDrawContext, -ink2.x, -ink2.y);
147 pango_cairo_show_layout (myDrawContext, pLayout2);151 pango_cairo_show_layout (myDrawContext, pLayout2);
148 152
149 cairo_restore (myDrawContext);153 cairo_restore (myDrawContext);
150 cairo_save (myDrawContext);154 cairo_save (myDrawContext);
151 155
152 cairo_translate (myDrawContext, (iWidth + fZoomX_ * w_) / 2 - fZoomX_ * ink.width, (iHeight - fZoomY_ * h_)/2);156 cairo_translate (myDrawContext, (iWidth + fZoomX_ * w_) / 2 - fZoomX_ * log.width, (iHeight - fZoomY_ * h_)/2);
153 cairo_scale (myDrawContext, fZoomX_, fZoomY_);157 cairo_scale (myDrawContext, fZoomX_, fZoomY_);
154 cairo_translate (myDrawContext, -ink.x, -ink.y);
155 pango_cairo_show_layout (myDrawContext, pLayout);158 pango_cairo_show_layout (myDrawContext, pLayout);
156 }159 }
157 else // mode 2 lignes160 else // mode 2 lignes
158 {161 {
159 cairo_translate (myDrawContext, (iWidth - fZoomX * ink.width) / 2, (iHeight - fZoomY * h)/2); // centre verticalement.162 cairo_translate (myDrawContext, (iWidth - fZoomX * log.width) / 2, (iHeight - fZoomY * h)/2); // centre verticalement.
160 cairo_scale (myDrawContext, fZoomX, fZoomY);163 cairo_scale (myDrawContext, fZoomX, fZoomY);
161 cairo_translate (myDrawContext, -ink.x, -ink.y);
162 pango_cairo_show_layout (myDrawContext, pLayout);164 pango_cairo_show_layout (myDrawContext, pLayout);
163 165
164 cairo_restore (myDrawContext);166 cairo_restore (myDrawContext);
165 cairo_save (myDrawContext);167 cairo_save (myDrawContext);
166 168
167 cairo_translate (myDrawContext, (iWidth - fZoomX * ink2.width) / 2, (iHeight + fZoomY * GAPY)/2);169 cairo_translate (myDrawContext, (iWidth - fZoomX * log2.width) / 2, (iHeight + fZoomY * GAPY)/2);
168 cairo_scale (myDrawContext, fZoomX, fZoomY);170 cairo_scale (myDrawContext, fZoomX, fZoomY);
169 cairo_translate (myDrawContext, -ink2.x, -ink2.y);
170 pango_cairo_show_layout (myDrawContext, pLayout2);171 pango_cairo_show_layout (myDrawContext, pLayout2);
171 }172 }
172 g_object_unref (pLayout2);173 g_object_unref (pLayout2);
173 }174 }
174 else // affichage simple de l'heure sur 1 ligne.175 else // only the hour with 1 line.
175 {176 {
176 double fZoomX = (double) iWidth / ink.width;177 double fZoomX = (double) iWidth / log.width;
177 double fZoomY = (double) iHeight / ink.height;178 double fZoomY = (double) iHeight / log.height;
178 if (myDock && fZoomY > MAX_RATIO * fZoomX) // on ne garde pas le ratio car ca ferait un texte trop petit en hauteur, toutefois on limite un peu la deformation en hauteur.179 if (myDock)
179 fZoomY = MAX_RATIO * fZoomX;180 {
180 181 if (myContainer->bIsHorizontal && fZoomY > MAX_RATIO * fZoomX) // we limit the deformation
182 fZoomY = MAX_RATIO * fZoomX;
183 else if (myContainer->bIsHorizontal && fZoomX > MAX_RATIO * fZoomY)
184 fZoomX = MAX_RATIO * fZoomY;
185 }
186
181 if (myConfig.fTextRatio < 1)187 if (myConfig.fTextRatio < 1)
182 {188 {
183 fZoomX *= myConfig.fTextRatio;189 fZoomY *= myConfig.fTextRatio; // only for the height
184 fZoomY *= myConfig.fTextRatio;190 cairo_translate (myDrawContext,
191 0,
192 (iHeight - fZoomY * log.height)/2); // this text will be centred.
185 }193 }
186
187 cairo_translate (myDrawContext,
188 (iWidth - fZoomX * ink.width)/2,
189 (iHeight - fZoomY * ink.height)/2); // le texte sera centre.
190 cairo_scale (myDrawContext, fZoomX, fZoomY);194 cairo_scale (myDrawContext, fZoomX, fZoomY);
191 cairo_translate (myDrawContext, -ink.x, -ink.y);
192 pango_cairo_show_layout (myDrawContext, pLayout);195 pango_cairo_show_layout (myDrawContext, pLayout);
193 }196 }
194 cairo_restore (myDrawContext);197 cairo_restore (myDrawContext);
195198
=== modified file 'clock/src/applet-timer.c'
--- clock/src/applet-timer.c 2012-02-16 01:45:57 +0000
+++ clock/src/applet-timer.c 2012-03-21 20:37:19 +0000
@@ -25,7 +25,6 @@
2525
26#include "applet-struct.h"26#include "applet-struct.h"
27#include "applet-config.h"27#include "applet-config.h"
28#include "applet-digital.h" //Digital html like renderer
29#include "applet-calendar.h"28#include "applet-calendar.h"
30#include "applet-draw.h"29#include "applet-draw.h"
31#include "applet-timer.h"30#include "applet-timer.h"
3231
=== modified file 'debian/changelog'
--- debian/changelog 2012-02-16 01:45:57 +0000
+++ debian/changelog 2012-03-21 20:37:19 +0000
@@ -1,3 +1,72 @@
1cairo-dock-plug-ins (3.0.0.0rc1-0ubuntu1) UNRELEASED; urgency=low
2
3 * New upstream release. (LP: #961579)
4 * Upstream ChangeLog: (main changes)
5 - Updated translations
6 - MusicPlayer:
7 + When choosing the player the first time, launch it and set the name
8 + It seems the latest stable version of rhythmbox now re-uses this DBus
9 address: org.mpris.MediaPlayer2.rhythmbox
10 - Use the default bg color for always visible icons
11 - GMenu: check if kde4-applications.menu and lxde-applications.menu
12 are available
13 - Dbus:
14 + Bash interface: fixed a typo
15 + Changed the third-party applets dir on the server for the 3.0
16 + Enabling threads on the Python Interface
17 + Modified the old SetEmblem method to use the new overlays
18 - Enable GVFS if detected
19 - Indicators: handle the case where the service crashes
20 - Status-Notifier:
21 + Indicator 0.4.90 (and newer) has a new variable (Title)
22 + Display Label first if it's available instead of Title first
23 + Fixed a bug with empty labels
24 + KDE's watcher: if ItemIsMenu is true (e.g. Klipper) and if we only show
25 the menu on left click, we emit a signal to the application to show
26 its own menu
27 + checked if the menu path is different that '/NO_DBUSMENU'
28 + IAS: checked if an item is not already available in the systray
29 (workaround) and fixed a few typos
30 + Added a space between icons and fixed the wrong drawing of the icon
31 on a vertical dock if the icon can be resized
32 + Used cairo_dock_add_path_to_icon_theme
33 - Sound control:
34 + Fixed a small bug on reload (invisible icon)
35 + Updated the Dbus names to match with Ubuntu 12.04
36 + Backported the latest version of Ubuntu's indicator-sound into the
37 Sound-Control applet
38 + Make some items in the menu invisible if not available
39 + Worked around a bug in libindicator, which keeps internally
40 the service pointer
41 - Logout:
42 + Fixed a tiny memory leak
43 + Look for a different icon's size if we want to display this icon in
44 a menu/a dock/an emblem
45 - PowerManager:
46 + Removed an extraseparators in the menu
47 - Clock:
48 + Used the logical rectangle in order to fix the position of the text
49 + Removed unused files
50 + Removed useless translations (log.x and log.y = 0)
51 + Only used this ratio to limit the deformation with the height
52 + Fixed a problem with the ratio if this applet is displayed in
53 a vertical dock
54 - Remote Control: fixed a crash during the 'click' signal
55 - Slider:
56 + When reloading, display the changes immediately
57 + Added the possibility to refresh the images list from the menu
58 + Fixed the loading of the image on startup, when the applet's size is
59 not yet stable
60 + Code cleaning
61 - Fixed an error when compiling without libindicator
62 - A few minor changes (comments, factorisation, etc)
63 - Recent-Events: if zeitgeist is not yet running on first search,
64 try 3 times before giving up.
65 * debian/control:
66 - Updated the version of cairo-dock-[core;data;dev].
67
68 -- Matthieu Baerts (matttbe) <matttbe@gmail.com> Wed, 21 Mar 2012 21:31:34 +0100
69
1cairo-dock-plug-ins (3.0.0.0beta1-0ubuntu1) precise; urgency=low70cairo-dock-plug-ins (3.0.0.0beta1-0ubuntu1) precise; urgency=low
271
3 * New upstream release. (LP: #932042)72 * New upstream release. (LP: #932042)
473
=== modified file 'debian/control'
--- debian/control 2012-02-16 01:45:57 +0000
+++ debian/control 2012-03-21 20:37:19 +0000
@@ -17,7 +17,7 @@
17 libgl1-mesa-dev | libgl-dev,17 libgl1-mesa-dev | libgl-dev,
18 libglu1-mesa-dev | libglu-dev,18 libglu1-mesa-dev | libglu-dev,
19 libpango1.0-dev,19 libpango1.0-dev,
20 libgldi-dev (>= 3.0.0.0beta1),20 libgldi-dev (>= 3.0.0.0rc1),
21 libasound2-dev,21 libasound2-dev,
22 libvte-2.90-dev,22 libvte-2.90-dev,
23 x11proto-xf86vidmode-dev,23 x11proto-xf86vidmode-dev,
@@ -55,7 +55,7 @@
55Conflicts: cairo-dock-plug-ins (<= 2.0.8.0)55Conflicts: cairo-dock-plug-ins (<= 2.0.8.0)
56Replaces: cairo-dock-plug-ins (<= 2.0.8.0)56Replaces: cairo-dock-plug-ins (<= 2.0.8.0)
57Depends: cairo-dock-plug-ins-data (>= ${source:Version}),57Depends: cairo-dock-plug-ins-data (>= ${source:Version}),
58 cairo-dock-core (>= 3.0.0.0beta1),58 cairo-dock-core (>= 3.0.0.0rc1),
59 ${misc:Depends}59 ${misc:Depends}
60Pre-Depends: ${misc:Pre-Depends}60Pre-Depends: ${misc:Pre-Depends}
61Suggests: gvfs61Suggests: gvfs
@@ -72,7 +72,7 @@
72Architecture: any72Architecture: any
73Conflicts: cairo-dock-plug-ins (<= 2.0.8.0)73Conflicts: cairo-dock-plug-ins (<= 2.0.8.0)
74Depends: cairo-dock-plug-ins-data (>= ${source:Version}),74Depends: cairo-dock-plug-ins-data (>= ${source:Version}),
75 cairo-dock-core (>= 3.0.0.0beta1),75 cairo-dock-core (>= 3.0.0.0rc1),
76 curl,76 curl,
77 wget,77 wget,
78 ${shlibs:Depends},78 ${shlibs:Depends},
7979
=== modified file 'dnd2share/src/applet-notifications.c'
--- dnd2share/src/applet-notifications.c 2012-02-16 01:45:57 +0000
+++ dnd2share/src/applet-notifications.c 2012-03-21 20:37:19 +0000
@@ -423,6 +423,7 @@
423 gboolean bIsDirectory;423 gboolean bIsDirectory;
424 int iVolumeID;424 int iVolumeID;
425 double fOrder;425 double fOrder;
426 gint iDesiredIconSize = cairo_dock_search_icon_size (GTK_ICON_SIZE_LARGE_TOOLBAR); // 24px by default
426 int i;427 int i;
427 GList *it;428 GList *it;
428 for (it = myData.pUpoadedItems; it != NULL; it = it->next)429 for (it = myData.pUpoadedItems; it != NULL; it = it->next)
@@ -437,22 +438,22 @@
437 if (! g_file_test (cPreview, G_FILE_TEST_EXISTS))438 if (! g_file_test (cPreview, G_FILE_TEST_EXISTS))
438 {439 {
439 g_free (cPreview);440 g_free (cPreview);
440 cPreview = cairo_dock_search_icon_s_path ("image-x-generic");;441 cPreview = cairo_dock_search_icon_s_path ("image-x-generic", iDesiredIconSize);
441 }442 }
442 }443 }
443 else if (pItem->iFileType == CD_TYPE_TEXT)444 else if (pItem->iFileType == CD_TYPE_TEXT)
444 {445 {
445 cPreview = cairo_dock_search_icon_s_path ("text-x-generic");446 cPreview = cairo_dock_search_icon_s_path ("text-x-generic", iDesiredIconSize);
446 }447 }
447 else if (pItem->iFileType == CD_TYPE_VIDEO)448 else if (pItem->iFileType == CD_TYPE_VIDEO)
448 {449 {
449 cPreview = cairo_dock_search_icon_s_path ("video-x-generic");450 cPreview = cairo_dock_search_icon_s_path ("video-x-generic", iDesiredIconSize);
450 }451 }
451 if (cPreview == NULL)452 if (cPreview == NULL)
452 {453 {
453 gchar *cIconName = NULL;454 gchar *cIconName = NULL;
454 cairo_dock_fm_get_file_info (pItem->cLocalPath, &cName, &cURI, &cIconName, &bIsDirectory, &iVolumeID, &fOrder, 0);455 cairo_dock_fm_get_file_info (pItem->cLocalPath, &cName, &cURI, &cIconName, &bIsDirectory, &iVolumeID, &fOrder, 0);
455 cPreview = cairo_dock_search_icon_s_path (cIconName);456 cPreview = cairo_dock_search_icon_s_path (cIconName, iDesiredIconSize);
456 g_free (cIconName);457 g_free (cIconName);
457 g_free (cName);458 g_free (cName);
458 cName = NULL;459 cName = NULL;
459460
=== modified file 'drop-indicator/src/applet-notifications.c'
--- drop-indicator/src/applet-notifications.c 2012-02-16 01:45:57 +0000
+++ drop-indicator/src/applet-notifications.c 2012-03-21 20:37:19 +0000
@@ -382,6 +382,7 @@
382 iHeight,382 iHeight,
383 CAIRO_DOCK_KEEP_RATIO);383 CAIRO_DOCK_KEEP_RATIO);
384 }384 }
385 g_print (" %p, %d, %d\n", myData.hoverIndicator.pSurface, myData.hoverIndicator.iTexture, g_bUseOpenGL);
385}386}
386387
387void cd_drop_indicator_free_buffers (void)388void cd_drop_indicator_free_buffers (void)
388389
=== modified file 'dustbin/src/applet-init.c'
--- dustbin/src/applet-init.c 2011-09-26 12:56:12 +0000
+++ dustbin/src/applet-init.c 2012-03-21 20:37:19 +0000
@@ -40,7 +40,7 @@
40 // get the user images first, as they overwrite the theme.40 // get the user images first, as they overwrite the theme.
41 if (myConfig.cEmptyUserImage != NULL)41 if (myConfig.cEmptyUserImage != NULL)
42 {42 {
43 gchar *cPath = cairo_dock_search_icon_s_path (myConfig.cEmptyUserImage);43 gchar *cPath = cairo_dock_search_icon_s_path (myConfig.cEmptyUserImage, CAIRO_DOCK_DEFAULT_ICON_SIZE);
44 if (! g_file_test (cPath, G_FILE_TEST_EXISTS))44 if (! g_file_test (cPath, G_FILE_TEST_EXISTS))
45 {45 {
46 g_free (myConfig.cEmptyUserImage);46 g_free (myConfig.cEmptyUserImage);
@@ -50,13 +50,13 @@
50 }50 }
51 if (myConfig.cFullUserImage != NULL)51 if (myConfig.cFullUserImage != NULL)
52 {52 {
53 gchar *cPath = cairo_dock_search_icon_s_path (myConfig.cFullUserImage);53 gchar *cPath = cairo_dock_search_icon_s_path (myConfig.cFullUserImage, CAIRO_DOCK_DEFAULT_ICON_SIZE);
54 if (! g_file_test (cPath, G_FILE_TEST_EXISTS))54 if (! g_file_test (cPath, G_FILE_TEST_EXISTS))
55 {55 {
56 g_free (myConfig.cFullUserImage);56 g_free (myConfig.cFullUserImage);
57 myConfig.cFullUserImage = NULL;57 myConfig.cFullUserImage = NULL;
58 }58 }
59 g_free (cPath);59 g_free (cPath);
60 }60 }
61 // if a theme is defined, and user images are not defined, use the theme.61 // if a theme is defined, and user images are not defined, use the theme.
62 if (myConfig.cThemePath != NULL)62 if (myConfig.cThemePath != NULL)
6363
=== modified file 'gnome-integration/src/applet-init.c'
--- gnome-integration/src/applet-init.c 2012-02-16 01:45:57 +0000
+++ gnome-integration/src/applet-init.c 2012-03-21 20:37:19 +0000
@@ -32,25 +32,34 @@
32 "It is auto-activated, so you don't need to activate it.\n"32 "It is auto-activated, so you don't need to activate it.\n"
33 "It is designed for the a GNOME version >= 2.22",33 "It is designed for the a GNOME version >= 2.22",
34 "Fabounet (Fabrice Rey)")34 "Fabounet (Fabrice Rey)")
35 if (g_iDesktopEnv == CAIRO_DOCK_GNOME && (glib_major_version > 2 || glib_minor_version >= 16))35
36 CairoDockDesktopEnvBackend *pVFSBackend = NULL;
37 if (! cairo_dock_fm_vfs_backend_is_defined ()) // the Gnome backend will register the GVFS functions, even if it's not a Gnome environment. It will not overwrite the other functions of the backend, and if another backend comes later, it can set its own functions.
36 {38 {
37 cd_debug ("GNOME");
38 if (cairo_dock_gio_vfs_init ())39 if (cairo_dock_gio_vfs_init ())
39 {40 {
40 cd_debug ("GVFS");41 cd_debug ("GVFS");
41 CairoDockDesktopEnvBackend *pVFSBackend = g_new0 (CairoDockDesktopEnvBackend, 1);42 pVFSBackend = g_new0 (CairoDockDesktopEnvBackend, 1);
42 43 cairo_dock_gio_vfs_fill_backend (pVFSBackend);
43 cairo_dock_gio_vfs_fill_backend(pVFSBackend);
44
45 pVFSBackend->logout = env_backend_logout;
46 pVFSBackend->shutdown = env_backend_shutdown;
47 pVFSBackend->reboot = env_backend_shutdown;
48 pVFSBackend->lock_screen = env_backend_lock_screen;
49 pVFSBackend->setup_time = env_backend_setup_time;
50 pVFSBackend->show_system_monitor = env_backend_show_system_monitor;
51 cairo_dock_fm_register_vfs_backend (pVFSBackend);
52 }44 }
53 }45 }
46
47 if (g_iDesktopEnv == CAIRO_DOCK_GNOME && (glib_major_version > 2 || glib_minor_version >= 16))
48 {
49 cd_debug ("GNOME");
50 if (pVFSBackend == NULL)
51 pVFSBackend = g_new0 (CairoDockDesktopEnvBackend, 1);
52
53 pVFSBackend->logout = env_backend_logout;
54 pVFSBackend->shutdown = env_backend_shutdown;
55 pVFSBackend->reboot = env_backend_shutdown;
56 pVFSBackend->lock_screen = env_backend_lock_screen;
57 pVFSBackend->setup_time = env_backend_setup_time;
58 pVFSBackend->show_system_monitor = env_backend_show_system_monitor;
59 }
60
61 if (pVFSBackend != NULL)
62 cairo_dock_fm_register_vfs_backend (pVFSBackend);
54 else63 else
55 return FALSE;64 return FALSE;
56 CD_APPLET_SET_CONTAINER_TYPE (CAIRO_DOCK_MODULE_IS_PLUGIN);65 CD_APPLET_SET_CONTAINER_TYPE (CAIRO_DOCK_MODULE_IS_PLUGIN);
5766
=== modified file 'gnome-integration/src/applet-utils.c'
--- gnome-integration/src/applet-utils.c 2012-02-16 01:45:57 +0000
+++ gnome-integration/src/applet-utils.c 2012-03-21 20:37:19 +0000
@@ -53,6 +53,7 @@
53void env_backend_setup_time (void)53void env_backend_setup_time (void)
54{54{
55 cairo_dock_launch_command ("time-admin"); // it uses PolicyKit => no gksudo.55 cairo_dock_launch_command ("time-admin"); // it uses PolicyKit => no gksudo.
56 /// TODO: use gnome-control-center ...
56}57}
5758
58void env_backend_show_system_monitor (void)59void env_backend_show_system_monitor (void)
5960
=== modified file 'gvfs-integration/cairo-dock-gio-vfs.c'
--- gvfs-integration/cairo-dock-gio-vfs.c 2011-09-26 12:56:12 +0000
+++ gvfs-integration/cairo-dock-gio-vfs.c 2012-03-21 20:37:19 +0000
@@ -92,7 +92,7 @@
92 {92 {
93 //g_print (" une icone possible est : %s\n", cFileNames[i]);93 //g_print (" une icone possible est : %s\n", cFileNames[i]);
94 94
95 gchar *path = cairo_dock_search_icon_s_path (cFileNames[i]);95 gchar *path = cairo_dock_search_icon_s_path (cFileNames[i], CAIRO_DOCK_DEFAULT_ICON_SIZE);
96 if (path)96 if (path)
97 {97 {
98 g_free (path);98 g_free (path);
@@ -169,7 +169,7 @@
169 if (iFileType == G_FILE_TYPE_MOUNTABLE)169 if (iFileType == G_FILE_TYPE_MOUNTABLE)
170 {170 {
171 const gchar *cFileName = g_file_info_get_name (pFileInfo);171 const gchar *cFileName = g_file_info_get_name (pFileInfo);
172 cd_message (" test de %s...", cFileName);172 cd_debug (" test of %s...", cFileName);
173 const gchar *cTargetURI = g_file_info_get_attribute_string (pFileInfo, G_FILE_ATTRIBUTE_STANDARD_TARGET_URI);173 const gchar *cTargetURI = g_file_info_get_attribute_string (pFileInfo, G_FILE_ATTRIBUTE_STANDARD_TARGET_URI);
174 174
175 GMount *pMount = NULL;175 GMount *pMount = NULL;
@@ -185,7 +185,7 @@
185 cd_message (" mount : %s", cName);185 cd_message (" mount : %s", cName);
186 if (cName != NULL && strcmp (cName, cVolumeName) == 0)186 if (cName != NULL && strcmp (cName, cVolumeName) == 0)
187 {187 {
188 cd_message ("TROUVE");188 cd_debug ("Found");
189 *pFoundMount = pMount;189 *pFoundMount = pMount;
190 *cURI = g_strconcat ("computer:///", cFileName, NULL);190 *cURI = g_strconcat ("computer:///", cFileName, NULL);
191 GIcon *pSystemIcon = g_mount_get_icon (pMount);191 GIcon *pSystemIcon = g_mount_get_icon (pMount);
192192
=== modified file 'kde-integration/src/applet-vfs.c'
--- kde-integration/src/applet-vfs.c 2011-04-20 20:46:51 +0000
+++ kde-integration/src/applet-vfs.c 2012-03-21 20:37:19 +0000
@@ -79,7 +79,7 @@
79 for (i = 0; cFileNames[i] != NULL && cIconPath == NULL; i ++)79 for (i = 0; cFileNames[i] != NULL && cIconPath == NULL; i ++)
80 {80 {
81 //cd_message (" une icone possible est : %s\n", cFileNames[i]);81 //cd_message (" une icone possible est : %s\n", cFileNames[i]);
82 cIconPath = cairo_dock_search_icon_s_path (cFileNames[i]);82 cIconPath = cairo_dock_search_icon_s_path (cFileNames[i], CAIRO_DOCK_DEFAULT_ICON_SIZE);
83 //cd_message (" chemin trouve : %s\n", cIconPath);83 //cd_message (" chemin trouve : %s\n", cIconPath);
84 }84 }
85 }85 }
8686
=== modified file 'keyboard-indicator/data/keyboard-indicator.conf.in'
--- keyboard-indicator/data/keyboard-indicator.conf.in 2012-02-16 01:45:57 +0000
+++ keyboard-indicator/data/keyboard-indicator.conf.in 2012-03-21 20:37:19 +0000
@@ -20,8 +20,8 @@
20#{Set to 0 to use the default applet size}20#{Set to 0 to use the default applet size}
21icon size = 0;021icon size = 0;0
2222
23#B Always display the icon, even when the dock is hidden?23#Y+[No;0;0;With default background;0;0;With custom background;1;1] Always display the icon, even when the dock is hidden?
24always visi = false24always_visi = 0
2525
26#C+ Background color to add in this case26#C+ Background color to add in this case
27bg color = .8;.8;.8;.527bg color = .8;.8;.8;.5
2828
=== modified file 'logout/src/applet-init.c'
--- logout/src/applet-init.c 2012-02-16 01:45:57 +0000
+++ logout/src/applet-init.c 2012-03-21 20:37:19 +0000
@@ -53,6 +53,8 @@
53 CD_APPLET_MANAGE_APPLICATION ("xfce4-session-logout"); // x-session-manager before 4.853 CD_APPLET_MANAGE_APPLICATION ("xfce4-session-logout"); // x-session-manager before 4.8
54 else if (g_iDesktopEnv == CAIRO_DOCK_KDE)54 else if (g_iDesktopEnv == CAIRO_DOCK_KDE)
55 CD_APPLET_MANAGE_APPLICATION ("ksmserver"); /// pas du tout sur...55 CD_APPLET_MANAGE_APPLICATION ("ksmserver"); /// pas du tout sur...
56
57 myData.iDesiredIconSize = cairo_dock_search_icon_size (GTK_ICON_SIZE_MENU);
56 58
57 //\_______________ On enregistre nos notifications.59 //\_______________ On enregistre nos notifications.
58 CD_APPLET_REGISTER_FOR_CLICK_EVENT;60 CD_APPLET_REGISTER_FOR_CLICK_EVENT;
5961
=== modified file 'logout/src/applet-logout.c'
--- logout/src/applet-logout.c 2012-02-16 01:45:57 +0000
+++ logout/src/applet-logout.c 2012-03-21 20:37:19 +0000
@@ -32,6 +32,7 @@
32typedef struct {32typedef struct {
33 gchar *cUserName;33 gchar *cUserName;
34 gchar *cIconFile;34 gchar *cIconFile;
35 gchar *cRealName;
35} CDUser;36} CDUser;
3637
37static void cd_logout_shut_down (void);38static void cd_logout_shut_down (void);
@@ -60,7 +61,7 @@
60 // get capabilities from UPower.61 // get capabilities from UPower.
61 #ifdef CD_UPOWER_AVAILABLE62 #ifdef CD_UPOWER_AVAILABLE
62 UpClient *pUPowerClient = up_client_new ();63 UpClient *pUPowerClient = up_client_new ();
63 up_client_get_properties_sync (pUPowerClient, NULL, &error); // this function always returns false ...64 up_client_get_properties_sync (pUPowerClient, NULL, &error); // this function always returns false ... and it crashes the dock (Debian 6) ! :-O
64 if (error)65 if (error)
65 {66 {
66 cd_warning ("UPower error: %s", error->message);67 cd_warning ("UPower error: %s", error->message);
@@ -115,6 +116,7 @@
115 seat,116 seat,
116 DBUS_INTERFACE_PROPERTIES);117 DBUS_INTERFACE_PROPERTIES);
117 pSharedMemory->bHasGuestAccount = cairo_dock_dbus_get_property_as_boolean (pProxy, "org.freedesktop.DisplayManager.Seat", "HasGuestAccount");118 pSharedMemory->bHasGuestAccount = cairo_dock_dbus_get_property_as_boolean (pProxy, "org.freedesktop.DisplayManager.Seat", "HasGuestAccount");
119 g_object_unref (pProxy);
118 }120 }
119}121}
120122
@@ -167,9 +169,9 @@
167 /// MENU ///169 /// MENU ///
168////////////170////////////
169171
170static gchar *_check_icon (const gchar *cIconStock)172static gchar *_check_icon (const gchar *cIconStock, gint iIconSize)
171{173{
172 gchar *cImagePath = cairo_dock_search_icon_s_path (cIconStock);174 gchar *cImagePath = cairo_dock_search_icon_s_path (cIconStock, iIconSize);
173 if (cImagePath != NULL && g_file_test (cImagePath, G_FILE_TEST_EXISTS))175 if (cImagePath != NULL && g_file_test (cImagePath, G_FILE_TEST_EXISTS))
174 return cImagePath;176 return cImagePath;
175 else177 else
@@ -194,26 +196,26 @@
194 GtkWidget *pMenuItem;196 GtkWidget *pMenuItem;
195197
196 gchar *cImagePath;198 gchar *cImagePath;
197 cImagePath = _check_icon ("system-shutdown");199 cImagePath = _check_icon ("system-shutdown", myData.iDesiredIconSize);
198 pMenuItem = CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Shut down"), cImagePath ? cImagePath : MY_APPLET_SHARE_DATA_DIR"/system-shutdown.svg", cd_logout_shut_down, pMenu);200 pMenuItem = CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Shut down"), cImagePath ? cImagePath : MY_APPLET_SHARE_DATA_DIR"/system-shutdown.svg", cd_logout_shut_down, pMenu);
199 g_free (cImagePath);201 g_free (cImagePath);
200 if (!myData.bCanStop && ! myConfig.cUserAction2)202 if (!myData.bCanStop && ! myConfig.cUserAction2)
201 gtk_widget_set_sensitive (pMenuItem, FALSE);203 gtk_widget_set_sensitive (pMenuItem, FALSE);
202 204
203 cImagePath = _check_icon (GTK_STOCK_REFRESH);205 cImagePath = _check_icon (GTK_STOCK_REFRESH, myData.iDesiredIconSize);
204 pMenuItem = CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Restart"), cImagePath ? cImagePath : MY_APPLET_SHARE_DATA_DIR"/system-restart.svg", cd_logout_restart, pMenu);206 pMenuItem = CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Restart"), cImagePath ? cImagePath : MY_APPLET_SHARE_DATA_DIR"/system-restart.svg", cd_logout_restart, pMenu);
205 g_free (cImagePath);207 g_free (cImagePath);
206 if (!myData.bCanRestart)208 if (!myData.bCanRestart)
207 gtk_widget_set_sensitive (pMenuItem, FALSE);209 gtk_widget_set_sensitive (pMenuItem, FALSE);
208 210
209 cImagePath = _check_icon ("sleep");211 cImagePath = _check_icon ("sleep", myData.iDesiredIconSize);
210 pMenuItem = CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Hibernate"), cImagePath ? cImagePath : MY_APPLET_SHARE_DATA_DIR"/system-hibernate.svg", cd_logout_hibernate, pMenu);212 pMenuItem = CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Hibernate"), cImagePath ? cImagePath : MY_APPLET_SHARE_DATA_DIR"/system-hibernate.svg", cd_logout_hibernate, pMenu);
211 g_free (cImagePath);213 g_free (cImagePath);
212 gtk_widget_set_tooltip_text (pMenuItem, D_("Your computer will not consume any energy."));214 gtk_widget_set_tooltip_text (pMenuItem, D_("Your computer will not consume any energy."));
213 if (!myData.bCanHibernate)215 if (!myData.bCanHibernate)
214 gtk_widget_set_sensitive (pMenuItem, FALSE);216 gtk_widget_set_sensitive (pMenuItem, FALSE);
215 217
216 cImagePath = _check_icon ("clock");218 cImagePath = _check_icon ("clock", myData.iDesiredIconSize);
217 pMenuItem = CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Suspend"), cImagePath ? cImagePath : MY_APPLET_SHARE_DATA_DIR"/system-suspend.svg", cd_logout_suspend, pMenu);219 pMenuItem = CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Suspend"), cImagePath ? cImagePath : MY_APPLET_SHARE_DATA_DIR"/system-suspend.svg", cd_logout_suspend, pMenu);
218 g_free (cImagePath);220 g_free (cImagePath);
219 gtk_widget_set_tooltip_text (pMenuItem, D_("Your computer will still consume a small amount of energy."));221 gtk_widget_set_tooltip_text (pMenuItem, D_("Your computer will still consume a small amount of energy."));
@@ -222,7 +224,7 @@
222 224
223 if (g_getenv ("SESSION_MANAGER") != NULL) // needs a session manager for this.225 if (g_getenv ("SESSION_MANAGER") != NULL) // needs a session manager for this.
224 {226 {
225 cImagePath = _check_icon ("system-log-out");227 cImagePath = _check_icon ("system-log-out", myData.iDesiredIconSize);
226 pMenuItem = CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Log out"), cImagePath ? cImagePath : MY_APPLET_SHARE_DATA_DIR"/system-log-out.svg", cd_logout_close_session, pMenu);228 pMenuItem = CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Log out"), cImagePath ? cImagePath : MY_APPLET_SHARE_DATA_DIR"/system-log-out.svg", cd_logout_close_session, pMenu);
227 g_free (cImagePath);229 g_free (cImagePath);
228 gtk_widget_set_tooltip_text (pMenuItem, D_("Close your session and allow to open a new one."));230 gtk_widget_set_tooltip_text (pMenuItem, D_("Close your session and allow to open a new one."));
@@ -245,14 +247,16 @@
245 for (u = myData.pUserList; u != NULL; u = u->next)247 for (u = myData.pUserList; u != NULL; u = u->next)
246 {248 {
247 pUser = u->data;249 pUser = u->data;
248 pMenuItem = CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (pUser->cUserName, pUser->cIconFile, _switch_to_user, pUsersSubMenu, pUser->cUserName);250 pMenuItem = CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (
249 if (cCurrentUser && strcmp (cCurrentUser, pUser->cUserName) == 0)251 (pUser->cRealName && *(pUser->cRealName) != '\0') ? pUser->cRealName : pUser->cUserName,
252 pUser->cIconFile, _switch_to_user, pUsersSubMenu, pUser->cUserName);
253 if (! bFoundUser && cCurrentUser && strcmp (cCurrentUser, pUser->cUserName) == 0)
250 {254 {
251 bFoundUser = TRUE;255 bFoundUser = TRUE;
252 gtk_widget_set_sensitive (pMenuItem, FALSE);256 gtk_widget_set_sensitive (pMenuItem, FALSE);
253 }257 }
254 }258 }
255 259
256 if (myData.bHasGuestAccount && bFoundUser) // if we didn't find the user yet, it means we are the guest, so don't show this entry.260 if (myData.bHasGuestAccount && bFoundUser) // if we didn't find the user yet, it means we are the guest, so don't show this entry.
257 {261 {
258 CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (D_("Guest session"), NULL, _switch_to_user, pUsersSubMenu, NULL); // NULL will mean "guest"262 CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (D_("Guest session"), NULL, _switch_to_user, pUsersSubMenu, NULL); // NULL will mean "guest"
@@ -261,12 +265,12 @@
261 265
262 CD_APPLET_ADD_SEPARATOR_IN_MENU (pMenu);266 CD_APPLET_ADD_SEPARATOR_IN_MENU (pMenu);
263 267
264 cImagePath = _check_icon ("system-lock-screen");268 cImagePath = _check_icon ("system-lock-screen", myData.iDesiredIconSize);
265 CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Lock screen"), cImagePath ? cImagePath : MY_APPLET_SHARE_DATA_DIR"/locked.svg", cairo_dock_fm_lock_screen, pMenu); /// TODO: same question...269 CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Lock screen"), cImagePath ? cImagePath : MY_APPLET_SHARE_DATA_DIR"/locked.svg", cairo_dock_fm_lock_screen, pMenu); /// TODO: same question...
266 g_free (cImagePath);270 g_free (cImagePath);
267 if (myData.bCanStop)271 if (myData.bCanStop)
268 {272 {
269 cImagePath = _check_icon ("document-open-recent");273 cImagePath = _check_icon ("document-open-recent", myData.iDesiredIconSize);
270 CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Program an automatic shut-down"), cImagePath ? cImagePath : MY_APPLET_SHARE_DATA_DIR"/icon-scheduling.svg", cd_logout_program_shutdown, pMenu);274 CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Program an automatic shut-down"), cImagePath ? cImagePath : MY_APPLET_SHARE_DATA_DIR"/icon-scheduling.svg", cd_logout_program_shutdown, pMenu);
271 g_free (cImagePath);275 g_free (cImagePath);
272 }276 }
@@ -414,10 +418,17 @@
414 CD_APPLET_DEMANDS_ATTENTION ("pulse", 20);418 CD_APPLET_DEMANDS_ATTENTION ("pulse", 20);
415 cairo_dock_show_temporary_dialog_with_icon (myIcon->cName, myIcon, myContainer, 5e3, "same icon");419 cairo_dock_show_temporary_dialog_with_icon (myIcon->cName, myIcon, myContainer, 5e3, "same icon");
416420
417 gchar *cImagePath = _check_icon (myConfig.cEmblemPath);421 gint iIconSize = MAX (myIcon->iImageWidth, myIcon->iImageHeight);
422 gchar *cImagePath = _check_icon (myConfig.cEmblemPath,
423 (myConfig.iRebootNeededImage == CD_DISPLAY_EMBLEM ?
424 iIconSize / 2 :
425 iIconSize));
418 if (! cImagePath)426 if (! cImagePath)
419 {427 {
420 cImagePath = _check_icon (GTK_STOCK_REFRESH);428 cImagePath = _check_icon (GTK_STOCK_REFRESH,
429 (myConfig.iRebootNeededImage == CD_DISPLAY_EMBLEM ?
430 iIconSize / 2 :
431 iIconSize));
421 if (! cImagePath)432 if (! cImagePath)
422 cImagePath = g_strdup (MY_APPLET_SHARE_DATA_DIR"/system-restart.svg");433 cImagePath = g_strdup (MY_APPLET_SHARE_DATA_DIR"/system-restart.svg");
423 }434 }
@@ -491,7 +502,7 @@
491}502}
492static void _demand_confirmation (const gchar *cMessage, const gchar *cIconStock, const gchar *cIconImage, void (*callback) (void))503static void _demand_confirmation (const gchar *cMessage, const gchar *cIconStock, const gchar *cIconImage, void (*callback) (void))
493{504{
494 gchar *cImagePath = _check_icon (cIconStock);505 gchar *cImagePath = _check_icon (cIconStock, 32); // dialog
495 myData.pConfirmationDialog = cairo_dock_show_dialog_full (cMessage, myIcon, myContainer, 0, cImagePath ? cImagePath : cIconImage, NULL, (CairoDockActionOnAnswerFunc) _exec_action, callback, NULL);506 myData.pConfirmationDialog = cairo_dock_show_dialog_full (cMessage, myIcon, myContainer, 0, cImagePath ? cImagePath : cIconImage, NULL, (CairoDockActionOnAnswerFunc) _exec_action, callback, NULL);
496 g_free (cImagePath);507 g_free (cImagePath);
497}508}
@@ -697,6 +708,7 @@
697{708{
698 g_free (pUser->cUserName);709 g_free (pUser->cUserName);
699 g_free (pUser->cIconFile);710 g_free (pUser->cIconFile);
711 g_free (pUser->cRealName);
700 g_free (pUser);712 g_free (pUser);
701}713}
702714
@@ -745,6 +757,7 @@
745 if (pUser->cUserName == NULL) // shouldn't happen757 if (pUser->cUserName == NULL) // shouldn't happen
746 continue;758 continue;
747 pUser->cIconFile = cairo_dock_dbus_get_property_as_string (pProxy, "org.freedesktop.Accounts.User", "IconFile");759 pUser->cIconFile = cairo_dock_dbus_get_property_as_string (pProxy, "org.freedesktop.Accounts.User", "IconFile");
760 pUser->cRealName = cairo_dock_dbus_get_property_as_string (pProxy, "org.freedesktop.Accounts.User", "RealName");
748 pUserList = g_list_insert_sorted (pUserList, pUser, (GCompareFunc)_compare_user_name);761 pUserList = g_list_insert_sorted (pUserList, pUser, (GCompareFunc)_compare_user_name);
749 762
750 g_object_unref (pProxy);763 g_object_unref (pProxy);
751764
=== modified file 'logout/src/applet-struct.h'
--- logout/src/applet-struct.h 2012-02-16 01:45:57 +0000
+++ logout/src/applet-struct.h 2012-03-21 20:37:19 +0000
@@ -79,6 +79,7 @@
79 gint iCountDown;79 gint iCountDown;
80 guint iSidShutDown;80 guint iSidShutDown;
81 CairoDialog *pConfirmationDialog;81 CairoDialog *pConfirmationDialog;
82 gint iDesiredIconSize;
82 } ;83 } ;
8384
84#endif85#endif
8586
=== modified file 'mail/data/mail.conf.in'
--- mail/data/mail.conf.in 2012-02-16 01:45:57 +0000
+++ mail/data/mail.conf.in 2012-03-21 20:37:19 +0000
@@ -20,8 +20,8 @@
20#{Set to 0 to use the default applet size}20#{Set to 0 to use the default applet size}
21icon size = 0;021icon size = 0;0
2222
23#B Always display the icon, even when the dock is hidden?23#Y+[No;0;0;With default background;0;0;With custom background;1;1] Always display the icon, even when the dock is hidden?
24always visi = false24always_visi = 0
2525
26#C+ Background color to add in this case26#C+ Background color to add in this case
27bg color = .8;.8;.8;.527bg color = .8;.8;.8;.5
2828
=== modified file 'mail/src/cd-mail-applet-config.c'
--- mail/src/cd-mail-applet-config.c 2012-02-16 01:45:57 +0000
+++ mail/src/cd-mail-applet-config.c 2012-03-21 20:37:19 +0000
@@ -105,7 +105,7 @@
105 105
106 for( j = 0; j < MAIL_NB_STORAGE_TYPES; j++ )106 for( j = 0; j < MAIL_NB_STORAGE_TYPES; j++ )
107 {107 {
108 if (g_strcasecmp(storage_tab[j].name, cMailAccountType) == 0)108 if (g_ascii_strcasecmp (storage_tab[j].name, cMailAccountType) == 0)
109 {109 {
110 break;110 break;
111 }111 }
@@ -141,7 +141,7 @@
141 if (path != NULL) { \141 if (path != NULL) { \
142 _found_image = cairo_dock_search_image_s_path (path); \142 _found_image = cairo_dock_search_image_s_path (path); \
143 if (_found_image == NULL)\143 if (_found_image == NULL)\
144 _found_image = cairo_dock_search_icon_s_path (path); }\144 _found_image = cairo_dock_search_icon_s_path (path, MAX (myIcon->iImageWidth, myIcon->iImageHeight)); }\
145 _found_image; })145 _found_image; })
146CD_APPLET_GET_CONFIG_BEGIN146CD_APPLET_GET_CONFIG_BEGIN
147 //\_________________ On recupere toutes les valeurs de notre fichier de conf.147 //\_________________ On recupere toutes les valeurs de notre fichier de conf.
148148
=== modified file 'mail/src/cd-mail-applet-init.c'
--- mail/src/cd-mail-applet-init.c 2010-08-10 00:05:57 +0000
+++ mail/src/cd-mail-applet-init.c 2012-03-21 20:37:19 +0000
@@ -103,7 +103,7 @@
103 //\_______________ On charge le theme si necessaire, avec en priorite les images utilisateur.103 //\_______________ On charge le theme si necessaire, avec en priorite les images utilisateur.
104 if (myConfig.cNoMailUserImage != NULL)104 if (myConfig.cNoMailUserImage != NULL)
105 {105 {
106 gchar *cPath = cairo_dock_search_icon_s_path (myConfig.cNoMailUserImage);106 gchar *cPath = cairo_dock_search_icon_s_path (myConfig.cNoMailUserImage, MAX (myIcon->iImageWidth, myIcon->iImageHeight));
107 if (! g_file_test (cPath, G_FILE_TEST_EXISTS))107 if (! g_file_test (cPath, G_FILE_TEST_EXISTS))
108 {108 {
109 g_free (myConfig.cNoMailUserImage);109 g_free (myConfig.cNoMailUserImage);
@@ -113,7 +113,7 @@
113 }113 }
114 if (myConfig.cHasMailUserImage != NULL)114 if (myConfig.cHasMailUserImage != NULL)
115 {115 {
116 gchar *cPath = cairo_dock_search_icon_s_path (myConfig.cHasMailUserImage);116 gchar *cPath = cairo_dock_search_icon_s_path (myConfig.cHasMailUserImage, MAX (myIcon->iImageWidth, myIcon->iImageHeight));
117 if (! g_file_test (cPath, G_FILE_TEST_EXISTS))117 if (! g_file_test (cPath, G_FILE_TEST_EXISTS))
118 {118 {
119 g_free (myConfig.cHasMailUserImage);119 g_free (myConfig.cHasMailUserImage);
120120
=== modified file 'musicPlayer/data/musicPlayer.conf.in'
--- musicPlayer/data/musicPlayer.conf.in 2012-02-16 01:45:57 +0000
+++ musicPlayer/data/musicPlayer.conf.in 2012-03-21 20:37:19 +0000
@@ -22,8 +22,8 @@
22#{Set to 0 to use the default applet size}22#{Set to 0 to use the default applet size}
23icon size = 0;023icon size = 0;0
2424
25#B Always display the icon, even when the dock is hidden?25#Y+[No;0;0;With default background;0;0;With custom background;1;1] Always display the icon, even when the dock is hidden?
26always visi = false26always_visi = 0
2727
28#C+ Background color to add in this case28#C+ Background color to add in this case
29bg color = .8;.8;.8;.529bg color = .8;.8;.8;.5
3030
=== modified file 'musicPlayer/src/applet-draw.c'
--- musicPlayer/src/applet-draw.c 2012-02-16 01:45:57 +0000
+++ musicPlayer/src/applet-draw.c 2012-03-21 20:37:19 +0000
@@ -212,7 +212,7 @@
212 gchar *cUserIcon = myConfig.cUserImage[iStatus];212 gchar *cUserIcon = myConfig.cUserImage[iStatus];
213 if (cUserIcon != NULL) // l'utilisateur a defini une icone perso pour ce statut => on essaye de la charger.213 if (cUserIcon != NULL) // l'utilisateur a defini une icone perso pour ce statut => on essaye de la charger.
214 {214 {
215 gchar *cUserImagePath = cairo_dock_search_icon_s_path (cUserIcon);215 gchar *cUserImagePath = cairo_dock_search_icon_s_path (cUserIcon, MAX (myIcon->iImageWidth, myIcon->iImageHeight));
216 myData.pSurfaces[iStatus] = CD_APPLET_LOAD_SURFACE_FOR_MY_APPLET (cUserImagePath ? cUserImagePath : cUserIcon); // si on a trouve une icone, on la prend, sinon on considere le fichier comme une image.216 myData.pSurfaces[iStatus] = CD_APPLET_LOAD_SURFACE_FOR_MY_APPLET (cUserImagePath ? cUserImagePath : cUserIcon); // si on a trouve une icone, on la prend, sinon on considere le fichier comme une image.
217 g_free (cUserImagePath);217 g_free (cUserImagePath);
218 }218 }
219219
=== modified file 'musicPlayer/src/applet-musicplayer.c'
--- musicPlayer/src/applet-musicplayer.c 2012-02-16 01:45:57 +0000
+++ musicPlayer/src/applet-musicplayer.c 2012-03-21 20:37:19 +0000
@@ -503,11 +503,11 @@
503 cd_musicplayer_apply_status_surface (PLAYER_NONE); // until we detect any service, consider it's not running.503 cd_musicplayer_apply_status_surface (PLAYER_NONE); // until we detect any service, consider it's not running.
504 if (myConfig.cDefaultTitle == NULL)504 if (myConfig.cDefaultTitle == NULL)
505 {505 {
506 if (myIcon->cName != NULL)506 /**if (myIcon->cName != NULL)
507 {507 {
508 CD_APPLET_SET_NAME_FOR_MY_ICON (myIcon->cName);508 CD_APPLET_SET_NAME_FOR_MY_ICON (myIcon->cName);
509 }509 }
510 else if (strcmp (myData.pCurrentHandler->name, "Mpris2") != 0)510 else */if (strcmp (myData.pCurrentHandler->name, "Mpris2") != 0)
511 {511 {
512 CD_APPLET_SET_NAME_FOR_MY_ICON (myData.pCurrentHandler->name);512 CD_APPLET_SET_NAME_FOR_MY_ICON (myData.pCurrentHandler->name);
513 }513 }
514514
=== modified file 'musicPlayer/src/applet-notifications.c'
--- musicPlayer/src/applet-notifications.c 2012-02-16 01:45:57 +0000
+++ musicPlayer/src/applet-notifications.c 2012-03-21 20:37:19 +0000
@@ -130,6 +130,8 @@
130 myConfig.cMusicPlayer = g_strdup (cPlayerName);130 myConfig.cMusicPlayer = g_strdup (cPlayerName);
131 // set the handler with this value.131 // set the handler with this value.
132 cd_musicplayer_set_current_handler (myConfig.cMusicPlayer);132 cd_musicplayer_set_current_handler (myConfig.cMusicPlayer);
133 // launch it, if it's already running, it's likely to have no effect
134 cairo_dock_launch_command (myData.pCurrentHandler->launch);
133}135}
134static void _show_players_list_dialog (void)136static void _show_players_list_dialog (void)
135{137{
136138
=== modified file 'musicPlayer/src/applet-rhythmbox.c'
--- musicPlayer/src/applet-rhythmbox.c 2012-02-16 01:45:57 +0000
+++ musicPlayer/src/applet-rhythmbox.c 2012-03-21 20:37:19 +0000
@@ -345,7 +345,7 @@
345 pHandler->appclass = "rhythmbox";345 pHandler->appclass = "rhythmbox";
346 pHandler->launch = "rhythmbox";346 pHandler->launch = "rhythmbox";
347 pHandler->cMprisService = "org.gnome.Rhythmbox"; // they used MPRIS from version 2.90.1~20110908 with org.mpris.MediaPlayer2.rhythmbox, but we don't care as they quickly switched to MPRIS2 in version 2.90.1~20111126347 pHandler->cMprisService = "org.gnome.Rhythmbox"; // they used MPRIS from version 2.90.1~20110908 with org.mpris.MediaPlayer2.rhythmbox, but we don't care as they quickly switched to MPRIS2 in version 2.90.1~20111126
348 pHandler->cMpris2Service = "org.mpris.MediaPlayer2.rhythmbox3"; // 2.90.1~20111126348 pHandler->cMpris2Service = "org.mpris.MediaPlayer2.rhythmbox"; // after 2.90.1~20111126 (on a previous development version, they used rhythmbox3...)
349 pHandler->path = "/org/gnome/Rhythmbox/Player"; // <= 0.13349 pHandler->path = "/org/gnome/Rhythmbox/Player"; // <= 0.13
350 pHandler->interface = "org.gnome.Rhythmbox.Player";350 pHandler->interface = "org.gnome.Rhythmbox.Player";
351 pHandler->path2 = "/org/gnome/Rhythmbox/Shell";351 pHandler->path2 = "/org/gnome/Rhythmbox/Shell";
352352
=== modified file 'netspeed/data/netspeed.conf.in'
--- netspeed/data/netspeed.conf.in 2012-02-16 01:45:57 +0000
+++ netspeed/data/netspeed.conf.in 2012-03-21 20:37:19 +0000
@@ -20,8 +20,8 @@
20#{Set to 0 to use the default applet size}20#{Set to 0 to use the default applet size}
21icon size = 0;021icon size = 0;0
2222
23#B Always display the icon, even when the dock is hidden?23#Y+[No;0;0;With default background;0;0;With custom background;1;1] Always display the icon, even when the dock is hidden?
24always visi = false24always_visi = 0
2525
26#C+ Background color to add in this case26#C+ Background color to add in this case
27bg color = .8;.8;.8;.527bg color = .8;.8;.8;.5
2828
=== modified file 'po/ar.po'
--- po/ar.po 2012-02-16 01:45:57 +0000
+++ po/ar.po 2012-03-21 20:37:19 +0000
@@ -7,16 +7,15 @@
7msgstr ""7msgstr ""
8"Project-Id-Version: cairo-dock-plug-ins\n"8"Project-Id-Version: cairo-dock-plug-ins\n"
9"Report-Msgid-Bugs-To: fabounet@glx-dock.org\n"9"Report-Msgid-Bugs-To: fabounet@glx-dock.org\n"
10"POT-Creation-Date: 2012-02-12 03:52+0000\n"
11"PO-Revision-Date: 2011-09-16 00:48+0000\n"10"PO-Revision-Date: 2011-09-16 00:48+0000\n"
12"Last-Translator: Fabounet <fabounet03@gmail.com>\n"11"Last-Translator: Fabounet <fabounet03@gmail.com>\n"
13"Language-Team: Arabic <ar@li.org>\n"12"Language-Team: Arabic <ar@li.org>\n"
13"Language: ar\n"
14"MIME-Version: 1.0\n"14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"16"Content-Transfer-Encoding: 8bit\n"
17"X-Launchpad-Export-Date: 2012-02-13 04:54+0000\n"17"X-Launchpad-Export-Date: 2012-02-13 04:54+0000\n"
18"X-Generator: Launchpad (build 14781)\n"18"X-Generator: Launchpad (build 14781)\n"
19"Language: ar\n"
2019
21#: ../Animated-icons/src/applet-init.c:3220#: ../Animated-icons/src/applet-init.c:32
22msgid "Animated icons"21msgid "Animated icons"
@@ -28,47 +27,77 @@
2827
29#: ../Animated-icons/src/applet-init.c:80 ../Animated-icons/data/messages:928#: ../Animated-icons/src/applet-init.c:80 ../Animated-icons/data/messages:9
30#: ../Animated-icons/data/messages:27 ../Animated-icons/data/messages:4729#: ../Animated-icons/data/messages:27 ../Animated-icons/data/messages:47
31#: ../Animated-icons/data/messages:67 ../Animated-icons/data/messages:17730#: ../Animated-icons/data/messages:157
32msgid "Bounce"31msgid "Bounce"
33msgstr "ارتداد"32msgstr "ارتداد"
3433
35#: ../Animated-icons/src/applet-init.c:81 ../Animated-icons/data/messages:1134#: ../Animated-icons/src/applet-init.c:81 ../Animated-icons/data/messages:11
36#: ../Animated-icons/data/messages:29 ../Animated-icons/data/messages:4935#: ../Animated-icons/data/messages:29 ../Animated-icons/data/messages:49
37#: ../Animated-icons/data/messages:69
38msgid "Rotate"36msgid "Rotate"
39msgstr "تدوير"37msgstr "تدوير"
4038
41#: ../Animated-icons/src/applet-init.c:82 ../Animated-icons/data/messages:1339#: ../Animated-icons/src/applet-init.c:82 ../Animated-icons/data/messages:13
42#: ../Animated-icons/data/messages:31 ../Animated-icons/data/messages:5140#: ../Animated-icons/data/messages:31 ../Animated-icons/data/messages:51
43#: ../Animated-icons/data/messages:71 ../Animated-icons/data/messages:19141#: ../Animated-icons/data/messages:171
44msgid "Blink"42msgid "Blink"
45msgstr "وميض"43msgstr "وميض"
4644
47#: ../Animated-icons/src/applet-init.c:83 ../Animated-icons/data/messages:1545#: ../Animated-icons/src/applet-init.c:83 ../Animated-icons/data/messages:15
48#: ../Animated-icons/data/messages:33 ../Animated-icons/data/messages:5346#: ../Animated-icons/data/messages:33 ../Animated-icons/data/messages:53
49#: ../Animated-icons/data/messages:73 ../Animated-icons/data/messages:16547#: ../Animated-icons/data/messages:145
50msgid "Pulse"48msgid "Pulse"
51msgstr "نبض"49msgstr "نبض"
5250
53#: ../Animated-icons/src/applet-init.c:84 ../Animated-icons/data/messages:1751#: ../Animated-icons/src/applet-init.c:84 ../Animated-icons/data/messages:17
54#: ../Animated-icons/data/messages:35 ../Animated-icons/data/messages:5552#: ../Animated-icons/data/messages:35 ../Animated-icons/data/messages:55
55#: ../Animated-icons/data/messages:75 ../Animated-icons/data/messages:13753#: ../Animated-icons/data/messages:117
56msgid "Wobbly"54msgid "Wobbly"
57msgstr "متهاد"55msgstr "متهاد"
5856
59#: ../Animated-icons/src/applet-init.c:85 ../Animated-icons/data/messages:1957#: ../Animated-icons/src/applet-init.c:85 ../Animated-icons/data/messages:19
60#: ../Animated-icons/data/messages:37 ../Animated-icons/data/messages:5758#: ../Animated-icons/data/messages:37 ../Animated-icons/data/messages:57
61#: ../Animated-icons/data/messages:77 ../Animated-icons/data/messages:15359#: ../Animated-icons/data/messages:133
62msgid "Wave"60msgid "Wave"
63msgstr "تموج"61msgstr "تموج"
6462
65#: ../Animated-icons/src/applet-init.c:86 ../Animated-icons/data/messages:2163#: ../Animated-icons/src/applet-init.c:86 ../Animated-icons/data/messages:21
66#: ../Animated-icons/data/messages:39 ../Animated-icons/data/messages:5964#: ../Animated-icons/data/messages:39 ../Animated-icons/data/messages:59
67#: ../Animated-icons/data/messages:79 ../Animated-icons/data/messages:10165#: ../Animated-icons/data/messages:81 ../Animated-icons/data/messages:89
68#: ../Animated-icons/data/messages:109
69msgid "Spot"66msgid "Spot"
70msgstr "بقعة"67msgstr "بقعة"
7168
69#: ../Application-Menu/src/applet-init.c:30
70#, fuzzy
71msgid "Application Menu"
72msgstr "قائمة البرامج"
73
74#: ../Application-Menu/src/applet-init.c:33
75#: ../Global-Menu/src/applet-init.c:33
76msgid ""
77"This applet allows you to control the current active window:\n"
78" close, minimize, maximize, and display the application menu.To display the "
79"menu, applications have to support this feature, which is the case on Ubuntu "
80"by default.\n"
81"You can bind a shortkey to this action."
82msgstr ""
83
84#: ../Application-Menu/src/applet-init.c:83
85#: ../Application-Menu/src/applet-init.c:148
86#: ../Global-Menu/src/applet-init.c:108 ../Global-Menu/src/applet-init.c:210
87msgid "Show/hide the current application menu"
88msgstr ""
89
90#: ../Application-Menu/src/applet-notifications.c:52
91#: ../Global-Menu/src/applet-notifications.c:52
92msgid "The application didn't send its menu to us."
93msgstr ""
94
95#: ../Application-Menu/src/indicator-sound.c:228
96#: ../Sound-Menu/src/indicator-sound.c:228
97#, c-format
98msgid "Volume (%'.0f%%)"
99msgstr ""
100
72#: ../Cairo-Penguin/src/applet-init.c:33101#: ../Cairo-Penguin/src/applet-init.c:33
73msgid ""102msgid ""
74"Add a lively Penguin in your dock !\n"103"Add a lively Penguin in your dock !\n"
@@ -96,8 +125,7 @@
96#: ../Cairo-Penguin/src/applet-notifications.c:31125#: ../Cairo-Penguin/src/applet-notifications.c:31
97msgid ""126msgid ""
98"I don't have time to play with you, I have to dig and mine all these icons."127"I don't have time to play with you, I have to dig and mine all these icons."
99msgstr ""128msgstr "ليس لدي مايكفي من الوقت للعب معك, علي أن احفر وألغم كل هذه الأيقونات."
100"ليس لدي مايكفي من الوقت للعب معك, علي أن احفر وألغم كل هذه الأيقونات."
101129
102#: ../Cairo-Penguin/src/applet-notifications.c:32130#: ../Cairo-Penguin/src/applet-notifications.c:32
103msgid "Your dock is so messy! Let me clean it."131msgid "Your dock is so messy! Let me clean it."
@@ -252,7 +280,7 @@
252msgstr ""280msgstr ""
253281
254#: ../Composite-Manager/src/applet-notifications.c:120282#: ../Composite-Manager/src/applet-notifications.c:120
255#: ../Composite-Manager/data/messages:131283#: ../Composite-Manager/data/messages:129
256msgid "Edit Window-Manager settings"284msgid "Edit Window-Manager settings"
257msgstr ""285msgstr ""
258286
@@ -267,10 +295,10 @@
267#: ../RSSreader/src/applet-notifications.c:129295#: ../RSSreader/src/applet-notifications.c:129
268#: ../System-Monitor/src/applet-notifications.c:106296#: ../System-Monitor/src/applet-notifications.c:106
269#: ../Xgamma/src/applet-notifications.c:87297#: ../Xgamma/src/applet-notifications.c:87
270#: ../alsaMixer/src/applet-notifications.c:71298#: ../alsaMixer/src/applet-notifications.c:85
271#: ../dustbin/src/applet-notifications.c:136299#: ../dustbin/src/applet-notifications.c:136
272#: ../mail/src/cd-mail-applet-notifications.c:154300#: ../mail/src/cd-mail-applet-notifications.c:154
273#: ../musicPlayer/src/applet-notifications.c:276301#: ../musicPlayer/src/applet-notifications.c:278
274#: ../netspeed/src/applet-notifications.c:94302#: ../netspeed/src/applet-notifications.c:94
275#: ../quick-browser/src/applet-notifications.c:41303#: ../quick-browser/src/applet-notifications.c:41
276#: ../shortcuts/src/applet-notifications.c:249304#: ../shortcuts/src/applet-notifications.c:249
@@ -278,8 +306,8 @@
278#: ../showDesktop/src/applet-notifications.c:153306#: ../showDesktop/src/applet-notifications.c:153
279#: ../showDesktop/src/applet-notifications.c:165307#: ../showDesktop/src/applet-notifications.c:165
280#: ../showDesktop/src/applet-notifications.c:177308#: ../showDesktop/src/applet-notifications.c:177
281#: ../slider/src/applet-notifications.c:227309#: ../slider/src/applet-notifications.c:223
282#: ../slider/src/applet-notifications.c:268310#: ../slider/src/applet-notifications.c:265
283#: ../stack/src/applet-notifications.c:181311#: ../stack/src/applet-notifications.c:181
284#: ../switcher/src/applet-notifications.c:300312#: ../switcher/src/applet-notifications.c:300
285#: ../switcher/src/applet-notifications.c:305313#: ../switcher/src/applet-notifications.c:305
@@ -289,15 +317,15 @@
289msgstr "ضغط وسطي"317msgstr "ضغط وسطي"
290318
291#: ../Composite-Manager/src/applet-notifications.c:127319#: ../Composite-Manager/src/applet-notifications.c:127
292#: ../Composite-Manager/data/messages:133320#: ../Composite-Manager/data/messages:131
293msgid "Reload Window-Manager"321msgid "Reload Window-Manager"
294msgstr ""322msgstr ""
295323
296#: ../Composite-Manager/src/applet-notifications.c:136324#: ../Composite-Manager/src/applet-notifications.c:136
297#: ../showDesktop/src/applet-notifications.c:153325#: ../showDesktop/src/applet-notifications.c:153
298#: ../showDesktop/src/applet-notifications.c:155326#: ../showDesktop/src/applet-notifications.c:155
299#: ../Composite-Manager/data/messages:135 ../showDesktop/data/messages:105327#: ../Composite-Manager/data/messages:133 ../showDesktop/data/messages:103
300#: ../showDesktop/data/messages:119 ../switcher/data/messages:107328#: ../showDesktop/data/messages:117 ../switcher/data/messages:113
301msgid "Show desktop"329msgid "Show desktop"
302msgstr ""330msgstr ""
303331
@@ -305,22 +333,22 @@
305#: ../showDesktop/src/applet-notifications.c:165333#: ../showDesktop/src/applet-notifications.c:165
306#: ../showDesktop/src/applet-notifications.c:167334#: ../showDesktop/src/applet-notifications.c:167
307#: ../switcher/src/applet-notifications.c:314335#: ../switcher/src/applet-notifications.c:314
308#: ../Composite-Manager/data/messages:137 ../showDesktop/data/messages:113336#: ../Composite-Manager/data/messages:135 ../showDesktop/data/messages:111
309#: ../showDesktop/data/messages:127 ../switcher/data/messages:109337#: ../showDesktop/data/messages:125 ../switcher/data/messages:115
310msgid "Expose all the desktops"338msgid "Expose all the desktops"
311msgstr ""339msgstr ""
312340
313#: ../Composite-Manager/src/applet-notifications.c:154341#: ../Composite-Manager/src/applet-notifications.c:154
314#: ../switcher/src/applet-notifications.c:323342#: ../switcher/src/applet-notifications.c:323
315#: ../Composite-Manager/data/messages:139 ../switcher/data/messages:111343#: ../Composite-Manager/data/messages:137 ../switcher/data/messages:117
316msgid "Expose all the windows"344msgid "Expose all the windows"
317msgstr ""345msgstr ""
318346
319#: ../Composite-Manager/src/applet-notifications.c:163347#: ../Composite-Manager/src/applet-notifications.c:163
320#: ../showDesktop/src/applet-notifications.c:177348#: ../showDesktop/src/applet-notifications.c:177
321#: ../showDesktop/src/applet-notifications.c:179349#: ../showDesktop/src/applet-notifications.c:179
322#: ../Composite-Manager/data/messages:141 ../showDesktop/data/messages:111350#: ../Composite-Manager/data/messages:139 ../showDesktop/data/messages:109
323#: ../showDesktop/data/messages:125351#: ../showDesktop/data/messages:123
324msgid "Show the Widget Layer"352msgid "Show the Widget Layer"
325msgstr ""353msgstr ""
326354
@@ -344,8 +372,7 @@
344372
345#: ../Dbus/src/interface-applet-signals.c:466373#: ../Dbus/src/interface-applet-signals.c:466
346#, c-format374#, c-format
347msgid ""375msgid "The applet '%s' has been succefully updated and automatically reloaded"
348"The applet '%s' has been succefully updated and automatically reloaded"
349msgstr "البريمج '%s' تم تحديثه وإعادة تشغيله تلقائياً بنجاح"376msgstr "البريمج '%s' تم تحديثه وإعادة تشغيله تلقائياً بنجاح"
350377
351#: ../Dbus/src/interface-applet-signals.c:466378#: ../Dbus/src/interface-applet-signals.c:466
@@ -500,7 +527,7 @@
500msgid "Properties:"527msgid "Properties:"
501msgstr ""528msgstr ""
502529
503#: ../Folders/src/applet-notifications.c:136 ../Folders/data/messages:119530#: ../Folders/src/applet-notifications.c:136 ../Folders/data/messages:117
504msgid "Size"531msgid "Size"
505msgstr ""532msgstr ""
506533
@@ -534,21 +561,30 @@
534561
535#: ../Folders/src/applet-notifications.c:184562#: ../Folders/src/applet-notifications.c:184
536#: ../Folders/src/applet-notifications.c:185563#: ../Folders/src/applet-notifications.c:185
537#: ../Folders/src/applet-notifications.c:186 ../Disks/data/messages:107564#: ../Folders/src/applet-notifications.c:186 ../Disks/data/messages:105
538#: ../System-Monitor/data/messages:111 ../alsaMixer/data/messages:155565#: ../System-Monitor/data/messages:115 ../alsaMixer/data/messages:147
539#: ../netspeed/data/messages:107 ../slider/data/messages:165566#: ../netspeed/data/messages:115 ../slider/data/messages:169
540msgid "Yes"567msgid "Yes"
541msgstr ""568msgstr ""
542569
543#: ../Folders/src/applet-notifications.c:184570#: ../Folders/src/applet-notifications.c:184
544#: ../Folders/src/applet-notifications.c:185571#: ../Folders/src/applet-notifications.c:185
545#: ../Folders/src/applet-notifications.c:186 ../Disks/data/messages:103572#: ../Folders/src/applet-notifications.c:186
546#: ../Disks/data/messages:139 ../Network-Monitor/data/messages:113573#: ../Application-Menu/data/messages:293 ../Disks/data/messages:101
547#: ../RSSreader/data/messages:115 ../System-Monitor/data/messages:107574#: ../Disks/data/messages:137 ../Messaging-Menu/data/messages:15
548#: ../System-Monitor/data/messages:159 ../alsaMixer/data/messages:121575#: ../Network-Monitor/data/messages:17 ../Network-Monitor/data/messages:117
549#: ../alsaMixer/data/messages:151 ../clock/data/messages:101576#: ../RSSreader/data/messages:113 ../Sound-Menu/data/messages:183
550#: ../netspeed/data/messages:103 ../netspeed/data/messages:151577#: ../Status-Notifier/data/messages:19 ../System-Monitor/data/messages:15
551#: ../shortcuts/data/messages:121 ../slider/data/messages:163578#: ../System-Monitor/data/messages:111 ../System-Monitor/data/messages:163
579#: ../Toons/data/messages:15 ../alsaMixer/data/messages:17
580#: ../alsaMixer/data/messages:113 ../alsaMixer/data/messages:143
581#: ../clock/data/messages:17 ../clock/data/messages:105
582#: ../keyboard-indicator/data/messages:15 ../mail/data/messages:15
583#: ../musicPlayer/data/messages:17 ../netspeed/data/messages:15
584#: ../netspeed/data/messages:111 ../netspeed/data/messages:159
585#: ../powermanager/data/messages:17 ../shortcuts/data/messages:119
586#: ../slider/data/messages:15 ../slider/data/messages:167
587#: ../weather/data/messages:17 ../wifi/data/messages:15
552msgid "No"588msgid "No"
553msgstr ""589msgstr ""
554590
@@ -630,47 +666,47 @@
630666
631#: ../Folders/src/applet-notifications.c:380667#: ../Folders/src/applet-notifications.c:380
632#: ../Recent-Events/src/applet-dialog.c:263668#: ../Recent-Events/src/applet-dialog.c:263
633#: ../slider/src/applet-notifications.c:237669#: ../slider/src/applet-notifications.c:233
634msgid "Open with"670msgid "Open with"
635msgstr "فتح بـ"671msgstr "فتح بـ"
636672
637#: ../Folders/src/applet-notifications.c:412673#: ../Folders/src/applet-notifications.c:413
638msgid "Properties"674msgid "Properties"
639msgstr "الخصائص"675msgstr "الخصائص"
640676
641#: ../Folders/src/applet-notifications.c:415677#: ../Folders/src/applet-notifications.c:416
642msgid "Create a new file"678msgid "Create a new file"
643msgstr "أنشئ ملفًا جديدًا"679msgstr "أنشئ ملفًا جديدًا"
644680
645#: ../Folders/src/applet-notifications.c:416681#: ../Folders/src/applet-notifications.c:417
646msgid "Create a new folder"682msgid "Create a new folder"
647msgstr "تكوين مجلد جديد"683msgstr "تكوين مجلد جديد"
648684
649#: ../Folders/src/applet-notifications.c:421685#: ../Folders/src/applet-notifications.c:422
650msgid "Sort by"686msgid "Sort by"
651msgstr ""687msgstr ""
652688
653#: ../Folders/src/applet-notifications.c:422689#: ../Folders/src/applet-notifications.c:423
654msgid "By name"690msgid "By name"
655msgstr ""691msgstr ""
656692
657#: ../Folders/src/applet-notifications.c:423693#: ../Folders/src/applet-notifications.c:424
658msgid "By date"694msgid "By date"
659msgstr ""695msgstr ""
660696
661#: ../Folders/src/applet-notifications.c:424697#: ../Folders/src/applet-notifications.c:425
662msgid "By size"698msgid "By size"
663msgstr ""699msgstr ""
664700
665#: ../Folders/src/applet-notifications.c:425701#: ../Folders/src/applet-notifications.c:426
666msgid "By type"702msgid "By type"
667msgstr ""703msgstr ""
668704
669#: ../Folders/src/applet-notifications.c:465705#: ../Folders/src/applet-notifications.c:468
670msgid "The folder has been imported."706msgid "The folder has been imported."
671msgstr ""707msgstr ""
672708
673#: ../Folders/src/applet-notifications.c:523709#: ../Folders/src/applet-notifications.c:529
674msgid "Do you want to import the content of the folder too?"710msgid "Do you want to import the content of the folder too?"
675msgstr ""711msgstr ""
676712
@@ -692,19 +728,19 @@
692msgid "Applications Menu"728msgid "Applications Menu"
693msgstr "قائمة البرامج"729msgstr "قائمة البرامج"
694730
695#: ../GMenu/src/applet-init.c:65731#: ../GMenu/src/applet-init.c:66
696msgid "Show/hide the Applications menu"732msgid "Show/hide the Applications menu"
697msgstr ""733msgstr ""
698734
699#: ../GMenu/src/applet-init.c:70735#: ../GMenu/src/applet-init.c:71
700msgid "Show/hide the quick-launch dialog"736msgid "Show/hide the quick-launch dialog"
701msgstr ""737msgstr ""
702738
703#: ../GMenu/src/applet-menu-callbacks.c:218 ../GMenu/data/messages:123739#: ../GMenu/src/applet-menu-callbacks.c:218 ../GMenu/data/messages:121
704msgid "Logout"740msgid "Logout"
705msgstr ""741msgstr ""
706742
707#: ../GMenu/src/applet-menu-callbacks.c:221 ../GMenu/data/messages:125743#: ../GMenu/src/applet-menu-callbacks.c:221 ../GMenu/data/messages:123
708msgid "Shutdown"744msgid "Shutdown"
709msgstr ""745msgstr ""
710746
@@ -736,23 +772,6 @@
736msgid "Global Menu"772msgid "Global Menu"
737msgstr ""773msgstr ""
738774
739#: ../Global-Menu/src/applet-init.c:33
740msgid ""
741"This applet allows you to control the current active window:\n"
742" close, minimize, maximize, and display the application menu.To display the "
743"menu, applications have to support this feature, which is the case on Ubuntu "
744"by default.\n"
745"You can bind a shortkey to this action."
746msgstr ""
747
748#: ../Global-Menu/src/applet-init.c:101 ../Global-Menu/src/applet-init.c:197
749msgid "Show/hide the current application menu"
750msgstr ""
751
752#: ../Global-Menu/src/applet-notifications.c:52
753msgid "The application didn't send its menu to us."
754msgstr ""
755
756#: ../Impulse/src/applet-impulse.c:170775#: ../Impulse/src/applet-impulse.c:170
757msgid ""776msgid ""
758"There is something wrong with PulseAudio.\n"777"There is something wrong with PulseAudio.\n"
@@ -829,10 +848,10 @@
829848
830#: ../Network-Monitor/src/applet-draw.c:30849#: ../Network-Monitor/src/applet-draw.c:30
831#: ../powermanager/src/powermanager-draw.c:172 ../wifi/src/applet-draw.c:31850#: ../powermanager/src/powermanager-draw.c:172 ../wifi/src/applet-draw.c:31
832#: ../Clipper/data/messages:101 ../GMenu/data/messages:121851#: ../Clipper/data/messages:99 ../GMenu/data/messages:119
833#: ../Network-Monitor/data/messages:217 ../alsaMixer/data/messages:129852#: ../Network-Monitor/data/messages:221 ../alsaMixer/data/messages:121
834#: ../dnd2share/data/messages:113 ../dustbin/data/messages:103853#: ../dnd2share/data/messages:111 ../dustbin/data/messages:101
835#: ../wifi/data/messages:135 ../wifi/data/messages:185854#: ../wifi/data/messages:139 ../wifi/data/messages:189
836msgid "None"855msgid "None"
837msgstr "لا شيء"856msgstr "لا شيء"
838857
@@ -1064,7 +1083,7 @@
1064msgid "Document"1083msgid "Document"
1065msgstr ""1084msgstr ""
10661085
1067#: ../Recent-Events/src/applet-dialog.c:3681086#: ../Recent-Events/src/applet-dialog.c:368 ../logout/data/messages:129
1068msgid "Image"1087msgid "Image"
1069msgstr ""1088msgstr ""
10701089
@@ -1100,19 +1119,19 @@
1100msgid "Last access"1119msgid "Last access"
1101msgstr ""1120msgstr ""
11021121
1103#: ../Recent-Events/src/applet-dialog.c:4951122#: ../Recent-Events/src/applet-dialog.c:481
1104msgid "You need to install the Zeitgeist data engine."1123msgid "You need to install the Zeitgeist data engine."
1105msgstr ""1124msgstr ""
11061125
1107#: ../Recent-Events/src/applet-dialog.c:5011126#: ../Recent-Events/src/applet-dialog.c:516
1108msgid "Browse and search in recent events"1127msgid "Browse and search in recent events"
1109msgstr ""1128msgstr ""
11101129
1111#: ../Recent-Events/src/applet-init.c:281130#: ../Recent-Events/src/applet-init.c:29
1112msgid "Recent-Events"1131msgid "Recent-Events"
1113msgstr ""1132msgstr ""
11141133
1115#: ../Recent-Events/src/applet-init.c:561134#: ../Recent-Events/src/applet-init.c:58
1116msgid "Show/hide the Recent Events"1135msgid "Show/hide the Recent Events"
1117msgstr ""1136msgstr ""
11181137
@@ -1121,16 +1140,16 @@
1121msgid "%d event(s) deleted"1140msgid "%d event(s) deleted"
1122msgstr ""1141msgstr ""
11231142
1124#: ../Recent-Events/src/applet-notifications.c:1121143#: ../Recent-Events/src/applet-notifications.c:113
1125#: ../Scooby-Do/src/applet-backend-recent.c:212 ../Scooby-Do/data/messages:1051144#: ../Scooby-Do/src/applet-backend-recent.c:212 ../Scooby-Do/data/messages:105
1126msgid "Recent files"1145msgid "Recent files"
1127msgstr "آخر الملفات"1146msgstr "آخر الملفات"
11281147
1129#: ../Recent-Events/src/applet-notifications.c:1601148#: ../Recent-Events/src/applet-notifications.c:161
1130msgid "Delete today's events"1149msgid "Delete today's events"
1131msgstr ""1150msgstr ""
11321151
1133#: ../Recent-Events/src/applet-notifications.c:1621152#: ../Recent-Events/src/applet-notifications.c:163
1134msgid "Delete all events"1153msgid "Delete all events"
1135msgstr ""1154msgstr ""
11361155
@@ -1206,7 +1225,7 @@
1206msgstr "فتح في نافذة جديدة"1225msgstr "فتح في نافذة جديدة"
12071226
1208#: ../Scooby-Do/src/applet-backend-firefox.c:4331227#: ../Scooby-Do/src/applet-backend-firefox.c:433
1209#: ../dnd2share/src/applet-notifications.c:4821228#: ../dnd2share/src/applet-notifications.c:483
1210msgid "Open file"1229msgid "Open file"
1211msgstr "افتح ملفًا"1230msgstr "افتح ملفًا"
12121231
@@ -1293,6 +1312,31 @@
1293msgid "Enter your search"1312msgid "Enter your search"
1294msgstr "أدخال مادة البحث"1313msgstr "أدخال مادة البحث"
12951314
1315#: ../Sound-Menu/src/applet-init.c:38
1316#, fuzzy
1317msgid "Sound Menu"
1318msgstr "التحكم في الصوت"
1319
1320#: ../Sound-Menu/src/applet-init.c:41
1321msgid ""
1322"A menu to control the volume of each current audio sources.\n"
1323"It requires the Sound service, which is available on Ubuntu by default."
1324msgstr ""
1325
1326#: ../Sound-Menu/src/applet-init.c:91 ../alsaMixer/src/applet-init.c:118
1327msgid "Show/hide the Sound menu"
1328msgstr ""
1329
1330#: ../Sound-Menu/src/applet-notifications.c:35
1331msgid ""
1332"The Sound service did not reply.\n"
1333"Please check that it is correctly installed."
1334msgstr ""
1335
1336#: ../Sound-Menu/src/applet-sound.c:200 ../alsaMixer/src/applet-draw.c:64
1337msgid "Volume"
1338msgstr ""
1339
1296#: ../Status-Notifier/src/applet-init.c:331340#: ../Status-Notifier/src/applet-init.c:33
1297msgid ""1341msgid ""
1298"A <b>notification area</b> for your dock\n"1342"A <b>notification area</b> for your dock\n"
@@ -1472,80 +1516,78 @@
1472msgstr ""1516msgstr ""
14731517
1474#: ../alsaMixer/src/applet-backend-alsamixer.c:461518#: ../alsaMixer/src/applet-backend-alsamixer.c:46
1519#: ../alsaMixer/src/applet-mixer.c:51
1475#, c-format1520#, c-format
1476msgid "I couldn't open card '%s'"1521msgid "I couldn't open card '%s'"
1477msgstr ""1522msgstr ""
14781523
1479#: ../alsaMixer/src/applet-backend-alsamixer.c:511524#: ../alsaMixer/src/applet-backend-alsamixer.c:51
1525#: ../alsaMixer/src/applet-mixer.c:56
1480#, c-format1526#, c-format
1481msgid "Card '%s' opened but I couldn't get any info"1527msgid "Card '%s' opened but I couldn't get any info"
1482msgstr ""1528msgstr ""
14831529
1484#: ../alsaMixer/src/applet-backend-alsamixer.c:591530#: ../alsaMixer/src/applet-backend-alsamixer.c:59
1531#: ../alsaMixer/src/applet-mixer.c:64
1485msgid "I couldn't open the mixer"1532msgid "I couldn't open the mixer"
1486msgstr ""1533msgstr ""
14871534
1488#: ../alsaMixer/src/applet-backend-alsamixer.c:661535#: ../alsaMixer/src/applet-backend-alsamixer.c:66
1536#: ../alsaMixer/src/applet-mixer.c:71
1489msgid "I couldn't attach the mixer to the card"1537msgid "I couldn't attach the mixer to the card"
1490msgstr ""1538msgstr ""
14911539
1492#: ../alsaMixer/src/applet-backend-alsamixer.c:731540#: ../alsaMixer/src/applet-backend-alsamixer.c:73
1541#: ../alsaMixer/src/applet-mixer.c:78
1493msgid "I couldn't register options"1542msgid "I couldn't register options"
1494msgstr ""1543msgstr ""
14951544
1496#: ../alsaMixer/src/applet-backend-alsamixer.c:801545#: ../alsaMixer/src/applet-backend-alsamixer.c:80
1546#: ../alsaMixer/src/applet-mixer.c:86
1497msgid "I couldn't load the mixer"1547msgid "I couldn't load the mixer"
1498msgstr ""1548msgstr ""
14991549
1500#: ../alsaMixer/src/applet-backend-alsamixer.c:2611550#: ../alsaMixer/src/applet-backend-alsamixer.c:261
1551#: ../alsaMixer/src/applet-mixer.c:286
1501msgid "Set up volume:"1552msgid "Set up volume:"
1502msgstr ""1553msgstr ""
15031554
1504#: ../alsaMixer/src/applet-draw.c:63
1505msgid "Volume"
1506msgstr ""
1507
1508#: ../alsaMixer/src/applet-init.c:341555#: ../alsaMixer/src/applet-init.c:34
1509msgid ""1556msgid ""
1510"This applet lets you control the sound volume from the dock.\n"1557"This applet lets you control the sound volume from the dock.\n"
1511"Scroll up/down on the icon to increase/decrease the volume.\n"1558"Scroll up/down on the icon to increase/decrease the volume.\n"
1512"Click on icon to show/hide volume control (you can bind a keyboard shortcut "1559"Click on icon to show/hide the volume control (you can bind a keyboard "
1513"for it)\n"1560"shortcut for it)\n"
1514"You can also hide the dialog by clicking on it.\n"
1515"Middle-click to set or unset to mute, double-click to raise the channels "1561"Middle-click to set or unset to mute, double-click to raise the channels "
1516"mixer.\n"1562"mixer.\n"
1517"This applet works with the Alsa sound driver."1563"The applet can either use the Ubuntu Sound-menu or the Alsa driver."
1518msgstr ""1564msgstr ""
15191565
1520#: ../alsaMixer/src/applet-init.c:431566#: ../alsaMixer/src/applet-init.c:42
1521msgid "Sound Control"1567msgid "Sound Control"
1522msgstr "التحكم في الصوت"1568msgstr "التحكم في الصوت"
15231569
1524#: ../alsaMixer/src/applet-init.c:1191570#: ../alsaMixer/src/applet-notifications.c:80
1525msgid "Show/hide the Sound menu"
1526msgstr ""
1527
1528#: ../alsaMixer/src/applet-notifications.c:67
1529msgid "Adjust channels"1571msgid "Adjust channels"
1530msgstr ""1572msgstr ""
15311573
1532#: ../alsaMixer/src/applet-notifications.c:671574#: ../alsaMixer/src/applet-notifications.c:80
1533msgid "double-click"1575msgid "double-click"
1534msgstr "ضغط-مزدوج"1576msgstr "ضغط-مزدوج"
15351577
1536#: ../alsaMixer/src/applet-notifications.c:711578#: ../alsaMixer/src/applet-notifications.c:85
1537msgid "Unmute"1579msgid "Unmute"
1538msgstr ""1580msgstr ""
15391581
1540#: ../alsaMixer/src/applet-notifications.c:711582#: ../alsaMixer/src/applet-notifications.c:85
1541msgid "Mute"1583msgid "Mute"
1542msgstr "كتم"1584msgstr "كتم"
15431585
1544#: ../clock/src/applet-calendar.c:193 ../clock/src/applet-calendar.c:2741586#: ../clock/src/applet-calendar.c:193 ../clock/src/applet-calendar.c:274
1545#: ../clock/src/applet-calendar.c:528 ../clock/src/applet-calendar.c:5331587#: ../clock/src/applet-calendar.c:528 ../clock/src/applet-calendar.c:533
1546#: ../clock/src/applet-task-editor.c:119 ../clock/src/applet-timer.c:881588#: ../clock/src/applet-task-editor.c:119 ../clock/src/applet-timer.c:87
1547#: ../clock/src/applet-timer.c:176 ../clock/src/applet-timer.c:4581589#: ../clock/src/applet-timer.c:175 ../clock/src/applet-timer.c:457
1548#: ../clock/src/applet-timer.c:475 ../clock/src/applet-timer.c:4951590#: ../clock/src/applet-timer.c:474 ../clock/src/applet-timer.c:494
1549msgid "No title"1591msgid "No title"
1550msgstr "لا عنوان"1592msgstr "لا عنوان"
15511593
@@ -1557,7 +1599,7 @@
1557msgid "Calendar and tasks"1599msgid "Calendar and tasks"
1558msgstr "أجندة و مهام"1600msgstr "أجندة و مهام"
15591601
1560#: ../clock/src/applet-config.c:36 ../clock/data/messages:1691602#: ../clock/src/applet-config.c:36 ../clock/data/messages:175
1561msgid "Alarm"1603msgid "Alarm"
1562msgstr "منبه"1604msgstr "منبه"
15631605
@@ -1641,7 +1683,7 @@
1641msgid "E.g.:"1683msgid "E.g.:"
1642msgstr ""1684msgstr ""
16431685
1644#: ../clock/src/applet-config.c:495 ../weather/src/applet-config.c:2071686#: ../clock/src/applet-config.c:505 ../weather/src/applet-config.c:207
1645msgid "Search for your location :"1687msgid "Search for your location :"
1646msgstr ""1688msgstr ""
16471689
@@ -1655,8 +1697,8 @@
1655"2 view are available : <b>numeric</b> and <b>analogic</b>.\n"1697"2 view are available : <b>numeric</b> and <b>analogic</b>.\n"
1656" Analogic view is compatible with the Cairo-Clock's themes, and you can "1698" Analogic view is compatible with the Cairo-Clock's themes, and you can "
1657"detach the applet to be a perfect clone of Cairo-Clock.\n"1699"detach the applet to be a perfect clone of Cairo-Clock.\n"
1658"It displays a <b>calendar</b> on left-click, which lets you <b>manage "1700"It displays a <b>calendar</b> on left-click, which lets you <b>manage tasks</"
1659"tasks</b>.\n"1701"b>.\n"
1660"It also supports alarms, and allows you to setup time and date.\n"1702"It also supports alarms, and allows you to setup time and date.\n"
1661"Left-click to show/hide the calendar, Middle-click to stop a notification,\n"1703"Left-click to show/hide the calendar, Middle-click to stop a notification,\n"
1662"Double-click on a day to edit the tasks for this day."1704"Double-click on a day to edit the tasks for this day."
@@ -1723,13 +1765,13 @@
1723msgstr ""1765msgstr ""
17241766
1725#: ../clock/src/applet-task-editor.c:398 ../musicPlayer/src/applet-draw.c:1531767#: ../clock/src/applet-task-editor.c:398 ../musicPlayer/src/applet-draw.c:153
1726#: ../RSSreader/data/messages:1371768#: ../RSSreader/data/messages:135
1727msgid "Title"1769msgid "Title"
1728msgstr ""1770msgstr ""
17291771
1730#: ../clock/src/applet-task-editor.c:4051772#: ../clock/src/applet-task-editor.c:405
1731#: ../dnd2share/src/applet-notifications.c:387 ../Doncky/data/messages:991773#: ../dnd2share/src/applet-notifications.c:387 ../Doncky/data/messages:97
1732#: ../RSSreader/data/messages:1531774#: ../RSSreader/data/messages:151
1733msgid "Text"1775msgid "Text"
1734msgstr ""1776msgstr ""
17351777
@@ -1745,40 +1787,40 @@
1745msgid "Tags"1787msgid "Tags"
1746msgstr ""1788msgstr ""
17471789
1748#: ../clock/src/applet-timer.c:591790#: ../clock/src/applet-timer.c:58
1749msgid "1mn"1791msgid "1mn"
1750msgstr ""1792msgstr ""
17511793
1752#: ../clock/src/applet-timer.c:641794#: ../clock/src/applet-timer.c:63
1753msgid "1h"1795msgid "1h"
1754msgstr ""1796msgstr ""
17551797
1756#: ../clock/src/applet-timer.c:871798#: ../clock/src/applet-timer.c:86
1757msgid "The following task was scheduled at"1799msgid "The following task was scheduled at"
1758msgstr ""1800msgstr ""
17591801
1760#: ../clock/src/applet-timer.c:90 ../clock/src/applet-timer.c:4601802#: ../clock/src/applet-timer.c:89 ../clock/src/applet-timer.c:459
1761#: ../clock/src/applet-timer.c:4971803#: ../clock/src/applet-timer.c:496
1762msgid "Repeat this message every:"1804msgid "Repeat this message every:"
1763msgstr ""1805msgstr ""
17641806
1765#: ../clock/src/applet-timer.c:1741807#: ../clock/src/applet-timer.c:173
1766msgid "The following task has felt due:"1808msgid "The following task has felt due:"
1767msgstr ""1809msgstr ""
17681810
1769#: ../clock/src/applet-timer.c:4571811#: ../clock/src/applet-timer.c:456
1770msgid "It's time for the following task:"1812msgid "It's time for the following task:"
1771msgstr ""1813msgstr ""
17721814
1773#: ../clock/src/applet-timer.c:4741815#: ../clock/src/applet-timer.c:473
1774msgid "This task will begin in 15 minutes:"1816msgid "This task will begin in 15 minutes:"
1775msgstr ""1817msgstr ""
17761818
1777#: ../clock/src/applet-timer.c:4941819#: ../clock/src/applet-timer.c:493
1778msgid "Today is the following anniversary:"1820msgid "Today is the following anniversary:"
1779msgstr ""1821msgstr ""
17801822
1781#: ../clock/src/applet-timer.c:4941823#: ../clock/src/applet-timer.c:493
1782msgid "Tomorrow is the following anniversary:"1824msgid "Tomorrow is the following anniversary:"
1783msgstr ""1825msgstr ""
17841826
@@ -1811,7 +1853,7 @@
1811msgstr ""1853msgstr ""
18121854
1813#: ../desklet-rendering/src/rendering-desklet-decorations.c:1051855#: ../desklet-rendering/src/rendering-desklet-decorations.c:105
1814#: ../slider/data/messages:1331856#: ../slider/data/messages:137
1815msgid "none"1857msgid "none"
1816msgstr ""1858msgstr ""
18171859
@@ -1851,8 +1893,7 @@
1851msgstr ""1893msgstr ""
18521894
1853#: ../dnd2share/src/applet-dnd2share.c:3311895#: ../dnd2share/src/applet-dnd2share.c:331
1854msgid ""1896msgid "Please wait for the current upload to finish before starting a new one."
1855"Please wait for the current upload to finish before starting a new one."
1856msgstr ""1897msgstr ""
18571898
1858#: ../dnd2share/src/applet-dnd2share.c:5911899#: ../dnd2share/src/applet-dnd2share.c:591
@@ -1941,19 +1982,19 @@
1941msgid "History"1982msgid "History"
1942msgstr ""1983msgstr ""
19431984
1944#: ../dnd2share/src/applet-notifications.c:4841985#: ../dnd2share/src/applet-notifications.c:485
1945msgid "Get text"1986msgid "Get text"
1946msgstr ""1987msgstr ""
19471988
1948#: ../dnd2share/src/applet-notifications.c:4861989#: ../dnd2share/src/applet-notifications.c:487
1949msgid "Remove from history"1990msgid "Remove from history"
1950msgstr ""1991msgstr ""
19511992
1952#: ../dnd2share/src/applet-notifications.c:4891993#: ../dnd2share/src/applet-notifications.c:490
1953msgid "Clear History"1994msgid "Clear History"
1954msgstr ""1995msgstr ""
19551996
1956#: ../dnd2share/src/applet-notifications.c:4941997#: ../dnd2share/src/applet-notifications.c:495
1957msgid "Use only a files hosting site"1998msgid "Use only a files hosting site"
1958msgstr ""1999msgstr ""
19592000
@@ -1966,18 +2007,18 @@
1966msgstr ""2007msgstr ""
19672008
1968#: ../dock-rendering/src/rendering-init.c:362009#: ../dock-rendering/src/rendering-init.c:36
1969#: ../dock-rendering/data/messages:852010#: ../dock-rendering/data/messages:87
1970msgid "Parabolic"2011msgid "Parabolic"
1971msgstr ""2012msgstr ""
19722013
1973#: ../dock-rendering/src/rendering-init.c:372014#: ../dock-rendering/src/rendering-init.c:37
1974#: ../dock-rendering/data/messages:1092015#: ../dock-rendering/data/messages:111
1975msgid "Rainbow"2016msgid "Rainbow"
1976msgstr ""2017msgstr ""
19772018
1978#: ../dock-rendering/src/rendering-init.c:392019#: ../dock-rendering/src/rendering-init.c:39
1979#: ../dock-rendering/data/messages:27 ../shortcuts/data/messages:1132020#: ../dock-rendering/data/messages:29 ../shortcuts/data/messages:111
1980#: ../stack/data/messages:1052021#: ../stack/data/messages:103
1981msgid "Slide"2022msgid "Slide"
1982msgstr ""2023msgstr ""
19832024
@@ -2084,37 +2125,37 @@
20842125
2085#: ../icon-effect/src/applet-init.c:101 ../icon-effect/data/messages:72126#: ../icon-effect/src/applet-init.c:101 ../icon-effect/data/messages:7
2086#: ../icon-effect/data/messages:23 ../icon-effect/data/messages:392127#: ../icon-effect/data/messages:23 ../icon-effect/data/messages:39
2087#: ../icon-effect/data/messages:55 ../icon-effect/data/messages:712128#: ../icon-effect/data/messages:55
2088msgid "Fire"2129msgid "Fire"
2089msgstr ""2130msgstr ""
20902131
2091#: ../icon-effect/src/applet-init.c:104 ../icon-effect/data/messages:92132#: ../icon-effect/src/applet-init.c:104 ../icon-effect/data/messages:9
2092#: ../icon-effect/data/messages:25 ../icon-effect/data/messages:412133#: ../icon-effect/data/messages:25 ../icon-effect/data/messages:41
2093#: ../icon-effect/data/messages:57 ../icon-effect/data/messages:992134#: ../icon-effect/data/messages:83
2094msgid "Stars"2135msgid "Stars"
2095msgstr ""2136msgstr ""
20962137
2097#: ../icon-effect/src/applet-init.c:107 ../icon-effect/data/messages:112138#: ../icon-effect/src/applet-init.c:107 ../icon-effect/data/messages:11
2098#: ../icon-effect/data/messages:27 ../icon-effect/data/messages:432139#: ../icon-effect/data/messages:27 ../icon-effect/data/messages:43
2099#: ../icon-effect/data/messages:59 ../icon-effect/data/messages:1432140#: ../icon-effect/data/messages:127
2100msgid "Rain"2141msgid "Rain"
2101msgstr ""2142msgstr ""
21022143
2103#: ../icon-effect/src/applet-init.c:110 ../icon-effect/data/messages:132144#: ../icon-effect/src/applet-init.c:110 ../icon-effect/data/messages:13
2104#: ../icon-effect/data/messages:29 ../icon-effect/data/messages:452145#: ../icon-effect/data/messages:29 ../icon-effect/data/messages:45
2105#: ../icon-effect/data/messages:61 ../icon-effect/data/messages:1212146#: ../icon-effect/data/messages:105
2106msgid "Snow"2147msgid "Snow"
2107msgstr ""2148msgstr ""
21082149
2109#: ../icon-effect/src/applet-init.c:113 ../icon-effect/data/messages:152150#: ../icon-effect/src/applet-init.c:113 ../icon-effect/data/messages:15
2110#: ../icon-effect/data/messages:31 ../icon-effect/data/messages:472151#: ../icon-effect/data/messages:31 ../icon-effect/data/messages:47
2111#: ../icon-effect/data/messages:63 ../icon-effect/data/messages:1652152#: ../icon-effect/data/messages:149
2112msgid "Storm"2153msgid "Storm"
2113msgstr ""2154msgstr ""
21142155
2115#: ../icon-effect/src/applet-init.c:116 ../icon-effect/data/messages:172156#: ../icon-effect/src/applet-init.c:116 ../icon-effect/data/messages:17
2116#: ../icon-effect/data/messages:33 ../icon-effect/data/messages:492157#: ../icon-effect/data/messages:33 ../icon-effect/data/messages:49
2117#: ../icon-effect/data/messages:65 ../icon-effect/data/messages:1852158#: ../icon-effect/data/messages:169
2118msgid "Firework"2159msgid "Firework"
2119msgstr ""2160msgstr ""
21202161
@@ -2158,89 +2199,89 @@
2158"You can bind a <b>shortcut</b> to it, and also to lock the screen."2199"You can bind a <b>shortcut</b> to it, and also to lock the screen."
2159msgstr ""2200msgstr ""
21602201
2161#: ../logout/src/applet-init.c:38 ../logout/src/applet-logout.c:2262202#: ../logout/src/applet-init.c:38 ../logout/src/applet-logout.c:228
2162#: ../logout/data/messages:99 ../logout/data/messages:1072203#: ../logout/data/messages:97
2163msgid "Log out"2204msgid "Log out"
2164msgstr ""2205msgstr ""
21652206
2166#: ../logout/src/applet-init.c:652207#: ../logout/src/applet-init.c:67
2167msgid "Lock the screen"2208msgid "Lock the screen"
2168msgstr ""2209msgstr ""
21692210
2170#: ../logout/src/applet-init.c:692211#: ../logout/src/applet-init.c:71
2171msgid "Show the log-out menu"2212msgid "Show the log-out menu"
2172msgstr ""2213msgstr ""
21732214
2174#: ../logout/src/applet-logout.c:198 ../logout/data/messages:1012215#: ../logout/src/applet-logout.c:200 ../logout/data/messages:99
2175#: ../logout/data/messages:109
2176msgid "Shut down"2216msgid "Shut down"
2177msgstr ""2217msgstr ""
21782218
2179#: ../logout/src/applet-logout.c:2042219#: ../logout/src/applet-logout.c:206
2180msgid "Restart"2220msgid "Restart"
2181msgstr ""2221msgstr ""
21822222
2183#: ../logout/src/applet-logout.c:2102223#: ../logout/src/applet-logout.c:212
2184#: ../powermanager/src/powermanager-menu-functions.c:932224#: ../powermanager/src/powermanager-menu-functions.c:97
2225#: ../powermanager/src/powermanager-menu-functions.c:105
2185msgid "Hibernate"2226msgid "Hibernate"
2186msgstr ""2227msgstr ""
21872228
2188#: ../logout/src/applet-logout.c:2122229#: ../logout/src/applet-logout.c:214
2189msgid "Your computer will not consume any energy."2230msgid "Your computer will not consume any energy."
2190msgstr ""2231msgstr ""
21912232
2192#: ../logout/src/applet-logout.c:2172233#: ../logout/src/applet-logout.c:219
2193#: ../powermanager/src/powermanager-menu-functions.c:952234#: ../powermanager/src/powermanager-menu-functions.c:100
2235#: ../powermanager/src/powermanager-menu-functions.c:107
2194msgid "Suspend"2236msgid "Suspend"
2195msgstr ""2237msgstr ""
21962238
2197#: ../logout/src/applet-logout.c:2192239#: ../logout/src/applet-logout.c:221
2198msgid "Your computer will still consume a small amount of energy."2240msgid "Your computer will still consume a small amount of energy."
2199msgstr ""2241msgstr ""
22002242
2201#: ../logout/src/applet-logout.c:2282243#: ../logout/src/applet-logout.c:230
2202msgid "Close your session and allow to open a new one."2244msgid "Close your session and allow to open a new one."
2203msgstr ""2245msgstr ""
22042246
2205#: ../logout/src/applet-logout.c:2392247#: ../logout/src/applet-logout.c:241
2206msgid "Switch user"2248msgid "Switch user"
2207msgstr ""2249msgstr ""
22082250
2209#: ../logout/src/applet-logout.c:2582251#: ../logout/src/applet-logout.c:262
2210msgid "Guest session"2252msgid "Guest session"
2211msgstr ""2253msgstr ""
22122254
2213#: ../logout/src/applet-logout.c:265 ../logout/data/messages:1032255#: ../logout/src/applet-logout.c:269 ../logout/data/messages:101
2214#: ../logout/data/messages:111
2215msgid "Lock screen"2256msgid "Lock screen"
2216msgstr ""2257msgstr ""
22172258
2218#: ../logout/src/applet-logout.c:2702259#: ../logout/src/applet-logout.c:274
2219msgid "Program an automatic shut-down"2260msgid "Program an automatic shut-down"
2220msgstr ""2261msgstr ""
22212262
2222#: ../logout/src/applet-logout.c:3212263#: ../logout/src/applet-logout.c:325
2223msgid "Your computer will shut-down in 1 minute."2264msgid "Your computer will shut-down in 1 minute."
2224msgstr ""2265msgstr ""
22252266
2226#: ../logout/src/applet-logout.c:3452267#: ../logout/src/applet-logout.c:349
2227msgid "Choose in how many minutes your PC will stop:"2268msgid "Choose in how many minutes your PC will stop:"
2228msgstr ""2269msgstr ""
22292270
2230#: ../logout/src/applet-logout.c:5122271#: ../logout/src/applet-logout.c:523
2231#, c-format2272#, c-format
2232msgid "It will automatically shut-down in %ds"2273msgid "It will automatically shut-down in %ds"
2233msgstr ""2274msgstr ""
22342275
2235#: ../logout/src/applet-logout.c:5132276#: ../logout/src/applet-logout.c:524
2236msgid "Shut down the computer?"2277msgid "Shut down the computer?"
2237msgstr ""2278msgstr ""
22382279
2239#: ../logout/src/applet-logout.c:5732280#: ../logout/src/applet-logout.c:584
2240msgid "Restart the computer?"2281msgid "Restart the computer?"
2241msgstr ""2282msgstr ""
22422283
2243#: ../logout/src/applet-logout.c:6102284#: ../logout/src/applet-logout.c:621
2244msgid "Close the current session?"2285msgid "Close the current session?"
2245msgstr ""2286msgstr ""
22462287
@@ -2293,14 +2334,14 @@
2293msgid "Use a secure connection (SSL)"2334msgid "Use a secure connection (SSL)"
2294msgstr ""2335msgstr ""
22952336
2296#: ../mail/src/cd-mail-applet-accounts.c:39 ../RSSreader/data/messages:1112337#: ../mail/src/cd-mail-applet-accounts.c:39 ../RSSreader/data/messages:109
2297#: ../netspeed/data/messages:143 ../powermanager/data/messages:1572338#: ../netspeed/data/messages:151 ../powermanager/data/messages:161
2298#: ../weather/data/messages:1092339#: ../weather/data/messages:117
2299msgid "Refresh time:"2340msgid "Refresh time:"
2300msgstr ""2341msgstr ""
23012342
2302#: ../mail/src/cd-mail-applet-accounts.c:39 ../RSSreader/data/messages:1092343#: ../mail/src/cd-mail-applet-accounts.c:39 ../RSSreader/data/messages:107
2303#: ../weather/data/messages:1072344#: ../weather/data/messages:115
2304msgid "In minutes."2345msgid "In minutes."
2305msgstr ""2346msgstr ""
23062347
@@ -2509,67 +2550,67 @@
2509"offer such service."2550"offer such service."
2510msgstr ""2551msgstr ""
25112552
2512#: ../musicPlayer/src/applet-notifications.c:1732553#: ../musicPlayer/src/applet-notifications.c:175
2513msgid "Choose a music player to control"2554msgid "Choose a music player to control"
2514msgstr ""2555msgstr ""
25152556
2516#: ../musicPlayer/src/applet-notifications.c:2602557#: ../musicPlayer/src/applet-notifications.c:262
2517msgid "Find opened player"2558msgid "Find opened player"
2518msgstr ""2559msgstr ""
25192560
2520#: ../musicPlayer/src/applet-notifications.c:2642561#: ../musicPlayer/src/applet-notifications.c:266
2521msgid "Choose a player"2562msgid "Choose a player"
2522msgstr ""2563msgstr ""
25232564
2524#: ../musicPlayer/src/applet-notifications.c:2702565#: ../musicPlayer/src/applet-notifications.c:272
2525msgid "Previous"2566msgid "Previous"
2526msgstr ""2567msgstr ""
25272568
2528#: ../musicPlayer/src/applet-notifications.c:2702569#: ../musicPlayer/src/applet-notifications.c:272
2529msgid "scroll-up"2570msgid "scroll-up"
2530msgstr ""2571msgstr ""
25312572
2532#: ../musicPlayer/src/applet-notifications.c:2762573#: ../musicPlayer/src/applet-notifications.c:278
2533msgid "Play/Pause"2574msgid "Play/Pause"
2534msgstr ""2575msgstr ""
25352576
2536#: ../musicPlayer/src/applet-notifications.c:2762577#: ../musicPlayer/src/applet-notifications.c:278
2537msgid "left-click"2578msgid "left-click"
2538msgstr ""2579msgstr ""
25392580
2540#: ../musicPlayer/src/applet-notifications.c:2822581#: ../musicPlayer/src/applet-notifications.c:284
2541msgid "Next"2582msgid "Next"
2542msgstr ""2583msgstr ""
25432584
2544#: ../musicPlayer/src/applet-notifications.c:2822585#: ../musicPlayer/src/applet-notifications.c:284
2545msgid "scroll-down"2586msgid "scroll-down"
2546msgstr ""2587msgstr ""
25472588
2548#: ../musicPlayer/src/applet-notifications.c:2872589#: ../musicPlayer/src/applet-notifications.c:289
2549msgid "Stop"2590msgid "Stop"
2550msgstr ""2591msgstr ""
25512592
2552#: ../musicPlayer/src/applet-notifications.c:2912593#: ../musicPlayer/src/applet-notifications.c:293
2553msgid "Information"2594msgid "Information"
2554msgstr ""2595msgstr ""
25552596
2556#: ../musicPlayer/src/applet-notifications.c:2942597#: ../musicPlayer/src/applet-notifications.c:296
2557msgid "Show the Window"2598msgid "Show the Window"
2558msgstr ""2599msgstr ""
25592600
2560#: ../musicPlayer/src/applet-notifications.c:2992601#: ../musicPlayer/src/applet-notifications.c:301
2561msgid "Show JumpBox"2602msgid "Show JumpBox"
2562msgstr ""2603msgstr ""
25632604
2564#: ../musicPlayer/src/applet-notifications.c:3012605#: ../musicPlayer/src/applet-notifications.c:303
2565msgid "Toggle Shuffle"2606msgid "Toggle Shuffle"
2566msgstr ""2607msgstr ""
25672608
2568#: ../musicPlayer/src/applet-notifications.c:3032609#: ../musicPlayer/src/applet-notifications.c:305
2569msgid "Toggle Repeat"2610msgid "Toggle Repeat"
2570msgstr ""2611msgstr ""
25712612
2572#: ../musicPlayer/src/applet-notifications.c:3052613#: ../musicPlayer/src/applet-notifications.c:307
2573msgid "Rate this song"2614msgid "Rate this song"
2574msgstr ""2615msgstr ""
25752616
@@ -2690,11 +2731,11 @@
2690"<b>Right-click</b> on the icon to hibernate or suspend the system."2731"<b>Right-click</b> on the icon to hibernate or suspend the system."
2691msgstr ""2732msgstr ""
26922733
2693#: ../powermanager/src/powermanager-menu-functions.c:702734#: ../powermanager/src/powermanager-menu-functions.c:71
2694msgid "Set up power management"2735msgid "Set up power management"
2695msgstr ""2736msgstr ""
26962737
2697#: ../powermanager/src/powermanager-menu-functions.c:862738#: ../powermanager/src/powermanager-menu-functions.c:88
2698msgid "Power statistics"2739msgid "Power statistics"
2699msgstr ""2740msgstr ""
27002741
@@ -2824,8 +2865,8 @@
28242865
2825#: ../show-mouse/src/applet-init.c:312866#: ../show-mouse/src/applet-init.c:31
2826msgid ""2867msgid ""
2827"This plugin draws some animations around the cursor when it's inside a "2868"This plugin draws some animations around the cursor when it's inside a dock/"
2828"dock/desklet."2869"desklet."
2829msgstr ""2870msgstr ""
28302871
2831#: ../showDesktop/src/applet-init.c:282872#: ../showDesktop/src/applet-init.c:28
@@ -2859,22 +2900,26 @@
2859"Middle-click to open the images folder."2900"Middle-click to open the images folder."
2860msgstr ""2901msgstr ""
28612902
2862#: ../slider/src/applet-notifications.c:2192903#: ../slider/src/applet-notifications.c:215
2863msgid "Play"2904msgid "Play"
2864msgstr ""2905msgstr ""
28652906
2866#: ../slider/src/applet-notifications.c:2192907#: ../slider/src/applet-notifications.c:215
2867msgid "Pause"2908msgid "Pause"
2868msgstr ""2909msgstr ""
28692910
2870#: ../slider/src/applet-notifications.c:2272911#: ../slider/src/applet-notifications.c:223
2871#: ../slider/src/applet-notifications.c:2292912#: ../slider/src/applet-notifications.c:225
2872msgid "Open current image"2913msgid "Open current image"
2873msgstr ""2914msgstr ""
28742915
2875#: ../slider/src/applet-notifications.c:2682916#: ../slider/src/applet-notifications.c:265
2917#: ../slider/src/applet-notifications.c:267
2918msgid "Browse images folder"
2919msgstr ""
2920
2876#: ../slider/src/applet-notifications.c:2702921#: ../slider/src/applet-notifications.c:270
2877msgid "Browse images folder"2922msgid "Refresh images list"
2878msgstr ""2923msgstr ""
28792924
2880#: ../stack/src/applet-init.c:312925#: ../stack/src/applet-init.c:31
@@ -2944,13 +2989,13 @@
2944msgid "The URL has been added to the stack."2989msgid "The URL has been added to the stack."
2945msgstr ""2990msgstr ""
29462991
2947#: ../switcher/src/applet-draw.c:590 ../switcher/src/applet-draw.c:5972992#: ../switcher/src/applet-draw.c:595 ../switcher/src/applet-draw.c:602
2948#: ../switcher/src/applet-load-icons.c:532993#: ../switcher/src/applet-load-icons.c:53
2949#: ../switcher/src/applet-notifications.c:4152994#: ../switcher/src/applet-notifications.c:415
2950msgid "Current"2995msgid "Current"
2951msgstr ""2996msgstr ""
29522997
2953#: ../switcher/src/applet-draw.c:597 ../switcher/src/applet-draw.c:5992998#: ../switcher/src/applet-draw.c:602 ../switcher/src/applet-draw.c:604
2954#: ../switcher/src/applet-load-icons.c:592999#: ../switcher/src/applet-load-icons.c:59
2955#: ../switcher/src/applet-notifications.c:2163000#: ../switcher/src/applet-notifications.c:216
2956#: ../switcher/src/applet-notifications.c:2283001#: ../switcher/src/applet-notifications.c:228
@@ -3071,7 +3116,7 @@
3071msgid "Close current Tab"3116msgid "Close current Tab"
3072msgstr ""3117msgstr ""
30733118
3074#: ../terminal/src/terminal-widget.c:56 ../terminal/data/messages:1093119#: ../terminal/src/terminal-widget.c:56 ../terminal/data/messages:107
3075msgid "Terminal"3120msgid "Terminal"
3076msgstr ""3121msgstr ""
30773122
@@ -3379,7 +3424,6 @@
3379msgstr ""3424msgstr ""
33803425
3381#: ../Animated-icons/data/messages:41 ../Animated-icons/data/messages:613426#: ../Animated-icons/data/messages:41 ../Animated-icons/data/messages:61
3382#: ../Animated-icons/data/messages:81
3383msgid "Number of times the animation will play:"3427msgid "Number of times the animation will play:"
3384msgstr ""3428msgstr ""
33853429
@@ -3391,230 +3435,229 @@
3391msgid "Effects used on applications:"3435msgid "Effects used on applications:"
3392msgstr ""3436msgstr ""
33933437
3394#: ../Animated-icons/data/messages:63 ../icon-effect/data/messages:513438#: ../Animated-icons/data/messages:63
3395msgid "when clicking on an applet"
3396msgstr ""
3397
3398#: ../Animated-icons/data/messages:65 ../icon-effect/data/messages:53
3399msgid "Effects used on applets:"
3400msgstr ""
3401
3402#: ../Animated-icons/data/messages:83
3403msgid "Rotation"3439msgid "Rotation"
3404msgstr ""3440msgstr ""
34053441
3406#: ../Animated-icons/data/messages:85 ../Animated-icons/data/messages:1033442#: ../Animated-icons/data/messages:65 ../Animated-icons/data/messages:83
3407#: ../Animated-icons/data/messages:155 ../Animated-icons/data/messages:1673443#: ../Animated-icons/data/messages:135 ../Animated-icons/data/messages:147
3408#: ../Animated-icons/data/messages:179 ../Animated-icons/data/messages:1933444#: ../Animated-icons/data/messages:159 ../Animated-icons/data/messages:173
3409#: ../Remote-Control/data/messages:7 ../Scooby-Do/data/messages:153445#: ../Remote-Control/data/messages:9 ../Scooby-Do/data/messages:15
3410#: ../Scooby-Do/data/messages:19 ../Toons/data/messages:1013446#: ../Scooby-Do/data/messages:19 ../Toons/data/messages:105
3411#: ../icon-effect/data/messages:101 ../icon-effect/data/messages:1233447#: ../icon-effect/data/messages:85 ../icon-effect/data/messages:107
3412#: ../icon-effect/data/messages:145 ../icon-effect/data/messages:1673448#: ../icon-effect/data/messages:129 ../icon-effect/data/messages:151
3413#: ../icon-effect/data/messages:187 ../show-mouse/data/messages:193449#: ../icon-effect/data/messages:171 ../show-mouse/data/messages:19
3414msgid "In ms."3450msgid "In ms."
3415msgstr ""3451msgstr ""
34163452
3417#: ../Animated-icons/data/messages:87 ../Animated-icons/data/messages:1053453#: ../Animated-icons/data/messages:67 ../Animated-icons/data/messages:85
3418#: ../Animated-icons/data/messages:157 ../icon-effect/data/messages:753454#: ../Animated-icons/data/messages:137 ../icon-effect/data/messages:59
3419#: ../icon-effect/data/messages:103 ../icon-effect/data/messages:1253455#: ../icon-effect/data/messages:87 ../icon-effect/data/messages:109
3420#: ../icon-effect/data/messages:147 ../icon-effect/data/messages:1693456#: ../icon-effect/data/messages:131 ../icon-effect/data/messages:153
3421#: ../icon-effect/data/messages:189 ../illusion/data/messages:333457#: ../icon-effect/data/messages:173 ../illusion/data/messages:33
3422#: ../illusion/data/messages:55 ../illusion/data/messages:593458#: ../illusion/data/messages:55 ../illusion/data/messages:59
3423#: ../illusion/data/messages:69 ../illusion/data/messages:753459#: ../illusion/data/messages:69 ../illusion/data/messages:75
3424#: ../mail/data/messages:1353460#: ../mail/data/messages:143
3425msgid "Duration of the animation:"3461msgid "Duration of the animation:"
3426msgstr ""3462msgstr ""
34273463
3428#: ../Animated-icons/data/messages:89 ../Animated-icons/data/messages:1073464#: ../Animated-icons/data/messages:69 ../Animated-icons/data/messages:87
3429#: ../Animated-icons/data/messages:159 ../Animated-icons/data/messages:1713465#: ../Animated-icons/data/messages:139 ../Animated-icons/data/messages:151
3430#: ../Animated-icons/data/messages:183 ../Animated-icons/data/messages:1973466#: ../Animated-icons/data/messages:163 ../Animated-icons/data/messages:177
3431#: ../icon-effect/data/messages:77 ../icon-effect/data/messages:1053467#: ../icon-effect/data/messages:61 ../icon-effect/data/messages:89
3432#: ../icon-effect/data/messages:127 ../icon-effect/data/messages:1493468#: ../icon-effect/data/messages:111 ../icon-effect/data/messages:133
3433#: ../icon-effect/data/messages:171 ../icon-effect/data/messages:1913469#: ../icon-effect/data/messages:155 ../icon-effect/data/messages:175
3434msgid "Repeat while icon is pointed to?"3470msgid "Repeat while icon is pointed to?"
3435msgstr ""3471msgstr ""
34363472
3437#: ../Animated-icons/data/messages:913473#: ../Animated-icons/data/messages:71
3438msgid "Type of mesh:"3474msgid "Type of mesh:"
3439msgstr ""3475msgstr ""
34403476
3441#: ../Animated-icons/data/messages:93 ../Clipper/data/messages:473477#: ../Animated-icons/data/messages:73 ../Application-Menu/data/messages:39
3442#: ../Composite-Manager/data/messages:43 ../Disks/data/messages:293478#: ../Application-Menu/data/messages:151 ../Application-Menu/data/messages:241
3443#: ../Doncky/data/messages:45 ../Folders/data/messages:593479#: ../Clipper/data/messages:45 ../Composite-Manager/data/messages:41
3444#: ../GMenu/data/messages:47 ../Global-Menu/data/messages:473480#: ../Disks/data/messages:27 ../Doncky/data/messages:43
3445#: ../Impulse/data/messages:45 ../MeMenu/data/messages:413481#: ../Folders/data/messages:57 ../GMenu/data/messages:45
3446#: ../Messaging-Menu/data/messages:43 ../Network-Monitor/data/messages:493482#: ../Global-Menu/data/messages:39 ../Impulse/data/messages:43
3447#: ../RSSreader/data/messages:49 ../Recent-Events/data/messages:473483#: ../MeMenu/data/messages:39 ../Messaging-Menu/data/messages:51
3448#: ../Status-Notifier/data/messages:47 ../System-Monitor/data/messages:473484#: ../Network-Monitor/data/messages:53 ../RSSreader/data/messages:47
3449#: ../Toons/data/messages:47 ../Xgamma/data/messages:493485#: ../Recent-Events/data/messages:45 ../Sound-Menu/data/messages:41
3450#: ../alsaMixer/data/messages:45 ../clock/data/messages:493486#: ../Sound-Menu/data/messages:131 ../Status-Notifier/data/messages:55
3451#: ../dnd2share/data/messages:43 ../dustbin/data/messages:433487#: ../System-Monitor/data/messages:51 ../Toons/data/messages:51
3452#: ../keyboard-indicator/data/messages:43 ../logout/data/messages:473488#: ../Xgamma/data/messages:47 ../alsaMixer/data/messages:53
3453#: ../mail/data/messages:43 ../musicPlayer/data/messages:453489#: ../clock/data/messages:53 ../dnd2share/data/messages:41
3454#: ../netspeed/data/messages:43 ../powermanager/data/messages:493490#: ../dustbin/data/messages:41 ../keyboard-indicator/data/messages:51
3455#: ../quick-browser/data/messages:49 ../shortcuts/data/messages:473491#: ../logout/data/messages:45 ../mail/data/messages:51
3456#: ../showDesktop/data/messages:51 ../slider/data/messages:473492#: ../musicPlayer/data/messages:53 ../netspeed/data/messages:51
3457#: ../stack/data/messages:49 ../switcher/data/messages:393493#: ../powermanager/data/messages:53 ../quick-browser/data/messages:47
3458#: ../systray/data/messages:39 ../template/data/messages:473494#: ../shortcuts/data/messages:45 ../showDesktop/data/messages:49
3459#: ../terminal/data/messages:47 ../tomboy/data/messages:573495#: ../slider/data/messages:51 ../stack/data/messages:47
3460#: ../weather/data/messages:45 ../weblets/data/messages:473496#: ../switcher/data/messages:39 ../systray/data/messages:37
3461#: ../wifi/data/messages:473497#: ../template/data/messages:45 ../terminal/data/messages:45
3498#: ../tomboy/data/messages:55 ../weather/data/messages:53
3499#: ../weblets/data/messages:45 ../wifi/data/messages:51
3462msgid "Normal"3500msgid "Normal"
3463msgstr ""3501msgstr ""
34643502
3465#: ../Animated-icons/data/messages:953503#: ../Animated-icons/data/messages:75
3466msgid "Cube"3504msgid "Cube"
3467msgstr ""3505msgstr ""
34683506
3469#: ../Animated-icons/data/messages:973507#: ../Animated-icons/data/messages:77
3470msgid "Capsule"3508msgid "Capsule"
3471msgstr ""3509msgstr ""
34723510
3473#: ../Animated-icons/data/messages:993511#: ../Animated-icons/data/messages:79
3474msgid "Colour of the sheen:"3512msgid "Colour of the sheen:"
3475msgstr ""3513msgstr ""
34763514
3477#: ../Animated-icons/data/messages:111 ../Animated-icons/data/messages:1153515#: ../Animated-icons/data/messages:91 ../Animated-icons/data/messages:95
3478#: ../Clipper/data/messages:9 ../Composite-Manager/data/messages:933516#: ../Application-Menu/data/messages:307 ../Application-Menu/data/messages:311
3479#: ../Composite-Manager/data/messages:97 ../Doncky/data/messages:93517#: ../Clipper/data/messages:9 ../Composite-Manager/data/messages:91
3480#: ../Doncky/data/messages:93 ../Folders/data/messages:213518#: ../Composite-Manager/data/messages:95 ../Doncky/data/messages:9
3481#: ../GMenu/data/messages:9 ../GMenu/data/messages:1013519#: ../Doncky/data/messages:91 ../Folders/data/messages:21
3482#: ../Global-Menu/data/messages:9 ../Impulse/data/messages:73520#: ../GMenu/data/messages:9 ../GMenu/data/messages:99
3483#: ../Impulse/data/messages:127 ../Impulse/data/messages:1313521#: ../Impulse/data/messages:7 ../Impulse/data/messages:125
3484#: ../Impulse/data/messages:135 ../RSSreader/data/messages:113522#: ../Impulse/data/messages:129 ../Impulse/data/messages:133
3485#: ../RSSreader/data/messages:131 ../Recent-Events/data/messages:93523#: ../RSSreader/data/messages:11 ../RSSreader/data/messages:129
3486#: ../System-Monitor/data/messages:183 ../System-Monitor/data/messages:1913524#: ../Recent-Events/data/messages:9 ../Sound-Menu/data/messages:197
3487#: ../Xgamma/data/messages:11 ../alsaMixer/data/messages:1393525#: ../Sound-Menu/data/messages:201 ../System-Monitor/data/messages:187
3488#: ../alsaMixer/data/messages:143 ../alsaMixer/data/messages:1573526#: ../System-Monitor/data/messages:195 ../Xgamma/data/messages:11
3489#: ../dnd2share/data/messages:9 ../logout/data/messages:93527#: ../alsaMixer/data/messages:131 ../alsaMixer/data/messages:135
3490#: ../quick-browser/data/messages:11 ../shortcuts/data/messages:93528#: ../alsaMixer/data/messages:149 ../dnd2share/data/messages:9
3491#: ../showDesktop/data/messages:9 ../stack/data/messages:113529#: ../logout/data/messages:9 ../quick-browser/data/messages:11
3492#: ../switcher/data/messages:9 ../switcher/data/messages:1453530#: ../shortcuts/data/messages:9 ../showDesktop/data/messages:9
3493#: ../systray/data/messages:9 ../template/data/messages:93531#: ../stack/data/messages:11 ../switcher/data/messages:9
3494#: ../terminal/data/messages:9 ../weblets/data/messages:93532#: ../switcher/data/messages:151 ../systray/data/messages:9
3533#: ../template/data/messages:9 ../terminal/data/messages:9
3534#: ../weblets/data/messages:9
3495msgid "Leave empty to use the default one."3535msgid "Leave empty to use the default one."
3496msgstr ""3536msgstr ""
34973537
3498#: ../Animated-icons/data/messages:1133538#: ../Animated-icons/data/messages:93
3499msgid "Image for the spotlight:"3539msgid "Image for the spotlight:"
3500msgstr ""3540msgstr ""
35013541
3502#: ../Animated-icons/data/messages:1173542#: ../Animated-icons/data/messages:97
3503msgid "Image for the front spotlight:"3543msgid "Image for the front spotlight:"
3504msgstr ""3544msgstr ""
35053545
3506#: ../Animated-icons/data/messages:1193546#: ../Animated-icons/data/messages:99
3507msgid "Spot colour:"3547msgid "Spot colour:"
3508msgstr ""3548msgstr ""
35093549
3510#: ../Animated-icons/data/messages:1213550#: ../Animated-icons/data/messages:101
3511msgid "Halo colour:"3551msgid "Halo colour:"
3512msgstr ""3552msgstr ""
35133553
3514#: ../Animated-icons/data/messages:1233554#: ../Animated-icons/data/messages:103
3515msgid "Rays"3555msgid "Rays"
3516msgstr ""3556msgstr ""
35173557
3518#: ../Animated-icons/data/messages:125 ../icon-effect/data/messages:813558#: ../Animated-icons/data/messages:105 ../icon-effect/data/messages:65
3519#: ../icon-effect/data/messages:109 ../icon-effect/data/messages:1313559#: ../icon-effect/data/messages:93 ../icon-effect/data/messages:115
3520#: ../icon-effect/data/messages:153 ../icon-effect/data/messages:1753560#: ../icon-effect/data/messages:137 ../icon-effect/data/messages:159
3521#: ../illusion/data/messages:37 ../show-mouse/data/messages:273561#: ../illusion/data/messages:37 ../show-mouse/data/messages:27
3522msgid "1st color of gradation :"3562msgid "1st color of gradation :"
3523msgstr ""3563msgstr ""
35243564
3525#: ../Animated-icons/data/messages:127 ../icon-effect/data/messages:833565#: ../Animated-icons/data/messages:107 ../icon-effect/data/messages:67
3526#: ../icon-effect/data/messages:111 ../icon-effect/data/messages:1333566#: ../icon-effect/data/messages:95 ../icon-effect/data/messages:117
3527#: ../icon-effect/data/messages:155 ../icon-effect/data/messages:1773567#: ../icon-effect/data/messages:139 ../icon-effect/data/messages:161
3528#: ../illusion/data/messages:39 ../show-mouse/data/messages:293568#: ../illusion/data/messages:39 ../show-mouse/data/messages:29
3529msgid "2nd color of gradation :"3569msgid "2nd color of gradation :"
3530msgstr ""3570msgstr ""
35313571
3532#: ../Animated-icons/data/messages:129 ../icon-effect/data/messages:853572#: ../Animated-icons/data/messages:109 ../icon-effect/data/messages:69
3533#: ../icon-effect/data/messages:113 ../icon-effect/data/messages:1973573#: ../icon-effect/data/messages:97 ../icon-effect/data/messages:181
3534#: ../illusion/data/messages:41 ../show-mouse/data/messages:313574#: ../illusion/data/messages:41 ../show-mouse/data/messages:31
3535msgid "Random colours?"3575msgid "Random colours?"
3536msgstr ""3576msgstr ""
35373577
3538#: ../Animated-icons/data/messages:1313578#: ../Animated-icons/data/messages:111
3539msgid "Number of rays:"3579msgid "Number of rays:"
3540msgstr ""3580msgstr ""
35413581
3542#: ../Animated-icons/data/messages:1333582#: ../Animated-icons/data/messages:113
3543msgid "Ray size:"3583msgid "Ray size:"
3544msgstr ""3584msgstr ""
35453585
3546#: ../Animated-icons/data/messages:1353586#: ../Animated-icons/data/messages:115
3547msgid "Ray speed:"3587msgid "Ray speed:"
3548msgstr ""3588msgstr ""
35493589
3550#: ../Animated-icons/data/messages:1393590#: ../Animated-icons/data/messages:119
3551msgid "Initial stretch:"3591msgid "Initial stretch:"
3552msgstr ""3592msgstr ""
35533593
3554#: ../Animated-icons/data/messages:1413594#: ../Animated-icons/data/messages:121
3555msgid "Horizontal stretch"3595msgid "Horizontal stretch"
3556msgstr ""3596msgstr ""
35573597
3558#: ../Animated-icons/data/messages:1433598#: ../Animated-icons/data/messages:123
3559msgid "Vertical stretch"3599msgid "Vertical stretch"
3560msgstr ""3600msgstr ""
35613601
3562#: ../Animated-icons/data/messages:1453602#: ../Animated-icons/data/messages:125
3563msgid "Corner stretch"3603msgid "Corner stretch"
3564msgstr ""3604msgstr ""
35653605
3566#: ../Animated-icons/data/messages:1473606#: ../Animated-icons/data/messages:127
3567msgid "Spring constant:"3607msgid "Spring constant:"
3568msgstr ""3608msgstr ""
35693609
3570#: ../Animated-icons/data/messages:1493610#: ../Animated-icons/data/messages:129
3571msgid "Friction:"3611msgid "Friction:"
3572msgstr ""3612msgstr ""
35733613
3574#: ../Animated-icons/data/messages:1513614#: ../Animated-icons/data/messages:131
3575msgid "Number of points on the grid in each direction:"3615msgid "Number of points on the grid in each direction:"
3576msgstr ""3616msgstr ""
35773617
3578#: ../Animated-icons/data/messages:1613618#: ../Animated-icons/data/messages:141
3579msgid "Wave width:"3619msgid "Wave width:"
3580msgstr ""3620msgstr ""
35813621
3582#: ../Animated-icons/data/messages:1633622#: ../Animated-icons/data/messages:143
3583msgid "Wave amplitude:"3623msgid "Wave amplitude:"
3584msgstr ""3624msgstr ""
35853625
3586#: ../Animated-icons/data/messages:1693626#: ../Animated-icons/data/messages:149
3587msgid "Pulse duration:"3627msgid "Pulse duration:"
3588msgstr ""3628msgstr ""
35893629
3590#: ../Animated-icons/data/messages:1733630#: ../Animated-icons/data/messages:153
3591msgid "Pulse max zoom:"3631msgid "Pulse max zoom:"
3592msgstr ""3632msgstr ""
35933633
3594#: ../Animated-icons/data/messages:1753634#: ../Animated-icons/data/messages:155
3595msgid "Pulse follows icon shape?"3635msgid "Pulse follows icon shape?"
3596msgstr ""3636msgstr ""
35973637
3598#: ../Animated-icons/data/messages:1813638#: ../Animated-icons/data/messages:161
3599msgid "Bounce duration:"3639msgid "Bounce duration:"
3600msgstr ""3640msgstr ""
36013641
3602#: ../Animated-icons/data/messages:1853642#: ../Animated-icons/data/messages:165
3603msgid "When bouncing, resize the icon by:"3643msgid "When bouncing, resize the icon by:"
3604msgstr ""3644msgstr ""
36053645
3606#: ../Animated-icons/data/messages:1873646#: ../Animated-icons/data/messages:167
3607msgid "the lower the value, the more it will flatten."3647msgid "the lower the value, the more it will flatten."
3608msgstr ""3648msgstr ""
36093649
3610#: ../Animated-icons/data/messages:1893650#: ../Animated-icons/data/messages:169
3611msgid "How much the icon will flatten when hitting the ground:"3651msgid "How much the icon will flatten when hitting the ground:"
3612msgstr ""3652msgstr ""
36133653
3614#: ../Animated-icons/data/messages:1953654#: ../Animated-icons/data/messages:175
3615msgid "Blink duration:"3655msgid "Blink duration:"
3616msgstr ""3656msgstr ""
36173657
3658#: ../Application-Menu/data/messages:1 ../Application-Menu/data/messages:3
3659#: ../Application-Menu/data/messages:111 ../Application-Menu/data/messages:113
3660#: ../Application-Menu/data/messages:201 ../Application-Menu/data/messages:203
3618#: ../Cairo-Penguin/data/messages:1 ../Cairo-Penguin/data/messages:33661#: ../Cairo-Penguin/data/messages:1 ../Cairo-Penguin/data/messages:3
3619#: ../Clipper/data/messages:1 ../Clipper/data/messages:33662#: ../Clipper/data/messages:1 ../Clipper/data/messages:3
3620#: ../Composite-Manager/data/messages:1 ../Composite-Manager/data/messages:33663#: ../Composite-Manager/data/messages:1 ../Composite-Manager/data/messages:3
@@ -3628,7 +3671,9 @@
3628#: ../Messaging-Menu/data/messages:3 ../Network-Monitor/data/messages:13671#: ../Messaging-Menu/data/messages:3 ../Network-Monitor/data/messages:1
3629#: ../Network-Monitor/data/messages:3 ../RSSreader/data/messages:13672#: ../Network-Monitor/data/messages:3 ../RSSreader/data/messages:1
3630#: ../RSSreader/data/messages:3 ../Recent-Events/data/messages:13673#: ../RSSreader/data/messages:3 ../Recent-Events/data/messages:1
3631#: ../Recent-Events/data/messages:3 ../Status-Notifier/data/messages:13674#: ../Recent-Events/data/messages:3 ../Sound-Menu/data/messages:1
3675#: ../Sound-Menu/data/messages:3 ../Sound-Menu/data/messages:91
3676#: ../Sound-Menu/data/messages:93 ../Status-Notifier/data/messages:1
3632#: ../Status-Notifier/data/messages:3 ../System-Monitor/data/messages:13677#: ../Status-Notifier/data/messages:3 ../System-Monitor/data/messages:1
3633#: ../System-Monitor/data/messages:3 ../Toons/data/messages:13678#: ../System-Monitor/data/messages:3 ../Toons/data/messages:1
3634#: ../Toons/data/messages:3 ../Xgamma/data/messages:13679#: ../Toons/data/messages:3 ../Xgamma/data/messages:1
@@ -3658,1226 +3703,1454 @@
3658msgid "Icon"3703msgid "Icon"
3659msgstr ""3704msgstr ""
36603705
3661#: ../Cairo-Penguin/data/messages:5 ../Clipper/data/messages:53706#: ../Application-Menu/data/messages:5 ../Application-Menu/data/messages:115
3662#: ../Composite-Manager/data/messages:5 ../Doncky/data/messages:53707#: ../Application-Menu/data/messages:205 ../Cairo-Penguin/data/messages:5
3663#: ../Folders/data/messages:5 ../GMenu/data/messages:53708#: ../Clipper/data/messages:5 ../Composite-Manager/data/messages:5
3664#: ../Global-Menu/data/messages:5 ../Impulse/data/messages:53709#: ../Doncky/data/messages:5 ../Folders/data/messages:5
3665#: ../MeMenu/data/messages:5 ../Messaging-Menu/data/messages:53710#: ../GMenu/data/messages:5 ../Global-Menu/data/messages:5
3666#: ../Network-Monitor/data/messages:5 ../RSSreader/data/messages:53711#: ../Impulse/data/messages:5 ../MeMenu/data/messages:5
3667#: ../Recent-Events/data/messages:5 ../Status-Notifier/data/messages:53712#: ../Messaging-Menu/data/messages:5 ../Network-Monitor/data/messages:5
3668#: ../System-Monitor/data/messages:5 ../Toons/data/messages:53713#: ../RSSreader/data/messages:5 ../Recent-Events/data/messages:5
3669#: ../Xgamma/data/messages:5 ../alsaMixer/data/messages:53714#: ../Sound-Menu/data/messages:5 ../Sound-Menu/data/messages:95
3670#: ../clock/data/messages:5 ../dnd2share/data/messages:53715#: ../Status-Notifier/data/messages:5 ../System-Monitor/data/messages:5
3671#: ../dustbin/data/messages:5 ../keyboard-indicator/data/messages:53716#: ../Toons/data/messages:5 ../Xgamma/data/messages:5
3672#: ../logout/data/messages:5 ../mail/data/messages:53717#: ../alsaMixer/data/messages:5 ../clock/data/messages:5
3673#: ../musicPlayer/data/messages:5 ../netspeed/data/messages:53718#: ../dnd2share/data/messages:5 ../dustbin/data/messages:5
3674#: ../powermanager/data/messages:5 ../quick-browser/data/messages:53719#: ../keyboard-indicator/data/messages:5 ../logout/data/messages:5
3675#: ../shortcuts/data/messages:5 ../showDesktop/data/messages:53720#: ../mail/data/messages:5 ../musicPlayer/data/messages:5
3676#: ../slider/data/messages:5 ../stack/data/messages:53721#: ../netspeed/data/messages:5 ../powermanager/data/messages:5
3677#: ../switcher/data/messages:5 ../systray/data/messages:53722#: ../quick-browser/data/messages:5 ../shortcuts/data/messages:5
3678#: ../template/data/messages:5 ../terminal/data/messages:53723#: ../showDesktop/data/messages:5 ../slider/data/messages:5
3679#: ../tomboy/data/messages:5 ../weather/data/messages:53724#: ../stack/data/messages:5 ../switcher/data/messages:5
3680#: ../weblets/data/messages:5 ../wifi/data/messages:53725#: ../systray/data/messages:5 ../template/data/messages:5
3726#: ../terminal/data/messages:5 ../tomboy/data/messages:5
3727#: ../weather/data/messages:5 ../weblets/data/messages:5
3728#: ../wifi/data/messages:5
3681msgid "Name of the dock it belongs to:"3729msgid "Name of the dock it belongs to:"
3682msgstr ""3730msgstr ""
36833731
3684#: ../Cairo-Penguin/data/messages:7 ../Clipper/data/messages:7
3685#: ../Composite-Manager/data/messages:7 ../Disks/data/messages:7
3686#: ../Doncky/data/messages:7 ../Folders/data/messages:9
3687#: ../GMenu/data/messages:7 ../Global-Menu/data/messages:7
3688#: ../Messaging-Menu/data/messages:7 ../Network-Monitor/data/messages:9
3689#: ../RSSreader/data/messages:9 ../Recent-Events/data/messages:7
3690#: ../System-Monitor/data/messages:7 ../Toons/data/messages:7
3691#: ../Xgamma/data/messages:9 ../alsaMixer/data/messages:9
3692#: ../clock/data/messages:9 ../dnd2share/data/messages:7
3693#: ../dustbin/data/messages:7 ../keyboard-indicator/data/messages:7
3694#: ../logout/data/messages:7 ../mail/data/messages:7
3695#: ../musicPlayer/data/messages:9 ../netspeed/data/messages:7
3696#: ../quick-browser/data/messages:9 ../shortcuts/data/messages:7
3697#: ../showDesktop/data/messages:7 ../slider/data/messages:7
3698#: ../stack/data/messages:9 ../switcher/data/messages:7
3699#: ../template/data/messages:7 ../weather/data/messages:9
3700#: ../weblets/data/messages:7 ../wifi/data/messages:7
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches