gnome-flashback is incorrectly detected as gnome-shell
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cairo-Dock Core |
Fix Committed
|
Low
|
Fabounet |
Bug Description
I'm running cairo-dock 3.4.99.alpha1 (downloaded from latest git) on Ubuntu 18.04.
I'm using the "Cairo-dock (GNOME)" session with compiz as the window manager.
I'm manually starting "gnome-flashback", since I need it to process hotkey presses.
My main problem is that initiating the compiz scale plugin by cairo-dock is not working anymore. This is the functionality that provides presenting a window group when clicking on a launcher that has multiple windows open.
It seems that the cause of this problem is that the gnome-shell desktop manager backend is loaded instead of the compiz one. The cause of this is that cairo-dock checks for the presence of gnome-shell by querying the DBus name "org.gnome.Shell" (in src/implementat
Steps to reproduce
==================
1. Run "Cairo-dock (GNOME)" session (with compiz window manager)
2. Ensure that the "Scale" compiz pluging is enabled (in ccsm)
3. Ensure that "Present window preview on click when several windows are grouped together" option is enabled in Cairo-dock's configuration (Advanced mode -> Taskbar)
4. Start "gnome-flashback" (manually or autostart)
5. Start multiple instances of the same program (e.g. gnome-terminal)
6. Click on the taskbar icon representing the group of windows
Expected behavior
=================
Scale view is displayed with all open windows of the clicked program (e.g. multiple terminal windows)
Actual behavior
===============
Nothing happens
Workarounds
===========
-- Do not run gnome-flashback. If it is running, kill it and restart cairo-dock (`killall gnome-flashback; killall cairo-dock; cairo-dock -o &`). Scale will work again (but services provided by gnome-flashback will not -- this includes handling some hotkeys).
-- Comment out cd_init_
-- Switch cd_init_
I can provide a PR for the third option.
Additional info
===============
Manual way to check if "org.gnome.Shell" exists on Dbus:
dbus-send --print-reply --type=method_call --dest=
This prints out a bunch of info if gnome-flashback is running and an error message if it is not.
Changed in cairo-dock-core: | |
assignee: | nobody → Fabounet (fabounet03) |
importance: | Undecided → Low |
milestone: | none → 3.5.0 |
status: | New → Fix Committed |
Something extra I noticed which is a difference between gnome-flashback and gnome-shell:
for the following query:
dbus-send --print-reply --type=method_call --dest= org.gnome. Shell /org/gnome/Shell org.freedesktop .DBus.Propertie s.Get string: org.gnome. Shell string:ShellVersion
gnome-shell replies with a version string, while gnome-flashback returns an empty string. I'm not sure if this could be a reliable way of differentiating though.