diff options
author | CyrIng | 2015-12-02 22:22:42 +0100 |
---|---|---|
committer | CyrIng | 2015-12-02 22:22:42 +0100 |
commit | 61a61cb4f054fa2b17672a3c6bcead5fef42c8eb (patch) | |
tree | 7a8e737c010bb548a7ac3061f7cdca6fb14eff0c | |
parent | 0d0a843bcc355ad45608ab345f3053f611df5788 (diff) | |
download | aur-61a61cb4f054fa2b17672a3c6bcead5fef42c8eb.tar.gz |
Auto detection of the installed Desktops.
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 9 | ||||
-rw-r--r-- | Xresources | 64 | ||||
-rw-r--r-- | xdm-config | 2 | ||||
-rwxr-xr-x | xdm-xfreq-xdesktops | 46 | ||||
-rw-r--r-- | xdm-xfreq.service | 2 |
6 files changed, 89 insertions, 40 deletions
@@ -1,6 +1,6 @@ pkgbase = xdm-xfreq pkgdesc = A customized XDM for XFreq - pkgver = 0.1 + pkgver = 0.2 pkgrel = 1 url = http://github.com/cyring/xdm-xfreq install = xdm-xfreq.install @@ -9,7 +9,7 @@ pkgbase = xdm-xfreq depends = xorg-xdm depends = xorg-xclock depends = xorg-xmessage - depends = xfreq-git + optdepends = xfreq-git optdepends = scrot optdepends = imagemagick optdepends = xorg-xsetroot @@ -22,6 +22,7 @@ pkgbase = xdm-xfreq source = Xresources source = Xsession source = config.sh + source = xdm-xfreq-xdesktops source = xdm-xfreq.service md5sums = SKIP md5sums = SKIP @@ -30,6 +31,7 @@ pkgbase = xdm-xfreq md5sums = SKIP md5sums = SKIP md5sums = SKIP + md5sums = SKIP pkgname = xdm-xfreq @@ -1,14 +1,14 @@ # Maintainer: CyrIng <xfreq[at]cyring[dot]fr> # Contributor: CyrIng <xfreq[at]cyring[dot]fr> pkgname=xdm-xfreq -pkgver=0.1 +pkgver=0.2 pkgrel=1 pkgdesc="A customized XDM for XFreq" arch=(any) license=('GPL') url="http://github.com/cyring/xdm-xfreq" -depends=('xorg-xdm' 'xorg-xclock' 'xorg-xmessage' 'xfreq-git') -optdepends=('scrot' 'imagemagick' 'xorg-xsetroot' 'numlockx') +depends=('xorg-xdm' 'xorg-xclock' 'xorg-xmessage') +optdepends=('xfreq-git' 'scrot' 'imagemagick' 'xorg-xsetroot' 'numlockx') backup=(etc/xdm-xfreq/Xresources etc/xdm-xfreq/config.sh) install=xdm-xfreq.install @@ -18,6 +18,7 @@ source=(xdm-config Xresources Xsession config.sh + xdm-xfreq-xdesktops xdm-xfreq.service) md5sums=('SKIP' 'SKIP' @@ -25,6 +26,7 @@ md5sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' + 'SKIP' 'SKIP') package() { @@ -34,5 +36,6 @@ package() { mkdir -p ${pkgdir}/etc/X11/xdm/xdm-xfreq cp Xsession Xsetup Xstartup xdm-config ${pkgdir}/etc/X11/xdm/xdm-xfreq chmod 0755 ${pkgdir}/etc/X11/xdm/xdm-xfreq/{Xsession,Xsetup,Xstartup} + install -Dm755 ${srcdir}/xdm-xfreq-xdesktops ${pkgdir}/usr/bin/xdm-xfreq-xdesktops install -Dm0644 ${srcdir}/xdm-xfreq.service ${pkgdir}/usr/lib/systemd/system/xdm-xfreq.service } diff --git a/Xresources b/Xresources index 1cf01656b0de..e444cdf29e9b 100644 --- a/Xresources +++ b/Xresources @@ -1,42 +1,38 @@ +#include "/var/run/xdm-xfreq-xdesktops" + *Foreground:#cc4c00 *Background:#2a0308 -!Xcursor.theme:whiteglass -!Xcursor.theme:left_ptr +Xcursor.theme:whiteglass -xlogin*width:560 -!xlogin*height:192 -xlogin*login.translations: #override \ - Ctrl<Key>R: restart-session()\n\ - <Key>F1: set-session-argument(failsafe) finish-field()\n\ - <Key>F2: set-session-argument(twm) finish-field()\n\ - <Key>F3: set-session-argument(mwm) finish-field()\n\ - <Key>F4: set-session-argument(awesome) finish-field()\n\ - <Key>F5: set-session-argument(dwm) finish-field()\n\ - <Key>F6: set-session-argument(startkde) finish-field()\n\ - <Key>Delete: delete-character()\n\ - <Key>Left: move-backward-character()\n\ - <Key>Right: move-forward-character()\n\ - <Key>Home: move-to-begining()\n\ - <Key>End: move-to-end()\n\ - Ctrl<Key>KP_Enter: set-session-argument(failsafe) finish-field()\n\ - <Key>KP_Enter: set-session-argument() finish-field()\n\ - Ctrl<Key>Return: set-session-argument(failsafe) finish-field()\n\ - <Key>Return: set-session-argument() finish-field()\n\ +!xlogin*login.translations: #override \ +! Ctrl<Key>R: abort-display()\n\ +! <Key>F1: set-session-argument(failsafe) finish-field()\n\ +! <Key>Delete: delete-character()\n\ +! <Key>Left: move-backward-character()\n\ +! <Key>Right: move-forward-character()\n\ +! <Key>Home: move-to-begining()\n\ +! <Key>End: move-to-end()\n\ +! Ctrl<Key>KP_Enter: set-session-argument(failsafe) finish-field()\n\ +! <Key>KP_Enter: set-session-argument() finish-field()\n\ +! Ctrl<Key>Return: set-session-argument(failsafe) finish-field()\n\ +! <Key>Return: set-session-argument() finish-field() + +!xlogin*greeting: Welcome to CLIENTHOST -!xlogin*greeting: CLIENTHOST -xlogin*greeting:[F1] FailSafe\040\040\040[F2] Twm\040\040\040[F3] Mwm\040\040\040[F4] Awesome\040\040\040[F5] Dwm\040\040\040[F6] Plasma +!xlogin*width:560 +!xlogin*height:192 !xlogin.Login.namePrompt:Login:\040\040\040 xlogin*fail:Access denied xlogin*greetFont:-xos4-terminus-*-*-*-*-12-*-*-*-*-*-*-* -xlogin*greetFace:Nasalization-8 -xlogin*font:-xos4-terminus-medium-*-*-*-14-*-*-*-*-*-*-* +xlogin*greetFace:DejaVuSans-8 xlogin*face:Sans-9 +xlogin*font:-xos4-terminus-medium-*-*-*-14-*-*-*-*-*-*-* xlogin*promptFont:-xos4-terminus-medium-*-*-*-14-*-*-*-*-*-*-* -xlogin.Login.promptFace:Nasalisation-9 +xlogin.Login.promptFace:DejaVuSans-9 xlogin*failFont:-*-arial-*-i-*-*-*-*-*-*-*-*-*-* -xlogin.Login.failFace:Nasalization-9:bold:italic -xlogin*sepWidth:1 +xlogin.Login.failFace:DejaVuSans-9:bold:italic +xlogin*sepWidth:0 xlogin*borderWidth:1 xlogin*frameWidth:1 xlogin*innerFramesWidth:2 @@ -60,22 +56,22 @@ Xmessage*Command.internalWidth:12 Xmessage*Command.internalHeight:4 Xmessage*Command.shapeStyle:rectangle Xmessage*font:-xos4-terminus-medium-*-*-*-14-*-*-*-*-*-*-* -Xmessage*Text.face:Nasalization-9 +Xmessage*Text.face:DejaVuSans-9 !XClock*geometry:256x32-0-0 XClock*analog:false -XClock*strftime:%a %e %b\040\040\040%H:%M:%S +XClock*strftime:%a %e %b %H:%M:%S XClock*update:1 XClock*borderWidth:0 !XClock*Command.internalHeight:8 !XClock.width:64 -XClock*face:Alien Encounters +XClock*face:DejaVuSans-10 !Chooser*geometry:256x128+0+0 Chooser*allowShellResize:false Chooser*viewport.forceBars:false Chooser*label.font:-xos4-terminus-medium-*-*-*-14-*-*-*-*-*-*-* -Chooser*label.face:Nasalization-9 +Chooser*label.face:DejaVuSans-9 Chooser*label.label:XDMCP Host Menu from CLIENTHOST -Chooser*list.face:Nasalization-9 -Chooser*Command.Face:Nasalization-9 +Chooser*list.face:DejaVuSans-9 +Chooser*Command.Face:DejaVuSans-9 diff --git a/xdm-config b/xdm-config index 2faaf035a192..f82f3ac9d2dc 100644 --- a/xdm-config +++ b/xdm-config @@ -2,7 +2,7 @@ DisplayManager.authDir: /var/lib/xdm DisplayManager.errorLogFile: /var/log/xdm.log DisplayManager.pidFile: /var/run/xdm.pid DisplayManager.keyFile: /etc/X11/xdm/xdm-keys -DisplayManager.servers: :0 local /usr/bin/X :0 vt11 +DisplayManager.servers: /etc/X11/xdm/Xservers DisplayManager.accessFile: /etc/X11/xdm/Xaccess DisplayManager*resources: /etc/xdm-xfreq/Xresources DisplayManager.willing: su nobody -s /bin/sh -c /etc/X11/xdm/Xwilling diff --git a/xdm-xfreq-xdesktops b/xdm-xfreq-xdesktops new file mode 100755 index 000000000000..92fa9113d9f2 --- /dev/null +++ b/xdm-xfreq-xdesktops @@ -0,0 +1,46 @@ +#!/bin/sh + +if [[ $# > 0 && $# <3 ]]; then + if [[ $# == 2 ]]; then + X=$2 + fi + P=$1 + if [[ $P && -d $P ]]; then + I=1 + + if [[ $X == $I ]]; then + G="xlogin*greeting: [F1] (XSession)\\040\\040\\040" + else + G="xlogin*greeting: [F1] XSession\\040\\040\\040" + fi + echo "xlogin*login.translations: #override \\" > /var/run/xdm-xfreq-xdesktops + echo " Ctrl<Key>R: restart-session()\n\\" >> /var/run/xdm-xfreq-xdesktops + echo " <Key>F1: set-session-argument() finish-field()\n\\" >> /var/run/xdm-xfreq-xdesktops + + for D in $P/*.desktop + do + I=$((I + 1)) + N=`grep "Name=" $D | cut -d "=" -f 2` + R=`grep -w "Exec" $D | cut -d "=" -f 2` + if [[ $X == $I ]]; then + A=$R + G=$G"[F$I] ($N)\\040\\040\\040" + else + G=$G"[F$I] $N\\040\\040\\040" + fi + echo " <Key>F${I}: set-session-argument(${R}) finish-field()\n\\" >> /var/run/xdm-xfreq-xdesktops + done + + echo " <Key>Delete: delete-character()\n\\" >> /var/run/xdm-xfreq-xdesktops + echo " <Key>Left: move-backward-character()\n\\" >> /var/run/xdm-xfreq-xdesktops + echo " <Key>Right: move-forward-character()\n\\" >> /var/run/xdm-xfreq-xdesktops + echo " <Key>Home: move-to-begining()\n\\" >> /var/run/xdm-xfreq-xdesktops + echo " <Key>End: move-to-end()\n\\" >> /var/run/xdm-xfreq-xdesktops + echo " Ctrl<Key>KP_Enter: set-session-argument(failsafe) finish-field()\n\\" >> /var/run/xdm-xfreq-xdesktops + echo " <Key>KP_Enter: set-session-argument() finish-field()\n\\" >> /var/run/xdm-xfreq-xdesktops + echo " Ctrl<Key>Return: set-session-argument(failsafe) finish-field()\n\\" >> /var/run/xdm-xfreq-xdesktops + echo " <Key>Return: set-session-argument($A) finish-field()" >> /var/run/xdm-xfreq-xdesktops + echo "" >> /var/run/xdm-xfreq-xdesktops + echo $G >> /var/run/xdm-xfreq-xdesktops + fi +fi diff --git a/xdm-xfreq.service b/xdm-xfreq.service index c0cb3981dfb1..8a5215f1389e 100644 --- a/xdm-xfreq.service +++ b/xdm-xfreq.service @@ -3,7 +3,9 @@ Description=X-Window Display Manager After=systemd-user-sessions.service [Service] +ExecStartPre=/usr/bin/xdm-xfreq-xdesktops /usr/share/xsessions 1 ExecStart=/usr/bin/xdm -nodaemon -config /etc/X11/xdm/xdm-xfreq/xdm-config +ExecStopPost=/usr/bin/rm -f /var/run/xdm-xfreq-buttons.pid /var/run/xdm-xfreq-clock.pid /var/run/xdm-xfreq-gui.pid /var/run/xdm-xfreq-xdesktops [Install] Alias=display-manager.service |