From 42bcab97c04ef8fb11e657ff299bf3f706b074a1 Mon Sep 17 00:00:00 2001 From: Kim Woelders Date: Sat, 21 Feb 2009 17:25:16 +0000 Subject: [PATCH] Gnome/e16 session setup du jour. Now it seems to be required to set a gconf key as well as having a .desktop file in (e.g.) /usr/share/applications/. SVN revision: 39126 --- docs/README-0.16.8 | 29 +++++++++++++++++++++-------- e16.spec.in | 1 + misc/Makefile.am | 30 ++++++++++++++++++++---------- misc/e16.desktop-app.in | 7 +++++++ misc/starte16 | 4 ++++ 5 files changed, 53 insertions(+), 18 deletions(-) create mode 100644 misc/e16.desktop-app.in diff --git a/docs/README-0.16.8 b/docs/README-0.16.8 index aa625520..8f594fd9 100644 --- a/docs/README-0.16.8 +++ b/docs/README-0.16.8 @@ -653,17 +653,34 @@ $ eesh set theme.use_alt_font_cfg 0 Using e16 with GNOME -------------------- -(Using Fedora Core 4, may be pertinent to other distributions as well). +Setting up e16 as WM in a GNOME session unfortunately depends on the version +of gnome-session. + +Recent versions of gnome-session seem to require that a gconf key is set +and that an e16.desktop file can be found: + +$ gconftool-2 --set /desktop/gnome/session/required_components/windowmanager --type string e16 +$ gnome-sesssion + +/usr/share/applications/e16.desktop (or ~/.local/share/applications/e16.desktop): +[Desktop Entry] +Encoding=UTF-8 +Type=Application +Name=E16 +Comment=The Enlightenment (e16) window manager +Exec=e16 +Icon=/usr/share/e16/misc/e16.png + + +The section below seems to be obsolete as of gnome-session-2.2x(?) The GNOME desktop can be started using e16 as WM with: $ export WINDOW_MANAGER=e16 $ gnome-sesssion -Alternatively, add a GNOME/e16 session entry to the display manager login: -# cp /usr/share/e16/misc/e16-gnome.desktop /usr/share/xsessions/ -Note! The section below is obsolete as of gnome-session-2.16 +The section below is obsolete as of gnome-session-2.16 However, somewhere along the way the script /usr/bin/gnome-wm is called. This is supposed to handle differences in all the different WM's out there, @@ -688,16 +705,12 @@ Another is to apply this patch to /usr/bin/gnome-wm: Using e16 with KDE ------------------ -(Using Fedora Core 4, may work with other distributions as well). The KDE desktop can be started using e16 as WM with: $ export KDEWM=e16 $ startkde -Alternatively, add a KDE/e16 session entry to the display manager login: -# cp /usr/share/e16/misc/e16-kde.desktop /usr/share/xsessions/ - Migrating from Enlightenment 0.16.7 to 0.16.8 --------------------------------------------- diff --git a/e16.spec.in b/e16.spec.in index 6cee87a2..46fe8e7c 100644 --- a/e16.spec.in +++ b/e16.spec.in @@ -55,6 +55,7 @@ test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT %{_libdir}/e16/*.so %{_datadir}/%{name}/* %{_datadir}/locale/* +%{_datadir}/applications/* %{_datadir}/xsessions/* %{_sysconfdir}/X11/xinit/Xclients.d/* #%{_mandir}/* diff --git a/misc/Makefile.am b/misc/Makefile.am index 21f12c51..64e01f21 100644 --- a/misc/Makefile.am +++ b/misc/Makefile.am @@ -1,15 +1,18 @@ -DESKTOPS = e16.desktop e16-gnome.desktop e16-kde.desktop -DESKTOPS_IN = e16.desktop.in e16-gnome.desktop.in e16-kde.desktop.in +DESKTOPS_APP = e16.desktop +DESKTOPS_SES = e16.desktop e16-gnome.desktop e16-kde.desktop +DESKTOPS_IN = e16.desktop-app.in e16.desktop.in e16-gnome.desktop.in e16-kde.desktop.in XCLIENTS = Xclients.e16.sh Xclients.e16-gnome.sh Xclients.e16-kde.sh STARTUPS = starte16-gnome starte16-kde ICONS = e16.png +DESKTOPS = $(DESKTOPS_APP:.desktop=.desktop-app) $(DESKTOPS_SES) + miscdir = $(pkgdatadir)/misc misc_DATA = $(ICONS) $(DESKTOPS) misc_SCRIPTS = $(XCLIENTS) starte16 e16-dbus-cmd +applicationdir = $(datadir)/applications xsessiondir = $(datadir)/xsessions -#xsession_DATA = $(DESKTOPS) # Is this Fedora only stuff? #xclientsdir = $(sysconfdir)/X11/xinit/Xclients.d @@ -19,23 +22,30 @@ EXTRA_DIST = $(DESKTOPS_IN) $(XCLIENTS) $(SCRIPTS) $(ICONS) CLEANFILES = $(DESKTOPS) -e16.desktop: $(top_srcdir)/misc/e16.desktop.in Makefile -e16-gnome.desktop: $(top_srcdir)/misc/e16-gnome.desktop.in Makefile -e16-kde.desktop: $(top_srcdir)/misc/e16-kde.desktop.in Makefile +e16.desktop-app: $(srcdir)/e16.desktop-app.in Makefile +e16.desktop: $(srcdir)/e16.desktop.in Makefile +e16-gnome.desktop: $(srcdir)/e16-gnome.desktop.in Makefile +e16-kde.desktop: $(srcdir)/e16-kde.desktop.in Makefile $(DESKTOPS): - sed -e "s=@pkgdatadir@=${pkgdatadir}=" $(top_srcdir)/misc/$@.in > $@ + sed -e "s=@pkgdatadir@=${pkgdatadir}=" $(srcdir)/$@.in > $@ install-data-hook: cd $(DESTDIR)$(bindir); rm -f starte16; $(LN_S) $(miscdir)/starte16 . $(mkinstalldirs) $(DESTDIR)$(xsessiondir) - cd $(DESTDIR)$(xsessiondir); rm -f $(DESKTOPS); \ - for f in $(DESKTOPS); do $(LN_S) $(miscdir)/$$f .; done + cd $(DESTDIR)$(xsessiondir); rm -f $(DESKTOPS_SES); \ + for f in $(DESKTOPS_SES); do $(LN_S) $(miscdir)/$$f .; done + cd $(DESTDIR)$(miscdir); rm -f $(STARTUPS); \ + for f in $(STARTUPS); do $(LN_S) starte16 $$f; done + $(mkinstalldirs) $(DESTDIR)$(applicationdir) + cd $(DESTDIR)$(applicationdir); rm -f $(DESKTOPS_APP); \ + for f in $(DESKTOPS_APP); do $(LN_S) $(miscdir)/$$f-app $$f; done cd $(DESTDIR)$(miscdir); rm -f $(STARTUPS); \ for f in $(STARTUPS); do $(LN_S) starte16 $$f; done uninstall-local: rm -f $(DESKTOPS) cd $(DESTDIR)$(bindir); rm -f starte16 - cd $(DESTDIR)$(xsessiondir); rm -f $(DESKTOPS) + cd $(DESTDIR)$(applicationdir); rm -f $(DESKTOPS_APP) + cd $(DESTDIR)$(xsessiondir); rm -f $(DESKTOPS_SES) cd $(DESTDIR)$(miscdir); rm -f $(STARTUPS) diff --git a/misc/e16.desktop-app.in b/misc/e16.desktop-app.in new file mode 100644 index 00000000..9b0ee2dd --- /dev/null +++ b/misc/e16.desktop-app.in @@ -0,0 +1,7 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=Application +Name=E16 +Comment=The Enlightenment (e16) window manager +Exec=e16 +Icon=@pkgdatadir@/misc/e16.png diff --git a/misc/starte16 b/misc/starte16 index d384c1d0..b9ce2fb8 100755 --- a/misc/starte16 +++ b/misc/starte16 @@ -5,6 +5,7 @@ test -z "$s" && s=$0 case "$s" in *gnome|GNOME) + test -x /usr/bin/gconftool-2 && gconftool-2 --set /desktop/gnome/session/required_components/windowmanager --type string e16 WINDOW_MANAGER=e16 export WINDOW_MANAGER exec gnome-session @@ -14,6 +15,9 @@ case "$s" in export KDEWM exec startkde ;; +*window) + exec e16 -w ${SIZE:-800x600} + ;; *) exec e16 ;;