diff --git a/home/gunalx/foot.nix b/home/gunalx/foot.nix index b4a252e..a88e818 100644 --- a/home/gunalx/foot.nix +++ b/home/gunalx/foot.nix @@ -9,7 +9,7 @@ main = { term = "xterm-256color"; - font = "0xproto:size=12"; + font = "0xproto:size=14"; #dpi-aware = "yes"; }; mouse = { @@ -19,30 +19,28 @@ colors = { alpha = "0.7"; - #set based on https://github.com/tinted-theming/base16-foot/blob/main/colors/base16-apathy.ini and https://github.com/tinted-theming/base16-schemes/blob/main/apathy.yaml + foreground = "${config.colorScheme.palette.base05}"; + background = "${config.colorScheme.palette.base00}"; - foreground = "0x${config.colorScheme.palette.base05}"; - background = "0x${config.colorScheme.palette.base00}"; - - regular0 = "0x${config.colorScheme.palette.base00}"; - regular1 = "0x${config.colorScheme.palette.base08}"; - regular2 = "0x${config.colorScheme.palette.base0B}"; - regular3 = "0x${config.colorScheme.palette.base0A}"; - regular4 = "0x${config.colorScheme.palette.base0D}"; - regular5 = "0x${config.colorScheme.palette.base0E}"; - regular6 = "0x${config.colorScheme.palette.base0C}"; - regular7 = "0x${config.colorScheme.palette.base05}"; + regular0 = "${config.colorScheme.palette.base00}"; + regular1 = "${config.colorScheme.palette.base08}"; + regular2 = "${config.colorScheme.palette.base0B}"; + regular3 = "${config.colorScheme.palette.base0A}"; + regular4 = "${config.colorScheme.palette.base0D}"; + regular5 = "${config.colorScheme.palette.base0E}"; + regular6 = "${config.colorScheme.palette.base0C}"; + regular7 = "${config.colorScheme.palette.base05}"; - bright0 = "0x${config.colorScheme.palette.base03}"; - bright1 = "0x${config.colorScheme.palette.base08}"; - bright2 = "0x${config.colorScheme.palette.base0B}"; - bright3 = "0x${config.colorScheme.palette.base0A}"; - bright4 = "0x${config.colorScheme.palette.base0D}"; - bright5 = "0x${config.colorScheme.palette.base0E}"; - bright6 = "0x${config.colorScheme.palette.base0C}"; - bright7 = "0x${config.colorScheme.palette.base07}"; - selection-foreground = "0x${config.colorScheme.palette.base00}"; - selection-background = "0x${config.colorScheme.palette.base0A}"; + bright0 = "${config.colorScheme.palette.base03}"; + bright1 = "${config.colorScheme.palette.base08}"; + bright2 = "${config.colorScheme.palette.base0B}"; + bright3 = "${config.colorScheme.palette.base0A}"; + bright4 = "${config.colorScheme.palette.base0D}"; + bright5 = "${config.colorScheme.palette.base0E}"; + bright6 = "${config.colorScheme.palette.base0C}"; + bright7 = "${config.colorScheme.palette.base07}"; + selection-foreground = "${config.colorScheme.palette.base00}"; + selection-background = "${config.colorScheme.palette.base0A}"; }; diff --git a/home/gunalx/niri.nix b/home/gunalx/niri.nix index 94bc547..f812602 100644 --- a/home/gunalx/niri.nix +++ b/home/gunalx/niri.nix @@ -214,6 +214,11 @@ layout { } } +overview { + zoom 0.5 + backdrop-color "#${palette.base00}" +} + // Add lines like this to spawn processes at startup. // Note that running niri as a session supports xdg-desktop-autostart, // which may be more convenient to use. @@ -247,59 +252,54 @@ animations { // Slow down all animations by this factor. Values below 1 speed them up instead. // slowdown 0.3 + +} + + +layer-rule { + match namespace="^notifications$" + block-out-from "screencast" } // Window rules let you adjust behavior for individual windows. // Find more information on the wiki: // https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules -// Work around WezTerm's initial configure bug -// by setting an empty default-column-width. -window-rule { - // This regular expression is intentionally made as specific as possible, - // since this is the default config, and we want no false positives. - // You can get away with just app-id="wezterm" if you want. - match app-id=r#"^org\.wezfurlong\.wezterm$"# - default-column-width {} -} + // Floating Bitwarden extension popup windows only window-rule { - match app-id=r#"^firefox$"# title=r#"^Extension: \(Bitwarden Password Manager\) - Bitwarden — Mozilla Firefox$"# - open-floating true -} -// Floating the native Bitwarden desktop app -window-rule { + match title=r#"^Extension: \(Bitwarden Password Manager\) - Bitwarden — Mozilla Firefox$"# + match title="^Extension: (Bitwarden Password Manager) - Bitwarden — Mozilla Firefox$" match app-id=r#"(?i)^bitwarden$"# open-floating true + default-column-width { proportion 0.3;} + default-floating-position x=0 y=0 relative-to="top-left" + opacity 0.9 + block-out-from "screen-capture" +} + +// dropdown terminal +window-rule { + match title="^dropdown$" + open-focused true + open-floating true + default-floating-position x=0 y=0 relative-to="top" + default-window-height { proportion 0.5; } + // 80% of the screen wide. + default-column-width { proportion 0.8; } + // block-out-from "screencast" + block-out-from "screen-capture" } //fix steam notifications to bottom rigth window-rule { match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"# default-floating-position x=10 y=10 relative-to="bottom-right" -} - - -// Example: block out two password managers from screen capture. -// (This example rule is commented out with a "/-" in front.) -/-window-rule { - match app-id=r#"^org\.keepassxc\.KeePassXC$"# - match app-id=r#"^org\.gnome\.World\.Secrets$"# - match title=r#"^Bitwarden$"# - + //block-out-from "screencast" block-out-from "screen-capture" - - // Use this instead if you want them visible on third-party screenshot tools. - // block-out-from "screencast" } -// Example: enable rounded corners for all windows. -// (This example rule is commented out with a "/-" in front.) -/-window-rule { - geometry-corner-radius 12 - clip-to-geometry true -} window-rule { geometry-corner-radius 12 @@ -324,9 +324,10 @@ binds { // Suggested binds for running programs: terminal, app launcher, screen locker. Mod+Return { spawn "footclient"; } + Mod+T { spawn "sh" "-c" "if pgrep -f '^foot -T dropdown$' >/dev/null; then pkill -f '^foot -T dropdown$'; else exec foot -T dropdown; fi"; } Mod+D { spawn "fuzzel"; } - Super+M { spawn "swaylock"; } - + Mod+M { spawn "swaylock" "--grace" "0"; } + Mod+O { toggle-window-rule-opacity; } // You can also use a shell. Do this if you need pipes, multiple commands, etc. // Note: the entire command goes as a single argument in the end. @@ -341,14 +342,14 @@ binds { Mod+Shift+Q { close-window; } - Mod+Left { focus-column-left; } - Mod+Down { focus-window-down; } - Mod+Up { focus-window-up; } - Mod+Right { focus-column-right; } - Mod+H { focus-column-left; } - Mod+J { focus-window-down; } - Mod+K { focus-window-up; } - Mod+L { focus-column-right; } + Mod+Left { focus-column-or-monitor-left; } + Mod+Down { focus-window-or-monitor-down; } + Mod+Up { focus-window-or-monitor-up; } + Mod+Right { focus-column-or-monitor-right; } + Mod+H { focus-column-or-monitor-left; } + Mod+J { focus-window-or-monitor-down; } + Mod+K { focus-window-or-monitor-up; } + Mod+L { focus-column-or-monitor-right; } Alt+Tab { focus-window-previous; } @@ -408,9 +409,6 @@ binds { Mod+Ctrl+U { move-column-to-workspace-down; } Mod+Ctrl+I { move-column-to-workspace-up; } - // Alternatively, there are commands to move just a single window: - // Mod+Ctrl+Page_Down { move-window-to-workspace-down; } - // ... Mod+Shift+Page_Down { move-workspace-down; } Mod+Shift+Page_Up { move-workspace-up; } @@ -423,22 +421,23 @@ binds { // To avoid scrolling through workspaces really fast, you can use // the cooldown-ms property. The bind will be rate-limited to this value. // You can set a cooldown on any bind, but it's most useful for the wheel. - Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } - Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } - Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } - Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } + Mod+Shift+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } + Mod+Shift+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } + Mod+Shift+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } + Mod+Ctrl+Shift+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } - Mod+WheelScrollRight { focus-column-right; } - Mod+WheelScrollLeft { focus-column-left; } - Mod+Ctrl+WheelScrollRight { move-column-right; } - Mod+Ctrl+WheelScrollLeft { move-column-left; } + Mod+WheelScrollRight cooldown-ms=150 { focus-column-right; } + Mod+WheelScrollLeft cooldown-ms=150 { focus-column-left; } + Mod+Ctrl+WheelScrollRight cooldown-ms=150 { move-column-right; } + Mod+Ctrl+WheelScrollLeft cooldown-ms=150 { move-column-left; } // Usually scrolling up and down with Shift in applications results in - // horizontal scrolling; these binds replicate that. - Mod+Shift+WheelScrollDown { focus-column-right; } - Mod+Shift+WheelScrollUp { focus-column-left; } - Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } - Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } + // horizontal scrolling; these binds replicate that. + // But i found it impractical. workspaces i can graphically cahnge. and probably more rarly, so i swapped it + Mod+WheelScrollDown cooldown-ms=150 { focus-column-right; } + Mod+WheelScrollUp cooldown-ms=150 { focus-column-left; } + Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-right; } + Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-left; } // Similarly, you can bind touchpad scroll "ticks". // Touchpad scrolling is continuous, so for these binds it is split into @@ -516,10 +515,12 @@ binds { // set-column-width "100" will make the column occupy 200 physical screen pixels. Mod+Minus { set-column-width "-10%"; } Mod+Equal { set-column-width "+10%"; } + Mod+0 { set-column-width "+10%"; } // Finer height adjustments when in column with other windows. Mod+Shift+Minus { set-window-height "-10%"; } Mod+Shift+Equal { set-window-height "+10%"; } + Mod+Shift+0 { set-window-height "+10%"; } // Move the focused window between the floating and the tiling layout. Mod+V { toggle-window-floating; } @@ -593,6 +594,8 @@ in #term foot + alacritty + wdisplays swww diff --git a/home/gunalx/waybar.nix b/home/gunalx/waybar.nix index 557fb77..c5e4e34 100644 --- a/home/gunalx/waybar.nix +++ b/home/gunalx/waybar.nix @@ -13,7 +13,7 @@ in { programs.waybar = { enable = true; - package = pkgs.waybarFull; + package = pkgs.waybar; # Single-bar JSON config settings = [