1
0
Fork 0
mirror of https://git.sr.ht/~neverness/ultima synced 2024-12-28 10:13:54 +00:00
This commit is contained in:
neverness 2024-12-21 22:25:04 +09:00
parent cedcc52604
commit 37173ef36a
4 changed files with 76 additions and 68 deletions

View file

@ -1,13 +1,13 @@
{ pkgs, ... }:
with pkgs;
{
module.wm.hyprland = {
autostart = [ "mako" ];
programs =
binds =
let
c = "--class";
pic = "$(xdg-user-dir PICTURES)/$(date +'scr_%d-%m-%y|%H:%M:%S.png')";
in
with pkgs;
[
# PROGRAMS
"$m, $rt, exec, kitty"
@ -35,5 +35,71 @@
", $PR, exec, ${grimblast}/bin/grimblast copysave area ${pic}"
"$s, $PR, exec, ${grimblast}/bin/grimblast copysave output ${pic}"
];
rules =
let
# titile & class
cl = "class:^";
tt = "title:^";
il = "initialClass:^";
it = "initialTitle:^";
# regex
x =
class: win: type:
"${type}, ${class}(${win})$";
in
[
(x "${cl}" "firefox" "workspace 2 silent")
(x "${cl}" "zen-alpha" "workspace 2 silent")
(x "${cl}" "zen-beta" "workspace 2 silent")
(x "${cl}" "spotify" "workspace 3 silent")
(x "${il}" "spotify" "workspace 3 silent")
(x "${it}" "Spotify" "workspace 3 silent")
(x "${tt}" "Spotify Free" "workspace 3 silent")
(x "${cl}" "com.ayugram" "workspace 4 silent")
(x "${cl}" "io.github.tdesktop_x64.TDesktop" "workspace 4 silent")
(x "${cl}" "vesktop" "workspace 4 silent")
(x "${cl}" "obsidian" "workspace 5 silent")
(x "${cl}" "anicli" "workspace 6 silent")
(x "${cl}" "org.qbittorrent.qBittorrent" "workspace 9 silent")
# term rules
(x "${cl}" "termfloat" "float")
(x "${cl}" "termfloat" "move center")
(x "${cl}" "termfloat" "size 650 430")
# file manager
(x "${cl}" "tfm" "float")
(x "${cl}" "tfm" "move center")
(x "${cl}" "tfm" "size 800 350")
# ayu & 64gram
(x "${tt}" "com.ayugram" "minsize 540 680")
(x "${tt}" "io.github.tdesktop_x64.TDesktop" "minsize 540 680")
(x "${tt}" "Media viewer" "float")
(x "${tt}" "Media viewer" "move center")
(x "${tt}" "Media viewer" "size 670 540")
(x "${tt}" "Media viewer" "noanim")
(x "${tt}" "Media viewer" "fullscreen")
(x "${tt}" "Choose Files" "float")
(x "${tt}" "Choose Files" "move center")
(x "${tt}" "Choose Files" "size 650 450")
# xdg
(x "${cl}" "xdg-desktop-portal-gtk" "float")
(x "${cl}" "xdg-desktop-portal-gtk" "move center")
(x "${cl}" "xdg-desktop-portal-gtk" "size 807 570")
# mpv
(x "${cl}" "mpv" "nodim")
(x "${cl}" "anicliru" "float")
(x "${cl}" "anicliru" "size 810 630")
# torrent
(x "${cl}" "org.qbittorrent.qBittorrent" "float")
(x "${cl}" "org.qbittorrent.qBittorrent" "size 1020 740")
(x "${cl}" "org.qbittorrent.qBittorrent" "pseudo")
];
};
}

View file

@ -79,7 +79,7 @@ in
"$m, $pr, workspace, e-1"
]
++ workspaces
++ cfg.programs;
++ cfg.binds;
# HOLDING BUTTONS
binde =

View file

@ -16,7 +16,8 @@ in
module.wm.hyprland = {
enable = mkBool;
autostart = mkOpt.list.str;
programs = mkOpt.list.str;
binds = mkOpt.list.str;
rules = mkOpt.list.str;
pkg = mkOpt.str;
};
};

View file

@ -1,69 +1,10 @@
{ config, ... }:
let
cfg = config.module.wm.hyprland;
in
{
wayland.windowManager.hyprland.settings = with config.lib.stylix.colors; {
wayland.windowManager.hyprland.settings = {
layerrule = [ "noanim, notifications" ];
windowrulev2 =
let
cl = "class:^";
tt = "title:^";
il = "initialClass:^";
it = "initialTitle:^";
in
[
"workspace 2 silent, ${cl}(firefox)$"
"workspace 2 silent, ${cl}(floorp)$"
"workspace 2 silent, ${cl}(zen-alpha)$"
"workspace 2 silent, ${cl}(zen-beta)$"
"workspace 3 silent, ${cl}(spotify)$"
"workspace 3 silent, ${il}(spotify)$"
"workspace 3 silent, ${tt}(Spotify Free)$"
"workspace 3 silent, ${it}(Spotify)$"
"workspace 4 silent, ${cl}(com.ayugram)$"
"workspace 4 silent, ${cl}(io.github.tdesktop_x64.TDesktop)$"
"workspace 4 silent, ${cl}(vesktop)$"
"workspace 5 silent, ${cl}(obsidian)$"
"workspace 6 silent, ${cl}(anicli)$"
"workspace 9 silent, ${cl}(org.qbittorrent.qBittorrent)$"
# TERMINAL RULES
"float, ${cl}(termfloat)$"
"move center, ${cl}(termfloat)$"
"size 650 430, ${cl}(termfloat)$"
# FILE MANAGER
"float, ${cl}(tfm)$"
"move center, ${cl}(tfm)$"
"size 800 350, ${cl}(tfm)$"
# AYUGRAM
"minsize 540 680, ${cl}(com.ayugram)$" # SELF
"float, ${tt}(Media viewer)$" # VIEWER
"noanim, ${tt}(Media viewer)$"
"fullscreen, ${tt}(Media viewer)$"
"size 670 540, ${tt}(Media viewer)$"
"float, ${tt}(Choose Files)$" # CHOOSER
"size 650 450, ${tt}(Choose Files)$"
# XDG
"float, ${cl}(xdg-desktop-portal-gtk)$"
"size 807 570, ${cl}(xdg-desktop-portal-gtk)$"
# MPV
"nodim, ${cl}(mpv)$"
"float, ${cl}(anicliru)$"
"size 810 630, ${cl}(anicliru)$"
# ANIME
"bordercolor rgb(${base08}) rgb(${base09}) 45deg, ${cl}(anicliru)$"
# KOMIKKU
"pseudo, ${cl}(info.febvre.Komikku)$"
"size 700 980, ${cl}(info.febvre.Komikku)$"
# TORRENT
"float, ${cl}(org.qbittorrent.qBittorrent)$"
"pseudo, ${cl}(org.qbittorrent.qBittorrent)$"
"size 1020 740, ${cl}(org.qbittorrent.qBittorrent)$"
];
windowrulev2 = [ ] ++ cfg.rules;
};
}