mirror of
https://github.com/ItsDrike/nixdots
synced 2024-11-10 02:49:41 +00:00
Add hyprland-move-window script
This commit is contained in:
parent
14d5cf5261
commit
98f1ed0089
|
@ -89,7 +89,10 @@
|
||||||
#
|
#
|
||||||
# Move floating windows
|
# Move floating windows
|
||||||
#
|
#
|
||||||
# TODO: requires script (move-window.sh)
|
"SUPER_ALT, left, exec, hyprland-move-window 100 l"
|
||||||
|
"SUPER_ALT, right, exec, hyprland-move-window 100 r"
|
||||||
|
"SUPER_ALT, up, exec, hyprland-move-window 100 u"
|
||||||
|
"SUPER_ALT, down, exec, hyprland-move-window 100 d"
|
||||||
|
|
||||||
#
|
#
|
||||||
# Override split direction for next window (manual tiling)
|
# Override split direction for next window (manual tiling)
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
|
|
||||||
inherit (import ./packages {inherit pkgs;}) hyprland-swap-workspace;
|
inherit (import ./packages {inherit pkgs;}) hyprland-swap-workspace hyprland-move-window;
|
||||||
|
|
||||||
cfg = osConfig.myOptions.home-manager.wms.hyprland;
|
cfg = osConfig.myOptions.home-manager.wms.hyprland;
|
||||||
in {
|
in {
|
||||||
|
@ -17,6 +17,7 @@ in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
hyprland-swap-workspace
|
hyprland-swap-workspace
|
||||||
|
hyprland-move-window
|
||||||
];
|
];
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
}: let
|
}: let
|
||||||
packages = {
|
packages = {
|
||||||
hyprland-swap-workspace = pkgs.callPackage ./hyprland-swap-workspace {};
|
hyprland-swap-workspace = pkgs.callPackage ./hyprland-swap-workspace {};
|
||||||
|
hyprland-move-window = pkgs.callPackage ./hyprland-move-window {};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
packages
|
packages
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
{pkgs, ...}:
|
||||||
|
pkgs.writeShellScriptBin "hyprland-move-window" ''
|
||||||
|
${builtins.readFile ./hyprland-move-window.sh}
|
||||||
|
''
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
RESIZE_SIZE=${1:?Missing resize size}
|
||||||
|
|
||||||
|
RESIZE_PARAMS_X=0
|
||||||
|
RESIZE_PARAMS_Y=0
|
||||||
|
|
||||||
|
DIRECTION=${2:?Missing move direction}
|
||||||
|
case $DIRECTION in
|
||||||
|
l)
|
||||||
|
RESIZE_PARAMS_X=-$RESIZE_SIZE
|
||||||
|
;;
|
||||||
|
r)
|
||||||
|
RESIZE_PARAMS_X=$RESIZE_SIZE
|
||||||
|
;;
|
||||||
|
u)
|
||||||
|
RESIZE_PARAMS_Y=-$RESIZE_SIZE
|
||||||
|
;;
|
||||||
|
d)
|
||||||
|
RESIZE_PARAMS_Y=$RESIZE_SIZE
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "kbye"
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
ACTIVE_WINDOW=$(hyprctl activewindow -j)
|
||||||
|
IS_FLOATING=$(echo "$ACTIVE_WINDOW" | jq .floating)
|
||||||
|
|
||||||
|
if [ "$IS_FLOATING" = "true" ]; then
|
||||||
|
hyprctl dispatch moveactive "$RESIZE_PARAMS_X" "$RESIZE_PARAMS_Y"
|
||||||
|
else
|
||||||
|
hyprctl dispatch movewindow "$DIRECTION"
|
||||||
|
fi
|
Loading…
Reference in a new issue