add mumble push to talk for wayland
This commit is contained in:
parent
08d4c0e771
commit
fa648a5dbf
|
@ -11,7 +11,7 @@ commonConfig = {
|
||||||
workspaceNumbers = true;
|
workspaceNumbers = true;
|
||||||
statusCommand = "${pkgs.i3status}/bin/i3status";
|
statusCommand = "${pkgs.i3status}/bin/i3status";
|
||||||
fonts = {
|
fonts = {
|
||||||
names = [ "Noto Sans Mono" ];
|
names = [ "Noto Sans Mono" "Symbols Nerd Font Mono" ];
|
||||||
size = 16.0;
|
size = 16.0;
|
||||||
};
|
};
|
||||||
trayOutput = "*";
|
trayOutput = "*";
|
||||||
|
@ -88,7 +88,7 @@ commonConfig = {
|
||||||
};
|
};
|
||||||
floating.titlebar = true;
|
floating.titlebar = true;
|
||||||
fonts = {
|
fonts = {
|
||||||
names = [ "Noto Sans" "Noto Emoji" "FontAwesome5Free" ];
|
names = [ "Noto Sans" "Noto Emoji" "Symbols Nerd Font Mono" ];
|
||||||
size = 16.0;
|
size = 16.0;
|
||||||
};
|
};
|
||||||
gaps = {
|
gaps = {
|
||||||
|
@ -96,7 +96,7 @@ commonConfig = {
|
||||||
smartGaps = true;
|
smartGaps = true;
|
||||||
inner = 10;
|
inner = 10;
|
||||||
};
|
};
|
||||||
menu = "${pkgs.bemenu}/bin/bemenu-run --no-overlap --prompt '>' --tb '#24101a' --tf '#ebbe5f' --fb '#24101a' --nb '#24101a70' --ab '#24101a70' --nf '#ebdadd' --af '#ebdadd' --hb '#394893' --hf '#e66e6e' --list 30 --prefix '*' --scrollbar autohide --fn 'Noto Sans Mono' --line-height 23 --sb '#394893' --sf '#ebdadd' --scb '#6b4d52' --scf '#e66e6e'";
|
menu = "${pkgs.bemenu}/bin/bemenu-run --no-overlap --prompt '>' --tb '#24101a' --tf '#ebbe5f' --fb '#24101a' --nb '#24101ac0' --ab '#24101ac0' --nf '#ebdadd' --af '#ebdadd' --hb '#394893' --hf '#e66e6e' --list 30 --prefix '*' --scrollbar autohide --fn 'Noto Sans Mono' --line-height 23 --sb '#394893' --sf '#ebdadd' --scb '#6b4d52' --scf '#e66e6e'";
|
||||||
window.hideEdgeBorders = "smart";
|
window.hideEdgeBorders = "smart";
|
||||||
workspaceAutoBackAndForth = true;
|
workspaceAutoBackAndForth = true;
|
||||||
};
|
};
|
||||||
|
@ -104,6 +104,9 @@ genKeybindings = (default_options: kb:
|
||||||
kb // {
|
kb // {
|
||||||
"${modifier}+Shift+g" = "floating toggle";
|
"${modifier}+Shift+g" = "floating toggle";
|
||||||
"${modifier}+g" = "focus mode_toggle";
|
"${modifier}+g" = "focus mode_toggle";
|
||||||
|
XF86AudioMicMute = "exec ${pkgs.pamixer}/bin/pamixer --default-source --toggle-mute";
|
||||||
|
XF86MonBrightnessDown = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 5%-";
|
||||||
|
XF86MonBrightnessUp = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 5%+";
|
||||||
}
|
}
|
||||||
// (lib.attrsets.filterAttrs
|
// (lib.attrsets.filterAttrs
|
||||||
(k: v:
|
(k: v:
|
||||||
|
@ -121,7 +124,7 @@ in
|
||||||
# TODO merge with colors in gui.nix
|
# TODO merge with colors in gui.nix
|
||||||
imports = [ ./options.nix ./gui.nix ];
|
imports = [ ./options.nix ./gui.nix ];
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
BEMENU_OPTS = "--no-overlap --prompt '>' --tb '#24101a' --tf '#ebbe5f' --fb '#24101a' --nb '#24101a70' --ab '#24101a70' --nf '#ebdadd' --af '#ebdadd' --hb '#394893' --hf '#e66e6e' --list 30 --prefix '*' --scrollbar autohide --fn 'Noto Sans Mono' --line-height 23 --sb '#394893' --sf '#ebdadd' --scb '#6b4d52' --scf '#e66e6e'";
|
BEMENU_OPTS = "--no-overlap --prompt '>' --tb '#24101a' --tf '#ebbe5f' --fb '#24101a' --nb '#24101ac0' --ab '#24101ac0' --nf '#ebdadd' --af '#ebdadd' --hb '#394893' --hf '#e66e6e' --list 30 --prefix '*' --scrollbar autohide --fn 'Noto Sans Mono' --line-height 23 --sb '#394893' --sf '#ebdadd' --scb '#6b4d52' --scf '#e66e6e'";
|
||||||
_JAVA_AWT_WM_NONREPARENTING = "1";
|
_JAVA_AWT_WM_NONREPARENTING = "1";
|
||||||
GTK_IM_MODULE = "fcitx";
|
GTK_IM_MODULE = "fcitx";
|
||||||
QT_IM_MODULE = "fcitx";
|
QT_IM_MODULE = "fcitx";
|
||||||
|
@ -154,7 +157,14 @@ in
|
||||||
};
|
};
|
||||||
xsession.windowManager.i3 = {
|
xsession.windowManager.i3 = {
|
||||||
config = let i3Config = {
|
config = let i3Config = {
|
||||||
keybindings = genKeybindings options.xsession.windowManager.i3 {};
|
keybindings = genKeybindings options.xsession.windowManager.i3 {
|
||||||
|
XF86AudioRaiseVolume = "exec ${pkgs.pamixer}/bin/pamixer --increase 5";
|
||||||
|
XF86AudioLowerVolume = "exec ${pkgs.pamixer}/bin/pamixer --decrease 5";
|
||||||
|
XF86AudioMute = "exec ${pkgs.pamixer}/bin/pamixer --toggle-mute";
|
||||||
|
XF86AudioPlay = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
|
||||||
|
XF86AudioNext = "exec ${pkgs.playerctl}/bin/playerctl next";
|
||||||
|
XF86AudioPrev = "exec ${pkgs.playerctl}/bin/playerctl previous";
|
||||||
|
};
|
||||||
terminal = config.terminalBinX;
|
terminal = config.terminalBinX;
|
||||||
}; in i3Config // commonConfig // i3Config;
|
}; in i3Config // commonConfig // i3Config;
|
||||||
};
|
};
|
||||||
|
@ -191,9 +201,56 @@ in
|
||||||
assigns = {
|
assigns = {
|
||||||
"3" = [{ app_id = "org.keepassxc.KeePassXC"; }];
|
"3" = [{ app_id = "org.keepassxc.KeePassXC"; }];
|
||||||
};
|
};
|
||||||
keybindings = genKeybindings options.wayland.windowManager.sway (with pkgs.sway-contrib; {
|
keybindings = genKeybindings options.wayland.windowManager.sway (with pkgs.sway-contrib;
|
||||||
|
let
|
||||||
|
modifiers = [
|
||||||
|
"shift"
|
||||||
|
"lock" # caps lock
|
||||||
|
"control"
|
||||||
|
"mod1" # alt
|
||||||
|
"mod2" # num lock
|
||||||
|
# "mod3" # no keys are here by default
|
||||||
|
"mod4" # super/hyper
|
||||||
|
"mod5" # alt gr?
|
||||||
|
];
|
||||||
|
modifierPairs =
|
||||||
|
builtins.filter
|
||||||
|
(x: x != null)
|
||||||
|
(builtins.map
|
||||||
|
({a, b}: if a >= b then null else "${a}+${b}")
|
||||||
|
(lib.attrsets.cartesianProductOfSets {
|
||||||
|
a = modifiers;
|
||||||
|
b=modifiers;
|
||||||
|
}));
|
||||||
|
modifierTriples = ["control+shift+mod1" "control+shift+mod4" "control+mod1+mod4" "control+shift+mod5"];
|
||||||
|
modifierCombos = modifiers ++ modifierPairs ++ modifierTriples;
|
||||||
|
# god this is so annoying... sway doesn't provide the option to ignore
|
||||||
|
# modifiers in a binding because i3 doesn't have it, and I'm not about
|
||||||
|
# to ask i3 to add it just so I can ask sway to add it.. this will do
|
||||||
|
forAllModifiers = (prefix: key: cmd:
|
||||||
|
lib.attrsets.genAttrs
|
||||||
|
((builtins.map
|
||||||
|
(mod: "${prefix}${mod}+${key}")
|
||||||
|
modifierCombos)
|
||||||
|
++ ["${prefix}${key}"])
|
||||||
|
(name: cmd));
|
||||||
|
in (forAllModifiers
|
||||||
|
"--inhibited --no-repeat "
|
||||||
|
"Scroll_Lock"
|
||||||
|
"exec ${pkgs.mumble}/bin/mumble rpc starttalking")
|
||||||
|
// (forAllModifiers
|
||||||
|
"--inhibited --no-repeat --release "
|
||||||
|
"Scroll_Lock"
|
||||||
|
"exec ${pkgs.mumble}/bin/mumble rpc stoptalking")
|
||||||
|
// {
|
||||||
"${modifier}+Print" = "exec ${grimshot}/bin/grimshot copy area";
|
"${modifier}+Print" = "exec ${grimshot}/bin/grimshot copy area";
|
||||||
"${modifier}+Mod1+Print" = "exec ${grimshot}/bin/grimshot copy window";
|
"${modifier}+Mod1+Print" = "exec ${grimshot}/bin/grimshot copy window";
|
||||||
|
"--locked XF86AudioRaiseVolume" = "exec ${pkgs.pamixer}/bin/pamixer --increase 5";
|
||||||
|
"--locked XF86AudioLowerVolume" = "exec ${pkgs.pamixer}/bin/pamixer --decrease 5";
|
||||||
|
"--locked XF86AudioMute" = "exec ${pkgs.pamixer}/bin/pamixer --toggle-mute";
|
||||||
|
"--locked XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
|
||||||
|
"--locked XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next";
|
||||||
|
"--locked XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous";
|
||||||
});
|
});
|
||||||
startup = [
|
startup = [
|
||||||
{
|
{
|
||||||
|
@ -218,7 +275,7 @@ in
|
||||||
input = {
|
input = {
|
||||||
"*" = {
|
"*" = {
|
||||||
xkb_layout = "jp,ru";
|
xkb_layout = "jp,ru";
|
||||||
xkb_options = "caps:swapescape,compose:menu,grp:win_space_toggle";
|
xkb_options = "caps:swapescape,compose:ralt,grp:win_space_toggle";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}; in swayConfig // commonConfig // swayConfig;
|
}; in swayConfig // commonConfig // swayConfig;
|
||||||
|
|
Loading…
Reference in a new issue