After a little more debugging on my setup, I figured out that my Xubuntu install has these environment variables set:
XDG_SESSION_DESKTOP = xubuntu;
XDG_CURRENT_DESKTOP = XFCE;
DESKTOP_SESSION = xubuntu;
session_desktop is set via get_xdg_session_desktop() in lib/Services/Environment.vala with the relevant part reproduced below:
result = Environment.get_variable ("XDG_SESSION_DESKTOP");
if (result == null)
result = Environment.get_variable ("XDG_CURRENT_DESKTOP");
if (result == null)
result = Environment.get_variable ("DESKTOP_SESSION");
Because result get sets to xubuntu via the Environment.get_variable for XDG_SESSION_DESKTOP, the if block for XDG_CURRENT_DESKTOP gets skipped. Thus, session_desktop is set to the default UKNOWN type as xubuntu is not in the enumeration for XdgSessionDesktop regardless of XDG_CURRENT_DESKTOP being set to XFCE.
I might try adding a new XdgSessionDesktop type for xubuntu in Environment.vala as that might be an easier solution that can allow me to update the initialize if block in PositionManager.
After a little more debugging on my setup, I figured out that my Xubuntu install has these environment variables set:
XDG_SESSION_DESKTOP = xubuntu;
XDG_CURRENT_DESKTOP = XFCE;
DESKTOP_SESSION = xubuntu;
session_desktop is set via get_xdg_ session_ desktop( ) in lib/Services/ Environment. vala with the relevant part reproduced below:
result = Environment. get_variable ("XDG_SESSION_ DESKTOP" ); get_variable ("XDG_CURRENT_ DESKTOP" ); get_variable ("DESKTOP_ SESSION" );
if (result == null)
result = Environment.
if (result == null)
result = Environment.
Because result get sets to xubuntu via the Environment. get_variable for XDG_SESSION_ DESKTOP, the if block for XDG_CURRENT_DESKTOP gets skipped. Thus, session_desktop is set to the default UKNOWN type as xubuntu is not in the enumeration for XdgSessionDesktop regardless of XDG_CURRENT_DESKTOP being set to XFCE.
I might try adding a new XdgSessionDesktop type for xubuntu in Environment.vala as that might be an easier solution that can allow me to update the initialize if block in PositionManager.
Best,
James