summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCyrIng2015-12-02 22:22:42 +0100
committerCyrIng2015-12-02 22:22:42 +0100
commit61a61cb4f054fa2b17672a3c6bcead5fef42c8eb (patch)
tree7a8e737c010bb548a7ac3061f7cdca6fb14eff0c
parent0d0a843bcc355ad45608ab345f3053f611df5788 (diff)
downloadaur-61a61cb4f054fa2b17672a3c6bcead5fef42c8eb.tar.gz
Auto detection of the installed Desktops.
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD9
-rw-r--r--Xresources64
-rw-r--r--xdm-config2
-rwxr-xr-xxdm-xfreq-xdesktops46
-rw-r--r--xdm-xfreq.service2
6 files changed, 89 insertions, 40 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 42de65d6b3e9..b1b38863a64f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 7a7111ffcf07..d1005ae82760 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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