@@ -12,6 +12,12 @@ gar.exec_once("garlock daemon") |
| 12 | 12 | -- Clipboard manager daemon |
| 13 | 13 | gar.exec_once("garclip daemon --foreground") |
| 14 | 14 | |
| 15 | +-- System tray with quick settings panel |
| 16 | +gar.exec_once("gartray daemon") |
| 17 | + |
| 18 | +-- Polkit authentication agent (needed for power actions via D-Bus) |
| 19 | +gar.exec_once("/usr/libexec/kf6/polkit-kde-authentication-agent-1") |
| 20 | + |
| 15 | 21 | -- Uncomment the ones you want: |
| 16 | 22 | -- gar.exec_once("picom") -- Compositor (for transparency/shadows) |
| 17 | 23 | -- gar.exec_once("dunst") -- Notification daemon |
@@ -102,7 +108,7 @@ gar.bar = { |
| 102 | 108 | -- Module layout |
| 103 | 109 | modules_left = { "workspaces", "window_title" }, |
| 104 | 110 | modules_center = {}, |
| 105 | | - modules_right = { "almanta", "filesystem", "memory", "cpu", "battery", "wlan", "volume", "datetime" }, |
| 111 | + modules_right = { "almanta", "filesystem", "memory", "cpu", "battery", "wlan", "volume", "tray", "datetime", "quick_settings" }, |
| 106 | 112 | |
| 107 | 113 | -- Module configurations |
| 108 | 114 | modules = { |
@@ -218,11 +224,101 @@ gar.set("follow_window_on_move", true) -- Follow window when using Mod+Shift+nu |
| 218 | 224 | -- Use "mod" for real X session, "alt" for nested testing (Xephyr) |
| 219 | 225 | local mod = "mod" |
| 220 | 226 | |
| 221 | | --- Terminal |
| 227 | +-- Terminal (fallback) |
| 222 | 228 | gar.bind(mod .. "+Return", function() |
| 223 | 229 | gar.exec("alacritty || kitty || foot || xterm") |
| 224 | 230 | end) |
| 225 | 231 | |
| 232 | +-- garterm with fish shell |
| 233 | +gar.bind(mod .. "+shift+Return", function() |
| 234 | + gar.exec("garterm") |
| 235 | +end) |
| 236 | + |
| 237 | +-- CPR-Music dev workspace via session |
| 238 | +gar.bind(mod .. "+alt+Return", function() |
| 239 | + gar.exec("garterm") |
| 240 | + gar.exec("sleep 0.3 && gartermctl load-session cpr-music") |
| 241 | +end) |
| 242 | + |
| 243 | +-------------------------------------------------------------------------------- |
| 244 | +-- GARTERM CONFIGURATION |
| 245 | +-------------------------------------------------------------------------------- |
| 246 | +-- garterm reads this table for shell, font, colors, sessions, and keybinds |
| 247 | + |
| 248 | +gar.terminal = { |
| 249 | + -- Default shell |
| 250 | + shell = "/usr/bin/fish", |
| 251 | + |
| 252 | + -- Font settings |
| 253 | + font = { |
| 254 | + family = "JetBrainsMono Nerd Font", |
| 255 | + size = 20.0, |
| 256 | + }, |
| 257 | + |
| 258 | + -- Color scheme |
| 259 | + colors = { |
| 260 | + preset = "catpuccin-mocha", |
| 261 | + }, |
| 262 | + |
| 263 | + -- Tab bar configuration |
| 264 | + tab_bar = { |
| 265 | + height = 24, -- Tab bar height in pixels |
| 266 | + position = "top", -- "top" or "bottom" |
| 267 | + show_single_tab = false, -- Show tab bar even with one tab |
| 268 | + max_tab_width = 200, -- Maximum width per tab in pixels |
| 269 | + tab_padding = 16, -- Horizontal padding inside each tab |
| 270 | + shorten_paths = true, -- Shorten paths: ~/P/a/src style |
| 271 | + |
| 272 | + -- Colors as {R, G, B, A} with values 0.0 to 1.0 |
| 273 | + background = {0.08, 0.08, 0.12, 1.0}, -- Tab bar background |
| 274 | + active_bg = {0.15, 0.15, 0.20, 1.0}, -- Active tab background |
| 275 | + inactive_bg = {0.10, 0.10, 0.14, 1.0},-- Inactive tab background |
| 276 | + active_fg = {1.0, 1.0, 1.0, 1.0}, -- Active tab text color |
| 277 | + inactive_fg = {0.7, 0.7, 0.7, 1.0}, -- Inactive tab text color |
| 278 | + }, |
| 279 | + |
| 280 | + -- Session definitions (load with gartermctl load-session <name>) |
| 281 | + sessions = { |
| 282 | + -- CPR-Music development workspace |
| 283 | + ["cpr-music"] = { |
| 284 | + tabs = { |
| 285 | + { |
| 286 | + title = "Frontend", |
| 287 | + cwd = "~/GithubOrgs/espadonne/CPR-Music", |
| 288 | + cmd = "npm run dev", |
| 289 | + }, |
| 290 | + { |
| 291 | + title = "Backend", |
| 292 | + cwd = "~/GithubOrgs/mfwolffe/CPR-Music-Backend", |
| 293 | + cmd = "source .venv/bin/activate.fish && python manage.py runserver", |
| 294 | + }, |
| 295 | + { |
| 296 | + title = "Editor", |
| 297 | + cwd = "~/GithubOrgs/espadonne/CPR-Music", |
| 298 | + cmd = "fackr", |
| 299 | + }, |
| 300 | + }, |
| 301 | + }, |
| 302 | + }, |
| 303 | + |
| 304 | + -- Keybinds within garterm (Lua function callbacks) |
| 305 | + keybinds = { |
| 306 | + -- Quick session loading |
| 307 | + ["alt+m"] = { action = "load_session", session = "cpr-music"}, |
| 308 | + |
| 309 | + -- Open fackr in current pane |
| 310 | + ["alt+e"] = function() |
| 311 | + gar.terminal.send_text(nil, "fackr \n") |
| 312 | + end, |
| 313 | + |
| 314 | + -- Open fackr in new tab |
| 315 | + ["alt+shift+e"] = function() |
| 316 | + gar.terminal.new_tab({}) |
| 317 | + gar.terminal.send_text(nil, "fackr \n") |
| 318 | + end, |
| 319 | + }, |
| 320 | +} |
| 321 | + |
| 226 | 322 | -- Close window |
| 227 | 323 | gar.bind(mod .. "+q", gar.close_window) |
| 228 | 324 | |