summaryrefslogtreecommitdiff
path: root/user/.wmii/wmiirc
diff options
context:
space:
mode:
authorOlivier Gayot <duskcoder@gmail.com>2014-12-22 15:50:58 +0100
committerOlivier Gayot <duskcoder@gmail.com>2014-12-22 15:51:17 +0100
commit23bad6219aaaed5d24e4e85a4fae1c382b33dc45 (patch)
treeefde10fc8f2030be988c2148e0c007b8930473a6 /user/.wmii/wmiirc
parent9b3439e6ddc98a47085dc2fd64d03a7cb18cab77 (diff)
wmii: add configuration file for wmii
some content in the configuration script might not check for dependencies. We should have to fix it later. Signed-off-by: Olivier Gayot <duskcoder@gmail.com>
Diffstat (limited to 'user/.wmii/wmiirc')
-rwxr-xr-xuser/.wmii/wmiirc326
1 files changed, 326 insertions, 0 deletions
diff --git a/user/.wmii/wmiirc b/user/.wmii/wmiirc
new file mode 100755
index 0000000..6b2096c
--- /dev/null
+++ b/user/.wmii/wmiirc
@@ -0,0 +1,326 @@
+#!/bin/dash -f
+# Configure wmii
+wmiiscript=wmiirc # For wmii.sh
+. wmii.sh
+
+# Configuration Variables
+MODKEY=Mod1
+UP=k
+DOWN=j
+LEFT=h
+RIGHT=l
+
+# Bars
+noticetimeout=5
+noticebar=/rbar/!notice
+
+# Colors tuples: "<text> <background> <border>"
+export WMII_NORMCOLORS='#ffffff #0b0c2c #333333'
+export WMII_FOCUSCOLORS='#ffffff #000000 #333333'
+export WMII_BACKGROUND='#000000'
+export WMII_LOWBATTERYCOLORS='#ffffff #ff0000 #333333'
+
+export WMII_FONT='-*-fixed-medium-r-*-*-13-*-*-*-*-*-*-*'
+
+set -- $(echo $WMII_NORMCOLORS $WMII_FOCUSCOLORS)
+export WMII_TERM="urxvt"
+export PATH=$HOME/bin:$PATH
+
+if ! test -d "${WMII_CONFPATH%%:*}"; then
+ mkdir "${WMII_CONFPATH%%:*}"
+ res=$(wihack -type DIALOG xmessage -nearmouse -buttons Windows,Alt -print -fn $WMII_FONT \
+ "Welcome to wmii,$wi_newline$wi_newline" \
+ "Most of wmii's default key bindings make use of the$wi_newline" \
+ "Windows key, or equivalent. For keyboards lacking such$wi_newline" \
+ "a key, many users change this to the Alt key.$wi_newline$wi_newline" \
+ "Which would you prefer?")
+ [ "$res" = "Alt" ] && MODKEY=Mod1
+ echo "MODKEY=$MODKEY" >"${WMII_CONFPATH%%:*}/wmiirc_local"
+ chmod +x "${WMII_CONFPATH%%:*}/wmiirc_local"
+fi
+
+echo "bar on bottom" | wmiir write /ctl
+
+mp_watcher 2> /dev/null &
+bat_watcher 2> /dev/null &
+
+# Menu history
+hist="${WMII_CONFPATH%%:*}/history"
+histnum=5000
+
+# Column Rules
+wmiir write /colrules <<!
+#/gimp/ -> 17+83+41
+/.*/ -> 62+38 # Golden Ratio
+!
+
+# Tagging Rules
+wmiir write /tagrules <<!
+#/MPlayer|VLC/ -> ~
+/terminal/ -> sel # Ignore terminal window groups.
+!
+
+
+local_events() { true;}
+wi_runconf -s wmiirc_local
+
+echo $WMII_NORMCOLORS | wmiir create $noticebar
+
+# Event processing
+events() {
+ cat <<'!'
+# Events
+Event CreateTag
+ echo "$WMII_NORMCOLORS" "$@" | wmiir create "/lbar/$@"
+Event DestroyTag
+ wmiir remove "/lbar/$@"
+Event FocusTag
+ wmiir xwrite "/lbar/$@" "$WMII_FOCUSCOLORS" "$@"
+Event UnfocusTag
+ wmiir xwrite "/lbar/$@" "$WMII_NORMCOLORS" "$@"
+Event UrgentTag
+ shift
+ wmiir xwrite "/lbar/$@" "*$@"
+Event NotUrgentTag
+ shift
+ wmiir xwrite "/lbar/$@" "$@"
+Event LeftBarClick LeftBarDND
+ shift
+ wmiir xwrite /ctl view "$@"
+Event Unresponsive
+ {
+ client=$1; shift
+ msg="The following client is not responding. What would you like to do?$wi_newline"
+ resp=$(wihack -transient $client \
+ xmessage -nearmouse -buttons Kill,Wait -print
+ -fn "${WMII_FONT%%,*}" "$msg $(wmiir read /client/sel/label)")
+ if [ "$resp" = Kill ]; then
+ wmiir xwrite /client/$client/ctl slay &
+ fi
+ }&
+Event Notice
+ wmiir xwrite $noticebar $wi_arg
+
+ kill $xpid 2>/dev/null # Let's hope this isn't reused...
+ { sleep $noticetimeout; wmiir xwrite $noticebar ' '; }&
+ xpid = $!
+
+# Menus
+Menu Client-3-Delete
+ wmiir xwrite /client/$1/ctl kill
+Menu Client-3-Kill
+ wmiir xwrite /client/$1/ctl slay
+Menu Client-3-Fullscreen
+ wmiir xwrite /client/$1/ctl Fullscreen on
+Event ClientMouseDown
+ wi_fnmenu Client $2 $1 &
+
+Menu LBar-3-Delete
+ tag=$1; clients=$(wmiir read "/tag/$tag/index" | awk '/[^#]/{print $2}')
+ for c in $clients; do
+ if [ "$tag" = "$(wmiir read /client/$c/tags)" ]; then
+ wmiir xwrite /client/$c/ctl kill
+ else
+ wmiir xwrite /client/$c/tags -$tag
+ fi
+ if [ "$tag" = "$(wi_seltag)" ]; then
+ newtag=$(wi_tags | awk -v't='$tag '
+ $1 == t { if(!l) getline l
+ print l
+ exit }
+ { l = $0 }')
+ wmiir xwrite /ctl view $newtag
+ fi
+ done
+Event LeftBarMouseDown
+ wi_fnmenu LBar "$@" &
+
+# Actions
+Action showkeys
+ echo "$KeysHelp" | xmessage -file - -fn ${WMII_FONT%%,*}
+Action quit
+ wmiir xwrite /ctl quit
+Action exec
+ wmiir xwrite /ctl exec "$@"
+Action rehash
+ wi_proglist $PATH >$progsfile
+Action action_date
+ set +xv
+ if wmiir remove /rbar/99 2>/dev/null; then
+ sleep 2
+ fi
+ echo "$WMII_NORMCOLORS" | wmiir create /rbar/99date
+ while echo -n $(date '+%D -- %I:%M %p') | wmiir write /rbar/99date; do
+ sleep 1
+ done
+
+# Key Bindings
+
+KeyGroup Multimedia
+Key XF86AudioRaiseVolume
+ amixer -q -- set Master 05%+ &
+Key XF86AudioLowerVolume
+ amixer -q -- set Master 05%- &
+Key $MODKEY-Control-0
+ amixer -q -- set Master 05%+ &
+Key $MODKEY-Control-9
+ amixer -q -- set Master 05%- &
+Key XF86AudioMute
+ amixer -q -- set Master toggle &
+Key XF86HomePage
+ firefox &
+Key Pause
+ mplayer_control pause &
+Key $MODKEY-Shift-Right
+ mplayer_control "seek +5 0" &
+Key $MODKEY-Shift-Left
+ mplayer_control "seek -5 0" &
+Key $MODKEY-Shift-Up
+ mplayer_control "seek +60 0" &
+Key $MODKEY-Shift-Down
+ mplayer_control "seek -60 0" &
+Key $MODKEY-Shift-Prior
+ mplayer_control "seek +600 0" &
+Key $MODKEY-Shift-Next
+ mplayer_control "seek -600 0" &
+Key $MODKEY-KP_Right
+ mplayer_control "pt_step +1" &
+Key $MODKEY-KP_Left
+ mplayer_control "pt_step -1" &
+
+
+Key Scroll_Lock
+ lock &
+Key XF86PowerOff
+ lock &
+Key XF86Calculator
+ xterm calc &
+
+KeyGroup Moving around
+Key $MODKEY-$LEFT # Select the client to the left
+ wmiir xwrite /tag/sel/ctl select left
+Key $MODKEY-$RIGHT # Select the client to the right
+ wmiir xwrite /tag/sel/ctl select right
+Key $MODKEY-$UP # Select the client above
+ wmiir xwrite /tag/sel/ctl select up
+Key $MODKEY-$DOWN # Select the client below
+ wmiir xwrite /tag/sel/ctl select down
+
+Key $MODKEY-space # Toggle between floating and managed layers
+ wmiir xwrite /tag/sel/ctl select toggle
+
+KeyGroup Moving through stacks
+Key $MODKEY-Control-$UP # Select the stack above
+ wmiir xwrite /tag/sel/ctl select up stack
+Key $MODKEY-Control-$DOWN # Select the stack below
+ wmiir xwrite /tag/sel/ctl select down stack
+
+KeyGroup Moving clients around
+Key $MODKEY-Shift-$LEFT # Move selected client to the left
+ wmiir xwrite /tag/sel/ctl send sel left
+Key $MODKEY-Shift-$RIGHT # Move selected client to the right
+ wmiir xwrite /tag/sel/ctl send sel right
+Key $MODKEY-Shift-$UP # Move selected client up
+ wmiir xwrite /tag/sel/ctl send sel up
+Key $MODKEY-Shift-$DOWN # Move selected client down
+ wmiir xwrite /tag/sel/ctl send sel down
+
+Key $MODKEY-Shift-space # Toggle selected client between floating and managed layers
+ wmiir xwrite /tag/sel/ctl send sel toggle
+
+KeyGroup Client actions
+Key $MODKEY-f # Toggle selected client's fullsceen state
+ wmiir xwrite /client/sel/ctl Fullscreen toggle
+Key $MODKEY-Shift-c # Close client
+ wmiir xwrite /client/sel/ctl kill
+
+KeyGroup Changing column modes
+Key $MODKEY-d # Set column to default mode
+ wmiir xwrite /tag/sel/ctl colmode sel default-max
+Key $MODKEY-s # Set column to stack mode
+ wmiir xwrite /tag/sel/ctl colmode sel stack-max
+Key $MODKEY-m # Set column to max mode
+ wmiir xwrite /tag/sel/ctl colmode sel stack+max
+
+KeyGroup Running programs
+Key $MODKEY-a # Open wmii actions menu
+ action $(wi_actions | wimenu -h "${hist}.actions" -n $histnum) &
+Key $MODKEY-p # Open program menu
+ eval wmiir setsid "$(wimenu -h "${hist}.progs" -n $histnum <$progsfile)" &
+
+Key $MODKEY-Return # Launch a terminal
+ eval wmiir setsid $WMII_TERM &
+
+KeyGroup Other
+Key $MODKEY-Control-t # Toggle all other key bindings
+ case $(wmiir read /keys | wc -l | tr -d ' \t\n') in
+ 0|1)
+ echo -n "$Keys" | wmiir write /keys
+ wmiir xwrite /ctl grabmod $MODKEY;;
+ *)
+ wmiir xwrite /keys $MODKEY-Control-t
+ wmiir xwrite /ctl grabmod Mod3;;
+ esac
+
+KeyGroup Tag actions
+Key $MODKEY-t # Change to another tag
+ (tag=$(wi_tags | wimenu -h "${hist}.tags" -n 50) && wmiir xwrite /ctl view $tag) &
+Key $MODKEY-Shift-t # Retag the selected client
+ c=$(wi_selclient)
+ (tag=$(wi_tags | wimenu -h "${hist}.tags" -n 50) && wmiir xwrite /client/$c/tags $tag) &
+!
+
+ for i in 0 1 2 3 4 5 6 7 8 9; do
+ cat <<!
+Key $MODKEY-$i # Move to the numbered view
+ wmiir xwrite /ctl view "$i"
+Key $MODKEY-Shift-$i # Retag selected client with the numbered tag
+ wmiir xwrite /client/sel/tags "$i"
+!
+ done
+
+cat <<!
+Key $MODKEY-5
+ wmiir xwrite /ctl view "5 Media"
+Key $MODKEY-Shift-5
+ wmiir xwrite /client/sel/tags "5 Media"
+Key $MODKEY-9
+ wmiir xwrite /ctl view "9 Network"
+Key $MODKEY-Shift-9
+ wmiir xwrite /client/sel/tags "9 Network"
+!
+
+}
+wi_events events local_events
+
+# WM Configuration
+wmiir write /ctl <<!
+ font $WMII_FONT
+ focuscolors $WMII_FOCUSCOLORS
+ normcolors $WMII_NORMCOLORS
+ grabmod $MODKEY
+ border 1
+!
+
+feh --bg-fill ~/Images/background.jpg
+
+# Misc
+progsfile="$(wmiir namespace)/.proglist"
+action action_date &
+wi_proglist $PATH >$progsfile &
+
+# Setup Tag Bar
+IFS="$wi_newline"
+wmiir rm $(wmiir ls /lbar | sed 's,^,/lbar/,') >/dev/null
+seltag=$(wmiir read /tag/sel/ctl | sed 1q)
+unset IFS
+wi_tags | while read tag
+do
+ if [ "$tag" = "$seltag" ]; then
+ echo "$WMII_FOCUSCOLORS" "$tag"
+ else
+ echo "$WMII_NORMCOLORS" "$tag"
+ fi | wmiir create "/lbar/$tag"
+done
+
+wi_eventloop