common.jsonc 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  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. ]
  48. },
  49. "custom/expand-icon": {
  50. "format": " ",
  51. "tooltip": false
  52. },
  53. // Date and Time
  54. "clock": {
  55. "format": "{:%H:%M %Z}",
  56. "interval": 60,
  57. "format-alt": "{:%d/%m/%Y}",
  58. "tooltip-format": "<small><tt>{calendar}</tt></small>",
  59. "timezones": [
  60. "America/Montevideo",
  61. "America/New_York"
  62. ],
  63. "actions": {
  64. "on-click-right": "mode",
  65. "on-scroll-up": "tz_up",
  66. "on-scroll-down": "tz_down"
  67. },
  68. "calendar": {
  69. "mode": "year",
  70. "mode-mon-col": 3,
  71. "weeks-pos": "right",
  72. "on-scroll": 1,
  73. "format": {
  74. "months": "<span color='#ffead3'><b>{}</b></span>",
  75. "days": "<span color='#ecc6d9'><b>{}</b></span>",
  76. "weeks": "<span color='#99ffdd'><b>W{}</b></span>",
  77. "weekdays": "<span color='#ffcc66'><b>{}</b></span>",
  78. "today": "<span color='#ff6699'><b><u>{}</u></b></span>"
  79. }
  80. }
  81. },
  82. // Hardware Controls
  83. "backlight": {
  84. "device": "intel_backlight",
  85. "format": "{icon} {percent}%",
  86. "format-icons": [
  87. "󰃞",
  88. "󰃟",
  89. "󰃠"
  90. ],
  91. "on-scroll-up": "brightnessctl set 1%+",
  92. "on-scroll-down": "brightnessctl set 1%-",
  93. "scroll-step": 0.2,
  94. "min-length": 6
  95. },
  96. "temperature": {
  97. "thermal-zone": 1,
  98. "format": " {temperatureC}°C",
  99. "critical-threshold": 80,
  100. "format-critical": "{temperatureC}°C "
  101. },
  102. "cpu": {
  103. "interval": 10,
  104. "format": " {}%",
  105. "max-length": 10
  106. },
  107. "memory": {
  108. "interval": 30,
  109. "format": " {used:0.1f}/{total:0.1f} GiB"
  110. },
  111. "disk": {
  112. "interval": 30,
  113. "format": " {used}/{total}",
  114. "unit": "GiB",
  115. "path": "/home"
  116. },
  117. "battery": {
  118. "format": "{icon} {capacity}% ",
  119. "format-discharging": "{icon} {capacity}%",
  120. "format-charging": "{icon}",
  121. "format-plugged": "",
  122. "format-icons": {
  123. "charging": [
  124. ""
  125. ],
  126. "default": [
  127. "󰁺",
  128. "󰁻",
  129. "󰁼",
  130. "󰁽",
  131. "󰁾",
  132. "󰁿",
  133. "󰂀",
  134. "󰂁",
  135. "󰂂",
  136. "󰁹"
  137. ]
  138. },
  139. "format-full": "󰂅 {capacity}%",
  140. "tooltip-format-discharging": "{power:>1.0f}W↓ {capacity}% - {time} remaining",
  141. "tooltip-format-charging": "{power:>1.0f}W↑ {capacity}% - {time} until full",
  142. "interval": 5,
  143. "states": {
  144. "warning": 20,
  145. "critical": 10
  146. }
  147. },
  148. "pulseaudio": {
  149. "format": "{icon} {volume}%",
  150. "on-click": "pavucontrol",
  151. "on-click-right": "pamixer -t",
  152. "tooltip-format": "Playing at {volume}%",
  153. "scroll-step": 5,
  154. "format-muted": "",
  155. "format-icons": {
  156. "default": [
  157. "",
  158. "",
  159. ""
  160. ]
  161. }
  162. },
  163. // Network and Connectivity
  164. "network": {
  165. "format-wifi": " {signalStrength}%",
  166. "format-ethernet": "{ipaddr}/{cidr}",
  167. "tooltip-format": "{essid} - {ifname} via {gwaddr}",
  168. "format-linked": "{ifname} (No IP)",
  169. "format-disconnected": "Disconnected",
  170. "format-alt": "{ifname}:{essid} {ipaddr}/{cidr}"
  171. },
  172. "bluetooth": {
  173. "format": " {status}",
  174. "format-disabled": " off",
  175. "format-connected": " {num_connections}",
  176. "tooltip-format": "{device_alias}",
  177. "tooltip-format-connected": " {device_enumerate}",
  178. "tooltip-format-enumerate-connected": "{device_alias}",
  179. "on-click": "bluetoothctl toggle"
  180. },
  181. // Media Controls
  182. "custom/playerctl": {
  183. "format": "{icon}",
  184. "return-type": "json",
  185. "max-length": 64,
  186. "exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
  187. "on-click-middle": "playerctl play-pause",
  188. "on-click": "playerctl play-pause",
  189. "on-click-right": "playerctl play-pause",
  190. "format-icons": {
  191. "Playing": "<span foreground='#E5B9C6'>󰏥</span>",
  192. "Paused": "<span foreground='#928374'>󰐌</span>"
  193. }
  194. },
  195. "custom/playerlabel": {
  196. "format": "<span>{}</span>",
  197. "return-type": "json",
  198. "max-length": 48,
  199. "exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
  200. "on-click": "playerctl previous",
  201. "on-click-right": "playerctl next",
  202. "format-icons": {
  203. "Playing": "<span foreground='#E5B9C6'>󰒮 󰐌 󰒭</span>",
  204. "Paused": "<span foreground='#928374'>󰒮 󰏥 󰒭</span>"
  205. }
  206. },
  207. "custom/screenrecording-indicator": {
  208. "on-click": "~/.local/bin/record.sh",
  209. "exec": "~/.config/waybar/indicators/screen-recording.sh",
  210. "signal": 8,
  211. "return-type": "json"
  212. },
  213. "custom/notification": {
  214. "tooltip": false,
  215. "format": "{icon}",
  216. "format-icons": {
  217. "notification": "󰎟<span foreground='red'><sup></sup></span>",
  218. "none": "󰎟",
  219. "inhibited-notification": "󰎟<span foreground='red'><sup></sup></span>",
  220. "inhibited-none": "󰎟",
  221. "dnd-notification": "<span foreground='red'><sup></sup></span>",
  222. "dnd-none": "",
  223. "dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
  224. "dnd-inhibited-none": ""
  225. },
  226. "return-type": "json",
  227. "exec-if": "which swaync-client",
  228. "exec": "swaync-client -swb",
  229. "on-click": "swaync-client -t -sw",
  230. "on-click-right": "swaync-client -d -sw",
  231. "escape": true
  232. },
  233. "custom/randwall": {
  234. "format": "󰏘",
  235. "on-click": "$HOME/.local/bin/randwall",
  236. "on-click-right": "$HOME/.local/bin/randwall"
  237. }
  238. }