Created
June 15, 2012 20:57
-
-
Save norrs/2938661 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rockj@pandora:~$ cat .xsession | |
#!/bin/bash | |
export WINDOW_MANAGER=xmonad | |
[[ -f "$HOME/.pathrc" ]] && source $HOME/.pathrc | |
# Load resources | |
#xrdb -merge .Xresources | |
# Set up an icon tray | |
trayer --edge top --align right --SetDockType true --SetPartialStrut true \ | |
--expand true --width 10 --transparent true --tint 0x191970 --height 12 & | |
# Set the background color< | |
#dropbox start -i & | |
#xsetroot -solid midnightblue | |
# Fire up apps | |
#gajim & | |
#xscreensaver -no-splash & | |
#gnome-screensaver & | |
#if [ -x /usr/bin/nm-applet ] ; then | |
# nm-applet --sm-disable & | |
#fi | |
#if [ -x /usr/bin/gnome-power-manager ] ; then | |
# sleep 3 | |
# gnome-power-manager & | |
#fi | |
#xmonad-gnome-nopanel | |
#exec xmonad | |
exec gnome-session --session xmonad-gnome-nopanel "$@" | |
---- | |
rockj@pandora:~$ cat /etc/X11/Xsession | |
#!/bin/sh | |
# | |
# /etc/X11/Xsession | |
# | |
# global Xsession file -- used by display managers and xinit (startx) | |
# $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $ | |
set -e | |
PROGNAME=Xsession | |
message () { | |
# pretty-print messages of arbitrary length; use xmessage if it | |
# is available and $DISPLAY is set | |
MESSAGE="$PROGNAME: $*" | |
echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2 | |
if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then | |
echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file - | |
fi | |
} | |
message_nonl () { | |
# pretty-print messages of arbitrary length (no trailing newline); use | |
# xmessage if it is available and $DISPLAY is set | |
MESSAGE="$PROGNAME: $*" | |
echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2; | |
if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then | |
echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file - | |
fi | |
} | |
errormsg () { | |
# exit script with error | |
message "$*" | |
exit 1 | |
} | |
internal_errormsg () { | |
# exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message | |
# One big call to message() for the sake of xmessage; if we had two then | |
# the user would have dismissed the error we want reported before seeing the | |
# request to report it. | |
errormsg "$*" \ | |
"Please report the installed version of the \"x11-common\"" \ | |
"package and the complete text of this error message to" \ | |
"<[email protected]>." | |
} | |
# initialize variables for use by all session scripts | |
OPTIONFILE=/etc/X11/Xsession.options | |
SYSRESOURCES=/etc/X11/Xresources | |
USRRESOURCES=$HOME/.Xresources | |
SYSSESSIONDIR=/etc/X11/Xsession.d | |
USERXSESSION=$HOME/.xsession | |
USERXSESSIONRC=$HOME/.xsessionrc | |
ALTUSERXSESSION=$HOME/.Xsession | |
ERRFILE=$HOME/.xsession-errors | |
# attempt to create an error file; abort if we cannot | |
if (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] && | |
[ ! -L "$ERRFILE" ]; then | |
chmod 600 "$ERRFILE" | |
elif ERRFILE=$(tempfile 2> /dev/null); then | |
if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-$USER"; then | |
message "warning: unable to symlink \"$TMPDIR/xsession-$USER\" to" \ | |
"\"$ERRFILE\"; look for session log/errors in" \ | |
"\"$TMPDIR/xsession-$USER\"." | |
fi | |
else | |
errormsg "unable to create X session log/error file; aborting." | |
fi | |
exec >>"$ERRFILE" 2>&1 | |
echo "$PROGNAME: X session started for $LOGNAME at $(date)" | |
# sanity check; is our session script directory present? | |
if [ ! -d "$SYSSESSIONDIR" ]; then | |
errormsg "no \"$SYSSESSIONDIR\" directory found; aborting." | |
fi | |
# Attempt to create a file of non-zero length in /tmp; a full filesystem can | |
# cause mysterious X session failures. We do not use touch, :, or test -w | |
# because they won't actually create a file with contents. We also let standard | |
# error from tempfile and echo go to the error file to aid the user in | |
# determining what went wrong. | |
WRITE_TEST=$(tempfile) | |
if ! echo "*" >>"$WRITE_TEST"; then | |
message "warning: unable to write to ${WRITE_TEST%/*}; X session may exit" \ | |
"with an error" | |
fi | |
rm -f "$WRITE_TEST" | |
# use run-parts to source every file in the session directory; we source | |
# instead of executing so that the variables and functions defined above | |
# are available to the scripts, and so that they can pass variables to each | |
# other | |
SESSIONFILES=$(run-parts --list $SYSSESSIONDIR) | |
if [ -n "$SESSIONFILES" ]; then | |
set +e | |
for SESSIONFILE in $SESSIONFILES; do | |
. $SESSIONFILE | |
done | |
set -e | |
fi | |
exit 0 | |
# vim:set ai et sts=2 sw=2 tw=80: | |
rockj@pandora:~$ cat /usr/share/xsessions/xmonad-gnome-nopanel.session | |
[GNOME Session] | |
Name=XMonad/Gnome (without gnome-panel) | |
RequiredComponents=gnome-settings-daemon; | |
RequiredProviders=windowmanager;notifications; | |
DefaultProvider-windowmanager=xmonad | |
DefaultProvider-notifications=notification-daemon | |
rockj@pandora:~$ cat .config/gnome-session/sessions/xmonad-gnome-nopanel.session | |
[GNOME Session] | |
Name=XMonad/Gnome (without gnome-panel) | |
RequiredComponents=gnome-settings-daemon; | |
RequiredProviders=windowmanager;notifications; | |
DefaultProvider-windowmanager=xmonad | |
DefaultProvider-notifications=notification-daemon | |
, logging in with System-default in gdm3 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment