Hello to all and happy Holidays!
My Issue:
I added another language (ru) to the config file and it saves it and works fine, but the second language that i added is automatically removed after restart. I did comment out exec-once = mon.sh
line.
########################################################################################
AUTOGENERATED HYPR CONFIG.
PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
########################################################################################
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#
#autogenerated = 1 # remove this line to remove the warning
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor = eDP-1, 1920x1080@60.09600, 0x0, 1.00
monitor = HDMI-A-2, 1920x1080@60.00000, 1920x0, 1.00
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
# Add networkmanager applet to tray in waybar
exec-once = nm-applet --indicator
# Set keyboard layout
exec-once = .local/bin/garuda-locale.sh
# Set monitor values. For own values, please comment with #
#exec-once = .local/bin/mon.sh
exec-once = pypr
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
# kb_variant =
# kb_model =
kb_options = grp:shifts_toggle
# kb_rules =
numlock_by_default = true
follow_mouse = 1
touchpad {
natural_scroll = true
tap-to-click = true
disable_while_typing = true
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 5
gaps_out = 10
border_size = 2
col.active_border = rgba(33ccffee) rgba(8f00ffee) 45deg
col.inactive_border = rgba(595959aa)
layout = dwindle
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 10
blur {
enabled = true
size = 5
passes = 1
}
drop_shadow = true
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
animations {
enabled = true
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # you probably want this
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = true
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = on
}
misc {
disable_hyprland_logo = true
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
device:epic mouse V1 {
sensitivity = -0.5
}
# binding workspaces to monitors
workspace = name:1, monitor:DP-1, default:true
workspace = name:2, monitor:DP-1, default:true
workspace = name:3, monitor:DP-1, default:true
workspace = name:4, monitor:DP-1, default:true
workspace = name:5, monitor:DP-1, default:true
workspace = name:6, monitor:HDMI-A-2, default:true
workspace = name:7, monitor:HDMI-A-2, default:true
workspace = name:8, monitor:HDMI-A-2, default:true
workspace = name:9, monitor:HDMI-A-2, default:true
workspace = name:10, monitor:HDMI-A-2, default:true
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPERTR
#bind = CONTROL SHIFT, , exec, hyprctl keyword input: kb_layout ru,
#bind = ALT SHIFT, , exec, hyprctl keyword input: kb_layout us,
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod SHIFT, R, exec, hyprctl reload
bind = $mainMod, 36, exec, footclient
bind = $mainMod, T, exec, footclient
bind = $mainMod, Q, killactive,
bind = $mainMod SHIFT, E, exec, nwgbar
bind = $mainMod, N, exec, thunar
bind = $mainMod SHIFT, 65, togglefloating
bind = $mainMod, D, exec, wofi --show drun --allow-images
bind = $mainMod SHIFT, D, exec, nwg-drawer
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod, G, exec, gimp
bind = $mainMod, A, exec, authenticator
bind = $mainMod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
#bind = $mainMod, W, exec, cliphist wipe
# Mainmod + Function keys
bind = $mainMod, F1, exec, firedragon
bind = $mainMod, F2, exec, vlc
bind = $mainMod, F3, exec, thunar
bind = $mainMod, F4, exec, geany
bind = $mainMod, F5, exec, brave
bind = $mainMod, F6, exec, gparted
bind = $mainMod, F7, exec, librewolf
bind = $mainMod, F8, exec, strawberry
bind = $mainMod, F9, exec, meld
bind = $mainMod, F10, exec, zoom
bind = $mainMod, F11, exec, snapper-tools
bind = $mainMod, F12, exec, galculator
#Scratchpads
bind = SUPERSHIFT,t,exec,pypr toggle term && hyprctl dispatch bringactivetotop
#bind = SUPERSHIFT,f,exec,pypr toggle thunar && hyprctl dispatch bringactivetotop
bind = SUPERSHIFT,v,exec,pypr toggle vol && hyprctl dispatch bringactivetotop
# 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
# 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 to workspace with focused container with ALT + SHIFT + [0-9]
bind = ALT SHIFT, 1, movetoworkspace, 1
bind = ALT SHIFT, 2, movetoworkspace, 2
bind = ALT SHIFT, 3, movetoworkspace, 3
bind = ALT SHIFT, 4, movetoworkspace, 4
bind = ALT SHIFT, 5, movetoworkspace, 5
bind = ALT SHIFT, 6, movetoworkspace, 6
bind = ALT SHIFT, 7, movetoworkspace, 7
bind = ALT SHIFT, 8, movetoworkspace, 8
bind = ALT SHIFT, 9, movetoworkspace, 9
bind = ALT SHIFT, 0, movetoworkspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10
# 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
#background
exec-once = wpaperd
#status bar
exec-once = waybar
layerrule = blur , waybar
layerrule = ignorezero , waybar
# set volume (laptops only and may or may not work on PCs)
bind = ,122, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
bind = ,123, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
bind = ,121, exec, pactl set-sink-volume @DEFAULT_SINK@ 0%
# other bindings
bind = $mainMod, O, exec, firedragon
bind = $mainMod, F, fullscreen
bind = $mainMod SHIFT, F, fakefullscreen
bind = ,232,exec,brightnessctl -c backlight set 5%-
bind = ,233,exec,brightnessctl -c backlight set +5%
bind = $mainMod SHIFT,C, exec, killall -9 wpaperd && wpaperd
# Screenshots:
# https://github.com/hyprwm/contrib/blob/main/grimblast/grimblast.1.scd
# Print: All outputs
# SHIFT+Print: Select area
# $mainMod+Print: Current window
# $mainMod+Shfit+Print: Current output
bind = ,Print, exec, grimblast save screen && notify-send Screenshot captured
bind = SHIFT, Print, exec, grimblast save area && notify-send Selected\ area captured
bind = $mainMod, Print, exec, grimblast save active && notify-send Active\ window captured
bind = $mainMod SHIFT, Print, exec, grimblast output active && notify-send Output captured
# for resizing window
# will switch to a submap called resize
bind=$mainMod,R,submap,resize
# will start a submap called "resize"
submap=resize
# sets repeatable binds for resizing the active window
binde=,right,resizeactive,10 0
binde=,left,resizeactive,-10 0
binde=,up,resizeactive,0 -10
binde=,down,resizeactive,0 10
# use reset to go back to the global submap
bind=,escape,submap,reset
# will reset the submap, meaning end the current one and return to the global one
submap=reset
# to move window
bind = $mainMod SHIFT,up, movewindow, u
bind = $mainMod SHIFT,down, movewindow, d
bind = $mainMod SHIFT,left, movewindow, l
bind = $mainMod SHIFT,right, movewindow, r
# other blurings
blurls = wofi
blurls = thunar
blurls = gedit
blurls = gtk-layer-shell # for nwg-drawer
blurls = catfish
# window rules
windowrule = opacity 0.85 override 0.85 override,^(thunar)$
windowrule = opacity 0.85 override 0.85 override,^(gedit)$
windowrule = opacity 0.85 override 0.85 override,^(catfish)$
#window rules with evaluation
windowrulev2 = opacity 0.85 0.85,floating:1
windowrulev2 = workspace 1, class:^(firedragon)$
windowrulev2 = workspace 6, class:^(freetube)$
windowrulev2 = workspace 7, class:^(thunderbird)$
windowrulev2 = workspace 7, class:^(tutanota-desktop)$
windowrulev2 = workspace 7, class:^(electron-mail)$
#scratchpads
$scratchpadsize = size 80% 85%
$scratchpad = class:^(scratchpad)$
windowrulev2 = float,$scratchpad
windowrulev2 = $scratchpadsize,$scratchpad
windowrulev2 = workspace special silent,$scratchpad
windowrulev2 = center,$scratchpad
exec-once = mako
exec-once =/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = foot --server
# experimental(might work might won't)
#pre executions (under development)
exec-once=exec xrdb -load ~/.Xresources
exec-once=cliphist
#exec-once=wl-paste -t text --watch clipman store
exec-once=wl-clipboard-history -t
#video play paues bindings
bind=,172,exec,playerctl play-pause
bind=,171,exec,playerctl next
bind=,173,exec,playerctl previous
# Use gtk-settings
exec-once = apply-gsettings
# Install Garuda Hyprland
bind = $mainMod, I, exec, .local/bin/calamares.sh
# start my apps
exec-once = firedragon
exec-once = tutanota
exec-once = thunderbird
exec-once = electron-mail
exec-once = freetube
I have 2 scratchpads setup, but the last one (vol) does not want to be in floating mode:
{
"pyprland": {
"plugins": ["scratchpads"]
},
"scratchpads": {
"term": {
"command": "alacritty --class scratchpad",
"margin": 50,
"animation": "fromTop",
"unfocus": "hide"
},
"vol": {
"command": "pavucontrol --class scratchpad",
"animation": "fromRight"
}
}
}
Here is my garuda.inxi
System:
Kernel: 6.6.7-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
clocksource: tsc available: hpet,acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=dd9fd6ec-3b83-4828-8464-f7f638424e5c rw rootflags=subvol=@
quiet resume=UUID=ecf14cac-c4c2-498e-963b-a82243df27a8 loglevel=3 ibt=off
Desktop: Hyprland info: waybar vt: 1 dm: SDDM Distro: Garuda Linux
base: Arch Linux
Machine:
Type: Laptop System: ASUSTeK product: N550JV v: 1.0
serial: <superuser required>
Mobo: ASUSTeK model: N550JV v: 1.0 serial: <superuser required>
UEFI: American Megatrends v: N550JV.207 date: 09/17/2013
Battery:
ID-1: BAT0 charge: 35.4 Wh (60.1%) condition: 58.9/59.2 Wh (99.5%)
power: 24.0 W volts: 14.8 min: 14.8 model: ASUSTeK N550-40 type: Li-ion
serial: N/A status: discharging cycles: 592
CPU:
Info: model: Intel Core i7-4700HQ bits: 64 type: MT MCP arch: Haswell
gen: core 4 level: v3 note: check built: 2013-15 process: Intel 22nm
family: 6 model-id: 0x3C (60) stepping: 3 microcode: 0x28
Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
L3: 6 MiB desc: 1x6 MiB
Speed (MHz): avg: 1398 high: 2395 min/max: 800/3400 scaling:
driver: intel_cpufreq governor: schedutil cores: 1: 2395 2: 800 3: 2395
4: 2395 5: 800 6: 800 7: 800 8: 800 bogomips: 38312
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>
Graphics:
Device-1: Intel 4th Gen Core Processor Integrated Graphics vendor: ASUSTeK
driver: i915 v: kernel arch: Gen-7.5 process: Intel 22nm built: 2013 ports:
active: eDP-1 empty: DP-1,HDMI-A-1,HDMI-A-2 bus-ID: 00:02.0
chip-ID: 8086:0416 class-ID: 0300
Device-2: NVIDIA GK107M [GeForce GT 750M] vendor: ASUSTeK driver: nouveau
v: kernel non-free: series: 470.xx+ status: legacy-active (EOL~2024-09-xx)
arch: Kepler code: GKxxx process: TSMC 28nm built: 2012-2018 pcie: gen: 1
speed: 2.5 GT/s lanes: 16 link-max: gen: 3 speed: 8 GT/s bus-ID: 01:00.0
chip-ID: 10de:0fe4 class-ID: 0302 temp: 42.0 C
Device-3: Chicony HD WebCam (Asus N-series) driver: uvcvideo type: USB
rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-1.3:3
chip-ID: 04f2:b3fd class-ID: 0e02 serial: <filter>
Display: wayland server: X.org v: 1.21.1.10 with: Xwayland v: 23.2.3
compositor: Hyprland driver: X: loaded: modesetting
alternate: fbdev,intel,nouveau,nv,vesa dri: crocus,nouveau gpu: i915
display-ID: 1
Monitor-1: eDP-1 model: Samsung 0x324c built: 2013 res: 1920x1080 hz: 60
dpi: 142 gamma: 1.2 scale: 1 size: 344x194mm (13.54x7.64")
diag: 395mm (15.5") ratio: 16:9 modes: 1920x1080
API: Vulkan Message: No Vulkan data available.
API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio
driver: snd_hda_intel v: kernel bus-ID: 00:03.0 chip-ID: 8086:0c0c
class-ID: 0403
Device-2: Intel 8 Series/C220 Series High Definition Audio
vendor: ASUSTeK 8 driver: snd_hda_intel v: kernel bus-ID: 00:1b.0
chip-ID: 8086:8c20 class-ID: 0403
API: ALSA v: k6.6.7-zen1-1-zen status: kernel-api tools: N/A
Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
Server-2: PipeWire v: 1.0.0 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
Device-1: Intel Wireless 7260 driver: iwlwifi v: kernel pcie: gen: 1
speed: 2.5 GT/s lanes: 1 bus-ID: 04:00.0 chip-ID: 8086:08b1 class-ID: 0280
IF: wlp4s0 state: up mac: <filter>
Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: ASUSTeK driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
lanes: 1 port: d000 bus-ID: 05:00.0 chip-ID: 10ec:8168 class-ID: 0200
IF: enp5s0 state: down mac: <filter>
Bluetooth:
Device-1: TP-Link UB500 Adapter driver: btusb v: 0.8 type: USB rev: 1.1
speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 2-1.1:3 chip-ID: 2357:0604
class-ID: e001 serial: <filter>
Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.1
lmp-v: 10 status: discoverable: no pairing: no class-ID: 6c010c
Drives:
Local Storage: total: 1.36 TiB used: 11.21 GiB (0.8%)
SMART Message: Required tool smartctl not installed. Check --recommends
ID-1: /dev/sda maj-min: 8:0 vendor: Samsung model: ST1000LM024 HN-M101MBB
size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 3.0 Gb/s
tech: HDD rpm: 5400 serial: <filter> fw-rev: 0002 scheme: GPT
ID-2: /dev/sdb maj-min: 8:16 vendor: Samsung model: SSD 860 EVO 500GB
size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
tech: SSD serial: <filter> fw-rev: 1B6Q scheme: GPT
Partition:
ID-1: / raw-size: 922.42 GiB size: 922.42 GiB (100.00%)
used: 11.2 GiB (1.2%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 576 KiB (0.2%) fs: vfat dev: /dev/sda1 maj-min: 8:1
ID-3: /home raw-size: 922.42 GiB size: 922.42 GiB (100.00%)
used: 11.2 GiB (1.2%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
ID-4: /var/log raw-size: 922.42 GiB size: 922.42 GiB (100.00%)
used: 11.2 GiB (1.2%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
ID-5: /var/tmp raw-size: 922.42 GiB size: 922.42 GiB (100.00%)
used: 11.2 GiB (1.2%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 7.64 GiB used: 0 KiB (0.0%) priority: 100
comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 8 dev: /dev/zram0
ID-2: swap-2 type: partition size: 8.8 GiB used: 0 KiB (0.0%) priority: -2
dev: /dev/sda3 maj-min: 8:3
Sensors:
System Temperatures: cpu: 52.0 C mobo: N/A gpu: nouveau temp: 43.0 C
Fan Speeds (rpm): cpu: 4100
Info:
Processes: 254 Uptime: 1m wakeups: 0 Memory: total: 8 GiB
available: 7.64 GiB used: 2.49 GiB (32.6%) Init: systemd v: 255
default: graphical tool: systemctl Compilers: gcc: 13.2.1 Packages: 1242
pm: pacman pkgs: 1224 libs: 349 tools: paru pm: flatpak pkgs: 18 Shell: fish
v: 3.6.4 running-in: foot inxi: 3.3.31
Garuda (2.6.21-1):
System install date: 2023-12-11
Last full system update: 2023-12-19
Is partially upgraded: No
Relevant software: snapper NetworkManager dracut
Windows dual boot: No/Undetected
Failed units:
Thank you for your help!
P.S. Found out that Thunar does not like to be a scratchpad. You can’t copy files and you can’t open it regularly. Thunar does file manipulations outside if it is not a scratchpad, but not for very long. So I am thinking of using different file manager.