desktopfolder
desktopfolder copied to clipboard
Multiple problems under Openbox+Compton
Description
I gave desktopfolder a spin on Debian testing, running Openbox+Compton. Experiencing several problems.
Expected result
- Panels are transparent, image on root window can be seen through.
- Panels can be moved around
- Main desktop panel stays above root window but below normal windows.
- Icons on main desktop panel are placed inside NET_WM Workarea, instead of the whole screen.
Actual result
- Panels are non-transparent and immovable.
- Panels are immovable.
- Main desktop panel can be brought on top of other windows when gains focus.
- Main desktop panel does not account for NET_WM Workarea when placing icons (thus icons slide below a panel)
System Information
- OS: Debian testing
- Desktop Folder version: 1.0.10
Terminal output
** (desktopfolder:26244): WARNING **: 15:00:43.174: CustomShortcutSettings.vala:43: Schema "org.gnome.settings-daemon.plugins.media-keys" is not installed on your system.
** (desktopfolder:26244): CRITICAL **: 15:00:43.174: pantheon_keyboard_shortcuts_custom_shortcut_settings_list_custom_shortcuts: assertion 'available' failed
** (desktopfolder:26244): CRITICAL **: 15:00:43.174: pantheon_keyboard_shortcuts_custom_shortcut_settings_create_shortcut: assertion 'available' failed
** (desktopfolder:26244): CRITICAL **: 15:00:43.174: pantheon_keyboard_shortcuts_custom_shortcut_settings_edit_command: assertion 'relocatable_schema != NULL' failed
** (desktopfolder:26244): CRITICAL **: 15:00:43.174: pantheon_keyboard_shortcuts_custom_shortcut_settings_edit_shortcut: assertion 'relocatable_schema != NULL' failed
(desktopfolder:26244): Gtk-WARNING **: 15:00:53.550: Only 'activatable' widgets can be packed into the action area of a GtkDialog
^C
psycho@mindflash6:~$ desktopfolder
** (desktopfolder:27108): WARNING **: 15:01:31.244: CustomShortcutSettings.vala:43: Schema "org.gnome.settings-daemon.plugins.media-keys" is not installed on your system.
** (desktopfolder:27108): CRITICAL **: 15:01:31.244: pantheon_keyboard_shortcuts_custom_shortcut_settings_list_custom_shortcuts: assertion 'available' failed
** (desktopfolder:27108): CRITICAL **: 15:01:31.244: pantheon_keyboard_shortcuts_custom_shortcut_settings_create_shortcut: assertion 'available' failed
** (desktopfolder:27108): CRITICAL **: 15:01:31.244: pantheon_keyboard_shortcuts_custom_shortcut_settings_edit_command: assertion 'relocatable_schema != NULL' failed
** (desktopfolder:27108): CRITICAL **: 15:01:31.244: pantheon_keyboard_shortcuts_custom_shortcut_settings_edit_shortcut: assertion 'relocatable_schema != NULL' failed
(desktopfolder:27108): Gtk-WARNING **: 15:01:40.246: Only 'activatable' widgets can be packed into the action area of a GtkDialog
DesktopFolder currently has been tested on gnome-shell, budgie-desktop and pantheon
Hence why you are seeing those errors in the terminal output. CustomShortSettings.vala should probably only try to map shortcuts if the XDG_CURRENT_DESKTOP contains "GNOME" or the window manager is "Pantheon" at a minimum.
Alternatively @spheras - maybe the same suggested check above be added to DesktopFolder startup to throw a message to users that DesktopFolder has only been tested on the supported desktop's.
The other issues are due to using OpenBox. So really this is an enhancement request to support OpenBox.
I would kindly suggest that if you or others use OpenBox then perhaps a pull-request or two will help here to make DesktopFolder work with a wider range of window managers?
Well, Workarea is part of NET_WM and is not specific to any DE. As for desktop window, here is xprop data for desktop windows of desktopfolder and pcmanfm-qt (differences): pcmanfm-qt:
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x2, 0x1, 0x0, 0x0, 0x0
_NET_WM_ALLOWED_ACTIONS(ATOM) =
_NET_WM_STATE(ATOM) = _OB_WM_STATE_UNDECORATED
_OB_APP_TYPE(UTF8_STRING) = "desktop"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
user specified location: 0, 0
user specified size: 1920 by 1080
program specified minimum size: 85 by 85
window gravity: Static
desktopfolder:
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x1, 0x21, 0x0, 0x0, 0x0
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_BELOW
_NET_WM_STATE(ATOM) = _NET_WM_STATE_SKIP_TASKBAR, _NET_WM_STATE_SKIP_PAGER, _NET_WM_STATE_BELOW
_OB_APP_TYPE(UTF8_STRING) = "dock"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
program specified minimum size: 1003 by 218
program specified base size: 0 by 0
window gravity: NorthWest
I have a suspicion that "dock" type is a culprit here. Meanwhile, secondary desktopfolder panels have "desktop" type.
As a quick test, if you change https://github.com/spheras/desktopfolder/blob/03018066d0561661e58057d5765efcd44098f314/src/logic/DesktopManager.vala#L40
to
this.get_view ().set_type_hint (Gdk.WindowTypeHint.DESKTOP);
What happens?
The layer problem is gone.
From what I understand and IIRC the strange type hints for Desktop Folder's windows might have been to fix problems with elementary OS/Pantheon's multitasking view features.
@aljelly hmm ... can you remember if there were any other issues when you had "DESKTOP" for elementary. I will need to check with budgie-desktop what happens with a "DESKTOP" hint - this may be a case of having a "if pantheon set DOCK else set DESKTOP" type code.
DOCK - DESKTOP - NORMAL hints changes were a lot of tricks I did time ago to support moveable, resizable and DOCK/DESKTOP features for the panels at the same time. Maybe we could create an issue to reevaluate the problem and see a better solution. I can't remember exactly the problems, but I remember it like a hell :imp: , touching here and there to fit exactly to the current behaviour. (i.e. you can see the #7 issue)
I'm tagging this issue as an enhancement to support Openbox+Compton. You're right @Vladimir-csp that perhaps this is something generic, I opened a new issue to review the hint changes in code. Perhaps that solve some of the issues you reported. Anyway, help to support different Desktops/Distributions/... combinations is more than welcome, unfortunately, we are few and can only concentrate in some distributions.