diff options
author | Jim Ramsay <lack@gentoo.org> | 2008-01-04 20:55:23 +0000 |
---|---|---|
committer | Jim Ramsay <lack@gentoo.org> | 2008-01-04 20:55:23 +0000 |
commit | ca5947cb0f50d680dd26ef913e9d396bda1c8973 (patch) | |
tree | 4402d508b0f4c5a36a7faad319c06c9e5c41efc0 /rox-base/rox-session | |
parent | stable on x86 (diff) | |
download | gentoo-2-ca5947cb0f50d680dd26ef913e9d396bda1c8973.tar.gz gentoo-2-ca5947cb0f50d680dd26ef913e9d396bda1c8973.tar.bz2 gentoo-2-ca5947cb0f50d680dd26ef913e9d396bda1c8973.zip |
Fixed the default if you haven't run rox-session before. Instead of just trying the first WM it sees, it presents you with a list to choose from (or you can specify your own). Bug #204239
(Portage version: 2.1.4_rc14)
Diffstat (limited to 'rox-base/rox-session')
-rw-r--r-- | rox-base/rox-session/ChangeLog | 11 | ||||
-rw-r--r-- | rox-base/rox-session/files/ROX-Defaults.xml | 12 | ||||
-rw-r--r-- | rox-base/rox-session/files/digest-rox-session-0.30-r3 (renamed from rox-base/rox-session/files/digest-rox-session-0.30-r2) | 0 | ||||
-rw-r--r-- | rox-base/rox-session/files/rox-session-0.30-wmselect.patch | 71 | ||||
-rw-r--r-- | rox-base/rox-session/rox-session-0.30-r3.ebuild (renamed from rox-base/rox-session/rox-session-0.30-r2.ebuild) | 21 |
5 files changed, 112 insertions, 3 deletions
diff --git a/rox-base/rox-session/ChangeLog b/rox-base/rox-session/ChangeLog index 580833472da6..4ce14d4ce4ef 100644 --- a/rox-base/rox-session/ChangeLog +++ b/rox-base/rox-session/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for rox-base/rox-session # Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/rox-base/rox-session/ChangeLog,v 1.30 2008/01/03 18:49:26 lack Exp $ +# $Header: /var/cvsroot/gentoo-x86/rox-base/rox-session/ChangeLog,v 1.31 2008/01/04 20:55:23 lack Exp $ + +*rox-session-0.30-r3 (04 Jan 2008) + + 04 Jan 2008; Jim Ramsay <lack@gentoo.org> + +files/rox-session-0.30-wmselect.patch, +files/ROX-Defaults.xml, + -rox-session-0.30-r2.ebuild, +rox-session-0.30-r3.ebuild: + Fixed the default if you haven't run rox-session before. Instead of just + trying the first WM it sees, it presents you with a list to choose from (or + you can specify your own). Bug #204239 *rox-session-0.30-r2 (03 Jan 2008) diff --git a/rox-base/rox-session/files/ROX-Defaults.xml b/rox-base/rox-session/files/ROX-Defaults.xml new file mode 100644 index 000000000000..97043760fc46 --- /dev/null +++ b/rox-base/rox-session/files/ROX-Defaults.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" ?> +<interface xmlns="http://zero-install.sourceforge.net/2004/injector/interface"> + <name>ROX-Defaults</name> + <summary>a default configuration for ROX</summary> + <description> +This package is used by ROX-Session to provide sensible defaults. For example, +clicking on a text file will open it in Edit, while clicking on an archive will +use Archive. The required programs are fetched on demand using Zero Install.</description> + <homepage>http://rox.sourceforge.net/desktop/ROX-Session</homepage> + <feed-for interface="http://rox.sourceforge.net/2005/interfaces/ROX-Defaults"/> + <implementation id="/usr/bin" main="true" stability="packaged" version="0.2"/> +</interface> diff --git a/rox-base/rox-session/files/digest-rox-session-0.30-r2 b/rox-base/rox-session/files/digest-rox-session-0.30-r3 index 2c6780d8dd0c..2c6780d8dd0c 100644 --- a/rox-base/rox-session/files/digest-rox-session-0.30-r2 +++ b/rox-base/rox-session/files/digest-rox-session-0.30-r3 diff --git a/rox-base/rox-session/files/rox-session-0.30-wmselect.patch b/rox-base/rox-session/files/rox-session-0.30-wmselect.patch new file mode 100644 index 000000000000..e414100cf577 --- /dev/null +++ b/rox-base/rox-session/files/rox-session-0.30-wmselect.patch @@ -0,0 +1,71 @@ +--- ROX-Session/wm.py.orig 2008-01-04 10:42:40.000000000 -0500 ++++ ROX-Session/wm.py 2008-01-04 15:26:26.000000000 -0500 +@@ -44,7 +44,8 @@ + import session + session.may_run_login_script() + else: +- choose_wm('None of the default window managers are installed') ++ choose_wm(_("No window manager has been configured. " ++ "Please enter one below:")) + + def available_in_path(command): + for x in path_dirs: +@@ -56,13 +57,9 @@ + def get_window_manager(): + user_wm = settings.settings.get('ROX/WindowManager', None) + if user_wm: +- wms = [user_wm] + window_managers +- else: +- wms = window_managers +- for wm in wms: +- wm_split = shell_split(wm) ++ wm_split = shell_split(user_wm) + if available_in_path(wm_split[0]): +- return wm, wm_split ++ return user_wm, wm_split + return None, None + + def wm_died(status): +@@ -76,24 +73,37 @@ + "Please restart it, or choose another window manager.")) + + def choose_wm(message): ++ current_wm = get_window_manager()[0] + box = rox.Dialog('Choose a window manager', None, + g.DIALOG_MODAL | g.DIALOG_NO_SEPARATOR) +- box.add_button(g.STOCK_CLOSE, g.RESPONSE_CANCEL) ++ if current_wm is not None: ++ box.add_button(g.STOCK_CLOSE, g.RESPONSE_CANCEL) + box.add_button(g.STOCK_EXECUTE, g.RESPONSE_OK) + box.set_position(g.WIN_POS_CENTER) + + box.vbox.pack_start(g.Label(message), True, True, 0) + box.set_default_response(g.RESPONSE_OK) + +- entry = g.Entry() +- entry.set_activates_default(True) ++ entry = g.combo_box_entry_new_text() + box.vbox.pack_start(entry, False, True, 0) +- entry.set_text(get_window_manager()[0] or '') ++ ++ current_wm_in_list = False ++ index = 0 ++ for wm in window_managers: ++ if available_in_path(shell_split(wm)[0]): ++ entry.append_text(wm) ++ if wm == current_wm: ++ current_wm_in_list = True ++ entry.set_active(index) ++ index += 1 ++ if not current_wm_in_list and current_wm is not None: ++ entry.prepend_text(current_wm) ++ entry.set_active(0) + + box.vbox.show_all() + + if box.run() == int(g.RESPONSE_OK): +- settings.settings.set('ROX/WindowManager', entry.get_text()) ++ settings.settings.set('ROX/WindowManager', entry.get_active_text()) + box.destroy() + start() + else: diff --git a/rox-base/rox-session/rox-session-0.30-r2.ebuild b/rox-base/rox-session/rox-session-0.30-r3.ebuild index 0feaf30310da..4617e4a7e136 100644 --- a/rox-base/rox-session/rox-session-0.30-r2.ebuild +++ b/rox-base/rox-session/rox-session-0.30-r3.ebuild @@ -1,10 +1,10 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/rox-base/rox-session/rox-session-0.30-r2.ebuild,v 1.1 2008/01/03 18:49:26 lack Exp $ +# $Header: /var/cvsroot/gentoo-x86/rox-base/rox-session/rox-session-0.30-r3.ebuild,v 1.1 2008/01/04 20:55:23 lack Exp $ ROX_LIB_VER="2.0.4-r1" ROX_VER="2.7-r1" -inherit eutils rox-0install multilib +inherit eutils rox-0install DESCRIPTION="Rox-Session is a really simple session manager" HOMEPAGE="http://rox.sourceforge.net/rox_session.html" @@ -20,6 +20,16 @@ RDEPEND=">=dev-python/dbus-python-0.71" MY_PN="ROX-Session" APPNAME=${MY_PN} +src_unpack() { + unpack ${A} + cd "${S}" + + # By default on first startup rox-session tries to load oroborox (and + # download it if it's not already installed). This patch gives users a + # choice of existing WM instead of forcing oroborox down their throats: + epatch "${FILESDIR}/${P}-wmselect.patch" +} + src_install() { rox-0install_src_install @@ -31,6 +41,13 @@ src_install() { dodir /etc/X11/Sessions echo "/usr/bin/rox-start" > "${D}/etc/X11/Sessions/ROX_Desktop" fperms a+x /etc/X11/Sessions/ROX_Desktop + + # This is fun- Requires 'ROX-Defaults' which is basically useless. + # So setup a dummy feed for it: + local feedname + feedname=$(0distutils -e "${FILESDIR}/ROX-Defaults.xml") || die "0distutils URI escape failed" + insinto "${NATIVE_FEED_DIR}" + newins "${FILESDIR}/ROX-Defaults.xml" "${feedname}" } pkg_postinst() { |