diff --git a/README.md b/README.md index 116565f..13f7fd5 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,6 @@ For my neovim config, see [here](https://git.janishutz.com/janishutz/nvim) ## Features - DankMaterialShell -- `hyprlauncher` for the app launcher -- Wlogout config - Automatically generated GTK Theme and theming of the rest of the desktop using `matugen` - Fish config (with some handy aliases, based on one from ohh-my-fish) - Fastfetch config diff --git a/TODO.md b/TODO.md index f0e0e2b..ee2358d 100644 --- a/TODO.md +++ b/TODO.md @@ -1,17 +1,14 @@ # TODOs -- [ ] Notifications management via dms -- [ ] Launcher via dms -- [ ] DMS screenshots +- [X] Notifications management via dms +- [X] Launcher via dms +- [X] DMS screenshots - [ ] Hyprland theming using mutagen with dms integration -- [ ] Copy the DMS configs here - [ ] DMS config sync to here using script -- [ ] Binds for other DMS features (with subcommand) -- [ ] Finish decman config -- [ ] Remove wlogout and replace with dms setup +- [X] Binds for other DMS features (with subcommand) +- [X] Finish decman config +- [X] Remove wlogout and replace with dms setup - [ ] Yazi theming -- [ ] Kitty theming +- [X] Kitty theming - [ ] Fish theming - [ ] Fastfetch theming - [ ] DMS instead of Hyprlock for locker? -- [ ] Zathura theming possible? -- [ ] Librewolf theme diff --git a/config/hypr/hyprland.lua b/config/hypr/hyprland.lua index 96def15..d3d7f1c 100644 --- a/config/hypr/hyprland.lua +++ b/config/hypr/hyprland.lua @@ -24,7 +24,7 @@ require("hyprland.core.misc") require("hyprland.core.style") -- Binds -require("hyprland.binds.device")(laptop_config) +require("hyprland.binds.device") require("hyprland.binds.groups") require("hyprland.binds.launch") require("hyprland.binds.main") diff --git a/config/hypr/hyprland/binds/device.lua b/config/hypr/hyprland/binds/device.lua index 5cdea02..748e84e 100644 --- a/config/hypr/hyprland/binds/device.lua +++ b/config/hypr/hyprland/binds/device.lua @@ -1,50 +1,49 @@ -return function(is_laptop) - local function exit_submap() - hl.dispatch(hl.dsp.submap("reset")) - end - - hl.define_submap("device", function() - hl.bind("m", function() - hl.dispatch(hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle")) - exit_submap() - end) - - if is_laptop then - hl.bind("d", function() - hl.dispatch(hl.dsp.exec_cmd("notify-send 'Set to mirror internal display' --app-name'Hyprctl'")) - hl.monitor({ - output = "HDMI-A-1", - mirror = "eDP-1", - }) - exit_submap() - end) - hl.bind("e", function() - hl.dispatch(hl.dsp.exec_cmd("notify-send 'Set to expand internal display' --app-name'Hyprctl'")) - hl.monitor({ - output = "HDMI-A-1", - mirror = "", - }) - exit_submap() - end) - end - - hl.bind("Shift + T", function () - hl.device({ - name = "pnp0c50:00-093a:0255-touchpad", - enabled = false - }) - hl.dispatch(hl.dsp.exec_cmd("notify-send 'Disabled Trackpad' --app-name='Hyprctl'")) - end) - hl.bind("T", function () - hl.device({ - name = "pnp0c50:00-093a:0255-touchpad", - enabled = true - }) - hl.dispatch(hl.dsp.exec_cmd("notify-send 'Enabled Trackpad' --app-name='Hyprctl'")) - end) - - hl.bind("Escape", function() - exit_submap() - end) - end) +local function exit_submap() + hl.dispatch(hl.dsp.submap("reset")) end + +hl.define_submap("device", function() + hl.bind("m", function() + hl.dispatch(hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle")) + exit_submap() + end) + + -- Touchpad + hl.bind("Shift + T", function() + hl.device({ + name = "pnp0c50:00-093a:0255-touchpad", + enabled = false, + }) + hl.dispatch(hl.dsp.exec_cmd("notify-send 'Disabled Trackpad' --app-name='Hyprctl'")) + end) + hl.bind("T", function() + hl.device({ + name = "pnp0c50:00-093a:0255-touchpad", + enabled = true, + }) + hl.dispatch(hl.dsp.exec_cmd("notify-send 'Enabled Trackpad' --app-name='Hyprctl'")) + end) + + -- ── DMS controls ───────────────────────────────────────────────── + -- clipboard history + hl.bind("h", function() + hl.dispatch(hl.dsp.exec_cmd("dms ipc call clipboard toggle")) + exit_submap() + end) + + -- Dash + hl.bind("d", function() + hl.dispatch(hl.dsp.exec_cmd("dms ipc call dash toggle")) + exit_submap() + end) + + -- Settings + hl.bind("s", function() + hl.dispatch(hl.dsp.exec_cmd("dms ipc call settings toggle")) + exit_submap() + end) + + hl.bind("Escape", function() + exit_submap() + end) +end) diff --git a/config/hypr/hyprland/binds/main.lua b/config/hypr/hyprland/binds/main.lua index d01b077..3f17b3d 100644 --- a/config/hypr/hyprland/binds/main.lua +++ b/config/hypr/hyprland/binds/main.lua @@ -5,5 +5,8 @@ hl.bind("Super + G", hl.dsp.submap("groups")) hl.bind("Super + S", hl.dsp.submap("screenshot")) hl.bind("Super + W", hl.dsp.submap("window")) hl.bind("Super + A", hl.dsp.submap("workspace")) -hl.bind("Super + Space", hl.dsp.exec_cmd("hyprlauncher")) -hl.bind("Super + Escape", hl.dsp.exec_cmd("wlogout")) + +hl.bind("Super + Space", hl.dsp.exec_cmd("dms ipc call spotlight toggle")) +hl.bind("Super + Escape", hl.dsp.exec_cmd("dms ipc call powermenu open")) +hl.bind("Super + I", hl.dsp.exec_cmd("dms ipc call control-center open")) +hl.bind("Super + ?", hl.dsp.exec_cmd("dms ipc call keybinds toggle hyprland")) diff --git a/config/hypr/hyprland/binds/notifications.lua b/config/hypr/hyprland/binds/notifications.lua index b878d20..d472a29 100644 --- a/config/hypr/hyprland/binds/notifications.lua +++ b/config/hypr/hyprland/binds/notifications.lua @@ -4,27 +4,32 @@ end hl.define_submap("notifications", function() hl.bind("c", function() - hl.dispatch(hl.dsp.exec_cmd("swaync-client --hide-all")) + hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications dismissAllPopups")) exit_submap() end) hl.bind("d", function() - hl.dispatch(hl.dsp.exec_cmd("swaync-client --clear-all")) + hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications clearAll")) + exit_submap() + end) + + hl.bind("m", function() + hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications toggleDoNotDisturb")) exit_submap() end) hl.bind("h", function() - hl.dispatch(hl.dsp.exec_cmd("swaync-client -cp")) + hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications close")) exit_submap() end) hl.bind("s", function() - hl.dispatch(hl.dsp.exec_cmd("swaync-client -op")) + hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications open")) exit_submap() end) hl.bind("t", function() - hl.dispatch(hl.dsp.exec_cmd("swaync-client -t")) + hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications toggle")) exit_submap() end) diff --git a/config/hypr/hyprland/binds/screenshot.lua b/config/hypr/hyprland/binds/screenshot.lua index fe39fe9..b526168 100644 --- a/config/hypr/hyprland/binds/screenshot.lua +++ b/config/hypr/hyprland/binds/screenshot.lua @@ -4,32 +4,32 @@ end hl.define_submap("screenshot", function() hl.bind("y", function() - hl.dispatch(hl.dsp.exec_cmd("grimblast --notify copy area")) + hl.dispatch(hl.dsp.exec_cmd("dms screenshot --no-file")) exit_submap() end) hl.bind("c", function() - hl.dispatch(hl.dsp.exec_cmd("grimblast --notify copysave area")) + hl.dispatch(hl.dsp.exec_cmd("dms screenshot")) exit_submap() end) hl.bind("s", function() - hl.dispatch(hl.dsp.exec_cmd("grimblast --notify save area")) + hl.dispatch(hl.dsp.exec_cmd("dms screenshot --no-copy")) exit_submap() end) hl.bind("Shift + y", function() - hl.dispatch(hl.dsp.exec_cmd("grimblast --notify copy screen")) + hl.dispatch(hl.dsp.exec_cmd("dms screenshot full --no-file")) exit_submap() end) hl.bind("Shift + c", function() - hl.dispatch(hl.dsp.exec_cmd("grimblast --notify copysave screen")) + hl.dispatch(hl.dsp.exec_cmd("dms screenshot full")) exit_submap() end) hl.bind("Shift + s", function() - hl.dispatch(hl.dsp.exec_cmd("grimblast --notify save screen")) + hl.dispatch(hl.dsp.exec_cmd("dms screenshot full --no-copy")) exit_submap() end) diff --git a/config/hypr/hyprland/windowrules/floating.lua b/config/hypr/hyprland/windowrules/floating.lua index 6f0030e..de95dc2 100644 --- a/config/hypr/hyprland/windowrules/floating.lua +++ b/config/hypr/hyprland/windowrules/floating.lua @@ -23,12 +23,6 @@ hl.window_rule({ }, fullscreen = true, }) -hl.window_rule({ - match = { - class = "wlogout", - }, - fullscreen = true, -}) -- Termfilechooser hl.window_rule({ diff --git a/config/kitty/kitty.conf b/config/kitty/kitty.conf index 2a11ba8..90ac681 100644 --- a/config/kitty/kitty.conf +++ b/config/kitty/kitty.conf @@ -3,6 +3,8 @@ # │ Kitty Config │ # ╰────────────────────────────────────────────────╯ # ──────────────────────────────────────────────────────────────────── +include dank-tabs.conf +include dank-theme.conf # ┌ ┐ diff --git a/config/matugen/config.toml b/config/matugen/config.toml index 87e232d..3f4b9e7 100644 --- a/config/matugen/config.toml +++ b/config/matugen/config.toml @@ -8,15 +8,3 @@ output_path = '~/.config/hypr/hyprland/colors.lua' [templates.hyprlock] input_path = '~/.config/matugen/templates/hyprland/hyprlock-colors.conf' output_path = '~/.config/hypr/hyprlock/colors.conf' - -# [templates.gtk3] -# input_path = '~/.config/matugen/templates/gtk-3.0/gtk.css' -# output_path = '~/.config/gtk-3.0/gtk.css' -# -# [templates.gtk4] -# input_path = '~/.config/matugen/templates/gtk-4.0/gtk.css' -# output_path = '~/.config/gtk-4.0/gtk.css' -# -# [templates.wlogout] -# input_path = '~/.config/matugen/templates/wlogout/style.css' -# output_path = '~/.config/wlogout/style.css' diff --git a/config/matugen/templates/wlogout/style.css b/config/matugen/templates/wlogout/style.css deleted file mode 100644 index 603c7d9..0000000 --- a/config/matugen/templates/wlogout/style.css +++ /dev/null @@ -1,66 +0,0 @@ -/* - * ╭───────────────────────────────────────────────╮ - * │ WLOGOUT │ - * ╰───────────────────────────────────────────────╯ -*/ -window { - font-family: monospace; - font-size: 14pt; - color: {{colors.on_background.default.hex}}; /* text */ - background-color: {{colors.primary.background.hex}}60; -} - -button { - background-repeat: no-repeat; - background-position: center; - background-size: 25%; - border: none; - background-color: transparent; - margin: 5px; - transition: box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; - border-radius: 40px; -} - -button:hover { - background-color: {{colors.primary.default.hex}}; -} - -button:focus { - background-color: {{colors.primary.default.hex}}80; - color: {{colors.on_primary.default.hex}}; -} - -#lock { - background-image: image(url("./lock.png")); -} -#lock:focus { - background-image: image(url("./lock-hover.png")); -} - -#logout { - background-image: image(url("./logout.png")); -} -#logout:focus { - background-image: image(url("./logout-hover.png")); -} - -#suspend { - background-image: image(url("./sleep.png")); -} -#suspend:focus { - background-image: image(url("./sleep-hover.png")); -} - -#shutdown { - background-image: image(url("./power.png")); -} -#shutdown:focus { - background-image: image(url("./power-hover.png")); -} - -#reboot { - background-image: image(url("./restart.png")); -} -#reboot:focus { - background-image: image(url("./restart-hover.png")); -} diff --git a/config/wlogout/layout b/config/wlogout/layout deleted file mode 100755 index 86b2184..0000000 --- a/config/wlogout/layout +++ /dev/null @@ -1,30 +0,0 @@ -{ - "label" : "lock", - "action" : "hyprlock", - "text" : "Lock", - "keybind" : "l" -} -{ - "label" : "reboot", - "action" : "systemctl reboot", - "text" : "Reboot", - "keybind" : "r" -} -{ - "label" : "shutdown", - "action" : "systemctl poweroff", - "text" : "Shutdown", - "keybind" : "s" -} -{ - "label" : "logout", - "action" : "hyprctl dispatch exit 0", - "text" : "Logout", - "keybind" : "e" -} -{ - "label" : "suspend", - "action" : "systemctl suspend", - "text" : "Suspend", - "keybind" : "u" -} diff --git a/config/wlogout/lock-hover.png b/config/wlogout/lock-hover.png deleted file mode 100755 index 8fb86fe..0000000 Binary files a/config/wlogout/lock-hover.png and /dev/null differ diff --git a/config/wlogout/lock.png b/config/wlogout/lock.png deleted file mode 100755 index 430451c..0000000 Binary files a/config/wlogout/lock.png and /dev/null differ diff --git a/config/wlogout/logout-hover.png b/config/wlogout/logout-hover.png deleted file mode 100755 index 9e570a9..0000000 Binary files a/config/wlogout/logout-hover.png and /dev/null differ diff --git a/config/wlogout/logout.png b/config/wlogout/logout.png deleted file mode 100755 index 128c995..0000000 Binary files a/config/wlogout/logout.png and /dev/null differ diff --git a/config/wlogout/power-hover.png b/config/wlogout/power-hover.png deleted file mode 100755 index 122d331..0000000 Binary files a/config/wlogout/power-hover.png and /dev/null differ diff --git a/config/wlogout/power.png b/config/wlogout/power.png deleted file mode 100755 index ce56166..0000000 Binary files a/config/wlogout/power.png and /dev/null differ diff --git a/config/wlogout/restart-hover.png b/config/wlogout/restart-hover.png deleted file mode 100755 index 3e18536..0000000 Binary files a/config/wlogout/restart-hover.png and /dev/null differ diff --git a/config/wlogout/restart.png b/config/wlogout/restart.png deleted file mode 100755 index 7855d40..0000000 Binary files a/config/wlogout/restart.png and /dev/null differ diff --git a/config/wlogout/sleep-hover.png b/config/wlogout/sleep-hover.png deleted file mode 100755 index 0fd3bad..0000000 Binary files a/config/wlogout/sleep-hover.png and /dev/null differ diff --git a/config/wlogout/sleep.png b/config/wlogout/sleep.png deleted file mode 100755 index 6a3d607..0000000 Binary files a/config/wlogout/sleep.png and /dev/null differ diff --git a/modules/coding/latex.py b/modules/coding/latex.py index 31d8da8..57f1f4e 100644 --- a/modules/coding/latex.py +++ b/modules/coding/latex.py @@ -42,13 +42,15 @@ class Latex(decman.Module): } def on_enable(self, store: decman.Store): - decman.prg( - [ - "cd", - "~/projects/", - "git", - "clone", - "https://git.janishutz.com/janishutz/latex", - ], - user=self._user, - ) + out = decman.prg(["cd ~/projects/latex/"], user=self._user) + if out == "": + decman.prg( + [ + "cd", + "~/projects/", + "git", + "clone", + "https://git.janishutz.com/janishutz/latex", + ], + user=self._user, + ) diff --git a/modules/core/ui/shell.py b/modules/core/ui/shell.py index 01b3623..c89c8b2 100644 --- a/modules/core/ui/shell.py +++ b/modules/core/ui/shell.py @@ -10,7 +10,7 @@ class DesktopShell(decman.Module): @pacman.packages def pkgs(self) -> set[str]: - return {"dms-shell", "cava", "matugen"} + return {"dms-shell", "cava", "matugen", "papirus-icon-theme", "adw-gtk-theme"} # TODO: Copy the config of dms, once done def directories(self) -> dict[str, decman.Directory]: