Changed hyprland config structure, added switching keyboard functionnality + various fixes
This commit is contained in:
parent
0b72e2371e
commit
663777d8ec
5
config/.config/hypr/config/custom/user.conf
Normal file
5
config/.config/hypr/config/custom/user.conf
Normal file
|
@ -0,0 +1,5 @@
|
|||
###################
|
||||
## USER SETTINGS ##
|
||||
###################
|
||||
|
||||
# This is meant to contain all user-defined settings (to not break all settings after updates)
|
|
@ -6,8 +6,7 @@
|
|||
|
||||
# Set programs that you use
|
||||
$terminal = kitty
|
||||
#$fileManager = cosmic-files
|
||||
$fileManager = nautilus
|
||||
$fileManager = cosmic-files
|
||||
$menu = albert toggle
|
||||
$notificationsManager = fnott
|
||||
|
|
@ -2,15 +2,9 @@
|
|||
### INPUT ###
|
||||
#############
|
||||
|
||||
### English configuration (not finished yet)
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
|
||||
numlock_by_default = true
|
||||
|
||||
follow_mouse = 1
|
||||
|
@ -57,7 +51,7 @@ bind = $mainMod SHIFT, M, exit, # Exit desktop session
|
|||
|
||||
# Shortcuts
|
||||
bind = $mainMod, RETURN, exec, $terminal
|
||||
bind = $mainMod, SPACE, exec, $terminal
|
||||
bind = $mainMod, SPACE, exec, $menu
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bindel = , XF86Launch1, exec, kitty vim ~/.config/hypr/config
|
||||
|
||||
|
@ -146,5 +140,10 @@ bind = , Print, exec, ~/.config/hypr/scripts/screenshot.sh
|
|||
### CONTROL keys, this is why there are present here
|
||||
bind = SUPER CONTROL, XF86TouchpadToggle, exec, ~/.config/hypr/scripts/toggle-touchpad.sh
|
||||
|
||||
## Overview
|
||||
## Keyboard layout toggle
|
||||
### Only works between AZERTY and QWERTY because of differences in the numbers row
|
||||
### that prevent using the default way provided by hyprland
|
||||
bind = $mainMod CONTROL, SPACE, exec, ~/.config/hypr/scripts/change-kb-layout.sh
|
||||
|
||||
## Testing
|
||||
#bind = $mainMod, TAB, overview:toggle, toggle
|
35
config/.config/hypr/config/default/kb_layouts/fr.conf
Normal file
35
config/.config/hypr/config/default/kb_layouts/fr.conf
Normal file
|
@ -0,0 +1,35 @@
|
|||
## Overrides inputs for AZERTY layout
|
||||
|
||||
input {
|
||||
kb_layout = fr
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
}
|
||||
|
||||
## Keybindings
|
||||
|
||||
## Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, ampersand, workspace, 1
|
||||
bind = $mainMod, eacute, workspace, 2
|
||||
bind = $mainMod, quotedbl, workspace, 3
|
||||
bind = $mainMod, apostrophe, workspace, 4
|
||||
bind = $mainMod, parenleft, workspace, 5
|
||||
bind = $mainMod, minus, workspace, 6
|
||||
bind = $mainMod, egrave, workspace, 7
|
||||
bind = $mainMod, underscore, workspace, 8
|
||||
bind = $mainMod, ccedilla, workspace, 9
|
||||
bind = $mainMod, agrave, workspace, 10
|
||||
|
||||
## Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, ampersand, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, eacute, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, quotedbl, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, apostrophe, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, parenleft, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, minus, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, egrave, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, underscore, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, ccedilla, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, agrave, movetoworkspace, 10
|
33
config/.config/hypr/config/default/kb_layouts/us.conf
Normal file
33
config/.config/hypr/config/default/kb_layouts/us.conf
Normal file
|
@ -0,0 +1,33 @@
|
|||
## Overrides inputs for QWERTY layout
|
||||
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
}
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
|
@ -1,148 +0,0 @@
|
|||
#############
|
||||
### INPUT ###
|
||||
#############
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||
input {
|
||||
kb_layout = fr
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
numlock_by_default = true
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
sensitivity = 0.1 # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
disable_while_typing = false
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
workspace_swipe = true
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
|
||||
###################
|
||||
### KEYBINDINGS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
|
||||
# Main desktop controls
|
||||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod, R, exec, $menu # Omnibar
|
||||
bind = $mainMod, D, exec, $menu # Legacy menu shortcut
|
||||
bind = $mainMod, L, exec, hyprlock # Lockscreen
|
||||
bind = $mainMod, B, exec, ~/.config/hypr/scripts/toggle-waybar.sh # Toggle sidebar
|
||||
bind = $mainMod SHIFT, R, exec, ~/.config/hypr/scripts/reload.sh # Reload desktop
|
||||
bind = $mainMod, F11, exec, ~/.config/hypr/scripts/gamemode.sh # Gamemode
|
||||
bind = $mainMod SHIFT, M, exit, # Exit desktop session
|
||||
|
||||
# Shortcuts
|
||||
bind = $mainMod, RETURN, exec, $terminal
|
||||
bind = $mainMod, SPACE, exec, $terminal
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bindel = , XF86Launch1, exec, kitty vim ~/.config/hypr/config
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Layout
|
||||
bind = $mainMod, F, fullscreen,
|
||||
bind = $mainMod, V, togglesplit, # Horizontal/vertical split
|
||||
bind = $mainMod, T, togglefloating,
|
||||
bind = $mainMod, H, pseudo, # Toggle pseudo-tiling
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, ampersand, workspace, 1
|
||||
bind = $mainMod, eacute, workspace, 2
|
||||
bind = $mainMod, quotedbl, workspace, 3
|
||||
bind = $mainMod, apostrophe, workspace, 4
|
||||
bind = $mainMod, parenleft, workspace, 5
|
||||
bind = $mainMod, minus, workspace, 6
|
||||
bind = $mainMod, egrave, workspace, 7
|
||||
bind = $mainMod, underscore, workspace, 8
|
||||
bind = $mainMod, ccedilla, workspace, 9
|
||||
bind = $mainMod, agrave, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, ampersand, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, eacute, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, quotedbl, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, apostrophe, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, parenleft, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, minus, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, egrave, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, underscore, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, ccedilla, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, agrave, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# Minimize function (uses scratchpad)
|
||||
# For testing, may be removed in future releases
|
||||
bind = $mainMod, N, togglespecialworkspace, magic
|
||||
bind = $mainMod, N, movetoworkspace, +0
|
||||
bind = $mainMod, N, togglespecialworkspace, magic
|
||||
bind = $mainMod, N, movetoworkspace, special:magic
|
||||
bind = $mainMod, N, togglespecialworkspace, magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
|
||||
# Function keys
|
||||
|
||||
## Volume
|
||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
|
||||
## Brightness
|
||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 5%+
|
||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 5%-
|
||||
bindel = SHIFT, XF86MonBrightnessUp, exec, brightnessctl s 1%+
|
||||
bindel = SHIFT, XF86MonBrightnessDown, exec, brightnessctl s 1%-
|
||||
|
||||
## Player controls
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
## Screenshot
|
||||
bind = , Print, exec, ~/.config/hypr/scripts/screenshot.sh
|
||||
|
||||
## Touchpad toggle
|
||||
### On galaxy books, pressing the disable touchpad key also triggers SUPER and
|
||||
### CONTROL keys, this is why there are present here
|
||||
bind = SUPER CONTROL, XF86TouchpadToggle, exec, ~/.config/hypr/scripts/toggle-touchpad.sh
|
||||
|
||||
## Testing
|
||||
#bind = $mainMod, TAB, overview:toggle, toggle
|
|
@ -5,10 +5,21 @@
|
|||
# Please note not all available settings / options are set here.
|
||||
# For a full list, see the wiki
|
||||
|
||||
#source = ~/.config/hypr/config/monitors_default.conf
|
||||
source = ~/.config/hypr/config/monitors.conf
|
||||
source = ~/.config/hypr/config/environment.conf
|
||||
source = ~/.config/hypr/config/input-fr.conf
|
||||
source = ~/.config/hypr/config/appearance.conf
|
||||
source = ~/.config/hypr/config/plugins.conf
|
||||
#source = ~/.config/hypr/config/minimalist-mod.conf
|
||||
# If you want to modify some settings, go to ./config/custom/user.conf and add them
|
||||
# They'll automatically override the default ones
|
||||
|
||||
# Default settings
|
||||
source = ~/.config/hypr/config/default/monitors.conf
|
||||
source = ~/.config/hypr/config/default/environment.conf
|
||||
source = ~/.config/hypr/config/default/input.conf
|
||||
source = ~/.config/hypr/config/default/kb_layouts/fr.conf
|
||||
source = ~/.config/hypr/config/default/appearance.conf
|
||||
|
||||
# Hyprland plugins
|
||||
# source = ~/.config/hypr/config/default/plugins.conf
|
||||
|
||||
# Desktop mods
|
||||
#source = ~/.config/hypr/config/default/minimalist_mod.conf
|
||||
|
||||
# Custom settings
|
||||
source = ~/.config/hypr/config/custom/user.conf
|
||||
|
|
33
config/.config/hypr/scripts/change-kb-layout.sh
Executable file
33
config/.config/hypr/scripts/change-kb-layout.sh
Executable file
|
@ -0,0 +1,33 @@
|
|||
#!/bin/sh
|
||||
|
||||
status_file="$HOME/.config/hypr/status/kb_layout"
|
||||
hyprland_cfg_file="$HOME/.config/hypr/hyprland.conf"
|
||||
|
||||
|
||||
fr_to_en() {
|
||||
printf "en" > "${status_file}"
|
||||
|
||||
hyprctl notify 1 2000 0 "Keyboard set to QWERTY"
|
||||
|
||||
sed -i 's/kb_layouts\/fr/kb_layouts\/us/g' "$hyprland_cfg_file"
|
||||
}
|
||||
|
||||
en_to_fr() {
|
||||
printf "fr" > "${status_file}"
|
||||
|
||||
hyprctl notify 1 2000 0 "Keyboard set to AZERTY"
|
||||
|
||||
sed -i 's/kb_layouts\/us/kb_layouts\/fr/g' "$hyprland_cfg_file"
|
||||
}
|
||||
|
||||
if ! [ -f "${status_file}" ]; then
|
||||
hyprctl notify 3 3000 0 "Status file missing"
|
||||
hyprctl notify 2 6000 0 "Use Mod + Ctrl + Space to change keyboard layout"
|
||||
en_to_fr
|
||||
else
|
||||
if [ $(cat "${status_file}") = "fr" ]; then
|
||||
fr_to_en
|
||||
elif [ $(cat "${status_file}") = "en" ]; then
|
||||
en_to_fr
|
||||
fi
|
||||
fi
|
1
config/.config/hypr/status/kb_layout
Normal file
1
config/.config/hypr/status/kb_layout
Normal file
|
@ -0,0 +1 @@
|
|||
fr
|
1
config/.config/hypr/status/touchpad
Normal file
1
config/.config/hypr/status/touchpad
Normal file
|
@ -0,0 +1 @@
|
|||
on
|
|
@ -13,4 +13,6 @@ xdg-desktop-portal-hyprland
|
|||
waybar
|
||||
power-profiles-daemon
|
||||
fnott
|
||||
kitty
|
||||
kitty
|
||||
grim
|
||||
slurp
|
3
packages/laptop.pkgs
Normal file
3
packages/laptop.pkgs
Normal file
|
@ -0,0 +1,3 @@
|
|||
bluez
|
||||
bluez-utils
|
||||
blueman
|
Loading…
Reference in a new issue