mirror of
https://github.com/Noratrieb/nixos.git
synced 2026-01-14 11:45:06 +01:00
gamer
This commit is contained in:
parent
67c1ae558d
commit
968ae89998
6 changed files with 57 additions and 4 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
pkgs: {
|
pkgs: {
|
||||||
cargo-bisect-rustc = import ./cargo-bisect-rustc/default.nix pkgs;
|
cargo-bisect-rustc = import ./cargo-bisect-rustc/default.nix pkgs;
|
||||||
monaspace = import ./monaspace.nix pkgs;
|
monaspace = import ./monaspace.nix pkgs;
|
||||||
|
sl = import ./sl { inherit pkgs; };
|
||||||
run = import ./run { inherit pkgs; };
|
run = import ./run { inherit pkgs; };
|
||||||
unpem = import ./unpem { inherit pkgs; };
|
unpem = import ./unpem { inherit pkgs; };
|
||||||
u = import ./u { inherit pkgs; };
|
u = import ./u { inherit pkgs; };
|
||||||
|
|
|
||||||
9
custom-pkgs/sl/default.nix
Normal file
9
custom-pkgs/sl/default.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{ pkgs, ... }: pkgs.writeShellApplication {
|
||||||
|
name = "sl";
|
||||||
|
runtimeInputs = with pkgs; [ niri jq ];
|
||||||
|
derivationArgs = {
|
||||||
|
# shellcheck can't comprehend our amazingly new bash syntax
|
||||||
|
checkPhase = null;
|
||||||
|
};
|
||||||
|
text = builtins.readFile ./sl.sh;
|
||||||
|
}
|
||||||
30
custom-pkgs/sl/sl.sh
Normal file
30
custom-pkgs/sl/sl.sh
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
win_id=$(niri msg --json windows | jq '.[] | select(.is_focused==true) | .id')
|
||||||
|
|
||||||
|
niri msg action move-window-to-floating
|
||||||
|
|
||||||
|
position() {
|
||||||
|
niri msg --json windows | jq ".[] | select(.id==${win_id}) | .layout.tile_pos_in_workspace_view.[0] | round"
|
||||||
|
}
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
before_pos_x=${ position; }
|
||||||
|
niri msg action move-floating-window --id "$win_id" -x +50
|
||||||
|
after_pos_x=${ position; }
|
||||||
|
|
||||||
|
if [[ "$before_pos_x" == "$after_pos_x" ]]; then
|
||||||
|
break;
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
niri msg action move-floating-window --id "$win_id" -x -50
|
||||||
|
after_pos_x=${ position; }
|
||||||
|
|
||||||
|
if (( $after_pos_x <= 0 )); then
|
||||||
|
break;
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
niri msg action toggle-window-floating --id "$win_id"
|
||||||
|
|
@ -30,5 +30,6 @@ with pkgs; [
|
||||||
samply
|
samply
|
||||||
tokei
|
tokei
|
||||||
customPkgs.u
|
customPkgs.u
|
||||||
|
customPkgs.sl
|
||||||
uwuify
|
uwuify
|
||||||
] ++ crates
|
] ++ crates
|
||||||
|
|
|
||||||
|
|
@ -540,17 +540,28 @@ binds {
|
||||||
// * adjust width as a percentage of screen width: "-10%" or "+10%"
|
// * adjust width as a percentage of screen width: "-10%" or "+10%"
|
||||||
// Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0,
|
// Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0,
|
||||||
// set-column-width "100" will make the column occupy 200 physical screen pixels.
|
// set-column-width "100" will make the column occupy 200 physical screen pixels.
|
||||||
Mod+Minus { set-column-width "-10%"; }
|
// requires the numpad but at least makes it possible at all
|
||||||
Mod+Equal { set-column-width "+10%"; }
|
Mod+KP_Subtract { set-column-width "-10%"; }
|
||||||
|
Mod+KP_Add { set-column-width "+10%"; }
|
||||||
|
|
||||||
// Finer height adjustments when in column with other windows.
|
// Finer height adjustments when in column with other windows.
|
||||||
Mod+Shift+Minus { set-window-height "-10%"; }
|
// requires the numpad but at least makes it possible at all
|
||||||
Mod+Shift+Equal { set-window-height "+10%"; }
|
Mod+Shift+KP_Subtract { set-window-height "-10%"; }
|
||||||
|
Mod+Shift+KP_Add { set-window-height "+10%"; }
|
||||||
|
|
||||||
// Move the focused window between the floating and the tiling layout.
|
// Move the focused window between the floating and the tiling layout.
|
||||||
Mod+V { toggle-window-floating; }
|
Mod+V { toggle-window-floating; }
|
||||||
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
||||||
|
|
||||||
|
// move around floating windows, sadly not available via binds directly.
|
||||||
|
Mod+Alt+Up { spawn "niri" "msg" "action" "move-floating-window" "-y" "-50"; }
|
||||||
|
Mod+Alt+Down { spawn "niri" "msg" "action" "move-floating-window" "-y" "+50"; }
|
||||||
|
Mod+Alt+Right { spawn "niri" "msg" "action" "move-floating-window" "-x" "+50"; }
|
||||||
|
Mod+Alt+Left { spawn "niri" "msg" "action" "move-floating-window" "-x" "-50"; }
|
||||||
|
|
||||||
|
Mod+S { set-dynamic-cast-window; }
|
||||||
|
Mod+Shift+S { set-dynamic-cast-monitor; }
|
||||||
|
|
||||||
// Toggle tabbed column display mode.
|
// Toggle tabbed column display mode.
|
||||||
// Windows in this column will appear as vertical tabs,
|
// Windows in this column will appear as vertical tabs,
|
||||||
// rather than stacked on top of each other.
|
// rather than stacked on top of each other.
|
||||||
|
|
|
||||||
|
|
@ -207,6 +207,7 @@
|
||||||
rgb(131, 80, 117) 45%,
|
rgb(131, 80, 117) 45%,
|
||||||
#db88c5
|
#db88c5
|
||||||
);
|
);
|
||||||
|
border-bottom: none;
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue