debian/0000775000000000000000000000000012321070654007170 5ustar debian/changelog0000664000000000000000000017137112321070566011056 0ustar cairo-dock-plug-ins (3.3.99.beta1.2.really.3.3.2-0ubuntu2) trusty; urgency=medium * debian/patches/bzr3070_Status-Notifier_workaround_was_broken_due_to_ DBus_API_change.patch: - Status-Notifier was broken on Ubuntu 14.04 due to a DBus API change in Indicator-Application (LP: #1303731) -- Matthieu Baerts (matttbe) Wed, 09 Apr 2014 00:00:14 +0200 cairo-dock-plug-ins (3.3.99.beta1.2.really.3.3.2-0ubuntu1) trusty; urgency=medium * Revert back to the 3.3.2 version: (LP: #1302246) Unfortunately, due to the lack of time, we have to revert back to the latest stable version. Sorry for that but feel free to help us ;-) * debian/patches: cherry-pick patches from upstream BZR repo, all 'bug-fix' and changes that were already in the 3.3.99.beta1 version except all changes linked to the new style, the menu and the configuration. - bzr3008_GMenu_new_apps_in_the_list.patch: GMenu: New Apps: if there are new apps when the 'new apps' dialogue is opened, add these new apps in the list - bzr3010_GMenu_option_hide_new_apps_dialogue.patch: GMenu: Config: Added the possibility to not display notification to quickly launch new apps - bzr3021_Terminal_launch_default_terminal_middle_click.patch: Terminal: middle click: launch the default terminal - bzr3031-3032_GMenu_remove_empty_submenus.patch: GMenu: do not add empty submenus when creating them and remove empty submenus - bzr3035_DND2Share_History_was_empty.patch: DnD2Share: history menu was empty - bzr3036-3040_Shortcuts_removed_disk_usage_on_bookmarks_and_support_ x-nautilus_URI.patch: Shortcuts: correctly removed an old bookmark ; added support for x-nautilus-(...) URI ; avoid duplicated code + bookmarks doesn't have a disk usage ; translated a few sentences from French to English - bzr3043_Fixed_typo_with_some_sentences.patch: Fixed typo with some sentences which were not correctly translated - bzr3045-3046_GVFS_support_x-nautilus-desktop_and_fixed_typos_and_memory_ leaks.patch: gvfs: fixed typo and tiny memory leak ; GTK3: 'x-nautilus- desktop' is just an URI where the root is the path to the desktop - bzr3047-3048_Status-Notifier_Added_support_of_middle_click_and_scroll: Status-Notifier: IAS (ubuntu): added the support of the middle click ; Scroll signals were not catched - bzr3051_Logout_Added_support_of_Cinnamon.patch: logout: added support of Cinnamon - bzr3057_GMenu_new_apps_show_dialog_after_installation.patch: GMenu: new apps: show the dialog only after the end of the installation - bzr3065_Impulse_do_not_redraw_icon_when_not_needed.patch: Impulse: stop animations: do not redraw the icon if it's not needed (e.g. when disabling the applet) - bzr3067_AlsaMixer_support_cinnamon_settings.patch: AlsaMixer: added the support of cinnamon-settings - bzr3068_Clock_fixed_a_crash_when_configuring_when_not_enabled.patch: Clock: fixed a crash when configuring the applet if it's not activated - bzr3069_Indicator_Generic_no_need_to_hide_the_icon_before_removing_it: Indicator Generic: stop: no need to hide the icon before removing it * debian/control: bumped Core versions -- Matthieu Baerts (matttbe) Mon, 07 Apr 2014 00:48:03 +0200 cairo-dock-plug-ins (3.3.99.beta1.1~20140219~bzr3061-0ubuntu1) trusty; urgency=medium * New upstream snapshot. * Short Upstream ChangeLog: - All: updated due to recent API changes and changes in the global style - GMenu: - Do not create empty menus - Show the dialogue to open a new after after the end of the installation - Added an option to not show this dialogue - Gnome: support Cinnamon logout - Logout: display a message to reboot the system after the end of the update - Shortcut: improve the support of bookmarks - Status-Notifier: support scroll events - Terminal: open terminal on middle click - Some bugs have been fixed (LP: #1253654), other tweaks * debian/control: - Bumped Cairo-Dock (core) versions - Bumped Standard Version (no change needed) -- Matthieu Baerts (matttbe) Wed, 19 Feb 2014 23:53:46 +0100 cairo-dock-plug-ins (3.3.2-0ubuntu2) trusty; urgency=low * No changes: Rebuild for the new version of GTK -- Matthieu Baerts (matttbe) Tue, 10 Dec 2013 22:57:18 +0100 cairo-dock-plug-ins (3.3.2-0ubuntu1) trusty; urgency=low * New upstream release. (bug-fix version) * Detailed Upstream ChangeLog (3.3.1 -> 3.3.2) - Animated-icons: add the option to disable the 'opening animations' in Animated-icons' settings - DBus: third-party: init: register the applets after having set the text domain for gettext (to translate some titles) - Dock-rendering: panel view: fixed the input shape when there is a single group of icons (no separator) - GMenu: - Apps: fixed tiny memory leak when stopping GMenu - Apps: New app: avoid multiple dialogues and select the first item in the list - Entry: with GTK 3.10: both the entry and the menu receive the signal that a key is pressed. This causes a bug: each character is doubled - Menus: added a workaround for libgnomemenu if XDG_CURRENT_DESKTOP is not defined (e.g. when using XFCE) - Icon Effect: config: move 'opening animation' option to 'when clicking on a launcher' section - MusicPlayer: fixed a bug when changing the player and fixed a few small memory leaks - System Monitor: - SWAP percent was computed twice - Fixed a possible crash if we want to display more than 4 values in a graph view - Shortcuts: bookmarks file: - If the file doesn't exist, first create the directory before creating an empty file - Check for the existence of the old and new bookmark files to decide which one to use (useful for Mint 14 for instance) - Weather: on double-click on the main icon, show the hourly forecast - Translations: imported translations from Launchpad. * debian/control: - bumped Cairo-Dock (core) versions - bumped Standards-Version to 3.9.4 (no change needed) -- Matthieu Baerts (matttbe) Sun, 10 Nov 2013 23:53:07 +0100 cairo-dock-plug-ins (3.3.1-0ubuntu1) saucy; urgency=low * New upstream release. (bug-fix version) * Detailed Upstream ChangeLog (3.3.0 -> 3.3.1) - Sound applet: fixed the display of the icon when the rendering is 'icon only' and also on reload - GMenu: fixed a compilation error when using GTK2 and gnome-menu3 - Shortcuts: with GTK 3.6 and newer, gtk bookmarks is now available in '~/.config/gtk-3.0/bookmarks' instead of '~/.gtk-bookmarks' * debian/control: Bumped Cairo-Dock (core) version -- Matthieu Baerts (matttbe) Tue, 08 Oct 2013 18:58:46 +0200 cairo-dock-plug-ins (3.3.0-0ubuntu1) saucy; urgency=low * New upstream release. * Detailed Upstream ChangeLog (beta 2 -> release) - Dbus: don't notify of startup if the applet is already controling a window - Dialogs: tooltip view: fixed the position of the widget inside the dialog when it's placed on top of the screen - Folder: watch for drop events onto the docks only - GMenu: - Apps: set the desktop environment to correctly exclude apps - Search: When there is no result, display 'Launch this command' - Search: launch app: do not restrict to the left click - Search: match: display name: locate a substring instead of compare the first chars - Indicator-Generic: forced the 'data' to be a GldiModuleInstance - logout: select shutdown menu item: do not create a list and iter all menu items, just save the pointer - Messaging Menu: Indicator3: detach the icon at startup: the icon is inserted when the entry will be added - Messaging Menu: with old versions of libindicator: fixed tiny memory leaks - po: updated translations - Switcher: correctly update the icon by listening more signals - Switcher: fixed the drawing of the desktop name in the desklet when it's larger than the desklet - Terminal: when dropped something in the terminal, take the data and not only the text + give the focus just after - All: menu functions have been renamed in libgldi - All: remove useless g_print * Some bugs have been fixed: - logout: UPower: invalid fastbin entry LP: #1212981 - logout: Use logind for suspend/hibernate/poweroff/reboot LP: #1175810 - keyboard: cairo-dock crashes on keyboard layout swtcher LP: #668061 - keyboard: Cairo-dock is unable to get CAPS Lock and NumLck values LP: #476842 - quick-browser: Error Message LP: #660261 - recent-events: Move from zeitgeist-1.0 to zeitgeist-2.0 LP: #1197569 * debian/control: bumped Cairo-Dock (core) version -- Matthieu Baerts (matttbe) Fri, 04 Oct 2013 15:11:09 +0200 cairo-dock-plug-ins (3.2.99.beta2.1~20130919~bzr2946-0ubuntu1) saucy; urgency=low * New upstream snapshot. * Detailed Upstream ChangeLog: - GMenu: align the search box entry with all other entries - GMenu: now the results replace the current menu instead of adding a new window - GMenu: Added a separator after the GtkEntry - GMenu: app_match: Compare key and properting ignoring cases - GMenu: compilation error: With GLib 2.37.93, dirent.h is now included (in glib/gdir.h) but '__USE_BSD' is not defined and then DT_DIR and DT_LNK are not defined. - GMenu-old: also add support for cinnamon-menu-editor - Indicator-Generic: No need to reload all indicator if 1 is modified - logout: removed unused 'logout required' feature - Mail: don't use startup-notify feature since the applet doesn't control the application - Mail: removed unused variables - Music-player: use gldi_icon_launch_command - PowerManager: force (re)draw during the init/reload (add emblem) - Recent-Events: used a longer search bar (expanded and filled) - Recent-Events: update the result each time a new key is pressed - Switcher: update the icon if a new window is added/removed or delay the update if the wallpaper is modified (to avoid fading effect) - Status-Notifier: Hide the icon if there is no item (if there is nothing to display) - Misc: DBus: Third-party applets: bumped version -> 3.3.0 - Misc: updated to match the core API -> 3.3-beta2 - Misc: po: updated translations -- Matthieu Baerts (matttbe) Thu, 19 Sep 2013 12:20:10 +0200 cairo-dock-plug-ins (3.2.99.beta1.1~20130827~bzr2928-0ubuntu1) saucy; urgency=low * New upstream snapshot. * Short Upstream ChangeLog: - Added support of logind in the Logout applet - Upgraded the Dbus API to be even more powerful - Added a search box in GMenu applet * debian/rules: - Added DEB_BUILD_PARALLEL flag - ROOT_PREFIX CMake flag is no longer needed * debian/control: - Bumped Cairo-Dock-Core version - libzeitgeist-2.0-dev replaces libzeitgeist-dev - cairo-dock-plug-ins: removed consolekit and upower dependences: logind is now fully supported and used by default - cairo-dock-plug-ins: Suggests: - Added alacarte: to edit Applications Menu - Added new 'indicators' which can be useful for Cairo-Dock Session -- Matthieu Baerts (matttbe) Tue, 27 Aug 2013 16:57:30 +0200 cairo-dock-plug-ins (3.2.1-0ubuntu3) saucy; urgency=low * Rebuild with libical 1.0 -- Jonathan Riddell Thu, 13 Jun 2013 14:13:24 +0100 cairo-dock-plug-ins (3.2.1-0ubuntu2) saucy; urgency=low * Depend on CK and UPower, since we use their D-Bus interfaces. -- Iain Lane Thu, 02 May 2013 23:40:58 +0100 cairo-dock-plug-ins (3.2.1-0ubuntu1) raring; urgency=low * New upstream release. (bug-fix version) LP: #1168840 * Detailed Upstream ChangeLog: - DBus: - Python interface: Translations: avoid blank dialogues when using special characters from .mo files with Python2. - Force the height of the menu, since GTK doesn t update it correctly - GMenu: - Preload icons at startup: removed this option: it s no longer needed when using libgnome-menu-3 and it can slow down the creation of this menu - Fix: LP: #1070663 - Indicator-Generic: - If no indicator found, stay in the plugin mode to not create an useless icon - New indicators was not automatically launched: Monitor the indicator3 dir in order to reload indicators when these files are modified/added/removed - Indicators: Generic & Messaging Menu: LP: #1094592 - Do not insert or detach icons if it s not necessary - Translations: Imported translations files from Launchpad * debian/control: - Bumped Cairo-Dock versions - 'cairo-dock-plug-ins' provides 'indicator-renderer' thanks to 'Indicator-Generic' applets (and 'Indicator-applet3' internal lib) -- Matthieu Baerts (matttbe) Sun, 14 Apr 2013 12:00:01 +0200 cairo-dock-plug-ins (3.2.0-0ubuntu1) raring; urgency=low * New upstream release. * Upstream ChangeLog: - Clock: iCal: don't add a new task if the uid is NULL - DBus interfaces: install python interfaces for both python2 and 3 - Dock rendering: fixed the drawing of the 3D and Curve views when the alignment is not centered - Fixed a few compilation errors and warning for FreeBSD - GMenu: init: load all menus and submenus in a separated thread and not in the mainloop to avoid tiny freezes at startup - GMenu: split the applet in two directories: one if libgnome-menu-3 is available and another one (GMenu-old) if libgnome-menu is available. - GMenu: if the user wants to show the menu before it's loaded, set a pending event - gvfs integration: hidden files were not correctly handled - po: Imported translations from Launchpad - Shortcuts: Disk usage: some sentenses was not translatable - Shortcuts: for a bookmark that points to a volume mount it before - Shortcuts: if the user wants to show the menu before it's loaded, set a pending event - ShowDesktop: Gnome-Shell workaround: add a small delay before triggering the desktop Exposé or Gnome-Shell will not respond - Sound-control: ignore alsa callbacks that are not 'value changed' - Status-Notifier: don't reset the icon if not in compact mode * debian/control: - Used the newer version of libgnome-menu (libgnome-menu-3-dev) - Bumped Cairo-Dock versions - Build-Depends: Added python3 in order to install both python 2 and 3 interfaces -- Matthieu Baerts (matttbe) Tue, 26 Mar 2013 00:17:44 +0100 cairo-dock-plug-ins (3.1.99.rc2.1~20130304~bzr2752-0ubuntu1) raring; urgency=low * New upstream snapshot. * Short Upstream ChangeLog: - New applet: Screenshot - New plug-in: Sound-Effects - Added Gnome-Shell support - Added GDM support for user switching - Added support for all the Unity indicators - Countless bug-fixes and improvements * debian/rules: - CMake flags: switch to ON/OFF * debian/control: - Bumped Cairo-Dock versions - Added a few indicator applets as 'Suggests' * debian/cairo-dock-plug-ins.install - cairo-dock-unity-bridge has been renamed. -- Matthieu Baerts (matttbe) Tue, 05 Mar 2013 00:11:48 +0100 cairo-dock-plug-ins (3.1.2-0ubuntu1) raring; urgency=low * New upstream release. (bug-fix version) * Detailed Upstream ChangeLog: - Clock: If seconds are not shown, redrawn the applet each time at 00 second (before the timer wasn't started with a delay and the applet was redrawn between 00 and 60 seconds) - GMenu: Editor: also check if 'menulibre' is available - RSSreader: - Make the text selectable in the dialog + Fixed incorrect duration of the dialog when no URL/connection - MusicPlayer: if the music player has given a wrong .desktop filename, check if it's a valid name before doing something more - Status-Notifier: + When the icon theme changes, remove the previous one first + Position of the Menu: e.g. with Dropbox: the menu is out of the screen every time something has changed in this menu (it displays 'connecting', free space available, etc.): we need to reposition it. + Fixed lots of corner cases (mainly for Skype) + Added full support of the Ubuntu indicator application API, for program that only use this one (and not the standard Status-Notifier API), like Skype + Implemented an horrible hack for Skype (it only creates its item when the host appears, not if the host already exists) + Updated the property HasStatusNotifierHostRegistered to IsStatusNotifierHostRegistered + Check for item unicity on creation (fixes the Skype double item) + E.g. with Dropbox, the menu is firstly drawn out of the screen and then it's ok - Misc.: + CMakeLists.txt: DBusMenu GLib and GTK are needed for Indicator-Applet * debian/control: - Bump Cairo-Dock versions -- Matthieu Baerts (matttbe) Thu, 06 Dec 2012 19:00:53 +0100 cairo-dock-plug-ins (3.1.1-0ubuntu1) raring; urgency=low * New upstream release. (bug-fix version) * Detailed Upstream Changelog: - Application Menu: + Recent-Menu was on a wrong section after an update of the menu (e.g. when a program was added/removed) + Menu: file name: firstly checked with XDG_MENU_PREFIX env variable (e.g. to use 'xfce-applications.menu' instead of 'applications.menu' in XFCE) - Clock: we need to include 'gdk/gdkkeysyms.h' for older versions of Gtk2 - Dialogues: avoid using blocking dialogues (except if it's needed) - Dock-rendering: clean the dock correctly when switching from a 'Panel' view to another one. - Keyboard: + Forgot to replace the old (and temporally) emblems for CapsLock/NumLock + Gtk3: Used GDK functions to get the num/caps lock states because it seems it doesn't work very well with xKlavier functions with recent versions. + Clean old code - MusicPlayer: + Songs dropped on the icon were not enqueued + Mpris2: some players are not able to give a 'int64' value for 'mpris:length' + If the music player gives us a '.desktop' filename, check first if it's a valid name before doing something more (e.g. Amarok give us a wrong name and then, it was not possible to re-launch Amarok from this applet) - Shortcuts: + Fixed a possible crash if the removed icon was at the beginning of the list + Allowed shortcuts like 'Browse Network', 'Browse recent files', and 'Open Trash' to quickly open the corresponding URI - Sound Control: + Alsa backend: Handled this case: the default card is not the card that we want to control + When setting the volume while the output is mute, un-mute it - Status-Notifier: + Fixed a typo with the version of its .conf file + Don't add an empty icon path to the icons theme - Third-party applet: Store the icon name in order to use a new icon if the icon theme changes - Misc.: + Compilation: Status-Notifier: fixed a compilation error if 'indicator' is not found. + Updated translations * debian/control: - Bump Cairo-Dock versions -- Matthieu Baerts (matttbe) Sat, 10 Nov 2012 23:53:09 +0100 cairo-dock-plug-ins (3.1.0-0ubuntu2) quantal; urgency=low * debian/control: - Cairo-Dock dependencies: Removed '-0ubuntu1' to allow other distros and backports to work smoother (Thanks to Laney!) (LP: #1064130) -- Matthieu Baerts (matttbe) Tue, 09 Oct 2012 23:39:20 +0200 cairo-dock-plug-ins (3.1.0-0ubuntu1) quantal; urgency=low * New upstream release. (LP: #1064130) - Even if there are a lot of changes, this is a 'bug-fix' version. Changes are big mainly because the translations have been updated and a lot of GCC warnings (from -Wall and -Wextra) have been fixed. - Note that due to the recent rewrite of indicator-messages, Messaging-Menu has been rewritten too to directly load the .so file Now it's just easy to add a new indicator applet and this is why Printers-Menu (indicator-printers) and Sync-Menu (indicator-sync) applets have been added just by modifying the name of the .so file. * Upstream ChangeLog (detailed changes since the last version): - All: + Graph: iRadius parameter is no longer needed + Notifications: removed unused registrations to a few signals (on click, on middle click, on build menu, etc.) + Code cleaning: removed a few useless g_print (or used cd_debug instead) + Code cleaning: fixed a lot of GCC's warnings when using -Wall + po: updated the translations + po: Added Lithuanian and Hebrew languages - Cairo-Penguin: its menu wasn't displayed when clicking on the character - Dock-Rendering: + Slide view: fixed the arrow color when the sub-dock is on a side of the screen + Slide view: renamed the files + fixed the position of the sub-dock when the parent dock's alignment is not centered - Doncky: fixed a lot (and a lot) memory leaks and warnings during the compilation - GMenu: for those having a big lag when opening the menu for the first time: it's now possible to load all icons at startup (hidden option) - GVFS: + No longer added the home directory when listing vfs-root + Fixed a few memory leaks + Renamed '/' by 'File System' (name used by other DE) + Removed an useless strcmp - Indicators: + Added support of the new Indicator (3-0.4) (needed for the new version of indicator-messaging) + Added Printers-Menu and Sync-Menu (they just load the right .so file) - Mail: + Fixed a few memory leaks and removed useless variables' initialisations + Set '/' as a default path if none is defined in conf - Messaging-Menu: + This applet was broken on Ubuntu Quantal due to the recent changes in the messagin-menu deamon. Now we use Indicator-applet3 to manage the applet. The code is now shorter, it should be safer and it's no longer needed to sync the code between indicator-messages and this Messaging-Menu applet + Removed the link to ido (it's not needed) - musicPlayer: + Prevent displaying quicklist, since the applet already provides all the common actions for any player + mpris2: some players doesn't support (well) the 'trackid' (e.g. Audacious or Pithos) + cover: used a loop instead of checking all names one by one - Powermanager: + UPower: displayed the details of all batteries (and not only the first one) + Connected to 'device-added' and 'device-removed' signals if the user adds or removes a battery (and avoid wrong informations) - Recent-Events: + Dialog: no longer added removed files + Dialog: Applications: Used the translated name + Recent files: added deleted files to the hashtable to prevent useless g_file_test - Shortcuts: + Bookmarks: moved Home to the bookmarks list (like most files managers) + Added the disk space progress bar on the Home folder, since /home is not listed by gvfs except if /home is on another partition - showDesktop: + Checked the XRandr version with the core function to avoid crash if XRandr 1.2 is not available - Stack: + Used 'g_uri_unescape_string' instead of 'g_filename_from_uri' to support all uri an not only 'file://' - Status-Notifier: if the item doesn't have info for the title, the ID is shown but this string is cut (12 chars) - Switcher: changed the 'render' notification order to draw the desklet after the desklet manager * debian/rules: - Removed all unstable applets * debian/cairo-dock-plug-ins.install: - Removed appmenu-registrar which was needed for the unstable'Global-Menu' applet. -- Matthieu Baerts (matttbe) Tue, 09 Oct 2012 02:53:04 +0200 cairo-dock-plug-ins (3.0.99.beta1.1~20120827~bzr2515-0ubuntu1) quantal; urgency=low * New upstream snapshot. * Upstream ChangeLog (detailed changes): - Recent-Events: Dialog: no longer added removed files + Dialog: Applications: Used the translated name + Recent files: added deleted files to the hashtable to prevent useless g_file_test - ShowDesktop: fixed a typo (about the coloration in the code) + checked if Xrandr extension is available before using it (LP: #1040271) - CMakeLists.txt: linked each plugin to all libs used by gldi except gldi (and not only to a few modules) - Dbus: cairo-dock-unity-bridge crashed with TypeError in on_name_owner_changed(): cannot concatenate 'str' and 'NoneType' objects (LP: #1041558) - CMakeLists.txt: Checked gio-2.0 for 'gvfs-integration' even if GMenu is not compiled + Linked gvfs-integration static library to gio-2.0 - GMenu: fixed a bug that could provoke a crash if the applet is deactivating + Used gio to launch the menu entries, so that the event is stored in Zeitgeist - Dbus: the binary was not linked to libdbusmenu + checked if we have dbusmenu and dbusmenu-gtk before adding DBusMenu support - DBus: cairo-dock-unity-bridge: excluded the current process when looking if the script has not already been launched + converted grep commands to python commands to not launch 4 processes just for that + Added 'Unity-Bridge' before all 'print' + ps command: print only pid + cmd * debian/control: - Bump Cairo-Dock versions -- Matthieu Baerts (matttbe) Mon, 27 Aug 2012 15:25:03 +0200 cairo-dock-plug-ins (3.0.99.beta1-0ubuntu1) quantal; urgency=low * New upstream beta release. * Upstream ChangeLog (main changes): - Better integration of Unity: support of the Launcher API and better support of indicators - All configuration windows have been merged into a single one. - Added progress bars in several applets and in the Dbus API - The Music Player applet can control players in the systray. - Icons of the taskbar can be separated from launchers or not - And as always ... various bug fixes and improvements :-) * Fixed one bug reported on Launchpad: - Bookmark name in thunar wrong when shortcut added on plugin (LP: #995634) * debian: Used 'wrap-and-sort' tool * debian/control: - Bump Cairo-Dock version - Updated my email address * debian/rules: - Added Disks, Global-Menu and Doncky applets. * debian/cairo-dock-plug-ins.install: - Added 'appmenu-registrar' ('Global-Menu' applet) and 'cairo-dock-unity-bridge' ('Dbus' applet) -- Matthieu Baerts (matttbe) Sun, 19 Aug 2012 00:37:51 +0200 cairo-dock-plug-ins (3.0.2-0ubuntu1) quantal; urgency=low * New upstream bug-fix release. (LP: #1014804) * 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?) * Upstream ChangeLog (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) * debian/control: - Bumped libgldi-dev version to avoid compilation error (cmake check if libgldi has the same version than this package) -- Matthieu Baerts (matttbe) Sat, 23 Jun 2012 17:32:52 -0400 cairo-dock-plug-ins (3.0.0.1-0ubuntu2) precise; urgency=low * debian/control: - Avoid an upgrade problem if cairo-dock-plug-ins-data is updated before cairo-dock-data; This is due to files moving between packages (LP: #984054) -- Matthieu Baerts (matttbe) Tue, 17 Apr 2012 18:19:20 +0200 cairo-dock-plug-ins (3.0.0.1-0ubuntu1) precise; urgency=low * New upstream release. (LP: #983289) * Upstream ChangeLog: - Updated translations - Moved 'battery' theme from cairo-dock-core to cairo-dock-plug-ins - Included here a sound gauge theme for alsaMixer applet from our server in order to use the Default-Panel theme without an Internet connexion. - Shortcuts: properly initialize the disk structure, to avoid polling non writable disks - Clipper: fixed a warning when stopping the applet - Clock: fixed a small regression: text should be vertically centered - dnd2share: Fixed videobin backend and forced curl to follow redirection - Clock: numeric: Fixed a typo about the maximum ratio in vertical mode - Panel view: fixed the frame drawing (no bottom rounded corners) - Messaging-Menu: + Some items was not displayed with the latest version of indicator-messages + Fixed a few details about the lozenge and the drawing + Fixed a tiny memory leak - MusicPlayer: Fixed a typo about the detection of the MPRIS2 services for handlers with a valid mpris2 string - Shortcuts: used a default icon if vfs_backend_get_file_info returns none icon name (g_file_info_get_icon seems not able to find an icon for folders or drives on KDE) - GMenu: checked if alacarte or kmenuedit is available before adding the menu entry to launch it (alacarte seems no longer installed by default on new distributions with Gnome) - PowerManager: if we want to hide the icon, hide it even on desktop when we have no information) - ShowDesktop: if we can't show the widget layer or present the desktops (expo), we now display a warning and use the default action instead of doing nothing - Switcher: menu: limit windows' title to 50 chars to avoid too larger menus - Clipper: Menu entries are now translated - Mail: disable the RSS feed for Gmail, as it is not working any more with the current GMail authentification system; use IMAP instead - Status-Notifier: Removed an unused function - stdout: removed a lot of g_print functions (or replaced by cd_debug) - Clock: fixed the text drawing: avoid any stretching of the text * This 3.0 series (and previous series) also fixes these bugs: - "Cairo-dock plugin musicPlayer loads ridiculous covers" (LP: #538569) - "Songbird support outdated in musicPlayer" (LP: #538361) - "Trash applet detects drag-and-dropped items twice" (LP: #530975) - "Lock screen does not work in GNOME 3" (LP: #943533) - "Sound volume don't work on the cairo-dock of my computer after a killall pulseaudio" (LP: #913101) - "Logout Applet needs guest session menu" (LP: #757193) - "Trash not emptied with folders from other partitions" (LP: #686564) - "Incorrect down/up speeds in Netspeed" (LP: #672452) - "the desklet 'meteo' gone freeze, and if i try to change localization crashes all cairo, that became black" (LP: #671261) - "Clipper action failed on other WM than kde gnome xfce" (LP: #664089) - "Crashed when trying to remove Doncky deskapplet" (LP: #656611) - "Issues with the rendering of the Switcher applet" (LP: #606304) - "Shortcuts plugin brings dock to the front if new usb drive is pluged in and dock stays infront of all windows after that" (LP: #569598) - "Dustbin applet does not display trash on all volumes" (LP: #483963) * debian/control: - Bump Standards-Version - Updated the version of libgldi-dev (build-dep) and cairo-dock-core. * debian/rules: - Removed -Denable-global-menu=yes (Global Menu applet is not considered as a stable and usable applet) * debian/cairo-dock-plug-ins.install - Removed 'appmenu-registrar' (Global Menu applet is no longer compiled) -- Matthieu Baerts (matttbe) Tue, 17 Apr 2012 15:04:21 +0200 cairo-dock-plug-ins (3.0.0.0rc1-0ubuntu1) precise; urgency=low * New upstream release. (LP: #961579) * Upstream ChangeLog: (main changes) - Updated translations - MusicPlayer: + When choosing the player the first time, launch it and set the name + It seems the latest stable version of rhythmbox now re-uses this DBus address: org.mpris.MediaPlayer2.rhythmbox - Use the default bg color for always visible icons - GMenu: check if kde4-applications.menu and lxde-applications.menu are available - Dbus: + Bash interface: fixed a typo + Changed the third-party applets dir on the server for the 3.0 + Enabling threads on the Python Interface + Modified the old SetEmblem method to use the new overlays - Enable GVFS if detected - Indicators: handle the case where the service crashes - Status-Notifier: + Indicator 0.4.90 (and newer) has a new variable (Title) + Display Label first if it's available instead of Title first + Fixed a bug with empty labels + KDE's watcher: if ItemIsMenu is true (e.g. Klipper) and if we only show the menu on left click, we emit a signal to the application to show its own menu + checked if the menu path is different that '/NO_DBUSMENU' + IAS: checked if an item is not already available in the systray (workaround) and fixed a few typos + Added a space between icons and fixed the wrong drawing of the icon on a vertical dock if the icon can be resized + Used cairo_dock_add_path_to_icon_theme - Sound control: + Fixed a small bug on reload (invisible icon) + Updated the Dbus names to match with Ubuntu 12.04 + Backported the latest version of Ubuntu's indicator-sound into the Sound-Control applet + Make some items in the menu invisible if not available + Worked around a bug in libindicator, which keeps internally the service pointer - Logout: + Fixed a tiny memory leak + Look for a different icon's size if we want to display this icon in a menu/a dock/an emblem - PowerManager: + Removed an extraseparators in the menu - Clock: + Used the logical rectangle in order to fix the position of the text + Removed unused files + Removed useless translations (log.x and log.y = 0) + Only used this ratio to limit the deformation with the height + Fixed a problem with the ratio if this applet is displayed in a vertical dock - Remote Control: fixed a crash during the 'click' signal - Slider: + When reloading, display the changes immediately + Added the possibility to refresh the images list from the menu + Fixed the loading of the image on startup, when the applet's size is not yet stable + Code cleaning - Fixed an error when compiling without libindicator - A few minor changes (comments, factorisation, etc) - Recent-Events: if zeitgeist is not yet running on first search, try 3 times before giving up. * debian/control: - Updated the version of cairo-dock-[core;data;dev]. -- Matthieu Baerts (matttbe) Wed, 21 Mar 2012 21:31:34 +0100 cairo-dock-plug-ins (3.0.0.0beta1-0ubuntu1) precise; urgency=low * New upstream release. (LP: #932042) * Upstream (short) ChangeLog: - The Log out applet has been rewritten, now allows one to switch users. - Many shortkeys have been added in different applets - The Sound Menu from Ubuntu has been integrated into the Sound-Control applet. - The Sound Menu from Ubuntu has been integrated into the Sound-Control applet. - Cairo-Dock now uses GTK3, for a better integration in a Gnome desktop - Few additions to the DBus API. - (...) * debian/patches: - Removed all previous patches (now in upstream) * debian/rules and debian/control: - Added multiarch support * debian/control: - Updated build-depends list (needed for MultiArch support and GTK3) - libgtkglext1-dev is no longer needed (replaced by libgl, libglu and libpango) - Removed old Gnome dependences: libgnomevfs2-dev, libgnomeui-dev and libgnome-keyring-dev - libfftw3-dev is no longer needed - Increased the version of Cairo-Dock packages - Separated DBus interfaces from cairo-dock-plug-ins package into cairo-dock-plug-ins-dbus-interface-* packages in order to add right dependences. - cairo-dock-plug-ins: cairo-dock-plug-ins-dbus-interface-python has been added. * debian/rules: - Added -Denable-global-menu=yes (supported in Ubuntu) * debian/cairo-dock-plug-ins.install and debian/cairo-dock-plug-ins-integration.install: MultiArch is now supported * debian/cairo-dock-plug-ins.install, debian/cairo-dock-plug-ins-data.install, debian/cairo-dock-plug-ins-dbus-interface-vala.install, debian/cairo-dock-plug-ins-dbus-interface-ruby.install, debian/cairo-dock-plug-ins-dbus-interface-python.install and debian/cairo-dock-plug-ins-dbus-interface-mono.install: DBus interfaces from cairo-dock-plug-ins have been separated into cairo-dock-plug-ins-dbus-interface-* pacakges * Updated debian/watch * debian/compat - Debhelper 8 is now used -- Matthieu Baerts (matttbe) Thu, 16 Feb 2012 01:45:57 +0200 cairo-dock-plug-ins (2.4.0~2.1-0ubuntu2) precise; urgency=low * no change rebuild for libindicator7 -- Ken VanDine Wed, 25 Jan 2012 09:48:42 -0500 cairo-dock-plug-ins (2.4.0~2.1-0ubuntu1) precise; urgency=low * New upstream bug fix release. (LP: #886676) * Upstream ChangeLog: - Desklet-rendering - viewport: fixed a crash when the desklet is empty - Status-Notifier: patch to work around strange bugs in the Ubuntu's indicator-application - Switcher: fixed a crash in expanded+desklet mode, a wrong loading of the icons and a small drawing bug with the non-compact view. - GMenu: look for *-applications.menu file in the xdg path (if common file names are not found, e.g. with KDE env in Oneiric) * debian/patches/01-switcher-force-compact-view.patch: - Deleted (now in upstream) * debian/patches/01-removed-useless-g_print.patch: - Removed useless output messages -- Matthieu Baerts (matttbe) Sat, 05 Nov 2011 21:55:39 +0100 cairo-dock-plug-ins (2.4.0~2-0ubuntu1) oneiric; urgency=low [ Matthieu Baerts (matttbe) ] * New upstream bug fix release. (LP: #859984) * Upstream (short) ChangeLog (2.4.0~0beta2 -> 2.4.0~1): - Powermanager: correctly release the reference on the device object - logout: now works if there is no session-manager - Status-Notifier: fixed a small bug (wrong callback in cairo_dock_stop_watching_dbus_name_owner) - Folders: fixed the positionning of the new icon and the dialog when dropping a folder inside the dock and fixed the icon-rendering - Dustbin: use the default theme if no icon is found - Impulse: the default context seems to be ok and not an error - Status-Notifier: On Ubuntu Oneiric (with indicator-0.4) the ApplicationAdded signal has changed and has a new parameter - Disable MeMenu on Oneiric (no longer available with indicator-0.4) - CMakeLists.txt: Improved output messages - Slide view: fixed a small offset in vertical view - musicPlayer: + split MPRIS 1.0 and 2.0 to help debugging and finding the right name of the bug. + 'rhythmbox-client' tool is no longer available: used MPRIS + Disable Amazon service (it no longer work) + Cover: fixed corrupted icons: some players (e.g. the latest version of RB) copy covers on their cache forlder but it takes a few time. + Fixed the update the icon and its name if the player is stopped. + Prevent a crash if the name given by MPRIS is NULL - Powermanager: try to prevent to have a few dialogues at the same time - PowerManager and AlsaMixer: hidden gnome2 or 3 apps if not available - Messaging-Menu: Updated for Natty and Oneiric (dbus-menu gives us GVariant instead of GValue objects) - Alsamixer: fixed a small bug on reload - Dbus: Bash interface: Fixed a typo with emblem positions - Sys-monitor: fixed a bug which prevented from getting the CPU temperature in some cases - Compiz (0.9): type filter: replaced type=utility by type=Utility - Updated the version of all applets that have gauges in order to use the right directory - Wifi: Fixed the status if we are not connected - Dbus: removed a conflict with the Help applet - Messaging-Menu: updated applet-menu.c => Memory leaks on pixbufs - Dbus: Fixed a crash when changing dock theme if a 'third-party' applet is running - Netspeed: in /proc/net/dev, there are 8 values to drop after the card id except if there is whitespaces just after this ':' character and fixed order and value for ON_ICON display - dock-rendering/toto: removed a useless file - Clipper: fixed the loading of the remembered items (they had the wrong type) and fixed a bug if we reduce the list of items - Folders, dustbin, Network-Monitor: tried to not use cast if it's possible - Code cleaned and re-organised a few functions (e.g. emblem references has been renamed) - Removed useless files: powermanager-dbus* - Updating translations - Fixed a few warnings at the compilation - Removed a few useless output messages - Fixed these LP bugs: + Empty trash from the trashcan does not delete files from usb harddisks: LP: #658681 + Switcher applet doesn't respect desktop numbers LP: #626782 * Upstream (short) ChangeLog (2.4.0~1 -> 2.4.0~2): - Messaging-Menu: fixed a wrong g_object_unref (double free) and a small memory leak - Folders: fixed a tiny warning at the compilation (32bits) - switcher: removed an unnecessary config parameter - Folders: file size: used English instead of French translation. - Indicator applet: Forced a cast to remove an annoying warning due to clumsy dbusmenu_gtkmenu_new() declaration - Fixed the detection of the screensaver - Fixed tiny warnings at the compilation (with CAIRO_CONTAINER) * debian/control: - Updated the version of cairo-dock-[core;data;dev]. - Added gvfs as 'Suggests' for cairo-dock-plug-ins-integration (Used for managing files) - Removed 'libthunar-vfs-1-dev' (libthunar-vfs is no longer installed by default since XFCE 4.8 and it is replaced by gvfs) - Removed 'indicator-me' (no longer available and the installation of Cairo-Dock produces an error) - Moved 'indicator-messages' to 'Recommends' * debian/rules: - Updated the name of CMake extras flags * debian/cairo-dock-plug-ins-data.lintian-overrides: - Deleted (now useless) * debian/cairo-dock-plug-ins.lintian-overrides: - Cairo-Dock Plug-Ins are not linked to gldi - shlib-without-versioned-soname: forwarded to upstream. * debian/cairo-dock-plug-ins-integration.lintian-overrides: - Cairo-Dock Plug-Ins are not linked to gldi - ldconfig and shlibs are not needed * debian/cairo-dock-plug-ins.install: - Fixed lintian errors: package-installs-python-bytecode * debian/control: Fixed lintian warnings: - python-script-but-no-python-dep - description-synopsis-starts-with-article * debian/changelog: - Fixed lintian warning: old-fsf-address-in-copyright-file * debian/patches/01-switcher-force-compact-view.patch: - Forced the compact view because the other doesn't work [ Iain Lane ] * Fix Mono/CLI build to be ~policy compliant and use correct compiler -- Matthieu Baerts (matttbe) Sun, 09 Oct 2011 00:19:16 +0200 cairo-dock-plug-ins (2.4.0~0beta2-0ubuntu1) oneiric; urgency=low * New upstream release. (LP: #823514) * Upstream (short) ChangeLog: - The Power-Manager applet has been rewritten to work on any plateform. - Compiz-icon applet has been replaced by Composite-Manager. - Improved integration in the XFCE, LXDE and GNOME3 desktop. - Logout is now working even if there is no/an unknow session manager. - Several new DBus methods lets you interact on the dock more easily. - Added the possibility to shutdown/logout with GMenu. - Improved Status-Notifier and added its own watcher. - Added a new applet: Impulse (still need testing). - Fixed a few bugs as usual. * debian/patches: - Removed all patches (they was already unapplied). * debian/copyright: - Updated with new files/directory. * debian/cairo-dock-plug-ins.install: - Added status-notifier-watcher used by Status-Notifier applet. * debian/control: - Updated the version of cairo-dock-[core;data;dev]. - Bump Standard-Version to 3.9.2. - Added fftw3, pulse (Impulse) and upower-glib (Logout) as new dependences for the build process. - Added indicator-[me;messages] as new recommendations for cairo-dock-plug-ins (needed for [Me;Messaging]Menu applets). - Removed gawk from the build dependences list (no longer needed). * cairo-dock-plug-ins package needs to be recompiled (LP: #811579) -- Matthieu Baerts (matttbe) Tue, 09 Aug 2011 21:50:47 +0200 cairo-dock-plug-ins (2.3.0~3-0ubuntu1) oneiric; urgency=low * New upstream release. (LP: #799774) * Upstream ChangeLog: - Status Notifier: enable translations (fixed a typo) - Weather: prevent a crash if there is an error (LP: #788437) - dnd2share: avoid a crash of u1sdtool * debian/patches: - Removed all patches (now in upstream) * debian/control: - Updated version -- Matthieu Baerts (matttbe) Tue, 05 Jul 2011 13:45:43 -0400 cairo-dock-plug-ins (2.3.0~2-0ubuntu1) oneiric; urgency=low * New upstream release. (LP: #786105) * Upstream ChangeLog: - Fixed a typo in CMakeLists.txt about Ruby interface - CMakeLists.txt: Added the status of applets (stable / unstable / unsupported) to help packagers to not include unstable or unsupported applets on Cairo-Dock packages for stable distributions * debian/patches: - Added two upstream's patches: + to avoid a crash of u1sdtool (dnd2share) + to prevent a crash with Weather (LP: #788437) * debian/control: - Removed libgvfscommon-dev (not used and no longer available) -- Matthieu Baerts (matttbe) Mon, 06 Jun 2011 12:09:47 +0200 cairo-dock-plug-ins (2.3.0~1-0ubuntu1) natty; urgency=low * New Upstream Version (LP: #723995) * Upstream short ChangeLog (since 2.3.0~0rc1): - Updated translations - Updated the integration of the new versions of kwin and compiz (Switcher, ShowDesktop, etc.) - Removed a lot of useless g_print - Updated a few plug-ins to fit with the new version of the API (gldit) - Fixed a few bugs - Updated MeMenu, MessagingMenu and Status-Notifier to works with the latest version of dbusmenu, etc. * Switch to dpkg-source 3.0 (quilt) format * debian/cairo-dock-plug-ins.install: - Added new files (interfaces for python, ruby, vala and mono) * debian/control: - Added new dependences for new applets (sensors and zeitgeist) and new interfaces (python, valac, ruby and mono) - Updated the version of cairo-dock build-dependences * debian/rules: - Added a new CMake flag to install python interface in debian/tmp * Updated debian/watch -- Matthieu Baerts (matttbe) Wed, 20 Apr 2011 20:46:51 +0200 cairo-dock-plug-ins (2.2.0~4-0ubuntu4) natty; urgency=low * debian/control: - Build-Depend on libwebkitgtk-dev instead of libwebkit-dev (LP: #704032) -- Matthieu Baerts (matttbe) Sat, 22 Jan 2011 01:35:50 +0200 cairo-dock-plug-ins (2.2.0~4-0ubuntu3) natty; urgency=low * No change rebuild for libindicator1 > libindicator2 transition -- Ken VanDine Fri, 14 Jan 2011 17:32:25 -0600 cairo-dock-plug-ins (2.2.0~4-0ubuntu2) natty; urgency=low * No change rebuild for libdbusmenu-gtk1 > libdbusmenu-gtk2 transition -- Bhavani Shankar Sun, 19 Dec 2010 10:43:52 +0530 cairo-dock-plug-ins (2.2.0~4-0ubuntu1) maverick; urgency=low * New Upstream Version (LP: #653702) * Fixed a few bugs: - All .mo files aren't installed into the right directory (LP: #653336) - Dbus: Fixed a crash when exiting Cairo-Dock - Indicator: Some modifications needed for the latest version of libindicator - RSSreader: Prevented a crash if myDrawContext != NULL - Clock: Prevented a crash if myDrawContext != NULL - Switcher: - Prevented a crash if myDrawContext != NULL - Fixed a crash if the plugin is launched much time before the WM - musicPlayer: - Used the right image set from the config panel - MPRIS plugin: fixed a bug with the tracknumber - Systray: not drawn outside the screen. - tomboy: not popup a dialogue inside the screen - xfce-integration: displayed a window when logout applet is launched * debian/control: - Updated the version of cairo-dock-dev and cairo-dock-core -- Matthieu Baerts (matttbe) Sat, 02 Oct 2010 20:10:47 +0200 cairo-dock-plug-ins (2.2.0~2-0ubuntu1) maverick; urgency=low [ Matthieu Baerts (matttbe) ] * New Upstream Version (LP: #638529) * Fixed a few bugs on LP: - Fixed a crash in rainbow view when the cone is completely opened - Fixed a crash in rainbow view if the subdock is empty - Installed in lib directory by default even in 64bits arch - Status-Notifier: fixed few bugs - Clock applet: - Notify of missed tasks (moved some functions to a new file) - Fixed a little memory leak - Removed some 'g_print' (LP: #500677: xsession-errors log) * Updated translations * debian/control - Updated the version of cairo-dock-dev and cairo-dock-core [ Didier Roche ] * debian/control: depends on latest libindicator-dev (LP: #637692) -- Matthieu Baerts (matttbe) Sat, 18 Sep 2010 14:20:27 +0200 cairo-dock-plug-ins (2.2.0~0rc1-0ubuntu1) maverick; urgency=low * New Upstream Version (LP: #632054) * Fixed a few bugs on LP: - LP: #616176 Dust Bin Hang and Incorrect Configuration - LP: #604034 Change terminal tab's name lost the color - LP: #582452 GMenu does not contain any applications * Fixed a few bugs on glx-dock forum: - Fixed support of GMusicBrowser. - AlsaMixer has no emblem. - Status-Notifier doesn't be drawed into the dock. * Updated translations * debian/control: - Added cairo-dock-core as build-depends in order to prevent some builds errors. -- Matthieu Baerts (matttbe) Tue, 07 Sep 2010 02:38:17 +0200 cairo-dock-plug-ins (2.2.0~0beta4-0ubuntu1) maverick; urgency=low * New Upstream Version (LP: #614625) * Fixed a few bugs on LP: - LP: #483963: Dustbin applet does not display trashes on all volumes - LP: #485159: Some apps have problem with Systray - LP: #500677: ~/.xsession-errors is too much used by CD - LP: #500979: Shortcuts: the order gets messed up - LP: #521531: Mail: crashes on Maildir - LP: #519915: GTG: create a new applet to control GTG - LP: #526138: GMenu doesn't handle desktop file exec strings properly - LP: #531317: CMake: Added an error if the prefix of 'cairo-dock-plugins' is not the same 'cairo-dock-core' - LP: #531319: CMake: check the version of 'cairo-dock' when building 'cairo-dock-plugins' - LP: #537115: Click at the position where icon lavel was, the icon and dock still receive the event - LP: #537943: Terminal applet shortkey behaviour - LP: #538637: Trash applet doesn't create .trashinfo files on XFCE - More details on the 'ChangeLog' file * debian/rules: - Autotools has been replaced by CMake - cdbs is now used. * debian/copyright: - Updated with the new applets * debian/control: - Autotools has been replaced by CMake - Added libcurl4-gnutls-dev, libindicator-dev, libdbusmenu-glib-dev libido-0.1-dev, libical-dev, libdbusmenu-gtk-dev as Build-deps - Bump Standard-Version to 3.9.1 - Wget is required for dnd2share applet - Added the exact realease for 'cairo-dock-dev' in order to prevent any build error if this package is not already available (thx to didrocks) * debian/cairo-dock-plug-ins*.install: - All sonames are now installed into lib32 or lib64 (lib*) -- Matthieu Baerts (matttbe) Tue, 10 Aug 2010 00:05:57 +0200 cairo-dock-plug-ins (2.1.3-10-lucid-0ubuntu2) lucid; urgency=low [ Matthieu Baerts (matttbe) ] * LP: #568258 (Rebuild plug-ins with the same version of cairo-dock (core)) [ Iain Lane ] * debian/control: Update versioned BD on cairo-dock-dev to be restricted to applicable upstream versions. -- Matthieu Baerts (matttbe) Thu, 22 Apr 2010 11:15:36 +0200 cairo-dock-plug-ins (2.1.3-10-lucid-0ubuntu1) lucid; urgency=low [ Matthieu Baerts (matttbe) ] * New upstream release (LP: #568083) * Fixed some bugs: - LP: #455261 (Cannot Modify / Add Custom Launchers) - LP: #449422 (Cairo-Dock resize problem) - LP: #489349 (showDesktop Applet only seems to work every second time you click on it) - LP: #526742 (The system monitor plugin and netspeed plugin inverts upside-down continuously) - Dbus: Used the right DBus API of Cairo-Dock (2.1.3 stable) - Used icons of the system - alsaMixer: fixed a crash when read several xml data - musicPlayer: * Removed some annoying warnings * Banshee-plugin: fixed some bugs due to the new version (1.4.0) [ Iain Lane ] * debian/watch: Update to match against current version -- Matthieu Baerts (matttbe) Tue, 20 Apr 2010 01:52:21 +0200 cairo-dock-plug-ins (2.1.3-6-0ubuntu1) lucid; urgency=low [ Matthieu Baerts (matttbe) ] * New upstream release (LP: #521536) * debian/control: - Remove some duplicated build-depends - Update the website (cairo-dock.org -> glx-dock.org) - Added libetpan-dev as depends for cairo-dock-plug-ins (mail applet). - Updated cairo-dock-core and cairo-dock-dev minimal version. * Updated debian/watch and debian/copyright with LP account. * debian/rules: - Added --enable-mail and --enable-rssreader to enable new stable applets. [ Didier Roche ] * Fix debian/watch * Fix some issue in versionning * cleaning the package in debian/control to have good build-dep and deps -- Matthieu Baerts (matttbe) Sun, 14 Feb 2010 00:51:22 +0100 cairo-dock-plug-ins (2.0.9-0ubuntu1) karmic; urgency=low [ Matthieu Baerts (matttbe) ] * New upstream release (LP: #435590) * debian/control: - Remove ${shlibs:Depends} for integration plug-ins to avoid pulling shared libraries which are detected automatically. - Added curl as depends for cairo-dock-plug-ins * debian/rules: - Add --enable-dnd2share and --enable-musicplayer to enable new applets. - Remove --enable-rhythmbox and --enable-nvidia to remove those applets, not maintained upstream. * Update *.install to take all generated applets. [ Julien Lavergne ] * Adjust changelog with Daniel Holbach suggestions. * cairo-dock-plug-ins.changelogs: Install specific changelog for 2.0.9 * Build-depends on cairo-dock-dev (>= 2.0.9) -- Julien Lavergne Mon, 05 Oct 2009 19:27:17 +0200 cairo-dock-plug-ins (2.0.8.2-0ubuntu2) karmic; urgency=low * debian/control: - Replaced cairo-dock to cairo-dock-core as dependancies (LP: #426436) -- Matthieu Baerts (matttbe) Thu, 10 Sep 2009 16:49:42 +0200 cairo-dock-plug-ins (2.0.8.2-0ubuntu1) karmic; urgency=low * New upstream version (Fix licence issues) * Modify debian/copyright to comply with licence issue fixes -- Didier Roche Wed, 26 Aug 2009 23:31:05 +0200 cairo-dock-plug-ins (2.0.8.1-0ubuntu1) karmic; urgency=low [ Matthieu Baerts (matttbe) ] * New Upstream Version. * debian/control - Fix conflict with cairo-dock-plug-ins (<= 2.0.8) * Add licences [ Didier Roche ] * Repackage to have a separated diff.gz (as debian/ directory is not in upstream bz2) * Add debian/cairo-dock-data.lintian-overrides as plugin config file uses a shebang (upstream warned) * debian/control: - add missing ${shlibs:Depends} to cairo-dock-plug-ins-integration - remove cairo-dock-plug-ins replacing itself - Fix spelling-error-in-description: Gnome -> GNOME, XFCE -> Xfce - bump Standard-Version to 3.8.3 -- Didier Roche Wed, 26 Aug 2009 21:07:39 +0200 cairo-dock-plug-ins (2.0.8-0~ppa3~karmic2) karmic; urgency=low * New upstream release. * Rename package (cairo-dock-plugins to cairo-dock-plug-ins). * debian/control: - Added libxklavier-dev as depends for cairo-dock-dev. * Changed debian/rules * Add debian/watch * Update debian/copyright * Rename package (cairo-dock-plug-ins) in debian/rules * debian/rules - Removed override_dh_installdeb - changed flags of configure * debian/control - Added a new package cairo-dock-plug-ins-integration (in order to remove unnecessary dependencies) * Creation of cairo-dock-plug-ins-integration.install -- Matthieu Baerts (matttbe) Wed, 12 Aug 2009 01:32:24 +0200 cairo-dock-plug-ins (2.0.7-1) karmic; urgency=low * New upstream release. -- Matthew Walker Wed, 1 Jul 2009 20:25:15 -0700 cairo-dock-plug-ins (2.0.5-1) karmic; urgency=low * New upstream release. * Removed debian/watch -- Matthew Walker Wed, 10 Jun 2009 11:23:15 -0700 cairo-dock-plug-ins (2.0.3-1) karmic; urgency=low * New upstream release. * Regenerate all global *.PO files. -- Matthew Walker Sat, 23 May 2009 9:23:15 -0700 cairo-dock-plug-ins (2.0.1-2) karmic; urgency=low * New release. * SVN sync with trunk. -- Matthew Walker Sun, 17 May 2009 19:33:15 -0700 cairo-dock-plug-ins (2.0.0-3) karmic; urgency=low * SVN sync with trunk. - Removed debian/watch -- Matthew Walker Sun, 10 May 2009 20:21:15 -0700 cairo-dock-plug-ins (2.0.0-2) karmic; urgency=low * Real new upstream release. + Changed debian/control dependencies - Removed libglitz1-dev, and libglitz-glx1-dev * Changed debian/rules - disable-gnome-integration-old, enable-terminal, disable-cairo-penguin enable-Animated-icons, + disable-old-gnome-integration -- Matthew Walker Sun, 10 May 2009 20:21:15 -0700 cairo-dock-plug-ins (2.0.0-1) karmic; urgency=low * Fix build error. * Debian/control * Removed dependencies for glitz, because it won't work with new Cairo versions. -- Matthew Walker Sat, 9 May 2009 11:21:15 -0700 cairo-dock-plug-ins (2.0.0-0) karmic; urgency=low * New upstream release. -- Matthew Walker Fri, 8 May 2009 20:00:37 -0700 debian/cairo-dock-plug-ins-dbus-interface-vala.install0000664000000000000000000000010012013707537020135 0ustar usr/lib/*/libCDApplet*.so* usr/lib/*/pkgconfig/ usr/share/vala* debian/cairo-dock-plug-ins-dbus-interface-vala.lintian-overrides0000664000000000000000000000025712013707405022134 0ustar # Bug reported to upstream. cairo-dock-plug-ins-dbus-interface-vala: shlib-without-versioned-soname cairo-dock-plug-ins-dbus-interface-vala: package-name-doesnt-match-sonames debian/watch0000664000000000000000000000015412013707405010220 0ustar version=3 https://launchpad.net/cairo-dock-plug-ins/+download .*/cairo-dock-plugins-([\d\.]+(?:.*)?).tar.gz debian/source/0000775000000000000000000000000012321070654010470 5ustar debian/source/format0000664000000000000000000000001412013707405011675 0ustar 3.0 (quilt) debian/cairo-dock-plug-ins.lintian-overrides0000664000000000000000000000017012013707405016314 0ustar # Cairo-Dock Plug-Ins are not linked to gldi cairo-dock-plug-ins: pkg-has-shlibs-control-file-but-no-actual-shared-libs debian/cairo-dock-plug-ins-dbus-interface-mono.install0000664000000000000000000000005612013707537020174 0ustar usr/lib/cli/cairo-dock-plug-ins/CDApplet*.dll debian/cairo-dock-plug-ins-dbus-interface-vala.postinst0000664000000000000000000000020712016664052020357 0ustar #!/bin/sh set -e # Automatically added by dh_makeshlibs if [ "$1" = "configure" ]; then ldconfig fi # End automatically added section debian/cairo-dock-plug-ins-dbus-interface-ruby.install0000664000000000000000000000001612013707537020201 0ustar usr/lib/ruby* debian/cairo-dock-plug-ins.install0000664000000000000000000000020112115224572014321 0ustar usr/lib/*/cairo-dock/cairo-dock-launcher-API-daemon usr/lib/*/cairo-dock/libcd-*.so usr/lib/*/cairo-dock/status-notifier-watcher debian/control0000664000000000000000000001611512320260121010564 0ustar Source: cairo-dock-plug-ins Section: x11 Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Matthieu Baerts (matttbe) , Julien Lavergne , Matthew Walker , Fabrice Rey Build-Depends: cdbs, cli-common-dev (>= 0.7), cmake, debhelper (>= 8.1.3), libasound2-dev, libcairo2-dev (>= 1.8.0), libcurl4-gnutls-dev, libdbus-glib-1-dev, libdbusmenu-glib-dev, libdbusmenu-gtk3-dev, libetpan-dev, libexif-dev, libgl1-mesa-dev | libgl-dev, libgldi-dev (>= 3.3.99.beta1.2.really.3.3.2), libglib2.0-cil-dev, libglib2.0-dev (>= 2.20), libglu1-mesa-dev | libglu-dev, libgnome-menu-3-dev, libgnutls-dev, libgtk-3-dev, libical-dev (>= 1.0), libido3-0.1-dev, libindicator3-dev, libndesk-dbus-glib1.0-cil-dev, libndesk-dbus1.0-cil-dev, libpango1.0-dev, libpulse-dev, librsvg2-dev (>= 2.22.0), libsensors4-dev, libupower-glib-dev, libvte-2.90-dev, libwebkitgtk-3.0-dev, libxklavier-dev, libxml2-dev, libxtst-dev, libxxf86vm-dev, libzeitgeist-2.0-dev, mono-devel, mono-gmcs, python, python3, ruby, valac, x11proto-xf86vidmode-dev Standards-Version: 3.9.5 Homepage: http://www.glx-dock.org/ Package: cairo-dock-plug-ins-integration Section: graphics Architecture: any Conflicts: cairo-dock-plug-ins (<= 2.0.8.0) Replaces: cairo-dock-plug-ins (<= 2.0.8.0) Depends: cairo-dock-core (>= 3.3.99.beta1.2.really.3.3.2), cairo-dock-plug-ins-data (>= ${source:Version}), ${misc:Depends} Pre-Depends: ${misc:Pre-Depends} Suggests: gvfs Multi-Arch: same Description: Plug-ins for Cairo-Dock for a better integration in GNOME, KDE and Xfce Cairo-Dock-plug-ins is a set of plug-ins for Cairo-Dock. It provides some new functionnalities like controling music players or note-taking, a clock or a desktop switcher but also some views, dialogs and desklets skins, etc. . This package contains plug-ins for a better integration in GNOME, KDE and Xfce. Package: cairo-dock-plug-ins Section: graphics Architecture: any Conflicts: cairo-dock-plug-ins (<= 2.0.8.0) Depends: cairo-dock-core (>= 3.3.99.beta1.2.really.3.3.2), cairo-dock-plug-ins-data (>= ${source:Version}), curl, python, wget, ${misc:Depends}, ${shlibs:Depends} Pre-Depends: ${misc:Pre-Depends} Recommends: cairo-dock-plug-ins-dbus-interface-python (>= ${source:Version}), cairo-dock-plug-ins-integration (>= ${source:Version}) Suggests: alacarte, cairo-dock-plug-ins-dbus-interface-mono (>= ${source:Version}), cairo-dock-plug-ins-dbus-interface-ruby (>= ${source:Version}), cairo-dock-plug-ins-dbus-interface-vala (>= ${source:Version}), compiz, gnote, indicator-bluetooth, indicator-messages, indicator-network, indicator-printers, indicator-sound, indicator-sync Provides: indicator-renderer Multi-Arch: same Description: Set of plug-ins for Cairo-Dock Cairo-Dock-plug-ins is a set of plug-ins for Cairo-Dock. It provides some new functionnalities like controling music players or note-taking, a clock or a desktop switcher but also some views, dialogs and desklets skins, etc. Package: cairo-dock-plug-ins-data Section: graphics Architecture: all Conflicts: cairo-dock-plug-ins (<= 2.0.8.0) Replaces: cairo-dock-data (<< 3.0.0.1), cairo-dock-plug-ins (<= 2.0.8.0) Breaks: cairo-dock-data (<< 3.0.0.1) Depends: ${misc:Depends} Description: Common files for cairo-dock-plug-ins Cairo-Dock-plug-ins is a set of plug-ins for Cairo-Dock. It provides some new functionnalities like controling music players or note-taking, a clock or a desktop switcher but also some views, dialogs and desklets skins, etc. . This package contains all images, locales and configuration files for cairo-dock-plug-ins. Package: cairo-dock-plug-ins-dbus-interface-python Section: graphics Architecture: all Replaces: cairo-dock-plug-ins (<< 3.0.0.0beta0) Breaks: cairo-dock-plug-ins (<< 3.0.0.0beta0) Depends: cairo-dock-plug-ins (>= ${source:Version}), python, ${misc:Depends} Description: Python interface to interact with Cairo-Dock by using DBus Cairo-Dock-plug-ins is a set of plug-ins for Cairo-Dock. It provides some new functionnalities like controling music players or note-taking, a clock or a desktop switcher but also some views, dialogs and desklets skins, etc. . This package contains a Python interface for the DBus plug-in. Package: cairo-dock-plug-ins-dbus-interface-vala Section: graphics Architecture: any Replaces: cairo-dock-plug-ins (<< 3.0.0.0beta0), cairo-dock-plug-ins-data (<< 3.0.0.0beta0) Breaks: cairo-dock-plug-ins (<< 3.0.0.0beta0), cairo-dock-plug-ins-data (<< 3.0.0.0beta0) Depends: cairo-dock-plug-ins (>= ${source:Version}), ${misc:Depends}, ${shlibs:Depends} Pre-Depends: ${misc:Pre-Depends} Suggests: valac Multi-Arch: same Description: Vala interface to interact with Cairo-Dock by using DBus Cairo-Dock-plug-ins is a set of plug-ins for Cairo-Dock. It provides some new functionnalities like controling music players or note-taking, a clock or a desktop switcher but also some views, dialogs and desklets skins, etc. . This package contains a Vala interface for the DBus plug-in. Package: cairo-dock-plug-ins-dbus-interface-ruby Section: graphics Architecture: any Replaces: cairo-dock-plug-ins (<< 3.0.0.0beta0) Breaks: cairo-dock-plug-ins (<< 3.0.0.0beta0) Depends: cairo-dock-plug-ins (>= ${source:Version}), ruby, ${misc:Depends} Description: Ruby interface to interact with Cairo-Dock by using DBus Cairo-Dock-plug-ins is a set of plug-ins for Cairo-Dock. It provides some new functionnalities like controling music players or note-taking, a clock or a desktop switcher but also some views, dialogs and desklets skins, etc. . This package contains a Ruby interface for the DBus plug-in. Package: cairo-dock-plug-ins-dbus-interface-mono Section: graphics Architecture: any Replaces: cairo-dock-plug-ins (<< 3.0.0.0beta0) Breaks: cairo-dock-plug-ins (<< 3.0.0.0beta0) Depends: cairo-dock-plug-ins (>= ${source:Version}), ${cli:Depends}, ${misc:Depends} Description: Mono interface to interact with Cairo-Dock by using DBus Cairo-Dock-plug-ins is a set of plug-ins for Cairo-Dock. It provides some new functionnalities like controling music players or note-taking, a clock or a desktop switcher but also some views, dialogs and desklets skins, etc. . This package contains a Mono interface for the DBus plug-in. debian/cairo-dock-plug-ins-dbus-interface-python.install0000664000000000000000000000011412016664064020540 0ustar usr/lib/python*/dist-packages/*.egg-info usr/lib/python*/dist-packages/*.py debian/compat0000664000000000000000000000000212013707405010365 0ustar 8 debian/cairo-dock-plug-ins-integration.lintian-overrides0000664000000000000000000000072512013707405020643 0ustar # Cairo-Dock Plug-Ins are not linked to gldi cairo-dock-plug-ins-integration: pkg-has-shlibs-control-file-but-no-actual-shared-libs # These integration plug-ins don't need shlibs and don't have to call ldconfig # (these plug-ins are enable only if a lib is available) cairo-dock-plug-ins-integration: postinst-has-useless-call-to-ldconfig cairo-dock-plug-ins-integration: postrm-has-useless-call-to-ldconfig cairo-dock-plug-ins-integration: missing-dependency-on-libc debian/copyright0000664000000000000000000001567612013707537011147 0ustar X-Source-Downloaded-From: https://launchpad.net/cairo-dock X-Upstream-Author: Fabrice Rey X-Debianized-By: Matthieu Baerts (matttbe) X-Debianized-Date: Sat, 07 Aug 2010 03:37:36 +0200 Files: systray/src/cd-tray.c: LGPL (v2 or later) Copyright: 2007 Neil Jagdish Patel Licence: LGPL 2+ (See /usr/share/common-licenses/LGPL-2 for complete licence) * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, * MA 02110-1301, USA. Files: systray/src/cd-tray.h systray/src/systray-config.* systray/src/systray-init.* systray-menu-functions.* systray/src/systray-struct.h Copyright: 2007, 2008 GESTES Cedric Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, * MA 02110-1301, USA. Files: terminal/* Copyright: 2007, 2008 GESTES Cedric and Fabrice Rey Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: systray/src/na-tray-manager.* Copyright: 2002 Anders Carlsson , 2003-2006 Vincent Untz Licence: LGPL 2+ (See /usr/share/common-licenses/LGPL-2 for complete licence) Files: nVidia/* stack/* wifi/* xmms/* Copyright: 2008, 2009 Rémy Robertson Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: slider/* Copyright: 2008, 2009 Fabrice Rey and Rémy Robertson Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: cpusage/* netspeed/* rame/* Copyright: 2008 parAdOxxx_ZeRo Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: dock-rendering/* Copyright: 2008, 2009 Fabrice Rey and parAdOxxx_ZeRo Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: Dbus/* Copyright: 2008 Fabrice Rey and Adrien Pilleboue Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: powermanager/* tomboy/* Copyright: 2008 Adrien Pilleboue Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: mail/* Copyright: Christophe Chapuis and Fabrice Rey Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: weblets/* xfce-integration/* Copyright: Christophe Chapuis Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: shortcuts/* Copyright: Benjamin SANS and Fabrice Rey Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: showDesktop/* Copyright: Romain PEROL Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: switcher/* Copyright: Cchumi and Fabrice Rey Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: musicPlayer/* Copyright: Rémy Robertson, Yann Sladek, Yann Dulieu and Fabrice Rey Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: dnd2share/* Copyright: Yann Dulieu and Fabrice Rey Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: RSSreader/* Copyright: 2008 Yann Dulieu and Fabrice Rey Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: Doncky/* Copyright: 2008 Yann Dulieu Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: Network-Monitor/* Copyright: 2008 Yann Sladek and Fabrice Rey Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: Disks/* Copyright: 2011 SQP Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: Impulse/* Copyright: 2011 Matthieu Baerts Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: alsaMixer/* Animated-icons/* Cairo-Penguin/* Clipper/* clock/* desklet-rendering/* dialog-rendering/* drop-indicator/* dustbin/* GMenu/* Global-Menu/* gnome-integration/* gnome-integration-old/* icon-effect/* illusion/* keyboard-indicator/* logout/* motion-blur/* quick-browser/* rendering/* Scooby-Do/* showDesklets/* show-mouse/* Toons/* weather/* Xgamma/* *Menu/* Folders/* Indicator-applet/* Status-Notifier/* gvfs-integration/* Composite-manager/* */* Copyright: Fabrice Rey Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Icons inspired of the Humanity Icons theme and recolorized by Matthieu Baerts Copyright: Daniel Fore, Jonian Guveli and K.Vishnoo Charan Reddy. Licence: GPL v2 (See /usr/share/common-licenses/GPL-2 for complete licence) Pictures on slider/data/preview.jpg: Copyright: Matthieu Baerts Licence: GPL 3+ (See /usr/share/common-licenses/GPL-3 for complete licence) Files: debian/* Copyright: Copyright (C) Julien Lavergne Licence: GPL 2+ (See /usr/share/common-licenses/GPL-2 for complete licence) Updated by Matthieu Baerts and Didier Roche for new releases. * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, * MA 02110-1301, USA. debian/patches/0000775000000000000000000000000012321070654010617 5ustar debian/patches/bzr3068_Clock_fixed_a_crash_when_configuring_when_not_enabled.patch0000664000000000000000000000721312320336610025715 0ustar revno: 3068 committer: Fabrice Rey branch nick: cairo-dock-plug-ins timestamp: Fri 2014-02-28 00:48:31 +0100 message: Clock: fixed a crash when configuring the applet if it's not activated === modified file 'clock/src/applet-config.c' (properties changed: +x to -x) Index: cairo-dock-plug-ins/clock/src/applet-config.c =================================================================== --- cairo-dock-plug-ins.orig/clock/src/applet-config.c 2014-04-06 22:33:38.927527036 +0200 +++ cairo-dock-plug-ins/clock/src/applet-config.c 2014-04-06 22:33:38.923527036 +0200 @@ -330,13 +330,11 @@ ///////////////// static void _cd_clock_select_location (GtkMenuItem *pMenuItem, gpointer *data) { - GldiModuleInstance *myApplet = data[0]; + GtkWidget *pLocationEntry = data[0]; gchar *cLocationPath = data[1]; g_return_if_fail (cLocationPath != NULL); - cd_debug ("%s (%s, %s)", __func__, cLocationPath, myApplet->cConfFilePath); //\____________________ On met a jour le panneau de conf. - GtkWidget *pLocationEntry = myData.pLocationEntry; gtk_entry_set_text (GTK_ENTRY (pLocationEntry), cLocationPath); cd_clock_free_timezone_list (); @@ -360,7 +358,7 @@ g_free (cURI_2); return iOrder; } -static GList *_cd_clock_parse_dir (const gchar *cDirPath, const gchar *cCurrentLocation, GtkWidget *pMenu, GList *pLocationPathList, GldiModuleInstance *myApplet) +static GList *_cd_clock_parse_dir (const gchar *cDirPath, const gchar *cCurrentLocation, GtkWidget *pMenu, GList *pLocationPathList, GtkWidget *pLocationEntry) { //\__________________ Ouverture du (sous-)repertoire. GError *erreur = NULL; @@ -406,13 +404,13 @@ { pSubMenu = gtk_menu_new (); // inside the config window => use a normal GTK menu gtk_menu_item_set_submenu (GTK_MENU_ITEM (pMenuItem), pSubMenu); - pPathList = _cd_clock_parse_dir (sFilePath->str, cLocationPath, pSubMenu, pPathList, myApplet); + pPathList = _cd_clock_parse_dir (sFilePath->str, cLocationPath, pSubMenu, pPathList, pLocationEntry); g_free (cLocationPath); } else { data = g_new (gpointer, 2); - data[0] = myApplet; + data[0] = pLocationEntry; data[1] = cLocationPath; pPathList = g_list_prepend (pPathList, data); g_signal_connect (G_OBJECT (pMenuItem), "activate", G_CALLBACK(_cd_clock_select_location), data); @@ -433,12 +431,12 @@ g_dir_close (dir); return pPathList; } -static void _cd_clock_search_for_location (GtkButton *pButton, GldiModuleInstance *myApplet) +static void _cd_clock_search_for_location (GtkButton *pButton, GtkWidget *pLocationEntry) { GtkWidget *pMenu = gtk_menu_new (); // inside the config window => use a normal GTK menu if (s_pTimeZoneList != NULL) cd_clock_free_timezone_list (); - s_pTimeZoneList = _cd_clock_parse_dir (CD_CLOCK_TIMEZONE_DIR, NULL, pMenu, NULL, myApplet); + s_pTimeZoneList = _cd_clock_parse_dir (CD_CLOCK_TIMEZONE_DIR, NULL, pMenu, NULL, pLocationEntry); gtk_widget_show_all (pMenu); g_signal_connect_after (G_OBJECT (pMenu), @@ -504,7 +502,6 @@ g_return_if_fail (pGroupKeyWidget != NULL); GtkWidget *pLocationEntry = cairo_dock_gui_get_first_widget (pGroupKeyWidget); - myData.pLocationEntry = pLocationEntry; g_return_if_fail (pLocationEntry != NULL); GtkWidget *pWidgetBox = gtk_widget_get_parent (pLocationEntry); @@ -514,7 +511,7 @@ GtkWidget *pLocationButton = gtk_button_new_from_stock (GTK_STOCK_FIND); gtk_box_pack_start (GTK_BOX (pWidgetBox), pLocationButton, FALSE, FALSE, 0); - g_signal_connect (pLocationButton, "clicked", G_CALLBACK (_cd_clock_search_for_location), myApplet); + g_signal_connect (pLocationButton, "clicked", G_CALLBACK (_cd_clock_search_for_location), pLocationEntry); } debian/patches/bzr3070_Status-Notifier_workaround_was_broken_due_to_DBus_API_change.patch0000664000000000000000000000344012321070264027024 0ustar revno: 3070 fixes bug: https://launchpad.net/bugs/1303731 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Tue 2014-04-08 23:53:07 +0200 message: Status-Notifier: was broken on Ubuntu 14.04 due to a DBus API change 'org.ayatana.indicator.service' interface is no longer available but it seems it's not a big deal, this service is no longer needed on Ubuntu 14.04 Was broken due to this change: https://bazaar.launchpad.net/\~indicator-applet-developers/indicator-application/trunk.14.04/revision/246 === modified file 'Status-Notifier/src/applet-host-ias.c' Index: cairo-dock-plug-ins/Status-Notifier/src/applet-host-ias.c =================================================================== --- cairo-dock-plug-ins.orig/Status-Notifier/src/applet-host-ias.c 2014-04-08 23:56:20.455073598 +0200 +++ cairo-dock-plug-ins/Status-Notifier/src/applet-host-ias.c 2014-04-08 23:56:20.447073597 +0200 @@ -743,6 +743,20 @@ G_TYPE_UINT, &service_api_version, G_TYPE_UINT, &this_service_version, G_TYPE_INVALID); + if (error != NULL) + { + cd_debug ("Unable to watch the service: %s", error->message); + g_error_free (error); + /* Note: Not a big deal, let start getting items: it seems that the + * service is no longer available and *no longer needed* on Ubuntu 14.04 + * https://bazaar.launchpad.net/~indicator-applet-developers/indicator-application/trunk.14.04/revision/246 + * https://bugs.launchpad.net/bugs/1303731 + * TODO: remove this ugly hack... + */ + #if (INDICATOR_OLD_NAMES == 0) + service_api_version = 1; + #endif + } cd_debug ("=== got indicator service (API: %d, service: %d, broken watcher: %d)", service_api_version, this_service_version, myData.bBrokenWatcher); if (service_api_version > 0) /// shouldn't the 2 versions be equal ?... debian/patches/bzr3057_GMenu_new_apps_show_dialog_after_installation.patch0000664000000000000000000000544012320336466024274 0ustar revno: 3057 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Fri 2014-01-24 11:12:13 +0100 message: GMenu: new apps: show the dialog only after the end of the installation === modified file 'CMakeLists.txt' Index: cairo-dock-plug-ins/CMakeLists.txt =================================================================== --- cairo-dock-plug-ins.orig/CMakeLists.txt 2014-04-06 22:33:30.807527457 +0200 +++ cairo-dock-plug-ins/CMakeLists.txt 2014-04-06 22:33:30.803527457 +0200 @@ -382,6 +382,11 @@ message (STATUS " DISTRO_ID: ${DISTRO_ID}, DISTRO_RELEASE: ${DISTRO_RELEASE}") endif() +GET_FILENAME_COMPONENT(DEBIAN_VERSION /etc/debian_version ABSOLUTE) +if (EXISTS ${DEBIAN_VERSION}) + set (DEBIAN_PKG_MANAGERS "/usr/bin/apt-get /usr/bin/dpkg /usr/bin/aptitude") +endif() + ############# SHARED LIBRARIES ########### message (STATUS "> Shared Libraries:") @@ -519,7 +524,6 @@ set (PROGRAMS_MISSING "${PROGRAMS_MISSING} python") else() message (STATUS " Python executable program(s): ${PYTHON2_EXECUTABLE} ; ${PYTHON3_EXECUTABLE}") - GET_FILENAME_COMPONENT(DEBIAN_VERSION /etc/debian_version ABSOLUTE) if (EXISTS ${DEBIAN_VERSION}) message (STATUS " will use '--install-layout deb' with 'python setup.py install'") set (DEBIAN_INSTALL_LAYOUT "--install-layout deb") Index: cairo-dock-plug-ins/GMenu/src/CMakeLists.txt =================================================================== --- cairo-dock-plug-ins.orig/GMenu/src/CMakeLists.txt 2014-04-06 22:33:30.807527457 +0200 +++ cairo-dock-plug-ins/GMenu/src/CMakeLists.txt 2014-04-06 22:33:30.803527457 +0200 @@ -38,6 +38,9 @@ if (${LIBGIO_FOUND}) add_definitions (-DHAVE_GIO=1) endif() +if (DEBIAN_PKG_MANAGERS) + add_definitions (-DEND_INSTALLATION_PID="${DEBIAN_PKG_MANAGERS}") +endif() include_directories ( ${PACKAGE_INCLUDE_DIRS} Index: cairo-dock-plug-ins/GMenu/src/applet-apps.c =================================================================== --- cairo-dock-plug-ins.orig/GMenu/src/applet-apps.c 2014-04-06 22:33:30.807527457 +0200 +++ cairo-dock-plug-ins/GMenu/src/applet-apps.c 2014-04-06 22:33:30.803527457 +0200 @@ -80,6 +80,15 @@ s_pNewAppsDialog = NULL; } +#ifdef END_INSTALLATION_PID +static gboolean _show_new_apps_dialog_idle (gpointer pData) +{ + if (pData) + gldi_dialog_unhide (pData); + return FALSE; +} +#endif + void cd_menu_check_for_new_apps (void) { if (myData.pNewApps != NULL && myConfig.bShowNewApps) @@ -125,6 +134,11 @@ pInteractiveWidget, (CairoDockActionOnAnswerFunc)_on_answer_launch_recent, NULL, (GFreeFunc)NULL); + #ifdef END_INSTALLATION_PID + gldi_dialog_hide (s_pNewAppsDialog); + cairo_dock_fm_monitor_pid (END_INSTALLATION_PID, FALSE, + _show_new_apps_dialog_idle, TRUE, s_pNewAppsDialog); + #endif g_free (cIconPath); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootdebian/patches/bzr3036-3040_Shortcuts_removed_disk_usage_on_bookmarks_and_support_x-nautilus_URI.patchdebian/patches/bzr3036-3040_Shortcuts_removed_disk_usage_on_bookmarks_and_support_x-nautilus_URI.pat0000664000000000000000000013075512320336247031126 0ustar revno: 3040 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Mon 2013-12-30 16:33:02 +0100 message: Shortcuts: correctly removed an old bookmark When the file is modified, we also have to check if a bookmark has been removed revno: 3039 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Mon 2013-12-30 14:15:46 +0100 message: Shortcuts: added support for x-nautilus-(...) URI Nautilus adds custom prefixes which are not supported by gvfs... gvfs-integration plugin can read x-nautilus-desktop but not others, e.g.: x-nautilus-search://0/ => specific to Nautilus: open these URI with it. Note that all these URI have a user-name revno: 3038 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Mon 2013-12-30 14:11:12 +0100 message: Shortcuts: translated a few sentences from French to English And split very very long lines revno: 3037 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Mon 2013-12-30 13:27:37 +0100 message: Shortcuts: avoid duplicated code + bookmarks doesn't have a disk usage A new disk usage was added for all icons when reloading the file and the order was wrong revno: 3036 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Mon 2013-12-30 13:04:18 +0100 message: Shortcuts: translated a few sentences from French to English And split very very long lines And reduce duplicated code (more work needed in bookmarks.c I guess) === modified file 'gvfs-integration/cairo-dock-gio-vfs.c' Index: cairo-dock-plug-ins/gvfs-integration/cairo-dock-gio-vfs.c =================================================================== --- cairo-dock-plug-ins.orig/gvfs-integration/cairo-dock-gio-vfs.c 2014-04-06 22:33:13.499528355 +0200 +++ cairo-dock-plug-ins/gvfs-integration/cairo-dock-gio-vfs.c 2014-04-06 22:33:13.491528355 +0200 @@ -326,7 +326,7 @@ g_error_free (erreur); return ; } - gchar *cVolumeName = cValidUri + 1; // on saute le '/'. + gchar *cVolumeName = cValidUri + 1; // we drop the '/'. cd_message ("cVolumeName : %s", cVolumeName); GMount *pMount = NULL; @@ -362,7 +362,8 @@ cValidUri = g_filename_to_uri (cBaseURI, NULL, NULL); else cValidUri = g_strdup (cBaseURI); - if (*cBaseURI == ':' || *cValidUri == ':') // cas bizarre au demontage d'un signet ftp quand celui-ci n'est pas accessible plantage dans dbus). + // strange case when unmounting a FTP bookmark when it's not available: crash with DBus + if (*cBaseURI == ':' || *cValidUri == ':') { cd_warning ("invalid URI (%s ; %s), skip it", cBaseURI, cValidUri); g_free (cValidUri); Index: cairo-dock-plug-ins/shortcuts/src/applet-bookmarks.c =================================================================== --- cairo-dock-plug-ins.orig/shortcuts/src/applet-bookmarks.c 2014-04-06 22:33:13.499528355 +0200 +++ cairo-dock-plug-ins/shortcuts/src/applet-bookmarks.c 2014-04-06 22:33:13.491528355 +0200 @@ -28,6 +28,121 @@ #define CD_SHORTCUT_DEFAULT_DIRECTORY_ICON_FILENAME "inode-directory" +static const gchar * _get_custom_name_and_uri (gchar *cOneBookmark, gchar **cURI) +{ + const gchar *cUserName = NULL; + // should not happen if we add bookmarks via the dock or Nautilus + if (*cOneBookmark == '/') + { + // for 'gvfs_launch_uri': + *cURI = g_strconcat ("file://", cOneBookmark, NULL); + g_free (cOneBookmark); + } + else // it's a valid URI but does it have a custom name? + { + *cURI = cOneBookmark; + // a custom name is separated with a whitespace (no whitespace in the URI) + gchar *str = strchr (cOneBookmark, ' '); + if (str != NULL) + { + cUserName = str + 1; + *str = '\0'; + } + } + return cUserName; +} + +static Icon * _cd_shortcuts_get_icon (gchar *cFileName, const gchar *cUserName, double fCurrentOrder) +{ + cd_debug ("New icon: %s, %s, %f", cFileName, cUserName, fCurrentOrder); + + /* Nautilus adds custom prefixes which are not supported by gvfs... + * gvfs-integration plugin can read x-nautilus-desktop but not others, e.g.: + * x-nautilus-search://0/ => specific to Nautilus: open these URI with it. + * Note that all these URI have a user-name + */ + if (g_str_has_prefix (cFileName, "x-nautilus-") + && ! g_str_has_prefix (cFileName, "x-nautilus-desktop://")) + { + Icon *pNewIcon = cairo_dock_create_dummy_launcher ( + cUserName ? g_strdup (cUserName) : g_strdup (cFileName), + cairo_dock_search_icon_s_path ( + CD_SHORTCUT_DEFAULT_DIRECTORY_ICON_FILENAME, + CAIRO_DOCK_DEFAULT_ICON_SIZE), + g_strdup_printf ("nautilus %s", cFileName), + NULL, + fCurrentOrder); + pNewIcon->iGroup = CD_BOOKMARK_GROUP; + pNewIcon->cBaseURI = cFileName; + pNewIcon->iVolumeID = CD_VOLUME_ID_BOOKMARK_CMD; + return pNewIcon; + } + + gchar *cName, *cRealURI, *cIconName; + gboolean bIsDirectory; + gint iVolumeID; + gdouble fOrder; + if (! cairo_dock_fm_get_file_info (cFileName, &cName, &cRealURI, &cIconName, + &bIsDirectory, &iVolumeID, &fOrder, CAIRO_DOCK_FM_SORT_BY_NAME)) + return NULL; + if (cUserName != NULL) + { + g_free (cName); + if (cName == NULL) // a bookmark on a unmounted system or a folder that doesn't exist any more + cName = g_strdup_printf ("%s\n[%s]", cUserName, D_("Unmounted")); + else + cName = g_strdup (cUserName); + } + else if (cName == NULL) // a bookmark on a unmounted system + { + gchar *cGuessedName = g_path_get_basename (cFileName); + cairo_dock_remove_html_spaces (cGuessedName); // or: g_uri_unescape_string + cName = g_strdup_printf ("%s\n[%s]", cGuessedName, D_("Unmounted")); + g_free (cGuessedName); + } + if (cRealURI == NULL) + cRealURI = g_strdup (cFileName); + if (cIconName == NULL) + cIconName = cairo_dock_search_icon_s_path ( + CD_SHORTCUT_DEFAULT_DIRECTORY_ICON_FILENAME, + CAIRO_DOCK_DEFAULT_ICON_SIZE); // should be the default icon + + Icon *pNewIcon = cairo_dock_create_dummy_launcher (cName, + cIconName, + cRealURI, + NULL, + fCurrentOrder); + pNewIcon->iGroup = CD_BOOKMARK_GROUP; + pNewIcon->cBaseURI = cFileName; + pNewIcon->iVolumeID = iVolumeID; + return pNewIcon; +} + +static GList * _get_item_with_base_uri_icon (GList *pIconList, const gchar *cBaseURI) +{ + GList* ic; + Icon *pIcon; + for (ic = pIconList; ic != NULL; ic = ic->next) + { + pIcon = ic->data; + if (pIcon->cBaseURI != NULL && strcmp (pIcon->cBaseURI, cBaseURI) == 0) + return ic; + } + return NULL; +} + +static void _remove_old_icons_and_free_list (GList *pOldBookmarkList) +{ + GList* ic; + Icon *pIcon; + for (ic = pOldBookmarkList; ic != NULL; ic = ic->next) + { + pIcon = ic->data; + CD_APPLET_REMOVE_ICON_FROM_MY_ICONS_LIST (pIcon); + } + g_list_free (pOldBookmarkList); +} + void cd_shortcuts_on_bookmarks_event (CairoDockFMEventType iEventType, const gchar *cURI, GldiModuleInstance *myApplet) { static int iTime = 0; @@ -35,23 +150,34 @@ CD_APPLET_ENTER; //g_print ("%s (%d)\n", __func__, iEventType); GList *pIconsList = CD_APPLET_MY_ICONS_LIST; + GList *pOldBookmarkList; Icon *icon; GList *ic; - for (ic = pIconsList; ic != NULL; ic = ic->next) // optimization: skip the disks and networks, and point on the first bookmark. + // optimization: skip the disks and networks, and point on the first bookmark. + for (ic = pIconsList; ic != NULL; ic = ic->next) { icon = ic->data; if (icon->iGroup == (CairoDockIconGroup) CD_BOOKMARK_GROUP) break; } - pIconsList = ic; // Note that since the first bookmark is always the Home Folder, 'pIconsList' will never change when inserting/removing a bookmark. + /* Note that since the first bookmark is always the Home Folder, + * 'pIconsList' will never change when inserting/removing a bookmark. + */ + pIconsList = ic; GldiContainer *pContainer = CD_APPLET_MY_ICONS_LIST_CONTAINER; CD_APPLET_LEAVE_IF_FAIL (pContainer != NULL); - - if (iEventType == CAIRO_DOCK_FILE_CREATED || iEventType == CAIRO_DOCK_FILE_MODIFIED) // le fichier des bookmarks a ete modifie. + + // split the list: items can have been removed + pOldBookmarkList = pIconsList->next; + pIconsList->next = NULL; + pOldBookmarkList->prev = NULL; + + // Bookmarks file has been modified + if (iEventType == CAIRO_DOCK_FILE_CREATED || iEventType == CAIRO_DOCK_FILE_MODIFIED) { cd_message ("The bookmarks list has changed"); - //\____________________ On lit le fichier des signets. + //\____________________ Read bookmarks file gchar *cContent = NULL; gsize length=0; GError *erreur = NULL; @@ -66,14 +192,16 @@ gchar **cBookmarksList = g_strsplit (cContent, "\n", -1); g_free (cContent); - //\____________________ On parcourt le contenu. - double fCurrentOrder = 1.; // bookmarks are listed in the order of the file; we need to reorder each icon in case a bookmark has changed its place, or if a new one appeared (the first one is always the Home Folder). + //\____________________ Read the content. + /* Bookmarks are listed in the order of the file; we need to + * reorder each icon in case a bookmark has changed its place, or + * if a new one appeared (the first one is always the Home Folder). + */ + double fCurrentOrder = 1.; gchar *cOneBookmark; - Icon *pNewIcon; - gchar *cName, *cRealURI, *cIconName, *cUserName; - gboolean bIsDirectory; - int iVolumeID; - double fOrder; + Icon *pNewIcon, *pExistingIcon; + GList *pExistingIconNode; + const gchar *cUserName; int i; for (i = 0; cBookmarksList[i] != NULL; i ++) { @@ -84,87 +212,39 @@ continue; } - // on recupere le nom a afficher. - cUserName = NULL; - if (cOneBookmark != NULL && *cOneBookmark == '/') // ne devrait pas arriver si on ajoute les signets via le dock ou Nautilus. - { - gchar *tmp = cOneBookmark; - cOneBookmark = g_strconcat ("file://", cOneBookmark, NULL); // sinon launch_uri() ne marche pas sous Gnome. - g_free (tmp); - } - else // c'est une URI valide, on regarde si il y'a un nom utilisateur. - { - gchar *str = strchr (cOneBookmark, ' '); // pas d'espace dans une URI, donc le 1er espace signifie la separation entre URI et nom utilisateur. - if (str != NULL) - { - cUserName = str + 1; - *str = '\0'; - } - } + // Grab the custom name if any + cUserName = _get_custom_name_and_uri (cBookmarksList[i], &cOneBookmark); - // on cree une icone pour le signet si aucune n'existe ou qu'il a change. - Icon *pExistingIcon = cairo_dock_get_icon_with_base_uri (pIconsList, cOneBookmark); - if (pExistingIcon != NULL) + // Check if the icon already exists and has changed + pExistingIconNode = _get_item_with_base_uri_icon (pOldBookmarkList, cOneBookmark); + if (pExistingIconNode != NULL) { - if ((cUserName && cairo_dock_strings_differ (pExistingIcon->cName, cUserName)) - || cURI == NULL) // signet inexistant ou qui a change => on le cree. 'cUserName' may be NULL if the user has never set a user-name yet, but once he does, 'cUserName' is not NULL. so if 'cUserName' is NULL, it has not changed. + pExistingIcon = pExistingIconNode->data; + // move this node to the subdock icons list + pOldBookmarkList = g_list_delete_link (pOldBookmarkList, pExistingIconNode); + pIconsList = g_list_insert (pIconsList, pExistingIcon, 1); // after the home, will be sorted later + if (cUserName && g_strcmp0 (pExistingIcon->cName, cUserName) != 0) { - //g_print ("le signet '%s' a change, on le recree\n", pExistingIcon->cName); - CD_APPLET_REMOVE_ICON_FROM_MY_ICONS_LIST (pExistingIcon); + CD_APPLET_REMOVE_ICON_FROM_MY_ICONS_LIST (pExistingIcon); // will destroy it pExistingIcon = NULL; } else { - CDDiskUsage *pDiskUsage = CD_APPLET_GET_MY_ICON_DATA (pExistingIcon); - if (! pDiskUsage) - { - pDiskUsage = g_new0 (CDDiskUsage, 1); - CD_APPLET_SET_MY_ICON_DATA (pExistingIcon, pDiskUsage); - } - pDiskUsage->iLastCheckTime = iTime; - pExistingIcon->fOrder = fCurrentOrder ++; + fCurrentOrder++; + g_free (cOneBookmark); } } + else + pExistingIcon = NULL; + if (pExistingIcon == NULL) { - //g_print ("new bookmark : '%s'\n", cOneBookmark); - - cName = NULL; - cRealURI = NULL; - cIconName = NULL; - if (cairo_dock_fm_get_file_info (cOneBookmark, &cName, &cRealURI, &cIconName, &bIsDirectory, &iVolumeID, &fOrder, CAIRO_DOCK_FM_SORT_BY_NAME)) + pNewIcon = _cd_shortcuts_get_icon (cOneBookmark, + cUserName, fCurrentOrder); + if (pNewIcon) { - cd_message (" + 1 bookmark : %s", cOneBookmark); - if (cUserName != NULL) - { - g_free (cName); - cName = g_strdup (cUserName); - } - else if (cName == NULL) // cas d'un bookmark situe sur un volume non monte. - { - gchar *cGuessedName = g_path_get_basename (cOneBookmark); - cairo_dock_remove_html_spaces (cGuessedName); - cName = g_strdup_printf ("%s\n[%s]", cGuessedName, D_("Unmounted")); - g_free (cGuessedName); - } - if (cRealURI == NULL) - cRealURI = g_strdup (cOneBookmark); - if (cIconName == NULL) - cIconName = cairo_dock_search_icon_s_path (CD_SHORTCUT_DEFAULT_DIRECTORY_ICON_FILENAME, CAIRO_DOCK_DEFAULT_ICON_SIZE); - - pNewIcon = cairo_dock_create_dummy_launcher (cName, - cIconName, - cRealURI, - NULL, - fCurrentOrder++); - pNewIcon->iGroup = CD_BOOKMARK_GROUP; - pNewIcon->cBaseURI = cOneBookmark; - pNewIcon->iVolumeID = iVolumeID; - CDDiskUsage *pDiskUsage = g_new0 (CDDiskUsage, 1); - pDiskUsage->iLastCheckTime = iTime; - CD_APPLET_SET_MY_ICON_DATA (pNewIcon, pDiskUsage); - CD_APPLET_ADD_ICON_IN_MY_ICONS_LIST (pNewIcon); + fCurrentOrder++; } else { @@ -174,26 +254,14 @@ } } g_free (cBookmarksList); - - //\____________________ remove the old bookmarks. - ///pIconsList = CD_APPLET_MY_ICONS_LIST; - GList *next_ic; - for (ic = pIconsList; ic != NULL; ic = next_ic) - { - next_ic = ic->next; - icon = ic->data; - if (icon->iGroup == (CairoDockIconGroup) CD_BOOKMARK_GROUP) - { - CDDiskUsage *pDiskUsage = CD_APPLET_GET_MY_ICON_DATA (icon); - if (! pDiskUsage || pDiskUsage->iLastCheckTime < iTime) - { - cd_debug ("this bookmark is too old (%s)", icon->cName); - CD_APPLET_REMOVE_ICON_FROM_MY_ICONS_LIST (icon); - } - } - } - pIconsList = CD_APPLET_MY_ICONS_LIST; - cairo_dock_sort_icons_by_order (pIconsList); // again, since 'Home Folder' is always the first bookmark, the head of the list won't change even if there are only bookmarks (so we don't need to re-assigne it to the container). + + _remove_old_icons_and_free_list (pOldBookmarkList); + + /* Again, since 'Home Folder' is always the first bookmark, + * the head of the list won't change even if there are only bookmarks + * (so we don't need to re-assigne it to the container). + */ + cairo_dock_sort_icons_by_order (pIconsList); } } CD_APPLET_LEAVE(); @@ -227,7 +295,8 @@ continue; str = strchr (cOneBookmark, ' '); - if ((str && strncmp (cOneBookmark, cURI, str - cOneBookmark) == 0) || (!str && strcmp (cOneBookmark, cURI) == 0)) + if ((str && strncmp (cOneBookmark, cURI, str - cOneBookmark) == 0) + || (!str && strcmp (cOneBookmark, cURI) == 0)) { // remove this element from the array int j; @@ -342,49 +411,6 @@ } } -static Icon * _cd_shortcuts_get_icon (gchar *cFileName, const gchar *cUserName, double fCurrentOrder) -{ - cd_debug ("New icon: %s, %s, %f", cFileName, cUserName, fCurrentOrder); - gchar *cName, *cRealURI, *cIconName; - gboolean bIsDirectory; - gint iVolumeID; - gdouble fOrder; - if (! cairo_dock_fm_get_file_info (cFileName, &cName, &cRealURI, &cIconName, - &bIsDirectory, &iVolumeID, &fOrder, CAIRO_DOCK_FM_SORT_BY_NAME)) - return NULL; - if (cUserName != NULL) - { - g_free (cName); - if (cName == NULL) // a bookmark on a unmounted system or a folder that doesn't exist any more - cName = g_strdup_printf ("%s\n[%s]", cUserName, D_("Unmounted")); - else - cName = g_strdup (cUserName); - } - else if (cName == NULL) // a bookmark on a unmounted system - { - gchar *cGuessedName = g_path_get_basename (cFileName); - cairo_dock_remove_html_spaces (cGuessedName); // or: g_uri_unescape_string - cName = g_strdup_printf ("%s\n[%s]", cGuessedName, D_("Unmounted")); - g_free (cGuessedName); - } - if (cRealURI == NULL) - cRealURI = g_strdup (cFileName); - if (cIconName == NULL) - cIconName = cairo_dock_search_icon_s_path ( - CD_SHORTCUT_DEFAULT_DIRECTORY_ICON_FILENAME, - CAIRO_DOCK_DEFAULT_ICON_SIZE); // should be the default icon - - Icon *pNewIcon = cairo_dock_create_dummy_launcher (cName, - cIconName, - cRealURI, - NULL, - fCurrentOrder); - pNewIcon->iGroup = CD_BOOKMARK_GROUP; - pNewIcon->cBaseURI = cFileName; - pNewIcon->iVolumeID = iVolumeID; - return pNewIcon; -} - GList *cd_shortcuts_list_bookmarks (gchar *cBookmarkFilePath, GldiModuleInstance *myApplet) { GList *pBookmarkIconList = NULL; @@ -398,7 +424,8 @@ { _init_disk_usage (pNewIcon, myApplet); CDDiskUsage *pDiskUsage = CD_APPLET_GET_MY_ICON_DATA (pNewIcon); - if (pDiskUsage) pDiskUsage->iLastCheckTime = 1e9; // so that this bookmark will never be considered old, and therefore removed. + if (pDiskUsage) // so that this bookmark will never be considered old, and therefore removed. + pDiskUsage->iLastCheckTime = 1e9; pBookmarkIconList = g_list_append (pBookmarkIconList, pNewIcon); } @@ -408,7 +435,7 @@ g_file_get_contents (cBookmarkFilePath, &cContent, &length, &erreur); if (erreur != NULL) { - cd_warning ("Attention : %s\n no bookmark will be available", erreur->message); + cd_warning ("Attention: %s\n no bookmark will be available", erreur->message); g_error_free (erreur); } else @@ -416,27 +443,12 @@ gchar **cBookmarksList = g_strsplit (cContent, "\n", -1); g_free (cContent); - gchar *cOneBookmark, *cUserName; + gchar *cOneBookmark; + const gchar *cUserName; int i = 0; for (i = 0; cBookmarksList[i] != NULL; i ++) { - cOneBookmark = cBookmarksList[i]; - cUserName = NULL; - if (cOneBookmark != NULL && *cOneBookmark == '/') // ne devrait pas arriver si on ajoute les signets via le dock ou Nautilus. - { - gchar *tmp = g_strconcat ("file://", cOneBookmark, NULL); // sinon launch_uri() ne marche pas sous Gnome. - g_free (cOneBookmark); - cOneBookmark = tmp; - } - else // c'est une URI valide, on regarde si il y'a un nom utilisateur. - { - gchar *str = strchr (cOneBookmark, ' '); // pas d'espace dans une URI, donc le 1er espace signifie la separation entre URI et nom utilisateur. - if (str != NULL) - { - cUserName = str + 1; - *str = '\0'; - } - } + cUserName = _get_custom_name_and_uri (cBookmarksList[i], &cOneBookmark); if (*cOneBookmark != '\0' && *cOneBookmark != '#') { cd_message (" + 1 bookmark : %s", cOneBookmark); Index: cairo-dock-plug-ins/shortcuts/src/applet-disk-usage.c =================================================================== --- cairo-dock-plug-ins.orig/shortcuts/src/applet-disk-usage.c 2014-04-06 22:33:13.499528355 +0200 +++ cairo-dock-plug-ins/shortcuts/src/applet-disk-usage.c 2014-04-06 22:33:13.491528355 +0200 @@ -120,7 +120,11 @@ pDiskUsage = CD_APPLET_GET_MY_ICON_DATA (pIcon); if (pDiskUsage == NULL) // not a drive (eg, network or bookmark) { - if (pIcon->iGroup == (CairoDockIconGroup) CD_BOOKMARK_GROUP) // drives are listed first, and Home is always the first bookmark (and the only one to have disk data), so if we got a bookmark with no disk data, we can quit the loop. + /* Drives are listed first, and Home is always the first + * bookmark (and the only one to have disk data), so if we got a + * bookmark with no disk data, we can quit the loop. + */ + if (pIcon->iGroup >= (CairoDockIconGroup) CD_BOOKMARK_GROUP) break; else continue; Index: cairo-dock-plug-ins/shortcuts/src/applet-drives.c =================================================================== --- cairo-dock-plug-ins.orig/shortcuts/src/applet-drives.c 2014-04-06 22:33:13.499528355 +0200 +++ cairo-dock-plug-ins/shortcuts/src/applet-drives.c 2014-04-06 22:33:13.491528355 +0200 @@ -72,10 +72,10 @@ switch (iEventType) { - case CAIRO_DOCK_FILE_DELETED : // un point de montage a ete deconnecte. + case CAIRO_DOCK_FILE_DELETED : // a mount point has been disconnected { Icon *pConcernedIcon = cairo_dock_get_icon_with_base_uri (pIconsList, cURI); - if (pConcernedIcon == NULL) // on cherche par nom. + if (pConcernedIcon == NULL) // search by name { pConcernedIcon = cairo_dock_get_icon_with_name (pIconsList, cURI); } @@ -92,17 +92,17 @@ } break ; - case CAIRO_DOCK_FILE_CREATED : // un point de montage a ete connecte. + case CAIRO_DOCK_FILE_CREATED : // a mount point has been connected { - //\_______________________ on verifie qu'elle n'existe pas deja. + //\_______________________does it already exist? Icon *pSameIcon = cairo_dock_get_icon_with_base_uri (pIconsList, cURI); if (pSameIcon != NULL) { cd_warning ("this mount point (%s) already exists.", pSameIcon->cName); - return; // on decide de ne rien faire, c'est surement un signal inutile. + return; // do nothing, certainly an useless/double signal } - //\_______________________ on cree une icone pour cette nouvelle URI. + //\_______________________ create a new icon Icon *pNewIcon = cairo_dock_fm_create_icon_from_URI (cURI, pContainer, CAIRO_DOCK_FM_SORT_BY_NAME); if (pNewIcon == NULL) { @@ -111,11 +111,11 @@ } pNewIcon->iGroup = CD_DRIVE_GROUP; - //\_______________________ on la place au bon endroit suivant son nom. + //\_______________________ place it at the right position (by name) cd_shortcuts_set_icon_order_by_name (pNewIcon, pIconsList); cd_debug (" new drive : %s, %s", pNewIcon->cName, pNewIcon->cCommand); - //\_______________________ on l'insere dans la liste. + //\_______________________ added in the list CD_APPLET_ADD_ICON_IN_MY_ICONS_LIST (pNewIcon); _init_disk_usage (pNewIcon, myApplet); if (pNewIcon->cCommand) @@ -124,7 +124,7 @@ cd_shortcuts_display_disk_usage (pNewIcon, myApplet); } - //\_______________________ on affiche un message. + //\_______________________ display a notification gboolean bIsMounted = FALSE; gchar *cUri = cairo_dock_fm_is_mounted (pNewIcon->cBaseURI, &bIsMounted); g_free (cUri); @@ -132,18 +132,18 @@ bIsMounted ? D_("%s is now mounted") : D_("%s has been connected"), pNewIcon, pContainer, 4000, - NULL, // son icone n'est pas encore chargee + NULL, // it's icon is not already loaded pNewIcon->cName); g_free (myData.cLastCreatedUri); myData.cLastCreatedUri = g_strdup (cURI); } break ; - case CAIRO_DOCK_FILE_MODIFIED : // un point de montage a ete (de)monte + case CAIRO_DOCK_FILE_MODIFIED : // a mount point has been (un)mounted { - //\_______________________ on cherche l'icone concernee. + //\_______________________ search the right icon Icon *pConcernedIcon = cairo_dock_get_icon_with_base_uri (pIconsList, cURI); - if (pConcernedIcon == NULL) // on cherche par nom. + if (pConcernedIcon == NULL) // search by using the name { pConcernedIcon = cairo_dock_get_icon_with_name (pIconsList, cURI); } @@ -154,7 +154,7 @@ } cd_debug (" %s is modified (%s)", pConcernedIcon->cName, pConcernedIcon->cCommand); - //\_______________________ on recupere les infos actuelles. + //\_______________________ grab current info Icon *pNewIcon = cairo_dock_fm_create_icon_from_URI (cURI, pContainer, CAIRO_DOCK_FM_SORT_BY_NAME); if (pNewIcon == NULL) { @@ -163,8 +163,9 @@ } pNewIcon->iGroup = CD_DRIVE_GROUP; - //\_______________________ on remplace l'icone si des choses ont change. - if (cairo_dock_strings_differ (pConcernedIcon->cName, pNewIcon->cName) || cairo_dock_strings_differ (pConcernedIcon->cFileName, pNewIcon->cFileName)) + //\_______________________ replace the icon if smthg has changed + if (cairo_dock_strings_differ (pConcernedIcon->cName, pNewIcon->cName) + || cairo_dock_strings_differ (pConcernedIcon->cFileName, pNewIcon->cFileName)) { //g_print (" '%s' -> '%s'\n'%s' -> '%s'\n", pConcernedIcon->cName, pNewIcon->cName, pConcernedIcon->cFileName, pNewIcon->cFileName); @@ -178,8 +179,9 @@ { cd_shortcuts_add_progress_bar (pNewIcon, myApplet); } - - pConcernedIcon = pNewIcon; // pConcernedIcon a ete detruite, on pointe sur la nouvelle pour pouvoir afficher un dialogue juste apres. + + // pConcernedIcon has been distroyed, assigned the new one to display a dialogue just after + pConcernedIcon = pNewIcon; } else { @@ -189,8 +191,8 @@ cd_shortcuts_display_disk_usage (pConcernedIcon, myApplet); - //\_______________________ on affiche un message. - gldi_dialogs_remove_on_icon (pConcernedIcon); // on empeche la multiplication des dialogues de (de)montage. + //\_______________________ display a notification + gldi_dialogs_remove_on_icon (pConcernedIcon); // avoid multiple dialogues gboolean bIsMounted = FALSE; gchar *cUri = cairo_dock_fm_is_mounted (pConcernedIcon->cBaseURI, &bIsMounted); g_free (cUri); @@ -198,9 +200,10 @@ bIsMounted ? D_("%s is now mounted") : D_("%s is now unmounted"), pConcernedIcon, pContainer, 4000, - "same icon", // petit risque de n'avoir pas encore d'image a afficher, pas bien grave. + "same icon", // it's possible to not have the right icon, not so important pConcernedIcon->cName); - if (! bIsMounted && pNewIcon == NULL) // le disque s'est fait demonte, mais l'icone ne s'est pas faite remplacee. + // disk has been unmounted but a icon is needed + if (! bIsMounted && pNewIcon == NULL) { CDDiskUsage *pDiskUsage = CD_APPLET_GET_MY_ICON_DATA (pConcernedIcon); if (pDiskUsage != NULL) @@ -209,7 +212,8 @@ { pDiskUsage->iTotal = 0; pDiskUsage->iAvail = 0; - gldi_icon_set_quick_info (pConcernedIcon, NULL); // on lui enleve son quick-info (ses infos n'etant plus valides, son quick-info ne sera pas mis a jour). + // remove the quick-info because it has been unmounted + gldi_icon_set_quick_info (pConcernedIcon, NULL); } } } @@ -225,14 +229,14 @@ { g_return_if_fail (cURI != NULL); CD_APPLET_ENTER; - //\________________ On gere l'evenement sur le point de montage. + //\________________ Manage event about this mount point GList *pIconsList = CD_APPLET_MY_ICONS_LIST; GldiContainer *pContainer = CD_APPLET_MY_ICONS_LIST_CONTAINER; CD_APPLET_LEAVE_IF_FAIL (pContainer != NULL); _manage_event_on_drive (iEventType, cURI, pIconsList, pContainer, myApplet); - //\________________ On met a jour les signets qui pointeraient sur un repertoire du point de montage nouvellement (de)monte. + //\________________ Update bookmarks which are linked to this mount point if (!myConfig.bListBookmarks || pIconsList == NULL) { CD_APPLET_LEAVE(); @@ -241,12 +245,7 @@ Icon *icon; gboolean bIsMounted; gchar *cTargetURI = cairo_dock_fm_is_mounted (cURI, &bIsMounted); - if (cTargetURI == NULL) // I think we don't have anything to do here, but this needs confirmation. - { - //g_print ("couldn't guess target URi of mount point '%s'\n", cURI); - ///cd_shortcuts_on_bookmarks_event (CAIRO_DOCK_FILE_MODIFIED, NULL, myApplet); // NULL <=> on recharge tout. - } - else // version optimisee. + if (cTargetURI != NULL) // optimized version. { //g_print ("test bookmarks in '%s'...\n", cTargetURI); pIconsList = CD_APPLET_MY_ICONS_LIST; @@ -257,18 +256,28 @@ { if (strncmp (cTargetURI, icon->cBaseURI, strlen (cTargetURI)) == 0) { - //g_print ("le signet '%s' est situe sur un point de montage ayant change (%s)\n", icon->cBaseURI, cTargetURI); + //g_print ("bookmark '%s' is located in a mount point which has changed (%s)\n", icon->cBaseURI, cTargetURI); gchar *cName = NULL, *cRealURI = NULL, *cIconName = NULL; int iVolumeID = 0; gboolean bIsDirectory = FALSE; double fOrder; - if (cairo_dock_fm_get_file_info (icon->cBaseURI, &cName, &cRealURI, &cIconName, &bIsDirectory, &iVolumeID, &fOrder, CAIRO_DOCK_FM_SORT_BY_NAME)) + if (cairo_dock_fm_get_file_info (icon->cBaseURI, &cName, + &cRealURI, &cIconName, &bIsDirectory, &iVolumeID, + &fOrder, CAIRO_DOCK_FM_SORT_BY_NAME)) { //g_print (" -> %s (%d)\n", cIconName, bIsMounted); if (bIsMounted/** || cIconName == NULL*/) { gchar *str; - if ((str = strchr (icon->cName, '\n')) != NULL) // if it was previously an unmounted bookmark, just remove the 'unmounted' part to avoid changing the name (when mounted, gvfs returns the path whereas we want to display the bookmark name). Note that the icon might also changes (it was NULL when the bookmark was not mounted), and we can use this new one which is probably more accurate. + /* if it was previously an unmounted bookmark, just + * remove the 'unmounted' part to avoid changing the + * name (when mounted, gvfs returns the path whereas + * we want to display the bookmark name). Note that + * the icon might also changes (it was NULL when the + * bookmark was not mounted), and we can use this + * new one which is probably more accurate. + */ + if ((str = strchr (icon->cName, '\n')) != NULL) *str = '\0'; else { @@ -303,18 +312,19 @@ GList *pIconList = NULL; gchar *cFullURI = NULL; - //\_______________________ On recupere la liste des points de montage. - pIconList = cairo_dock_fm_list_directory (CAIRO_DOCK_FM_VFS_ROOT, CAIRO_DOCK_FM_SORT_BY_NAME, CD_DRIVE_GROUP, FALSE, 100, &cFullURI); + //\_______________________ Get the list of mount points. + pIconList = cairo_dock_fm_list_directory (CAIRO_DOCK_FM_VFS_ROOT, + CAIRO_DOCK_FM_SORT_BY_NAME, CD_DRIVE_GROUP, FALSE, 100, &cFullURI); cd_message (" cFullURI : %s", cFullURI); if (pIconList == NULL) { - cd_warning ("couldn't detect any drives"); // on decide de poursuivre malgre tout, pour les signets. + cd_warning ("couldn't detect any drives"); // continue: for bookmarks } /// TODO: if ! bListBookmarks, then we should add the Home in the drives list, to have the disk space information... pSharedMemory->cDisksURI = cFullURI; - //\_______________________ On initialise les usages disque. + //\_______________________ Initialize disk usages. Icon *pIcon; GList *ic; for (ic = pIconList; ic != NULL; ic = ic->next) Index: cairo-dock-plug-ins/shortcuts/src/applet-notifications.c =================================================================== --- cairo-dock-plug-ins.orig/shortcuts/src/applet-notifications.c 2014-04-06 22:33:13.499528355 +0200 +++ cairo-dock-plug-ins/shortcuts/src/applet-notifications.c 2014-04-06 22:33:13.495528355 +0200 @@ -33,7 +33,8 @@ CD_APPLET_LEAVE_IF_FAIL (pContainer != NULL); //g_print ("%s (%s , %d)\n", __func__, cURI, bSuccess); - if (! bSuccess) // en cas de montage reussi, on aura un dialogue via les evenements. + // success: a dialog as notification + if (! bSuccess) { Icon *pIcon = cairo_dock_get_icon_with_base_uri (CD_APPLET_MY_ICONS_LIST, cURI); CD_APPLET_LEAVE_IF_FAIL (pIcon != NULL); @@ -43,7 +44,7 @@ bMounting ? D_("Failed to mount %s") : D_("Failed to unmount %s"), pIcon, pContainer, 4000, - "same icon", // petit risque de n'avoir pas encore d'image a afficher, pas bien grave. + "same icon", // it's possible to not have the right icon, not so important pIcon->cName); } CD_APPLET_LEAVE (); @@ -56,14 +57,21 @@ CD_APPLET_LEAVE_IF_FAIL (pContainer != NULL); Icon *pIcon = cairo_dock_get_icon_with_base_uri (CD_APPLET_MY_ICONS_LIST, cURI); - if (pIcon == NULL && g_strcmp0 (myData.cLastDeletedUri, cURI) == 0 && myData.cLastCreatedUri != NULL) // when mouting a mount point (for instance a file mounted as a loop device), the associated .volume (its actual URI) might be deleted, and a new one is created for the mounted volume (therefore the icon is deleted and a new one is created, with another URI). So we lose the track of the initial icon. That's why we use a trick: we remember the last created volume; it's very likely this one. + /* when mouting a mount point (for instance a file mounted as a loop device), + * the associated .volume (its actual URI) might be deleted, and a new one is + * created for the mounted volume (therefore the icon is deleted and a new + * one is created, with another URI). So we lose the track of the initial + * icon. That's why we use a trick: we remember the last created volume; + * it's very likely this one. + */ + if (pIcon == NULL && g_strcmp0 (myData.cLastDeletedUri, cURI) == 0 && myData.cLastCreatedUri != NULL) { cd_debug ("no icon for '%s', trying with '%s'", cURI, myData.cLastCreatedUri); pIcon = cairo_dock_get_icon_with_base_uri (CD_APPLET_MY_ICONS_LIST, myData.cLastCreatedUri); } CD_APPLET_LEAVE_IF_FAIL (pIcon != NULL); - if (bSuccess) // montage reussi. + if (bSuccess) { cairo_dock_fm_launch_uri (pIcon->cCommand); } @@ -74,14 +82,15 @@ bMounting ? _("Failed to mount %s") : _("Failed to unmount %s"), pIcon, pContainer, 4000, - "same icon", // petit risque de n'avoir pas encore d'image a afficher, pas bien grave. + "same icon", // it's possible to not have the right icon, not so important pIcon->cName); } CD_APPLET_LEAVE (); } CD_APPLET_ON_CLICK_BEGIN - if (CD_APPLET_CLICKED_ICON == myIcon) // clic sur l'icone principale -> on affiche un message en cas de probleme, sinon on laisse passer la notification. + // Click on the main icon: display a message if there is a problem + if (CD_APPLET_CLICKED_ICON == myIcon) { if (CD_APPLET_MY_ICONS_LIST == NULL) { @@ -89,15 +98,20 @@ if (myData.pTask != NULL) // if it's loading myData.bShowMenuPending = TRUE; else if (g_iDesktopEnv == CAIRO_DOCK_KDE) - gldi_dialog_show_temporary_with_icon (D_("Sorry, this applet is not yet available for KDE."), myIcon, myContainer, 6000., "same icon"); + gldi_dialog_show_temporary_with_icon (D_("Sorry, this applet is not yet available for KDE."), + myIcon, myContainer, 6000., "same icon"); else - gldi_dialog_show_temporary_with_icon (D_("No disks or bookmarks were found."), myIcon, myContainer, 6000., "same icon"); + gldi_dialog_show_temporary_with_icon (D_("No disks or bookmarks were found."), + myIcon, myContainer, 6000., "same icon"); } - CD_APPLET_LEAVE (GLDI_NOTIFICATION_LET_PASS); // on laisse passer la notification (pour ouvrir le sous-dock au clic). + // Let pass the notification: to open the subdock when clicking + CD_APPLET_LEAVE (GLDI_NOTIFICATION_LET_PASS); } - else if (CD_APPLET_CLICKED_ICON != NULL) // clic sur une des icones de la liste. + else if (CD_APPLET_CLICKED_ICON != NULL) // click on one icon of the subdock { - if (CD_APPLET_CLICKED_ICON->iGroup == (CairoDockIconGroup) CD_DRIVE_GROUP && CD_APPLET_CLICKED_ICON->iVolumeID) // clic sur un point de montage. + // click on a mount point + if (CD_APPLET_CLICKED_ICON->iGroup == (CairoDockIconGroup) CD_DRIVE_GROUP + && CD_APPLET_CLICKED_ICON->iVolumeID) { gboolean bIsMounted = FALSE; gchar *cActivationURI = cairo_dock_fm_is_mounted (CD_APPLET_CLICKED_ICON->cBaseURI, &bIsMounted); @@ -108,27 +122,39 @@ } else { - cairo_dock_fm_mount_full (CD_APPLET_CLICKED_ICON->cBaseURI, CD_APPLET_CLICKED_ICON->iVolumeID, (CairoDockFMMountCallback) _open_on_mount, myApplet); + cairo_dock_fm_mount_full (CD_APPLET_CLICKED_ICON->cBaseURI, + CD_APPLET_CLICKED_ICON->iVolumeID, + (CairoDockFMMountCallback) _open_on_mount, myApplet); } } - else if (CD_APPLET_CLICKED_ICON->iGroup == (CairoDockIconGroup) CD_BOOKMARK_GROUP) // clic sur un signet, il peut etre place sur un volume non monte. + // click on a bookmark (not with a custom cmd): can be on an unmount devise + else if (CD_APPLET_CLICKED_ICON->iGroup == (CairoDockIconGroup) CD_BOOKMARK_GROUP) { - // check if it's a mounted URI - // note: if it's a folder on an unmouned volume, it can't be launched nor mounted; we would need to get its volume first and it's not obvious (Nautilus just hide them until the volume is mounted) - gboolean bIsMounted = TRUE; - gchar *cTarget = cairo_dock_fm_is_mounted (CD_APPLET_CLICKED_ICON->cCommand, &bIsMounted); - cd_debug ("%s is mounted: %d (%s)", CD_APPLET_CLICKED_ICON->cCommand, bIsMounted, cTarget); - g_free (cTarget); - - if (bIsMounted) // if mounted, just open it - cairo_dock_fm_launch_uri (CD_APPLET_CLICKED_ICON->cCommand); - else // else, mount it, and it will be opened in the callback. - cairo_dock_fm_mount_full (CD_APPLET_CLICKED_ICON->cCommand, 1, (CairoDockFMMountCallback) _open_on_mount, myApplet); + // Click on a bookmark which contains a custom cmd, e.g.: "nautilus x-nautilus-(...) + if (CD_APPLET_CLICKED_ICON->iVolumeID == CD_VOLUME_ID_BOOKMARK_CMD) + cairo_dock_launch_command (CD_APPLET_CLICKED_ICON->cCommand); + else + { + /* check if it's a mounted URI + * note: if it's a folder on an unmouned volume, it can't be + * launched nor mounted; we would need to get its volume first + * and it's not obvious + * (Nautilus just hide them until the volume is mounted) + */ + gboolean bIsMounted = TRUE; + gchar *cTarget = cairo_dock_fm_is_mounted (CD_APPLET_CLICKED_ICON->cCommand, &bIsMounted); + cd_debug ("%s is mounted: %d (%s)", CD_APPLET_CLICKED_ICON->cCommand, bIsMounted, cTarget); + g_free (cTarget); + + if (bIsMounted) // if mounted, just open it + cairo_dock_fm_launch_uri (CD_APPLET_CLICKED_ICON->cCommand); + else // else, mount it, and it will be opened in the callback. + cairo_dock_fm_mount_full (CD_APPLET_CLICKED_ICON->cCommand, + 1, (CairoDockFMMountCallback) _open_on_mount, myApplet); + } } - else - { + else // Network cairo_dock_fm_launch_uri (CD_APPLET_CLICKED_ICON->cCommand); - } } CD_APPLET_ON_CLICK_END @@ -142,22 +168,29 @@ if (! bIsMounted) { - cairo_dock_fm_mount_full (pIcon->cBaseURI, pIcon->iVolumeID, (CairoDockFMMountCallback) _on_volume_mounted, myApplet); + cairo_dock_fm_mount_full (pIcon->cBaseURI, pIcon->iVolumeID, + (CairoDockFMMountCallback) _on_volume_mounted, myApplet); } else { - cairo_dock_fm_unmount_full (pIcon->cBaseURI, pIcon->iVolumeID, (CairoDockFMMountCallback) _on_volume_mounted, myApplet); - - gldi_dialog_show_temporary_with_icon (D_("Unmouting this volume ..."), pIcon, pContainer, 15000., "same icon"); // le dialogue sera enleve lorsque le volume sera demonte. + cairo_dock_fm_unmount_full (pIcon->cBaseURI, pIcon->iVolumeID, + (CairoDockFMMountCallback) _on_volume_mounted, myApplet); + + // this dialog will be removed when the volume will be unmounted. + gldi_dialog_show_temporary_with_icon (D_("Unmouting this volume ..."), + pIcon, pContainer, 15000., "same icon"); } } CD_APPLET_ON_MIDDLE_CLICK_BEGIN - if (CD_APPLET_CLICKED_ICON == myIcon) // clic sur l'icone principale. + if (CD_APPLET_CLICKED_ICON == myIcon) // click on the main icon. { cairo_dock_fm_launch_uri (g_getenv ("HOME")); } - else if (CD_APPLET_CLICKED_ICON != NULL && (CD_APPLET_CLICKED_ICON->iGroup == (CairoDockIconGroup) CD_DRIVE_GROUP || CD_APPLET_CLICKED_ICON->iVolumeID > 0)) // clic sur une icone du sous-dock ou du desklet, et de type 'point de montage'. + // click on an icon of the subdock or desklet and it's a mount point. + else if (CD_APPLET_CLICKED_ICON != NULL + && (CD_APPLET_CLICKED_ICON->iGroup == (CairoDockIconGroup) CD_DRIVE_GROUP + || CD_APPLET_CLICKED_ICON->iVolumeID > 0)) { _mount_unmount (CD_APPLET_CLICKED_ICON, CD_APPLET_CLICKED_CONTAINER, myApplet); } @@ -197,10 +230,11 @@ gpointer *ddata = g_new (gpointer, 2); ddata[0] = myApplet; ddata[1] = pIcon; + // if the icon gets deleted, the dialog will disappear with it. gldi_dialog_show_with_entry (D_("Enter a name for this bookmark:"), pIcon, pContainer, "same icon", pIcon->cName, - (CairoDockActionOnAnswerFunc)_on_got_bookmark_name, ddata, (GFreeFunc)g_free); // if the icon gets deleted, the dialog will disappear with it. + (CairoDockActionOnAnswerFunc)_on_got_bookmark_name, ddata, (GFreeFunc)g_free); CD_APPLET_LEAVE (); } static void _cd_shortcuts_eject (GtkMenuItem *menu_item, gpointer *data) @@ -292,36 +326,51 @@ if (! s_bNCSChecked) _check_ncs (); if (s_bNCSAvailable) - CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Connect to Server..."), GTK_STOCK_OPEN, _open_ncs, CD_APPLET_MY_MENU); + CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Connect to Server..."), + GTK_STOCK_OPEN, _open_ncs, CD_APPLET_MY_MENU); // browse network (e.g.: samba) - CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Browse Network"), GTK_STOCK_OPEN, _open_network, CD_APPLET_MY_MENU); // or GTK_STOCK_NETWORK + CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Browse Network"), GTK_STOCK_OPEN, + _open_network, CD_APPLET_MY_MENU); // or GTK_STOCK_NETWORK // browse recent files - CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Browse recent files"), GTK_STOCK_OPEN, _open_recent, CD_APPLET_MY_MENU); // or "folder-recent" + CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Browse recent files"), + GTK_STOCK_OPEN, _open_recent, CD_APPLET_MY_MENU); // or "folder-recent" // trash - CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Open Trash"), GTK_STOCK_OPEN, _open_trash, CD_APPLET_MY_MENU); // or "user-trash" + CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Open Trash"), GTK_STOCK_OPEN, + _open_trash, CD_APPLET_MY_MENU); // or "user-trash" } else if (CD_APPLET_CLICKED_ICON != NULL) // clic sur un item. { - if (CD_APPLET_CLICKED_ICON->iGroup == (CairoDockIconGroup) CD_BOOKMARK_GROUP) // clic sur un signet. + // Click on a bookmark + if (CD_APPLET_CLICKED_ICON->iGroup == (CairoDockIconGroup) CD_BOOKMARK_GROUP) { - CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (D_("Rename this bookmark"), NULL, _cd_shortcuts_rename_bookmark, CD_APPLET_MY_MENU, data); - CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (D_("Remove this bookmark"), GTK_STOCK_REMOVE, _cd_shortcuts_remove_bookmark, CD_APPLET_MY_MENU, data); + CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (D_("Rename this bookmark"), + NULL, _cd_shortcuts_rename_bookmark, CD_APPLET_MY_MENU, data); + CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (D_("Remove this bookmark"), + GTK_STOCK_REMOVE, _cd_shortcuts_remove_bookmark, + CD_APPLET_MY_MENU, data); CD_APPLET_LEAVE (GLDI_NOTIFICATION_INTERCEPT); } - else if (CD_APPLET_CLICKED_ICON->iGroup == (CairoDockIconGroup) CD_DRIVE_GROUP && CD_APPLET_CLICKED_ICON->cBaseURI != NULL) // clic sur un volume. + else if (CD_APPLET_CLICKED_ICON->iGroup == (CairoDockIconGroup) CD_DRIVE_GROUP + && CD_APPLET_CLICKED_ICON->cBaseURI != NULL) // click on a drive { if (cairo_dock_fm_can_eject (CD_APPLET_CLICKED_ICON->cBaseURI)) - CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (D_("Eject"), GTK_STOCK_DISCONNECT, _cd_shortcuts_eject, CD_APPLET_MY_MENU, data); + CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (D_("Eject"), + GTK_STOCK_DISCONNECT, _cd_shortcuts_eject, + CD_APPLET_MY_MENU, data); gboolean bIsMounted = FALSE; gchar *cURI = cairo_dock_fm_is_mounted (CD_APPLET_CLICKED_ICON->cBaseURI, &bIsMounted); g_free (cURI); - gchar *cLabel = g_strdup_printf ("%s (%s)", bIsMounted ? D_("Unmount") : D_("Mount"), D_("middle-click")); - CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (cLabel, GTK_STOCK_DISCONNECT, _cd_shortcuts_unmount, CD_APPLET_MY_MENU, data); + gchar *cLabel = g_strdup_printf ("%s (%s)", + bIsMounted ? D_("Unmount") : D_("Mount"), D_("middle-click")); + CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (cLabel, GTK_STOCK_DISCONNECT, + _cd_shortcuts_unmount, CD_APPLET_MY_MENU, data); g_free (cLabel); - CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (D_("Get disk info"), GTK_STOCK_PROPERTIES, _cd_shortcuts_show_disk_info, CD_APPLET_MY_MENU, data); + CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (D_("Get disk info"), + GTK_STOCK_PROPERTIES, _cd_shortcuts_show_disk_info, + CD_APPLET_MY_MENU, data); } } CD_APPLET_ON_BUILD_MENU_END @@ -347,7 +396,8 @@ if (! iVolumeID && ! bIsDirectory) { cd_warning ("this can't be a bookmark"); - gldi_dialog_show_temporary_with_icon (D_("Only folders can be bookmarked."), myIcon, myContainer, 4000, "same icon"); + gldi_dialog_show_temporary_with_icon (D_("Only folders can be bookmarked."), + myIcon, myContainer, 4000, "same icon"); } else { Index: cairo-dock-plug-ins/shortcuts/src/applet-struct.h =================================================================== --- cairo-dock-plug-ins.orig/shortcuts/src/applet-struct.h 2014-04-06 22:33:13.499528355 +0200 +++ cairo-dock-plug-ins/shortcuts/src/applet-struct.h 2014-04-06 22:33:13.495528355 +0200 @@ -23,6 +23,7 @@ #include +#define CD_VOLUME_ID_BOOKMARK_CMD -1 typedef enum { CD_SHOW_NOTHING=0, debian/patches/bzr3045-3046_GVFS_support_x-nautilus-desktop_and_fixed_typos_and_memory_leaks.patch0000664000000000000000000001153712320336305030460 0ustar revno: 3046 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Wed 2014-01-08 19:36:18 +0100 message: gvfs: fixed typo and tiny memory leak revno: 3045 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Wed 2014-01-08 19:35:14 +0100 message: gvfs: GTK3: 'x-nautilus-desktop' is just an URI where the root is the path to the desktop === modified file 'gvfs-integration/cairo-dock-gio-vfs.c' Index: cairo-dock-plug-ins/gvfs-integration/cairo-dock-gio-vfs.c =================================================================== --- cairo-dock-plug-ins.orig/gvfs-integration/cairo-dock-gio-vfs.c 2014-04-06 22:33:15.279528263 +0200 +++ cairo-dock-plug-ins/gvfs-integration/cairo-dock-gio-vfs.c 2014-04-06 22:33:15.275528263 +0200 @@ -126,7 +126,7 @@ return cIconPath; } - +#if (GTK_MAJOR_VERSION < 3) static void _cd_find_mount_from_volume_name (const gchar *cVolumeName, GMount **pFoundMount, gchar **cURI, gchar **cIconName) { g_return_if_fail (cVolumeName != NULL); @@ -203,6 +203,57 @@ g_object_unref (pFile); } +static void _old_nautilus_desktop_path (const gchar *cBaseURI, gchar **cName, gchar **cURI, gchar **cIconName, gboolean *bIsDirectory, int *iVolumeID, double *fOrder) +{ + gchar *cNautilusFile = g_strdup (cBaseURI+14); + memcpy (cNautilusFile, "file", 4); + if (g_str_has_suffix (cBaseURI, ".volume")) + { + cNautilusFile[strlen(cNautilusFile)-7] = '\0'; + } + else if (g_str_has_suffix (cBaseURI, ".drive")) + { + cNautilusFile[strlen(cNautilusFile)-6] = '\0'; + } + GError *erreur = NULL; + gchar *cValidUri = g_filename_from_uri (cNautilusFile, NULL, &erreur); + if (erreur != NULL) + { + cd_warning ("gvfs-integration : %s", erreur->message); + g_error_free (erreur); + return ; + } + gchar *cVolumeName = cValidUri + 1; // we drop the '/'. + cd_message ("cVolumeName : %s", cVolumeName); + + GMount *pMount = NULL; + gchar *uri=NULL, *iconname=NULL; + _cd_find_mount_from_volume_name (cVolumeName, &pMount, &uri, &iconname); + g_return_if_fail (pMount != NULL); + + if (cURI) + *cURI = uri; + else + g_free (uri); + if (cIconName) + *cIconName = iconname; + else + g_free (iconname); + if (cName) + *cName = g_strdup (cVolumeName); + if (bIsDirectory) + *bIsDirectory = TRUE; + if (iVolumeID) + *iVolumeID = 1; + if (fOrder) + *fOrder = 0; + + g_object_unref (pMount); + g_free (cValidUri); + g_free (cNautilusFile); +} +#endif + static GDrive *_cd_find_drive_from_name (const gchar *cName) { g_return_val_if_fail (cName != NULL, NULL); @@ -307,54 +358,16 @@ // make it a valid URI. gchar *cValidUri; - if (strncmp (cBaseURI, "x-nautilus-desktop://", 21) == 0) // shortcut on the desktop (nautilus) + if (g_str_has_prefix (cBaseURI, "x-nautilus-desktop://")) // shortcut on the desktop (nautilus) { - gchar *cNautilusFile = g_strdup (cBaseURI+14); - memcpy (cNautilusFile, "file", 4); - if (g_str_has_suffix (cBaseURI, ".volume")) - { - cNautilusFile[strlen(cNautilusFile)-7] = '\0'; - } - else if (g_str_has_suffix (cBaseURI, ".drive")) - { - cNautilusFile[strlen(cNautilusFile)-6] = '\0'; - } - cValidUri = g_filename_from_uri (cNautilusFile, NULL, &erreur); - if (erreur != NULL) - { - cd_warning ("gvfs-integration : %s", erreur->message); - g_error_free (erreur); - return ; - } - gchar *cVolumeName = cValidUri + 1; // we drop the '/'. - cd_message ("cVolumeName : %s", cVolumeName); - - GMount *pMount = NULL; - gchar *uri=NULL, *iconname=NULL; - _cd_find_mount_from_volume_name (cVolumeName, &pMount, &uri, &iconname); - g_return_if_fail (pMount != NULL); - - if (cURI) - *cURI = uri; - else - g_free (uri); - if (cIconName) - *cIconName = iconname; - else - g_free (iconname); - if (cName) - *cName = g_strdup (cVolumeName); - if (bIsDirectory) - *bIsDirectory = TRUE; - if (iVolumeID) - *iVolumeID = 1; - if (fOrder) - *fOrder = 0; - - g_object_unref (pMount); - g_free (cValidUri); - g_free (cNautilusFile); + #if (GTK_MAJOR_VERSION < 3) + _old_nautilus_desktop_path (cBaseURI, cName, cURI, cIconName, + bIsDirectory, iVolumeID, fOrder); return; + #else + const gchar *cDesktopPath = g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP); + cValidUri = g_strdup_printf ("file://%s%s", cDesktopPath, cBaseURI+21); + #endif } else // normal file { @@ -527,14 +540,14 @@ { gchar *cHostname = NULL; GError *erreur = NULL; - gchar *cFilePath = g_filename_from_uri (cBaseURI, &cHostname, &erreur); + gchar *cFilePath = g_filename_from_uri (*cURI, &cHostname, &erreur); if (erreur != NULL) { g_error_free (erreur); } else if (cHostname == NULL || strcmp (cHostname, "localhost") == 0) // on ne recupere la vignette que sur les fichiers locaux. { - *cIconName = g_strdup (cFilePath); + *cIconName = cFilePath; cairo_dock_remove_html_spaces (*cIconName); } g_free (cHostname); debian/patches/bzr3067_AlsaMixer_support_cinnamon_settings.patch0000664000000000000000000000362012320336570022322 0ustar revno: 3067 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Tue 2014-02-25 09:51:08 +0100 message: AlsaMixer: added the support of cinnamon-settings And first check if gnome-control-center (GNOME 3) is available === modified file 'alsaMixer/src/applet-notifications.c' Index: cairo-dock-plug-ins/alsaMixer/src/applet-notifications.c =================================================================== --- cairo-dock-plug-ins.orig/alsaMixer/src/applet-notifications.c 2014-04-06 22:33:37.271527122 +0200 +++ cairo-dock-plug-ins/alsaMixer/src/applet-notifications.c 2014-04-06 22:33:37.267527122 +0200 @@ -33,15 +33,22 @@ static void _check_mixer_cmd (void) { // check for Gnome2 before Gnome3, since during the transition, both were present, and "gnome-control-center sound" didn't work (and it was anyway just a shortcut to gnome-volume-control). - gchar *cResult = cairo_dock_launch_command_sync ("which gnome-volume-control"); // Gnome2 + gchar *cResult = cairo_dock_launch_command_sync ("which gnome-control-center"); // Gnome3 if (cResult != NULL && *cResult == '/') - s_cMixerCmd = "gnome-volume-control -p applications"; + s_cMixerCmd = "gnome-control-center sound"; else { g_free (cResult); - cResult = cairo_dock_launch_command_sync ("which gnome-control-center"); // Gnome3 - if (cResult != NULL && *cResult == '/') /// TODO: other DE... - s_cMixerCmd = "gnome-control-center sound"; + cResult = cairo_dock_launch_command_sync ("which gnome-volume-control"); // Gnome2 + if (cResult != NULL && *cResult == '/') + s_cMixerCmd = "gnome-volume-control -p applications"; + else + { + g_free (cResult); + cResult = cairo_dock_launch_command_sync ("which cinnamon-settings"); // cinnamon (Mint >= 13) + if (cResult != NULL && *cResult == '/') + s_cMixerCmd = "cinnamon-settings sound"; + } } /// TODO: handle other DE ... g_free (cResult); } debian/patches/bzr3031-3032_GMenu_remove_empty_submenus.patch0000664000000000000000000001641712320335654021154 0ustar revno: 3032 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Fri 2013-12-27 00:31:58 +0100 message: GMenu: do not add empty submenus when creating them It's possible that a section contains items which are not in the menu (e.g. if the application is not show: OnlyShowIn and NoDisplay=true) We can check if a submenu is empty when creating it, no need to list all items revno: 3031 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Thu 2013-12-26 23:25:35 +0100 message: GMenu: remove empty submenus It's possible that a section contains items which are not in the menu (e.g. if the application is not show: OnlyShowIn and NoDisplay=true) === modified file 'GMenu/src/applet-menu.c' Index: cairo-dock-plug-ins/GMenu/src/applet-menu.c =================================================================== --- cairo-dock-plug-ins.orig/GMenu/src/applet-menu.c 2014-04-06 22:33:10.467528512 +0200 +++ cairo-dock-plug-ins/GMenu/src/applet-menu.c 2014-04-06 22:33:10.463528512 +0200 @@ -39,11 +39,7 @@ cd_menu_append_entry (); - /* append the trees we got - * + it will populate menu and create all things - * (it will have a look at new images and maybe preload them) - * => do that in the separated thread - */ + // append the trees we got: it will populate menu GMenuTree *tree; GList *t; for (t = myData.pTrees; t != NULL; t = t->next) @@ -51,7 +47,7 @@ tree = t->data; cd_append_tree_in_menu (tree, myData.pMenu); } - + // append recent events if (myConfig.bShowRecent) cd_menu_append_recent_to_menu (myData.pMenu, myApplet); Index: cairo-dock-plug-ins/GMenu/src/applet-tree.c =================================================================== --- cairo-dock-plug-ins.orig/GMenu/src/applet-tree.c 2014-04-06 22:33:10.467528512 +0200 +++ cairo-dock-plug-ins/GMenu/src/applet-tree.c 2014-04-06 22:33:10.463528512 +0200 @@ -27,7 +27,8 @@ #define CD_FOLDER_DEFAULT_ICON "folder" -static void cd_populate_menu_from_directory (GtkWidget *menu, GMenuTreeDirectory *directory); +// return TRUE if the menu is not empty +static gboolean cd_populate_menu_from_directory (GtkWidget *menu, GMenuTreeDirectory *directory); ///////////////// @@ -145,7 +146,7 @@ } static GtkWidget * create_submenu_entry (GtkWidget *menu, - GMenuTreeDirectory *directory) + GMenuTreeDirectory *directory, gboolean bAppend) { if (gmenu_tree_directory_get_is_nodisplay (directory)) return NULL; @@ -156,42 +157,53 @@ add_image_to_menu_item (menuitem, pIcon, CD_FOLDER_DEFAULT_ICON); - - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); + + if (bAppend) + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); return menuitem; } -static void create_submenu (GtkWidget *menu, +static gboolean create_submenu (GtkWidget *menu, GMenuTreeDirectory *directory, GMenuTreeDirectory *alias_directory) { // create an entry GtkWidget *menuitem; if (alias_directory) - menuitem = create_submenu_entry (menu, alias_directory); + menuitem = create_submenu_entry (menu, alias_directory, FALSE); else - menuitem = create_submenu_entry (menu, directory); + menuitem = create_submenu_entry (menu, directory, FALSE); if (!menuitem) - return; + return FALSE; // create a sub-menu for it GtkWidget *submenu = gldi_submenu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), submenu); - + // populate the sub-menu with the directory - cd_populate_menu_from_directory (submenu, directory); + if (! cd_populate_menu_from_directory (submenu, directory)) + { + cd_debug ("Empty submenu: %s", + gtk_menu_item_get_label (GTK_MENU_ITEM (menuitem))); + gtk_widget_destroy (menuitem); + return FALSE; + } + + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); + return TRUE; } -static void create_header (GtkWidget *menu, +static gboolean create_header (GtkWidget *menu, GMenuTreeHeader *header) { // create an entry GMenuTreeDirectory *directory = gmenu_tree_header_get_directory (header); - create_submenu_entry (menu, directory); + GtkWidget *entry = create_submenu_entry (menu, directory, TRUE); gmenu_tree_item_unref (directory); + return entry != NULL; } -static void create_menuitem (GtkWidget *menu, +static gboolean create_menuitem (GtkWidget *menu, GMenuTreeEntry *entry, GMenuTreeDirectory *alias_directory) { @@ -201,9 +213,9 @@ // ignore entry that are not shown in the menu if (gmenu_tree_entry_get_is_excluded (entry)) - return; + return FALSE; if (! cd_menu_app_should_show (pAppInfo)) - return; + return FALSE; // create an entry const gchar *cName = NULL; @@ -259,11 +271,13 @@ "cd-entry", gmenu_tree_item_ref (entry), (GDestroyNotify) gmenu_tree_item_unref); // stick the entry on the menu-item, which allows us to ref it and be sure to unref when the menu is destroyed. + return TRUE; } -static void create_menuitem_from_alias (GtkWidget *menu, +static gboolean create_menuitem_from_alias (GtkWidget *menu, GMenuTreeAlias *alias) { + gboolean bHasItem; GMenuTreeItemType iType = gmenu_tree_alias_get_aliased_item_type (alias); GMenuTreeDirectory *src = gmenu_tree_alias_get_directory (alias); switch (iType) @@ -271,9 +285,7 @@ case GMENU_TREE_ITEM_DIRECTORY: { GMenuTreeDirectory *directory = gmenu_tree_alias_get_aliased_directory (alias); - create_submenu (menu, - directory, - src); + bHasItem = create_submenu (menu, directory, src); gmenu_tree_item_unref (directory); } break; @@ -281,7 +293,7 @@ case GMENU_TREE_ITEM_ENTRY: { GMenuTreeEntry *entry = gmenu_tree_alias_get_aliased_entry (alias); - create_menuitem (menu, + bHasItem = create_menuitem (menu, gmenu_tree_alias_get_aliased_entry (alias), src); gmenu_tree_item_unref (entry); @@ -289,13 +301,16 @@ break; default: + bHasItem = FALSE; break; } gmenu_tree_item_unref (src); + return bHasItem; } -static void cd_populate_menu_from_directory (GtkWidget *menu, GMenuTreeDirectory *directory) +static gboolean cd_populate_menu_from_directory (GtkWidget *menu, GMenuTreeDirectory *directory) { + gint i = 0; GMenuTreeIter *iter = gmenu_tree_directory_iter (directory); GMenuTreeItemType next_type; while ((next_type = gmenu_tree_iter_next (iter)) != GMENU_TREE_ITEM_INVALID) @@ -305,12 +320,14 @@ { case GMENU_TREE_ITEM_DIRECTORY: // we suppose that unicity is assured. item = gmenu_tree_iter_get_directory (iter); - create_submenu (menu, item, NULL); + if (create_submenu (menu, item, NULL)) + i++; break; case GMENU_TREE_ITEM_ENTRY: item = gmenu_tree_iter_get_entry (iter); - create_menuitem (menu, item, NULL); + if (create_menuitem (menu, item, NULL)) + i++; break; case GMENU_TREE_ITEM_SEPARATOR : @@ -319,12 +336,14 @@ case GMENU_TREE_ITEM_ALIAS: item = gmenu_tree_iter_get_alias (iter); - create_menuitem_from_alias (menu, item); + if (create_menuitem_from_alias (menu, item)) + i++; break; case GMENU_TREE_ITEM_HEADER: item = gmenu_tree_iter_get_header (iter); - create_header (menu, item); + if (create_header (menu, item)) + i++; break; default: @@ -334,6 +353,8 @@ gmenu_tree_item_unref (item); } gmenu_tree_iter_unref (iter); + + return i > 0; } void cd_append_tree_in_menu (GMenuTree *tree, GtkWidget *pMenu) debian/patches/bzr3035_DND2Share_History_was_empty.patch0000664000000000000000000000314012320335737020316 0ustar revno: 3035 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Fri 2013-12-27 10:52:53 +0100 message: DnD2Share: history menu was empty The new menu entries were added to the menu item instead of the submenu === modified file 'dnd2share/src/applet-notifications.c' Index: cairo-dock-plug-ins/dnd2share/src/applet-notifications.c =================================================================== --- cairo-dock-plug-ins.orig/dnd2share/src/applet-notifications.c 2014-04-06 22:33:12.239528420 +0200 +++ cairo-dock-plug-ins/dnd2share/src/applet-notifications.c 2014-04-06 22:33:12.235528421 +0200 @@ -411,9 +411,9 @@ //\___________ Define here the entries you want to add to the menu when the user right-clicks on your icon or on its subdock or your desklet. The icon and the container that were clicked are available through the macros CD_APPLET_CLICKED_ICON and CD_APPLET_CLICKED_CONTAINER. CD_APPLET_CLICKED_ICON may be NULL if the user clicked in the container but out of icons. The menu where you can add your entries is available throught the macro CD_APPLET_MY_MENU; you can add sub-menu to it if you want. CD_APPLET_ON_BUILD_MENU_BEGIN CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Send the clipboard's content"), GTK_STOCK_PASTE, _send_clipboard, CD_APPLET_MY_MENU); - - GtkWidget *pHistoryMenu; - GtkWidget *mi = gldi_menu_add_sub_menu_full (CD_APPLET_MY_MENU, D_("History"), GTK_STOCK_INDEX, &pHistoryMenu); + + GtkWidget *mi; + GtkWidget *pHistoryMenu = gldi_menu_add_sub_menu_full (CD_APPLET_MY_MENU, D_("History"), GTK_STOCK_INDEX, &mi); if (myData.pUpoadedItems != NULL) { debian/patches/bzr3051_Logout_Added_support_of_Cinnamon.patch0000664000000000000000000000673512320336417021476 0ustar revno: 3051 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Wed 2014-01-15 15:21:59 +0100 message: logout: logout: added support of Cinnamon Almost the same command but it's fun to replace all 'gnome' words and break compatibility :-) === modified file 'gnome-integration/src/applet-utils.c' Index: cairo-dock-plug-ins/gnome-integration/src/applet-utils.c =================================================================== --- cairo-dock-plug-ins.orig/gnome-integration/src/applet-utils.c 2014-04-06 22:33:28.243527590 +0200 +++ cairo-dock-plug-ins/gnome-integration/src/applet-utils.c 2014-04-06 22:33:28.239527590 +0200 @@ -30,7 +30,15 @@ if (cResult != NULL && *cResult == '/') cairo_dock_launch_command ("gnome-session-quit --logout"); else - cairo_dock_launch_command ("gnome-session-save --kill --gui"); + { + g_free (cResult); + // Cinnamon? + cResult = cairo_dock_launch_command_sync ("which cinnamon-session-quit"); + if (cResult != NULL && *cResult == '/') + cairo_dock_launch_command ("cinnamon-session-quit --logout"); + else + cairo_dock_launch_command ("gnome-session-save --kill --gui"); + } g_free (cResult); } @@ -41,7 +49,15 @@ if (cResult != NULL && *cResult == '/') cairo_dock_launch_command ("gnome-session-quit --power-off"); else - cairo_dock_launch_command ("gnome-session-save --shutdown-dialog"); + { + g_free (cResult); + // Cinnamon? + cResult = cairo_dock_launch_command_sync ("which cinnamon-session-quit"); + if (cResult != NULL && *cResult == '/') + cairo_dock_launch_command ("cinnamon-session-quit --power-off"); + else + cairo_dock_launch_command ("gnome-session-save --shutdown-dialog"); + } g_free (cResult); } Index: cairo-dock-plug-ins/logout/data/logout.sh =================================================================== --- cairo-dock-plug-ins.orig/logout/data/logout.sh 2014-04-06 22:33:28.243527590 +0200 +++ cairo-dock-plug-ins/logout/data/logout.sh 2014-04-06 22:33:28.239527590 +0200 @@ -16,11 +16,11 @@ # http://www.gnu.org/licenses/licenses.html#GPL # # -# look for GDM/KDM/LDM/XDM/lightdm +# look for GDM/KDM/LDM/XDM/lightdm/MDM # if one of them is used, then it has launched either the session-manager, or the stand-alone script, both blocking. # so just take this one, and kill it so that we return to GDM. -gdm_proc=`pgrep "gdm|kdm|ldm|xdm|lightdm" | tail -1` +gdm_proc=`pgrep "gdm|kdm|ldm|xdm|lightdm|mdm" | tail -1` if test -n "$gdm_proc"; then last_process=`ps -ef | grep $gdm_proc | grep $USER | grep -v grep | tail -1 | tr -s " " | cut -d " " -f 2` if test -n "$last_process"; then Index: cairo-dock-plug-ins/logout/src/applet-config.c =================================================================== --- cairo-dock-plug-ins.orig/logout/src/applet-config.c 2014-04-06 22:33:28.243527590 +0200 +++ cairo-dock-plug-ins/logout/src/applet-config.c 2014-04-06 22:33:28.239527590 +0200 @@ -53,5 +53,5 @@ CD_APPLET_RESET_DATA_BEGIN - g_free (myData.cSessionMigrationFileName); + CD_APPLET_RESET_DATA_END Index: cairo-dock-plug-ins/logout/src/applet-struct.h =================================================================== --- cairo-dock-plug-ins.orig/logout/src/applet-struct.h 2014-04-06 22:33:28.243527590 +0200 +++ cairo-dock-plug-ins/logout/src/applet-struct.h 2014-04-06 22:33:28.239527590 +0200 @@ -73,7 +73,6 @@ struct _AppletData { guint iSidTimer; - gchar *cSessionMigrationFileName; // manual capabilities. CairoDockTask *pTask; gboolean bCapabilitiesChecked; debian/patches/bzr3008_GMenu_new_apps_in_the_list.patch0000664000000000000000000000712312320335306020320 0ustar revno: 3008 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Tue 2013-10-29 01:02:40 +0100 message: GMenu: New Apps: if there are new apps when the 'new apps' dialogue is opened, add these new apps in the list === modified file 'GMenu/src/applet-apps.c' Index: cairo-dock-plug-ins/GMenu/src/applet-apps.c =================================================================== --- cairo-dock-plug-ins.orig/GMenu/src/applet-apps.c 2014-04-06 22:32:56.231529251 +0200 +++ cairo-dock-plug-ins/GMenu/src/applet-apps.c 2014-04-06 22:32:56.227529251 +0200 @@ -55,6 +55,8 @@ #endif } +static CairoDialog *s_pNewAppsDialog = NULL; + static void _on_answer_launch_recent (int iClickedButton, GtkWidget *pInteractiveWidget, gpointer data, CairoDialog *pDialog) { if (iClickedButton == 0 || iClickedButton == -1) // ok ou entree. @@ -75,40 +77,56 @@ g_list_free (myData.pNewApps); // the content elongs to pKnownApplications myData.pNewApps = NULL; + s_pNewAppsDialog = NULL; } void cd_menu_check_for_new_apps (void) { - gldi_dialogs_remove_on_icon (myIcon); /// TODO: just replace the combo box if (myData.pNewApps != NULL) { - const gchar *cQuestion = D_("Launch this new application?"); - gchar *cText = NULL; - GtkWidget *pInteractiveWidget = NULL; - if (myData.pNewApps->next) // several entries, make a list + if (s_pNewAppsDialog) // the dialogue already exists: add new items in the list { - pInteractiveWidget = gtk_combo_box_text_new (); + #if GTK_MAJOR_VERSION >= 3 + // ok, only for GTK 3 but GTK 3 should be used when using this GMenu + gtk_combo_box_text_remove_all ( + GTK_COMBO_BOX_TEXT (s_pNewAppsDialog->pInteractiveWidget)); + #endif GList *a; for (a = myData.pNewApps; a != NULL; a = a->next) { - gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (pInteractiveWidget), g_app_info_get_name (a->data)); + gtk_combo_box_text_append_text ( + GTK_COMBO_BOX_TEXT (s_pNewAppsDialog->pInteractiveWidget), + g_app_info_get_name (a->data)); } - gtk_combo_box_set_active (GTK_COMBO_BOX (pInteractiveWidget), 0); // select the first one + gtk_combo_box_set_active ( + GTK_COMBO_BOX (s_pNewAppsDialog->pInteractiveWidget), 0); + + gldi_dialog_redraw_interactive_widget (s_pNewAppsDialog); } else { - cText = g_strconcat (cQuestion, "\n ", g_app_info_get_display_name (G_APP_INFO (myData.pNewApps->data)), NULL); + const gchar *cQuestion = D_("Launch this new application?"); + GtkWidget *pInteractiveWidget = gtk_combo_box_text_new (); + GList *a; + for (a = myData.pNewApps; a != NULL; a = a->next) + { + gtk_combo_box_text_append_text ( + GTK_COMBO_BOX_TEXT (pInteractiveWidget), + g_app_info_get_name (a->data)); + } + + gtk_combo_box_set_active (GTK_COMBO_BOX (pInteractiveWidget), 0); // select the first one + + gchar *cIconPath = cairo_dock_search_icon_s_path (GTK_STOCK_EXECUTE, myDialogsParam.iDialogIconSize); + s_pNewAppsDialog = gldi_dialog_show (cQuestion, + myIcon, myContainer, + 0, + cIconPath ? cIconPath : "same icon", + pInteractiveWidget, (CairoDockActionOnAnswerFunc)_on_answer_launch_recent, + NULL, + (GFreeFunc)NULL); + g_free (cIconPath); } - gchar *cIconPath = cairo_dock_search_icon_s_path (GTK_STOCK_EXECUTE, myDialogsParam.iDialogIconSize); - gldi_dialog_show (cText?cText:cQuestion, - myIcon, myContainer, - 0, - cIconPath ? cIconPath : "same icon", - pInteractiveWidget, (CairoDockActionOnAnswerFunc)_on_answer_launch_recent, - NULL, - (GFreeFunc)NULL); - g_free (cIconPath); - g_free (cText); } myData.bFirstLaunch = FALSE; } debian/patches/bzr3021_Terminal_launch_default_terminal_middle_click.patch0000664000000000000000000000565112320335471024221 0ustar revno: 3021 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Sat 2013-11-30 18:57:54 +0100 message: Terminal: middle click: launch the default terminal The previous function was useless (hide the dialogue) because if the dialogue is displayed, it has the focus: we can't do a middle click on the icon === modified file 'terminal/src/terminal-menu-functions.c' Index: cairo-dock-plug-ins/terminal/src/terminal-menu-functions.c =================================================================== --- cairo-dock-plug-ins.orig/terminal/src/terminal-menu-functions.c 2014-04-06 22:33:07.983528641 +0200 +++ cairo-dock-plug-ins/terminal/src/terminal-menu-functions.c 2014-04-06 22:33:07.979528641 +0200 @@ -51,11 +51,10 @@ CD_APPLET_ON_MIDDLE_CLICK_BEGIN { - if (myData.tab) - { - if (myData.dialog) - gldi_dialog_hide (myData.dialog); - } + if (myConfig.cTerminal != NULL) + cairo_dock_launch_command (myConfig.cTerminal); + else + cairo_dock_launch_command (cairo_dock_get_default_terminal ()); } CD_APPLET_ON_MIDDLE_CLICK_END Index: cairo-dock-plug-ins/terminal/data/terminal.conf.in =================================================================== --- cairo-dock-plug-ins.orig/terminal/data/terminal.conf.in 2014-04-06 22:33:07.983528641 +0200 +++ cairo-dock-plug-ins/terminal/data/terminal.conf.in 2014-04-06 22:33:07.975528642 +0200 @@ -146,3 +146,7 @@ #k Shortkey to show the terminal: shortkey = F5 + +#s[Default] Open this terminal when doing a middle click on the icon: +#{The default terminal is defined by the COLORTERM environment variable} +terminal app = Index: cairo-dock-plug-ins/terminal/src/terminal-config.c =================================================================== --- cairo-dock-plug-ins.orig/terminal/src/terminal-config.c 2014-04-06 22:33:07.983528641 +0200 +++ cairo-dock-plug-ins/terminal/src/terminal-config.c 2014-04-06 22:33:07.979528641 +0200 @@ -61,6 +61,7 @@ myConfig.shortcut = CD_CONFIG_GET_STRING_WITH_DEFAULT ("Configuration", "shortkey", "F1"); myConfig.iNbRows = CD_CONFIG_GET_INTEGER_WITH_DEFAULT ("Configuration", "nb lines", 25); myConfig.iNbColumns = CD_CONFIG_GET_INTEGER_WITH_DEFAULT ("Configuration", "nb columns", 80); + myConfig.cTerminal = CD_CONFIG_GET_STRING ("Configuration", "terminal app"); CD_APPLET_GET_CONFIG_END @@ -68,6 +69,7 @@ g_free (myConfig.shortcut); myConfig.shortcut = NULL; g_free (myConfig.cCustomFont); + g_free (myConfig.cTerminal); CD_APPLET_RESET_CONFIG_END Index: cairo-dock-plug-ins/terminal/src/terminal-struct.h =================================================================== --- cairo-dock-plug-ins.orig/terminal/src/terminal-struct.h 2014-04-06 22:33:07.983528641 +0200 +++ cairo-dock-plug-ins/terminal/src/terminal-struct.h 2014-04-06 22:33:07.979528641 +0200 @@ -39,6 +39,7 @@ gchar *shortcut; gint iNbRows; gint iNbColumns; + gchar *cTerminal; } ; struct _AppletData { debian/patches/bzr3069_Indicator_Generic_no_need_to_hide_the_icon_before_removing_it.patch0000664000000000000000000000347612320336662027402 0ustar revno: 3069 fixes bug: https://launchpad.net/bugs/1285984 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Fri 2014-02-28 10:06:49 +0100 message: Indicator Generic: stop: no need to hide the icon before removing it === modified file 'Indicator-Generic/src/applet-indicator3.c' Index: cairo-dock-plug-ins/Indicator-Generic/src/applet-indicator3.c =================================================================== --- cairo-dock-plug-ins.orig/Indicator-Generic/src/applet-indicator3.c 2014-04-06 22:33:48.791526524 +0200 +++ cairo-dock-plug-ins/Indicator-Generic/src/applet-indicator3.c 2014-04-06 22:33:48.787526524 +0200 @@ -78,9 +78,14 @@ } } -static void _destroy (IndicatorObject *pIndicator, IndicatorObjectEntry *pEntry, GldiModuleInstance *myApplet) +static void _destroy (IndicatorObjectEntry *pEntry, GldiModuleInstance *myApplet) { - _entry_removed (pIndicator, pEntry, myApplet); + // Disconnect all signals linked to the image, no need to hide it, the icon will be removed + if (pEntry && pEntry->image) + { + g_signal_handlers_disconnect_by_func (G_OBJECT (pEntry->image), G_CALLBACK (_icon_updated), myApplet); + cd_indicator3_disconnect_visibility (pEntry->image, myApplet, FALSE); // FALSE <=> no need to hide it, we'll remove it + } } void cd_indicator_generic_indicator_reload (IndicatorObject *pIndicator, IndicatorObjectEntry *pEntry, gpointer data) @@ -111,7 +116,7 @@ { cd_debug ("Stop: %s", myConfig.cIndicatorName); // It seems we doesn't need to free the indicator (object and event) - _destroy (myData.pIndicator, myData.pEntry, myApplet); // remove the connection to signals (menu) + _destroy (myData.pEntry, myApplet); // remove the connection to signals cd_indicator3_unload (myData.pIndicator, // remove the connection to signals (indicator) _entry_added, debian/patches/bzr3047-3048_Status-Notifier_Added_support_of_middle_click_and_scroll.patch0000664000000000000000000001053312320336352026714 0ustar revno: 3048 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Wed 2014-01-08 21:30:27 +0100 message: Status-Notifier: IAS (ubuntu): added the support of the middle click Don't use 'SecondaryActivate' method for IAS because it only supports 'XAyatanaSecondaryActivate' method with a timestamp Ressources: * KDE: http://api.kde.org/frameworks-5.x-api/frameworks-apidocs/knotifications/html/classKStatusNotifierItemDBus.html * Indicator-Applet: https://bugs.launchpad.net/bugs/812933 revno: 3047 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Wed 2014-01-08 21:15:33 +0100 message: Status-Notifier: Scroll signals were not catched === modified file 'Status-Notifier/src/applet-host.c' Index: cairo-dock-plug-ins/Status-Notifier/src/applet-host.c =================================================================== --- cairo-dock-plug-ins.orig/Status-Notifier/src/applet-host.c 2014-04-06 22:33:25.883527712 +0200 +++ cairo-dock-plug-ins/Status-Notifier/src/applet-host.c 2014-04-06 22:33:25.875527713 +0200 @@ -208,7 +208,7 @@ { if (myData.bNoIAS && myData.bNoWatcher) { - cd_message ("starting our own watcher...\n"); + cd_message ("starting our own watcher..."); cairo_dock_launch_command (CD_PLUGINS_DIR"/status-notifier-watcher"); } } Index: cairo-dock-plug-ins/Status-Notifier/src/applet-init.c =================================================================== --- cairo-dock-plug-ins.orig/Status-Notifier/src/applet-init.c 2014-04-06 22:33:25.883527712 +0200 +++ cairo-dock-plug-ins/Status-Notifier/src/applet-init.c 2014-04-06 22:33:25.875527713 +0200 @@ -61,6 +61,7 @@ CD_APPLET_REGISTER_FOR_CLICK_EVENT; CD_APPLET_REGISTER_FOR_MIDDLE_CLICK_EVENT; + CD_APPLET_REGISTER_FOR_SCROLL_EVENT; // CD_APPLET_REGISTER_FOR_BUILD_MENU_EVENT; /*gldi_object_register_notification (&myIconObjectMgr, CAIRO_DOCK_ENTER_ICON, @@ -104,6 +105,7 @@ //\___________ Here is where you stop your applet. myConfig and myData are still valid, but will be reseted to 0 at the end of the function. In the end, your applet will go back to its original state, as if it had never been activated. CD_APPLET_STOP_BEGIN + CD_APPLET_UNREGISTER_FOR_SCROLL_EVENT; CD_APPLET_UNREGISTER_FOR_MIDDLE_CLICK_EVENT; CD_APPLET_UNREGISTER_FOR_CLICK_EVENT; // CD_APPLET_UNREGISTER_FOR_BUILD_MENU_EVENT; Index: cairo-dock-plug-ins/Status-Notifier/src/applet-notifications.c =================================================================== --- cairo-dock-plug-ins.orig/Status-Notifier/src/applet-notifications.c 2014-04-06 22:33:25.883527712 +0200 +++ cairo-dock-plug-ins/Status-Notifier/src/applet-notifications.c 2014-04-06 22:33:25.875527713 +0200 @@ -140,7 +140,21 @@ CDStatusNotifierItem *pItem = _get_item (CD_APPLET_CLICKED_ICON, CD_APPLET_CLICKED_CONTAINER); if (pItem != NULL) { - _emit_click (pItem, CD_APPLET_CLICKED_ICON, CD_APPLET_CLICKED_CONTAINER, "SecondaryActivate"); + if (myData.bNoIAS) // of course it's not the same method :-) + _emit_click (pItem, CD_APPLET_CLICKED_ICON, CD_APPLET_CLICKED_CONTAINER, "SecondaryActivate"); + else + { + GError *error = NULL; + dbus_g_proxy_call (pItem->pProxy, "XAyatanaSecondaryActivate", &error, + G_TYPE_UINT, gtk_get_current_event_time (), + G_TYPE_INVALID, + G_TYPE_INVALID); + if (error != NULL) + { + cd_warning ("Error when middle-clicking on %s: %s", pItem->cId, error->message); + g_error_free (error); + } + } } CD_APPLET_ON_MIDDLE_CLICK_END @@ -151,7 +165,7 @@ { GError *erreur = NULL; dbus_g_proxy_call (pItem->pProxy, "Scroll", &erreur, - G_TYPE_INT, CD_APPLET_SCROLL_UP ? +1 : -1, + G_TYPE_INT, CD_APPLET_SCROLL_UP ? -1 : +1, G_TYPE_STRING, "vertical", G_TYPE_INVALID, G_TYPE_INVALID); Index: cairo-dock-plug-ins/Status-Notifier/src/applet-notifications.h =================================================================== --- cairo-dock-plug-ins.orig/Status-Notifier/src/applet-notifications.h 2014-04-06 22:33:25.883527712 +0200 +++ cairo-dock-plug-ins/Status-Notifier/src/applet-notifications.h 2014-04-06 22:33:25.879527713 +0200 @@ -29,6 +29,8 @@ CD_APPLET_ON_MIDDLE_CLICK_H +CD_APPLET_ON_SCROLL_H + // CD_APPLET_ON_BUILD_MENU_H gboolean cd_status_notifier_on_right_click (GldiModuleInstance *myApplet, Icon *pClickedIcon, GldiContainer *pClickedContainer, GtkWidget *pAppletMenu, gboolean *bDiscardMenu); debian/patches/series0000664000000000000000000000170612321070204012027 0ustar bzr3008_GMenu_new_apps_in_the_list.patch bzr3010_GMenu_option_hide_new_apps_dialogue.patch bzr3021_Terminal_launch_default_terminal_middle_click.patch bzr3031-3032_GMenu_remove_empty_submenus.patch bzr3035_DND2Share_History_was_empty.patch bzr3036-3040_Shortcuts_removed_disk_usage_on_bookmarks_and_support_x-nautilus_URI.patch bzr3045-3046_GVFS_support_x-nautilus-desktop_and_fixed_typos_and_memory_leaks.patch bzr3047-3048_Status-Notifier_Added_support_of_middle_click_and_scroll.patch bzr3051_Logout_Added_support_of_Cinnamon.patch bzr3057_GMenu_new_apps_show_dialog_after_installation.patch bzr3065_Impulse_do_not_redraw_icon_when_not_needed.patch bzr3067_AlsaMixer_support_cinnamon_settings.patch bzr3068_Clock_fixed_a_crash_when_configuring_when_not_enabled.patch bzr3069_Indicator_Generic_no_need_to_hide_the_icon_before_removing_it.patch bzr3043_Fixed_typo_with_some_sentences.patch bzr3070_Status-Notifier_workaround_was_broken_due_to_DBus_API_change.patch debian/patches/bzr3043_Fixed_typo_with_some_sentences.patch0000664000000000000000000000605312320356033021267 0ustar revno: 3043 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Mon 2014-01-06 21:26:42 +0100 message: po: Fixed typo with some sentences which were not correctly translated (translations were in the plugins but it looked at .mo files of the core) === modified file 'GMenu-old/src/applet-util.c' Index: cairo-dock-plug-ins/GMenu-old/src/applet-util.c =================================================================== --- cairo-dock-plug-ins.orig/GMenu-old/src/applet-util.c 2014-04-06 23:09:16.299416143 +0200 +++ cairo-dock-plug-ins/GMenu-old/src/applet-util.c 2014-04-06 23:09:16.291416143 +0200 @@ -319,7 +319,7 @@ if (error) { panel_error_dialog (NULL, menuitem_to_screen (menuitem), "cannot_launch_entry", TRUE, - _("Could not launch menu item"), + D_("Could not launch menu item"), error->message); cd_warning (error->message); g_error_free (error); Index: cairo-dock-plug-ins/shortcuts/src/applet-notifications.c =================================================================== --- cairo-dock-plug-ins.orig/shortcuts/src/applet-notifications.c 2014-04-06 23:09:16.299416143 +0200 +++ cairo-dock-plug-ins/shortcuts/src/applet-notifications.c 2014-04-06 23:09:16.291416143 +0200 @@ -79,7 +79,7 @@ { gldi_dialogs_remove_on_icon (pIcon); gldi_dialog_show_temporary_with_icon_printf ( - bMounting ? _("Failed to mount %s") : _("Failed to unmount %s"), + bMounting ? D_("Failed to mount %s") : D_("Failed to unmount %s"), pIcon, pContainer, 4000, "same icon", // it's possible to not have the right icon, not so important Index: cairo-dock-plug-ins/systray/src/gtk3/main.c =================================================================== --- cairo-dock-plug-ins.orig/systray/src/gtk3/main.c 2014-04-06 23:09:16.299416143 +0200 +++ cairo-dock-plug-ins/systray/src/gtk3/main.c 2014-04-06 23:09:16.291416143 +0200 @@ -239,7 +239,7 @@ applet->priv->tray = NULL; atko = gtk_widget_get_accessible (GTK_WIDGET (applet)); - atk_object_set_name (atko, _("Panel Notification Area")); + atk_object_set_name (atko, D_("Panel Notification Area")); panel_applet_set_flags (PANEL_APPLET (applet), PANEL_APPLET_HAS_HANDLE|PANEL_APPLET_EXPAND_MINOR); Index: cairo-dock-plug-ins/weather/src/applet-notifications.c =================================================================== --- cairo-dock-plug-ins.orig/weather/src/applet-notifications.c 2014-04-06 23:09:16.299416143 +0200 +++ cairo-dock-plug-ins/weather/src/applet-notifications.c 2014-04-06 23:09:16.291416143 +0200 @@ -165,7 +165,7 @@ D_("Precipitation probability"), _display (part->cPrecipitationProba), D_("Wind"), _display (part->cWindSpeed), myData.wdata.units.cSpeed, _display (part->cWindDirection), D_("Humidity"), _display (part->cHumidity), - D_("Sunrise"), _display (day->cSunRise), _("Sunset"), _display (day->cSunSet)); + D_("Sunrise"), _display (day->cSunRise), D_("Sunset"), _display (day->cSunSet)); } void cd_weather_show_current_conditions_dialog (GldiModuleInstance *myApplet) debian/patches/bzr3065_Impulse_do_not_redraw_icon_when_not_needed.patch0000664000000000000000000001155712320336506023605 0ustar revno: 3065 fixes bug: https://launchpad.net/bugs/1284271 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Tue 2014-02-25 00:53:30 +0100 message: Impulse: stop animations: do not redraw the icon if it's not needed (e.g. when disabling the applet) === modified file 'Impulse/src/applet-config.c' Index: cairo-dock-plug-ins/Impulse/src/applet-config.c =================================================================== --- cairo-dock-plug-ins.orig/Impulse/src/applet-config.c 2014-04-06 22:33:32.519527368 +0200 +++ cairo-dock-plug-ins/Impulse/src/applet-config.c 2014-04-06 22:33:32.511527369 +0200 @@ -60,5 +60,5 @@ //\_________________ Here you have to free all ressources allocated for myData. This one will be reseted to 0 at the end of this function. This function is called when your applet is stopped, in the very end. CD_APPLET_RESET_DATA_BEGIN // cairo_dock_discard_task (myData.pTask); - cd_impulse_stop_animations (); + cd_impulse_stop_animations (FALSE); // no need to redraw the icon CD_APPLET_RESET_DATA_END Index: cairo-dock-plug-ins/Impulse/src/applet-impulse.c =================================================================== --- cairo-dock-plug-ins.orig/Impulse/src/applet-impulse.c 2014-04-06 22:33:32.519527368 +0200 +++ cairo-dock-plug-ins/Impulse/src/applet-impulse.c 2014-04-06 22:33:32.511527369 +0200 @@ -87,7 +87,7 @@ if (myData.pSharedMemory->pIconsList == NULL) { - cd_impulse_stop_animations (); + cd_impulse_stop_animations (TRUE); CD_APPLET_LEAVE (FALSE); } @@ -163,7 +163,7 @@ if (! myData.bHasBeenStarted && im_context_state () == IM_FAILED) { - cd_impulse_stop_animations (); + cd_impulse_stop_animations (FALSE); // icon will be modified here above cd_debug ("Impulse: starting failed"); gldi_dialogs_remove_on_icon (myIcon); gldi_dialog_show_temporary_with_icon (D_("There is something wrong with PulseAudio.\nCan you check its status (installed? running? version?) and report this bug (if any) to forum.glx-dock.org"), @@ -215,7 +215,7 @@ ////////////////// GENERAL FUNCTIONS ////////////////// -void cd_impulse_stop_animations (void) +void cd_impulse_stop_animations (gboolean bChangeIcon) { //if (myData.pTask != NULL) if (myData.iSidAnimate != 0) @@ -229,7 +229,8 @@ } if (myData.bPulseLaunched) _im_stop(); - cd_impulse_draw_current_state (); + if (bChangeIcon) + cd_impulse_draw_current_state (); // myData.bPulseLaunched = FALSE; //FIXME => if already started and stopped, it will crash... because not correctly stopped... } @@ -242,7 +243,7 @@ myData.pTask = NULL; }*/ if (myData.iSidAnimate != 0) - cd_impulse_stop_animations (); + cd_impulse_stop_animations (FALSE); // icon will be modified here above // PulseAudio Server if (! myData.bPulseLaunched) Index: cairo-dock-plug-ins/Impulse/src/applet-impulse.h =================================================================== --- cairo-dock-plug-ins.orig/Impulse/src/applet-impulse.h 2014-04-06 22:33:32.519527368 +0200 +++ cairo-dock-plug-ins/Impulse/src/applet-impulse.h 2014-04-06 22:33:32.511527369 +0200 @@ -24,7 +24,7 @@ #include "applet-struct.h" void cd_impulse_im_setSourceIndex (gint iSourceIndex); -void cd_impulse_stop_animations (void); +void cd_impulse_stop_animations (gboolean bChangeIcon); void cd_impulse_launch_task (void); //(GldiModuleInstance *myApplet); gboolean cd_impulse_on_icon_changed (gpointer pUserData, Icon *pIcon, CairoDock *pDock); void cd_impulse_draw_current_state (void); Index: cairo-dock-plug-ins/Impulse/src/applet-init.c =================================================================== --- cairo-dock-plug-ins.orig/Impulse/src/applet-init.c 2014-04-06 22:33:32.519527368 +0200 +++ cairo-dock-plug-ins/Impulse/src/applet-init.c 2014-04-06 22:33:32.515527368 +0200 @@ -91,7 +91,7 @@ // CD_APPLET_UNREGISTER_FOR_BUILD_MENU_EVENT; if (myData.iSidAnimate != 0) - cd_impulse_stop_animations (); + cd_impulse_stop_animations (FALSE); // no need to modify the icon _free_shared_memory (); CD_APPLET_STOP_END @@ -109,7 +109,7 @@ gboolean bWasLaunched; if (myData.iSidAnimate != 0) { - cd_impulse_stop_animations(); + cd_impulse_stop_animations (FALSE); // icon will be modified here above bWasLaunched = TRUE; } else Index: cairo-dock-plug-ins/Impulse/src/applet-notifications.c =================================================================== --- cairo-dock-plug-ins.orig/Impulse/src/applet-notifications.c 2014-04-06 22:33:32.519527368 +0200 +++ cairo-dock-plug-ins/Impulse/src/applet-notifications.c 2014-04-06 22:33:32.515527368 +0200 @@ -30,9 +30,9 @@ //if (myData.pTask != NULL) cd_debug ("Impulse animation state: %d", myData.iSidAnimate); if (myData.iSidAnimate != 0) - cd_impulse_stop_animations(); + cd_impulse_stop_animations (TRUE); else - cd_impulse_launch_task();// (myApplet); + cd_impulse_launch_task ();// (myApplet); CD_APPLET_ON_CLICK_END debian/patches/bzr3010_GMenu_option_hide_new_apps_dialogue.patch0000664000000000000000000000544112320335345022166 0ustar revno: 3010 committer: Matthieu Baerts branch nick: cairo-dock-plug-ins timestamp: Tue 2013-10-29 01:19:22 +0100 message: GMenu: Config: Added the possibility to not display notification to quickly launch new applications === modified file 'GMenu/data/GMenu.conf.in' Index: cairo-dock-plug-ins/GMenu/data/GMenu.conf.in =================================================================== --- cairo-dock-plug-ins.orig/GMenu/data/GMenu.conf.in 2014-04-06 22:33:03.843528856 +0200 +++ cairo-dock-plug-ins/GMenu/data/GMenu.conf.in 2014-04-06 22:33:03.835528856 +0200 @@ -120,6 +120,9 @@ #b Display the description in search's results? search description = true +#b Display a notification to quickly launch new applications? +new apps = true + #s[Default] Command to use for configuring the menu: config menu = Index: cairo-dock-plug-ins/GMenu/src/applet-apps.c =================================================================== --- cairo-dock-plug-ins.orig/GMenu/src/applet-apps.c 2014-04-06 22:33:03.843528856 +0200 +++ cairo-dock-plug-ins/GMenu/src/applet-apps.c 2014-04-06 22:33:03.835528856 +0200 @@ -82,7 +82,7 @@ void cd_menu_check_for_new_apps (void) { - if (myData.pNewApps != NULL) + if (myData.pNewApps != NULL && myConfig.bShowNewApps) { if (s_pNewAppsDialog) // the dialogue already exists: add new items in the list { Index: cairo-dock-plug-ins/GMenu/src/applet-config.c =================================================================== --- cairo-dock-plug-ins.orig/GMenu/src/applet-config.c 2014-04-06 22:33:03.843528856 +0200 +++ cairo-dock-plug-ins/GMenu/src/applet-config.c 2014-04-06 22:33:03.835528856 +0200 @@ -34,6 +34,7 @@ myConfig.bShowRecent = CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT ("Configuration", "show recent", TRUE); myConfig.bLoadSettingsMenu = CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT ("Configuration", "settings menu", TRUE); myConfig.bDisplayDesc = CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT ("Configuration", "search description", TRUE); + myConfig.bShowNewApps = CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT ("Configuration", "new apps", TRUE); myConfig.cMenuShortkey = CD_CONFIG_GET_STRING ("Configuration", "menu shortkey"); myConfig.cQuickLaunchShortkey = CD_CONFIG_GET_STRING ("Configuration", "quick launch shortkey"); myConfig.cConfigureMenuCommand = CD_CONFIG_GET_STRING ("Configuration", "config menu"); Index: cairo-dock-plug-ins/GMenu/src/applet-struct.h =================================================================== --- cairo-dock-plug-ins.orig/GMenu/src/applet-struct.h 2014-04-06 22:33:03.843528856 +0200 +++ cairo-dock-plug-ins/GMenu/src/applet-struct.h 2014-04-06 22:33:03.839528856 +0200 @@ -38,6 +38,7 @@ gboolean bShowRecent; gboolean bLoadSettingsMenu; gboolean bDisplayDesc; + gboolean bShowNewApps; gint iNbRecentItems; CDGMenuShowQuit iShowQuit; } ; debian/cairo-dock-plug-ins-data.install0000664000000000000000000000004612016664064015243 0ustar usr/share/cairo-dock usr/share/locale debian/cairo-dock-plug-ins-integration.install0000664000000000000000000000004112013707537016650 0ustar usr/lib*/*/cairo-dock/libcd_*.so debian/rules0000775000000000000000000000121612207136043010246 0ustar #!/usr/bin/make -f #export DH_VERBOSE=1 DH_ALWAYS_EXCLUDE=CVS:.bzr DEB_CMAKE_EXTRA_FLAGS += -Denable-gnome-integration=ON \ -Denable-old-gnome-integration=OFF \ -Denable-kde-integration=ON \ -Denable-xfce-integration=ON \ -DGMCS_EXECUTABLE=/usr/bin/mono-csc \ -DCMAKE_INSTALL_LIBDIR=lib/$(DEB_HOST_MULTIARCH) include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/class/cmake.mk # include /usr/share/cdbs/1/rules/patchsys-quilt.mk DEB_INSTALL_CHANGELOGS_ALL := ChangeLog DEB_BUILD_PARALLEL = yes common-binary-predeb-arch:: dh_clifixperms dh_clideps -d get-orig-source: dh_testdir uscan --force-download --verbose --repack