Summary: | x11-misc/slim needs better session handling | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Ian Stakenvicius (RETIRED) <axs> |
Component: | Current packages | Assignee: | Jeremy Olexa (darkside) (RETIRED) <darkside> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | CC: | desktop-misc |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Xsession script for slim to use in its login_cmd
New slim-1.3.2-config.diff Patched ebuild for slim-1.3.2 Xsession chooser script for slim to use in its login_cmd New slim-1.3.2-config.diff Patched ebuild for slim-1.3.2 Xsession chooser script for slim to use in its login_cmd Xsession chooser script for slim Xsession chooser script for slim Xsession chooser script for slim Xsession chooser script for slim |
Description
Ian Stakenvicius (RETIRED)
2010-08-23 18:00:11 UTC
Created attachment 244237 [details]
Xsession script for slim to use in its login_cmd
This is the session chooser script. It's heavily based on the xinitrc script from current-stable xinit. The script sources ~/.xprofile if exists, and will use either ~/.xsession or the user-specified session (selected by [F1]). /etc/X11/chooser.sh is used to determine the actual session command to use. If chooser.sh fails to find a command, then ~/.xinitrc (if exists) or system xinitrc is called as a failsafe.
This file, although a bash script, is not something I would intend to be executable. See the next attachment for the patch to slim.conf , which contains my suggested login_cmd setting
Created attachment 244249 [details]
New slim-1.3.2-config.diff
This file is an updated slim-1.3.2-config.diff , with the only change being the login_cmd line.
Created attachment 244251 [details, diff]
Patched ebuild for slim-1.3.2
This patch is a rough effort to install the Xsession script form $FILESDIR to /usr/share/slim/
Created attachment 244453 [details]
Xsession chooser script for slim to use in its login_cmd
Here's an updated script -- it no longer depends on xinit, and leaves all (or as much as possible) of its actual session configuration to the scripts in /etc/X11/Sessions/ (since each of those do everything there anyhow)
Created attachment 244575 [details]
New slim-1.3.2-config.diff
Updated the config.diff to read sessions using the (undocumented) sessiondir config option.
This way slim will have the current list of sessions available on the system and not depend on the user to keep slim.conf up to date.
Created attachment 244581 [details]
Patched ebuild for slim-1.3.2
Updated the patch to the most recent slim-1.3.2 ebuild, to include Xsession script installation as well as an updated pkg_postinst() message to reflect the new config.
Created attachment 244583 [details]
Xsession chooser script for slim to use in its login_cmd
Last change -- added back the default session handler if no user session is specified, so that previous default functionality is preserved.
+*slim-1.3.2-r2 (20 Sep 2010) + + 20 Sep 2010; Jeremy Olexa <darkside@gentoo.org> + -slim-1.3.1_p20091114.ebuild, -files/slim-1.3.1-config.diff, + -files/slim-1.3.1-gcc4.4.patch, -slim-1.3.2.ebuild, +slim-1.3.2-r2.ebuild, + -files/slim-1.3.2-config.diff, +files/slim-1.3.2-r2-config.diff, + +files/Xsession: + Revbump to vastly improve the session handling. Work done by Ian + Stakenvicius in bug 334111. Also remove old and cleanup. Thanks again! Please add support for the XSESSION variable in the /etc/rc.conf for the *realy* first try... Like other displaymanager also like xdm... So that you on a one person pc only edit this variable to set your favorite wm... Thanks! Any Idea? It does this now. Specifically, the following events occur: 1 - it loads Xprofile and ~/.xprofile if they exist (i believe XSESSION could be set here also, btw) 2 - it checks the argument passed to the script via slim, if any -- it also overloads a few possibilities to the /etc/X11/Sessions/Xsession script (which is the one that XDM calls by default) 3 - it calls /etc/X11/chooser.sh, which finds an appropriate script based on the value of the XSESSION environment variable (as set in /etc/env.d/90Xsession - see the Xorg guide for more info) I tested all of these possibilities on my system. If they are not working for you then I can try and help if you can send more debug info: A: /etc/env.d/90xsession or whatever other file you're setting your XSESSION variable B: ~/.xsession C: directory listing of /etc/X11/Sessions/ Created attachment 249376 [details]
Xsession chooser script for slim
I have improved the Xsession script, rewriting it using help from gdm's Xsession and Xorg's xinitrc. I have fixed the calls to xinitrc.d scripts and also cleaned up the script a lot. It works great with consolekit and policykit now.
Created attachment 249588 [details]
Xsession chooser script for slim
Fixed a slight mistake in an if block
Created attachment 249598 [details]
Xsession chooser script for slim
Fixed now, please ignore last attachment
Created attachment 281315 [details] Xsession chooser script for slim This script is much improved, thanks! The only thing that might be of issue is that, since this is primarily a chooser for /etc/X11/Sessions/* scripts, most of the Xmodmap stuff, etc should only be executed if we are starting the failsafe xterm session or a custom command, instead of all the time. It can safely be assumed that session startups handle this and we shouldn't do them twice. I've attached a slightly modified version. Note that integrating this version (either yours or mine) would close bug 370089 (fixed) and bug 374065 (invalid) (In reply to comment #15) > Created attachment 281315 [details] > Xsession chooser script for slim > > > This script is much improved, thanks! The only thing that might be of issue is > that, since this is primarily a chooser for /etc/X11/Sessions/* scripts, most > of the Xmodmap stuff, etc should only be executed if we are starting the > failsafe xterm session or a custom command, instead of all the time. It can > safely be assumed that session startups handle this and we shouldn't do them > twice. > > I've attached a slightly modified version. Note that integrating this version > (either yours or mine) would close bug 370089 (fixed) and bug 374065 (invalid) done. |