Merge lp:~cairo-dock-team/ubuntu/quantal/cairo-dock-plug-ins/3.0.2 into lp:ubuntu/quantal/cairo-dock-plug-ins

Proposed by Matthieu Baerts on 2012-06-19
Status: Merged
Merged at revision: 30
Proposed branch: lp:~cairo-dock-team/ubuntu/quantal/cairo-dock-plug-ins/3.0.2
Merge into: lp:ubuntu/quantal/cairo-dock-plug-ins
Diff against target: 14317 lines (+9687/-925)
52 files modified
CMakeLists.txt (+31/-22)
Dbus/src/interface-applet-methods.c (+2/-0)
GMenu/src/applet-init.c (+0/-7)
GMenu/src/applet-menu-callbacks.c (+7/-214)
GMenu/src/applet-menu-callbacks.h (+0/-6)
GMenu/src/applet-menu.c (+11/-44)
GMenu/src/applet-recent.c (+1/-7)
GMenu/src/applet-struct.h (+4/-6)
Messaging-Menu/src/applet-menu.c (+0/-3)
Recent-Events/src/applet-notifications.c (+23/-2)
Remote-Control/src/applet-notifications.c (+0/-1)
Status-Notifier/src/applet-item.c (+41/-0)
alsaMixer/data/AlsaMixer.conf.in (+2/-2)
alsaMixer/src/applet-notifications.c (+21/-14)
clock/data/clock.conf.in (+8/-1)
clock/src/applet-config.c (+6/-3)
clock/src/applet-draw.c (+47/-6)
clock/src/applet-struct.h (+2/-0)
clock/src/applet-timer.c (+0/-2)
debian/changelog (+60/-0)
debian/control (+1/-1)
dnd2share/src/applet-backend-pastebin.c (+12/-4)
gnome-integration/src/applet-utils.c (+23/-2)
kde-integration/src/applet-utils.c (+1/-1)
logout/data/CMakeLists.txt (+1/-0)
logout/src/CMakeLists.txt (+1/-1)
logout/src/applet-logout.c (+68/-6)
musicPlayer/src/applet-init.c (+11/-0)
musicPlayer/src/applet-mpris2.c (+118/-11)
musicPlayer/src/applet-musicplayer.c (+34/-26)
musicPlayer/src/applet-notifications.c (+48/-10)
musicPlayer/src/applet-struct.h (+9/-0)
po/de.po (+5/-5)
po/fr.po (+4/-4)
po/hr.po (+8409/-0)
po/it.po (+140/-85)
po/nl.po (+19/-19)
po/pt_BR.po (+9/-9)
po/sk.po (+260/-245)
po/sv.po (+29/-29)
po/uk.po (+156/-88)
quick-browser/src/applet-menu.c (+1/-4)
shortcuts/src/applet-bookmarks.c (+24/-3)
switcher/src/applet-desktops.c (+2/-0)
switcher/src/applet-draw.c (+1/-4)
systray/src/gtk2/na-tray.c (+1/-1)
systray/src/gtk3/na-tray-child.c (+19/-0)
systray/src/gtk3/na-tray.c (+2/-2)
systray/src/systray-config.c (+0/-1)
systray/src/systray-init.c (+3/-0)
systray/src/systray-interface.c (+4/-0)
terminal/src/terminal-widget.c (+6/-24)
To merge this branch: bzr merge lp:~cairo-dock-team/ubuntu/quantal/cairo-dock-plug-ins/3.0.2
Reviewer Review Type Date Requested Status
Ubuntu Sponsors Team 2012-06-19 Pending
Review via email: mp+111021@code.launchpad.net

Description of the change

Hello,

The Cairo-Dock team proposes a new "bug-fix" version of their Cairo-Dock packages.

This is the Upstream ChangeLog:
* 3.0.0 -> 3.0.1:
   - Gnome-integration: fixed the time&date command
   - KDE integration: fixed the time&date command
   - Updated previews of dustbin and logout with the new version
   - Updated the version of applets that can be always visible
      (for the new parameters)
   - Clock: numeric view: increased the size of the rectangle if an
      outline is used and modified the default colour
   - Clock: Now with the possibility to have an outline with the digital view
      to see when we don't use any background
   - Used the core option to not force the display of icons in menus
   - Minor fixes in Sound Control's .conf file
   - MusicPlayer: mpris2: metadata: trackid attribute should be of D-Bus
      type 'o'
   - Switcher: fixed a possible crash (division by 0) if the X manager
      couldn't get info from X + removed bMenuVisible
   - Clock: analogic mode: fixed a bug where the date was not displayed
      correctly (with opengl)
   - Clock: numeric mode: set a minimum size for the text: we keep the
      ratio until 12px (under 12px, it's hard to read)
   - Logout: added a fallback method to get the users list if the accounts
      daemon service is not running
   - CMakeLists.txt: fixed a CMake warning (or error?)
* 3.0.1 -> 3.0.2:
   - AlsaMixer: Fix: double-clicking did nothing if we didn't open the menu
      of the applet
   - DND2Share: Pastebin: Their public API is no longer available -> ported
      to the new API
   - GMenu: Fixed a bug that made sub-menus be too small,
      and therefore have to be scrolled + code cleaning
   - Logout: When the menu is reversed (top dock), select the last item so
      that it's the same as the normal menu (ie, the 'shutdown' item)
   - MusicPlayer: Prevented a warning message: when changing song, we don't
      receive this value: Position (no need to display a warning each time)
   - MusicPlayer: Allow recently played files in the menu (Recent-Files)
   - MusicPlayer: Fixed a bug that prevented the player from being launched
      the 2nd time in some cases
   - MusicPlayer: Added raise and quit methods in the menu when the player is
      in the systray (without that it's hard to display the window
   - MusicPlayer: Used toggle buttons for Shuffle and Repeat properties
   - Recent-Events: If the file doesn't exist, don't display it in the
      'Recent Files' menu
   - Recent-Events: Prevent doubles in the menu list
   - Po: Updated translations (added Croatian)
   - Shortcuts: Fixed a small bug with bookmarks (extra new lines were
      disrupting Thunar)
   - Status-Notifier: Added the marshaller for the XAyatanaNewLabel signal
   - Systray (old): Force the icons size to 24px, to avoid buggy programs to
      display their icon with a wrong size
   - Third-party applets: Reposition their right-click menu, so that it's the
      same as a normal menu (on top of the icon and no scroll needed)

This branch should be ready to be pushed on lp:ubuntu/cairo-dock-plug-ins (except the UNRELEASED version in debian/changelog)
This version compiles fine on Quantal (and older) and has been tested: https://launchpad.net/~matttbe/+archive/experimental-debian-build/+sourcepub/2516774/+listing-archive-extra

**@ ubuntu-devs**
Do you think it's possible to upload this version in Precise-Update? (simply because it's a bug-fix version and Precise is a LTS version)

Thank you for your help! ;)

PS: 'cairo-dock' package has to be uploaded before this package! (if possible, 30min before but it should wait for the new version of Cairo-Dock (core - libgldi-dev)) ( LP: #1014801 )

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2012-04-16 23:35:08 +0000
+++ CMakeLists.txt 2012-06-19 14:00:32 +0000
@@ -11,7 +11,7 @@
11########### project ###############11########### project ###############
1212
13project ("cairo-dock-plugins")13project ("cairo-dock-plugins")
14set (VERSION "3.0.0")14set (VERSION "3.0.2")
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})
@@ -93,6 +93,12 @@
93 #set (libdir "${CMAKE_INSTALL_PREFIX}/${libname}/cairo-dock")93 #set (libdir "${CMAKE_INSTALL_PREFIX}/${libname}/cairo-dock")
94endif()94endif()
9595
96if (NOT "${force-icon-in-menus}" STREQUAL "no") # we believe that not showing icons in the menus by default is a terrible idea; unfortunately, it's not easily undoable for an end-user; so until this is fixed by a big player (Gnome, Ubuntu or other), we'll force the display, unless "-Dforce-icon-in-menus=yes" is provided in the cmake command.
97 add_definitions (-DCAIRO_DOCK_FORCE_ICON_IN_MENUS=1)
98else()
99 add_definitions (-DCAIRO_DOCK_FORCE_ICON_IN_MENUS=0)
100endif()
101
96# set internationalisation102# set internationalisation
97set (GETTEXT_PLUGINS "cairo-dock-plugins")103set (GETTEXT_PLUGINS "cairo-dock-plugins")
98set (localedir "${prefix}/${CMAKE_INSTALL_LOCALEDIR}")104set (localedir "${prefix}/${CMAKE_INSTALL_LOCALEDIR}")
@@ -260,9 +266,11 @@
260 #~ set (INDICATOR_OLD_NAMES 1)266 #~ set (INDICATOR_OLD_NAMES 1)
261 #~ message (STATUS " Indicators: use old Ayatana Dbus names")267 #~ message (STATUS " Indicators: use old Ayatana Dbus names")
262 #~ endif()268 #~ endif()
263elseif ("${INDICATOR_APPLET_FOUND}" STREQUAL "1" AND NOT (${INDICATOR_MAJOR} GREATER 0 OR ${INDICATOR_MINOR} GREATER 3 OR (${INDICATOR_MINOR} EQUAL 3 AND ${INDICATOR_NANO} GREATER 20)))269elseif ("${INDICATOR_APPLET_FOUND}" STREQUAL "1")
264 set (INDICATOR_OLD_NAMES 1) # maverick or older270 if (NOT (${INDICATOR_MAJOR} GREATER 0 OR ${INDICATOR_MINOR} GREATER 3 OR (${INDICATOR_MINOR} EQUAL 3 AND ${INDICATOR_NANO} GREATER 20)))
265 message (STATUS " Indicators: use old Ayatana Dbus names")271 set (INDICATOR_OLD_NAMES 1) # maverick or older
272 message (STATUS " Indicators: use old Ayatana Dbus names")
273 endif()
266endif()274endif()
267275
268############# DISTRIBUTION #################276############# DISTRIBUTION #################
@@ -321,7 +329,7 @@
321 set (MODULES_MISSING "${MODULES_MISSING} alsa")329 set (MODULES_MISSING "${MODULES_MISSING} alsa")
322 else()330 else()
323 set (GETTEXT_ALSA_MIXER ${GETTEXT_PLUGINS})331 set (GETTEXT_ALSA_MIXER ${GETTEXT_PLUGINS})
324 set (VERSION_ALSA_MIXER "2.0.0")332 set (VERSION_ALSA_MIXER "2.0.1")
325 set (PACKAGE_ALSA_MIXER "cd-AlsaMixer")333 set (PACKAGE_ALSA_MIXER "cd-AlsaMixer")
326 set (with_alsa "yes")334 set (with_alsa "yes")
327 set (alsa_mixerdatadir "${pluginsdatadir}/AlsaMixer")335 set (alsa_mixerdatadir "${pluginsdatadir}/AlsaMixer")
@@ -373,7 +381,7 @@
373 set (MODULES_MISSING "${MODULES_MISSING} libical")381 set (MODULES_MISSING "${MODULES_MISSING} libical")
374endif()382endif()
375set (GETTEXT_CLOCK ${GETTEXT_PLUGINS})383set (GETTEXT_CLOCK ${GETTEXT_PLUGINS})
376set (VERSION_CLOCK "2.1.5")384set (VERSION_CLOCK "2.2.0")
377set (PACKAGE_CLOCK "cd-clock")385set (PACKAGE_CLOCK "cd-clock")
378set (clockuserdirname "clock")386set (clockuserdirname "clock")
379set (clockdatadir "${pluginsdatadir}/clock")387set (clockdatadir "${pluginsdatadir}/clock")
@@ -418,7 +426,7 @@
418message (STATUS " * Ruby:")426message (STATUS " * Ruby:")
419# find_package(Ruby) found libs of ruby-dev but we only need a directory where we can install ruby libs.427# find_package(Ruby) found libs of ruby-dev but we only need a directory where we can install ruby libs.
420find_program (RUBY_EXECUTABLE ruby)428find_program (RUBY_EXECUTABLE ruby)
421EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print Config::CONFIG['rubylibdir']"429EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubylibdir']"
422 OUTPUT_VARIABLE RUBY_LIB_DIR)430 OUTPUT_VARIABLE RUBY_LIB_DIR)
423message (STATUS " Ruby library dir: ${RUBY_LIB_DIR}")431message (STATUS " Ruby library dir: ${RUBY_LIB_DIR}")
424if ("${RUBY_LIB_DIR}" STREQUAL "" OR "${RUBY_LIB_DIR}" STREQUAL "nil")432if ("${RUBY_LIB_DIR}" STREQUAL "" OR "${RUBY_LIB_DIR}" STREQUAL "nil")
@@ -427,7 +435,8 @@
427 set (PROGRAMS_MISSING "${PROGRAMS_MISSING} ruby")435 set (PROGRAMS_MISSING "${PROGRAMS_MISSING} ruby")
428 set (with_ruby "no")436 set (with_ruby "no")
429else()437else()
430 string (REGEX REPLACE "lib/ruby/[0-9].[0-9]" "" RUBY_LIB_DIR_INSTALL "${RUBY_LIB_DIR}")438 # /usr/lib/ruby/1.8 or /usr/lib/ruby/1.9.1
439 string (REGEX REPLACE "lib/ruby/[0-9].[0-9]?.+" "" RUBY_LIB_DIR_INSTALL "${RUBY_LIB_DIR}")
431 string (REGEX REPLACE "${RUBY_LIB_DIR_INSTALL}" "" RUBY_LIB_DIR_INSTALL "${RUBY_LIB_DIR}")440 string (REGEX REPLACE "${RUBY_LIB_DIR_INSTALL}" "" RUBY_LIB_DIR_INSTALL "${RUBY_LIB_DIR}")
432 set (RUBY_LIB_DIR "${CMAKE_INSTALL_PREFIX}/${RUBY_LIB_DIR_INSTALL}")441 set (RUBY_LIB_DIR "${CMAKE_INSTALL_PREFIX}/${RUBY_LIB_DIR_INSTALL}")
433 message (STATUS " will be installed in: ${RUBY_LIB_DIR}")442 message (STATUS " will be installed in: ${RUBY_LIB_DIR}")
@@ -790,7 +799,7 @@
790 set (MODULES_MISSING "${MODULES_MISSING} libxklavier")799 set (MODULES_MISSING "${MODULES_MISSING} libxklavier")
791else()800else()
792 set (GETTEXT_KEYBOARD_INDICATOR ${GETTEXT_PLUGINS})801 set (GETTEXT_KEYBOARD_INDICATOR ${GETTEXT_PLUGINS})
793 set (VERSION_KEYBOARD_INDICATOR "1.1.5")802 set (VERSION_KEYBOARD_INDICATOR "1.1.6")
794 set (PACKAGE_KEYBOARD_INDICATOR "cd-keyboard-indicator")803 set (PACKAGE_KEYBOARD_INDICATOR "cd-keyboard-indicator")
795 set (with_keyboard_indicator "yes")804 set (with_keyboard_indicator "yes")
796 set (keyboard_indicatordatadir "${pluginsdatadir}/keyboard-indicator")805 set (keyboard_indicatordatadir "${pluginsdatadir}/keyboard-indicator")
@@ -810,7 +819,7 @@
810 set (MODULES_MISSING "${MODULES_MISSING} upower-glib")819 set (MODULES_MISSING "${MODULES_MISSING} upower-glib")
811endif()820endif()
812set (GETTEXT_LOGOUT ${GETTEXT_PLUGINS})821set (GETTEXT_LOGOUT ${GETTEXT_PLUGINS})
813set (VERSION_LOGOUT "2.0.0")822set (VERSION_LOGOUT "2.0.1")
814set (PACKAGE_LOGOUT "cd-logout")823set (PACKAGE_LOGOUT "cd-logout")
815set (logoutdatadir "${pluginsdatadir}/logout")824set (logoutdatadir "${pluginsdatadir}/logout")
816configure_file (${CMAKE_CURRENT_SOURCE_DIR}/logout/data/logout.conf.in ${CMAKE_CURRENT_BINARY_DIR}/logout/data/logout.conf)825configure_file (${CMAKE_CURRENT_SOURCE_DIR}/logout/data/logout.conf.in ${CMAKE_CURRENT_BINARY_DIR}/logout/data/logout.conf)
@@ -863,7 +872,7 @@
863 message (STATUS " Link directories: ${MAIL_PACKAGE_LIBRARY_DIRS}")872 message (STATUS " Link directories: ${MAIL_PACKAGE_LIBRARY_DIRS}")
864 message (STATUS " Link libraries: ${MAIL_PACKAGE_LIBRARIES}")873 message (STATUS " Link libraries: ${MAIL_PACKAGE_LIBRARIES}")
865 set (GETTEXT_MAIL ${GETTEXT_PLUGINS})874 set (GETTEXT_MAIL ${GETTEXT_PLUGINS})
866 set (VERSION_MAIL "1.0.10")875 set (VERSION_MAIL "1.0.11")
867 set (PACKAGE_MAIL "cd-mail")876 set (PACKAGE_MAIL "cd-mail")
868 set (maildatadir "${pluginsdatadir}/mail")877 set (maildatadir "${pluginsdatadir}/mail")
869 set (with_mail "yes")878 set (with_mail "yes")
@@ -904,7 +913,7 @@
904if ("${with_indicator}" STREQUAL "yes") 913if ("${with_indicator}" STREQUAL "yes")
905 message (STATUS "> Messaging-Menu:")914 message (STATUS "> Messaging-Menu:")
906 set (GETTEXT_MESSAGING_MENU ${GETTEXT_PLUGINS})915 set (GETTEXT_MESSAGING_MENU ${GETTEXT_PLUGINS})
907 set (VERSION_MESSAGING_MENU "1.0.3")916 set (VERSION_MESSAGING_MENU "1.0.4")
908 set (PACKAGE_MESSAGING_MENU "cd-Messaging-Menu")917 set (PACKAGE_MESSAGING_MENU "cd-Messaging-Menu")
909 set (with_messaging_menu "yes")918 set (with_messaging_menu "yes")
910 set (messaging_menudatadir "${pluginsdatadir}/Messaging-Menu")919 set (messaging_menudatadir "${pluginsdatadir}/Messaging-Menu")
@@ -924,7 +933,7 @@
924############# MUSICPLAYER #################933############# MUSICPLAYER #################
925message (STATUS "> MusicPlayer:")934message (STATUS "> MusicPlayer:")
926set (GETTEXT_MUSICPLAYER ${GETTEXT_PLUGINS})935set (GETTEXT_MUSICPLAYER ${GETTEXT_PLUGINS})
927set (VERSION_MUSICPLAYER "2.0.0")936set (VERSION_MUSICPLAYER "2.0.1")
928set (PACKAGE_MUSICPLAYER "cd-musicPlayer")937set (PACKAGE_MUSICPLAYER "cd-musicPlayer")
929set (musicplayerdatadir "${pluginsdatadir}/musicPlayer")938set (musicplayerdatadir "${pluginsdatadir}/musicPlayer")
930configure_file (${CMAKE_CURRENT_SOURCE_DIR}/musicPlayer/data/musicPlayer.conf.in ${CMAKE_CURRENT_BINARY_DIR}/musicPlayer/data/musicPlayer.conf)939configure_file (${CMAKE_CURRENT_SOURCE_DIR}/musicPlayer/data/musicPlayer.conf.in ${CMAKE_CURRENT_BINARY_DIR}/musicPlayer/data/musicPlayer.conf)
@@ -933,7 +942,7 @@
933############# NETSPEED #################942############# NETSPEED #################
934message (STATUS "> NetSpeed:")943message (STATUS "> NetSpeed:")
935set (GETTEXT_NETSPEED ${GETTEXT_PLUGINS})944set (GETTEXT_NETSPEED ${GETTEXT_PLUGINS})
936set (VERSION_NETSPEED "1.2.8")945set (VERSION_NETSPEED "1.2.9")
937set (PACKAGE_NETSPEED "cd-netspeed")946set (PACKAGE_NETSPEED "cd-netspeed")
938set (netspeeddatadir "${pluginsdatadir}/netspeed")947set (netspeeddatadir "${pluginsdatadir}/netspeed")
939configure_file (${CMAKE_CURRENT_SOURCE_DIR}/netspeed/data/netspeed.conf.in ${CMAKE_CURRENT_BINARY_DIR}/netspeed/data/netspeed.conf)948configure_file (${CMAKE_CURRENT_SOURCE_DIR}/netspeed/data/netspeed.conf.in ${CMAKE_CURRENT_BINARY_DIR}/netspeed/data/netspeed.conf)
@@ -944,7 +953,7 @@
944if ("${enable-network-monitor}" STREQUAL "yes")953if ("${enable-network-monitor}" STREQUAL "yes")
945 message (STATUS "> Network Monitor:")954 message (STATUS "> Network Monitor:")
946 set (GETTEXT_NETWORK_MONITOR ${GETTEXT_PLUGINS})955 set (GETTEXT_NETWORK_MONITOR ${GETTEXT_PLUGINS})
947 set (VERSION_NETWORK_MONITOR "0.2.6")956 set (VERSION_NETWORK_MONITOR "0.2.7")
948 set (PACKAGE_NETWORK_MONITOR "cd-network-monitor")957 set (PACKAGE_NETWORK_MONITOR "cd-network-monitor")
949 set (with_network_monitor "yes")958 set (with_network_monitor "yes")
950 set (network_monitordatadir "${pluginsdatadir}/Network-Monitor")959 set (network_monitordatadir "${pluginsdatadir}/Network-Monitor")
@@ -955,7 +964,7 @@
955############# POWERMANAGER #################964############# POWERMANAGER #################
956message (STATUS "> PowerManager:")965message (STATUS "> PowerManager:")
957set (GETTEXT_POWERMANAGER ${GETTEXT_PLUGINS})966set (GETTEXT_POWERMANAGER ${GETTEXT_PLUGINS})
958set (VERSION_POWERMANAGER "1.3.8")967set (VERSION_POWERMANAGER "1.3.9")
959set (PACKAGE_POWERMANAGER "cd-powermanager")968set (PACKAGE_POWERMANAGER "cd-powermanager")
960set (powermanagerdatadir "${pluginsdatadir}/powermanager")969set (powermanagerdatadir "${pluginsdatadir}/powermanager")
961configure_file (${CMAKE_CURRENT_SOURCE_DIR}/powermanager/data/powermanager.conf.in ${CMAKE_CURRENT_BINARY_DIR}/powermanager/data/powermanager.conf)970configure_file (${CMAKE_CURRENT_SOURCE_DIR}/powermanager/data/powermanager.conf.in ${CMAKE_CURRENT_BINARY_DIR}/powermanager/data/powermanager.conf)
@@ -1069,7 +1078,7 @@
1069 set (with_exif "no")1078 set (with_exif "no")
1070endif()1079endif()
1071set (GETTEXT_SLIDER ${GETTEXT_PLUGINS})1080set (GETTEXT_SLIDER ${GETTEXT_PLUGINS})
1072set (VERSION_SLIDER "2.0.11")1081set (VERSION_SLIDER "2.0.12")
1073set (PACKAGE_SLIDER "cd-slider")1082set (PACKAGE_SLIDER "cd-slider")
1074set (sliderdatadir "${pluginsdatadir}/slider")1083set (sliderdatadir "${pluginsdatadir}/slider")
1075configure_file (${CMAKE_CURRENT_SOURCE_DIR}/slider/data/slider.conf.in ${CMAKE_CURRENT_BINARY_DIR}/slider/data/slider.conf)1084configure_file (${CMAKE_CURRENT_SOURCE_DIR}/slider/data/slider.conf.in ${CMAKE_CURRENT_BINARY_DIR}/slider/data/slider.conf)
@@ -1099,7 +1108,7 @@
1099 endif()1108 endif()
1100 message (STATUS " ApplicationAdded signal has 'Hint' = ${INDICATOR_APPLICATIONADDED_HAS_HINT}")1109 message (STATUS " ApplicationAdded signal has 'Hint' = ${INDICATOR_APPLICATIONADDED_HAS_HINT}")
1101 set (GETTEXT_STATUS_NOTIFIER ${GETTEXT_PLUGINS})1110 set (GETTEXT_STATUS_NOTIFIER ${GETTEXT_PLUGINS})
1102 set (VERSION_STATUS_NOTIFIER "0.1.5")1111 set (VERSION_STATUS_NOTIFIER "0.1.6")
1103 set (PACKAGE_STATUS_NOTIFIER "cd-status-notifier")1112 set (PACKAGE_STATUS_NOTIFIER "cd-status-notifier")
1104 set (with_status_notifier "yes")1113 set (with_status_notifier "yes")
1105 set (status_notifierdatadir "${pluginsdatadir}/Status-Notifier")1114 set (status_notifierdatadir "${pluginsdatadir}/Status-Notifier")
@@ -1127,7 +1136,7 @@
1127 set (with_sensors "no")1136 set (with_sensors "no")
1128endif()1137endif()
1129set (GETTEXT_SYSTEM_MONITOR ${GETTEXT_PLUGINS})1138set (GETTEXT_SYSTEM_MONITOR ${GETTEXT_PLUGINS})
1130set (VERSION_SYSTEM_MONITOR "1.0.10")1139set (VERSION_SYSTEM_MONITOR "1.0.11")
1131set (PACKAGE_SYSTEM_MONITOR "cd-system-monitor")1140set (PACKAGE_SYSTEM_MONITOR "cd-system-monitor")
1132set (system_monitordatadir "${pluginsdatadir}/System-monitor")1141set (system_monitordatadir "${pluginsdatadir}/System-monitor")
1133configure_file (${CMAKE_CURRENT_SOURCE_DIR}/System-Monitor/data/System-Monitor.conf.in ${CMAKE_CURRENT_BINARY_DIR}/System-Monitor/data/System-Monitor.conf)1142configure_file (${CMAKE_CURRENT_SOURCE_DIR}/System-Monitor/data/System-Monitor.conf.in ${CMAKE_CURRENT_BINARY_DIR}/System-Monitor/data/System-Monitor.conf)
@@ -1177,7 +1186,7 @@
1177############# TOONS #################1186############# TOONS #################
1178message (STATUS "> Toons:")1187message (STATUS "> Toons:")
1179set (GETTEXT_TOONS ${GETTEXT_PLUGINS})1188set (GETTEXT_TOONS ${GETTEXT_PLUGINS})
1180set (VERSION_TOONS "1.0.11")1189set (VERSION_TOONS "1.0.12")
1181set (PACKAGE_TOONS "cd-Toons")1190set (PACKAGE_TOONS "cd-Toons")
1182set (toonsdatadir "${pluginsdatadir}/Toons")1191set (toonsdatadir "${pluginsdatadir}/Toons")
1183set (toonsuserdirname "Toons")1192set (toonsuserdirname "Toons")
@@ -1187,7 +1196,7 @@
1187############# WEATHER #################1196############# WEATHER #################
1188message (STATUS "> Weather:")1197message (STATUS "> Weather:")
1189set (GETTEXT_WEATHER ${GETTEXT_PLUGINS})1198set (GETTEXT_WEATHER ${GETTEXT_PLUGINS})
1190set (VERSION_WEATHER "1.2.12")1199set (VERSION_WEATHER "1.2.13")
1191set (PACKAGE_WEATHER "cd-weather")1200set (PACKAGE_WEATHER "cd-weather")
1192set (weatherdatadir "${pluginsdatadir}/weather")1201set (weatherdatadir "${pluginsdatadir}/weather")
1193set (weatheruserdirname "weather")1202set (weatheruserdirname "weather")
@@ -1222,7 +1231,7 @@
1222############# WIFI #################1231############# WIFI #################
1223message (STATUS "> WiFi:")1232message (STATUS "> WiFi:")
1224set (GETTEXT_WIFI ${GETTEXT_PLUGINS})1233set (GETTEXT_WIFI ${GETTEXT_PLUGINS})
1225set (VERSION_WIFI "1.2.10")1234set (VERSION_WIFI "1.2.11")
1226set (PACKAGE_WIFI "cd-wifi")1235set (PACKAGE_WIFI "cd-wifi")
1227set (wifidatadir "${pluginsdatadir}/wifi")1236set (wifidatadir "${pluginsdatadir}/wifi")
1228configure_file (${CMAKE_CURRENT_SOURCE_DIR}/wifi/data/wifi.conf.in ${CMAKE_CURRENT_BINARY_DIR}/wifi/data/wifi.conf)1237configure_file (${CMAKE_CURRENT_SOURCE_DIR}/wifi/data/wifi.conf.in ${CMAKE_CURRENT_BINARY_DIR}/wifi/data/wifi.conf)
12291238
=== modified file 'Dbus/src/interface-applet-methods.c'
--- Dbus/src/interface-applet-methods.c 2012-03-21 11:26:14 +0000
+++ Dbus/src/interface-applet-methods.c 2012-06-19 14:00:32 +0000
@@ -1157,6 +1157,8 @@
1157 g_hash_table_destroy (pGroups);1157 g_hash_table_destroy (pGroups);
1158 gtk_widget_show_all (myData.pModuleMainMenu);1158 gtk_widget_show_all (myData.pModuleMainMenu);
1159 1159
1160 gtk_menu_reposition (GTK_MENU (myData.pModuleMainMenu));
1161
1160 return TRUE;1162 return TRUE;
1161}1163}
11621164
11631165
=== modified file 'GMenu/src/applet-init.c'
--- GMenu/src/applet-init.c 2012-03-21 11:26:14 +0000
+++ GMenu/src/applet-init.c 2012-06-19 14:00:32 +0000
@@ -80,13 +80,6 @@
80 CD_APPLET_UNREGISTER_FOR_MIDDLE_CLICK_EVENT;80 CD_APPLET_UNREGISTER_FOR_MIDDLE_CLICK_EVENT;
81 CD_APPLET_UNREGISTER_FOR_BUILD_MENU_EVENT;81 CD_APPLET_UNREGISTER_FOR_BUILD_MENU_EVENT;
82 82
83 if (myData.iSidFakeMenuIdle != 0)
84 g_source_remove (myData.iSidFakeMenuIdle);
85 if (myData.iSidCreateMenuIdle != 0)
86 g_source_remove (myData.iSidCreateMenuIdle);
87 if (myData.iSidTreeChangeIdle != 0)
88 g_source_remove (myData.iSidTreeChangeIdle);
89
90 // keyboard events83 // keyboard events
91 cd_keybinder_unbind (myData.cKeyBinding);84 cd_keybinder_unbind (myData.cKeyBinding);
92 cd_keybinder_unbind (myData.cKeyBindingQuickLaunch);85 cd_keybinder_unbind (myData.cKeyBindingQuickLaunch);
9386
=== modified file 'GMenu/src/applet-menu-callbacks.c'
--- GMenu/src/applet-menu-callbacks.c 2012-03-21 11:26:14 +0000
+++ GMenu/src/applet-menu-callbacks.c 2012-06-19 14:00:32 +0000
@@ -37,45 +37,14 @@
37{37{
38 cd_message ("%s ()", __func__);38 cd_message ("%s ()", __func__);
39 39
40 // easy way: rebuild the whole menu.
40 if (myData.pMenu != NULL)41 if (myData.pMenu != NULL)
41 {42 {
42 gtk_widget_destroy (myData.pMenu);43 gtk_widget_destroy (myData.pMenu);
43 myData.pMenu = NULL;44 myData.pMenu = NULL;
44 }45 }
45 46
46 if (myData.pMenu == NULL)47 myData.pMenu = create_main_menu (myApplet);
47 {
48 myData.pMenu = create_main_menu (NULL);
49 }
50 return ;
51
52 guint idle_id;
53
54 GList *children = gtk_container_get_children (GTK_CONTAINER (menu));
55 g_list_foreach (children, (GFunc)gtk_widget_destroy, NULL);
56 g_list_free (children);
57 ///while (GTK_MENU_SHELL (menu)->children)
58 /// gtk_widget_destroy (GTK_MENU_SHELL (menu)->children->data);
59
60 g_object_set_data_full (G_OBJECT (menu),
61 "panel-menu-tree-directory",
62 NULL, NULL);
63
64 g_object_set_data (G_OBJECT (menu),
65 "panel-menu-needs-loading",
66 GUINT_TO_POINTER (TRUE));
67
68 idle_id = g_idle_add_full (G_PRIORITY_LOW,
69 submenu_to_display_in_idle,
70 menu,
71 NULL);
72 if (myData.iSidTreeChangeIdle != 0)
73 g_source_remove (myData.iSidTreeChangeIdle);
74 myData.iSidTreeChangeIdle = idle_id;
75 g_object_set_data_full (G_OBJECT (menu),
76 "panel-menu-idle-id",
77 GUINT_TO_POINTER (idle_id),
78 remove_submenu_to_display_idle);
79}48}
8049
81void remove_gmenu_tree_monitor (GtkWidget *menu,50void remove_gmenu_tree_monitor (GtkWidget *menu,
@@ -88,16 +57,6 @@
88}57}
8958
9059
91gboolean menu_dummy_button_press_event (GtkWidget *menuitem,
92 GdkEventButton *event)
93{
94 if (event->button == 3)
95 return TRUE;
96
97 return FALSE;
98}
99
100
101void remove_submenu_to_display_idle (gpointer data)60void remove_submenu_to_display_idle (gpointer data)
102{61{
103 guint idle_id = GPOINTER_TO_UINT (data);62 guint idle_id = GPOINTER_TO_UINT (data);
@@ -129,7 +88,7 @@
12988
130 if (!g_object_get_data (G_OBJECT (menu), "panel-menu-needs-loading"))89 if (!g_object_get_data (G_OBJECT (menu), "panel-menu-needs-loading"))
131 {90 {
132 cd_debug ("needs no loading\n");91 cd_debug ("needs no loading");
133 return;92 return;
134 }93 }
13594
@@ -150,7 +109,7 @@
150 tree = g_object_get_data (G_OBJECT (menu), "panel-menu-tree");109 tree = g_object_get_data (G_OBJECT (menu), "panel-menu-tree");
151 if (!tree)110 if (!tree)
152 {111 {
153 cd_warning ("no tree found in datas");112 cd_warning ("no tree found in data");
154 return;113 return;
155 }114 }
156 directory = gmenu_tree_get_directory_from_path (tree,115 directory = gmenu_tree_get_directory_from_path (tree,
@@ -199,10 +158,7 @@
199 image = gtk_image_new_from_pixbuf (pixbuf);158 image = gtk_image_new_from_pixbuf (pixbuf);
200 g_object_unref (pixbuf);159 g_object_unref (pixbuf);
201 }160 }
202#if (GTK_MAJOR_VERSION > 2 || GTK_MINOR_VERSION >= 16)161 _gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (pMenuItem), image);
203 gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (pMenuItem), TRUE);
204#endif
205 gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (pMenuItem), image);
206 }162 }
207 gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem);163 gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem);
208 if (pFunction)164 if (pFunction)
@@ -226,10 +182,6 @@
226void panel_desktop_menu_item_append_menu (GtkWidget *menu, gpointer data)182void panel_desktop_menu_item_append_menu (GtkWidget *menu, gpointer data)
227{183{
228 CairoDockModuleInstance *myApplet = (CairoDockModuleInstance *) data;184 CairoDockModuleInstance *myApplet = (CairoDockModuleInstance *) data;
229
230 //panel_menu_items_append_from_desktop (menu, "yelp.desktop", NULL);
231 //panel_menu_items_append_from_desktop (menu, "gnome-about.desktop", NULL);
232
233 if (myConfig.iShowQuit != CD_GMENU_SHOW_QUIT_NONE)185 if (myConfig.iShowQuit != CD_GMENU_SHOW_QUIT_NONE)
234 cd_menu_append_poweroff_to_menu (menu, myApplet);186 cd_menu_append_poweroff_to_menu (menu, myApplet);
235}187}
@@ -240,24 +192,9 @@
240 //g_print ("%s ()\n", __func__); 192 //g_print ("%s ()\n", __func__);
241 CairoDockModuleInstance *myApplet;193 CairoDockModuleInstance *myApplet;
242 GtkWidget *item;194 GtkWidget *item;
243 gboolean add_separator;
244 GList *children;
245 GList *last;
246195
247 myApplet = (CairoDockModuleInstance *) data;196 myApplet = (CairoDockModuleInstance *) data;
248197
249 add_separator = FALSE;
250 children = gtk_container_get_children (GTK_CONTAINER (main_menu));
251 last = g_list_last (children);
252 if (last != NULL) {
253 ///add_separator = !GTK_IS_SEPARATOR (GTK_WIDGET (last->data));
254 }
255 g_list_free (children);
256
257 if (add_separator)
258 add_menu_separator (main_menu);
259
260
261 GtkWidget *desktop_menu;198 GtkWidget *desktop_menu;
262199
263 desktop_menu = create_applications_menu ("settings.menu", NULL, main_menu);200 desktop_menu = create_applications_menu ("settings.menu", NULL, main_menu);
@@ -276,73 +213,8 @@
276 {213 {
277 cd_menu_append_recent_to_menu (main_menu, myApplet);214 cd_menu_append_recent_to_menu (main_menu, myApplet);
278 }215 }
279216}
280217
281 /*item = panel_place_menu_item_new (TRUE);
282 panel_place_menu_item_set_panel (item, panel);
283 gtk_menu_shell_append (GTK_MENU_SHELL (main_menu), item);
284 gtk_widget_show (item);
285
286 item = panel_desktop_menu_item_new (TRUE, FALSE);
287 panel_desktop_menu_item_set_panel (item, panel);
288 gtk_menu_shell_append (GTK_MENU_SHELL (main_menu), item);
289 gtk_widget_show (item);
290
291 panel_menu_items_append_lock_logout (main_menu);*/
292}
293
294/*gboolean show_item_menu (GtkWidget *item,
295 GdkEventButton *bevent)
296{
297 CairoDockModuleInstance *myApplet;
298 GtkWidget *menu;
299
300 if (panel_lockdown_get_locked_down ())
301 return FALSE;
302
303 panel_widget = menu_get_panel (item);
304
305 menu = g_object_get_data (G_OBJECT (item), "panel-item-context-menu");
306
307 if (!menu)
308 menu = create_item_context_menu (item, panel_widget);
309
310 if (!menu)
311 return FALSE;
312
313 gtk_menu_set_screen (GTK_MENU (menu),
314 gtk_window_get_screen (GTK_WINDOW (panel_widget->toplevel)));
315
316 gtk_menu_popup (GTK_MENU (menu),
317 NULL, NULL, NULL, NULL,
318 bevent->button,
319 bevent->time);
320
321 return TRUE;
322}
323gboolean panel_menu_key_press_handler (GtkWidget *widget,
324 GdkEventKey *event)
325{
326 gboolean retval = FALSE;
327
328 if ((event->keyval == GDK_Menu) ||
329 (event->keyval == GDK_F10 &&
330 (event->state & gtk_accelerator_get_default_mod_mask ()) == GDK_SHIFT_MASK)) {
331 GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget);
332
333 if (menu_shell->active_menu_item &&
334 GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu == NULL) {
335 GdkEventButton bevent;
336
337 bevent.button = 3;
338 bevent.time = GDK_CURRENT_TIME;
339 retval = show_item_menu (menu_shell->active_menu_item,
340// &bevent);
341 }
342
343 }
344 return retval;
345}*/
346218
347static void menu_item_style_set (GtkImage *image,219static void menu_item_style_set (GtkImage *image,
348 gpointer data)220 gpointer data)
@@ -614,76 +486,6 @@
614}486}
615487
616488
617
618void drag_begin_menu_cb (GtkWidget *widget, GdkDragContext *context)
619{
620 /* FIXME: workaround for a possible gtk+ bug
621 * See bugs #92085(gtk+) and #91184(panel) for details.
622 * Maybe it's not needed with GtkTooltip?
623 */
624 g_object_set (widget, "has-tooltip", FALSE, NULL);
625}
626
627/* This is a _horrible_ hack to have this here. This needs to be added to the
628 * GTK+ menuing code in some manner.
629 */
630void drag_end_menu_cb (GtkWidget *widget, GdkDragContext *context)
631{
632 /**GtkWidget *xgrab_shell;
633 GtkWidget *parent;
634
635 // Find the last viewable ancestor, and make an X grab on it
636 parent = widget->parent;
637 xgrab_shell = NULL;
638
639 // FIXME: workaround for a possible gtk+ bug
640 // See bugs #92085(gtk+) and #91184(panel) for details.
641 g_object_set (widget, "has-tooltip", TRUE, NULL);
642
643 while (parent)
644 {
645 gboolean viewable = TRUE;
646 GtkWidget *tmp = parent;
647
648 while (tmp)
649 {
650 if (!GTK_WIDGET_MAPPED (tmp))
651 {
652 viewable = FALSE;
653 break;
654 }
655 tmp = tmp->parent;
656 }
657
658 if (viewable)
659 xgrab_shell = parent;
660
661 parent = GTK_MENU_SHELL (parent)->parent_menu_shell;
662 }
663
664 if (xgrab_shell && !GTK_MENU(xgrab_shell)->torn_off)
665 {
666 GdkCursor *cursor = gdk_cursor_new (GDK_ARROW);
667
668 if ((gdk_pointer_grab (xgrab_shell->window, TRUE,
669 GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
670 GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK |
671 GDK_POINTER_MOTION_MASK,
672 NULL, cursor, GDK_CURRENT_TIME) == 0))
673 {
674 if (gdk_keyboard_grab (xgrab_shell->window, TRUE,
675 GDK_CURRENT_TIME) == 0)
676 GTK_MENU_SHELL (xgrab_shell)->have_xgrab = TRUE;
677 else
678 {
679 gdk_pointer_ungrab (GDK_CURRENT_TIME);
680 }
681 }
682
683 gdk_cursor_unref (cursor);
684 }*/
685}
686
687void drag_data_get_menu_cb (GtkWidget *widget,489void drag_data_get_menu_cb (GtkWidget *widget,
688 GdkDragContext *context,490 GdkDragContext *context,
689 GtkSelectionData *selection_data,491 GtkSelectionData *selection_data,
@@ -705,12 +507,3 @@
705 strlen (uri_list));507 strlen (uri_list));
706 g_free (uri_list);508 g_free (uri_list);
707}509}
708
709/*gboolean menuitem_button_press_event (GtkWidget *menuitem,
710 GdkEventButton *event)
711{
712 if (event->button == 3)
713 return show_item_menu (menuitem, event);
714
715 return FALSE;
716}*/
717510
=== modified file 'GMenu/src/applet-menu-callbacks.h'
--- GMenu/src/applet-menu-callbacks.h 2009-10-05 19:27:17 +0000
+++ GMenu/src/applet-menu-callbacks.h 2012-06-19 14:00:32 +0000
@@ -32,8 +32,6 @@
32void remove_gmenu_tree_monitor (GtkWidget *menu,32void remove_gmenu_tree_monitor (GtkWidget *menu,
33 GMenuTree *tree);33 GMenuTree *tree);
3434
35gboolean menu_dummy_button_press_event (GtkWidget *menuitem,
36 GdkEventButton *event);
37void remove_submenu_to_display_idle (gpointer data);35void remove_submenu_to_display_idle (gpointer data);
3836
39gboolean submenu_to_display_in_idle (gpointer data);37gboolean submenu_to_display_in_idle (gpointer data);
@@ -52,10 +50,6 @@
52void activate_app_def (GtkWidget *menuitem,50void activate_app_def (GtkWidget *menuitem,
53 GMenuTreeEntry *entry);51 GMenuTreeEntry *entry);
5452
55void drag_begin_menu_cb (GtkWidget *widget, GdkDragContext *context);
56
57void drag_end_menu_cb (GtkWidget *widget, GdkDragContext *context);
58
59void drag_data_get_menu_cb (GtkWidget *widget,53void drag_data_get_menu_cb (GtkWidget *widget,
60 GdkDragContext *context,54 GdkDragContext *context,
61 GtkSelectionData *selection_data,55 GtkSelectionData *selection_data,
6256
=== modified file 'GMenu/src/applet-menu.c'
--- GMenu/src/applet-menu.c 2012-03-21 11:26:14 +0000
+++ GMenu/src/applet-menu.c 2012-06-19 14:00:32 +0000
@@ -64,17 +64,11 @@
64 submenu_to_display_in_idle,64 submenu_to_display_in_idle,
65 menu,65 menu,
66 NULL);66 NULL);
67 if (myData.iSidFakeMenuIdle != 0)
68 g_source_remove (myData.iSidFakeMenuIdle);
69 myData.iSidFakeMenuIdle = idle_id;
70 g_object_set_data_full (G_OBJECT (menu),67 g_object_set_data_full (G_OBJECT (menu),
71 "panel-menu-idle-id",68 "panel-menu-idle-id",
72 GUINT_TO_POINTER (idle_id),69 GUINT_TO_POINTER (idle_id),
73 remove_submenu_to_display_idle);70 remove_submenu_to_display_idle);
7471
75 g_signal_connect (menu, "button_press_event",
76 G_CALLBACK (menu_dummy_button_press_event), NULL);
77
78 return menu;72 return menu;
79}73}
8074
@@ -252,7 +246,8 @@
252 image = gtk_image_new ();246 image = gtk_image_new ();
253 ///image->requisition.width = icon_height;247 ///image->requisition.width = icon_height;
254 ///image->requisition.height = icon_height;248 ///image->requisition.height = icon_height;
255249 gtk_widget_set_size_request (image, icon_height, icon_height);
250
256 /* this takes over the floating ref */251 /* this takes over the floating ref */
257 icon->pixmap = g_object_ref (G_OBJECT (image));252 icon->pixmap = g_object_ref (G_OBJECT (image));
258 g_object_ref_sink (G_OBJECT (image));253 g_object_ref_sink (G_OBJECT (image));
@@ -275,11 +270,7 @@
275 270
276 if (myConfig.bHasIcons)271 if (myConfig.bHasIcons)
277 {272 {
278#if (GTK_MAJOR_VERSION > 2 || GTK_MINOR_VERSION >= 16)273 _gtk_image_menu_item_set_image (
279 gtk_image_menu_item_set_always_show_image (
280 GTK_IMAGE_MENU_ITEM (image_menu_item), TRUE);
281#endif
282 gtk_image_menu_item_set_image (
283 GTK_IMAGE_MENU_ITEM (image_menu_item), image);274 GTK_IMAGE_MENU_ITEM (image_menu_item), image);
284 }275 }
285276
@@ -423,12 +414,12 @@
423 }414 }
424 }415 }
425416
426 g_signal_connect (G_OBJECT (menuitem), "drag_begin",417 ///g_signal_connect (G_OBJECT (menuitem), "drag_begin",
427 G_CALLBACK (drag_begin_menu_cb), NULL);418 /// G_CALLBACK (drag_begin_menu_cb), NULL);
428 g_signal_connect (menuitem, "drag_data_get",419 g_signal_connect (menuitem, "drag_data_get",
429 G_CALLBACK (drag_data_get_menu_cb), entry);420 G_CALLBACK (drag_data_get_menu_cb), entry);
430 g_signal_connect (menuitem, "drag_end",421 ///g_signal_connect (menuitem, "drag_end",
431 G_CALLBACK (drag_end_menu_cb), NULL);422 /// G_CALLBACK (drag_end_menu_cb), NULL);
432 }423 }
433424
434 gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);425 gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
@@ -521,11 +512,7 @@
521 gtk_widget_show (image);512 gtk_widget_show (image);
522 if (myConfig.bHasIcons)513 if (myConfig.bHasIcons)
523 {514 {
524#if (GTK_MAJOR_VERSION > 2 || GTK_MINOR_VERSION >= 16)515 _gtk_image_menu_item_set_image (
525 gtk_image_menu_item_set_always_show_image (
526 GTK_IMAGE_MENU_ITEM (menuitem), TRUE);
527#endif
528 gtk_image_menu_item_set_image (
529 GTK_IMAGE_MENU_ITEM (menuitem), image);516 GTK_IMAGE_MENU_ITEM (menuitem), image);
530 }517 }
531 } else if (icon_size != GTK_ICON_SIZE_INVALID)518 } else if (icon_size != GTK_ICON_SIZE_INVALID)
@@ -600,7 +587,7 @@
600 reload_image_menu_items ();587 reload_image_menu_items ();
601}588}
602589
603GtkWidget * panel_create_menu (void)590static inline GtkWidget * panel_create_menu (void)
604{591{
605 GtkWidget *retval;592 GtkWidget *retval;
606 static gboolean registered_icon_theme_changer = FALSE;593 static gboolean registered_icon_theme_changer = FALSE;
@@ -614,14 +601,6 @@
614 601
615 retval = gtk_menu_new ();602 retval = gtk_menu_new ();
616 603
617 /*panel_gconf_notify_add_while_alive ("/desktop/gnome/interface/menus_have_icons",
618 (GConfClientNotifyFunc) menus_have_icons_changed,
619 G_OBJECT (retval));*/
620
621 /*g_signal_connect (retval, "key_press_event",
622 G_CALLBACK (panel_menu_key_press_handler),
623 NULL);*/
624
625 return retval;604 return retval;
626}605}
627GtkWidget * create_empty_menu (void)606GtkWidget * create_empty_menu (void)
@@ -630,13 +609,6 @@
630609
631 retval = panel_create_menu ();610 retval = panel_create_menu ();
632611
633 //g_signal_connect (retval, "show", G_CALLBACK (setup_menu_panel), NULL);
634
635 /* intercept all right button clicks makes sure they don't
636 go to the object itself */
637 g_signal_connect (retval, "button_press_event",
638 G_CALLBACK (menu_dummy_button_press_event), NULL);
639
640 return retval;612 return retval;
641}613}
642614
@@ -672,7 +644,8 @@
672 g_object_set_data (G_OBJECT (menu),644 g_object_set_data (G_OBJECT (menu),
673 "panel-menu-needs-loading",645 "panel-menu-needs-loading",
674 GUINT_TO_POINTER (TRUE));646 GUINT_TO_POINTER (TRUE));
675647
648 // load the menu in idle, and force the loading if it's shown before.
676 g_signal_connect (menu, "show",649 g_signal_connect (menu, "show",
677 G_CALLBACK (submenu_to_display), NULL);650 G_CALLBACK (submenu_to_display), NULL);
678651
@@ -680,17 +653,11 @@
680 submenu_to_display_in_idle,653 submenu_to_display_in_idle,
681 menu,654 menu,
682 NULL);655 NULL);
683 if (myData.iSidCreateMenuIdle != 0)
684 g_source_remove (myData.iSidCreateMenuIdle);
685 myData.iSidCreateMenuIdle = idle_id;
686 g_object_set_data_full (G_OBJECT (menu),656 g_object_set_data_full (G_OBJECT (menu),
687 "panel-menu-idle-id",657 "panel-menu-idle-id",
688 GUINT_TO_POINTER (idle_id),658 GUINT_TO_POINTER (idle_id),
689 remove_submenu_to_display_idle);659 remove_submenu_to_display_idle);
690660
691 g_signal_connect (menu, "button_press_event",
692 G_CALLBACK (menu_dummy_button_press_event), NULL);
693
694 gmenu_tree_add_monitor (tree,661 gmenu_tree_add_monitor (tree,
695 (GMenuTreeChangedFunc) handle_gmenu_tree_changed,662 (GMenuTreeChangedFunc) handle_gmenu_tree_changed,
696 menu);663 menu);
697664
=== modified file 'GMenu/src/applet-recent.c'
--- GMenu/src/applet-recent.c 2012-03-21 11:26:14 +0000
+++ GMenu/src/applet-recent.c 2012-06-19 14:00:32 +0000
@@ -62,10 +62,7 @@
62 GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size (cIconPath, myData.iPanelDefaultMenuIconSize, myData.iPanelDefaultMenuIconSize, 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 _gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (pMenuItem), image);
66 gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (pMenuItem), TRUE);
67#endif
68 gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (pMenuItem), image);
69 gtk_menu_shell_append (GTK_MENU_SHELL (top_menu), pMenuItem);66 gtk_menu_shell_append (GTK_MENU_SHELL (top_menu), pMenuItem);
70 gtk_widget_show_all (pMenuItem);67 gtk_widget_show_all (pMenuItem);
71 myData.pRecentMenuItem = pMenuItem;68 myData.pRecentMenuItem = pMenuItem;
@@ -80,9 +77,6 @@
80 }77 }
81 78
82 //\_____________ les signaux79 //\_____________ les signaux
83 g_signal_connect (G_OBJECT (recent_menu), "button_press_event",
84 G_CALLBACK (menu_dummy_button_press_event), NULL); // utile ?
85
86 g_signal_connect (GTK_RECENT_CHOOSER (recent_menu),80 g_signal_connect (GTK_RECENT_CHOOSER (recent_menu),
87 "item-activated",81 "item-activated",
88 G_CALLBACK (recent_documents_activate_cb),82 G_CALLBACK (recent_documents_activate_cb),
8983
=== modified file 'GMenu/src/applet-struct.h'
--- GMenu/src/applet-struct.h 2012-03-21 11:26:14 +0000
+++ GMenu/src/applet-struct.h 2012-06-19 14:00:32 +0000
@@ -68,19 +68,17 @@
6868
69//\___________ structure containing the applet's data, like surfaces, dialogs, results of calculus, etc.69//\___________ structure containing the applet's data, like surfaces, dialogs, results of calculus, etc.
70struct _AppletData {70struct _AppletData {
71 // menu
71 GtkWidget *pMenu;72 GtkWidget *pMenu;
72 CairoDialog *pQuickLaunchDialog;
73 gboolean bIconsLoaded;73 gboolean bIconsLoaded;
74 CDGMenuShowQuit iShowQuit;74 CDGMenuShowQuit iShowQuit;
75 guint iSidFakeMenuIdle;
76 guint iSidCreateMenuIdle;
77 guint iSidTreeChangeIdle;
78 gint iPanelDefaultMenuIconSize;75 gint iPanelDefaultMenuIconSize;
79 76 // recent files sub-menu
80 GtkRecentManager *pRecentManager;77 GtkRecentManager *pRecentManager;
81 GtkWidget *pRecentMenuItem;78 GtkWidget *pRecentMenuItem;
82 GtkRecentFilter *pRecentFilter;79 GtkRecentFilter *pRecentFilter;
83 80 // quick-launcher
81 CairoDialog *pQuickLaunchDialog;
84 GHashTable *dir_hash;82 GHashTable *dir_hash;
85 GList *possible_executables;83 GList *possible_executables;
86 GList *completion_items;84 GList *completion_items;
8785
=== modified file 'Messaging-Menu/src/applet-menu.c'
--- Messaging-Menu/src/applet-menu.c 2012-04-16 16:47:20 +0000
+++ Messaging-Menu/src/applet-menu.c 2012-06-19 14:00:32 +0000
@@ -294,9 +294,6 @@
294#endif294#endif
295295
296 GtkMenuItem * gmi = GTK_MENU_ITEM(gtk_image_menu_item_new());296 GtkMenuItem * gmi = GTK_MENU_ITEM(gtk_image_menu_item_new());
297#if (GTK_MAJOR_VERSION > 2 || GTK_MINOR_VERSION >= 16)
298 gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM(gmi), TRUE);
299#endif
300297
301 gint padding = 4;298 gint padding = 4;
302 gtk_widget_style_get(GTK_WIDGET(gmi), "toggle-spacing", &padding, NULL);299 gtk_widget_style_get(GTK_WIDGET(gmi), "toggle-spacing", &padding, NULL);
303300
=== modified file 'Recent-Events/src/applet-notifications.c'
--- Recent-Events/src/applet-notifications.c 2012-03-21 11:26:14 +0000
+++ Recent-Events/src/applet-notifications.c 2012-06-19 14:00:32 +0000
@@ -107,6 +107,7 @@
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); // 24px109 gint iDesiredIconSize = cairo_dock_search_icon_size (GTK_ICON_SIZE_LARGE_TOOLBAR); // 24px
110 GHashTable *pHashTable = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, NULL); // used to prevent doubles
110 111
111 CD_APPLET_ADD_SEPARATOR_IN_MENU (s_pMenu);112 CD_APPLET_ADD_SEPARATOR_IN_MENU (s_pMenu);
112 113
@@ -119,12 +120,28 @@
119 {120 {
120 subject = zeitgeist_event_get_subject (event, i);121 subject = zeitgeist_event_get_subject (event, i);
121 cEventURI = zeitgeist_subject_get_uri (subject);122 cEventURI = zeitgeist_subject_get_uri (subject);
123 if (g_hash_table_lookup_extended (pHashTable, cEventURI, NULL, NULL))
124 continue;
122 cd_debug (" + %s", cEventURI);125 cd_debug (" + %s", cEventURI);
126
127
128 gchar *cPath = g_filename_from_uri (cEventURI, NULL, NULL);
129
130 // check it's a file and if yes, if it exists
131 if (strncmp (cEventURI, "file://", 7) == 0 && ! g_file_test (cPath, G_FILE_TEST_EXISTS))
132 {
133 /*
134 * If it doesn't exist, we don't add it in the menu
135 * (we can set the widget as insensitive but why?
136 * If we add it, it's just an useless entry)
137 */
138 g_free (cPath);
139 continue;
140 }
123 141
124 cairo_dock_fm_get_file_info (cEventURI, &cName, &cURI, &cIconName, &bIsDirectory, &iVolumeID, &fOrder, 0);142 cairo_dock_fm_get_file_info (cEventURI, &cName, &cURI, &cIconName, &bIsDirectory, &iVolumeID, &fOrder, 0);
125 143
126 gchar *cPath = g_filename_from_uri (cEventURI, NULL, NULL); // some programs dont support URI, so we feed them with path.144 cCommand = g_strdup_printf ("%s \"%s\"", pIcon->cCommand, cPath); // some programs don't support URI, so we feed them with path.
127 cCommand = g_strdup_printf ("%s \"%s\"", pIcon->cCommand, cPath);
128 g_free (cPath);145 g_free (cPath);
129 s_pEventList = g_list_prepend (s_pEventList, cCommand);146 s_pEventList = g_list_prepend (s_pEventList, cCommand);
130 147
@@ -137,8 +154,12 @@
137 cName = NULL;154 cName = NULL;
138 g_free (cURI);155 g_free (cURI);
139 cURI = NULL;156 cURI = NULL;
157
158 g_hash_table_insert (pHashTable, (gchar*)cEventURI, NULL); // cEventURI stays valid in this function.
140 }159 }
141 }160 }
161 g_hash_table_destroy (pHashTable);
162
142 if (pSubMenu)163 if (pSubMenu)
143 {164 {
144 gtk_widget_show_all (pSubMenu); // sinon des fois il n'apparait pas au 1er survol de son entree.165 gtk_widget_show_all (pSubMenu); // sinon des fois il n'apparait pas au 1er survol de son entree.
145166
=== modified file 'Remote-Control/src/applet-notifications.c'
--- Remote-Control/src/applet-notifications.c 2012-04-16 16:47:20 +0000
+++ Remote-Control/src/applet-notifications.c 2012-06-19 14:00:32 +0000
@@ -265,7 +265,6 @@
265 cairo_dock_stop_icon_animation (myData.pCurrentIcon); // car on va perdre le focus.265 cairo_dock_stop_icon_animation (myData.pCurrentIcon); // car on va perdre le focus.
266 myData.bIgnoreIconState = FALSE;266 myData.bIgnoreIconState = FALSE;
267 267
268 myData.pCurrentDock->bMenuVisible = TRUE;
269 GtkWidget *menu = cairo_dock_build_menu (myData.pCurrentIcon, CAIRO_CONTAINER (myData.pCurrentDock));268 GtkWidget *menu = cairo_dock_build_menu (myData.pCurrentIcon, CAIRO_CONTAINER (myData.pCurrentDock));
270 cairo_dock_popup_menu_on_icon (menu, myData.pCurrentIcon, CAIRO_CONTAINER (myData.pCurrentDock));269 cairo_dock_popup_menu_on_icon (menu, myData.pCurrentIcon, CAIRO_CONTAINER (myData.pCurrentDock));
271 }270 }
272271
=== modified file 'Status-Notifier/src/applet-item.c'
--- Status-Notifier/src/applet-item.c 2012-04-16 16:47:20 +0000
+++ Status-Notifier/src/applet-item.c 2012-06-19 14:00:32 +0000
@@ -357,6 +357,45 @@
357 return cIconPath;357 return cIconPath;
358}358}
359359
360static void _cd_cclosure_marshal_VOID__STRING_STRING (GClosure *closure,
361 GValue *return_value G_GNUC_UNUSED,
362 guint n_param_values,
363 const GValue *param_values,
364 gpointer invocation_hint G_GNUC_UNUSED,
365 gpointer marshal_data)
366{
367 typedef void (*GMarshalFunc_VOID__STRING_STRING) (
368 gpointer data1,
369 gchar *arg_1,
370 gchar *arg_2,
371 gpointer data2);
372 register GMarshalFunc_VOID__STRING_STRING callback;
373 register GCClosure *cc = (GCClosure*) closure;
374 register gpointer data1, data2;
375 g_return_if_fail (n_param_values == 3); // return_value est NULL ici, car la callback ne renvoit rien.
376
377 if (G_CCLOSURE_SWAP_DATA (closure))
378 {
379 data1 = closure->data;
380 data2 = g_value_peek_pointer (param_values + 0);
381 }
382 else
383 {
384 data1 = g_value_peek_pointer (param_values + 0);
385 data2 = closure->data;
386 }
387 callback = (GMarshalFunc_VOID__STRING_STRING) (marshal_data ? marshal_data : cc->callback);
388
389 g_return_if_fail (callback != NULL);
390 g_return_if_fail (G_VALUE_HOLDS_STRING (param_values + 1));
391 g_return_if_fail (G_VALUE_HOLDS_STRING (param_values + 2));
392
393 callback (data1,
394 (char*) g_value_get_string (param_values + 1),
395 (char*) g_value_get_string (param_values + 2),
396 data2);
397}
398
360CDStatusNotifierItem *cd_satus_notifier_create_item (const gchar *cService, const gchar *cObjectPath)399CDStatusNotifierItem *cd_satus_notifier_create_item (const gchar *cService, const gchar *cObjectPath)
361{400{
362 g_return_val_if_fail (cService != NULL, NULL);401 g_return_val_if_fail (cService != NULL, NULL);
@@ -598,6 +637,8 @@
598 G_CALLBACK(on_new_item_attention_icon), pItem, NULL);637 G_CALLBACK(on_new_item_attention_icon), pItem, NULL);
599 638
600 // signals supported by Ubuntu.639 // signals supported by Ubuntu.
640 dbus_g_object_register_marshaller(_cd_cclosure_marshal_VOID__STRING_STRING,
641 G_TYPE_NONE, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID);
601 dbus_g_proxy_add_signal(pProxyItem, "XAyatanaNewLabel",642 dbus_g_proxy_add_signal(pProxyItem, "XAyatanaNewLabel",
602 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID);643 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID);
603 dbus_g_proxy_connect_signal(pProxyItem, "XAyatanaNewLabel",644 dbus_g_proxy_connect_signal(pProxyItem, "XAyatanaNewLabel",
604645
=== modified file 'alsaMixer/data/AlsaMixer.conf.in'
--- alsaMixer/data/AlsaMixer.conf.in 2012-04-16 16:47:20 +0000
+++ alsaMixer/data/AlsaMixer.conf.in 2012-06-19 14:00:32 +0000
@@ -114,7 +114,7 @@
114#k Shortkey to show/hide the sound control dialog:114#k Shortkey to show/hide the sound control dialog:
115shortkey = <Control>F3115shortkey = <Control>F3
116116
117#i[1;20] Variation for 1 mouse scroll, in %:117#i[2;20] Variation for 1 mouse scroll, in %:
118scroll variation = 5118scroll variation = 5
119119
120#b Hide the scale when mouse leaves the desklet?120#b Hide the scale when mouse leaves the desklet?
@@ -145,7 +145,7 @@
145theme = Sound-Mono145theme = Sound-Mono
146146
147#l+[No;With dock orientation;Yes] Rotate applet theme :147#l+[No;With dock orientation;Yes] Rotate applet theme :
148rotate theme = No148rotate theme = 0
149149
150#v150#v
151sep_disp =151sep_disp =
152152
=== modified file 'alsaMixer/src/applet-notifications.c'
--- alsaMixer/src/applet-notifications.c 2012-03-21 11:26:14 +0000
+++ alsaMixer/src/applet-notifications.c 2012-06-19 14:00:32 +0000
@@ -27,11 +27,26 @@
27#include "applet-notifications.h"27#include "applet-notifications.h"
2828
29static const gchar *s_cMixerCmd = NULL;29static const gchar *s_cMixerCmd = NULL;
30static gboolean bMixerChecked = FALSE;
3031
31CD_APPLET_ON_CLICK_BEGIN32CD_APPLET_ON_CLICK_BEGIN
32 cd_show_hide ();33 cd_show_hide ();
33CD_APPLET_ON_CLICK_END34CD_APPLET_ON_CLICK_END
3435
36static void _check_mixer_cmd (void)
37{
38 gchar *cResult = cairo_dock_launch_command_sync ("which gnome-control-center"); // Gnome3
39 if (cResult != NULL && *cResult == '/')
40 s_cMixerCmd = "gnome-control-center sound";
41 else
42 {
43 g_free (cResult);
44 cResult = cairo_dock_launch_command_sync ("which gnome-volume-control"); // Gnome2
45 if (cResult != NULL && *cResult == '/') /// TODO: other DE...
46 s_cMixerCmd = "gnome-volume-control -p applications";
47 } /// TODO: handle other DE ...
48 g_free (cResult);
49}
3550
36static void _mixer_show_advanced_mixer (GtkMenuItem *menu_item, gpointer data)51static void _mixer_show_advanced_mixer (GtkMenuItem *menu_item, gpointer data)
37{52{
@@ -54,25 +69,12 @@
54 CD_APPLET_LEAVE();69 CD_APPLET_LEAVE();
55}70}
56CD_APPLET_ON_BUILD_MENU_BEGIN71CD_APPLET_ON_BUILD_MENU_BEGIN
57 static gboolean bMixerChecked = FALSE;
58 gchar *cLabel;72 gchar *cLabel;
59 73
60 if (!myConfig.cShowAdvancedMixerCommand && !bMixerChecked)74 if (!myConfig.cShowAdvancedMixerCommand && !bMixerChecked)
61 {75 {
62 bMixerChecked = TRUE;76 bMixerChecked = TRUE;
63 gchar *cResult = cairo_dock_launch_command_sync ("which gnome-control-center"); // Gnome377 _check_mixer_cmd ();
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 }78 }
77 79
78 if (myConfig.cShowAdvancedMixerCommand || s_cMixerCmd)80 if (myConfig.cShowAdvancedMixerCommand || s_cMixerCmd)
@@ -94,6 +96,11 @@
9496
9597
96CD_APPLET_ON_DOUBLE_CLICK_BEGIN98CD_APPLET_ON_DOUBLE_CLICK_BEGIN
99 if (!myConfig.cShowAdvancedMixerCommand && !bMixerChecked)
100 {
101 bMixerChecked = TRUE;
102 _check_mixer_cmd (); // looking for s_cMixerCmd
103 }
97 _mixer_show_advanced_mixer (NULL, NULL);104 _mixer_show_advanced_mixer (NULL, NULL);
98CD_APPLET_ON_DOUBLE_CLICK_END105CD_APPLET_ON_DOUBLE_CLICK_END
99106
100107
=== modified file 'clock/data/clock.conf.in'
--- clock/data/clock.conf.in 2012-03-21 11:26:14 +0000
+++ clock/data/clock.conf.in 2012-06-19 14:00:32 +0000
@@ -158,7 +158,14 @@
158font = Sans 16158font = Sans 16
159159
160#C+ Text colour:160#C+ Text colour:
161text color = 0.0; 0.0; 0.5; 1.161text color = 0.85; 0.85; 0.85; 1.
162
163#i+[0;10] Outline thickness:
164#{Set to 0 to not have it}
165outline width = 0
166
167#C+ Outline colour:
168outline color = 0.85; 0.85; 0.85; 1.
162169
163#l+[Automatic;On 1 line;On 2 lines] Layout of the text:170#l+[Automatic;On 1 line;On 2 lines] Layout of the text:
164text layout = 0171text layout = 0
165172
=== modified file 'clock/src/applet-config.c'
--- clock/src/applet-config.c 2012-03-21 11:26:14 +0000
+++ clock/src/applet-config.c 2012-06-19 14:00:32 +0000
@@ -66,15 +66,18 @@
66 myConfig.bOldStyle = (iStyle == 0);66 myConfig.bOldStyle = (iStyle == 0);
67 }67 }
68 68
69 double couleur[4] = {0., 0., 0.5, 1.};
70 if (myConfig.bOldStyle)69 if (myConfig.bOldStyle)
71 {70 {
71 double colour[4] = {0., 0., 0., 1.};
72 myConfig.cThemePath = CD_CONFIG_GET_THEME_PATH ("Configuration", "theme", "themes", "glassy");72 myConfig.cThemePath = CD_CONFIG_GET_THEME_PATH ("Configuration", "theme", "themes", "glassy");
73 CD_CONFIG_GET_COLOR_WITH_DEFAULT ("Configuration", "date color", myConfig.fDateColor, couleur);73 CD_CONFIG_GET_COLOR_WITH_DEFAULT ("Configuration", "date color", myConfig.fDateColor, colour);
74 }74 }
75 else75 else
76 {76 {
77 CD_CONFIG_GET_COLOR_WITH_DEFAULT ("Configuration", "text color", myConfig.fTextColor, couleur);77 double colour[4] = {0.85, 0.85, 0.85, 1.};
78 CD_CONFIG_GET_COLOR_WITH_DEFAULT ("Configuration", "text color", myConfig.fTextColor, colour);
79 CD_CONFIG_GET_COLOR_WITH_DEFAULT ("Configuration", "outline color", myConfig.fOutlineColor, colour);
80 myConfig.iOutlineWidth = CD_CONFIG_GET_INTEGER ("Configuration", "outline width");
78 81
79 gboolean bCustomFont = CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT ("Configuration", "custom font", FALSE); // false by default82 gboolean bCustomFont = CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT ("Configuration", "custom font", FALSE); // false by default
80 if (bCustomFont)83 if (bCustomFont)
8184
=== modified file 'clock/src/applet-draw.c'
--- clock/src/applet-draw.c 2012-04-16 16:47:20 +0000
+++ clock/src/applet-draw.c 2012-06-19 14:00:32 +0000
@@ -31,7 +31,22 @@
3131
32#define GAPX .1232#define GAPX .12
33#define GAPY .0233#define GAPY .02
34#define MAX_RATIO 2.34///#define MAX_RATIO 2.
35#define MIN_TEXT_HEIGHT 12. // the text should be at least 12 pixels height, or it would be hard to read for a lot of people.
36
37static void _outlined_pango_cairo (CairoDockModuleInstance *myApplet, PangoLayout *pLayout)
38{
39 cairo_save (myDrawContext);
40 cairo_set_source_rgba (myDrawContext,
41 myConfig.fOutlineColor[0],
42 myConfig.fOutlineColor[1],
43 myConfig.fOutlineColor[2],
44 myConfig.fOutlineColor[3]);
45 cairo_set_line_width (myDrawContext, myConfig.iOutlineWidth);
46 pango_cairo_layout_path (myDrawContext, pLayout);
47 cairo_stroke (myDrawContext);
48 cairo_restore (myDrawContext);
49}
3550
36void cd_clock_draw_text (CairoDockModuleInstance *myApplet, int iWidth, int iHeight, struct tm *pTime)51void cd_clock_draw_text (CairoDockModuleInstance *myApplet, int iWidth, int iHeight, struct tm *pTime)
37{52{
@@ -77,6 +92,11 @@
77 pango_layout_set_text (pLayout, s_cDateBuffer, -1);92 pango_layout_set_text (pLayout, s_cDateBuffer, -1);
78 PangoRectangle log;93 PangoRectangle log;
79 pango_layout_get_pixel_extents (pLayout, NULL, &log);94 pango_layout_get_pixel_extents (pLayout, NULL, &log);
95 if (myConfig.iOutlineWidth)
96 {
97 log.width += myConfig.iOutlineWidth / 2;
98 log.height += myConfig.iOutlineWidth / 2;
99 }
80 100
81 //\______________ On dessine le texte.101 //\______________ On dessine le texte.
82 cairo_save (myDrawContext);102 cairo_save (myDrawContext);
@@ -89,6 +109,11 @@
89 pango_layout_set_text (pLayout2, s_cDateBuffer, -1);109 pango_layout_set_text (pLayout2, s_cDateBuffer, -1);
90 PangoRectangle log2;110 PangoRectangle log2;
91 pango_layout_get_pixel_extents (pLayout2, NULL, &log2);111 pango_layout_get_pixel_extents (pLayout2, NULL, &log2);
112 if (myConfig.iOutlineWidth)
113 {
114 log2.width += myConfig.iOutlineWidth / 2;
115 log2.height += myConfig.iOutlineWidth / 2;
116 }
92 117
93 double h=0, w=0, fZoomX=0, fZoomY=0; // parametres d'affichage 2 lignes118 double h=0, w=0, fZoomX=0, fZoomY=0; // parametres d'affichage 2 lignes
94 double h_=0, w_=0, fZoomX_=0, fZoomY_=0; // parametres d'affichage 1 ligne119 double h_=0, w_=0, fZoomX_=0, fZoomY_=0; // parametres d'affichage 1 ligne
@@ -103,9 +128,11 @@
103 128
104 if (myConfig.fTextRatio < 1)129 if (myConfig.fTextRatio < 1)
105 fZoomY *= myConfig.fTextRatio;*/130 fZoomY *= myConfig.fTextRatio;*/
106 // keep the ratio of the text131 // keep the ratio of the text, until 12px height.
107 fZoomX = MIN (fZoomX, fZoomY) * myConfig.fTextRatio;132 fZoomX = MIN (fZoomX, fZoomY) * myConfig.fTextRatio;
108 fZoomY = fZoomX;133 fZoomY = fZoomX;
134 if (fZoomY * h < MIN_TEXT_HEIGHT)
135 fZoomY = MIN_TEXT_HEIGHT / h;
109 }136 }
110 if (myData.iTextLayout == CD_TEXT_LAYOUT_1_LINE || myData.iTextLayout == CD_TEXT_LAYOUT_AUTO)137 if (myData.iTextLayout == CD_TEXT_LAYOUT_1_LINE || myData.iTextLayout == CD_TEXT_LAYOUT_AUTO)
111 {138 {
@@ -124,9 +151,11 @@
124 double fMaxScale = cairo_dock_get_icon_max_scale (myIcon);151 double fMaxScale = cairo_dock_get_icon_max_scale (myIcon);
125 fZoomY_ = MAX (fZoomX_, 16. * fMaxScale / h_); // en mode horizontal, on n'a pas besoin que le texte remplisse toute la hauteur de l'icone. 16 pixels de haut sont suffisant pour etre lisible.152 fZoomY_ = MAX (fZoomX_, 16. * fMaxScale / h_); // en mode horizontal, on n'a pas besoin que le texte remplisse toute la hauteur de l'icone. 16 pixels de haut sont suffisant pour etre lisible.
126 }*/153 }*/
127 // keep the ratio of the text154 // keep the ratio of the text, until 12px height.
128 fZoomX_ = MIN (fZoomX_, fZoomY_) * myConfig.fTextRatio;155 fZoomX_ = MIN (fZoomX_, fZoomY_) * myConfig.fTextRatio;
129 fZoomY_ = fZoomX_;156 fZoomY_ = fZoomX_;
157 if (fZoomY_ * h_ < MIN_TEXT_HEIGHT)
158 fZoomY_ = MIN_TEXT_HEIGHT / h_;
130 }159 }
131 160
132 if (myData.iTextLayout == CD_TEXT_LAYOUT_AUTO) // si l'orientation n'est pas encore definie, on la definit de facon a ne pas changer (si on est tres proche de la limite, la taille du texte pourrait changer suffisamment pour nous faire passer d'une orientation a l'autre.161 if (myData.iTextLayout == CD_TEXT_LAYOUT_AUTO) // si l'orientation n'est pas encore definie, on la definit de facon a ne pas changer (si on est tres proche de la limite, la taille du texte pourrait changer suffisamment pour nous faire passer d'une orientation a l'autre.
@@ -139,10 +168,12 @@
139 myData.iTextLayout = CD_TEXT_LAYOUT_1_LINE;168 myData.iTextLayout = CD_TEXT_LAYOUT_1_LINE;
140 }169 }
141 170
142 if (myData.iTextLayout == CD_TEXT_LAYOUT_1_LINE) // mode 1 ligne171 if (myData.iTextLayout == CD_TEXT_LAYOUT_1_LINE) // mode 1 line
143 {172 {
144 cairo_translate (myDrawContext, (iWidth - fZoomX_ * w_) / 2, (iHeight - fZoomY_ * h_)/2); // text will be centred.173 cairo_translate (myDrawContext, (iWidth - fZoomX_ * w_) / 2, (iHeight - fZoomY_ * h_)/2); // text will be centred.
145 cairo_scale (myDrawContext, fZoomX_, fZoomY_);174 cairo_scale (myDrawContext, fZoomX_, fZoomY_);
175 if (myConfig.iOutlineWidth)
176 _outlined_pango_cairo (myApplet, pLayout2);
146 pango_cairo_show_layout (myDrawContext, pLayout2);177 pango_cairo_show_layout (myDrawContext, pLayout2);
147 178
148 cairo_restore (myDrawContext);179 cairo_restore (myDrawContext);
@@ -150,12 +181,16 @@
150 181
151 cairo_translate (myDrawContext, (iWidth + fZoomX_ * w_) / 2 - fZoomX_ * log.width, (iHeight - fZoomY_ * h_)/2);182 cairo_translate (myDrawContext, (iWidth + fZoomX_ * w_) / 2 - fZoomX_ * log.width, (iHeight - fZoomY_ * h_)/2);
152 cairo_scale (myDrawContext, fZoomX_, fZoomY_);183 cairo_scale (myDrawContext, fZoomX_, fZoomY_);
184 if (myConfig.iOutlineWidth)
185 _outlined_pango_cairo (myApplet, pLayout);
153 pango_cairo_show_layout (myDrawContext, pLayout);186 pango_cairo_show_layout (myDrawContext, pLayout);
154 }187 }
155 else // mode 2 lignes188 else // mode 2 lines
156 {189 {
157 cairo_translate (myDrawContext, (iWidth - fZoomX * log.width) / 2, (iHeight - fZoomY * h)/2); // text will be centred.190 cairo_translate (myDrawContext, (iWidth - fZoomX * log.width) / 2, (iHeight - fZoomY * h)/2); // text will be centred.
158 cairo_scale (myDrawContext, fZoomX, fZoomY);191 cairo_scale (myDrawContext, fZoomX, fZoomY);
192 if (myConfig.iOutlineWidth)
193 _outlined_pango_cairo (myApplet, pLayout);
159 pango_cairo_show_layout (myDrawContext, pLayout);194 pango_cairo_show_layout (myDrawContext, pLayout);
160 195
161 cairo_restore (myDrawContext);196 cairo_restore (myDrawContext);
@@ -163,6 +198,8 @@
163 198
164 cairo_translate (myDrawContext, (iWidth - fZoomX * log2.width) / 2, (iHeight + fZoomY * GAPY)/2);199 cairo_translate (myDrawContext, (iWidth - fZoomX * log2.width) / 2, (iHeight + fZoomY * GAPY)/2);
165 cairo_scale (myDrawContext, fZoomX, fZoomY);200 cairo_scale (myDrawContext, fZoomX, fZoomY);
201 if (myConfig.iOutlineWidth)
202 _outlined_pango_cairo (myApplet, pLayout2);
166 pango_cairo_show_layout (myDrawContext, pLayout2);203 pango_cairo_show_layout (myDrawContext, pLayout2);
167 }204 }
168 g_object_unref (pLayout2);205 g_object_unref (pLayout2);
@@ -176,14 +213,18 @@
176 213
177 if (myConfig.fTextRatio < 1)214 if (myConfig.fTextRatio < 1)
178 fZoomY *= myConfig.fTextRatio;*/215 fZoomY *= myConfig.fTextRatio;*/
179 // keep the ratio of the text216 // keep the ratio of the text, until 12px height.
180 fZoomX = MIN (fZoomX, fZoomY) * myConfig.fTextRatio;217 fZoomX = MIN (fZoomX, fZoomY) * myConfig.fTextRatio;
181 fZoomY = fZoomX;218 fZoomY = fZoomX;
219 if (fZoomY * log.height < MIN_TEXT_HEIGHT)
220 fZoomY = MIN_TEXT_HEIGHT / log.height;
182 221
183 cairo_translate (myDrawContext,222 cairo_translate (myDrawContext,
184 (iWidth - fZoomX * log.width)/2,223 (iWidth - fZoomX * log.width)/2,
185 (iHeight - fZoomY * log.height)/2); // text will be centred.224 (iHeight - fZoomY * log.height)/2); // text will be centred.
186 cairo_scale (myDrawContext, fZoomX, fZoomY);225 cairo_scale (myDrawContext, fZoomX, fZoomY);
226 if (myConfig.iOutlineWidth)
227 _outlined_pango_cairo (myApplet, pLayout);
187 pango_cairo_show_layout (myDrawContext, pLayout);228 pango_cairo_show_layout (myDrawContext, pLayout);
188 }229 }
189 cairo_restore (myDrawContext);230 cairo_restore (myDrawContext);
190231
=== modified file 'clock/src/applet-struct.h'
--- clock/src/applet-struct.h 2012-04-16 16:47:20 +0000
+++ clock/src/applet-struct.h 2012-06-19 14:00:32 +0000
@@ -147,6 +147,8 @@
147 gboolean b24Mode;147 gboolean b24Mode;
148 CDClockTextLayout iPreferedTextLayout;148 CDClockTextLayout iPreferedTextLayout;
149 double fTextColor[4];149 double fTextColor[4];
150 double fOutlineColor[4];
151 gint iOutlineWidth;
150 double fDateColor[4];152 double fDateColor[4];
151 gchar *cThemePath;153 gchar *cThemePath;
152 gchar *cNumericBackgroundImage;154 gchar *cNumericBackgroundImage;
153155
=== modified file 'clock/src/applet-timer.c'
--- clock/src/applet-timer.c 2012-03-21 11:26:14 +0000
+++ clock/src/applet-timer.c 2012-06-19 14:00:32 +0000
@@ -277,8 +277,6 @@
277 fScale,277 fScale,
278 iWidth,278 iWidth,
279 &myData.iDateWidth, &myData.iDateHeight);279 &myData.iDateWidth, &myData.iDateHeight);
280 myData.iDateWidth *= fScale;
281 myData.iDateHeight *= fScale;
282 //g_print ("date : %dx%d\n", myData.iDateWidth, myData.iDateHeight);280 //g_print ("date : %dx%d\n", myData.iDateWidth, myData.iDateHeight);
283 myData.iDateTexture = cairo_dock_create_texture_from_surface (pDateSurface);281 myData.iDateTexture = cairo_dock_create_texture_from_surface (pDateSurface);
284 cairo_surface_destroy (pDateSurface);282 cairo_surface_destroy (pDateSurface);
285283
=== modified file 'debian/changelog'
--- debian/changelog 2012-04-19 00:46:48 +0000
+++ debian/changelog 2012-06-19 14:00:32 +0000
@@ -1,3 +1,63 @@
1cairo-dock-plug-ins (3.0.2-0ubuntu1) UNRELEASED; urgency=low
2
3 * New upstream bug-fix release. (LP: #1014804)
4 * Upstream ChangeLog (3.0.0 -> 3.0.1):
5 - Gnome-integration: fixed the time&date command
6 - KDE integration: fixed the time&date command
7 - Updated previews of dustbin and logout with the new version
8 - Updated the version of applets that can be always visible
9 (for the new parameters)
10 - Clock: numeric view: increased the size of the rectangle if an
11 outline is used and modified the default colour
12 - Clock: Now with the possibility to have an outline with the digital view
13 to see when we don't use any background
14 - Used the core option to not force the display of icons in menus
15 - Minor fixes in Sound Control's .conf file
16 - MusicPlayer: mpris2: metadata: trackid attribute should be of D-Bus
17 type 'o'
18 - Switcher: fixed a possible crash (division by 0) if the X manager
19 couldn't get info from X + removed bMenuVisible
20 - Clock: analogic mode: fixed a bug where the date was not displayed
21 correctly (with opengl)
22 - Clock: numeric mode: set a minimum size for the text: we keep the
23 ratio until 12px (under 12px, it's hard to read)
24 - Logout: added a fallback method to get the users list if the accounts
25 daemon service is not running
26 - CMakeLists.txt: fixed a CMake warning (or error?)
27 * Upstream ChangeLog (3.0.1 -> 3.0.2):
28 - AlsaMixer: Fix: double-clicking did nothing if we didn't open the menu
29 of the applet
30 - DND2Share: Pastebin: Their public API is no longer available -> ported
31 to the new API
32 - GMenu: Fixed a bug that made sub-menus be too small,
33 and therefore have to be scrolled + code cleaning
34 - Logout: When the menu is reversed (top dock), select the last item so
35 that it's the same as the normal menu (ie, the 'shutdown' item)
36 - MusicPlayer: Prevented a warning message: when changing song, we don't
37 receive this value: Position (no need to display a warning each time)
38 - MusicPlayer: Allow recently played files in the menu (Recent-Files)
39 - MusicPlayer: Fixed a bug that prevented the player from being launched
40 the 2nd time in some cases
41 - MusicPlayer: Added raise and quit methods in the menu when the player is
42 in the systray (without that it's hard to display the window
43 - MusicPlayer: Used toggle buttons for Shuffle and Repeat properties
44 - Recent-Events: If the file doesn't exist, don't display it in the
45 'Recent Files' menu
46 - Recent-Events: Prevent doubles in the menu list
47 - Po: Updated translations (added Croatian)
48 - Shortcuts: Fixed a small bug with bookmarks (extra new lines were
49 disrupting Thunar)
50 - Status-Notifier: Added the marshaller for the XAyatanaNewLabel signal
51 - Systray (old): Force the icons size to 24px, to avoid buggy programs to
52 display their icon with a wrong size
53 - Third-party applets: Reposition their right-click menu, so that it's the
54 same as a normal menu (on top of the icon and no scroll needed)
55 * debian/control:
56 - Bumped libgldi-dev version to avoid compilation error
57 (cmake check if libgldi has the same version than this package)
58
59 -- Matthieu Baerts (matttbe) <matttbe@gmail.com> Mon, 18 Jun 2012 20:03:47 +0200
60
1cairo-dock-plug-ins (3.0.0.1-0ubuntu2) precise; urgency=low61cairo-dock-plug-ins (3.0.0.1-0ubuntu2) precise; urgency=low
262
3 * debian/control:63 * debian/control:
464
=== modified file 'debian/control'
--- debian/control 2012-04-18 20:16:59 +0000
+++ debian/control 2012-06-19 14:00:32 +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.1),20 libgldi-dev (>= 3.0.2),
21 libasound2-dev,21 libasound2-dev,
22 libvte-2.90-dev,22 libvte-2.90-dev,
23 x11proto-xf86vidmode-dev,23 x11proto-xf86vidmode-dev,
2424
=== modified file 'dnd2share/src/applet-backend-pastebin.c'
--- dnd2share/src/applet-backend-pastebin.c 2011-04-20 20:46:51 +0000
+++ dnd2share/src/applet-backend-pastebin.c 2012-06-19 14:00:32 +0000
@@ -28,9 +28,11 @@
28#include "applet-dnd2share.h"28#include "applet-dnd2share.h"
29#include "applet-backend-pastebin.h"29#include "applet-backend-pastebin.h"
3030
31#define URL "http://pastebin.com/api_public.php"31#define URL "http://pastebin.com/api/api_post.php"
32#define FORMAT "text"32#define FORMAT "text"
33#define EXPIRE "1M"33#define EXPIRE "1M"
34#define DEV_KEY "4dacb211338b25bfad20bc6d4358e555"
35#define OPTION "paste"
3436
35#define NB_URLS 137#define NB_URLS 1
36static const gchar *s_UrlLabels[NB_URLS] = {"DirectLink"};38static const gchar *s_UrlLabels[NB_URLS] = {"DirectLink"};
@@ -39,10 +41,16 @@
39static void upload (const gchar *cText, gchar *cDropboxDir, gboolean bAnonymous, gint iLimitRate, gchar **cResultUrls)41static void upload (const gchar *cText, gchar *cDropboxDir, gboolean bAnonymous, gint iLimitRate, gchar **cResultUrls)
40{42{
41 GError *erreur = NULL;43 GError *erreur = NULL;
44 // http://pastebin.com/api
42 gchar *cResult = cairo_dock_get_url_data_with_post (URL, FALSE, &erreur,45 gchar *cResult = cairo_dock_get_url_data_with_post (URL, FALSE, &erreur,
43 "paste_code", cText,46 "api_option", OPTION,
44 "paste_expire_date", EXPIRE,47 "api_user_key", "", // guest
45 "paste_format", FORMAT,48 "api_paste_private", bAnonymous ? "1" : "0", // unlisted or public
49 "api_paste_name", bAnonymous ? "" : g_getenv ("USER"),
50 "api_paste_expire_date", EXPIRE,
51 "api_paste_format", FORMAT, // auto?
52 "api_dev_key", DEV_KEY,
53 "api_paste_code", cText,
46 NULL);54 NULL);
47 if (erreur)55 if (erreur)
48 {56 {
4957
=== modified file 'dustbin/data/preview.jpg'
50Binary files dustbin/data/preview.jpg 2010-04-20 01:52:21 +0000 and dustbin/data/preview.jpg 2012-06-19 14:00:32 +0000 differ58Binary files dustbin/data/preview.jpg 2010-04-20 01:52:21 +0000 and dustbin/data/preview.jpg 2012-06-19 14:00:32 +0000 differ
=== modified file 'gnome-integration/src/applet-utils.c'
--- gnome-integration/src/applet-utils.c 2012-03-21 11:26:14 +0000
+++ gnome-integration/src/applet-utils.c 2012-06-19 14:00:32 +0000
@@ -52,8 +52,29 @@
5252
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 static gboolean bChecked = FALSE;
56 /// TODO: use gnome-control-center ...56 static const gchar *cCmd = NULL;
57 if (!bChecked)
58 {
59 bChecked = TRUE;
60 gchar *cResult = cairo_dock_launch_command_sync ("which gnome-control-center"); // Gnome3
61 if (cResult != NULL && *cResult == '/')
62 {
63 cCmd = "gnome-control-center datetime";
64 }
65 else
66 {
67 g_free (cResult);
68 cResult = cairo_dock_launch_command_sync ("which time-admin"); // Gnome2
69 if (cResult != NULL && *cResult == '/')
70 cCmd = "time-admin"; // it uses PolicyKit => no gksudo.
71 }
72 g_free (cResult);
73 }
74 if (cCmd)
75 cairo_dock_launch_command (cCmd);
76 else
77 cd_warning ("couldn't guess what program to use to setup the time and date.");
57}78}
5879
59void env_backend_show_system_monitor (void)80void env_backend_show_system_monitor (void)
6081
=== modified file 'kde-integration/src/applet-utils.c'
--- kde-integration/src/applet-utils.c 2012-02-16 01:45:57 +0000
+++ kde-integration/src/applet-utils.c 2012-06-19 14:00:32 +0000
@@ -63,7 +63,7 @@
6363
64void env_backend_setup_time (void)64void env_backend_setup_time (void)
65{65{
66 cairo_dock_launch_command ("kcmshell kde-clock.desktop"); /// kdesu avant ?...66 cairo_dock_launch_command ("kcmshell4 clock"); // from KDE4
67}67}
6868
69void env_backend_show_system_monitor (void)69void env_backend_show_system_monitor (void)
7070
=== modified file 'logout/data/CMakeLists.txt'
--- logout/data/CMakeLists.txt 2011-08-09 18:08:08 +0000
+++ logout/data/CMakeLists.txt 2012-06-19 14:00:32 +0000
@@ -11,6 +11,7 @@
11 system-restart.svg11 system-restart.svg
12 system-shutdown.svg12 system-shutdown.svg
13 system-suspend.svg13 system-suspend.svg
14 preview.jpg
14 DESTINATION ${logoutdatadir})15 DESTINATION ${logoutdatadir})
1516
16install(FILES logout.sh17install(FILES logout.sh
1718
=== added file 'logout/data/preview.jpg'
18Binary files logout/data/preview.jpg 1970-01-01 00:00:00 +0000 and logout/data/preview.jpg 2012-06-19 14:00:32 +0000 differ19Binary files logout/data/preview.jpg 1970-01-01 00:00:00 +0000 and logout/data/preview.jpg 2012-06-19 14:00:32 +0000 differ
=== modified file 'logout/src/CMakeLists.txt'
--- logout/src/CMakeLists.txt 2011-08-09 18:08:08 +0000
+++ logout/src/CMakeLists.txt 2012-06-19 14:00:32 +0000
@@ -13,7 +13,7 @@
1313
14########### compil ###############14########### compil ###############
15add_definitions (-DMY_APPLET_SHARE_DATA_DIR="${logoutdatadir}")15add_definitions (-DMY_APPLET_SHARE_DATA_DIR="${logoutdatadir}")
16add_definitions (-DMY_APPLET_PREVIEW_FILE="icon.svg")16add_definitions (-DMY_APPLET_PREVIEW_FILE="preview.jpg")
17add_definitions (-DMY_APPLET_CONF_FILE="logout.conf")17add_definitions (-DMY_APPLET_CONF_FILE="logout.conf")
18add_definitions (-DMY_APPLET_USER_DATA_DIR="logout")18add_definitions (-DMY_APPLET_USER_DATA_DIR="logout")
19add_definitions (-DMY_APPLET_VERSION="${VERSION_LOGOUT}")19add_definitions (-DMY_APPLET_VERSION="${VERSION_LOGOUT}")
2020
=== modified file 'logout/src/applet-logout.c'
--- logout/src/applet-logout.c 2012-03-21 11:26:14 +0000
+++ logout/src/applet-logout.c 2012-06-19 14:00:32 +0000
@@ -275,15 +275,17 @@
275 g_free (cImagePath);275 g_free (cImagePath);
276 }276 }
277277
278 if ((myDock && myDock->container.bIsHorizontal && ! myDock->container.bDirectionUp) // on the top, we inverse the menu278 if ((myDock && myDock->container.bIsHorizontal && ! myDock->container.bDirectionUp) // on the top, we inverse the menu (mainly to be close to what others do).
279 || (myDesklet && myDesklet->container.iWindowPositionY < (g_desktopGeometry.iXScreenHeight[CAIRO_DOCK_HORIZONTAL] / 2)))279 || (myDesklet && myDesklet->container.iWindowPositionY < (g_desktopGeometry.iXScreenHeight[CAIRO_DOCK_HORIZONTAL] / 2)))
280 {280 {
281 GList *children = gtk_container_get_children (GTK_CONTAINER (pMenu));
281 GList *pMenuList;282 GList *pMenuList;
282 for (pMenuList = gtk_container_get_children (GTK_CONTAINER (pMenu)); pMenuList != NULL; pMenuList = pMenuList->next)283 for (pMenuList = children; pMenuList != NULL; pMenuList = pMenuList->next)
283 {284 {
284 pMenuItem = pMenuList->data;285 pMenuItem = pMenuList->data;
285 gtk_menu_reorder_child (GTK_MENU (pMenu), pMenuItem, 0);286 gtk_menu_reorder_child (GTK_MENU (pMenu), pMenuItem, 0);
286 }287 }
288 g_list_free (children);
287 }289 }
288290
289 return pMenu;291 return pMenu;
@@ -291,9 +293,24 @@
291293
292static void _display_menu (void)294static void _display_menu (void)
293{295{
296 // build and show the menu
294 GtkWidget *pMenu = _build_menu ();297 GtkWidget *pMenu = _build_menu ();
295 CD_APPLET_POPUP_MENU_ON_MY_ICON (pMenu);298 CD_APPLET_POPUP_MENU_ON_MY_ICON (pMenu);
296 gtk_menu_shell_select_first (GTK_MENU_SHELL (pMenu), FALSE); // must be done here, after the menu has been realized.299
300 // select the first (or last) item, which corresponds to the 'shutdown' action.
301 if ((myDock && myDock->container.bIsHorizontal && ! myDock->container.bDirectionUp) // on the top, we inverse the menu
302 || (myDesklet && myDesklet->container.iWindowPositionY < (g_desktopGeometry.iXScreenHeight[CAIRO_DOCK_HORIZONTAL] / 2)))
303 {
304 GList *children = gtk_container_get_children (GTK_CONTAINER (pMenu));
305 GList *last_child = g_list_last (children);
306 if (last_child)
307 gtk_menu_shell_select_item (GTK_MENU_SHELL (pMenu), last_child->data);
308 g_list_free (children);
309 }
310 else
311 {
312 gtk_menu_shell_select_first (GTK_MENU_SHELL (pMenu), FALSE); // must be done here, after the menu has been realized.
313 }
297}314}
298315
299316
@@ -716,6 +733,51 @@
716{733{
717 return strcmp (pUser1->cUserName, pUser2->cUserName);734 return strcmp (pUser1->cUserName, pUser2->cUserName);
718}735}
736static GList* _get_users_list_fallback (void)
737{
738 // read from /etc/passwd
739 gchar *cContent=NULL;
740 gsize length = 0;
741 g_file_get_contents ("/etc/passwd",
742 &cContent,
743 &length,
744 NULL);
745 g_return_val_if_fail (cContent != NULL, NULL);
746
747 // parse eash user
748 gchar **cUsers = g_strsplit (cContent, "\n", 0);
749 GList *pUserList = NULL;
750 gchar **cUserProps;
751 CDUser *pUser;
752 char *str;
753 int uid, gid;
754 int i;
755 for (i = 0; cUsers[i] != NULL; i ++)
756 {
757 cUserProps = g_strsplit (cUsers[i], ":", 0);
758 // add the user if it fits
759 if (cUserProps && cUserProps[0] && cUserProps[1] && cUserProps[2] && cUserProps[3]
760 && atoi (cUserProps[2]) >= 1000 // heuristic: first user has an udi of 1000, and other users an uid >= 1000
761 && strcmp (cUserProps[0], "nobody") != 0) // remove the 'nobody' user (uid=65534)
762 {
763 pUser = g_new0 (CDUser, 1);
764 pUser->cUserName = g_strdup (cUserProps[0]);
765 pUser->cIconFile = NULL;
766 pUser->cRealName = g_strdup (cUserProps[4]);
767 if (pUser->cRealName)
768 {
769 str = strchr (pUser->cRealName, ',');
770 if (str) // remove the comments, separated by ','
771 *str = '\0';
772 }
773 pUserList = g_list_insert_sorted (pUserList, pUser, (GCompareFunc)_compare_user_name);
774 }
775 }
776
777 free (cContent);
778 g_strfreev (cUsers);
779 return pUserList;
780}
719GList *cd_logout_get_users_list (void)781GList *cd_logout_get_users_list (void)
720{782{
721 // get the list of users783 // get the list of users
@@ -733,12 +795,12 @@
733 795
734 if (error)796 if (error)
735 {797 {
736 cd_warning ("Accounts error: %s", error->message);798 cd_warning ("Couldn't get info on the bus from org.freedesktop.Accounts (%s)\n-> Using a fallback method.", error->message);
737 g_error_free (error);799 g_error_free (error);
738 return NULL;800 return _get_users_list_fallback ();
739 }801 }
740 if (users == NULL)802 if (users == NULL)
741 return NULL;803 return _get_users_list_fallback ();
742 804
743 // foreach user, get its properties (name & icon).805 // foreach user, get its properties (name & icon).
744 CDUser *pUser;806 CDUser *pUser;
745807
=== modified file 'musicPlayer/src/applet-init.c'
--- musicPlayer/src/applet-init.c 2012-02-16 01:45:57 +0000
+++ musicPlayer/src/applet-init.c 2012-06-19 14:00:32 +0000
@@ -153,6 +153,17 @@
153 // stop the current handler.153 // stop the current handler.
154 cd_musicplayer_stop_current_handler (TRUE);154 cd_musicplayer_stop_current_handler (TRUE);
155 155
156 MusicPlayerHandler *pHandler = cd_musicplayer_get_handler_by_name ("Mpris2"); // Mpris2 handler has dynamic fields, free them.
157 g_free ((gchar*)pHandler->launch);
158 pHandler->launch = NULL;
159 g_free ((gchar*)pHandler->appclass);
160 pHandler->appclass = NULL;
161 g_free ((gchar*)pHandler->cDisplayedName);
162 pHandler->cDisplayedName = NULL;
163 g_free ((gchar*)pHandler->cMprisService);
164 pHandler->cMprisService = NULL;
165
166
156 // On stoppe les boucles de recup de la pochette.167 // On stoppe les boucles de recup de la pochette.
157 if (myData.iSidCheckCover != 0)168 if (myData.iSidCheckCover != 0)
158 g_source_remove (myData.iSidCheckCover);169 g_source_remove (myData.iSidCheckCover);
159170
=== modified file 'musicPlayer/src/applet-mpris2.c'
--- musicPlayer/src/applet-mpris2.c 2012-02-16 01:45:57 +0000
+++ musicPlayer/src/applet-mpris2.c 2012-06-19 14:00:32 +0000
@@ -34,6 +34,8 @@
34static DBusGProxyCall *s_pGetStatusCall = NULL;34static DBusGProxyCall *s_pGetStatusCall = NULL;
3535
36static void cd_mpris2_getSongInfos_async (void);36static void cd_mpris2_getSongInfos_async (void);
37static gboolean cd_mpris2_is_loop (void);
38static gboolean cd_mpris2_is_shuffle (void);
3739
38/*40/*
39Interface MediaPlayer241Interface MediaPlayer2
@@ -97,6 +99,74 @@
97 /////////////////////////////////99 /////////////////////////////////
98 // Les Fonctions propres a MP. //100 // Les Fonctions propres a MP. //
99/////////////////////////////////101/////////////////////////////////
102static gboolean s_bIsLoop = FALSE;
103static gboolean s_bGotLoopStatus = FALSE;
104static gboolean s_bIsShuffle = FALSE;
105static gboolean s_bGotShuffleStatus = FALSE;
106static gboolean s_bCanRaise = FALSE;
107static gboolean s_bGotCanRaise = FALSE;
108static gboolean s_bCanQuit = FALSE;
109static gboolean s_bGotCanQuit = FALSE;
110
111static gboolean get_loop_status (void)
112{
113 if (! s_bGotLoopStatus)
114 {
115 s_bIsLoop = cd_mpris2_is_loop ();
116 s_bGotLoopStatus = TRUE;
117 }
118 return s_bIsLoop;
119}
120
121static gboolean get_shuffle_status (void)
122{
123 if (! s_bGotShuffleStatus)
124 {
125 s_bIsShuffle = cd_mpris2_is_shuffle ();
126 s_bGotShuffleStatus = TRUE;
127 }
128 return s_bIsShuffle;
129}
130
131static gboolean _raise (void)
132{
133 if (! s_bGotCanRaise)
134 {
135 s_bCanRaise = cairo_dock_dbus_get_property_as_boolean (myData.dbus_proxy_shell, "org.mpris.MediaPlayer2", "CanRaise");
136 cd_debug ("s_bCanRaise : %d", s_bCanRaise);
137 s_bGotCanRaise = TRUE;
138 }
139
140 if (s_bCanRaise)
141 {
142 cairo_dock_dbus_call (myData.dbus_proxy_shell, "Raise");
143 return TRUE;
144 }
145 else
146 {
147 return FALSE;
148 }
149}
150
151static gboolean _quit (void)
152{
153 if (! s_bGotCanQuit)
154 {
155 s_bCanQuit = cairo_dock_dbus_get_property_as_boolean (myData.dbus_proxy_shell, "org.mpris.MediaPlayer2", "CanQuit");
156 cd_debug ("s_bCanQuit : %d", s_bCanQuit);
157 s_bGotCanQuit = TRUE;
158 }
159
160 if (s_bCanQuit)
161 {
162 cairo_dock_dbus_call (myData.dbus_proxy_shell, "Quit");
163 return TRUE;
164 }
165 else
166 {
167 return FALSE;
168 }
169}
100170
101static MyPlayerStatus _extract_status (const gchar *cStatus)171static MyPlayerStatus _extract_status (const gchar *cStatus)
102{172{
@@ -183,9 +253,14 @@
183 {253 {
184 myData.iCurrentTime = g_value_get_uint64 (&v) / 1e6;254 myData.iCurrentTime = g_value_get_uint64 (&v) / 1e6;
185 }255 }
256 else if (G_VALUE_HOLDS_STRING (&v)) // this is bad ! (gmusicbrowser v1.1.7)
257 {
258 myData.iCurrentTime = atoi (g_value_get_string (&v)) / 1e6;
259 }
186 else260 else
187 {261 {
188 cd_warning ("wrong type for the 'Position' property, please report this bug to the %s team", myData.pCurrentHandler->appclass);262 if (G_IS_VALUE(&v)) // when changing song, we don't receive this value => no need to display a warning message each time
263 cd_warning ("wrong type for the 'Position' property, please report this bug to the %s team", myData.pCurrentHandler->appclass);
189 myData.iCurrentTime = -1;264 myData.iCurrentTime = -1;
190 }265 }
191}266}
@@ -200,22 +275,31 @@
200 return cairo_dock_dbus_get_property_as_double (myData.dbus_proxy_player, "org.mpris.MediaPlayer2.Player", "Volume");275 return cairo_dock_dbus_get_property_as_double (myData.dbus_proxy_player, "org.mpris.MediaPlayer2.Player", "Volume");
201}276}
202277
278static gboolean _is_a_new_track (const gchar *cTrackID)
279{
280 if (cairo_dock_strings_differ (myData.cTrackID, cTrackID)) // track has changed.
281 {
282 g_free (myData.cTrackID);
283 myData.cTrackID = g_strdup (cTrackID);
284 return TRUE;
285 }
286 return FALSE;
287}
288
203static gboolean _extract_metadata (GHashTable *pMetadata)289static gboolean _extract_metadata (GHashTable *pMetadata)
204{290{
205 gboolean bTrackHasChanged = FALSE;291 gboolean bTrackHasChanged = FALSE;
206 GValue *v;292 GValue *v;
207 const gchar *str;293 const gchar *str = NULL;
208 294
209 v = g_hash_table_lookup (pMetadata, "mpris:trackid"); // a string that uniquely identifies the track within the scope of the playlist295 v = g_hash_table_lookup (pMetadata, "mpris:trackid"); // a string or a dbus object path that uniquely identifies the track within the scope of the playlist
210 if (v != NULL && G_VALUE_HOLDS_STRING (v))296 if (v != NULL)
211 {297 {
212 const gchar *cTrackID = g_value_get_string (v);298 if (G_VALUE_HOLDS (v, DBUS_TYPE_G_OBJECT_PATH)) // now this attribute should be of D-Bus type "o"
213 if (cairo_dock_strings_differ (myData.cTrackID, cTrackID)) // track has changed.299 str = (gchar*) g_value_get_boxed (v);
214 {300 else if (G_VALUE_HOLDS_STRING (v)) // but can be a string... e.g. with Rhythmbox
215 g_free (myData.cTrackID);301 str = g_value_get_string (v);
216 myData.cTrackID = g_strdup (cTrackID);302 bTrackHasChanged = _is_a_new_track (str);
217 bTrackHasChanged = TRUE;
218 }
219 }303 }
220304
221 v = g_hash_table_lookup (pMetadata, "mpris:length"); // length of the track, in microseconds (signed 64-bit integer)305 v = g_hash_table_lookup (pMetadata, "mpris:length"); // length of the track, in microseconds (signed 64-bit integer)
@@ -400,6 +484,23 @@
400 cd_musicplayer_update_icon ();484 cd_musicplayer_update_icon ();
401 }485 }
402 }486 }
487
488 v = g_hash_table_lookup (pChangedProps, "LoopStatus");
489 if (v != NULL && G_VALUE_HOLDS_STRING (v)) // loop status has changed
490 {
491 const gchar *cStatus = g_value_get_string (v); // "Playlist", "None"
492 s_bIsLoop = (cStatus && strcmp (cStatus, "Playlist") == 0);
493 cd_debug ("LoopStatus: %s, %d", cStatus, s_bIsLoop);
494 s_bGotLoopStatus = TRUE;
495 }
496
497 v = g_hash_table_lookup (pChangedProps, "Shuffle");
498 if (v != NULL && G_VALUE_HOLDS_BOOLEAN (v)) // Shuffle status has changed
499 {
500 s_bIsShuffle = g_value_get_boolean (v);
501 cd_debug ("Shuffle: %d", s_bIsShuffle);
502 s_bGotShuffleStatus = TRUE;
503 }
403 }504 }
404 /*else if (strcmp (cInterface, "org.mpris.MediaPlayer2.TrackList") == 0)505 /*else if (strcmp (cInterface, "org.mpris.MediaPlayer2.TrackList") == 0)
405 {506 {
@@ -621,6 +722,8 @@
621 // get the current state.722 // get the current state.
622 myData.iTrackListLength = 0;723 myData.iTrackListLength = 0;
623 myData.iTrackListIndex = 0;724 myData.iTrackListIndex = 0;
725 s_bGotLoopStatus = FALSE;
726 s_bGotShuffleStatus = FALSE;
624 cd_mpris2_getPlaying_async (); // will get song infos after playing status.727 cd_mpris2_getPlaying_async (); // will get song infos after playing status.
625}728}
626729
@@ -633,6 +736,10 @@
633 pHandler->stop = cd_mpris2_stop;736 pHandler->stop = cd_mpris2_stop;
634 pHandler->start = cd_mpris2_start;737 pHandler->start = cd_mpris2_start;
635 pHandler->control = cd_mpris2_control;738 pHandler->control = cd_mpris2_control;
739 pHandler->get_loop_status = get_loop_status;
740 pHandler->get_shuffle_status = get_shuffle_status;
741 pHandler->raise = _raise;
742 pHandler->quit = _quit;
636 pHandler->bSeparateAcquisition = FALSE;743 pHandler->bSeparateAcquisition = FALSE;
637 pHandler->iLevel = PLAYER_GOOD;744 pHandler->iLevel = PLAYER_GOOD;
638 745
639746
=== modified file 'musicPlayer/src/applet-musicplayer.c'
--- musicPlayer/src/applet-musicplayer.c 2012-04-16 16:47:20 +0000
+++ musicPlayer/src/applet-musicplayer.c 2012-06-19 14:00:32 +0000
@@ -51,6 +51,20 @@
51not owned => stop handler51not owned => stop handler
52*/52*/
5353
54static inline void _fill_handler_properties (const gchar *cDesktopFileName)
55{
56 g_free ((gchar*)myData.pCurrentHandler->appclass);
57 myData.pCurrentHandler->appclass = cairo_dock_register_class (cDesktopFileName);
58 g_free ((gchar*)myData.pCurrentHandler->launch);
59 myData.pCurrentHandler->launch = g_strdup (cairo_dock_get_class_command (myData.pCurrentHandler->appclass));
60 if (myData.pCurrentHandler->launch == NULL) // we really need a command to launch it on click, so insist a little
61 {
62 myData.pCurrentHandler->launch = g_strdup (cDesktopFileName);
63 }
64 g_free ((gchar*)myData.pCurrentHandler->cDisplayedName);
65 myData.pCurrentHandler->cDisplayedName = g_strdup (cairo_dock_get_class_name (myData.pCurrentHandler->appclass));
66}
67
54MusicPlayerHandler *cd_musicplayer_get_handler_by_name (const gchar *cName)68MusicPlayerHandler *cd_musicplayer_get_handler_by_name (const gchar *cName)
55{69{
56 g_return_val_if_fail (cName != NULL, NULL);70 g_return_val_if_fail (cName != NULL, NULL);
@@ -299,14 +313,7 @@
299 myConfig.cLastKnownDesktopFile = g_strdup (cDesktopFileName);313 myConfig.cLastKnownDesktopFile = g_strdup (cDesktopFileName);
300 314
301 // register the desktop file, and get the common properties of this class.315 // register the desktop file, and get the common properties of this class.
302 g_free ((gchar*)myData.pCurrentHandler->launch);316 _fill_handler_properties (cDesktopFileName);
303 g_free ((gchar*)myData.pCurrentHandler->appclass);
304 g_free ((gchar*)myData.pCurrentHandler->cDisplayedName);
305
306 myData.pCurrentHandler->appclass = cairo_dock_register_class (cDesktopFileName);
307 myData.pCurrentHandler->launch = g_strdup (cairo_dock_get_class_command (myData.pCurrentHandler->appclass));
308 myData.pCurrentHandler->cDisplayedName = g_strdup (cairo_dock_get_class_name (myData.pCurrentHandler->appclass));
309 cd_debug (" class is now '%s'", myData.pCurrentHandler->appclass);
310 317
311 if (myData.pCurrentHandler->appclass != NULL)318 if (myData.pCurrentHandler->appclass != NULL)
312 {319 {
@@ -346,6 +353,15 @@
346 // set the MPRIS2 handler as the current one353 // set the MPRIS2 handler as the current one
347 myData.pCurrentHandler = cd_musicplayer_get_handler_by_name ("Mpris2"); // no need to watch it, it was already done (that's why we are here !)354 myData.pCurrentHandler = cd_musicplayer_get_handler_by_name ("Mpris2"); // no need to watch it, it was already done (that's why we are here !)
348 355
356 // fill its properties
357 myData.pCurrentHandler->appclass = cairo_dock_register_class (myConfig.cLastKnownDesktopFile ? myConfig.cLastKnownDesktopFile : cName); // myConfig.cLastKnownDesktopFile is NULL when transitionning from an old version of the applet where we didn't use the "Desktop Entry" property yet -> use some heuristic as a fallback.
358 myData.pCurrentHandler->launch = g_strdup (cairo_dock_get_class_command (myData.pCurrentHandler->appclass));
359 myData.pCurrentHandler->cDisplayedName = g_strdup (cairo_dock_get_class_name (myData.pCurrentHandler->appclass));
360 if (myData.pCurrentHandler->launch == NULL) // we really need a command to launch it on click, so insist a little
361 {
362 myData.pCurrentHandler->launch = g_strdup (cName);
363 }
364
349 g_free ((gchar*)myData.pCurrentHandler->cMprisService);365 g_free ((gchar*)myData.pCurrentHandler->cMprisService);
350 myData.pCurrentHandler->cMprisService = g_strdup (cName);366 myData.pCurrentHandler->cMprisService = g_strdup (cName);
351 }367 }
@@ -378,7 +394,7 @@
378 }394 }
379 else // else stop the handler.395 else // else stop the handler.
380 {396 {
381 cd_debug ("stop the handler");397 cd_debug ("stop the handler {%s, %s}", myData.pCurrentHandler->name, myData.pCurrentHandler->launch);
382 cd_musicplayer_stop_current_handler (FALSE); // FALSE = keep watching it.398 cd_musicplayer_stop_current_handler (FALSE); // FALSE = keep watching it.
383 cd_musicplayer_apply_status_surface (PLAYER_NONE);399 cd_musicplayer_apply_status_surface (PLAYER_NONE);
384 if (myConfig.cDefaultTitle != NULL)400 if (myConfig.cDefaultTitle != NULL)
@@ -395,6 +411,7 @@
395 {411 {
396 CD_APPLET_SET_NAME_FOR_MY_ICON (myData.pCurrentHandler->name);412 CD_APPLET_SET_NAME_FOR_MY_ICON (myData.pCurrentHandler->name);
397 }413 }
414 cd_debug ("stopped {%s, %s}", myData.pCurrentHandler->name, myData.pCurrentHandler->launch);
398 }415 }
399 }416 }
400 CD_APPLET_LEAVE ();417 CD_APPLET_LEAVE ();
@@ -456,7 +473,7 @@
456 473
457 cairo_dock_watch_dbus_name_owner (myData.cMpris2Service, (CairoDockDbusNameOwnerChangedFunc) _on_name_owner_changed, NULL);474 cairo_dock_watch_dbus_name_owner (myData.cMpris2Service, (CairoDockDbusNameOwnerChangedFunc) _on_name_owner_changed, NULL);
458 475
459 myData.pDetectPlayerCall = cairo_dock_dbus_detect_application_async (myData.cMpris2Service, (CairoDockOnAppliPresentOnDbus) _on_detect_mpris2, NULL); // mpris2 first, and then the other one. 476 myData.pDetectPlayerCall = cairo_dock_dbus_detect_application_async (myData.cMpris2Service, (CairoDockOnAppliPresentOnDbus) _on_detect_mpris2, NULL); // mpris2 first, and then the other one.
460 }477 }
461 else // no such handler, make an MPRIS2 service with this name.478 else // no such handler, make an MPRIS2 service with this name.
462 {479 {
@@ -464,22 +481,8 @@
464 myData.pCurrentHandler = cd_musicplayer_get_handler_by_name ("Mpris2");481 myData.pCurrentHandler = cd_musicplayer_get_handler_by_name ("Mpris2");
465 482
466 // fill its properties483 // fill its properties
467 if (myConfig.cLastKnownDesktopFile != NULL)484 _fill_handler_properties (myConfig.cLastKnownDesktopFile ? myConfig.cLastKnownDesktopFile : cName); // myConfig.cLastKnownDesktopFile is NULL when transitionning from an old version of the applet where we didn't use the "Desktop Entry" property yet -> use some heuristic as a fallback.
468 {485
469 myData.pCurrentHandler->appclass = cairo_dock_register_class (myConfig.cLastKnownDesktopFile);
470 myData.pCurrentHandler->launch = g_strdup (cairo_dock_get_class_command (myData.pCurrentHandler->appclass));
471 myData.pCurrentHandler->cDisplayedName = g_strdup (cairo_dock_get_class_name (myData.pCurrentHandler->appclass));
472 }
473 else // can happen when transitionning from an old version of the applet where we didn't use the "Desktop Entry" property yet -> use some heuristic as a fallback.
474 {
475 myData.pCurrentHandler->appclass = cairo_dock_register_class (cName);
476 myData.pCurrentHandler->launch = g_strdup (cairo_dock_get_class_command (myData.pCurrentHandler->appclass));
477 myData.pCurrentHandler->cDisplayedName = g_strdup (cairo_dock_get_class_name (myData.pCurrentHandler->appclass));
478 if (myData.pCurrentHandler->launch == NULL) // we really need a command to launch it on click, so insist a little
479 {
480 myData.pCurrentHandler->launch = g_strdup (cName);
481 }
482 }
483 myData.pCurrentHandler->cMprisService = g_strdup_printf (CD_MPRIS2_SERVICE_BASE".%s", cName);486 myData.pCurrentHandler->cMprisService = g_strdup_printf (CD_MPRIS2_SERVICE_BASE".%s", cName);
484 myData.cMpris2Service = NULL;487 myData.cMpris2Service = NULL;
485 }488 }
@@ -520,6 +523,11 @@
520 }523 }
521 524
522 // manage its taskbar icon.525 // manage its taskbar icon.
526 if (myData.pCurrentHandler->appclass != NULL)
527 {
528 cairo_dock_set_data_from_class (myData.pCurrentHandler->appclass, myIcon);
529 }
530
523 if (myConfig.bStealTaskBarIcon)531 if (myConfig.bStealTaskBarIcon)
524 CD_APPLET_MANAGE_APPLICATION (myData.pCurrentHandler->appclass);532 CD_APPLET_MANAGE_APPLICATION (myData.pCurrentHandler->appclass);
525}533}
526534
=== modified file 'musicPlayer/src/applet-notifications.c'
--- musicPlayer/src/applet-notifications.c 2012-03-21 11:26:14 +0000
+++ musicPlayer/src/applet-notifications.c 2012-06-19 14:00:32 +0000
@@ -43,8 +43,25 @@
43static void _cd_musicplayer_next (GtkMenuItem *menu_item, gpointer *data) {43static void _cd_musicplayer_next (GtkMenuItem *menu_item, gpointer *data) {
44 myData.pCurrentHandler->control (PLAYER_NEXT, NULL);44 myData.pCurrentHandler->control (PLAYER_NEXT, NULL);
45}45}
46static void _cd_musicplayer_show_from_systray (GtkMenuItem *menu_item, gpointer *data) {46static void _cd_musicplayer_show_from_systray (GtkMenuItem *menu_item, gpointer *data)
47 cairo_dock_launch_command (myData.pCurrentHandler->launch);47{
48 gboolean bRaised = FALSE;
49 if (myData.pCurrentHandler->raise)
50 bRaised = myData.pCurrentHandler->raise ();
51 if (! bRaised)
52 cairo_dock_launch_command (myData.pCurrentHandler->launch);
53}
54static void _cd_musicplayer_quit (GtkMenuItem *menu_item, gpointer *data)
55{
56 gboolean bQuit = FALSE;
57 if (myData.pCurrentHandler->quit)
58 bQuit = myData.pCurrentHandler->quit ();
59 if (! bQuit)
60 {
61 gchar *cmd = g_strdup_printf ("killall %s", myData.pCurrentHandler->launch);
62 cairo_dock_launch_command (cmd);
63 g_free (cmd);
64 }
48}65}
49static void _cd_musicplayer_jumpbox (GtkMenuItem *menu_item, gpointer *data) {66static void _cd_musicplayer_jumpbox (GtkMenuItem *menu_item, gpointer *data) {
50 myData.pCurrentHandler->control (PLAYER_JUMPBOX, NULL);67 myData.pCurrentHandler->control (PLAYER_JUMPBOX, NULL);
@@ -241,11 +258,16 @@
241 else258 else
242 cairo_dock_show_xwindow (myIcon->Xid);259 cairo_dock_show_xwindow (myIcon->Xid);
243 }260 }
244 else if (myData.pCurrentHandler->launch != NULL)261 else
245 cairo_dock_launch_command (myData.pCurrentHandler->launch);262 {
263 _cd_musicplayer_show_from_systray (NULL, NULL);
264 }
246 }265 }
247 else if (myData.pCurrentHandler->launch != NULL)266 else /*if (myData.pCurrentHandler->launch != NULL)*/
267 {
268 cd_message ("launching '%s'...\n", myData.pCurrentHandler->launch);
248 cairo_dock_launch_command (myData.pCurrentHandler->launch);269 cairo_dock_launch_command (myData.pCurrentHandler->launch);
270 }
249 }271 }
250 }272 }
251 else273 else
@@ -291,20 +313,36 @@
291 CD_APPLET_ADD_SEPARATOR_IN_MENU (CD_APPLET_MY_MENU); // on n'a jamais zero action, donc on met toujours un separateur.313 CD_APPLET_ADD_SEPARATOR_IN_MENU (CD_APPLET_MY_MENU); // on n'a jamais zero action, donc on met toujours un separateur.
292 314
293 CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Information"), GTK_STOCK_INFO, _cd_musicplayer_info, CD_APPLET_MY_MENU);315 CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Information"), GTK_STOCK_INFO, _cd_musicplayer_info, CD_APPLET_MY_MENU);
294
295 if (myIcon->Xid == 0) // lecteur dans le systray.
296 CD_APPLET_ADD_IN_MENU (D_("Show the Window"), _cd_musicplayer_show_from_systray, CD_APPLET_MY_MENU);
297 316
298 CD_APPLET_ADD_SEPARATOR_IN_MENU (CD_APPLET_MY_MENU);317 CD_APPLET_ADD_SEPARATOR_IN_MENU (CD_APPLET_MY_MENU);
299 318
300 if (myData.pCurrentHandler->iPlayerControls & PLAYER_JUMPBOX)319 if (myData.pCurrentHandler->iPlayerControls & PLAYER_JUMPBOX)
301 CD_APPLET_ADD_IN_MENU (D_("Show JumpBox"), _cd_musicplayer_jumpbox, CD_APPLET_MY_MENU);320 CD_APPLET_ADD_IN_MENU (D_("Show JumpBox"), _cd_musicplayer_jumpbox, CD_APPLET_MY_MENU);
302 if (myData.pCurrentHandler->iPlayerControls & PLAYER_SHUFFLE)321 if (myData.pCurrentHandler->iPlayerControls & PLAYER_SHUFFLE)
303 CD_APPLET_ADD_IN_MENU (D_("Toggle Shuffle"), _cd_musicplayer_shuffle, CD_APPLET_MY_MENU);322 {
323 pMenuItem = gtk_check_menu_item_new_with_label (D_("Shuffle"));
324 gboolean bIsShuffle = (myData.pCurrentHandler->get_shuffle_status ? myData.pCurrentHandler->get_shuffle_status() : FALSE);
325 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (pMenuItem), bIsShuffle);
326 gtk_menu_shell_append (GTK_MENU_SHELL (CD_APPLET_MY_MENU), pMenuItem);
327 g_signal_connect (G_OBJECT (pMenuItem), "toggled", G_CALLBACK (_cd_musicplayer_shuffle), NULL);
328 }
304 if (myData.pCurrentHandler->iPlayerControls & PLAYER_REPEAT)329 if (myData.pCurrentHandler->iPlayerControls & PLAYER_REPEAT)
305 CD_APPLET_ADD_IN_MENU (D_("Toggle Repeat"), _cd_musicplayer_repeat, CD_APPLET_MY_MENU);330 {
331 pMenuItem = gtk_check_menu_item_new_with_label (D_("Repeat"));
332 gboolean bIsLoop = (myData.pCurrentHandler->get_loop_status ? myData.pCurrentHandler->get_loop_status() : FALSE);
333 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (pMenuItem), bIsLoop);
334 gtk_menu_shell_append (GTK_MENU_SHELL (CD_APPLET_MY_MENU), pMenuItem);
335 g_signal_connect (G_OBJECT (pMenuItem), "toggled", G_CALLBACK (_cd_musicplayer_repeat), NULL);
336 }
337
306 if (myData.pCurrentHandler->iPlayerControls & PLAYER_RATE)338 if (myData.pCurrentHandler->iPlayerControls & PLAYER_RATE)
307 CD_APPLET_ADD_IN_MENU (D_("Rate this song"), _cd_musicplayer_rate, CD_APPLET_MY_MENU);339 CD_APPLET_ADD_IN_MENU (D_("Rate this song"), _cd_musicplayer_rate, CD_APPLET_MY_MENU);
340
341 if (myIcon->Xid == 0) // player in the systray.
342 {
343 CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Show"), GTK_STOCK_FIND, _cd_musicplayer_show_from_systray, CD_APPLET_MY_MENU);
344 CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Quit"), GTK_STOCK_CLOSE, _cd_musicplayer_quit, CD_APPLET_MY_MENU); // GTK_STOCK_QUIT looks too much like the "quit" of the dock.
345 }
308 }346 }
309CD_APPLET_ON_BUILD_MENU_END347CD_APPLET_ON_BUILD_MENU_END
310348
311349
=== modified file 'musicPlayer/src/applet-struct.h'
--- musicPlayer/src/applet-struct.h 2012-02-16 01:45:57 +0000
+++ musicPlayer/src/applet-struct.h 2012-06-19 14:00:32 +0000
@@ -60,6 +60,11 @@
60typedef void (*MusicPlayerStartFunc) (void); // initialise le backend (connexion des signaux, etc)60typedef void (*MusicPlayerStartFunc) (void); // initialise le backend (connexion des signaux, etc)
61typedef void (*MusicPlayerControlerFunc) (MyPlayerControl pControl, const gchar *cFile); // controle du lecteur (play/pause/next/etc)61typedef void (*MusicPlayerControlerFunc) (MyPlayerControl pControl, const gchar *cFile); // controle du lecteur (play/pause/next/etc)
62typedef void (*MusicPlayerGetCoverFunc) (void); // pour les lecteurs buggues, recupere la couverture. Renseigner ce champ fera que si le lecteur n'a pas renvoye de couverture au changement de chanson, on retentera 2 secondes plus tard avec cette fonction.62typedef void (*MusicPlayerGetCoverFunc) (void); // pour les lecteurs buggues, recupere la couverture. Renseigner ce champ fera que si le lecteur n'a pas renvoye de couverture au changement de chanson, on retentera 2 secondes plus tard avec cette fonction.
63typedef gboolean (*MusicPlayerGetLoopStatusFunc) (void);
64typedef gboolean (*MusicPlayerGetShuffleStatusFunc) (void);
65typedef gboolean (*MusicPlayerRaiseFunc) (void); // show window from systray
66typedef gboolean (*MusicPlayerQuitFunc) (void); // quit when within the systray
67
6368
64struct _MusicPlayerHandler {69struct _MusicPlayerHandler {
65 const gchar *name; // nom du backend.70 const gchar *name; // nom du backend.
@@ -68,6 +73,10 @@
68 MusicPlayerStartFunc start;73 MusicPlayerStartFunc start;
69 MusicPlayerControlerFunc control;74 MusicPlayerControlerFunc control;
70 MusicPlayerGetCoverFunc get_cover; // actually deprecated, since now most players will send a signal when the 'cover' param is changed.75 MusicPlayerGetCoverFunc get_cover; // actually deprecated, since now most players will send a signal when the 'cover' param is changed.
76 MusicPlayerGetLoopStatusFunc get_loop_status;
77 MusicPlayerGetShuffleStatusFunc get_shuffle_status;
78 MusicPlayerRaiseFunc raise;
79 MusicPlayerQuitFunc quit;
71 const gchar *cMprisService; // old Dbus service name (may not even follow the MPRIS protocole)80 const gchar *cMprisService; // old Dbus service name (may not even follow the MPRIS protocole)
72 const gchar *path; // Player object81 const gchar *path; // Player object
73 const gchar *interface;82 const gchar *interface;
7483
=== modified file 'po/de.po'
--- po/de.po 2012-04-16 16:47:20 +0000
+++ po/de.po 2012-06-19 14:00:32 +0000
@@ -9,14 +9,14 @@
9"Project-Id-Version: cairo-dock-plug-ins\n"9"Project-Id-Version: cairo-dock-plug-ins\n"
10"Report-Msgid-Bugs-To: fabounet@glx-dock.org\n"10"Report-Msgid-Bugs-To: fabounet@glx-dock.org\n"
11"POT-Creation-Date: 2012-04-12 00:33+0000\n"11"POT-Creation-Date: 2012-04-12 00:33+0000\n"
12"PO-Revision-Date: 2012-04-12 03:37+0000\n"12"PO-Revision-Date: 2012-05-02 06:06+0000\n"
13"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"13"Last-Translator: claudia89 <Unknown>\n"
14"Language-Team: German <de@li.org>\n"14"Language-Team: German <de@li.org>\n"
15"MIME-Version: 1.0\n"15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Launchpad-Export-Date: 2012-04-13 05:32+0000\n"18"X-Launchpad-Export-Date: 2012-05-03 05:31+0000\n"
19"X-Generator: Launchpad (build 15070)\n"19"X-Generator: Launchpad (build 15185)\n"
20"Language: de\n"20"Language: de\n"
2121
22#: ../Animated-icons/src/applet-init.c:3222#: ../Animated-icons/src/applet-init.c:32
@@ -2369,7 +2369,7 @@
2369#: ../logout/src/applet-init.c:38 ../logout/src/applet-logout.c:2282369#: ../logout/src/applet-init.c:38 ../logout/src/applet-logout.c:228
2370#: ../logout/data/messages:972370#: ../logout/data/messages:97
2371msgid "Log out"2371msgid "Log out"
2372msgstr "Ausloggen"2372msgstr "Abmelden"
23732373
2374#: ../logout/src/applet-init.c:672374#: ../logout/src/applet-init.c:67
2375msgid "Lock the screen"2375msgid "Lock the screen"
23762376
=== modified file 'po/fr.po'
--- po/fr.po 2012-04-16 16:47:20 +0000
+++ po/fr.po 2012-06-19 14:00:32 +0000
@@ -8,13 +8,13 @@
8"Project-Id-Version: 1.0.0\n"8"Project-Id-Version: 1.0.0\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-04-12 00:33+0000\n"10"POT-Creation-Date: 2012-04-12 00:33+0000\n"
11"PO-Revision-Date: 2012-04-14 01:00+0000\n"11"PO-Revision-Date: 2012-04-14 17:03+0000\n"
12"Last-Translator: Matthieu Baerts <matttbe@gmail.com>\n"12"Last-Translator: Matthieu Baerts <matttbe@gmail.com>\n"
13"Language-Team: Cairo-Dock <LL@li.org>\n"13"Language-Team: Cairo-Dock <LL@li.org>\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-04-14 05:01+0000\n"17"X-Launchpad-Export-Date: 2012-04-15 04:46+0000\n"
18"X-Generator: Launchpad (build 15070)\n"18"X-Generator: Launchpad (build 15070)\n"
19"Language: \n"19"Language: \n"
2020
@@ -1828,8 +1828,8 @@
1828"<b>traiter des taches</b>.\n"1828"<b>traiter des taches</b>.\n"
1829"Il accepte aussi les alarmes et vous autorises à définir l'heure et la "1829"Il accepte aussi les alarmes et vous autorises à définir l'heure et la "
1830"date.\n"1830"date.\n"
1831"Clic-gauche pour montrer/cacher le calendrier, Clic du milieu pour arrêter une "1831"Clic-gauche pour montrer/cacher le calendrier, Clic du milieu pour arrêter "
1832"notification,\n"1832"une notification,\n"
1833"Double-clic sur un jour pour éditer les taches pour ce jour."1833"Double-clic sur un jour pour éditer les taches pour ce jour."
18341834
1835#: ../clock/src/applet-notifications.c:621835#: ../clock/src/applet-notifications.c:62
18361836
=== added file 'po/hr.po'
--- po/hr.po 1970-01-01 00:00:00 +0000
+++ po/hr.po 2012-06-19 14:00:32 +0000
@@ -0,0 +1,8409 @@
1# Croatian translation for cairo-dock-plug-ins
2# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
3# This file is distributed under the same license as the cairo-dock-plug-ins package.
4# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
5#
6msgid ""
7msgstr ""
8"Project-Id-Version: cairo-dock-plug-ins\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10"POT-Creation-Date: 2012-04-12 00:33+0000\n"
11"PO-Revision-Date: 2012-06-07 06:12+0000\n"
12"Last-Translator: vjeko janecic <vjeko@stan-eks.hr>\n"
13"Language-Team: Croatian <hr@li.org>\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"X-Launchpad-Export-Date: 2012-06-08 05:01+0000\n"
18"X-Generator: Launchpad (build 15376)\n"
19
20#: ../Animated-icons/src/applet-init.c:32
21msgid "Animated icons"
22msgstr "Animirane ikone"
23
24#: ../Animated-icons/src/applet-init.c:35
25msgid "This plug-in provides many different animations for your icons."
26msgstr "Plug-in osigurava mnogo razlicitih animacija za ikone"
27
28#: ../Animated-icons/src/applet-init.c:80 ../Animated-icons/data/messages:9
29#: ../Animated-icons/data/messages:27 ../Animated-icons/data/messages:47
30#: ../Animated-icons/data/messages:157
31msgid "Bounce"
32msgstr "Odbijanje"
33
34#: ../Animated-icons/src/applet-init.c:81 ../Animated-icons/data/messages:11
35#: ../Animated-icons/data/messages:29 ../Animated-icons/data/messages:49
36msgid "Rotate"
37msgstr "Rotiraj"
38
39#: ../Animated-icons/src/applet-init.c:82 ../Animated-icons/data/messages:13
40#: ../Animated-icons/data/messages:31 ../Animated-icons/data/messages:51
41#: ../Animated-icons/data/messages:171
42msgid "Blink"
43msgstr "Treptanje"
44
45#: ../Animated-icons/src/applet-init.c:83 ../Animated-icons/data/messages:15
46#: ../Animated-icons/data/messages:33 ../Animated-icons/data/messages:53
47#: ../Animated-icons/data/messages:145
48msgid "Pulse"
49msgstr "Pulsiranje"
50
51#: ../Animated-icons/src/applet-init.c:84 ../Animated-icons/data/messages:17
52#: ../Animated-icons/data/messages:35 ../Animated-icons/data/messages:55
53#: ../Animated-icons/data/messages:117
54msgid "Wobbly"
55msgstr "Rastresi"
56
57#: ../Animated-icons/src/applet-init.c:85 ../Animated-icons/data/messages:19
58#: ../Animated-icons/data/messages:37 ../Animated-icons/data/messages:57
59#: ../Animated-icons/data/messages:133
60msgid "Wave"
61msgstr "Val"
62
63#: ../Animated-icons/src/applet-init.c:86 ../Animated-icons/data/messages:21
64#: ../Animated-icons/data/messages:39 ../Animated-icons/data/messages:59
65#: ../Animated-icons/data/messages:81 ../Animated-icons/data/messages:89
66msgid "Spot"
67msgstr "Pozicija"
68
69#: ../Cairo-Penguin/src/applet-init.c:33
70msgid ""
71"Add a lively Penguin in your dock !\n"
72"Left click to change the animation,\n"
73"Middle-click to disturb him ^_^\n"
74"Tux images are taken from Pingus, some other characters are available or can "
75"be added easily."
76msgstr ""
77"Dodaj okretnog Pingvina u svoj dok!\n"
78"Lijevim klikom promjeni animaciju,\n"
79"Srednjim klikom ga uznemiri.\n"
80"Slike Tuxa su iz Pingua, postoje i drugi likovi koje mozes dodati "
81"jednostavno."
82
83#: ../Cairo-Penguin/src/applet-init.c:39
84msgid "Cairo-Penguin"
85msgstr "Cairo-Pingvin"
86
87#: ../Cairo-Penguin/src/applet-notifications.c:29
88msgid "Hey, I'm here!"
89msgstr "Hej, ovdje sam!"
90
91#: ../Cairo-Penguin/src/applet-notifications.c:30
92msgid "Sorry but I'm busy right now."
93msgstr "Oprosti zauzet sam sada"
94
95#: ../Cairo-Penguin/src/applet-notifications.c:31
96msgid ""
97"I don't have time to play with you, I have to dig and mine all these icons."
98msgstr ""
99"Nemam vremena da se igram s tobom, moram iskopati i spremiti sve te ikone"
100
101#: ../Cairo-Penguin/src/applet-notifications.c:32
102msgid "Your dock is so messy! Let me clean it."
103msgstr "Tvoj dok je tako neuredan! Daj da ga uredim."
104
105#: ../Cairo-Penguin/src/applet-notifications.c:33
106msgid "Admit my superiority on you as a penguin!"
107msgstr "Priznaj moju prednost, ja sam ipak pingvin!"
108
109#: ../Cairo-Penguin/src/applet-notifications.c:34
110msgid "Wait, do you want to kill me?!"
111msgstr "Stan tamo, jel ti to mene ubijas?!"
112
113#: ../Cairo-Penguin/src/applet-notifications.c:35
114msgid "Do you know how painful it is to be clicked on??"
115msgstr "Znas li kako boli kad me kliknes??"
116
117#: ../Cairo-Penguin/src/applet-notifications.c:36
118msgid "It's my dock now, mwahahaha!"
119msgstr "To je sad moj dok, ua ha ha ha!"
120
121#: ../Cairo-Penguin/src/applet-notifications.c:37
122msgid "I want to be a pirate!"
123msgstr "Zelim postati pirat!"
124
125#: ../Cairo-Penguin/src/applet-notifications.c:38
126msgid "You shall not pass!"
127msgstr "Neces proci!"
128
129#: ../Cairo-Penguin/src/applet-notifications.c:39
130msgid "I'm your father!"
131msgstr "Ja sam ti otac!"
132
133#: ../Cairo-Penguin/src/applet-notifications.c:40
134msgid ""
135"- Gee, Brain, what do you want to do tonight?\n"
136"- The same thing we do every night, Pinky : try to take over the Dock!"
137msgstr ""
138"Hej Brale, sto cemo raditi veceras?\n"
139"- Isto sto i svake noci, Pero : pokusacemo zauzeti Dok!"
140
141#: ../Cairo-Penguin/src/applet-notifications.c:41
142msgid "For Aiur!"
143msgstr "Za Anicu!"
144
145#: ../Cairo-Penguin/src/applet-notifications.c:118
146msgid "Wake up"
147msgstr "Probudi se"
148
149#: ../Cairo-Penguin/src/applet-notifications.c:122
150msgid "Keep quiet"
151msgstr "Budi tiho"
152
153#: ../Cairo-Penguin/src/applet-notifications.c:125
154#: ../Scooby-Do/data/messages:99
155msgid "Start XPenguins"
156msgstr "Pokreni XPingvina"
157
158#: ../Cairo-Penguin/src/applet-notifications.c:126
159msgid "Stop XPenguins"
160msgstr "Zaustavi XPingvina"
161
162#: ../Cairo-Penguin/src/applet-notifications.c:148
163#: ../Cairo-Penguin/src/applet-notifications.c:150
164msgid "Zzzzz"
165msgstr "Zzzzz"
166
167#: ../Clipper/src/applet-init.c:32
168msgid ""
169"This applet keeps a trace of the clipboard and mouse selection,\n"
170"so that you can recall them quickly. It's a clone of the well-know Klipper.\n"
171"It supports clipboard and mouse selection, predefined actions, and "
172"persistent items.\n"
173"Left-click to popup the clipboard and mouse selection history,\n"
174"Drop text on the icon to create persistent items, and middle-clck to recall "
175"them."
176msgstr ""
177"Applet pamti sadrzaj medjuspremnika i selektirani sadrzaj na ekranu,\n"
178"tako da ih mozes vratiti brzo. Klon je dobro poznatog Klippera.\n"
179"Podrzava medjuspremnik i selektirani sadrzaj, predefinirane akcije, i trajne "
180"objekte.\n"
181"Lijevi klik za prikaz povijesti medjuspremnika i selektiranih sadrzaja,\n"
182"Ispusti tekst na ikonu da stvoris trajni objekt, a srednjim klikom ih mozes "
183"vratiti."
184
185#: ../Clipper/src/applet-init.c:39
186msgid "Clipboard history"
187msgstr "Povijest medjuspremnika"
188
189#: ../Clipper/src/applet-init.c:72
190msgid "Pop-up the items menu"
191msgstr "Pop-up meni objekata"
192
193#: ../Clipper/src/applet-notifications.c:33
194msgid "The clipboard history is empty."
195msgstr "Povijest medjuspremnika je prazna"
196
197#: ../Clipper/src/applet-notifications.c:89
198msgid "Clear clipboard History"
199msgstr "Obrisi povijest medjuspremnika"
200
201#: ../Clipper/src/applet-notifications.c:91
202msgid "Paste all copied items"
203msgstr "Zalijepi sve kopirane objekte"
204
205#: ../Clipper/src/applet-notifications.c:99
206msgid ""
207"No persistent items.\n"
208"You can add some by drag and dropping some text on the icon."
209msgstr ""
210"Nema trajnih objekata.\n"
211"Dodaj novi tako da povuces i ispustis tekst na ikonu."
212
213#: ../Clipper/src/applet-notifications.c:143
214msgid "No items yet."
215msgstr "Nema niti jedan objekt."
216
217#: ../Composite-Manager/src/applet-composite-manager.c:421
218#: ../Composite-Manager/src/applet-composite-manager.c:436
219msgid "No compositor is available."
220msgstr "Kompozitor nije dostupan"
221
222#: ../Composite-Manager/src/applet-composite-manager.c:444
223#: ../Composite-Manager/src/applet-composite-manager.c:459
224msgid "No fallback is available."
225msgstr "Povrat nije dostupan"
226
227#: ../Composite-Manager/src/applet-composite-manager.c:499
228#, c-format
229msgid "You need to install '%s'"
230msgstr "Moras instalirati '%s'"
231
232#: ../Composite-Manager/src/applet-composite-manager.c:510
233msgid "No configuration tool is available."
234msgstr "Alat za konfiguraciju nije dostupan"
235
236#: ../Composite-Manager/src/applet-init.c:27
237msgid "Composite-Manager"
238msgstr "Kompozitni urednik"
239
240#: ../Composite-Manager/src/applet-init.c:30
241msgid ""
242"This applet allows you to <b>toggle the composite ON/OFF</b>.\n"
243"The composite is what allows transparency on the desktop, but it can slow "
244"down your PC, especially during games.\n"
245"<b>Click</b> on the icon to switch the composite ON/OFF. You can define a "
246"<b>shortcut</b> for this action.\n"
247"The applet also lets you acces to some actions of the Window-Manager, from "
248"<b>middle-click and the menu</b>.\n"
249"You can define in the configuration a Window-Manager that will provide the "
250"composite, and another as a fallback."
251msgstr ""
252"Applet omogucuje <b>promjena kompozitnog desktopa ON/OFF</b>\n"
253"Kompozit omogucuje prozirnost desktopa, ali moze usporiti tvoj PC, narocito "
254"u igricama.\n"
255"<b>Klik</b> na ikonu da promjenis stanje ON/OFF. Mozes definirati "
256"<b>shortcut</b> za ovu akciju.\n"
257"Applet dozvoljava pristup nekim akcijama Window-Manager, pomocu <b>srednji "
258"klik i meni</b>.\n"
259"Mozes definirati u konfiguraciji Window-Managera koja ce ostvariti "
260"kompozitni prikaz, te drugi kao povrat."
261
262#: ../Composite-Manager/src/applet-init.c:52
263msgid "Toggle the composite ON/OFF"
264msgstr "Prebaci kompozitni prikaz ON/OFF"
265
266#: ../Composite-Manager/src/applet-notifications.c:43
267msgid "Toggle composite?"
268msgstr "Da prebacim kompozitni?"
269
270#: ../Composite-Manager/src/applet-notifications.c:120
271#: ../Composite-Manager/data/messages:129
272msgid "Edit Window-Manager settings"
273msgstr "Uredi Window-Manager postavke"
274
275#: ../Composite-Manager/src/applet-notifications.c:120
276#: ../Composite-Manager/src/applet-notifications.c:127
277#: ../Composite-Manager/src/applet-notifications.c:136
278#: ../Composite-Manager/src/applet-notifications.c:145
279#: ../Composite-Manager/src/applet-notifications.c:154
280#: ../Composite-Manager/src/applet-notifications.c:163
281#: ../Folders/src/applet-notifications.c:365
282#: ../GMenu/src/applet-notifications.c:81
283#: ../RSSreader/src/applet-notifications.c:129
284#: ../System-Monitor/src/applet-notifications.c:106
285#: ../Xgamma/src/applet-notifications.c:87
286#: ../alsaMixer/src/applet-notifications.c:85
287#: ../dustbin/src/applet-notifications.c:136
288#: ../mail/src/cd-mail-applet-notifications.c:154
289#: ../musicPlayer/src/applet-notifications.c:278
290#: ../netspeed/src/applet-notifications.c:94
291#: ../quick-browser/src/applet-notifications.c:41
292#: ../shortcuts/src/applet-notifications.c:249
293#: ../shortcuts/src/applet-notifications.c:269
294#: ../showDesktop/src/applet-notifications.c:165
295#: ../showDesktop/src/applet-notifications.c:177
296#: ../showDesktop/src/applet-notifications.c:189
297#: ../slider/src/applet-notifications.c:223
298#: ../slider/src/applet-notifications.c:265
299#: ../stack/src/applet-notifications.c:181
300#: ../switcher/src/applet-notifications.c:300
301#: ../switcher/src/applet-notifications.c:305
302#: ../switcher/src/applet-notifications.c:314
303#: ../switcher/src/applet-notifications.c:323
304msgid "middle-click"
305msgstr "srednji klik"
306
307#: ../Composite-Manager/src/applet-notifications.c:127
308#: ../Composite-Manager/data/messages:131
309msgid "Reload Window-Manager"
310msgstr "Ponovo ucitaj Window-Manager"
311
312#: ../Composite-Manager/src/applet-notifications.c:136
313#: ../showDesktop/src/applet-notifications.c:165
314#: ../showDesktop/src/applet-notifications.c:167
315#: ../Composite-Manager/data/messages:133 ../showDesktop/data/messages:103
316#: ../showDesktop/data/messages:117 ../switcher/data/messages:113
317msgid "Show desktop"
318msgstr "Pokaži radnu površinu"
319
320#: ../Composite-Manager/src/applet-notifications.c:145
321#: ../showDesktop/src/applet-notifications.c:177
322#: ../showDesktop/src/applet-notifications.c:179
323#: ../switcher/src/applet-notifications.c:314
324#: ../Composite-Manager/data/messages:135 ../showDesktop/data/messages:111
325#: ../showDesktop/data/messages:125 ../switcher/data/messages:115
326msgid "Expose all the desktops"
327msgstr "Prikazi sve desktope"
328
329#: ../Composite-Manager/src/applet-notifications.c:154
330#: ../switcher/src/applet-notifications.c:323
331#: ../Composite-Manager/data/messages:137 ../switcher/data/messages:117
332msgid "Expose all the windows"
333msgstr "Pokazi sve prozore"
334
335#: ../Composite-Manager/src/applet-notifications.c:163
336#: ../showDesktop/src/applet-notifications.c:189
337#: ../showDesktop/src/applet-notifications.c:191
338#: ../Composite-Manager/data/messages:139 ../showDesktop/data/messages:109
339#: ../showDesktop/data/messages:123
340msgid "Show the Widget Layer"
341msgstr "Pokazi nivo widgeta"
342
343#: ../Dbus/src/applet-init.c:36
344msgid ""
345"This plug-in lets extern applications interact on the dock.\n"
346"The communication between both sides is based on Dbus"
347msgstr ""
348"Plug-in dozvoljava eksternim aplikacijama interakciju s dokom.\n"
349"Komunikacija izmedju obje strane zasniva se na Dbusu."
350
351#: ../Dbus/src/interface-applet-signals.c:422
352#: ../Dbus/src/interface-applet-signals.c:453
353msgid "Sorry, this module couldn't be added."
354msgstr "Oprosti, ne mogu dodati taj modul."
355
356#: ../Dbus/src/interface-applet-signals.c:457
357#: ../Dbus/src/interface-applet-signals.c:463
358msgid "The module has been added, but couldn't be launched."
359msgstr "Modul je dodan, ali ne mogu ga pokrenuti."
360
361#: ../Dbus/src/interface-applet-signals.c:466
362#, c-format
363msgid ""
364"The applet '%s' has been succefully updated and automatically reloaded"
365msgstr "Applet '%s' je uspjesno osvjezen i automatski ucitan ponovo."
366
367#: ../Dbus/src/interface-applet-signals.c:466
368#, c-format
369msgid ""
370"The applet '%s' has been succefully installed and automatically launched"
371msgstr "Applet '%s' je uspjesno instaliran i automatski pokrenut."
372
373#: ../Disks/src/applet-disks.c:45 ../Disks/src/applet-disks.c:53
374#: ../Network-Monitor/src/applet-netspeed.c:42
375#: ../Network-Monitor/src/applet-netspeed.c:50
376#: ../netspeed/src/applet-netspeed.c:42 ../netspeed/src/applet-netspeed.c:50
377msgid "B"
378msgstr "B"
379
380#: ../Disks/src/applet-disks.c:61 ../Folders/src/applet-notifications.c:140
381#: ../Network-Monitor/src/applet-netspeed.c:58
382#: ../netspeed/src/applet-netspeed.c:58
383msgid "KB"
384msgstr "kB"
385
386#: ../Disks/src/applet-disks.c:69 ../Folders/src/applet-notifications.c:138
387#: ../Network-Monitor/src/applet-netspeed.c:66
388#: ../netspeed/src/applet-netspeed.c:66
389#: ../netspeed/src/applet-notifications.c:37
390#: ../netspeed/src/applet-notifications.c:38
391msgid "MB"
392msgstr "MB"
393
394#: ../Disks/src/applet-disks.c:77 ../Network-Monitor/src/applet-netspeed.c:74
395#: ../netspeed/src/applet-netspeed.c:74
396msgid "GB"
397msgstr "GB"
398
399#: ../Disks/src/applet-disks.c:85 ../Network-Monitor/src/applet-netspeed.c:82
400#: ../netspeed/src/applet-netspeed.c:82
401msgid "TB"
402msgstr "TB"
403
404#: ../Disks/src/applet-disks.c:171
405msgid "r"
406msgstr "r"
407
408#: ../Disks/src/applet-disks.c:171
409msgid "w"
410msgstr "w"
411
412#: ../Disks/src/applet-disks.c:175
413msgid "N/A"
414msgstr "N/A"
415
416#: ../Disks/src/applet-init.c:29
417msgid "Disks"
418msgstr "Diskovi"
419
420#: ../Disks/src/applet-init.c:32
421msgid ""
422"<b><i>Monitors disks speed and space</i></b>.\n"
423"\n"
424"This applet show your disks informations. You can activate both options at "
425"once, but they're better separated in 2 or more instances of the applet.\n"
426"Using both in the same applet can cause problems with the speed display not "
427"scaling down.\n"
428"\n"
429"<b>Disk space</b> : Show disk transfer rates. Up to 10 partitions\n"
430" You need to configure the mount point of each monitored partition like / "
431"or /home\n"
432" Better seen in a gauge, with 30 or 60s refresh rate and really short or no "
433"transition delay.\n"
434"\n"
435"<b>Disk speed</b> : Show disk transfer rates. Up to 5 disks\n"
436" You need to configure the name of each monitored disk with his device name "
437"like sda or sdb\n"
438" Better seen in a graph, with 2 or 3s refresh rate and no delay between "
439"transitions.\n"
440"\n"
441"Second release, a lot more need to be done :\n"
442" <u>Free space :</u>\n"
443" - Popup with detailed informations.\n"
444" - Editable labels ?\n"
445" <u>Speed :</u>\n"
446" - All disks option.\n"
447" - Pop up showing disks info to know what to add in the list.\n"
448" - Editable labels ?\n"
449" - Get real block size for disks\n"
450" <u>Global</u>\n"
451" - Find actions : left, middle click, drop and wheel.\n"
452" - Fill menu with actions.\n"
453msgstr ""
454"<b><i>Prati brzinu diska i zauzece</i></b>\n"
455"\n"
456"Applet pokazuje informacije o disku. Mozes aktivirati obje opcije odjednom, "
457"ali bolje da razdvojis na 2 ili vise instanci appleta.\n"
458"Upotrebom obje opcije odjednom moze uzrokovati probleme s prikazom brzine "
459"diska.\n"
460"\n"
461"<b>Zauzece diska</b>: Prikazuje slobodan prostor na disku. Max 10 particija "
462"odjednom.\n"
463" Moras definirati koji se direktorij promatra na svakoj particiji, poput / "
464"ili /home\n"
465" Bolje je vidljivo u grafu, s vremenom osvjezenja 30 do 60 s i s kratkim "
466"vremenom odgode prenosa.\n"
467"<b>Brzina diska</b>: Pokazuje brzine prijenosa. Max 5 diskova.\n"
468" Moras definirati ime svakog diska, zajedno sa imenom uredjaja, poput sda "
469"ili sdb\n"
470" Prikaz je bolji u grafu, s vremenom osvjezenja 2 do 3s bez odgode u "
471"prenosu.\n"
472"\n"
473"Drugo izdanje, ostaje dosta toga da se napravi:\n"
474" <u>Slobodan prostor:</u>\n"
475" - popup s detaljnim informacijama\n"
476" - labele koje mozes uredjivati ?\n"
477" <u>Brzina:</u>\n"
478" - Sve opcije diska.\n"
479" - popup pokazuje disk info da znas sto da dodas na listu\n"
480" - labele koje mozes uredjivati ?\n"
481" - daj realnu velicinu bloka za svaki disk\n"
482" <u>Globalno</u>\n"
483" - akcije misa: lijevi klik, srednji klik, ispusti, skrol na misu\n"
484" - popuni meni s akcijama\n"
485
486#: ../Disks/src/applet-notifications.c:69
487#: ../System-Monitor/src/applet-init.c:35
488msgid "System Monitor"
489msgstr "Nadzor sustava"
490
491#: ../Doncky/src/applet-cpusage.c:65 ../System-Monitor/src/applet-cpusage.c:58
492#: ../System-Monitor/src/applet-cpusage.c:63
493msgid "day(s)"
494msgstr "dan(a)"
495
496#: ../Doncky/src/applet-init.c:35
497msgid ""
498"This applet allows you to write texts and monitor your system\n"
499"with a \"text style desklet\".\n"
500"USAGE:\n"
501" - NEED TO BE DETACHED FROM THE DOCK TO WORK !\n"
502" - Middle-clic to reload values"
503msgstr ""
504"Applet dozvoljava da pisete tekstove i pratite rad sustava\n"
505"s desklet \"tekst stil\" \n"
506"UPOTREBA:\n"
507" - Moras osloboditi s doka prije upotrebe!\n"
508" - Srednji klik da ucitas vrijednosti"
509
510#: ../Doncky/src/applet-notifications.c:215
511msgid "It doesn't seem to be a valid XML file."
512msgstr "XML fajl nije ispravan"
513
514#: ../Folders/src/applet-init.c:29
515msgid "Folders"
516msgstr "Mape"
517
518#: ../Folders/src/applet-init.c:32
519msgid ""
520"This applet imports folders inside the Dock\n"
521"You can have as many instances of this applet as you want, each one with a "
522"different folder.\n"
523"To add a folder in your dock:\n"
524" - activate the applet, open its configuration panel, and select a folder\n"
525" - or just drop a folder into the dock\n"
526"Middle-click on the main icon opens the folder.\n"
527msgstr ""
528"Applet uvozi mape u Dok\n"
529"Mozes otvoriti vise instanci appleta, sa razlicitim mapama u svakom.\n"
530"Da bi dodao mapu u dok:\n"
531" - aktiviraj applet, otvori konfiguracijski panel, izaberi mapu\n"
532" - ili naprosto ispusti mapu na dok\n"
533"Srednji klik na glavnu ikonu otvara mapu.\n"
534
535#: ../Folders/src/applet-init.c:87 ../Folders/src/applet-init.c:150
536#: ../Folders/src/applet-notifications.c:42
537msgid "Open the configuration of the applet to choose a folder to import."
538msgstr "Otvori konfiguracijski panel appleta i izaberi mapu za unos."
539
540#: ../Folders/src/applet-notifications.c:54
541msgid "Empty or unreadable folder."
542msgstr "Mapa je prazna ili nije dostupna"
543
544#: ../Folders/src/applet-notifications.c:116
545msgid "Properties:"
546msgstr "Svojstva"
547
548#: ../Folders/src/applet-notifications.c:136 ../Folders/data/messages:117
549msgid "Size"
550msgstr "Veličina"
551
552#: ../Folders/src/applet-notifications.c:136
553msgid "bytes"
554msgstr "bajtova"
555
556#: ../Folders/src/applet-notifications.c:150
557msgid "Last Modification"
558msgstr "Zadnja promjena"
559
560#: ../Folders/src/applet-notifications.c:159
561msgid "Mime Type"
562msgstr "Mime tip"
563
564#: ../Folders/src/applet-notifications.c:173
565msgid "User ID"
566msgstr "Indentifikator korisnika"
567
568#: ../Folders/src/applet-notifications.c:173
569msgid "Group ID"
570msgstr "ID grupe"
571
572#: ../Folders/src/applet-notifications.c:183
573msgid "Permissions"
574msgstr "Dozvole"
575
576#: ../Folders/src/applet-notifications.c:183
577msgid "Read"
578msgstr "Čitanje"
579
580#: ../Folders/src/applet-notifications.c:184
581#: ../Folders/src/applet-notifications.c:185
582#: ../Folders/src/applet-notifications.c:186 ../Disks/data/messages:105
583#: ../System-Monitor/data/messages:115 ../alsaMixer/data/messages:147
584#: ../netspeed/data/messages:115 ../slider/data/messages:169
585msgid "Yes"
586msgstr "Da"
587
588#: ../Folders/src/applet-notifications.c:184
589#: ../Folders/src/applet-notifications.c:185
590#: ../Folders/src/applet-notifications.c:186 ../Disks/data/messages:101
591#: ../Disks/data/messages:137 ../Messaging-Menu/data/messages:15
592#: ../Network-Monitor/data/messages:17 ../Network-Monitor/data/messages:117
593#: ../RSSreader/data/messages:113 ../Status-Notifier/data/messages:19
594#: ../System-Monitor/data/messages:15 ../System-Monitor/data/messages:111
595#: ../System-Monitor/data/messages:163 ../Toons/data/messages:15
596#: ../alsaMixer/data/messages:17 ../alsaMixer/data/messages:113
597#: ../alsaMixer/data/messages:143 ../clock/data/messages:17
598#: ../clock/data/messages:105 ../keyboard-indicator/data/messages:15
599#: ../mail/data/messages:15 ../musicPlayer/data/messages:17
600#: ../netspeed/data/messages:15 ../netspeed/data/messages:111
601#: ../netspeed/data/messages:159 ../powermanager/data/messages:17
602#: ../shortcuts/data/messages:119 ../slider/data/messages:15
603#: ../slider/data/messages:167 ../weather/data/messages:17
604#: ../wifi/data/messages:15
605msgid "No"
606msgstr "Ne"
607
608#: ../Folders/src/applet-notifications.c:184
609msgid "Write"
610msgstr "Pisanje"
611
612#: ../Folders/src/applet-notifications.c:185
613#: ../Scooby-Do/src/applet-backend-command.c:95
614msgid "Execute"
615msgstr "Izvrši"
616
617#: ../Folders/src/applet-notifications.c:211
618#, c-format
619msgid ""
620"You're about deleting this file\n"
621" (%s)\n"
622"from your hard-disk. Sure ?"
623msgstr ""
624"Obrisat ces datoteku\n"
625" (%s)\n"
626"sa diska. Jesi siguran ?"
627
628#: ../Folders/src/applet-notifications.c:221
629msgid ""
630"Warning: could not delete this file.\n"
631"Please check file permissions."
632msgstr "Pozor: ne mogu obrisati datoteku"
633
634#: ../Folders/src/applet-notifications.c:234
635msgid "Rename to:"
636msgstr "Preimenuj u:"
637
638#: ../Folders/src/applet-notifications.c:241
639#, c-format
640msgid ""
641"Warning: could not rename %s.\n"
642"Check file permissions \n"
643"and that the new name does not already exist."
644msgstr ""
645"Pozor: ne mogu promjeniti ime %s\n"
646"Provjeri dozvole fajla \n"
647"ili se novo ime vec koristi."
648
649#: ../Folders/src/applet-notifications.c:255
650#: ../Scooby-Do/src/applet-backend-files.c:390
651msgid "Pick up a directory"
652msgstr "Izaberi direktorij"
653
654#: ../Folders/src/applet-notifications.c:280
655msgid "Enter a file name:"
656msgstr "Unesi ime fajla"
657
658#: ../Folders/src/applet-notifications.c:288
659#, c-format
660msgid ""
661"Warning: could not create %s.\n"
662"Check file permissions \n"
663"and that the new name does not already exist."
664msgstr ""
665"Pozor: ne mogu kreirati %s\n"
666"Provjeri dozvole fajla \n"
667"ili se novo ime vec koristi."
668
669#: ../Folders/src/applet-notifications.c:365
670msgid "Open the folder"
671msgstr "Otvori mapu"
672
673#: ../Folders/src/applet-notifications.c:372
674msgid "Rename this file"
675msgstr "Promjeni ime fajla"
676
677#: ../Folders/src/applet-notifications.c:373
678msgid "Delete this file"
679msgstr "Izbriši ovu datoteku"
680
681#: ../Folders/src/applet-notifications.c:374
682msgid "Move this file"
683msgstr "Premjesti datoteku"
684
685#: ../Folders/src/applet-notifications.c:380
686#: ../Recent-Events/src/applet-dialog.c:263
687#: ../slider/src/applet-notifications.c:233
688msgid "Open with"
689msgstr "Otvori s(a)"
690
691#: ../Folders/src/applet-notifications.c:413
692msgid "Properties"
693msgstr "Postavke"
694
695#: ../Folders/src/applet-notifications.c:416
696msgid "Create a new file"
697msgstr "Stvara novu datoteku"
698
699#: ../Folders/src/applet-notifications.c:417
700msgid "Create a new folder"
701msgstr "Napravi novu mapu"
702
703#: ../Folders/src/applet-notifications.c:422
704msgid "Sort by"
705msgstr "Poredaj po"
706
707#: ../Folders/src/applet-notifications.c:423
708msgid "By name"
709msgstr "Po imenu"
710
711#: ../Folders/src/applet-notifications.c:424
712msgid "By date"
713msgstr "Po datumu"
714
715#: ../Folders/src/applet-notifications.c:425
716msgid "By size"
717msgstr "Po velicini"
718
719#: ../Folders/src/applet-notifications.c:426
720msgid "By type"
721msgstr "Po tipu"
722
723#: ../Folders/src/applet-notifications.c:468
724msgid "The folder has been imported."
725msgstr "Mapa je uvezena"
726
727#: ../Folders/src/applet-notifications.c:529
728msgid "Do you want to import the content of the folder too?"
729msgstr "Da uvezem i sadrzaj mape takodjer ?"
730
731#: ../GMenu/src/applet-init.c:33
732msgid ""
733"Displays the common Applications menu and the Recently used files.\n"
734"It is compatible with any XDG compliant menu (Gnome, XFCE, KDE, ...)\n"
735"Middle-click to open a dialog to quickly launch any command (you can set up "
736"a shortkey for it, like ALT+F2)\n"
737"You can also set up a shortkey to pop up the menu (like ALT+F1)"
738msgstr ""
739"Prikazuje zajednicki meni Aplikacije te Nedavno koristene datoteke.\n"
740"Kompatibilan sa svakim XDG usluznim menijem (Gnome,XFCE,KDE,...)\n"
741"Srednji klik otvara dijalog brzog pristupa komandama (mozes definirati "
742"kombinaciju tipki za to, poput ALT F2)\n"
743"Mozes definirati kombinaciju tipki i za otvaranje samog popup menija, poput "
744"ALT F1"
745
746#: ../GMenu/src/applet-init.c:39
747msgid "Applications Menu"
748msgstr "Meni Aplikacija"
749
750#: ../GMenu/src/applet-init.c:66
751msgid "Show/hide the Applications menu"
752msgstr "Pokazi/Sakri Meni Aplikacija"
753
754#: ../GMenu/src/applet-init.c:71
755msgid "Show/hide the quick-launch dialog"
756msgstr "Pokazi/Sakri dijalog brzog pokretanja"
757
758#: ../GMenu/src/applet-menu-callbacks.c:218 ../GMenu/data/messages:121
759msgid "Logout"
760msgstr "Odjava"
761
762#: ../GMenu/src/applet-menu-callbacks.c:221 ../GMenu/data/messages:123
763msgid "Shutdown"
764msgstr "Isključi"
765
766#: ../GMenu/src/applet-notifications.c:81
767msgid "Quick launch"
768msgstr "Brzo pokretanje"
769
770#: ../GMenu/src/applet-notifications.c:105
771msgid "Configure menu"
772msgstr "Meni Konfiguracije"
773
774#: ../GMenu/src/applet-notifications.c:108
775msgid "Clear recent"
776msgstr "Očisti nedavno"
777
778#: ../GMenu/src/applet-recent.c:56
779msgid "Recent Documents"
780msgstr "Nedavno korišteni dokumenti"
781
782#: ../GMenu/src/applet-recent.c:115
783msgid "Clear the list of the recently used documents?"
784msgstr "Obrisi listu nedavno koristenih dokumenata?"
785
786#: ../GMenu/src/applet-run-dialog.c:353 ../Scooby-Do/data/messages:111
787msgid "Enter a command to launch:"
788msgstr "Unesi komandu koju zelis pokrenuti:"
789
790#: ../Global-Menu/src/applet-init.c:30
791msgid "Global Menu"
792msgstr "Globalni Meni"
793
794#: ../Global-Menu/src/applet-init.c:33
795msgid ""
796"This applet allows you to control the current active window:\n"
797" close, minimize, maximize, and display the application menu.To display the "
798"menu, applications have to support this feature, which is the case on Ubuntu "
799"by default.\n"
800"You can bind a shortkey to this action."
801msgstr ""
802"Applet omogucuje kontrolu trenutno aktivnog prozora:\n"
803" zatvori,minimize,maximize,prikazi meni aplikacije - ako aplikacija "
804"podrzava tu opciju, sto je kod Ubuntu dozvoljeno u osnovi."
805
806#: ../Global-Menu/src/applet-init.c:108 ../Global-Menu/src/applet-init.c:210
807msgid "Show/hide the current application menu"
808msgstr "Pokazi/Sakri meni trenutne aplikacije"
809
810#: ../Global-Menu/src/applet-notifications.c:52
811msgid "The application didn't send its menu to us."
812msgstr "Aplikacija nije dostavila meni"
813
814#: ../Impulse/src/applet-impulse.c:170
815msgid ""
816"There is something wrong with PulseAudio.\n"
817"Can you check its status (installed? running? version?) and report this bug "
818"(if any) to forum.glx-dock.org"
819msgstr ""
820"Nesto nije u redu s PulseAudio.\n"
821"Provjeri status (instaliran? startan? verzija?) i prijavi bug (ako postoji) "
822"na forum.glx-dock.org"
823
824#: ../Impulse/src/applet-init.c:32
825msgid ""
826"Did you know that your dock can dance? :)\n"
827"If you click on this icon, the dock will dance!\n"
828"In fact, you will have a graphical equalizer into the dock\n"
829"It will analyse the signal given by PulseAudio."
830msgstr ""
831"Znas li da tvoj Dok plese? :)\n"
832"Klikni na ovu ikonu, Dok ce zaplesati!\n"
833"Zapravo, dobit ces graficki prikaz miksera u Doku.\n"
834"Prikazuje signal s PulseAudio servisa."
835
836#: ../MeMenu/src/applet-init.c:30
837msgid "Me Menu"
838msgstr "Moj Meni"
839
840#: ../MeMenu/src/applet-init.c:33
841msgid ""
842"A menu that lets you access quickly to your information, your online status, "
843"your friends."
844msgstr ""
845"Meni omogucuje brzi pristup tvojim informacijama, online statusu, tvojim "
846"prijateljima."
847
848#: ../MeMenu/src/applet-notifications.c:31
849msgid "It seems that the Me-Menu is not installed on your system"
850msgstr "Izgleda da Moj Meni nije instaliran"
851
852#: ../Messaging-Menu/src/applet-init.c:30
853msgid "Messaging Menu"
854msgstr "Meni Poruka"
855
856#: ../Messaging-Menu/src/applet-init.c:33
857msgid ""
858"A menu that notices you about new messages from Mail or Chat applications.\n"
859"It handles Evolution, Pidgin, Empathy, etc\n"
860"It requires the Messaging service, which is available on Ubuntu by default."
861msgstr "Meni te obavijestava o novim porukama s Mail ili Chat aplikacije"
862
863#: ../Messaging-Menu/src/applet-init.c:66
864msgid "Show/hide the Messaging menu"
865msgstr "Pokazi/Sakri Menu Poruka"
866
867#: ../Messaging-Menu/src/applet-notifications.c:31
868msgid ""
869"The Messaging service did not reply.\n"
870"Please check that it is correctly installed."
871msgstr "Servis Poruka nije aktivan"
872
873#: ../Network-Monitor/src/applet-dbus-callbacks.c:69
874msgid "Network connection state changed to inactive."
875msgstr "Mrežni status promijenjen u neaktivan"
876
877#: ../Network-Monitor/src/applet-dbus-callbacks.c:75
878msgid "Connecting..."
879msgstr "Povezivanje…"
880
881#: ../Network-Monitor/src/applet-dbus-callbacks.c:82
882msgid "Network connection is established."
883msgstr "Veza je uspostavljena."
884
885#: ../Network-Monitor/src/applet-dbus-callbacks.c:88
886msgid "Network connection state changed to disconnected."
887msgstr "Mrezni status promijenjen u odspojen."
888
889#: ../Network-Monitor/src/applet-dbus-callbacks.c:150
890msgid "A cable has been plugged"
891msgstr "Kabel je ukljucen"
892
893#: ../Network-Monitor/src/applet-dbus-callbacks.c:150
894msgid "A cable has been unplugged"
895msgstr "Kabel je iskljucen"
896
897#: ../Network-Monitor/src/applet-draw.c:30
898#: ../powermanager/src/powermanager-draw.c:174 ../wifi/src/applet-draw.c:31
899#: ../Clipper/data/messages:99 ../GMenu/data/messages:119
900#: ../Network-Monitor/data/messages:221 ../alsaMixer/data/messages:121
901#: ../dnd2share/data/messages:111 ../dustbin/data/messages:101
902#: ../wifi/data/messages:139 ../wifi/data/messages:189
903msgid "None"
904msgstr "Nijedan"
905
906#: ../Network-Monitor/src/applet-draw.c:30 ../wifi/src/applet-draw.c:31
907msgid "Very Low"
908msgstr "Vrlo nisko"
909
910#: ../Network-Monitor/src/applet-draw.c:30 ../wifi/src/applet-draw.c:31
911msgid "Low"
912msgstr "Nisko"
913
914#: ../Network-Monitor/src/applet-draw.c:30 ../wifi/src/applet-draw.c:31
915msgid "Middle"
916msgstr "Sredina"
917
918#: ../Network-Monitor/src/applet-draw.c:30 ../wifi/src/applet-draw.c:31
919msgid "Good"
920msgstr "Dobro"
921
922#: ../Network-Monitor/src/applet-draw.c:30 ../wifi/src/applet-draw.c:31
923msgid "Excellent"
924msgstr "Odlicno"
925
926#: ../Network-Monitor/src/applet-draw.c:30
927msgid "Not connected"
928msgstr "Nije spojeno"
929
930#: ../Network-Monitor/src/applet-draw.c:30
931msgid "Wired connection"
932msgstr "Žičana veza"
933
934#: ../Network-Monitor/src/applet-draw.c:126 ../wifi/src/applet-draw.c:171
935msgid ""
936"Checking connection...\n"
937"Please retry in a few seconds"
938msgstr ""
939"Provjera veze...\n"
940"Molim ponovi za nekoliko trenutaka"
941
942#: ../Network-Monitor/src/applet-draw.c:134
943msgid "Wired Connection."
944msgstr "Zicana veza"
945
946#: ../Network-Monitor/src/applet-draw.c:136
947#: ../Network-Monitor/src/applet-draw.c:151 ../wifi/src/applet-draw.c:188
948msgid "Interface"
949msgstr "Sučelje"
950
951#: ../Network-Monitor/src/applet-draw.c:137
952#: ../Network-Monitor/src/applet-draw.c:149
953msgid "Speed"
954msgstr "Brzina"
955
956#: ../Network-Monitor/src/applet-draw.c:146 ../wifi/src/applet-draw.c:184
957msgid "Wifi enabled."
958msgstr "Wifi omogucen"
959
960#: ../Network-Monitor/src/applet-draw.c:148 ../wifi/src/applet-draw.c:186
961msgid "Network ID"
962msgstr "ID Mreže"
963
964#: ../Network-Monitor/src/applet-draw.c:148
965#: ../musicPlayer/src/applet-draw.c:152 ../musicPlayer/src/applet-draw.c:154
966#: ../musicPlayer/src/applet-draw.c:156
967#: ../powermanager/src/powermanager-draw.c:203
968#: ../powermanager/src/powermanager-draw.c:256
969msgid "Unknown"
970msgstr "Nepoznato"
971
972#: ../Network-Monitor/src/applet-draw.c:150 ../wifi/src/applet-draw.c:187
973msgid "Access point"
974msgstr "Pristupna točka"
975
976#: ../Network-Monitor/src/applet-draw.c:152 ../wifi/src/applet-draw.c:189
977msgid "Signal Quality"
978msgstr "Kvaliteta signala"
979
980#: ../Network-Monitor/src/applet-init.c:31
981msgid "Network-Monitor"
982msgstr "Mrezni-Monitor"
983
984#: ../Network-Monitor/src/applet-init.c:34
985msgid ""
986"This applet allows you to monitor your network connection(s).\n"
987"It can display the download/upload speeds and the wifi signal quality.\n"
988"If you have network-manager running, it can also let you choose the current "
989"wifi network.\n"
990"Left-click to pop-up some info,Scroll on the icon to switch the display "
991"between net speed and wifi."
992msgstr ""
993"Applet dozvoljava monitoring mreznih veza.\n"
994"Prikazuje brzinu downloada/uploada te kvalitetu Wifi signala.\n"
995"Ako je mrezni-urednik startan, mozes izabrati trenutnu wifi mrezu.\n"
996"Lijevi klik daje info pop-up, skrolaj na ikoni da prebacis izmedju mrezne "
997"brzine i izbora wifi mreze."
998
999#: ../Network-Monitor/src/applet-netspeed.c:200
1000#: ../System-Monitor/src/applet-monitor.c:95
1001#: ../System-Monitor/src/applet-top.c:428
1002#: ../netspeed/src/applet-netspeed.c:200
1003msgid "Loading"
1004msgstr "Učitavam"
1005
1006#: ../Network-Monitor/src/applet-notifications.c:81
1007#: ../wifi/src/applet-notifications.c:70
1008msgid "Check for Wireless Extension"
1009msgstr "Provjera bezicnog pristupa mrezi"
1010
1011#: ../Network-Monitor/src/applet-notifications.c:82
1012#: ../wifi/src/applet-notifications.c:71
1013msgid "Network Administration"
1014msgstr "Mrezna Administracija"
1015
1016#: ../Network-Monitor/src/applet-notifications.c:86
1017msgid "Activate network"
1018msgstr "Aktiviraj mrezu"
1019
1020#: ../Network-Monitor/src/applet-notifications.c:86
1021msgid "Deactivate network"
1022msgstr "Iskljuci mrezu"
1023
1024#: ../Network-Monitor/src/applet-notifications.c:90
1025msgid "Deactivate wifi"
1026msgstr "Iskljuci wifi"
1027
1028#: ../Network-Monitor/src/applet-notifications.c:90
1029msgid "Activate wifi"
1030msgstr "Aktiviraj wifi"
1031
1032#: ../RSSreader/src/applet-init.c:31
1033msgid "RSSreader"
1034msgstr "RSS citac"
1035
1036#: ../RSSreader/src/applet-init.c:34
1037msgid ""
1038"This applet is an RSS/Atom feed reader.\n"
1039"You can instanciate it as many times as you want.\n"
1040"USAGE:\n"
1041" - Left-click : display the complete feed lines in a dialog.\n"
1042" - Middle-click : refresh the feed.\n"
1043" - Scroll on the desklet : make the feed lines scroll.\n"
1044" - Drag and drop a valid URL on the icon to use it,\n"
1045" or copy it and use \"Paste a new RSS Url\" in the menu.\n"
1046" or edit the Configuration Panel."
1047msgstr ""
1048"Applet je RSS/Atom citac.\n"
1049"Mozes otvoriti vise instanci odjednom.\n"
1050"UPOTREBA:\n"
1051" - Lijevi klik: prikaz kompletnog sadrzaja u dijalogu.\n"
1052" - Srednji klik: osvjezi citac.\n"
1053" - Skrol na desklet: skrola sadrzaj u dijalogu.\n"
1054" - Pokupi i ispusti URL na ikonu, da startas citac\n"
1055" ili kopiraj/zalijepi novi RSS URL sa menija\n"
1056" ili uredi u Konfiguracijskom panelu"
1057
1058#: ../RSSreader/src/applet-init.c:65 ../RSSreader/src/applet-init.c:125
1059#: ../RSSreader/src/applet-notifications.c:56
1060msgid "Retrieving data..."
1061msgstr "Prihvacam podatke"
1062
1063#: ../RSSreader/src/applet-notifications.c:69
1064msgid "It doesn't seem to be a valid URL."
1065msgstr "Izgleda da je URL neispravan"
1066
1067#: ../RSSreader/src/applet-notifications.c:124
1068msgid "Paste a new RSS Url (drag and drop)"
1069msgstr "Zalijepi novi RSS URL (pokupi i ispusti)"
1070
1071#: ../RSSreader/src/applet-notifications.c:128
1072msgid "Open with your web browser"
1073msgstr "Otvori u internet pregledniku"
1074
1075#: ../RSSreader/src/applet-notifications.c:129
1076#: ../switcher/src/applet-notifications.c:332
1077msgid "Refresh"
1078msgstr "Osvježi"
1079
1080#: ../RSSreader/src/applet-rss.c:400
1081msgid "Warning: couldn't retrieve data last time we tried."
1082msgstr "Pozor: zadnji prihvat podataka nije uspio"
1083
1084#: ../RSSreader/src/applet-rss.c:436
1085msgid "No URL is defined."
1086msgstr "URL nije definiran"
1087
1088#: ../RSSreader/src/applet-rss.c:437
1089msgid "No data (no connection?)"
1090msgstr "Nema podataka ( veza? )"
1091
1092#: ../RSSreader/src/applet-rss.c:468 ../RSSreader/src/applet-rss.c:487
1093msgid "Invalid data (invalid RSS/Atom feed?)"
1094msgstr "Neispravni podaci (nije RSS/Atom ?)"
1095
1096#: ../RSSreader/src/applet-rss.c:551
1097msgid "No data"
1098msgstr "Nema podataka"
1099
1100#: ../RSSreader/src/applet-rss.c:589
1101msgid "No modification"
1102msgstr "Bez promjene"
1103
1104#: ../RSSreader/src/applet-rss.c:614
1105msgid "This RSS feed has been modified..."
1106msgstr "RSS je promijenjen"
1107
1108#: ../RSSreader/src/applet-rss.c:775
1109msgid ""
1110"No URL is defined\n"
1111"You can define one by copying the URL in the clipboard,\n"
1112" and selecting \"Paste the URL\" in the menu."
1113msgstr ""
1114"URL nije definiran\n"
1115"Kopiraj URL na clipboard \n"
1116" zatim izaberi \"Zalijepi novi RSS URL\" s menija"
1117
1118#: ../RSSreader/src/applet-rss.c:781
1119msgid ""
1120"No data\n"
1121"Did you set a valid RSS feed?\n"
1122"Is your connection alive?"
1123msgstr ""
1124"Nema podataka\n"
1125"Jesi postavio ispravan RSS?\n"
1126"Da li je veza aktivna?"
1127
1128#: ../Recent-Events/src/applet-dialog.c:288
1129#: ../stack/src/applet-notifications.c:179
1130msgid "Open parent folder"
1131msgstr "Otvori mapu iznad"
1132
1133#: ../Recent-Events/src/applet-dialog.c:290
1134msgid "Copy the location"
1135msgstr "Kopiraj lokaciju"
1136
1137#: ../Recent-Events/src/applet-dialog.c:292
1138msgid "Delete this event"
1139msgstr "Obrisi dogadjaj"
1140
1141#: ../Recent-Events/src/applet-dialog.c:365
1142msgid "All"
1143msgstr "Sve"
1144
1145#: ../Recent-Events/src/applet-dialog.c:366
1146msgid "Document"
1147msgstr "Dokument"
1148
1149#: ../Recent-Events/src/applet-dialog.c:368 ../logout/data/messages:129
1150msgid "Image"
1151msgstr "Slika"
1152
1153#: ../Recent-Events/src/applet-dialog.c:369
1154msgid "Audio"
1155msgstr "Zvuk"
1156
1157#: ../Recent-Events/src/applet-dialog.c:370
1158msgid "Video"
1159msgstr "Video"
1160
1161#: ../Recent-Events/src/applet-dialog.c:371
1162msgid "Web"
1163msgstr "Internet"
1164
1165#: ../Recent-Events/src/applet-dialog.c:372
1166msgid "Other"
1167msgstr "Ostalo"
1168
1169#: ../Recent-Events/src/applet-dialog.c:373
1170msgid "Top Results"
1171msgstr "Najbolji Rezultati"
1172
1173#: ../Recent-Events/src/applet-dialog.c:379
1174msgid "Look for events"
1175msgstr "Trazi dogadjaj"
1176
1177#: ../Recent-Events/src/applet-dialog.c:430
1178msgid "File name"
1179msgstr "Ime datoteke"
1180
1181#: ../Recent-Events/src/applet-dialog.c:437
1182msgid "Last access"
1183msgstr "Zadnji pristup"
1184
1185#: ../Recent-Events/src/applet-dialog.c:481
1186msgid "You need to install the Zeitgeist data engine."
1187msgstr "Moras instalirati Zeitgeist engine"
1188
1189#: ../Recent-Events/src/applet-dialog.c:516
1190msgid "Browse and search in recent events"
1191msgstr "Pregledaj i pretrazi zadnje dogadjaje"
1192
1193#: ../Recent-Events/src/applet-init.c:29
1194msgid "Recent-Events"
1195msgstr "Zadnji dogadjaji"
1196
1197#: ../Recent-Events/src/applet-init.c:58
1198msgid "Show/hide the Recent Events"
1199msgstr ""
1200
1201#: ../Recent-Events/src/applet-notifications.c:74
1202#, c-format
1203msgid "%d event(s) deleted"
1204msgstr ""
1205
1206#: ../Recent-Events/src/applet-notifications.c:113
1207#: ../Scooby-Do/src/applet-backend-recent.c:212 ../Scooby-Do/data/messages:105
1208msgid "Recent files"
1209msgstr ""
1210
1211#: ../Recent-Events/src/applet-notifications.c:161
1212msgid "Delete today's events"
1213msgstr ""
1214
1215#: ../Recent-Events/src/applet-notifications.c:163
1216msgid "Delete all events"
1217msgstr ""
1218
1219#: ../Remote-Control/src/applet-init.c:32
1220msgid ""
1221"This plug-in lets you control your dock from the keyboard\n"
1222"Press the shortcut (by default Super + Return), then either:\n"
1223" - press the number of the icon that you want to activate - or use the "
1224"arrows to navigate into the docks and sub-docks (Ctrl + Page up/down to "
1225"change to another main dock)\n"
1226" - or type the name of a launcher and press Tab to automatically jump to the "
1227"next suitable launcher\n"
1228"Press Enter to click on the icon, Shift+Enter for Shift+click, Alt+Enter for "
1229"middle click, and Ctrl+Enter for left click\n"
1230"Escape or the same shortkey will cancel."
1231msgstr ""
1232
1233#: ../Remote-Control/src/applet-init.c:42
1234msgid "Control from keyboard"
1235msgstr ""
1236
1237#: ../Remote-Control/src/applet-init.c:49
1238msgid "Enable/disable the keyboard control of the dock"
1239msgstr ""
1240
1241#: ../Scooby-Do/src/applet-backend-command.c:63
1242#, c-format
1243msgid "The value %s has been copied into the clipboard."
1244msgstr ""
1245
1246#: ../Scooby-Do/src/applet-backend-files.c:161
1247msgid "Open a terminal here"
1248msgstr ""
1249
1250#: ../Scooby-Do/src/applet-backend-files.c:169
1251msgid "Zip folder"
1252msgstr ""
1253
1254#: ../Scooby-Do/src/applet-backend-files.c:177
1255#: ../Scooby-Do/src/applet-backend-files.c:251
1256msgid "Move to"
1257msgstr ""
1258
1259#: ../Scooby-Do/src/applet-backend-files.c:185
1260#: ../Scooby-Do/src/applet-backend-files.c:259
1261#: ../Scooby-Do/src/applet-backend-firefox.c:374
1262msgid "Copy URL"
1263msgstr ""
1264
1265#: ../Scooby-Do/src/applet-backend-files.c:227
1266#: ../Scooby-Do/src/applet-backend-recent.c:145
1267msgid "Open location"
1268msgstr ""
1269
1270#: ../Scooby-Do/src/applet-backend-files.c:235
1271msgid "Zip file"
1272msgstr ""
1273
1274#: ../Scooby-Do/src/applet-backend-files.c:243
1275msgid "Mail file"
1276msgstr ""
1277
1278#: ../Scooby-Do/src/applet-backend-files.c:524
1279msgid "Files"
1280msgstr ""
1281
1282#: ../Scooby-Do/src/applet-backend-firefox.c:358
1283msgid "Open"
1284msgstr ""
1285
1286#: ../Scooby-Do/src/applet-backend-firefox.c:366
1287msgid "Open in new window"
1288msgstr ""
1289
1290#: ../Scooby-Do/src/applet-backend-firefox.c:433
1291#: ../dnd2share/src/applet-notifications.c:483
1292msgid "Open file"
1293msgstr ""
1294
1295#: ../Scooby-Do/src/applet-backend-firefox.c:496
1296#: ../Scooby-Do/data/messages:103
1297msgid "Firefox bookmarks"
1298msgstr ""
1299
1300#: ../Scooby-Do/src/applet-backend-web.c:99
1301msgid "Wikipedia"
1302msgstr ""
1303
1304#: ../Scooby-Do/src/applet-backend-web.c:107
1305msgid "Yahoo!"
1306msgstr ""
1307
1308#: ../Scooby-Do/src/applet-backend-web.c:115
1309msgid "Google"
1310msgstr ""
1311
1312#: ../Scooby-Do/src/applet-backend-web.c:125
1313msgid "Search on the web"
1314msgstr ""
1315
1316#: ../Scooby-Do/src/applet-backend-web.c:139
1317msgid "Mediadico"
1318msgstr ""
1319
1320#: ../Scooby-Do/src/applet-backend-web.c:147
1321msgid "Amazon"
1322msgstr ""
1323
1324#: ../Scooby-Do/src/applet-init.c:73
1325msgid "Enable/disable the Finder"
1326msgstr ""
1327
1328#: ../Scooby-Do/src/applet-listing.c:514
1329msgid "(F1) Match case"
1330msgstr ""
1331
1332#: ../Scooby-Do/src/applet-listing.c:521
1333msgid "(F2) Music"
1334msgstr ""
1335
1336#: ../Scooby-Do/src/applet-listing.c:528
1337msgid "(F3) Image"
1338msgstr ""
1339
1340#: ../Scooby-Do/src/applet-listing.c:535
1341msgid "(F4) Video"
1342msgstr ""
1343
1344#: ../Scooby-Do/src/applet-listing.c:542
1345msgid "(F5) Text"
1346msgstr ""
1347
1348#: ../Scooby-Do/src/applet-listing.c:549
1349msgid "(F6) Html"
1350msgstr ""
1351
1352#: ../Scooby-Do/src/applet-listing.c:556
1353msgid "(F7) Sources"
1354msgstr ""
1355
1356#: ../Scooby-Do/src/applet-listing.c:675 ../Scooby-Do/src/applet-search.c:362
1357msgid "No result"
1358msgstr ""
1359
1360#: ../Scooby-Do/src/applet-listing.c:679 ../Scooby-Do/src/applet-search.c:358
1361#: ../tomboy/src/tomboy-draw.c:156 ../tomboy/src/tomboy-draw.c:169
1362msgid "results"
1363msgstr ""
1364
1365#: ../Scooby-Do/src/applet-listing.c:679 ../Scooby-Do/src/applet-search.c:358
1366#: ../tomboy/src/tomboy-draw.c:156 ../tomboy/src/tomboy-draw.c:169
1367msgid "result"
1368msgstr ""
1369
1370#: ../Scooby-Do/src/applet-search.c:132
1371msgid "Searching ..."
1372msgstr ""
1373
1374#: ../Scooby-Do/src/applet-session.c:70
1375msgid "Enter your search"
1376msgstr ""
1377
1378#: ../Status-Notifier/src/applet-init.c:33
1379msgid ""
1380"A <b>notification area</b> for your dock\n"
1381"Programs can use it to display their current status.\n"
1382"If a program doesn't appear inside when it should, it's probably because it "
1383"doesn't support this feature yet. Please fill a bug report to the devs."
1384msgstr ""
1385
1386#: ../Status-Notifier/src/applet-init.c:38
1387msgid "Notification Area"
1388msgstr ""
1389
1390#: ../System-Monitor/src/applet-cpusage.c:57
1391msgid "Uptime"
1392msgstr ""
1393
1394#: ../System-Monitor/src/applet-cpusage.c:62
1395msgid "Activity time"
1396msgstr ""
1397
1398#: ../System-Monitor/src/applet-cpusage.c:145
1399msgid "CPU model"
1400msgstr ""
1401
1402#: ../System-Monitor/src/applet-cpusage.c:146
1403msgid "Frequency"
1404msgstr ""
1405
1406#: ../System-Monitor/src/applet-cpusage.c:147
1407msgid "core(s)"
1408msgstr ""
1409
1410#: ../System-Monitor/src/applet-init.c:38
1411msgid ""
1412"This applet shows you the CPU load, RAM usage, graphic card temperature, "
1413"etc.\n"
1414"Middle click on the icon to get some valuable info.\n"
1415"Left click on the icon to get a list of the most ressources using programs.\n"
1416"You can instanciate this applet several times to show different values each "
1417"time."
1418msgstr ""
1419
1420#: ../System-Monitor/src/applet-notifications.c:40
1421#: ../System-Monitor/src/applet-notifications.c:83
1422msgid ""
1423"The acquisition of one or more data has failed.\n"
1424"You should remove the data that couldn't be fetched."
1425msgstr ""
1426
1427#: ../System-Monitor/src/applet-notifications.c:104
1428#: ../netspeed/src/applet-notifications.c:98
1429msgid "Open the System-Monitor"
1430msgstr ""
1431
1432#: ../System-Monitor/src/applet-notifications.c:106
1433msgid "Show info"
1434msgstr ""
1435
1436#: ../System-Monitor/src/applet-nvidia.c:146
1437msgid "GPU model"
1438msgstr ""
1439
1440#: ../System-Monitor/src/applet-nvidia.c:147
1441msgid "Video Ram"
1442msgstr ""
1443
1444#: ../System-Monitor/src/applet-nvidia.c:147
1445#: ../System-Monitor/src/applet-rame.c:124
1446#: ../System-Monitor/src/applet-top.c:297
1447msgid "Mb"
1448msgstr ""
1449
1450#: ../System-Monitor/src/applet-nvidia.c:148
1451msgid "Driver Version"
1452msgstr ""
1453
1454#: ../System-Monitor/src/applet-nvidia.c:149
1455msgid "Core Temperature"
1456msgstr ""
1457
1458#: ../System-Monitor/src/applet-nvidia.c:161
1459#, c-format
1460msgid "Alert! Graphic Card core temperature has reached %d°C"
1461msgstr ""
1462
1463#: ../System-Monitor/src/applet-rame.c:124
1464msgid "Gb"
1465msgstr ""
1466
1467#: ../System-Monitor/src/applet-rame.c:134
1468msgid "Memory"
1469msgstr ""
1470
1471#: ../System-Monitor/src/applet-rame.c:135
1472msgid "Available"
1473msgstr ""
1474
1475#: ../System-Monitor/src/applet-rame.c:136
1476msgid "Cached"
1477msgstr ""
1478
1479#: ../System-Monitor/src/applet-rame.c:137
1480msgid "Buffers"
1481msgstr ""
1482
1483#: ../System-Monitor/src/applet-sensors.c:358
1484msgid "min"
1485msgstr ""
1486
1487#: ../System-Monitor/src/applet-sensors.c:360
1488msgid "max"
1489msgstr ""
1490
1491#: ../System-Monitor/src/applet-sensors.c:363
1492#: ../System-Monitor/src/applet-sensors.c:396
1493msgid "alarm"
1494msgstr ""
1495
1496#: ../System-Monitor/src/applet-sensors.c:394
1497msgid "rpm"
1498msgstr ""
1499
1500#: ../System-Monitor/src/applet-sensors.c:413
1501#, c-format
1502msgid "CPU temperature has reached %d°C"
1503msgstr ""
1504
1505#: ../System-Monitor/src/applet-sensors.c:427
1506#, c-format
1507msgid "Fan speed has reached %d rpm"
1508msgstr ""
1509
1510#: ../Toons/src/applet-init.c:29
1511msgid "Toons"
1512msgstr ""
1513
1514#: ../Toons/src/applet-init.c:32
1515msgid "This applet displays a toon that will look at your mouse."
1516msgstr ""
1517
1518#: ../Xgamma/src/applet-init.c:44
1519msgid ""
1520"Setup the luminosity of your screen directly from your dock.\n"
1521"Scroll up/down to increase/decrease the luminosity\n"
1522"Left-click to open a dialog to setup the luminosity\n"
1523"Middle-click to set it up for each color.\n"
1524"You can also define a luminosity value that will be applied automatically on "
1525"startup."
1526msgstr ""
1527
1528#: ../Xgamma/src/applet-init.c:52
1529msgid "Screen Luminosity"
1530msgstr ""
1531
1532#: ../Xgamma/src/applet-init.c:64
1533msgid "Increase the brightness"
1534msgstr ""
1535
1536#: ../Xgamma/src/applet-init.c:68
1537msgid "Decrease the brightness"
1538msgstr ""
1539
1540#: ../Xgamma/src/applet-notifications.c:87
1541msgid "Set up gamma correction"
1542msgstr ""
1543
1544#: ../Xgamma/src/applet-notifications.c:91
1545msgid "Apply current luminosity on startup"
1546msgstr ""
1547
1548#: ../Xgamma/src/applet-xgamma.c:206 ../Xgamma/src/applet-xgamma.c:280
1549msgid "Set up gamma:"
1550msgstr ""
1551
1552#: ../Xgamma/src/applet-xgamma.c:293
1553msgid "Luminosity"
1554msgstr ""
1555
1556#: ../alsaMixer/src/applet-backend-alsamixer.c:46
1557#, c-format
1558msgid "I couldn't open card '%s'"
1559msgstr ""
1560
1561#: ../alsaMixer/src/applet-backend-alsamixer.c:51
1562#, c-format
1563msgid "Card '%s' opened but I couldn't get any info"
1564msgstr ""
1565
1566#: ../alsaMixer/src/applet-backend-alsamixer.c:59
1567msgid "I couldn't open the mixer"
1568msgstr ""
1569
1570#: ../alsaMixer/src/applet-backend-alsamixer.c:66
1571msgid "I couldn't attach the mixer to the card"
1572msgstr ""
1573
1574#: ../alsaMixer/src/applet-backend-alsamixer.c:73
1575msgid "I couldn't register options"
1576msgstr ""
1577
1578#: ../alsaMixer/src/applet-backend-alsamixer.c:80
1579msgid "I couldn't load the mixer"
1580msgstr ""
1581
1582#: ../alsaMixer/src/applet-backend-alsamixer.c:261
1583msgid "Set up volume:"
1584msgstr ""
1585
1586#: ../alsaMixer/src/applet-draw.c:64
1587msgid "Volume"
1588msgstr ""
1589
1590#: ../alsaMixer/src/applet-init.c:34
1591msgid ""
1592"This applet lets you control the sound volume from the dock.\n"
1593"Scroll up/down on the icon to increase/decrease the volume.\n"
1594"Click on icon to show/hide the volume control (you can bind a keyboard "
1595"shortcut for it)\n"
1596"Middle-click to set or unset to mute, double-click to raise the channels "
1597"mixer.\n"
1598"The applet can either use the Ubuntu Sound-menu or the Alsa driver."
1599msgstr ""
1600
1601#: ../alsaMixer/src/applet-init.c:42
1602msgid "Sound Control"
1603msgstr ""
1604
1605#: ../alsaMixer/src/applet-init.c:118
1606msgid "Show/hide the Sound menu"
1607msgstr ""
1608
1609#: ../alsaMixer/src/applet-notifications.c:80
1610msgid "Adjust channels"
1611msgstr ""
1612
1613#: ../alsaMixer/src/applet-notifications.c:80
1614msgid "double-click"
1615msgstr ""
1616
1617#: ../alsaMixer/src/applet-notifications.c:85
1618msgid "Unmute"
1619msgstr ""
1620
1621#: ../alsaMixer/src/applet-notifications.c:85
1622msgid "Mute"
1623msgstr ""
1624
1625#: ../clock/src/applet-calendar.c:193 ../clock/src/applet-calendar.c:274
1626#: ../clock/src/applet-calendar.c:528 ../clock/src/applet-calendar.c:533
1627#: ../clock/src/applet-task-editor.c:119 ../clock/src/applet-timer.c:87
1628#: ../clock/src/applet-timer.c:175 ../clock/src/applet-timer.c:457
1629#: ../clock/src/applet-timer.c:474 ../clock/src/applet-timer.c:494
1630msgid "No title"
1631msgstr ""
1632
1633#: ../clock/src/applet-calendar.c:529
1634msgid "years"
1635msgstr ""
1636
1637#: ../clock/src/applet-calendar.c:651
1638msgid "Calendar and tasks"
1639msgstr ""
1640
1641#: ../clock/src/applet-config.c:36 ../clock/data/messages:175
1642msgid "Alarm"
1643msgstr ""
1644
1645#: ../clock/src/applet-config.c:36
1646msgid "Time you want to be notified:"
1647msgstr ""
1648
1649#: ../clock/src/applet-config.c:36
1650msgid "In the form xx:xx. E.g.: 20:35 for 8:35pm"
1651msgstr ""
1652
1653#: ../clock/src/applet-config.c:36
1654msgid "Never"
1655msgstr ""
1656
1657#: ../clock/src/applet-config.c:36
1658msgid "Day"
1659msgstr ""
1660
1661#: ../clock/src/applet-config.c:36 ../weather/src/applet-load-icons.c:26
1662msgid "Monday"
1663msgstr ""
1664
1665#: ../clock/src/applet-config.c:36 ../weather/src/applet-load-icons.c:26
1666msgid "Tuesday"
1667msgstr ""
1668
1669#: ../clock/src/applet-config.c:36 ../weather/src/applet-load-icons.c:26
1670msgid "Wednesday"
1671msgstr ""
1672
1673#: ../clock/src/applet-config.c:36 ../weather/src/applet-load-icons.c:26
1674msgid "Thursday"
1675msgstr ""
1676
1677#: ../clock/src/applet-config.c:36 ../weather/src/applet-load-icons.c:26
1678msgid "Friday"
1679msgstr ""
1680
1681#: ../clock/src/applet-config.c:36 ../weather/src/applet-load-icons.c:26
1682msgid "Saturday"
1683msgstr ""
1684
1685#: ../clock/src/applet-config.c:36 ../weather/src/applet-load-icons.c:26
1686msgid "Sunday"
1687msgstr ""
1688
1689#: ../clock/src/applet-config.c:36
1690msgid "Week Day"
1691msgstr ""
1692
1693#: ../clock/src/applet-config.c:36
1694msgid "Week End"
1695msgstr ""
1696
1697#: ../clock/src/applet-config.c:36
1698msgid "Month"
1699msgstr ""
1700
1701#: ../clock/src/applet-config.c:36
1702msgid "Repeat every:"
1703msgstr ""
1704
1705#: ../clock/src/applet-config.c:36
1706msgid "If every month, which day of the month?"
1707msgstr ""
1708
1709#: ../clock/src/applet-config.c:36
1710msgid "Message you want to use to be notified:"
1711msgstr ""
1712
1713#: ../clock/src/applet-config.c:36
1714msgid "Tea Time!"
1715msgstr ""
1716
1717#: ../clock/src/applet-config.c:36
1718msgid "Command to launch:"
1719msgstr ""
1720
1721#: ../clock/src/applet-config.c:36
1722msgid "E.g.:"
1723msgstr ""
1724
1725#: ../clock/src/applet-config.c:505 ../weather/src/applet-config.c:207
1726msgid "Search for your location :"
1727msgstr ""
1728
1729#: ../clock/src/applet-init.c:35
1730msgid "clock"
1731msgstr ""
1732
1733#: ../clock/src/applet-init.c:38
1734msgid ""
1735"This applet displays time, date and a calandar.\n"
1736"2 view are available : <b>numeric</b> and <b>analogic</b>.\n"
1737" Analogic view is compatible with the Cairo-Clock's themes, and you can "
1738"detach the applet to be a perfect clone of Cairo-Clock.\n"
1739"It displays a <b>calendar</b> on left-click, which lets you <b>manage "
1740"tasks</b>.\n"
1741"It also supports alarms, and allows you to setup time and date.\n"
1742"Left-click to show/hide the calendar, Middle-click to stop a notification,\n"
1743"Double-click on a day to edit the tasks for this day."
1744msgstr ""
1745
1746#: ../clock/src/applet-notifications.c:62
1747msgid ""
1748"No task is sheduled for today.\n"
1749"\n"