gardesk/gar / 46d12e5

Browse files

docs: update example config with garterm, gartray, sessions

Authored by mfwolffe <wolffemf@dukes.jmu.edu>
SHA
46d12e5fa0ce6c9126f670b1ca972ab6f2acd959
Parents
d5bc31a
Tree
c840d5a

1 changed file

StatusFile+-
M examples/init.lua 98 2
examples/init.luamodified
@@ -12,6 +12,12 @@ gar.exec_once("garlock daemon")
12
 -- Clipboard manager daemon
12
 -- Clipboard manager daemon
13
 gar.exec_once("garclip daemon --foreground")
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
 -- Uncomment the ones you want:
21
 -- Uncomment the ones you want:
16
 -- gar.exec_once("picom")                      -- Compositor (for transparency/shadows)
22
 -- gar.exec_once("picom")                      -- Compositor (for transparency/shadows)
17
 -- gar.exec_once("dunst")                      -- Notification daemon
23
 -- gar.exec_once("dunst")                      -- Notification daemon
@@ -102,7 +108,7 @@ gar.bar = {
102
     -- Module layout
108
     -- Module layout
103
     modules_left = { "workspaces", "window_title" },
109
     modules_left = { "workspaces", "window_title" },
104
     modules_center = {},
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
     -- Module configurations
113
     -- Module configurations
108
     modules = {
114
     modules = {
@@ -218,11 +224,101 @@ gar.set("follow_window_on_move", true) -- Follow window when using Mod+Shift+nu
218
 -- Use "mod" for real X session, "alt" for nested testing (Xephyr)
224
 -- Use "mod" for real X session, "alt" for nested testing (Xephyr)
219
 local mod = "mod"
225
 local mod = "mod"
220
 
226
 
221
--- Terminal
227
+-- Terminal (fallback)
222
 gar.bind(mod .. "+Return", function()
228
 gar.bind(mod .. "+Return", function()
223
     gar.exec("alacritty || kitty || foot || xterm")
229
     gar.exec("alacritty || kitty || foot || xterm")
224
 end)
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
 -- Close window
322
 -- Close window
227
 gar.bind(mod .. "+q", gar.close_window)
323
 gar.bind(mod .. "+q", gar.close_window)
228
 
324