summaryrefslogtreecommitdiff
path: root/.wmii/config.sh
diff options
context:
space:
mode:
Diffstat (limited to '.wmii/config.sh')
-rw-r--r--.wmii/config.sh249
1 files changed, 0 insertions, 249 deletions
diff --git a/.wmii/config.sh b/.wmii/config.sh
deleted file mode 100644
index 1dac0ad..0000000
--- a/.wmii/config.sh
+++ /dev/null
@@ -1,249 +0,0 @@
-#!/bin/bash
-
-MODKEY=Mod4 # "super"
-UP=p
-DOWN=n
-LEFT=b
-RIGHT=f
-
-HIST="`conffile history`"
-
-# Colors tuples: "<text> <background> <border>"
-. `conffile theme-solarized-dark`
-
-Event() {
- event=$1; shift;
- case "$event" in
- ## Mouse event meanings:
- ## MouseDown = mouse down
- ## Click = mouse up
- ## DND = hover, while dragging something (Drag 'n' Drop)
- ## The associated mouse button is always "1"
- ##
- ## Mouse-button IDs:
- ## 1 = left
- ## 2 = middle
- ## 3 = right
-
- ## Custom (non-WMII-generated) events
- WmiircStart) ## No args
- echo ' ==> Starting wmiirc'
- is_mounted $WMII_DIR && Event WmiircUnmount
- Event WmiircMount
-
- # Configure wmii
- < "`conffile tagrules`" expand_variables >> $WMII_DIR/tagrules
- < "`conffile ctl-init`" expand_variables >> $WMII_DIR/ctl
- scansection Key | cut -sf2 >> $WMII_DIR/keys
- # Configure X11
- xsetroot -solid "$WMII_BACKGROUND"
-
- # Clear the LBar and RBar
- find $WMII_DIR/{l,r}bar -type f -delete
- # Populate the LBar by emulating [Create|Focus]Tag events
- seltag=`sed 1q $WMII_DIR/tag/sel/ctl`
- lstags | while read tag; do
- Event CreateTag "$tag"
- if [ "$tag" = "$seltag" ]; then
- Event FocusTag "$tag"
- fi
- done
-
- # Run the autostart action
- Action autostart 2>/dev/null &
- ;;
- WmiircQuit) ## No args
- echo ' ==> Stopping wmiirc'
- exit;;
- WmiircMount) ## No args
- echo " -> Creating mountpoint WMII_DIR=$WMII_DIR..."
- mkdir -p "$WMII_DIR"
- echo " -> Mounting WMII_DIR=$WMII_DIR..."
- 9mount -i "unix!$WMII_NAMESPACE/wmii" "$WMII_DIR";;
- WmiircUnmount) ## No args
- echo " -> Unmounting WMII_DIR=$WMII_DIR..."
- 9umount "$WMII_DIR"
- echo " -> Removing mountpoint WMII_DIR=$WMII_DIR..."
- rmdir "$WMII_DIR";;
- ## WMII-meta events
- Quit) ## No args
- echo ' ==> wmii quit: unmounting'
- trap - EXIT
- Event WmiircUnmount
- Event WmiircQuit;;
- Warning) ## $@=string
- notify-send "wmii warning: $*";;
- Key) ## $1=keystroke
- Key "$@";;
-
- ## WMII Window management events
- FocusFloating) ## No args
- ;;
- AreaFocus) ## $1=area
- ;;
- DestroyArea) ## $1=area
- ;;
- ColumnFocus) ## $1=column
- ;;
- CreateColumn) ## $1=column
- ;;
-
- ## Client events
- CreateClient) ## $1=client
- ;;
- DestroyClient) ## $1=client
- ;;
- Urgent) ## $1=client $2=[Manager|Client]
- ;;
- NotUrgent) ## $1=client $2=[Manager|Client]
- ;;
- ClientMouseDown) ## $1=client $2=button
- client=$1
- button=$2
- case $button in
- 1) ;;
- 2) ;;
- 3)
- {
- case `wmii9menu Delete Fullscreen` in
- Delete)
- echo kill >> $WMII_DIR/client/$client/ctl;;
- Fullscreen)
- echo Fullscreen on >> $WMII_DIR/client/$1/ctl;;
- esac
- }& ;;
- esac;;
- ClientClick) ## $1=client $2=button
- ;;
- Unresponsive) ## $1=client
- client=$1
- client_name=`cat $WMII_DIR/client/$client/label`
- msg="The client \`${client_name}' is not responding."
- msg+=" What would you like to do?"
- {
- resp=$(wihack -transient $client \
- xmessage -nearmouse -buttons Kill,Wait -print "$msg")
- if [ "$resp" = Kill ]; then
- echo slay >> $WMII_DIR/client/$client/ctl
- fi
- }& ;;
- Fullscreen) ## $1=client $2=[on|off]
- # TODO: hide any clients with the 'panel' class
- ;;
-
- ## Tag events
- CreateTag) ## $1=tag
- echo "$WMII_NORMCOLORS" $@ >> $WMII_DIR/lbar/$1;;
- DestroyTag) ## $1=tag
- rm $WMII_DIR/lbar/$1;;
- FocusTag) ## $1=tag
- echo "$WMII_FOCUSCOLORS" $1 >> $WMII_DIR/lbar/$1;;
- UnfocusTag) ## $1=tag
- echo "$WMII_NORMCOLORS" $1 >> $WMII_DIR/lbar/$1;;
- UrgentTag) ## $1=tag $2=[Manager|Client]
- echo "$WMII_URGENTCOLORS" $1 >> $WMII_DIR/lbar/$1;;
- NotUrgentTag) ## $1=tag $2=[Manager|Client]
- echo "$WMII_NORMCOLORS" $1 >> $WMII_DIR/lbar/$1;;
-
- ## LeftBar events (usually tag buttons)
- LeftBarMouseDown) ## $1=button $2=bar_item
- ;;
- LeftBarClick) ## $1=button $2=bar_item
- shift # ignore the button
- echo view "$@" >> $WMII_DIR/ctl;;
- LeftMouseDND) ## $1=button $2=bar_item
- Event LeftBarClick "$@";;
-
- ## RightBar events
- RightBarMouseDown) ## $1=button $2=bar_item
- ;;
- RightBarClick) ## $1=button $2=bar_item
- ;;
- RightMouseDND) ## $1=button $2=bar_item
- Event RightBarClick "$@";;
- esac
-} ## End Event
-
-# Key Bindings
-Key() {
- key=$1
- case "$key" in
- ## Moving around
-
- $MODKEY-$LEFT) ## Select the client to the left
- echo select left >> $WMII_DIR/tag/sel/ctl;;
- $MODKEY-$RIGHT) ## Select the client to the right
- echo select right >> $WMII_DIR/tag/sel/ctl;;
- $MODKEY-$UP) ## Select the client above
- echo select up >> $WMII_DIR/tag/sel/ctl;;
- $MODKEY-$DOWN) ## Select the client below
- echo select down >> $WMII_DIR/tag/sel/ctl;;
-
- $MODKEY-space) ## Toggle between floating and managed layers
- echo select toggle >> $WMII_DIR/tag/sel/ctl;;
-
- ## Moving clients around
-
- $MODKEY-Shift-$LEFT) ## Move selected client to the left
- echo send sel left >> $WMII_DIR/tag/sel/ctl;;
- $MODKEY-Shift-$RIGHT) ## Move selected client to the right
- echo send sel right >> $WMII_DIR/tag/sel/ctl;;
- $MODKEY-Shift-$UP) ## Move selected client up
- echo send sel up >> $WMII_DIR/tag/sel/ctl;;
- $MODKEY-Shift-$DOWN) ## Move selected client down
- echo send sel down >> $WMII_DIR/tag/sel/ctl;;
- $MODKEY-Shift-space) ## Toggle selected client between floating and managed layers
- echo send sel toggle >> $WMII_DIR/tag/sel/ctl;;
-
- ## Moving through stacks
- $MODKEY-Control-$UP) ## Select the stack above
- echo select up stack >> $WMII_DIR/tag/sel/ctl;;
- $MODKEY-Control-$DOWN) ## Select the stack below
- echo select down stack >> $WMII_DIR/tag/sel/ctl;;
-
- ## Client actions
- $MODKEY-shift-1) ## Toggle selected client's fullsceen state
- echo Fullscreen toggle >> $WMII_DIR/client/sel/ctl;;
- $MODKEY-shift-0) ## Close client
- echo kill >> $WMII_DIR/client/sel/ctl;;
-
- ## Changing column modes
- $MODKEY-d) ## Set column to default mode
- echo colmode sel default-max >> $WMII_DIR/tag/sel/ctl;;
- $MODKEY-s) ## Set column to stack mode
- echo colmode sel stack-max >> $WMII_DIR/tag/sel/ctl;;
- $MODKEY-m) ## Set column to max mode
- echo colmode sel stack+max >> $WMII_DIR/tag/sel/ctl;;
-
- ## Running programs
- $MODKEY-a) ## Open wmii actions menu
- Action $(path_ls $WMII_CONFPATH | wimenu -h "${HIST}.actions" -n 5000) & ;;
- $MODKEY-x) ## Open program menu
- setsid $(path_ls $PATH | wimenu -h "${HIST}.progs" -n 5000) & ;;
- $MODKEY-Return) ## Launch a terminal
- setsid x-terminal-emulator & ;;
-
- ## Tag actions
- $MODKEY-t) ## Change to another tag
- {
- tag=$(lstags | wimenu -h "${HIST}.tags" -n 50) || return
- echo view $tag >> $WMII_DIR/ctl
- }& ;;
- $MODKEY-Shift-t) ## Retag the selected client
- sel=$(sed 1q $WMII_DIR/client/sel/ctl)
- {
- tag=$(lstags | wimenu -h "${HIST}.tags" -n 50) || return
- echo "$tag" >> $WMII_DIR/client/$sel/tags
- }& ;;
- esac
-} ## End Key
-
-Action() {
- prog=`path_which "$WMII_CONFPATH" $1`; shift
- if [ -n "$prog" ]; then
- "$prog" "$@"
- return $?
- else
- return 1
- fi
-} ## End Action