dwmc (2109B)
1 #!/usr/bin/env bash 2 3 signal() { 4 xsetroot -name "fsignal:$*" 5 } 6 7 case $# in 8 1) 9 case $1 in 10 focusurgent) ;& 11 mirrorlayout) ;& 12 mpdcontrol) ;& 13 nametag) ;& 14 pushdown) ;& 15 pushup) ;& 16 self_restart) ;& 17 setlayout) ;& 18 setcfact) ;& 19 showhideclient) ;& 20 switchcol) ;& 21 view) ;& 22 viewall) ;& 23 viewtoleft) ;& 24 viewtoright) ;& 25 tagtoleft) ;& 26 tagtoright) ;& 27 tagandviewtoleft) ;& 28 tagandviewtoright) ;& 29 transfer) ;& 30 transferall) ;& 31 togglealttag) ;& 32 togglebar) ;& 33 toggletopbar) ;& 34 togglefloating) ;& 35 togglefullscreen) ;& 36 fullscreen) ;& 37 togglefakefullscreen) ;& 38 togglesticky) ;& 39 togglehorizontalmax) ;& 40 toggleverticalmax) ;& 41 togglemax) ;& 42 togglegaps) ;& 43 defaultgaps) ;& 44 unfloatvisible) ;& 45 winview) ;& 46 xrdb) ;& 47 zoom) ;& 48 killclient) ;& 49 quit) 50 signal $1 51 ;; 52 *) 53 echo "Unknown command ($1) or missing one argument." 54 exit 1 55 ;; 56 esac 57 ;; 58 2) 59 case $1 in 60 cyclelayout) ;& 61 explace) ;& 62 moveplace) ;& 63 mpdchange) ;& 64 setkeymode) ;& 65 switchtag) ;& 66 togglescratch) ;& 67 view) 68 signal $1 ui $2 69 ;; 70 viewex) ;& 71 toggleviewex) ;& 72 tagallmon) ;& 73 tagswapmon) ;& 74 tagex) ;& 75 toggletagex) ;& 76 setborderpx) ;& 77 setgaps) ;& 78 setlayoutex) ;& 79 setlayoutaxisex) ;& 80 swapfocus) ;& 81 focusstack) ;& 82 pushstack) ;& 83 inplacerotate) ;& 84 rotatestack) ;& 85 rotatelayoutaxis) ;& 86 incnmaster) ;& 87 incnstack) ;& 88 incrgaps) ;& 89 incrigaps) ;& 90 incrogaps) ;& 91 incrihgaps) ;& 92 incrivgaps) ;& 93 incrohgaps) ;& 94 incrovgaps) ;& 95 movestack) ;& 96 shiftview) ;& 97 shiftviewclients) ;& 98 focusmon) ;& 99 tagmon) 100 signal $1 i $2 101 ;; 102 setcfact) ;& 103 setmfact) 104 signal $1 f $2 105 ;; 106 floatpos) 107 signal $1 v $2 108 ;; 109 *) 110 echo "Unknown command ($1) or too many arguments" 111 exit 1 112 ;; 113 esac 114 ;; 115 5) 116 case $1 in 117 setgaps) 118 # Expects "setgaps oh ov ih iv" where -1 means to keep existing values 119 [ $2 = -1 ] && oh=128 || oh=$2 120 [ $3 = -1 ] && ov=128 || ov=$3 121 [ $4 = -1 ] && ih=128 || ih=$4 122 [ $5 = -1 ] && iv=128 || iv=$5 123 signal $1 i $(((oh << 24) + (ov << 16) + (ih << 8) + iv)) 124 ;; 125 *) 126 echo "Unknown command ($1) or too many arguments" 127 exit 1 128 ;; 129 esac 130 ;; 131 *) 132 echo "Unknown command ($1) or too many arguments" 133 exit 1 134 ;; 135 esac 136