Cairo-Dock Changelog

New in version 3.4

October 22nd, 2014
  • Menus: added the possibility to customise them
  • Style: unified the style of all components of the dock
  • Better integration with Compiz (e.g. when using the Cairo-Dock session) and Cinnamon
  • Applications Menu and Logout applets will wait the end of an update before displaying notifications
  • Various improvements for Applications Menu, Shortcuts, Status-Notifier and Terminal applets
  • Start working on EGL and Wayland support
  • And as always ... various bug fixes and improvements!

New in version 3.3.2 (October 31st, 2013)

  • Core:
  • Class: implemented a workaround for Chromium and Google Chrome web apps (thanks to Jay Schmidek for his help!)
  • Docks: fixed 2 bugs when reloading a dock: when changing the visibility from 'keep hidden' to 'hide when overlapping a window' and when changing the offset from the screen edges
  • Launching animation: don't stop it when the dock hides itself
  • Menus: correctly setup the menu during its init
  • Taskbar:
  • Fixed a regression when the application changes its class
  • Removed 'opening animation' option: now in plugins (Animated-Icons and Icon-effect)
  • Translations: imported translations from Launchpad: thanks to all contributors!
  • Plugins:
  • 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: thanks to all contributors!
  • Extras (third-party applets):
  • Gmail: Limited the number of chars in the object to avoid extras long menu entry
  • Translations: Imported translations files from Launchpad: thanks to all contributors

New in version 3.3.1 (October 12th, 2013)

  • Added a search entry in the Applications Menu. It allows to rapidly look for programs from their name or their description
  • Added support of logind in the Logout applet
  • Better integration in the Cinnamon desktop
  • Added support of the StartupNotification protocol. It allows launchers to be animated until the application opens and avoids accidental double launches
  • Added an new third-party applet: Notification History to never miss a notification
  • Upgraded the Dbus API to be even more powerful
  • A huge rewrite of the core using Objects
  • Cairo-Dock Session:
  • Support Gnome Session 3.8
  • When launching it for the first time and if Compiz is running, enable a staticswitcher (Alt+Tab) if no switcher is enabled
  • Default themes: added a few default apps for XFCE
  • Dialogues:
  • Prevent dialogues from going out of the screen if the WM doesn't handle this
  • Close the sub-dock if a dialogue overlaps it
  • Fixed a bug that made the background of the widgets inside the dialogue visible
  • Docks:
  • Fixed a bug that made a sub-dock hide itself when placed in the top left corner of the screen
  • Fixed a bug that prevented sub-docks to hide in specific conditions
  • GUI: settings about images: used the image selector widget instead file selector widget
  • OpenGL:
  • Created a backend for the OpenGL interfaces (can be useful for a future support of other OpenGL interfaces)
  • The Intel 4000HD is now blacklisted (except if 'cairo-dock -o' command is used) due to this annoying bug
  • Tests: Added a test framework, and several tests
  • Theme packager: added the possibility to select another output directory and added a message if there is an error
  • Windows:
  • Isolated a lot of functions linked to X11 (can be useful for a future support of Wayland or Mir)
  • If a window has no type and is not transient (e.g. windows of xterm, lxterm, uxterm, and rxvt), keep it on the taskbar
  • Misc:
  • Renamed our launcher: 'Cairo-Dock (no OpenGL)' => 'Cairo-Dock (Fallback Mode)'
  • Updated the documentation of the API: http://doc.glx-dock.org/ and http://www.glx-dock.org/ww_page.php?p=Documentation&lang=en
  • Updated translation (thanks to all contributors!) https://translations.launchpad.net/cairo-dock
  • Plug-ins:
  • Applications Menu:
  • Added support of ezame, a new Menu Editor
  • Added an option to not load settings.menu file (can be useless or it duplicates menu sections on some systems)
  • Set the desktop environment to correctly exclude apps
  • Clipper: In some cases the history was not saved before the end of the session
  • Clock:
  • Support login1 for the 'resuming' signal
  • ICAL: Check if a task a valid before adding it
  • DBus:
  • Interface: Python: fixed a crash if no translation file is found for this domain
  • Installation: Python: support DESTDIR env var
  • Drop to Share:
  • Added Imgur.com support
  • Fixed imageshack.us and uppix.com support
  • Improved error messages
  • Added the possibility to translate some dedicated menus
  • Fixed the title of the Text items in the History menu
  • Indicator-applet3 (Indicator-Generic):
  • Added support of new Indicator Services (Indicator-NG, installed in /usr/share/unity/indicators)
  • Added a workaround to draw the correct image after a short delay if the image is not yet ready.
  • Logout:
  • Lock Screen: added support of cinnamon-screensaver, all [smthg]-screensaver daemons and light-locker
  • Added the possibility to switch user with a custom command
  • Fixed switch user when using GDM
  • Displayed a warning message if it's not possible to reboot/shutdown.
  • Mail: Added the possibility to use a specific icon for each account
  • Note-taking: improve the window to edit notes
  • Notification area: Hide the icon if there is no item (if there is nothing to display)
  • PowerManager:
  • Better handle the case where a device is added/removed
  • Capacity: used the sum and not the average of all batteries
  • Label: used shorter string for the label and start with the percentage (should be better when displaying the dock in a vertical position where labels have a maximum size)
  • Recent-event:
  • Support both Zeitgeist-1.0 and Zeitgeist-2.0
  • Dialogue: used a longer search bar (expanded and filled)
  • Update the result each time a new key is pressed
  • Switcher: listen to more events to correctly update the icon when a window is moved/minimised/created/...
  • Terminal: Added a few more options: scrollback, scroll on output/keystroke, custom font
  • Weather: URL for the detailed weather has changed
  • Wifi:
  • If we don't want the quickinfo: refresh the icon too
  • Used the full path for iwconfig
  • Third Party:
  • Calendar:
  • Used 'cal' if 'ncal' is not available
  • Added a theme selector: default, faenza, custom
  • Deluge & KTorrent: translated torrents info message
  • GMail: reduce the number of update of the icon/quickinfo (do that only if it's needed)
  • Google: Parser: if the URL can changed: with or without '/url' (it depends of the country)
  • Moon: fixed a few bugs:
  • Added the possibility to translate the label (days)
  • When using a subdock for the next 7 days, also change the main icon
  • Added the possibility to use other icons in different formats (only in the directory of the applet)
  • Removed duplicated code
  • Screensaver inhibitor: only list processes of the current user
  • Translator: invert languages when scrolling
  • Transmission:
  • Added the possibility to display the remaining time of the slowest active torrent as quick-info
  • Improved torrents info dialogue
  • Fixed a possible crash if Transmission has never been launched before
  • Twitter: Updating to the API 1.1
  • Websearch:
  • Fixed Google, Flickr and Bing search.
  • Removed Webshots (no longer available) and Twitter (api has changed).
  • List of results now shows the search engine's logo if is not a thumbnailable link icon.
  • Misc:
  • Added the possibility to translate the name of the applet
  • Fixed some compatibilities with Python 3 (some applets still need Python 2 - feel free to help us )

New in version 3.2.1 (April 15th, 2013)

  • Dialogues:
  • Fixed a small bug with the default icon
  • Force to take the focus when the dialogue has a user widget, since some WM prevent focus steal
  • Gnome-Shell: the dash was hidden all the time
  • GUI:
  • Docks list: only list main docks and subdocks and not launchers and applications with subdocks (when there are windows with the same class and if these icons are regrouped into a subdock)
  • Menu and GUI: Move to another dock: if it's a container: Do not add subdocks that are contained in this container (to avoid loop: subdock1->subdock2->subdock1)
  • Simple: Plugins: 'Help' applet was not listed
  • Simple: Config: force to display the config widget (the config panel was empty with some older versions of GTK)
  • Help applet: This applet didn't have any preview icon file
  • Icon:
  • Label: If we don't want to show label, keep info about the font: it can be used by other applets (e.g. Clock)
  • Windows thumbnails: fixed a small bug that made the thumbnail unavailable the first time the window is minimized
  • Init & Themes: deactivate the option 'Show Windows Thumbnail' in the current theme.
  • This option can provoke annoying bugs with other applications the desktop (e.g. Gedit or Nautilus displayed corrupted icons when using a smooth scroll)
  • It seems this bug is due to the video drivers and it's fixed with the latest stable version of these drivers (but which is not available with most distributions)
  • Note: It's still possible to re-enable this option from the config panel
  • Taskbar: Fixed a possible crash in a convoluted scenario (if there are a few untitled windows with the same empty class)
  • X11:
  • Fixed a crash when using Xinerama with multi-monitors
  • Translations: Imported translations files from Launchpad: thanks to all contributors
  • Plugins
  • By Fabounet (Fabrice Rey) & Matttbe (Matthieu Baerts)
  • 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
  • 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
  • Do not insert or detach icons if it's not necessary
  • Translations: Imported translations files from Launchpad: thanks to all contributors
  • Deluge: A menu entry to quit the application was missing
  • Gmail:
  • Make base64 work with python3
  • Handle messages with no subject
  • Updated the config file and removed an unused option
  • Pidgin/Xchat: fixed a wrong option type ('animation type' is an integer)
  • Screensaver Inhibitor: FreeDesktop: support both newer and older object path
  • Transmission:
  • A menu entry to quit the application was missing
  • urllib requires UTF-8 in python3
  • Translations: Imported translations files from Launchpad (added Basque): thanks to all contributors

New in version 3.2 (March 23rd, 2013)

  • General:
  • Multi-screen support has been improved.
  • The new applet Screenshot allows you to take screenshot (it's purpose is to replace gnome-screenshot and its annoying effects).
  • The new plug-in Sound-Effects adds sound effects to some actions on the icons.
  • Distant folders (samba, FTP, etc) and encrypted disks are now handled in the Shortcuts applet.
  • Environment support:
  • Cairo-Dock can run on any desktop, and is a good addition to the classic shells (Unity, Gnome-Shell, KDE, etc) or it can even replace them advantageously.
  • This version brings further support of the classic shells:
  • Gnome-Shell support: the dock can now use some abilities of Gnome-shell (windows Exposé, desktops Exposé), as it already does with Compis and Kwin.
  • GDM support for user switching has also been added, as it already has for ldm, kdm, etc
  • The dock now supports Systemd (Fedora, Arch, etc) for the session management within the Logout applet
  • All the Unity indicators are now supported through a generic Indicator applet (Printer-menu, Bluetooth-menu, etc)
  • The Note-taking applet can now work without Tomboy or Gnote.
  • And the dock now compiles and runs fine on FreeBSD.

New in version 3.1.2 (December 3rd, 2012)

  • Core:
  • Dialogues Mgr:
  • cairo_dock_set_dialog_message (used by Help): used markup if it's needed
  • Fixed 2 bugs when an icon holding a modal dialog is destroyed
  • GUI:
  • Search for an icon path if the module gives us only the name of its icon (e.g. Deluge, Transmission, Menus)
  • Simple: Behavior: Position of the taskbar: 'After a given icon' choise was missing
  • Icon Mgr: removed a now useless static mutex
  • Init:
  • Initialised threads on new versions of GLib (>= 2.24)
  • This should finally fix a crash when opening Logout menu
  • Help: Used markup for the dialogues
  • Menu: Quit with a Cairo-Dock session: check if it's really the shift key which is used to unlock the quit menu entry
  • Plug-ins:
  • 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
  • Third-Party applets: [by Fabrice Rey & Matthieu Baerts]
  • GTG:
  • Supported both old (0.2) and new (0.3) versions
  • Handle the case where we receive the child before its parent
  • Used the GTG icons from the icon theme if available
  • Tried to reconnect to GTG when building the menu if it's not connected (if GTG is installed after or has been launched with a delay at startup
  • MintMenu: updated to match the latest version of MintMenu (that uses mateapplet instead of gnomeapplet)

New in version 3.1.1 (November 6th, 2012)

  • Core:
  • Dialogues Mgr: Rewrite blocking dialogue to avoid bug with 'terminal' applet
  • GUI
  • Simple:
  • Used the right translation for titles of all main categories and description of views
  • With old versions of GTK2 (< 2.22, e.g. on Debian stable or Ubuntu Lucid): this config panel had tabs but without any widget inside
  • Advanced:
  • Widget Items: Invisible modules: displayed the title (which is translated)
  • Icon Mgr:
  • Fixed a crash with the icons theme when it is reloaded
  • Icon was invisible for launchers that are pinned to a given desktop
  • Icons were not correctly sorted (it impacted Shortcuts)
  • Init: Used dbus_g_thread_init before 'gtk_init' in order to be called before the first use of DBus
  • It should fixed a "random" crash when clicking on logout applet.
  • Help: always check the composite on startup, until the user choose not to
  • Theme: Panel:
  • Added Printers-Menu.conf file (needed to place this applet at the right position)
  • Dnd2share: used the new 'busy' animation
  • Misc.:
  • Compilation libdir: some distro (e.g. Gentoo) use LIB_SUFFIX flag: used a specific case for that
  • Updated translations
  • Plug-ins:
  • 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 (thanks to Freb )
  • 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
  • Third-Party applets:
  • Calendar: used 'ncal' instead of 'cal' because it uses the locale to know if the week has to starts with Monday or Sunday
  • Screensaver_inhibitor: check for xscreensaver before the dbus services
  • Misc.:
  • Uniformed some common labels in the conf files
  • Updated translations

New in version 3.1.0 (October 22nd, 2012)

  • This version brings a tight integration with Unity: several indicators have been added (Sync-Menu, Print-Menu, and the latest Messaging-Menu), and the Launcher API is now supported. This allows applications to display useful information directly on the launchers (e.g.: the progression of a copy/download on the Nautilus/Firefox icon, the number of update on the Update-manager icon, all Gtk bookmarks on the 'Home' launcher, etc.). Note that Quick-list menu entries are also supported since the 2.4 version.
  • Following the same idea, progress-bars have been added in several applets (for instance, the Transmission applet can now display the current download progress). Progress bars are also available in the Dbus API (in Python or any other language), and are very customizable.
  • The configuration window has been improved (both simple and advanced modes). Especially, all configuration windows have been merged into a single one.
  • The Recent Events applets, which lets you quickly access the recently used files, now also presents the recently used applications.
  • A right-click on a launcher will also present you the recent files that you can open with this launcher.
  • The Twitter applet now supports Identi.ca (thanks to Eduardo).

New in version 3.0.2 (June 16th, 2012)

  • Core:
  • Main GUI: Fixed a crash when hovering group buttons too quickly
  • Main GUI: The dialog and preview didn't appear when hovering the button
  • Accelerators: On recent distro, 'Control' key is now called 'Primary'
  • Icon Mgr: Added a mutex because of occasional crashes with gtk_icon_theme_lookup_icon
  • Icon Mgr: Don't call a 'change-icon' callback when clicking or scrolling on an icon, and trigger an unneeded animation on the icon
  • Dock Mgr: Avoid emitting an 'enter' event when not needed
  • Class Mgr: Fixed 2 typos (special case for kdesu and not kdes)
  • Class Mgr: Remove launching options (%U) in quick-list Exec command
  • Dialogues: Prevent closing the dialog unexpectedly when clicking on it, if the click is actually inside the interactive widget
  • Background: When set to 'always visible', applets' background couldn't be turned off
  • Added a workaround for the Unity-panel which has a wrong window type
  • Po: Updated translations: thanks to all contributors
  • Plug-ins:
  • 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 message 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: thanks to all contributors (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)
  • Fix 3.0.1 regression: GMenu, Switcher, Quick-Browser and Terminal: CAIRO_DOCK_FORCE_ICON_IN_MENUS was not defined in plug-ins (these applets didn't contain any icons except if 'menus-have-icons' [gd]conf key was enabled)