Tips & tricks - Cairo-Dock/cairo-dock-core GitHub Wiki

This page currently has only a couple of items -- feel free to add any content that you feel will be useful to users of Cairo-Dock!

Currently, information is organized by desktop environment / compositor.

KDE / Plasma

How to get rid of the panel in KDE Plasma

If you're using Cairo-Dock in the KDE Plasma environment, you might decide that you don't need the built-in panel anymore. You can easily get rid of it (tested on Plasma version 6.5.2):

  • Right click anywhere on the panel
  • Select "Show panel configuration"
  • In the "Panel settings" window that comes up, click "Delete this panel"
  • If needed, click "Exit edit mode" in the remaining window showing the desktop

How to restore the panel

If you change your mind and decide you need the panel back, you can restore it:

  • Right click on the desktop
  • Select "Enter edit mode" from the menu
  • Click on "Add Panel" in the top part of the window that comes up
  • Select the type of panel you need
  • Click "Exit Edit Mode" (if needed)

Present a window group or all windows

When you click on an icon that represents a group of windows (with a subdock), it is possible to trigger the "Overview" effect to display an overview of all windows in this group. In Cairo-Dock's settings, this feature is enabled by selecting the "Present windows preview on click when several windows are grouped together" option in the "Taskbar" settings (only in advanced mode). Furthermore, several plug-ins (Switcher, Show desktop, etc.) allow triggering an overview of all windows or all desktops on click. To make this feature work, you need to enable the "Overview" effect for Plasma. You can do this by opening "System settings" (it's under the "System" menu), navigating to "Window management" -> "Desktop Effects" in the left pane, and making sure that "Overview" is enabled (it is on the bottom of the list):

Wayfire

Setting desklet positions

On Wayfire, you can use the window-rules plugin to set a default position for desklets and also to keep them on top (or below). E.g. to set a specific position for the "clock" plugin, add the following to the [window-rules] section of your wayfire.ini configuration:

cd_clock = on created if title is "cairo-dock-desklet-clock" then move 1100 40

Note: this only sets an initial position; you can still move the desklet to a new position by dragging it afterwards.

The window title of any desklet will start with "cairo-dock-desklet-" followed by the plugin name. You can match individual plugins as in the example above (e.g. to set their position), or you can match all desklets using the contains clause. E.g. to make all desklets appear always on top and sticky (appear on all workspaces), add the following:

cd_desklet_on_top = on created if title contains "cairo-dock-desklet" then set always_on_top
cd_desklet_sticky = on created if title contains "cairo-dock-desklet" then set sticky

Present a window group on click

When you click on an icon that represents a group of windows (with a subdock), it is possible to trigger Wayfire's scale plugin to display an overview of all windows in this group. In Cairo-Dock's settings, this feature is enabled by selecting the "Present windows preview on click when several windows are grouped together" option in the "Taskbar" settings (only in advanced mode). However, to make this feature work, you need to compile and install an additional plugin for Wayfire, currently available at https://github.com/dkondor/wayfire-scale-ipc (see the installation instructions there). After installing, you need to enable it in WCM ("Scale IPC addon"). Make sure to also enable the "IPC protocol" plugin as that is also required to make this work.

Keyboard shortcuts

The latest development version of Cairo-Dock (3.6.93 and newer) supports setting up keyboard shortcuts to activate actions ("shortkeys"). For this to work, you need to enable the "IPC protocol" and "Command" plugins. You can verify that things work by opening Cairo-Dock's settings and navigating to the "Shortkeys" page. If things are set up properly, no warning will be displayed and items will be shown in green (and can be edited by double clicking on them). Note that you need to restart Cairo-Dock after enabling the Wayfire plugins. Of course, if you have set up a keyboard shortcut ("activator") in Wayfire with the same keys, it will take precedence.

Menu shortcut

Wayfire supports setting a specific keyboard shortcut to pop up a desktop environment's menu. If enabled, Cairo-Dock will listen to this and open its main menu (from the GMenu plug-in). To use it, make sure that the "Wayfire Shell Protocol" option is enabled in WCM; you can also set the keybinding here.

Additional window states

Recent development versions of Cairo-Dock (3.6.95 or newer) support setting additional window states: sticky (window is shown on all workspaces) and always on top using Wayfire's IPC protocol. For this to work, you need to set the following in Wayfire's configuration:

  • Enable the following plugins: "Window Rules IPC Interface", "Window rules", "WM Actions", "IPC protocol" (label in WCM; if editing the config file directly, use: ipc-rules wm-actions ipc window-rules)
  • Under "Workarounds", set "Application ID mode" to "Full" (app_id_mode = full under [workarounds] in the config file)

You will need to restart Cairo-Dock after setting these.

General

Separate groups for the windows of the same app

See also https://github.com/Cairo-Dock/cairo-dock-core/issues/220

If you have many windows open from the same app (e.g. a terminal), you may want to group them logically based on some criteria. This can be partly achieved on Cairo-Dock. Note: you need the following to make this work:

  • a recent version of Cairo-Dock: stable version 3.6.2 or above; development version with https://github.com/Cairo-Dock/cairo-dock-core/pull/221 merged
  • An app that supports changing its "class" or "app-id" with a command line argument (e.g. many terminal emulators allow this, however, sometimes only on X11)
  • You need to create a custom launcher for each group (right click menu -> Cairo-Dock -> Add -> Custom launcher; dragging a launcher from the menu or creating it from a running app will not work)

To create a launcher for a specific group, you need to:

  1. Create a custom launcher
  2. Optionally, select a custom icon so that it can be easily identified
  3. Manually enter the command with the correct command line arguments to set a custom "class". E.g. for LXTerminal, use the following: lxterminal --class myclass1 --no-remote
  4. Expand the "Extra parameters" pane and enter the same class name into the "Class of the program" entry (e.g. myclass1 in this case)