Another copy of my dotfiles. Because I don't completely trust GitHub.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

129 lines
2.0 KiB

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