Switch from sway to hyprland
This commit is contained in:
parent
524bffc068
commit
2be0e3847b
|
@ -22,7 +22,7 @@ lib.mkIf (config.platform != "mobile")
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
displayManager.defaultSession = "sway";
|
displayManager.defaultSession = "hyprland";
|
||||||
displayManager.sddm = {
|
displayManager.sddm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = "tokyo-night-sddm";
|
theme = "tokyo-night-sddm";
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
gcc
|
gcc
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.hyprland.enable = true;
|
||||||
|
|
||||||
programs.fish.enable = true;
|
programs.fish.enable = true;
|
||||||
programs.sway.enable = true;
|
programs.sway.enable = true;
|
||||||
programs.sway.extraPackages = [];
|
programs.sway.extraPackages = [];
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./sway.nix
|
./hyprland.nix
|
||||||
./swaytools.nix
|
./wltools.nix
|
||||||
./waybar.nix
|
./waybar.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
158
home-manager/wayland/hyprland.nix
Normal file
158
home-manager/wayland/hyprland.nix
Normal file
|
@ -0,0 +1,158 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
scripts = ../../scripts;
|
||||||
|
modifier = "SUPER";
|
||||||
|
terminal = "alacritty";
|
||||||
|
in {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
swaybg
|
||||||
|
swayidle
|
||||||
|
wl-clipboard
|
||||||
|
wtype
|
||||||
|
wlroots
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
imv
|
||||||
|
];
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
enableNvidiaPatches = config.platform == "desktop";
|
||||||
|
systemd.enable = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
"$mod" = modifier;
|
||||||
|
"$terminal" = terminal;
|
||||||
|
"$menu" = "rofi -show drun";
|
||||||
|
|
||||||
|
exec-once = [
|
||||||
|
"${scripts}/autostart ${../../assets/background.png}"
|
||||||
|
];
|
||||||
|
|
||||||
|
general = {
|
||||||
|
border_size = 3;
|
||||||
|
gaps_in = 8;
|
||||||
|
gaps_out = 8;
|
||||||
|
|
||||||
|
cursor_inactive_timeout = 5;
|
||||||
|
resize_on_border = true;
|
||||||
|
|
||||||
|
"col.inactive_border" = "rgb(474f6f)";
|
||||||
|
"col.active_border" = "rgb(7bc5e4)";
|
||||||
|
"col.nogroup_border" = "rgb(d5556f)";
|
||||||
|
"col.nogroup_border_active" = "rgb(d5556f)";
|
||||||
|
};
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 10;
|
||||||
|
|
||||||
|
"col.shadow" = "rgba(1a1b26c0)";
|
||||||
|
};
|
||||||
|
|
||||||
|
group.groupbar = {
|
||||||
|
font_family = "JetBrainsMono Nerd Font";
|
||||||
|
font_size = 14;
|
||||||
|
};
|
||||||
|
|
||||||
|
animations = {
|
||||||
|
bezier = [ "overshot, 0.13, 0.99, 0.29, 1.1" ];
|
||||||
|
animation = [
|
||||||
|
"windowsMove, 1, 4, overshot, slide"
|
||||||
|
"windowsIn, 1, 2, default, popin 70%"
|
||||||
|
"windowsOut, 1, 2, default, popin 70%"
|
||||||
|
"border, 1, 8, default,"
|
||||||
|
"fade, 1, 8, default,"
|
||||||
|
"workspaces, 1, 4, overshot, slide"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
misc.disable_hyprland_logo = true;
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
"$mod, Return, exec, $terminal"
|
||||||
|
"$mod, D, exec, $menu"
|
||||||
|
"$mod, E, exec, ${scripts}/exit"
|
||||||
|
"$mod Shift, E, exit,"
|
||||||
|
"$mod, M, exec, swaylock"
|
||||||
|
|
||||||
|
# Emacs Everywhere
|
||||||
|
"$mod, Q, exec, $HOME/.emacs.d/bin/doom +everywhere"
|
||||||
|
|
||||||
|
# Windows
|
||||||
|
"$mod, Left, movefocus, l"
|
||||||
|
"$mod, Right, movefocus, r"
|
||||||
|
"$mod, Up, movefocus, u"
|
||||||
|
"$mod, Down, movefocus, d"
|
||||||
|
"$mod, H, movefocus, l"
|
||||||
|
"$mod, L, movefocus, r"
|
||||||
|
"$mod, K, movefocus, u"
|
||||||
|
"$mod, J, movefocus, d"
|
||||||
|
|
||||||
|
"$mod Shift, Left, movewindow, l"
|
||||||
|
"$mod Shift, Right, movewindow, r"
|
||||||
|
"$mod Shift, Up, movewindow, u"
|
||||||
|
"$mod Shift, Down, movewindow, d"
|
||||||
|
"$mod Shift, H, movewindow, l"
|
||||||
|
"$mod Shift, L, movewindow, r"
|
||||||
|
"$mod Shift, K, movewindow, u"
|
||||||
|
"$mod Shift, J, movewindow, d"
|
||||||
|
|
||||||
|
"$mod Shift, Q, killactive,"
|
||||||
|
"$mod, G, togglegroup,"
|
||||||
|
"$mod, Tab, changegroupactive, f"
|
||||||
|
"$mod Shift, Tab, changegroupactive, b"
|
||||||
|
|
||||||
|
# Workspaces
|
||||||
|
"$mod, 1, workspace, 1"
|
||||||
|
"$mod, 2, workspace, 2"
|
||||||
|
"$mod, 3, workspace, 3"
|
||||||
|
"$mod, 4, workspace, 4"
|
||||||
|
"$mod, 5, workspace, 5"
|
||||||
|
"$mod, 6, workspace, 6"
|
||||||
|
"$mod, 7, workspace, 7"
|
||||||
|
"$mod, 8, workspace, 8"
|
||||||
|
"$mod, 9, workspace, 9"
|
||||||
|
"$mod, 0, workspace, 10"
|
||||||
|
|
||||||
|
# Workspace Movement
|
||||||
|
"$mod Shift, 1, movetoworkspace, 1"
|
||||||
|
"$mod Shift, 2, movetoworkspace, 2"
|
||||||
|
"$mod Shift, 3, movetoworkspace, 3"
|
||||||
|
"$mod Shift, 4, movetoworkspace, 4"
|
||||||
|
"$mod Shift, 5, movetoworkspace, 5"
|
||||||
|
"$mod Shift, 6, movetoworkspace, 6"
|
||||||
|
"$mod Shift, 7, movetoworkspace, 7"
|
||||||
|
"$mod Shift, 8, movetoworkspace, 8"
|
||||||
|
"$mod Shift, 9, movetoworkspace, 9"
|
||||||
|
"$mod Shift, 0, movetoworkspace, 10"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindl = let
|
||||||
|
# Volume using pamixer
|
||||||
|
audio-disp = "${scripts}/multimedia Volume pamixer $(pamixer --get-volume)";
|
||||||
|
audio = cmd: "pamixer ${cmd} && ${audio-disp}";
|
||||||
|
# Brightness using brightnessctl
|
||||||
|
brightness-disp = ''${scripts}/multimedia Brightness brightnessctl $(brightnessctl -e -m | cut -d "," -f4 | tr -d "%")'';
|
||||||
|
brightness = x: "brightnessctl -e set ${x} && ${brightness-disp}";
|
||||||
|
in [
|
||||||
|
# Special XF86 key bindings
|
||||||
|
", XF86AudioRaiseVolume, exec, ${audio "-i 2"}"
|
||||||
|
", XF86AudioLowerVolume, exec, ${audio "-d 2"}"
|
||||||
|
"Shift, XF86AudioRaiseVolume, exec, ${audio "-i 2 --allow-boost"}"
|
||||||
|
"Shift, XF86AudioLowerVolume, exec, ${audio "-d 2 --allow-boost"}"
|
||||||
|
", XF86AudioMute, exec, pamixer --toggle-mute"
|
||||||
|
", XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle"
|
||||||
|
", XF86MonBrightnessDown, exec, ${brightness "4%-"}"
|
||||||
|
", XF86MonBrightnessUp, exec, ${brightness "4%+"}"
|
||||||
|
", XF86AudioPlay, exec, playerctl play-pause"
|
||||||
|
", XF86AudioNext, exec, playerctl next"
|
||||||
|
", XF86AudioPrev, exec, playerctl previous"
|
||||||
|
|
||||||
|
# Screenshot
|
||||||
|
", Print, exec, ${scripts}/screenshot"
|
||||||
|
"Shift, Print, exec, ${scripts}/screenshot-slurp"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
configuration {
|
configuration {
|
||||||
cycle: false;
|
cycle: false;
|
||||||
modi: "drun,run,workspace:~/.config/rofi/workspace.sh,workspacemove:~/.config/rofi/workspacemove.sh";
|
modi: "drun";
|
||||||
font: "JetBrainsMono Nerd Font 14";
|
font: "JetBrainsMono Nerd Font 14";
|
||||||
location: 0;
|
location: 0;
|
||||||
terminal: "alacritty";
|
terminal: "alacritty";
|
||||||
|
@ -10,9 +10,6 @@ configuration {
|
||||||
|
|
||||||
drun-display-format: "{name}";
|
drun-display-format: "{name}";
|
||||||
display-drun: " Apps ";
|
display-drun: " Apps ";
|
||||||
display-run: " Run ";
|
|
||||||
display-workspace: " Workspace ";
|
|
||||||
display-workspacemove: " Move to Workspace ";
|
|
||||||
|
|
||||||
// Bindings
|
// Bindings
|
||||||
kb-remove-to-eol: "";
|
kb-remove-to-eol: "";
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
|
|
||||||
@import "config.rasi"
|
|
||||||
|
|
||||||
configuration {
|
|
||||||
show-icons: false;
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
if [ $# -ne 0 ]; then
|
|
||||||
swaymsg workspace "$@" > /dev/null
|
|
||||||
else
|
|
||||||
swaymsg -t get_workspaces |
|
|
||||||
jq -r 'map(.name) + ["10:browser","20:terminal","30:code","40:files","50:discord","60:settings"] | unique | .[]'
|
|
||||||
fi
|
|
|
@ -1,8 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
if [ $# -ne 0 ]; then
|
|
||||||
swaymsg move container to workspace "$@" > /dev/null
|
|
||||||
else
|
|
||||||
swaymsg -t get_workspaces |
|
|
||||||
jq -r 'map(.name) + ["10:browser","20:terminal","30:code","40:files","50:discord","60:settings"] | unique | .[]'
|
|
||||||
fi
|
|
|
@ -1,140 +0,0 @@
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
let
|
|
||||||
modifier = "Mod4";
|
|
||||||
terminal = "alacritty";
|
|
||||||
in {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
swayidle
|
|
||||||
wl-clipboard
|
|
||||||
wtype
|
|
||||||
wlroots
|
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
imv
|
|
||||||
];
|
|
||||||
|
|
||||||
wayland.windowManager.sway = {
|
|
||||||
enable = true;
|
|
||||||
wrapperFeatures.gtk = true;
|
|
||||||
config = {
|
|
||||||
inherit modifier terminal;
|
|
||||||
menu = "rofi -show drun";
|
|
||||||
|
|
||||||
fonts = {
|
|
||||||
names = [ "JetBrainsMono Nerd Font" ];
|
|
||||||
style = "Medium";
|
|
||||||
size = 10.0;
|
|
||||||
};
|
|
||||||
|
|
||||||
bars = [{ command = "waybar"; }];
|
|
||||||
|
|
||||||
window.border = 3;
|
|
||||||
gaps = {
|
|
||||||
inner = 8;
|
|
||||||
outer = 0;
|
|
||||||
};
|
|
||||||
colors = {
|
|
||||||
unfocused.border = "#474f6f";
|
|
||||||
unfocused.background = "#1a1b26";
|
|
||||||
unfocused.text = "#a9b1d6";
|
|
||||||
unfocused.indicator = "#474f6f";
|
|
||||||
unfocused.childBorder = "#474f6f";
|
|
||||||
|
|
||||||
focused.border = "#7bc5e4";
|
|
||||||
focused.background = "#1a1b26";
|
|
||||||
focused.text = "#a9b1d6";
|
|
||||||
focused.indicator = "#7bc5e4";
|
|
||||||
focused.childBorder = "#7bc5e4";
|
|
||||||
|
|
||||||
focusedInactive.border = "#787c99";
|
|
||||||
focusedInactive.background = "#1a1b26";
|
|
||||||
focusedInactive.text = "#a9b1d6";
|
|
||||||
focusedInactive.indicator = "#787c99";
|
|
||||||
focusedInactive.childBorder = "#787c99";
|
|
||||||
|
|
||||||
urgent.border = "#d5556f";
|
|
||||||
urgent.background = "#444b6a";
|
|
||||||
urgent.text = "#ffffff";
|
|
||||||
urgent.indicator = "#d5556f";
|
|
||||||
urgent.childBorder = "#d5556f";
|
|
||||||
};
|
|
||||||
|
|
||||||
startup = map (x: { command = x; }) [
|
|
||||||
''swayidle timeout 120 'swaylock -f --grace=180' \
|
|
||||||
timeout 600 'systemctl suspend' \
|
|
||||||
before-sleep 'swaylock -f' ''
|
|
||||||
''export XDG_SESSION_TYPE=wayland''
|
|
||||||
''export XDG_CURRENT_DESKTOP=sway''
|
|
||||||
];
|
|
||||||
|
|
||||||
keybindings = let
|
|
||||||
multimedia = summary: app: value:
|
|
||||||
''
|
|
||||||
notify-send ${summary} -c multimedia -a ${app} \
|
|
||||||
$(makoctl list | jq -r 'first(.data[][]|select(.category.data=="multimedia")|.id.data|["-r",.])[]') \
|
|
||||||
-h INT:value:$(${value})
|
|
||||||
'';
|
|
||||||
# Volume using pamixer
|
|
||||||
audio-disp = multimedia "Volume" "pamixer" "pamixer --get-volume";
|
|
||||||
audio = cmd: "exec pamixer ${cmd} && ${audio-disp}";
|
|
||||||
# Brightness using brightnessctl
|
|
||||||
brightness-disp = multimedia "Brightness" "brightnessctl" ''brightnessctl -e -m | cut -d "," -f4 | tr -d "%"'';
|
|
||||||
brightness = x: "exec brightnessctl -e set ${x} && ${brightness-disp}";
|
|
||||||
# Play controls using playerctl
|
|
||||||
playerctl = cmd: "exec playerctl ${cmd}";
|
|
||||||
# Grim screenshot file name
|
|
||||||
filename = ''~/Pictures/$(date +%Y-%m-%d_%H-%M-%S).png'';
|
|
||||||
in pkgs.lib.mkOptionDefault {
|
|
||||||
"${modifier}+Shift+d" = "exec rofi -show run -config ~/.config/rofi/noicons.rasi";
|
|
||||||
"${modifier}+w" = "exec rofi -show workspace -config ~/.config/rofi/noicons.rasi";
|
|
||||||
"${modifier}+Shift+w" = "exec rofi -show workspacemove -config ~/.config/rofi/noicons.rasi";
|
|
||||||
|
|
||||||
"${modifier}+t" = "layout tabbed";
|
|
||||||
"${modifier}+Shift+m" = "exec swaylock";
|
|
||||||
|
|
||||||
# Emacs Everywhere
|
|
||||||
"${modifier}+q" = "exec ~/.emacs.d/bin/doom +everywhere";
|
|
||||||
|
|
||||||
# Screenshot
|
|
||||||
"Print" = ''exec grim ${filename}'';
|
|
||||||
"Shift+Print" = ''exec grim -g "$(slurp)" ${filename}'';
|
|
||||||
"Mod1+Print" = ''exec grim -g "$(swaymsg -t get_tree | jq -j '.. | \
|
|
||||||
select(.type?) | select(.focused).rect | "\(.x),\(.y) \(.width)x\(.height)"')" ${filename}'';
|
|
||||||
|
|
||||||
# Special XF86 key bindings
|
|
||||||
"XF86AudioRaiseVolume" = audio "-i 2";
|
|
||||||
"XF86AudioLowerVolume" = audio "-d 2";
|
|
||||||
"Shift+XF86AudioRaiseVolume" = audio "-i 2 --allow-boost";
|
|
||||||
"Shift+XF86AudioLowerVolume" = audio "-d 2 --allow-boost";
|
|
||||||
"XF86AudioMute" = ''exec pamixer --toggle-mute'';
|
|
||||||
"XF86AudioMicMute" = ''exec pactl set-source-mute @DEFAULT_SOURCE@ toggle'';
|
|
||||||
"XF86MonBrightnessDown" = brightness "4%-";
|
|
||||||
"XF86MonBrightnessUp" = brightness "4%+";
|
|
||||||
"XF86AudioPlay" = playerctl "play-pause";
|
|
||||||
"XF86AudioNext" = playerctl "next";
|
|
||||||
"XF86AudioPrev" = playerctl "previous";
|
|
||||||
|
|
||||||
# Exit
|
|
||||||
"${modifier}+Shift+e" = ''exec pkill -0 swaynag || \
|
|
||||||
swaynag -t exit -m "Do you really want to exit?" \
|
|
||||||
-B "Reboot" "reboot" -B "Shutdown" "poweroff" -b "Exit" "swaymsg exit"'';
|
|
||||||
|
|
||||||
# Workspaces
|
|
||||||
"${modifier}+1" = "workspace 10:browser";
|
|
||||||
"${modifier}+2" = "workspace 20:terminal";
|
|
||||||
"${modifier}+3" = "workspace 30:code";
|
|
||||||
"${modifier}+4" = "workspace 40:files";
|
|
||||||
"${modifier}+5" = "workspace 50:discord";
|
|
||||||
"${modifier}+6" = "workspace 60:settings";
|
|
||||||
"${modifier}+Shift+1" = "move container to workspace 10:browser";
|
|
||||||
"${modifier}+Shift+2" = "move container to workspace 20:terminal";
|
|
||||||
"${modifier}+Shift+3" = "move container to workspace 30:code";
|
|
||||||
"${modifier}+Shift+4" = "move container to workspace 40:files";
|
|
||||||
"${modifier}+Shift+5" = "move container to workspace 50:discord";
|
|
||||||
"${modifier}+Shift+6" = "move container to workspace 60:settings";
|
|
||||||
};
|
|
||||||
|
|
||||||
output."*".bg = "${../../assets/background.png} fill";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -10,8 +10,9 @@
|
||||||
margin = "8 8 0";
|
margin = "8 8 0";
|
||||||
|
|
||||||
|
|
||||||
modules-left = [ "sway/workspaces" "sway/mode" "custom/sep" "cpu" "memory" "temperature" ];
|
modules-left = [ "hyprland/workspaces" "custom/sep" "cpu" "memory" "temperature" ];
|
||||||
modules-center = [ "sway/window" ];
|
|
||||||
|
modules-center = [ "hyprland/window" ];
|
||||||
|
|
||||||
modules-right =
|
modules-right =
|
||||||
if config.platform == "laptop" then
|
if config.platform == "laptop" then
|
||||||
|
@ -21,33 +22,6 @@
|
||||||
|
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
"sway/workspaces" = {
|
|
||||||
disable-scroll = true;
|
|
||||||
all-outputs = true;
|
|
||||||
numeric-first = true;
|
|
||||||
format = "<big>{icon}</big>";
|
|
||||||
|
|
||||||
persistent_workspaces = {
|
|
||||||
"10:browser" = [];
|
|
||||||
"20:terminal" = [];
|
|
||||||
"30:code" = [];
|
|
||||||
"40:files" = [];
|
|
||||||
"50:discord" = [];
|
|
||||||
"60:settings" = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
format-icons = {
|
|
||||||
browser = "${spanfa}<small> </small></span>";
|
|
||||||
terminal = "${spanfa}</span>";
|
|
||||||
code = "${spanfa}</span>";
|
|
||||||
files = "${spanfa}</span>";
|
|
||||||
discord = "${spanfa}</span>";
|
|
||||||
settings = "${spanfa}</span>";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"sway/mode" = {
|
|
||||||
format = "<span style=\"italic\">{}</span>";
|
|
||||||
};
|
|
||||||
"mpd" = {
|
"mpd" = {
|
||||||
format = "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ ";
|
format = "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ ";
|
||||||
format-disconnected = "Disconnected ";
|
format-disconnected = "Disconnected ";
|
||||||
|
@ -200,17 +174,13 @@
|
||||||
background: @background;
|
background: @background;
|
||||||
border: none;
|
border: none;
|
||||||
padding: 0px 3px;
|
padding: 0px 3px;
|
||||||
|
text-shadow: 0px 0px 2px shade(@blue, 1.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button.persistent {color: @empty;}
|
#workspaces button.active {
|
||||||
#workspaces button.focused {
|
|
||||||
color: shade(@pink, 1.1);
|
color: shade(@pink, 1.1);
|
||||||
text-shadow: 0px 0px 2px shade(@pink, 1.2);
|
text-shadow: 0px 0px 2px shade(@pink, 1.2);
|
||||||
}
|
}
|
||||||
#workspaces button.urgent {
|
|
||||||
background-color: @altred;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock,
|
#clock,
|
||||||
#battery,
|
#battery,
|
||||||
|
|
9
scripts/autostart
Executable file
9
scripts/autostart
Executable file
|
@ -0,0 +1,9 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
swaybg -o '*' -i "$1" -m fill &
|
||||||
|
|
||||||
|
waybar &
|
||||||
|
|
||||||
|
swayidle timeout 120 'swaylock -f --grace=180' \
|
||||||
|
timeout 600 'systemctl suspend' \
|
||||||
|
before-sleep 'swaylock -f' &
|
4
scripts/exit
Executable file
4
scripts/exit
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
pkill -0 swaynag || \
|
||||||
|
swaynag -t exit -m "Do you really want to exit?" \
|
||||||
|
-B "Reboot" "reboot" -B "Shutdown" "poweroff" -b "Exit" "hyprctl dispatch exit"
|
4
scripts/multimedia
Executable file
4
scripts/multimedia
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
notify-send "$1" -c multimedia -a "$2" \
|
||||||
|
$(makoctl list | jq -r 'first(.data[][]|select(.category.data=="multimedia")|.id.data|["-r",.])[]') \
|
||||||
|
-h "INT:value:$3"
|
4
scripts/screenshot
Executable file
4
scripts/screenshot
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
grim - | wl-copy
|
||||||
|
notify-send "Screenshot saved to clipboard" \
|
||||||
|
-a grim -c screenshot -u low
|
4
scripts/screenshot-slurp
Executable file
4
scripts/screenshot-slurp
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
grim -g "$(slurp)" - | wl-copy
|
||||||
|
notify-send "Screenshot saved to clipboard" \
|
||||||
|
-a grim -c screenshot -u low
|
Loading…
Reference in a new issue