common.jsonc 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. {
  2. "layer": "top",
  3. "position": "top",
  4. "mod": "dock",
  5. "exclusive": true,
  6. "passthrough": false,
  7. "border-radius": 10,
  8. "gtk-layer-shell": true,
  9. "height": 36,
  10. "margin": "5 10 0 10",
  11. // Workspace and Window Management
  12. "sway/workspaces": {
  13. "disable-scroll": true,
  14. "format": "{name} {icon}",
  15. "format-icons": {
  16. "1": "",
  17. "2": "",
  18. "3": "",
  19. "urgent": "",
  20. "active": "",
  21. "default": ""
  22. },
  23. "sort-by-number": true
  24. },
  25. "sway/window": {
  26. "format": "{}",
  27. "max-length": 50,
  28. "rewrite": {
  29. "(.*) - Mozilla Firefox": "🌎 $1",
  30. "(.*) - zsh": "> [$1]"
  31. }
  32. },
  33. // System Tray
  34. "tray": {
  35. "icon-size": 18,
  36. "spacing": 5
  37. },
  38. "group/tray-expander": {
  39. "orientation": "inherit",
  40. "drawer": {
  41. "transition-duration": 600,
  42. "children-class": "tray-group-item"
  43. },
  44. "modules": [
  45. "custom/expand-icon",
  46. "tray",
  47. "custom/notification"
  48. ]
  49. },
  50. "custom/expand-icon": {
  51. "format": " ",
  52. "tooltip": false
  53. },
  54. // Date and Time
  55. "clock": {
  56. "format": "{:%H:%M %Z}",
  57. "interval": 60,
  58. "format-alt": "{:%d/%m/%Y}",
  59. "tooltip-format": "<small><tt>{calendar}</tt></small>",
  60. "timezones": [
  61. "America/Montevideo",
  62. "America/New_York"
  63. ],
  64. "actions": {
  65. "on-click-right": "mode",
  66. "on-scroll-up": "tz_up",
  67. "on-scroll-down": "tz_down"
  68. },
  69. "calendar": {
  70. "mode": "year",
  71. "mode-mon-col": 3,
  72. "weeks-pos": "right",
  73. "on-scroll": 1,
  74. "format": {
  75. "months": "<span color='#ffead3'><b>{}</b></span>",
  76. "days": "<span color='#ecc6d9'><b>{}</b></span>",
  77. "weeks": "<span color='#99ffdd'><b>W{}</b></span>",
  78. "weekdays": "<span color='#ffcc66'><b>{}</b></span>",
  79. "today": "<span color='#ff6699'><b><u>{}</u></b></span>"
  80. }
  81. }
  82. },
  83. // Hardware Controls
  84. "backlight": {
  85. "device": "intel_backlight",
  86. "format": "{icon} {percent}%",
  87. "format-icons": [
  88. "󰃞",
  89. "󰃟",
  90. "󰃠"
  91. ],
  92. "on-scroll-up": "brightnessctl set 1%+",
  93. "on-scroll-down": "brightnessctl set 1%-",
  94. "scroll-step": 0.2,
  95. "min-length": 6
  96. },
  97. "temperature": {
  98. "thermal-zone": 1,
  99. "format": " {temperatureC}°C",
  100. "critical-threshold": 80,
  101. "format-critical": "{temperatureC}°C "
  102. },
  103. "cpu": {
  104. "interval": 10,
  105. "format": " {}%",
  106. "max-length": 10
  107. },
  108. "memory": {
  109. "interval": 30,
  110. "format": " {used:0.1f}/{total:0.1f} GiB"
  111. },
  112. "disk": {
  113. "interval": 30,
  114. "format": " {used}/{total}",
  115. "unit": "GiB",
  116. "path": "/home"
  117. },
  118. "battery": {
  119. "format": "{icon} {capacity}% ",
  120. "format-discharging": "{icon} {capacity}%",
  121. "format-charging": "{icon} {time}",
  122. "format-plugged": "",
  123. "format-icons": {
  124. "charging": [
  125. "󰢜",
  126. "󰂆",
  127. "󰂇",
  128. "󰂈",
  129. "󰢝",
  130. "󰂉",
  131. "󰢞",
  132. "󰂊",
  133. "󰂋",
  134. "󰂅"
  135. ],
  136. "default": [
  137. "󰁺",
  138. "󰁻",
  139. "󰁼",
  140. "󰁽",
  141. "󰁾",
  142. "󰁿",
  143. "󰂀",
  144. "󰂁",
  145. "󰂂",
  146. "󰁹"
  147. ]
  148. },
  149. "format-full": "󰂅 {capacity}%",
  150. "tooltip-format-discharging": "{power:>1.0f}W↓ {capacity}% - {time} remaining",
  151. "tooltip-format-charging": "{power:>1.0f}W↑ {capacity}% - {time} until full",
  152. "interval": 5,
  153. "states": {
  154. "warning": 20,
  155. "critical": 10
  156. }
  157. },
  158. "pulseaudio": {
  159. "format": "{icon}",
  160. "on-click": "pavucontrol",
  161. "on-click-right": "pamixer -t",
  162. "tooltip-format": "Playing at {volume}%",
  163. "scroll-step": 5,
  164. "format-muted": "",
  165. "format-icons": {
  166. "default": [
  167. "",
  168. "",
  169. ""
  170. ]
  171. }
  172. },
  173. // Network and Connectivity
  174. "network": {
  175. "format-wifi": " {signalStrength}%",
  176. "format-ethernet": "{ipaddr}/{cidr}",
  177. "tooltip-format": "{essid} - {ifname} via {gwaddr}",
  178. "format-linked": "{ifname} (No IP)",
  179. "format-disconnected": "Disconnected",
  180. "format-alt": "{ifname}:{essid} {ipaddr}/{cidr}"
  181. },
  182. "bluetooth": {
  183. "format": " {status}",
  184. "format-disabled": " off",
  185. "format-connected": " {num_connections}",
  186. "tooltip-format": "{device_alias}",
  187. "tooltip-format-connected": " {device_enumerate}",
  188. "tooltip-format-enumerate-connected": "{device_alias}",
  189. "on-click": "bluetoothctl toggle"
  190. },
  191. // Media Controls
  192. "custom/playerctl": {
  193. "format": "{icon}",
  194. "return-type": "json",
  195. "max-length": 64,
  196. "exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
  197. "on-click-middle": "playerctl play-pause",
  198. "on-click": "playerctl play-pause",
  199. "on-click-right": "playerctl play-pause",
  200. "format-icons": {
  201. "Playing": "<span foreground='#E5B9C6'>󰏥</span>",
  202. "Paused": "<span foreground='#928374'>󰐌</span>"
  203. }
  204. },
  205. "custom/playerlabel": {
  206. "format": "<span>{}</span>",
  207. "return-type": "json",
  208. "max-length": 48,
  209. "exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
  210. "on-click": "playerctl previous",
  211. "on-click-right": "playerctl next",
  212. "format-icons": {
  213. "Playing": "<span foreground='#E5B9C6'>󰒮 󰐌 󰒭</span>",
  214. "Paused": "<span foreground='#928374'>󰒮 󰏥 󰒭</span>"
  215. }
  216. },
  217. "custom/screenrecording-indicator": {
  218. "on-click": "~/.local/bin/record.sh",
  219. "exec": "~/.config/waybar/indicators/screen-recording.sh",
  220. "signal": 8,
  221. "return-type": "json"
  222. },
  223. "custom/notification": {
  224. "tooltip": false,
  225. "format": "{icon}",
  226. "format-icons": {
  227. "notification": "󰎟<span foreground='red'><sup></sup></span>",
  228. "none": "󰎟",
  229. "inhibited-notification": "󰎟<span foreground='red'><sup></sup></span>",
  230. "inhibited-none": "󰎟",
  231. "dnd-notification": "<span foreground='red'><sup></sup></span>",
  232. "dnd-none": "",
  233. "dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
  234. "dnd-inhibited-none": ""
  235. },
  236. "return-type": "json",
  237. "exec-if": "which swaync-client",
  238. "exec": "swaync-client -swb",
  239. "on-click": "swaync-client -t -sw",
  240. "on-click-right": "swaync-client -d -sw",
  241. "escape": true
  242. },
  243. "custom/randwall": {
  244. "format": "󰏘",
  245. "on-click": "$HOME/.local/bin/randwall",
  246. "on-click-right": "$HOME/.local/bin/randwall"
  247. }
  248. }