summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/spectrwm-libre/LICENSE47
-rw-r--r--libre/spectrwm-libre/PKGBUILD65
-rw-r--r--libre/spectrwm-libre/baraction.sh82
3 files changed, 194 insertions, 0 deletions
diff --git a/libre/spectrwm-libre/LICENSE b/libre/spectrwm-libre/LICENSE
new file mode 100644
index 000000000..24c04f3a0
--- /dev/null
+++ b/libre/spectrwm-libre/LICENSE
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2009 Marco Peereboom <marco@peereboom.us>
+ * Copyright (c) 2009 Ryan McBride <mcbride@countersiege.com>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/*
+ * Much code and ideas taken from dwm under the following license:
+ * MIT/X Consortium License
+ *
+ * 2006-2008 Anselm R Garbe <garbeam at gmail dot com>
+ * 2006-2007 Sander van Dijk <a dot h dot vandijk at gmail dot com>
+ * 2006-2007 Jukka Salmi <jukka at salmi dot ch>
+ * 2007 Premysl Hruby <dfenze at gmail dot com>
+ * 2007 Szabolcs Nagy <nszabolcs at gmail dot com>
+ * 2007 Christof Musik <christof at sendfax dot de>
+ * 2007-2008 Enno Gottox Boland <gottox at s01 dot de>
+ * 2007-2008 Peter Hartlich <sgkkr at hartlich dot com>
+ * 2008 Martin Hurton <martin dot hurton at gmail dot com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
diff --git a/libre/spectrwm-libre/PKGBUILD b/libre/spectrwm-libre/PKGBUILD
new file mode 100644
index 000000000..4b4bccec3
--- /dev/null
+++ b/libre/spectrwm-libre/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id$
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
+
+_pkgname=spectrwm
+pkgname=spectrwm-libre
+pkgver=2.0.1
+pkgrel=1
+pkgdesc="A minimalistic automatic tiling window manager that tries to stay out of the way (without unfree profont support)"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.spectrwm.org"
+_watch="https://opensource.conformal.com/snapshots/spectrwm/"
+license=('custom:ISC')
+depends=('dmenu' 'xcb-util' 'xcb-util-wm' 'xcb-util-keysyms' 'libxrandr' 'libxft' 'libxcursor')
+replaces=('spectrwm' 'scrotwm')
+conflicts=('spectrwm')
+provides=("spectrwm=${pkgver}")
+makedepends=('libxt')
+optdepends=('scrot: screenshots' 'xlockmore: screenlocking' 'terminus-font: great font')
+backup=(etc/spectrwm.conf)
+source=(http://opensource.conformal.com/snapshots/$_pkgname/$_pkgname-$pkgver.tgz \
+ LICENSE \
+ baraction.sh)
+md5sums=('ed553574e65bb364e26d359790e204f2'
+ 'a67cfe51079481e5b0eab1ad371379e3'
+ '950d663692e1da56e0ac864c6c3ed80e')
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ # it is like a patch, only less fragile
+ sed -i 's|\"/usr/local/lib/libswmhack.so\"|\"libswmhack.so\"|' spectrwm.c
+ sed -i 's/verbose_layout = 0;/verbose_layout = 1;/' spectrwm.c
+ sed -i 's/# modkey = Mod1/modkey = Mod4/' spectrwm.conf
+ sed -i 's/-\*-terminus-medium-\*-\*-\*-\*/-*-profont-*-*-*-*-12/' spectrwm.conf
+
+ cd linux
+ make PREFIX="/usr"
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver/linux"
+ make PREFIX="/usr" DESTDIR="$pkgdir" install
+ install -Dm644 spectrwm.desktop "$pkgdir/usr/share/xsessions/spectrwm.desktop"
+ cd ..
+ install -Dm644 spectrwm.conf "$pkgdir/etc/spectrwm.conf"
+ install -Dm755 screenshot.sh "$pkgdir/usr/share/spectrwm/screenshot.sh"
+ mkdir -p "$pkgdir/etc/spectrwm"
+ cp spectrwm_*.conf "$pkgdir/etc/spectrwm/"
+ cd "$srcdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$_pkgname/LICENSE"
+ install -Dm755 baraction.sh "$pkgdir/usr/share/spectrwm/baraction.sh"
+
+ ln -s /usr/lib/libswmhack.so.0.0 "$pkgdir/usr/lib/libswmhack.so.0"
+ ln -s /usr/lib/libswmhack.so.0.0 "$pkgdir/usr/lib/libswmhack.so"
+
+ # fix this for real in the makefile
+ rm "$pkgdir/usr/bin/scrotwm"
+ ln -s "/usr/bin/spectrwm" "$pkgdir/usr/bin/scrotwm"
+ mkdir -p "$pkgdir"/usr/share/man/{es,it,pt,ru}/man1/
+ mv "$pkgdir/usr/share/man/man1/spectrwm_es.1" "$pkgdir/usr/share/man/es/man1/"
+ mv "$pkgdir/usr/share/man/man1/spectrwm_it.1" "$pkgdir/usr/share/man/it/man1/"
+ mv "$pkgdir/usr/share/man/man1/spectrwm_pt.1" "$pkgdir/usr/share/man/pt/man1/"
+ mv "$pkgdir/usr/share/man/man1/spectrwm_ru.1" "$pkgdir/usr/share/man/ru/man1/"
+}
diff --git a/libre/spectrwm-libre/baraction.sh b/libre/spectrwm-libre/baraction.sh
new file mode 100644
index 000000000..96a8a7b1a
--- /dev/null
+++ b/libre/spectrwm-libre/baraction.sh
@@ -0,0 +1,82 @@
+#!/bin/bash
+# baraction.sh for spectrwm status bar
+# From http://wiki.archlinux.org/index.php/Scrotwm
+
+SLEEP_SEC=5
+#loops forever outputting a line every SLEEP_SEC secs
+while :; do
+
+ eval $(cat /proc/acpi/battery/BAT0/state | awk '/charging state/ {printf "BAT_CHGSTATE=%s;", $3}; /remaining capacity/ {printf "BAT_REMNG=%s;",$3}; /present rate/ {printf "BAT_RATE=%s;",$3};' -)
+ eval $(cat /proc/acpi/battery/BAT0/info | awk '/present/ {printf "BAT_PRESENT=%s;", $2}; /last full capacity/ {printf "BAT_LASTFULL=%s;",$4};' -)
+
+ BAT_REMNG_WH=`echo "scale=1; a=($BAT_REMNG+50)/1000; print a" | bc -l`
+ BAT_RATE_W=`echo "scale=1; a=($BAT_RATE+50)/1000; print a" | bc -l`
+ BCSCRIPT="scale=0; a=(100*$BAT_REMNG / $BAT_LASTFULL); print a"
+ BAT_PCT=`echo $BCSCRIPT | bc -l`%
+
+ case $BAT_PRESENT in
+ no)
+ POWER_STR="AC, NO BATTERY"
+ ;;
+ yes)
+
+ case $BAT_CHGSTATE in
+ charged)
+ #on ac
+ AC_STATUS="ON AC"
+ TIME_REMNG="N/A"
+ POWER_STR="$AC_STATUS $BAT_CHGSTATE $BAT_PCT"
+ ;;
+ charging)
+ #on ac
+ AC_STATUS="ON AC"
+ BCSCRIPT="scale=1; a=(60*($BAT_LASTFULL - $BAT_REMNG) / $BAT_RATE); print a"
+ TIMETOFULL_MIN=`echo $BCSCRIPT | bc -l`
+ POWER_STR="$AC_STATUS $BAT_CHGSTATE $BAT_PCT C="$BAT_REMNG_WH"Wh Rate="$BAT_RATE_W"W TTF="$TIMETOFULL_MIN"min"
+ ;;
+ discharging)
+ AC_STATUS="ON BATT"
+ TIME_REMNG_MIN=`echo "scale=0; a=(60*$BAT_REMNG / $BAT_RATE); print a" | bc -l`
+ TIME_REMNG_HH=`echo "scale=0; a=($BAT_REMNG / $BAT_RATE); if (a<10) {print "0"; print a} else {print a}" | bc -l`
+
+ TIME_REMNG_MM=`echo "scale=0; a=($TIME_REMNG_MIN-60*$TIME_REMNG_HH); if (a<10) {print "0"; print a} else {print a}" | bc -l`
+ POWER_STR="$AC_STATUS $BAT_PCT C="$BAT_REMNG_WH"Wh P="$BAT_RATE_W"W R="$TIME_REMNG_HH":"$TIME_REMNG_MM
+ ;;
+ *)
+ POWER_STR=$BAT_CHGSTATE
+ ;;
+ esac
+
+ ;;
+ *)
+ POWER_STR="error"
+ ;;
+ esac
+
+ #spectrwm bar_print can't handle UTF-8 characters, such as degree symbol
+ #Core 0: +67.0°C (crit = +100.0°C)
+ eval $(sensors 2>/dev/null | sed s/[°+]//g | awk '/^Core 0/ {printf "CORE0TEMP=%s;", $3}; /^Core 1/ {printf "CORE1TEMP=%s;",$3}; /^fan1/ {printf "FANSPD=%s;",$2};' -)
+ TEMP_STR="Tcpu=$CORE0TEMP,$CORE1TEMP F=$FANSPD"
+
+ WLAN_ESSID=$(iwconfig wlan0 | awk -F "\"" '/wlan0/ { print $2 }')
+ eval $(cat /proc/net/wireless | sed s/[.]//g | awk '/wlan0/ {printf "WLAN_QULTY=%s; WLAN_SIGNL=%s; WLAN_NOISE=%s", $3,$4,$5};' -)
+ BCSCRIPT="scale=0;a=100*$WLAN_QULTY/70;print a"
+ WLAN_QPCT=`echo $BCSCRIPT | bc -l`
+ WLAN_POWER=`iwconfig 2>/dev/null| grep "Tx-Power"| awk {'print $4'}|sed s/Tx-Power=//`
+ WLAN_STR="$WLAN_ESSID: Q=$WLAN_QPCT% S/N="$WLAN_SIGNL"/"$WLAN_NOISE"dBm T="$WLAN_POWER"dBm"
+
+ CPUFREQ_STR=`echo "Freq:"$(cat /proc/cpuinfo | grep 'cpu MHz' | sed 's/.*: //g; s/\..*//g;')`
+ CPULOAD_STR="Load:$(uptime | sed 's/.*://; s/,//g')"
+
+ eval $(awk '/^MemTotal/ {printf "MTOT=%s;", $2}; /^MemFree/ {printf "MFREE=%s;",$2}' /proc/meminfo)
+ MUSED=$(( $MTOT - $MFREE ))
+ MUSEDPT=$(( ($MUSED * 100) / $MTOT ))
+ MEM_STR="Mem:${MUSEDPT}%"
+
+ echo -e "$POWER_STR $TEMP_STR $CPUFREQ_STR $CPULOAD_STR $MEM_STR $WLAN_STR"
+ #alternatively if you prefer a different date format
+ #DATE_STR=`date +"%H:%M %a %d %b`
+ #echo -e "$DATE_STR $POWER_STR $TEMP_STR $CPUFREQ_STR $CPULOAD_STR $MEM_STR $WLAN_STR"
+
+ sleep $SLEEP_SEC
+done