Changed brightness keys to show notification (if dunstify present) Changed brightness scale to 10 steps
82 lines
3.3 KiB
Nix
82 lines
3.3 KiB
Nix
{ scripts, extra, config, lib, pkgs, terminal, ... }@inputs:
|
|
|
|
|
|
let
|
|
dynscreenshot = pkgs.writeShellScript "dynscreenshot" (builtins.readFile "${scripts}/dynscreenshot.sh");
|
|
changebrightness = pkgs.writeShellScript "changebrightness" (builtins.readFile "${scripts}/changebrightness.sh");
|
|
mod = config.wayland.windowManager.sway.config.modifier;
|
|
dmenuCommand = builtins.readFile "${scripts}/dmenu.sh";
|
|
shutdownMenu = pkgs.writeShellScript "shutdownmenu" (builtins.readFile "${scripts}/shutdownmenu.sh");
|
|
backgroundImage = "${extra}/bord.jpg";
|
|
in {
|
|
enable = true;
|
|
config = rec {
|
|
terminal = "${pkgs.lib.getExe inputs.terminal}";
|
|
modifier = "Mod4";
|
|
fonts = {
|
|
names = [ "Red Hat Display" ];
|
|
style = "Regular";
|
|
size = 12.0;
|
|
};
|
|
input."type:touchpad" = {
|
|
natural_scroll = "disabled";
|
|
dwt = "disabled";
|
|
click_method = "clickfinger";
|
|
scroll_factor = "0.5";
|
|
};
|
|
bars = let config = config; in [{
|
|
position = "top";
|
|
inherit fonts;
|
|
statusCommand = "${pkgs.i3status}/bin/i3status";
|
|
}];
|
|
window = {
|
|
border = 2;
|
|
titlebar = true;
|
|
};
|
|
keybindings = let screenshotPath = "Pictures/Screenshots/screenshot`date +%Y%m%d%H%M%S`.png"; in lib.mkOptionDefault ({ # Screenshot keybinds
|
|
"Print" = "exec grim - | wl-copy && wl-paste > ${screenshotPath}"; # Take screenshot of whole screen, save it, and copy it to clipboard
|
|
"Shift+Print" = "exec swaymsg -t get_tree | jq -r '.. | select(.focused?) | .rect | \"\\(.x),\\(.y) \\(.width)x\\(.height)\"' | grim -g - | wl-copy && wl-paste > ${screenshotPath}"; # Take screenshot of current window, save it, and copy it to clipboard
|
|
"Ctrl+Print" = "exec bash ${dynscreenshot}"; # Take screenshot of selection, save it, and copy it to clipboard
|
|
} // { # Function Media Keys
|
|
XF86MonBrightnessUp = "exec bash ${changebrightness} 1";
|
|
XF86MonBrightnessDown = "exec bash ${changebrightness} -1";
|
|
XF86AudioMute = "exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
|
"${mod}+XF86AudioMute" = "exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
|
|
XF86AudioRaiseVolume = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+";
|
|
XF86AudioLowerVolume = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-";
|
|
"${mod}+XF86AudioRaiseVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 0.05+";
|
|
"${mod}+XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 0.05-";
|
|
"${mod}+Shift+e" = null;
|
|
XF86PowerOff = "exec DMENU_COMMAND='${dmenuCommand}' bash ${shutdownMenu}";
|
|
} // {
|
|
"${mod}+space" = "exec fcitx5-remote -t";
|
|
} // {
|
|
});
|
|
menu = "j4-dmenu-desktop --no-generic --term=${pkgs.lib.getExe inputs.terminal} --dmenu='${dmenuCommand}'";
|
|
focus.followMouse = false;
|
|
};
|
|
extraConfig =
|
|
''
|
|
output 'eDP-1' scale 1.50
|
|
'' + # Fractional scaling to 1.50
|
|
''
|
|
exec fcitx5
|
|
'' + # Fcitx5 enables input method switching
|
|
''
|
|
exec dunst
|
|
'' + # Enable notifications
|
|
''
|
|
bindgesture swipe:4:up focus parent
|
|
bindgesture swipe:4:left workspace prev
|
|
bindgesture swipe:4:right workspace next
|
|
bindgesture swipe:3:up focus up
|
|
bindgesture swipe:3:down focus down
|
|
bindgesture swipe:3:left focus left
|
|
bindgesture swipe:3:right focus right
|
|
'' + # Multi-touch touchpad gestures
|
|
''
|
|
exec swaybg -i ${backgroundImage}
|
|
'' + # Background image
|
|
"";
|
|
}
|