We run by default with a panel (default gnome-panel) and then run Openbox
without any panel if one cannot be found.
- Adds a fallback session for if a panel (default gnome-panel) not found.
- Removes notifications as a requirement. Seems to be a legacy thing judging
from the ubuntu .session files. Notifications are being provided by
notify-osd on modern systems, and you can't check for its presence in
gnome-session (gnome-classic.session always fails because it looks for it, so
ubuntu falls back to gnome-fallback.session).
data/xsession/openbox-kde.desktop
dist_gnomesession_DATA = \
data/xsession/openbox-kde.desktop
dist_gnomesession_DATA = \
- data/xsession/openbox-gnome.session
+ data/gnome-session/openbox-gnome.session \
+ data/gnome-session/openbox-gnome-fallback.session
dist_noinst_DATA = \
data/rc.xsd \
dist_noinst_DATA = \
data/rc.xsd \
--- /dev/null
+all clean install:
+ $(MAKE) -C .. -$(MAKEFLAGS) $@
+
+.PHONY: all clean install
--- /dev/null
+[GNOME Session]
+Name=GNOME/Openbox fallback (Safe Mode)
+RequiredComponents=gnome-settings-daemon;
+RequiredProviders=windowmanager;
+DefaultProvider-windowmanager=openbox
+DesktopName=GNOME
--- /dev/null
+[GNOME Session]
+Name=GNOME/Openbox
+RequiredComponents=gnome-settings-daemon;
+# Try load with the gnome-panel and use the fallback if we can't load a panel
+RequiredProviders=windowmanager;panel
+DefaultProvider-windowmanager=openbox
+DefaultProvider-panel=gnome-panel
+FallbackSession=openbox-gnome-fallback
+DesktopName=GNOME
NoDisplay=true
# name we put on the WM spec check window
X-GNOME-WMName=Openbox
NoDisplay=true
# name we put on the WM spec check window
X-GNOME-WMName=Openbox
+# gnome-session autostart
X-GNOME-Autostart-Phase=WindowManager
X-GNOME-Provides=windowmanager
X-GNOME-Autostart-Phase=WindowManager
X-GNOME-Provides=windowmanager
+# Ubuntu stuff
+X-Ubuntu-Gettext-Domain=openbox
+# back compat
X-GNOME-Autostart-Notify=true
X-GNOME-Autostart-Notify=true
+++ /dev/null
-[GNOME Session]
-Name=GNOME/Openbox
-RequiredComponents=gnome-panel;gnome-settings-daemon;
-RequiredProviders=windowmanager;notifications;
-DefaultProvider-windowmanager=openbox
-DefaultProvider-notifications=notification-daemon