summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Ramsay <lack@gentoo.org>2008-01-04 20:55:23 +0000
committerJim Ramsay <lack@gentoo.org>2008-01-04 20:55:23 +0000
commitca5947cb0f50d680dd26ef913e9d396bda1c8973 (patch)
tree4402d508b0f4c5a36a7faad319c06c9e5c41efc0 /rox-base
parentstable on x86 (diff)
downloadgentoo-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')
-rw-r--r--rox-base/rox-session/ChangeLog11
-rw-r--r--rox-base/rox-session/files/ROX-Defaults.xml12
-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.patch71
-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() {