[debian-edu-commits] debian-edu/ 42/183: - Added support for GNUSTEP domains - Further optimalization of the xsession.d script, now pretty much as efficient as it can get I think - slight polishing of kommander GUI
Alexander Alemayhu
ccscanf-guest at moszumanska.debian.org
Wed Jun 11 16:48:32 UTC 2014
This is an automated email from the git hooks/post-receive script.
ccscanf-guest pushed a commit to branch master
in repository desktop-profiles.
commit a783578ee8ab7568f4ee416802f262dd2e912c44
Author: Bart Cornelis <cobaco at linux.be>
Date: Tue Jan 18 18:11:02 2005 +0000
- Added support for GNUSTEP domains
- Further optimalization of the xsession.d script, now pretty much as
efficient as it can get I think
- slight polishing of kommander GUI
---
20desktop-profiles_activateDesktopProfiles | 120 +-
TODO | 3 +-
debian/changelog | 8 +
debian/config | 2 +
debian/control | 2 +-
debian/copyright | 2 +-
debian/listing | 7 +-
desktop-profiles | 2 +-
desktop-profiles.7 | 14 +-
list-desktop-profiles | 2 +-
profile-manager.kmdr | 1646 ++++++++++++++--------------
11 files changed, 949 insertions(+), 859 deletions(-)
diff --git a/20desktop-profiles_activateDesktopProfiles b/20desktop-profiles_activateDesktopProfiles
index bbb8cb7..c4717dc 100644
--- a/20desktop-profiles_activateDesktopProfiles
+++ b/20desktop-profiles_activateDesktopProfiles
@@ -1,12 +1,12 @@
#! /bin/sh
#
-# Script to activate profiles (i.e. conditional setup) for the various desktop
-# environments in Debian based on the data in the *.listing files in the
-# /etc/desktop-profiles directory. Sourced by /etc/X11/Xsession.
+# Script to activate profiles (i.e. conditional extra stuff) for the various
+# desktop environments in Debian based on the data in the *.listing files in
+# the /etc/desktop-profiles directory. Sourced by /etc/X11/Xsession.
#
-# See the desktop-profiles (7) man page for an overview of how this works
+# See the desktop-profiles(7) man page for an overview of how this works
#
-# (c) 2004 Bart Cornelis <cobaco AT skolelinux no>
+# (c) 2004-2005 Bart Cornelis <cobaco AT skolelinux no>
###############################################################################
########################################################
@@ -20,9 +20,10 @@ else
errormsg "Shell library $LIB is missing! No desktop profiles will be activated.";
fi;
-################################################################################
-# Get a preference sorted list of all profiles that have their requirements met
-################################################################################
+#########################################################################
+# Sort all profiles that have their requirements met by kind
+# (result for each $KIND are saved in the file pointed to by $KIND_FILE)
+#########################################################################
sort_profiles(){
(# get profiles that are have fulfilled requirements
cat $(list_listings) | grep -v -e "^[[:space:]]*#" -e "^[[:space:]]*$" | while read PROFILE; do
@@ -31,33 +32,33 @@ sort_profiles(){
fi;
done;
#and sort them by preference
- ) | sort --reverse --general-numeric-sort --field-separator=";" --key 3
-}
-
-############################################################
-# get the listings for all profiles of the kind given as $1
-# $1 = one of (KDE, ROX, UDE, GCONF, XDG_DATA or XDG_CONFIG)
-############################################################
-get_profiles() {
- PROFILES_LIST=${PROFILES_LIST:-`sort_profiles`}
-
- echo $PROFILES_LIST | while read PROFILE; do
- # output the profile-root if this is the right profile kind
- if echo -n `echo "$PROFILE" | cut --fields 5 --delimiter ";"` | grep $1 > /dev/null; then
- if (test "$1" != "GCONF"); then
- echo -n "`echo "$PROFILE" | cut --fields 2 --delimiter ";"` ";
- else
- echo "`echo "$PROFILE" | cut --fields 2 --delimiter ";"` ";
- fi;
- fi;
- done;
+ ) | sort --reverse --general-numeric-sort --field-separator=";" --key 3 | \
+ while read PROFILE; do
+ # sort per profile kind
+ KIND=`echo "$PROFILE" | cut --fields 5 --delimiter ";"`;
+ if (test "$KIND" = "KDE"); then
+ echo -n "`echo "$PROFILE" | cut --fields 2 --delimiter ";"` " >> $KDE_FILE;
+ elif (test "$KIND" = "XDG_CONFIG"); then
+ echo -n "`echo "$PROFILE" | cut --fields 2 --delimiter ";"` " >> $XDG_CONFIG_FILE;
+ elif (test "$KIND" = "XDG_DATA"); then
+ echo -n "`echo "$PROFILE" | cut --fields 2 --delimiter ";"` " >> $XDG_DATA_FILE;
+ elif (test "$KIND" = "ROX"); then
+ echo -n "`echo "$PROFILE" | cut --fields 2 --delimiter ";"` " >> $ROX_FILE;
+ elif (test "$KIND" = "GNUSTEP"); then
+ echo -n "`echo "$PROFILE" | cut --fields 2 --delimiter ";"` " >> $GNUSTEP_FILE;
+ elif (test "$KIND" = "UDE"); then
+ echo -n "`echo "$PROFILE" | cut --fields 2 --delimiter ";"` " >> $UDE_FILE;
+ elif (test "$KIND" = "GCONF"); then
+ echo "`echo "$PROFILE" | cut --fields 2 --delimiter ";"` " >> $GCONF_FILE;
+ fi;
+ done;
}
##########################################################
# Functions for activating the different kinds of profile
##########################################################
activate_KDE () {
- KDEDIRS=`get_profiles KDE | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
+ KDEDIRS=`cat $KDE_FILE | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
if (test "$KDEDIRS"x != x) &&
(test "$KDEDIRS" != "`cat $DEFAULT_LISTING | grep "^kde-prefix" | cut --fields 2 --delimiter ";" | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`"); then
KDEDIRS=$(sh -c "echo $KDEDIRS");# FORCE expansion of variables in KDEDIRS if any
@@ -66,7 +67,7 @@ activate_KDE () {
}
activate_XDG_CONFIG () {
- XDG_CONFIG_DIRS=`get_profiles XDG_CONFIG | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
+ XDG_CONFIG_DIRS=`cat $XDG_CONFIG_FILE | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
if (test "$XDG_CONFIG_DIRS"x != x) &&
(test "$XDG_CONFIG_DIRS" != "`cat $DEFAULT_LISTING | grep "^default-xdg_config_dirs" | cut --fields 2 --delimiter ";" | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`"); then
XDG_CONFIG_DIRS=$(sh -c "echo $XDG_CONFIG_DIRS");# FORCE expansion of variables in XDG_CONFIG_DIRS if any
@@ -75,7 +76,7 @@ activate_XDG_CONFIG () {
}
activate_XDG_DATA () {
- XDG_DATA_DIRS=`get_profiles XDG_DATA | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
+ XDG_DATA_DIRS=`cat $XDG_DATA_FILE | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
if (test "$XDG_DATA_DIRS"x != x) &&
(test "$XDG_DATA_DIRS" != "`cat $DEFAULT_LISTING | grep "^default-xdg_data_dirs" | cut --fields 2 --delimiter ";" | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`"); then
XDG_DATA_DIRS=$(sh -c "echo $XDG_DATA_DIRS");# FORCE expansion of variables in XDG_DATA_DIRS if any
@@ -84,7 +85,7 @@ activate_XDG_DATA () {
}
activate_ROX () {
- CHOICESPATH=`get_profiles ROX | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
+ CHOICESPATH=`cat $ROX_FILE | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
DEFAULT_CHOICES=$(cat $DEFAULT_LISTING | grep '^default-rox-system;' | cut --field 2 --delimiter ";" | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g")
DEFAULT_CHOICES="$(cat $DEFAULT_LISTING | grep '^default-rox-user;' | cut --field 2 --delimiter ";" | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"):$DEFAULT_CHOICES"
if (test "$CHOICESPATH"x != x) &&
@@ -96,7 +97,7 @@ activate_ROX () {
activate_UDE () {
# don't s/ /:g/ in next line, UDE doesn't currently support combining profile dirs
- UDEDIRS=`get_profiles UDE | sed -e "s/^ *//" -e "s/ *$//"`
+ UDEDIRS=`cat $UDE_FILE | sed -e "s/^ *//" -e "s/ *$//"`
if (test "$UDEDIRS"x != x) &&
(test "$UDEDIRS" != "`cat $DEFAULT_LISTING | grep "^ude-install-dir" | cut --fields 2 --delimiter ";"`"); then
# Take first dir and break, as UDE currently only supports one dir
@@ -104,8 +105,35 @@ activate_UDE () {
UDEdir=$dir;
break;
done;
- UDEdir=$(sh -c "echo $UDEdir");# FORCE expansion of variables in UDEdir if any
- export UDEdir;
+ export UDEdir=$(sh -c "echo $UDEdir");# FORCE expansion of variables in UDEdir if any
+ fi;
+}
+
+activate_GNUSTEP () {
+ # default values as set in /usr/lib/GNUstep/System/Library/Makefiles/GNUstep.sh
+ export GNUSTEP_USER_ROOT=${GNUSTEP_USER_ROOT:-`/usr/lib/GNUstep/System/Library/Makefiles/user_home user`};
+ export GNUSTEP_LOCAL_ROOT=${GNUSTEP_LOCAL_ROOT:-/usr/local/lib/GNUstep/Local};
+ export GNUSTEP_NETWORK_ROOT=${GNUSTEP_NETWORK_ROOT:-/usr/local/lib/GNUstep/Network};
+ export GNUSTEP_SYSTEM_ROOT=${GNUSTEP_SYSTEM_ROOT:-/usr/lib/GNUstep/System};
+
+ #should be in GNUSTEP_PATHLIST (see /usr/lib/GNUstep/System/Library/Makefiles/GNUstep.sh)
+ GNUSTEP_PATHLIST=`cat $GNUSTEP_FILE | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
+
+ # get default domains
+ DEFAULT_DOMAINS=$(cat $DEFAULT_LISTING | grep "^gnustep-user-domain" | cut --fields 2 --delimiter ";" | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g")
+ DEFAULT_DOMAINS="$DEFAULT_DOMAINS:$(cat $DEFAULT_LISTING | grep "^gnustep-local-domain" | cut --fields 2 --delimiter ";" | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g")"
+ DEFAULT_DOMAINS="$DEFAULT_DOMAINS:$(cat $DEFAULT_LISTING | grep "^gnustep-network-domain" | cut --fields 2 --delimiter ";" | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g")"
+ DEFAULT_DOMAINS="$DEFAULT_DOMAINS:$(cat $DEFAULT_LISTING | grep "^gnustep-system-domain" | cut --fields 2 --delimiter ";" | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g")"
+
+ if (test "$GNUSTEP_PATHLIST"x != x) &&
+ (test "$GNUSTEP_PATHLIST" != "$DEFAULT_DOMAINS"); then
+ export GNUSTEP_PATHLIST=$(sh -c "echo $GNUSTEP_PATHLIST");# FORCE expansion of variables in GNUSTEP_PATHLIST if any
+ else
+ # if we're not setting things, then make sure we've not added to the environment
+ if (test "$GNUSTEP_USER_ROOT" = "$(/usr/lib/GNUstep/System/Library/Makefiles/user_home user)"); then unset GNUSTEP_USER_ROOT; fi
+ if (test "$GNUSTEP_LOCAL_ROOT" = "/usr/local/lib/GNUstep/Local"); then unset GNUSTEP_LOCAL_ROOT; fi
+ if (test "$GNUSTEP_NETWORK_ROOT" = "/usr/local/lib/GNUstep/Network"); then unset GNUSTEP_NETWORK_ROOT; fi
+ if (test "$GNUSTEP_SYSTEM_ROOT" = "/usr/lib/GNUstep/System"); then unset GNUSTEP_SYSTEM_ROOT; fi
fi;
}
@@ -131,7 +159,7 @@ activate_GCONF () {
echo "# Generated by desktop-profiles package" > "$PROFILE_PATH_FILES_DIR/${USER}_mandatory.path";
echo "# Generated by desktop-profiles package" > "$PROFILE_PATH_FILES_DIR/${USER}_defaults.path";
- get_profiles GCONF | while read LINE; do
+ cat $GCONF_FILE | while read LINE; do
if (test "$LINE" != 'xml:readwrite:$(HOME)/.gconf'); then
if (test $INCLUDED_HOME = false); then
echo $LINE >> "$PROFILE_PATH_FILES_DIR/${USER}_mandatory.path";
@@ -169,13 +197,25 @@ activate_GCONF () {
# don't test requirements if no profile kinds are activated
############################################################
if (test "$ACTIVE_PROFILE_KINDS"x != "x"); then
- # initalize this var here in stead of in get_profiles
- # (_MAJOR_ speedup when there are multiple profile kinds active)
- PROFILES_LIST=$(sort_profiles)
-
+ # get temp file names
+ KDE_FILE=`tempfile`;
+ XDG_CONFIG_FILE=`tempfile`;
+ XDG_DATA_FILE=`tempfile`;
+ ROX_FILE=`tempfile`;
+ GNUSTEP_FILE=`tempfile`;
+ UDE_FILE=`tempfile`;
+ GCONF_FILE=`tempfile`;
+
+ # sort the profile into the temp files
+ sort_profiles;
+
+ # activate the profiles of the active kinds
for KIND in $ACTIVE_PROFILE_KINDS; do
# || true is to avoid hanging x-startup when trying a non-existing KIND
# which can happen e.g. due to typo's in the config file.
activate_$KIND || true;
done;
+
+ # cleanup the tempfiles
+ rm $KDE_FILE $XDG_DATA_FILE $XDG_CONFIG_FILE $ROX_FILE $GNUSTEP_FILE $UDE_FILE $GCONF_FILE
fi;
diff --git a/TODO b/TODO
index 7b39678..a6bf302 100644
--- a/TODO
+++ b/TODO
@@ -3,7 +3,7 @@
something not yet in the archive?)
- Are there any docs on the kiosk system of XFCE 4.2 available anywhere we can
- point to? -> not yet apperently
+ point to? XFCE kiosk system possibilities are still very limited:
-> panel: http://www.loculus.nl/xfce/documentation/docs-4.2/xfce4-panel.html#panel-kiosk
-> xfce4-session:
@@ -12,7 +12,6 @@
- background
- add something to desktop/panel/bookmarks/menu
-- Tooltip for splitter in kommander gui
- Find sponsor
-> switch debian-edu-config + desktop-base to use desktop-profiles
-> talk to gconf-maintainers, to have gconf support this package (current
diff --git a/debian/changelog b/debian/changelog
index 4192517..7d458b1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+desktop-profiles (1.3-1) unstable; urgency=low
+
+ * Added support for setting up GNUSTEP domains through GNUSTEP_PATHLIST
+ * Further optimalization of Xsession.d script
+ * Some polishing of kommander GUI
+
+ -- Bart Cornelis (cobaco) <cobaco at linux.be> Tue, 18 Jan 2005 18:14:57 +0100
+
desktop-profiles (1.2-1) unstable; urgency=low
* Added kommander GUI for managing the /etc/desktop-profiles/*.listing files
diff --git a/debian/config b/debian/config
index 9747645..51a09af 100755
--- a/debian/config
+++ b/debian/config
@@ -18,3 +18,5 @@ elif (test -e /etc/gconf/2/path) ; then
db_go || true;
fi;
fi;
+
+#DEBHELPER#
diff --git a/debian/control b/debian/control
index 4ba1fe5..85c5f1d 100644
--- a/debian/control
+++ b/debian/control
@@ -24,6 +24,6 @@ Description: framework for setting up desktop profiles
take, er, precedence :)
.
This package currently supports setting up profiles for KDE, GNOME, ROX,
- XFCE (>=4.2), UDE, and Freedesktop standards. The first four allow you to
+ XFCE (>=4.2), GNUSTEP, UDE, and Freedesktop. The first four allow you to
customize the respective desktop environment, while freedesktop profiles
offer (a growing amount of) cross-desktop settings.
diff --git a/debian/copyright b/debian/copyright
index 6bc3d37..f1ea0c9 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -5,7 +5,7 @@ Source for this package is in the src/desktop-profiles dir of the
debian-edu cvs on alioth.debian.org
Copyright:
- (c) 2004 Bart Cornelis cobaco at linux.be
+ (c) 2004-2005 Bart Cornelis cobaco at linux.be
License:
diff --git a/debian/listing b/debian/listing
index 56207bf..fc5d7ae 100644
--- a/debian/listing
+++ b/debian/listing
@@ -20,11 +20,16 @@ kde-prefix;/usr;;;KDE;System-wide kde stuff on Debian (stuff in PREFIX)
default-xdg_config_dirs;/etc/xdg;;;XDG_CONFIG;Default config location defined by XDG Base Directory Specification
default-xdg_data_dirs;/usr/local/share /usr/share;;;XDG_DATA;Default data locations defined by XDG Base Directory Specification
-default-rox-system;/usr/local/share/Choices /usr/share/rox/Choices;;;ROX;Default locations for non-user settings of ROX programs on Debian
+default-rox-system;/usr/local/share/Choices:/usr/share/rox/Choices;;;ROX;Default locations for non-user settings of ROX programs on Debian
default-rox-user;${HOME}/.rox_choices;999999999999999999;;ROX;ROX user settings on Debian (should normally take precedence over everything else)
ude-install-dir;/usr/share/ude;;;UDE;Default location of system-wide UDE stuff
+gnustep-user-domain;${GNUSTEP_USER_ROOT};30;;GNUSTEP;Default location of user domain, evaluates to ~/GNUstep by default
+gnustep-local-domain;${GNUSTEP_LOCAL_ROOT};20;;GNUSTEP;Default location of local domain, evaluates to /usr/local/lib/GNUstep/Local by default
+gnustep-network-domain;${GNUSTEP_NETWORK_ROOT};10;;GNUSTEP;Default location of network domain, evaluates to /usr/local/lib/GNUstep/Network by default
+gnustep-system-domain;${GNUSTEP_SYSTEM_ROOT};0;;GNUSTEP;Default location of system domain, evaluates to /usr/lib/GNUstep/System by default
+
gconf-mandatory;xml:readonly:/etc/gconf/gconf.xml.mandatory;101;;GCONF;Configuration source with the mandatory system-wide settings
gconf-sysadmin-mandatory;include /etc/gconf/2/local-mandatory.path;100;;GCONF;Extra mandatory settings defined by sysadmin
gconf-user;xml:readwrite:$(HOME)/.gconf;50;;GCONF;The normal user configuration source
diff --git a/desktop-profiles b/desktop-profiles
index cbe0686..86c1211 100644
--- a/desktop-profiles
+++ b/desktop-profiles
@@ -25,7 +25,7 @@ LISTINGS_DIRS="/etc/desktop-profiles"
# time needed to run this script. The problem that caused that has been solved
# and the difference is no longer really noticable. It's probably not worth
# the bother to mess with this.
-ACTIVE_PROFILE_KINDS="KDE XDG_CONFIG XDG_DATA GCONF ROX UDE"
+ACTIVE_PROFILE_KINDS="KDE XDG_CONFIG XDG_DATA GCONF GNUSTEP ROX UDE"
##############################################
# SETTINGS FOR list-desktop-profiles
diff --git a/desktop-profiles.7 b/desktop-profiles.7
index e41bad3..909e21c 100644
--- a/desktop-profiles.7
+++ b/desktop-profiles.7
@@ -6,7 +6,7 @@ desktop-profiles \- introduction and overview
.SH DESCRIPTION
Desktop-profiles offers a standard way of managing the conditional activation of installed profiles (sets of configuration and/or data files) for the various Desktop Environments in Debian.
.PP
-It currently supports KDE, Freedesktop, XFCE (>= 4.2), ROX, and UDE out of the box. Support for Gconf (i.e. Gnome) profiles is present but needs a change to the default gconf configuration to be activated (see
+It currently supports Freedesktop, KDE, XFCE (>= 4.2), ROX, GNUSTEP and UDE out of the box. Support for Gconf (i.e. Gnome) profiles is present but needs a change to the default gconf configuration to be activated (see
.B "HOW IT WORKS"
below).
@@ -17,10 +17,12 @@ below), listing files installed by packages should be named <packagename>.listin
.PP
On X startup an Xsession.d script is run that activates all profiles for which the criteria are met in order of precedence.
.PP
-For KDE, Freedesktop, XFCE (>= 4.2), ROX, and UDE activating profiles is done by setting environment variables: KDEDIRS for KDE, XDG_CONFIG_DIRS and XDG_DATA_DIRS for both Freedesktop and XFCE, CHOICESPATH for ROX, and UDEdir for UDE. Each of these variables, with the exception of UDEdir, takes a a precedence ordered list of root-directories (of activated profiles). UDEdir takes a single root-directory (that of the profile with the highest precedence).
+For KDE, Freedesktop, XFCE (>= 4.2), ROX, GNUSTEP and UDE activating profiles is done by setting environment variables: KDEDIRS for KDE, XDG_CONFIG_DIRS and XDG_DATA_DIRS for both Freedesktop and XFCE, CHOICESPATH for ROX, GNUSTEP_PATHLIST for GNUSTEP (usually initialized from the various GNUSTEP_*_ROOT variables) and UDEdir for UDE. With the exception of UDEdirm, which takes a single directory, each of these variables takes a precedence ordered list of root-directories (of activated profiles).
.PP
For GConf profiles two user-specific path files are generated. One containing the activated mandatory "configuration sources", one containing the default "configuration sources" that are activated. To actually activate the profiles the system-wide path file (/etc/gconf/<gconf-version>/path) needs to be replaced with one including the generated path file (e.g. /usr/share/doc/desktop-profiles/examples/path ; which will give the same behaviour as the default gconf setup using profiles).
.PP
+Thus for Freedesktop, KDE, GNOME, XFCE (>= 4.2), GNUSTEP and ROX any number of profiles can be activated. Whereas UDE only supports 1 active profiles at the time.
+.PP
NOTE: Environment variables are only set if they're value is different from the default value, and user-specific path files are only generated if the systemwide gconf path file will include them.
.SH FORMAT OF .listing FILES
@@ -56,7 +58,7 @@ There are 3 different kinds of requirements:
(Where <command> is an arbitrary shell command)
.IP \(bu 4
.B 5th field
-: The kind of profile, must be set, must be one of: KDE, XDG_CONFIG, XDG_DATA, ROX, UDE or GCONF.
+: The kind of profile, must be set, must be one of: KDE, XDG_CONFIG, XDG_DATA, GCONF, ROX, GNUSTEP, or UDE.
.IP \(bu 4
.B 6th field
: A description of what the profile is/does, may be empty.
@@ -99,6 +101,12 @@ NOTE: Programs _may_ merge the files the different profiles. If the merging enco
.IP
See http://rox.sourceforge.net/choices.html for a more detailed description.
.IP \(bu 4
+.B GNUSTEP
+.IP
+Profiles in GNUSTEP parlance are called domains, and by default GNUSTEP will look in 4 domains (the location of which is indicated by the GNUSTEP_USER_ROOT, GNUSTEP_LOCAL_ROOT, GNUSTEP_NETWORK_ROOT, and GNUSTEP_SYSTEM_ROOT variables). Though it is possible to specify extra domains to use through the GNUSTEP_PATHLIST variable.
+.IP
+For more information on GNUSTEP domains see http://www.gnustep.org/resources/documentation/User/GNUstep/filesystem.html
+.IP \(bu 4
.B UDE
(through UDEdir):
.IP
diff --git a/list-desktop-profiles b/list-desktop-profiles
index c1497e1..5222dc1 100644
--- a/list-desktop-profiles
+++ b/list-desktop-profiles
@@ -27,7 +27,7 @@ Options for filtering the shown profiles:
profile description matches the regexp that is the next argument
-k, --kind:
profile kind matches the regexp that is the next argument
- (profile kind is one of [KDE, GCONF, XDG_DATA, XDG_CONFIG, ROX, UDE])
+ (profile kind is in [KDE, GCONF, XDG_DATA, XDG_CONFIG, GNUSTEP, ROX, UDE])
-l, --location:
profile location matches the regexp that is the next argument
-n, --name:
diff --git a/profile-manager.kmdr b/profile-manager.kmdr
index e960f19..8a4880a 100644
--- a/profile-manager.kmdr
+++ b/profile-manager.kmdr
@@ -1,5 +1,9 @@
<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
<class>listDesktopProfilesGUI</class>
+<comment>This script provides a GUI for managing profiles as used by the desktop-profiles package.
+
+© 2004-2005 Bart Cornelis <cobaco AT skolelinux no></comment>
+<author>Bart Cornelis <cobaco AT skolelinux no></author>
<widget class="Dialog">
<property name="name">
<cstring>listDesktopProfilesGUI</cstring>
@@ -99,19 +103,30 @@
</widget>
<widget class="QSplitter" row="0" column="0">
<property name="name">
- <cstring>Splitter1</cstring>
+ <cstring>Splitter2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>7</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
</property>
<property name="orientation">
<enum>Vertical</enum>
</property>
+ <property name="toolTip" stdset="0">
+ <string>Drag vertically to hide/unhide the filter section</string>
+ </property>
<widget class="ButtonGroup">
<property name="name">
<cstring>filters</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
+ <hsizetype>5</hsizetype>
+ <vsizetype>7</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -975,361 +990,375 @@ fi
<string>List of profiles found in processed .listing files</string>
</property>
</widget>
- <widget class="GroupBox">
+ </widget>
+ <widget class="GroupBox" row="1" column="0">
+ <property name="name">
+ <cstring>detailsSelection</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Profile Details</string>
+ </property>
+ <vbox>
<property name="name">
- <cstring>detailsSelection</cstring>
+ <cstring>unnamed</cstring>
</property>
- <property name="title">
- <string>Profile Details</string>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
</property>
- <vbox>
+ <widget class="QLayoutWidget">
<property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
+ <cstring>Layout29</cstring>
</property>
- <widget class="QLayoutWidget">
+ <grid>
<property name="name">
- <cstring>Layout29</cstring>
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
</property>
- <grid>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QLayoutWidget" row="0" column="0" rowspan="1" colspan="2">
<property name="name">
- <cstring>unnamed</cstring>
+ <cstring>Layout23</cstring>
</property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget" row="0" column="0" rowspan="1" colspan="2">
+ <hbox>
<property name="name">
- <cstring>Layout23</cstring>
+ <cstring>unnamed</cstring>
</property>
- <hbox>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="Label">
<property name="name">
- <cstring>unnamed</cstring>
+ <cstring>nameLabel</cstring>
</property>
- <property name="margin">
- <number>0</number>
+ <property name="text">
+ <string>Name:</string>
</property>
- <property name="spacing">
- <number>6</number>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer7</cstring>
</property>
- <widget class="Label">
- <property name="name">
- <cstring>nameLabel</cstring>
- </property>
- <property name="text">
- <string>Name:</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>Spacer7</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Fixed</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>33</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="LineEdit">
- <property name="name">
- <cstring>nameCurrent</cstring>
- </property>
- <property name="populationText">
- <string></string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>@widgetText</string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>1st field (=name) of selected profile</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QLayoutWidget" row="0" column="2" rowspan="1" colspan="2">
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>33</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="LineEdit">
+ <property name="name">
+ <cstring>nameCurrent</cstring>
+ </property>
+ <property name="populationText">
+ <string></string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>@widgetText</string>
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>1st field (=name) of selected profile</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget" row="0" column="2" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>Layout26</cstring>
+ </property>
+ <hbox>
<property name="name">
- <cstring>Layout26</cstring>
+ <cstring>unnamed</cstring>
</property>
- <hbox>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="Label">
<property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
+ <cstring>descriptionLabel</cstring>
</property>
- <property name="spacing">
- <number>6</number>
+ <property name="text">
+ <string>Description:</string>
</property>
- <widget class="Label">
- <property name="name">
- <cstring>descriptionLabel</cstring>
- </property>
- <property name="text">
- <string>Description:</string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string></string>
- </stringlist>
- </property>
- </widget>
- <widget class="LineEdit">
- <property name="name">
- <cstring>descriptionCurrent</cstring>
- </property>
- <property name="populationText">
+ <property name="associations" stdset="0">
+ <stringlist>
<string></string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>@widgetText</string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>6th field (=description) of selected profile</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QLayoutWidget" row="1" column="1" rowspan="1" colspan="2">
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="LineEdit">
+ <property name="name">
+ <cstring>descriptionCurrent</cstring>
+ </property>
+ <property name="populationText">
+ <string></string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>@widgetText</string>
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>6th field (=description) of selected profile</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget" row="1" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>Layout25</cstring>
+ </property>
+ <hbox>
<property name="name">
- <cstring>Layout25</cstring>
+ <cstring>unnamed</cstring>
</property>
- <hbox>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="Label">
<property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
+ <cstring>kindLabel</cstring>
</property>
- <property name="spacing">
- <number>6</number>
+ <property name="text">
+ <string>Kind:</string>
</property>
- <widget class="Label">
- <property name="name">
- <cstring>kindLabel</cstring>
+ </widget>
+ <widget class="ComboBox">
+ <item>
+ <property name="text">
+ <string>XDG_CONFIG</string>
</property>
+ </item>
+ <item>
<property name="text">
- <string>Kind:</string>
+ <string>XDG_DATA</string>
</property>
- </widget>
- <widget class="ComboBox">
- <item>
- <property name="text">
- <string>KDE</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>GCONF</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>XDG_CONFIG</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>XDG_DATA</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>ROX</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>UDE</string>
- </property>
- </item>
- <property name="name">
- <cstring>kindCurrent</cstring>
+ </item>
+ <item>
+ <property name="text">
+ <string>KDE</string>
</property>
- <property name="populationText">
- <string></string>
+ </item>
+ <item>
+ <property name="text">
+ <string>GCONF</string>
</property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>@widgetText</string>
- </stringlist>
+ </item>
+ <item>
+ <property name="text">
+ <string>GNUSTEP</string>
</property>
- <property name="toolTip" stdset="0">
- <string>5th field (=kind) of selected profile</string>
+ </item>
+ <item>
+ <property name="text">
+ <string>ROX</string>
</property>
- </widget>
- </hbox>
- </widget>
- <widget class="QLayoutWidget" row="1" column="0">
+ </item>
+ <item>
+ <property name="text">
+ <string>UDE</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>kindCurrent</cstring>
+ </property>
+ <property name="populationText">
+ <string></string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>@widgetText</string>
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>5th field (=kind) of selected profile</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget" row="1" column="0">
+ <property name="name">
+ <cstring>Layout24</cstring>
+ </property>
+ <hbox>
<property name="name">
- <cstring>Layout24</cstring>
+ <cstring>unnamed</cstring>
</property>
- <hbox>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="Label">
<property name="name">
- <cstring>unnamed</cstring>
+ <cstring>precedenceLabel</cstring>
</property>
- <property name="margin">
- <number>0</number>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
</property>
- <property name="spacing">
- <number>6</number>
+ <property name="frameShadow">
+ <enum>Plain</enum>
</property>
- <widget class="Label">
- <property name="name">
- <cstring>precedenceLabel</cstring>
- </property>
- <property name="frameShape">
- <enum>NoFrame</enum>
- </property>
- <property name="frameShadow">
- <enum>Plain</enum>
- </property>
- <property name="text">
- <string>Precedence:</string>
- </property>
- </widget>
- <widget class="LineEdit">
- <property name="name">
- <cstring>precedenceCurrent</cstring>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>@widgetText</string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>3th field (=precedence value) of selected profile</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QLayoutWidget" row="1" column="3">
+ <property name="text">
+ <string>Precedence:</string>
+ </property>
+ </widget>
+ <widget class="LineEdit">
+ <property name="name">
+ <cstring>precedenceCurrent</cstring>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>@widgetText</string>
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>3th field (=precedence value) of selected profile</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget" row="1" column="3">
+ <property name="name">
+ <cstring>Layout27</cstring>
+ </property>
+ <hbox>
<property name="name">
- <cstring>Layout27</cstring>
+ <cstring>unnamed</cstring>
</property>
- <hbox>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="Label">
<property name="name">
- <cstring>unnamed</cstring>
+ <cstring>locationLabel</cstring>
</property>
- <property name="margin">
- <number>0</number>
+ <property name="text">
+ <string>Location(s):</string>
</property>
- <property name="spacing">
- <number>6</number>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ </stringlist>
</property>
- <widget class="Label">
- <property name="name">
- <cstring>locationLabel</cstring>
- </property>
- <property name="text">
- <string>Location(s):</string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string></string>
- </stringlist>
- </property>
- </widget>
- <widget class="LineEdit">
- <property name="name">
- <cstring>locationCurrent</cstring>
- </property>
- <property name="populationText">
- <string></string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>@widgetText</string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>2nd field of selected profile</string>
- </property>
- </widget>
- </hbox>
- </widget>
- </grid>
- </widget>
- <widget class="GroupBox">
+ </widget>
+ <widget class="LineEdit">
+ <property name="name">
+ <cstring>locationCurrent</cstring>
+ </property>
+ <property name="populationText">
+ <string></string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>@widgetText</string>
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>2nd field of selected profile</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="GroupBox">
+ <property name="name">
+ <cstring>requirementsBox</cstring>
+ </property>
+ <property name="title">
+ <string>Activation requirements:</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ </stringlist>
+ </property>
+ <grid>
<property name="name">
- <cstring>requirementsBox</cstring>
+ <cstring>unnamed</cstring>
</property>
- <property name="title">
- <string>Activation requirements:</string>
+ <property name="margin">
+ <number>11</number>
</property>
- <property name="associations" stdset="0">
- <stringlist>
- <string></string>
- </stringlist>
+ <property name="spacing">
+ <number>6</number>
</property>
- <grid>
+ <widget class="QLayoutWidget" row="0" column="0">
<property name="name">
- <cstring>unnamed</cstring>
+ <cstring>Layout36</cstring>
</property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget" row="0" column="0">
+ <vbox>
<property name="name">
- <cstring>Layout36</cstring>
+ <cstring>unnamed</cstring>
</property>
- <vbox>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="ListBox">
<property name="name">
- <cstring>unnamed</cstring>
+ <cstring>requirementsCurrent</cstring>
</property>
- <property name="margin">
- <number>0</number>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>7</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
</property>
- <property name="spacing">
- <number>6</number>
+ <property name="selectionMode">
+ <enum>Single</enum>
</property>
- <widget class="ListBox">
- <property name="name">
- <cstring>requirementsCurrent</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>7</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="selectionMode">
- <enum>Single</enum>
- </property>
- <property name="columnMode">
- <enum>FixedNumber</enum>
- </property>
- <property name="rowMode">
- <enum>Variable</enum>
- </property>
- <property name="variableHeight">
- <bool>true</bool>
- </property>
- <property name="populationText">
- <string>@execBegin
+ <property name="columnMode">
+ <enum>FixedNumber</enum>
+ </property>
+ <property name="rowMode">
+ <enum>Variable</enum>
+ </property>
+ <property name="variableHeight">
+ <bool>true</bool>
+ </property>
+ <property name="populationText">
+ <string>@execBegin
. /usr/share/desktop-profiles/listingmodule
FILE="$(echo '@profilesAll.selection' | cut --fields 1 --delimiter ';')"
@@ -1339,10 +1368,10 @@ REQS="$(grep ^$NAME $FILE | cut --fields 4 --delimiter ';')"
for_each_requirement "$REQS" 'echo'
@execEnd</string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>@execBegin
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>@execBegin
@# escape @widgetText so we don't loose anything
@setGlobal( tmp, at String.replace( @widgetText, \,\\\\\\\ ) ) @setGlobal( tmp, at String.replace( @global(tmp),$,\\\\\$ ) ) @setGlobal( tmp, at String.replace( @global(tmp), @exec(echo \"),\\\\\" ) )
@setGlobal( tmp, at String.replace( @global(tmp), @exec(echo \`),\\\\\` ) )
@@ -1351,112 +1380,112 @@ for_each_requirement "$REQS" 'echo'
echo -n "$REQ ";
done;
@execEnd </string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>list of activation requirements (contained in the 4th field) of selected profile</string>
- </property>
- </widget>
- <widget class="ExecButton">
- <property name="name">
- <cstring>delReq</cstring>
- </property>
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="text">
- <string>Remove selected</string>
- </property>
- <property name="populationText">
- <string></string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>true
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>list of activation requirements (contained in the 4th field) of selected profile</string>
+ </property>
+ </widget>
+ <widget class="ExecButton">
+ <property name="name">
+ <cstring>delReq</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Remove selected</string>
+ </property>
+ <property name="populationText">
+ <string></string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>true
@requirementsCurrent.removeItem(@requirementsCurrent.findItem(@requirementsCurrent.selection()))</string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>Removes selected activation requirement from the list</string>
- </property>
- </widget>
- </vbox>
- </widget>
- <widget class="GroupBox" row="0" column="1">
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Removes selected activation requirement from the list</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="GroupBox" row="0" column="1">
+ <property name="name">
+ <cstring>GroupBox5</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>New activation requirement:</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ </stringlist>
+ </property>
+ <grid>
<property name="name">
- <cstring>GroupBox5</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ <cstring>unnamed</cstring>
</property>
- <property name="title">
- <string>New activation requirement:</string>
+ <property name="margin">
+ <number>11</number>
</property>
- <property name="associations" stdset="0">
- <stringlist>
- <string></string>
- </stringlist>
+ <property name="spacing">
+ <number>6</number>
</property>
- <grid>
+ <widget class="QLayoutWidget" row="0" column="0">
<property name="name">
- <cstring>unnamed</cstring>
+ <cstring>Layout37</cstring>
</property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget" row="0" column="0">
+ <hbox>
<property name="name">
- <cstring>Layout37</cstring>
+ <cstring>unnamed</cstring>
</property>
- <hbox>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="Label">
<property name="name">
- <cstring>unnamed</cstring>
+ <cstring>addGroupReqLabel1</cstring>
</property>
- <property name="margin">
- <number>0</number>
+ <property name="text">
+ <string>When the user is</string>
</property>
- <property name="spacing">
- <number>6</number>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ </stringlist>
</property>
- <widget class="Label">
- <property name="name">
- <cstring>addGroupReqLabel1</cstring>
- </property>
+ </widget>
+ <widget class="ComboBox">
+ <item>
<property name="text">
- <string>When the user is</string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string></string>
- </stringlist>
+ <string>a member of</string>
</property>
- </widget>
- <widget class="ComboBox">
- <item>
- <property name="text">
- <string>a member of</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>not member of </string>
- </property>
- </item>
- <property name="name">
- <cstring>isMember</cstring>
+ </item>
+ <item>
+ <property name="text">
+ <string>not member of </string>
</property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>@execBegin
+ </item>
+ <property name="name">
+ <cstring>isMember</cstring>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>@execBegin
if test '@widgetText' = 'a member of'; then
echo '';
@@ -1465,326 +1494,326 @@ else
fi;
@execEnd</string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>Your choice here determines wether the new requirement concerns membership or non-membership</string>
- </property>
- </widget>
- <widget class="ComboBox">
- <property name="name">
- <cstring>groupList</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="populationText">
- <string>@exec(cat /etc/group | cut --fields 1 --delimiter ':' | sort)</string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>@widgetText</string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>Choose the group for which (non-)membership is needed to activate this profile</string>
- </property>
- </widget>
- <widget class="ExecButton">
- <property name="name">
- <cstring>addGroupReq</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="maximumSize">
- <size>
- <width>40</width>
- <height>32767</height>
- </size>
- </property>
- <property name="text">
- <string>Add</string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>true
-
- at requirementsCurrent.addUniqueItem(@isMember at groupList)</string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>Only activate profile for users that are (not) a member of the selected group</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QLayoutWidget" row="1" column="0">
- <property name="name">
- <cstring>Layout38</cstring>
- </property>
- <hbox>
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Your choice here determines wether the new requirement concerns membership or non-membership</string>
+ </property>
+ </widget>
+ <widget class="ComboBox">
<property name="name">
- <cstring>unnamed</cstring>
+ <cstring>groupList</cstring>
</property>
- <property name="margin">
- <number>0</number>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
</property>
- <property name="spacing">
- <number>6</number>
+ <property name="populationText">
+ <string>@exec(cat /etc/group | cut --fields 1 --delimiter ':' | sort)</string>
</property>
- <widget class="Label">
- <property name="name">
- <cstring>addCommandReqLabel1</cstring>
- </property>
- <property name="text">
- <string>When</string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string></string>
- </stringlist>
- </property>
- </widget>
- <widget class="LineEdit">
- <property name="name">
- <cstring>commandReq</cstring>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>@widgetText</string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>Enter any shell command</string>
- </property>
- </widget>
- <widget class="Label">
- <property name="name">
- <cstring>addCommandReqLabel2</cstring>
- </property>
- <property name="text">
- <string>executes succesfully</string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string></string>
- </stringlist>
- </property>
- </widget>
- <widget class="ExecButton">
- <property name="name">
- <cstring>addCommandReq</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="maximumSize">
- <size>
- <width>40</width>
- <height>32767</height>
- </size>
- </property>
- <property name="text">
- <string>Add</string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>true
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>@widgetText</string>
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Choose the group for which (non-)membership is needed to activate this profile</string>
+ </property>
+ </widget>
+ <widget class="ExecButton">
+ <property name="name">
+ <cstring>addGroupReq</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>40</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Add</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>true
- at requirementsCurrent.addUniqueItem($(@commandReq))</string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>Make succesfull completion of given shell command a requirement for activation of this profile</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="ExecButton" row="2" column="0">
+ at requirementsCurrent.addUniqueItem(@isMember at groupList)</string>
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Only activate profile for users that are (not) a member of the selected group</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget" row="1" column="0">
+ <property name="name">
+ <cstring>Layout38</cstring>
+ </property>
+ <hbox>
<property name="name">
- <cstring>deactivate</cstring>
- </property>
- <property name="enabled">
- <bool>true</bool>
+ <cstring>unnamed</cstring>
</property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ <property name="margin">
+ <number>0</number>
</property>
- <property name="text">
- <string>Deactivate profile completely</string>
+ <property name="spacing">
+ <number>6</number>
</property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>true
+ <widget class="Label">
+ <property name="name">
+ <cstring>addCommandReqLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>When</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="LineEdit">
+ <property name="name">
+ <cstring>commandReq</cstring>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>@widgetText</string>
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Enter any shell command</string>
+ </property>
+ </widget>
+ <widget class="Label">
+ <property name="name">
+ <cstring>addCommandReqLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>executes succesfully</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="ExecButton">
+ <property name="name">
+ <cstring>addCommandReq</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>40</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Add</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>true
+
+ at requirementsCurrent.addUniqueItem($(@commandReq))</string>
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Make succesfull completion of given shell command a requirement for activation of this profile</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="ExecButton" row="2" column="0">
+ <property name="name">
+ <cstring>deactivate</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Deactivate profile completely</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>true
@requirementsCurrent.addUniqueItem(!)</string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>Adds an unsatisfiable requirement (not in any group)</string>
- </property>
- </widget>
- </grid>
- </widget>
- </grid>
- </widget>
- <widget class="QLayoutWidget">
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Adds an unsatisfiable requirement (not in any group)</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout35</cstring>
+ </property>
+ <hbox>
<property name="name">
- <cstring>Layout35</cstring>
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
</property>
- <hbox>
+ <widget class="QLayoutWidget">
<property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
+ <cstring>Layout30</cstring>
</property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget">
+ <hbox>
<property name="name">
- <cstring>Layout30</cstring>
+ <cstring>unnamed</cstring>
</property>
- <hbox>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="Label">
<property name="name">
- <cstring>unnamed</cstring>
+ <cstring>listFileLabel</cstring>
</property>
- <property name="margin">
- <number>0</number>
+ <property name="text">
+ <string>Listed in</string>
</property>
- <property name="spacing">
- <number>6</number>
+ </widget>
+ <widget class="FileSelector">
+ <property name="name">
+ <cstring>listFileCurrent</cstring>
</property>
- <widget class="Label">
- <property name="name">
- <cstring>listFileLabel</cstring>
- </property>
- <property name="text">
- <string>Listed in</string>
- </property>
- </widget>
- <widget class="FileSelector">
- <property name="name">
- <cstring>listFileCurrent</cstring>
- </property>
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="focusPolicy">
- <enum>TabFocus</enum>
- </property>
- <property name="populationText">
- <string>/etc/desktop-profiles/custom.listing</string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>@widgetText</string>
- </stringlist>
- </property>
- <property name="selectionFilter">
- <string>*.listing</string>
- </property>
- <property name="selectionCaption">
- <string>Append profile description to</string>
- </property>
- <property name="toolTip" stdset="0">
- <string>.listing file where the profile is defined</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QLayoutWidget">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="focusPolicy">
+ <enum>TabFocus</enum>
+ </property>
+ <property name="populationText">
+ <string>/etc/desktop-profiles/custom.listing</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>@widgetText</string>
+ </stringlist>
+ </property>
+ <property name="selectionFilter">
+ <string>*.listing</string>
+ </property>
+ <property name="selectionCaption">
+ <string>Append profile description to</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>.listing file where the profile is defined</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout32</cstring>
+ </property>
+ <hbox>
<property name="name">
- <cstring>Layout32</cstring>
+ <cstring>unnamed</cstring>
</property>
- <hbox>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="CheckBox">
<property name="name">
- <cstring>unnamed</cstring>
+ <cstring>isNew</cstring>
</property>
- <property name="margin">
- <number>0</number>
+ <property name="text">
+ <string>Is new</string>
</property>
- <property name="spacing">
- <number>6</number>
+ <property name="checked">
+ <bool>true</bool>
</property>
- <widget class="CheckBox">
- <property name="name">
- <cstring>isNew</cstring>
- </property>
- <property name="text">
- <string>Is new</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- <property name="populationText">
+ <property name="populationText">
+ <string>false</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
<string>false</string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>false</string>
- <string></string>
- <string>true</string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>Check if shown details (will) describe a new profile</string>
- </property>
- </widget>
- <widget class="ScriptObject">
- <property name="name">
- <cstring>isNewScript</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>0</width>
- <height>0</height>
- </size>
- </property>
- <property name="text">
- <string>@if(isEmpty())
+ <string></string>
+ <string>true</string>
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Check if shown details (will) describe a new profile</string>
+ </property>
+ </widget>
+ <widget class="ScriptObject">
+ <property name="name">
+ <cstring>isNewScript</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>@if(isEmpty())
@listFileCurrent.setEnabled()
@listFileCurrent.setText(/etc/desktop-profiles/custom.listing)</string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>@# New Profile (being togled -> still false)
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>@# New Profile (being togled -> still false)
@if(@String.compare(false, @isNew))
@listFileCurrent.setEnabled(true)
@deleteProfile.setEnabled(false)
@@ -1799,93 +1828,93 @@ fi;
@listFileCurrent.setText(@exec(echo '@profilesAll.selection' | cut --fields 1 --delimiter ';'))
@commitChanges.setText(Save Changes)
@endif</string>
- </stringlist>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QLayoutWidget">
+ </stringlist>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout34</cstring>
+ </property>
+ <hbox>
<property name="name">
- <cstring>Layout34</cstring>
+ <cstring>unnamed</cstring>
</property>
- <hbox>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="ExecButton">
<property name="name">
- <cstring>unnamed</cstring>
+ <cstring>deleteProfile</cstring>
</property>
- <property name="margin">
- <number>0</number>
+ <property name="enabled">
+ <bool>false</bool>
</property>
- <property name="spacing">
- <number>6</number>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
</property>
- <widget class="ExecButton">
- <property name="name">
- <cstring>deleteProfile</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="maximumSize">
- <size>
- <width>95</width>
- <height>32767</height>
- </size>
- </property>
- <property name="text">
- <string>Delete profile</string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>FILE="@listFileCurrent";
+ <property name="maximumSize">
+ <size>
+ <width>95</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Delete profile</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>FILE="@listFileCurrent";
NAME="@nameCurrent";
TEMP=$(tempfile)
cat "$FILE" | grep -v "^$NAME;" > $TEMP
mv $TEMP $FILE</string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>Delete profile whose details are shown</string>
- </property>
- </widget>
- <widget class="ExecButton">
- <property name="name">
- <cstring>commitChanges</cstring>
- </property>
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="maximumSize">
- <size>
- <width>110</width>
- <height>32767</height>
- </size>
- </property>
- <property name="text">
- <string>Add new profile</string>
- </property>
- <property name="default">
- <bool>true</bool>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>IS_NEW="@isNew";
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Delete profile whose details are shown</string>
+ </property>
+ </widget>
+ <widget class="ExecButton">
+ <property name="name">
+ <cstring>commitChanges</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>110</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Add new profile</string>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>IS_NEW="@isNew";
FILE="@listFileCurrent";
NAME="@nameCurrent";
@@ -1903,51 +1932,51 @@ if (test "$IS_NEW" = "false"); then
if test -w "$FILE"; then
sed -i "s%^$OLD.*%$NEW%" "$FILE";
- else
- kdialog --error "It appears you don't have permission to write $FILE";
+ elif "$NAME"x != x; then
+ kdialog --error "It appears you don't have permission to write $FILE" || true;
fi;
# adding new profile
else
if (test -w "$FILE") || \
( (! test -e "$FILE") && (test -w "$(dirname $FILE)") ); then
echo "$NEW" >> "$FILE";
- else
- kdialog --error "It appears you don't have permission to write $FILE";
+ elif "$NAME"x != x; then
+ kdialog --error "It appears you don't have permission to write $FILE" || true;
fi;
fi;</string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>Add/Update profile whose details are shown</string>
- </property>
- </widget>
- <widget class="ExecButton">
- <property name="name">
- <cstring>cancelChangeSelected</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="maximumSize">
- <size>
- <width>110</width>
- <height>32767</height>
- </size>
- </property>
- <property name="text">
- <string>Cancel Changes</string>
- </property>
- <property name="populationText">
- <string></string>
- </property>
- <property name="associations" stdset="0">
- <stringlist>
- <string>true
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Add/Update profile whose details are shown</string>
+ </property>
+ </widget>
+ <widget class="ExecButton">
+ <property name="name">
+ <cstring>cancelChangeSelected</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>110</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Cancel Changes</string>
+ </property>
+ <property name="populationText">
+ <string></string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>true
@profilesAll.setCurrentItem(@profiles.findItem(@profiles.selection))
@nameCurrent.setText(@exec(echo '@profilesAll.selection' | cut --fields 2 --delimiter ';'))
@@ -1959,18 +1988,17 @@ fi;</string>
@isNew.setChecked(false)
@commandReq.clear()
</string>
- </stringlist>
- </property>
- <property name="toolTip" stdset="0">
- <string>Forget changes made to shown profile details</string>
- </property>
- </widget>
- </hbox>
- </widget>
- </hbox>
- </widget>
- </vbox>
- </widget>
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Forget changes made to shown profile details</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </hbox>
+ </widget>
+ </vbox>
</widget>
</grid>
</widget>
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-edu/pkg-team/desktop-profiles.git
More information about the debian-edu-commits
mailing list