Hyprland, built from branch at commit 9a09eac79b85c846e3a865a9078a3f8ff65a9259 (props: bump version to 0.42.0).
Date: Wed Aug 7 19:17:10 2024
Tag: v0.42.0, commits: 5069
flags: (if any)
System Information:
System name: Linux
Node name: izumi
Release: 6.10.5-zen1-1-zen
Version: #1 ZEN SMP PREEMPT_DYNAMIC Thu, 15 Aug 2024 00:25:05 +0000
GPU information:
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 32 [Radeon RX 7700 XT / 7800 XT] [1002:747e] (rev c8) (prog-if 00 [VGA controller])
os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo
plugins:
======Config-Start======
Config File: /home/artem/.config/hypr/hyprland.conf: Read Succeeded
$myScript = $HOME/.local/bin
$myDMScript = $HOME/.local/bin/dm-scripts
$myHyprScript = $HOME/.config/hypr/scripts
$myEwwScript = $HOME/.config/eww/scripts
# cli tools
$myTerm = alacritty
$myCliFiles = alacritty -e vifmrun
$myCliMusic = alacritty --class ncmpcpp -e ncmpcpp
$myCliText = vim
$myCliSysAudio = alsamixer
$myCliSysMonitor = btop
$myCliSysTasks = htop
# core tools
$myWebBrowser = qutebrowser
$myIncBrowser = qutebrowser --target private-window
$myTorBrowser = torbrowser-launcher
$myIde = emacs
# $myIde = emacsclient -ca ''
$myFiles = pcmanfm
$myEmail = thunderbird
$myEmailClass = thunderbird
$mySteam = /usr/bin/steam-runtime %U
# extra tools
$myLauncher = wofi --show drun
$myVirtManager = virt-manager
$myTorrent = transmission-gtk
$myCalculator = gnome-calculator
$myAnki = anki
$myColorPicker = hyprpicker -anr
# graphics tools
$myPhotoLibrary = digikam
$myImgEditor = gimp
$myVctEditor = inkscape
$myVidEditor = kdenlive
# chat apps
$myWhatsApp = whatsapp-for-linux
# $myDiscord = discord
# $myDiscordClass = discord
$myDiscord = webcord
$myDiscordClass = WebCord
# system tools
$mySysPower = xfce4-power-manager-settings
$mySysNetwork = nm-connection-editor
$mySysBluetooth = blueman-manager
# eww
$panel-monitor = monitor
$panel-power = powermenu-panel
$quick-settings = quick-settings
$which-key = which-key
source=./themes/base16.conf
$gaps_inner = 20
$gaps_outer = 40
$borders = 15
$borders_special = 10
$corners = 15
# name , resolution , position , scale , extras
monitor=DP-1 , highrr , 0x0 , auto
monitor=DP-2 , 1920x1080@144 , 760x-1080 , auto
# monitor=DP-2 , disable
monitor= , preferred , auto , auto
exec-once = eww open-many main-bar second-bar $quick-settings
exec-once = $myScript/auto-start.sh
exec-once = hypridle
# exec-once = swayidle
env = GDK_BACKEND,wayland,x11 # GTK: Use wayland if available, fall back to x11 if not.
# env = MANGOHUD,1
env = QT_QPA_PLATFORM,wayland;xcb # QT: Use wayland if available, fall back to x11 if not.
env = QT_QPA_PLATFORMTHEME,qt5ct # Tells QT based applications to pick your theme from qt5ct, use with Kvantum.
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
# env = WAYLAND_DISPLAY,wayland-0
# env = GTK_THEME, # Set a GTK theme manually, for those who want to avoid appearance tools such as lxappearance or nwg-look
env = XCURSOR_THEME,breeze_cursors # Set your cursor theme. The theme needs to be installed and readable by your user.
env = XCURSOR_SIZE,32 # Set cursor size. See here for why you might want this variable set.
# Set your cursor theme. The theme needs to be installed and readable by your user.
# env = HYPRCURSOR_THEME,capitaine-cursors
env = HYPRCURSOR_THEME,HyprBibataModernClassicSVG
env = HYPRCURSOR_SIZE,32 # Set cursor size. See here for why you might want this variable set.
general {
gaps_in = $gaps_inner # gaps between windows
gaps_out = $gaps_outer # gaps between windows and monitor edges
gaps_workspaces = 20 # for animation transitions
border_size = $borders
col.active_border = rgba($base0Eaa) rgba($base0Dee) 45deg
col.inactive_border = rgba($base03aa)
# focus
no_focus_fallback = true # will not fall back to the next available window when moving focus in a direction where no window was found
resize_on_border = true # enables resizing windows by clicking and dragging on borders and gaps
layout = dwindle
}
windowrulev2 = bordercolor rgba($base0Faa) rgb($base00),xwayland:1
windowrulev2 = noborder,pinned:1
windowrulev2 = nodim,pinned:1
windowrulev2 = opacity override 0.7,pinned:1
windowrulev2 = rounding 0,fullscreen:1
windowrulev2 = idleinhibit focus,class:^steam_app
windowrulev2 = idleinhibit focus,class:x86_64$
$app_filter = ^(mpv)$
# floating
windowrulev2 = dimaround,class:$app_filter,floating:1
windowrulev2 = keepaspectratio,class:$app_filter,floating:1
windowrulev2 = stayfocused,class:$app_filter,floating:1
windowrulev2 = center,class:$app_filter,floating:1
# tiled
windowrulev2 = pseudo,class:$app_filter,floating:0
# initial state
windowrule = float,$app_filter
windowrule = workspace 2 silent,^([Ss]team)$
# steam updater floating window
windowrulev2 = workspace 2 silent,title:^(Steam)$,floating:1
windowrulev2 = nofocus,title:^(Steam)$,floating:1
windowrule = tile,^([Ss]crcpy)$
# windowrule = workspace 1 silent,^(firefox)$
# windowrule = workspace 1 silent,^(Tor Browser)$
# windowrule = workspace 1 silent,^(Chromium)$
# windowrule = workspace 1 silent,^(Google-chrome)$
# windowrule = workspace 1 silent,^(Brave-browser)$
# windowrule = workspace 1 silent,^(vivaldi-stable)$
# windowrule = workspace 1 silent,^(org.qutebrowser.qutebrowser)$
# windowrule = workspace 1 silent,^(nyxt)$
windowrule = workspace 2 silent,^([Bb]attle.net)$
windowrule = workspace 2 silent,^([Ww]ine)$
windowrule = workspace 2 silent,^(dolphin-emu)$
windowrule = workspace 2 silent,^([Ll]utris)$
windowrule = workspace 2 silent,^(Citra)$
windowrule = workspace 2 silent,^(SuperTuxKart)$
windowrule = workspace 3 silent,^([Ee]macs)$
windowrule = workspace 3 silent,^(Geany)$
windowrule = workspace 3 silent,^(Atom)$
windowrule = workspace 3 silent,^(Subl3)$
windowrule = workspace 3 silent,^(code-oss)$
windowrule = workspace 3 silent,^(Oomox)$
windowrule = workspace 3 silent,^(Unity)$
windowrule = workspace 3 silent,^(UnityHub)$
windowrule = workspace 3 silent,^(jetbrains-studio)$
windowrule = workspace 4 silent,^(dolphin)$
windowrule = workspace 4 silent,^(ark)$
windowrule = workspace 4 silent,^(Pcmanfm)$
windowrule = workspace 4 silent,^(File-roller)$
windowrule = workspace 4 silent,^(googledocs)$
windowrule = workspace 4 silent,^(keep)$
windowrule = workspace 4 silent,^(calendar)$
# windowrule = workspace 5 silent,^(ncmpcpp)$
windowrule = workspace 5 silent,^(Spotify)$
windowrule = workspace 6 silent,^([Gg]imp)$
windowrule = workspace 6 silent,^(Inkscape)$
windowrule = workspace 6 silent,^(Flowblade)$
windowrule = workspace 6 silent,^(org.kde.digikam)$
windowrule = workspace 6 silent,^(obs)$
windowrule = workspace 6 silent,^(kdenlive)$
# windowrule = workspace 7 silent,^(whatsapp-for-linux)$
# windowrule = workspace 7 silent,^(Slack)$
# windowrule = workspace 7 silent,^(discord)$
# windowrule = workspace 7 silent,^(signal)$
# windowrulev2 = workspace 7 silent,class:^([Ss]team)$,title:^(Friends List)$
windowrule = workspace 8 silent,^(Virt-manager)$
windowrule = workspace 8 silent,^VirtualBox
windowrule = workspace 8 silent,^(Cypress)$
windowrule = workspace 9 silent,^(btop)$
# $app_filter = ^(sp-term)$
# $workspace = sp-term
# #---------------------------------------------------
# windowrule = unset,$app_filter
# windowrule = workspace special:$workspace silent,$app_filter
# windowrule = float,$app_filter
# windowrule = size 50% 80%,$app_filter
# windowrule = center,$app_filter
# $scratchpad = ^(sp-files)$
# #---------------------------------------------------
# windowrule = unset,$scratchpad
# # windowrule = workspace special silent,$scratchpad
# windowrule = float,$scratchpad
# windowrule = size 50% 70%,$scratchpad
# windowrule = center,$scratchpad
$scratchpad = ^(com.transmissionbt.transmission*)
#---------------------------------------------------
windowrule = unset,$scratchpad
# windowrule = workspace special silent,$scratchpad
windowrule = size 30% 80%,$scratchpad
windowrule = float,$scratchpad
windowrule = center,$scratchpad
$scratchpad = ^(anki)$
#---------------------------------------------------
windowrule = unset,$scratchpad
windowrule = float,$scratchpad
windowrule = size 20% 70%,$scratchpad
windowrule = center,$scratchpad
windowrule = dimaround,$scratchpad
$scratchpad = ^(virt-manager)$
#---------------------------------------------------
windowrule = unset,$scratchpad
windowrule = workspace special:vm silent,$scratchpad
windowrule = float,$scratchpad
windowrule = size 20% 50%,$scratchpad
windowrule = move 10% 10%,$scratchpad
$scratchpad = ^(sp-htop)$
#---------------------------------------------------
# windowrule = float,$scratchpad
# windowrule = size 80% 80%,$scratchpad
# windowrule = center,$scratchpad
windowrule = stayfocused,$scratchpad
windowrule = dimaround,$scratchpad
$scratchpad = ^(org.gnome.Calculator)$
#---------------------------------------------------
windowrule = unset,$scratchpad
# windowrule = workspace special silent,$scratchpad
windowrule = float,$scratchpad
windowrule = size 15% 50%,$scratchpad
windowrule = move 82% 5%,$scratchpad
workspace = 1, persistent:true, monitor:DP-1, default:true
workspace = 2, persistent:true, monitor:DP-1
workspace = 3, persistent:true, monitor:DP-1
workspace = 4, persistent:true, monitor:DP-1
workspace = 5, persistent:true, monitor:DP-2
workspace = 6, persistent:true, monitor:DP-1
workspace = 7, persistent:true, monitor:DP-1
workspace = 8, persistent:true, monitor:DP-1
workspace = 9, persistent:true, monitor:DP-1
# workspace = name:star, persistent:true, monitor:DP-1
workspace = special:term , bordersize:$borders_special , gapsin:50 , gapsout:125
workspace = special:files , bordersize:$borders_special , gapsin:50 , gapsout:125
workspace = special:music , bordersize:$borders_special , gapsin:50 , gapsout:125
workspace = special:email , bordersize:$borders_special , gapsin:50 , gapsout:125
workspace = special:chats , bordersize:$borders_special , gapsin:50 , gapsout:125
workspace = special:audio , bordersize:$borders_special , gapsin:50 , gapsout:125
workspace = special:torrent , bordersize:$borders_special , gapsin:50 , gapsout:125
workspace = special:anki , bordersize:$borders_special , gapsin:50 , gapsout:125
workspace = special:vm , bordersize:$borders_special , gapsin:50 , gapsout:125
workspace = special:calculator , bordersize:$borders_special , gapsin:50 , gapsout:125
workspace = special:htop , bordersize:$borders_special , gapsin:50 , gapsout:125
workspace = special:btop , bordersize:$borders_special , gapsin:50 , gapsout:125
# workspace = special:foo, on-created-empty:alacritty -e ncmpcpp
# bind = SUPER CTRL , d , togglespecialworkspace , foo
layerrule = blur, waybar
# default windows
$namespace = gtk-layer-shell
layerrule = blur, $namespace
layerrule = ignorealpha 0, $namespace
layerrule = animation slide, $namespace
# monitor
layerrule = blur, $panel-monitor
layerrule = ignorealpha 0, $panel-monitor
layerrule = animation slide, $panel-monitor
# quick-settings
layerrule = blur, $quick-settings
layerrule = ignorealpha 0, $quick-settings
layerrule = animation slide, $quick-settings
# which-key
layerrule = blur, $which-key
layerrule = ignorealpha 0, $which-key
layerrule = animation slide, $which-key
layerrule = blur, wofi
layerrule = ignorealpha 0, wofi
decoration {
rounding = $corners
drop_shadow = yes # enable drop shadows on windows
shadow_range = 40 # Shadow range (“size”) in layout px
shadow_render_power = 3 # in what power to render the falloff (more power, the faster the falloff) [1 - 4]
shadow_ignore_window = true # if true, the shadow will not be rendered behind the window itself, only around it.
col.shadow = rgba($base0E70) # shadow’s color. Alpha dictates shadow’s opacity.
col.shadow_inactive = rgba($base00cc) # inactive shadow color. (if not set, will fall back to col.shadow) color unset
# shadow_offset = [0, 0] # shadow’s rendering offset. vec2 [0, 0]
shadow_scale = 1.0 # shadow’s scale. [0.0 - 1.0]
blur {
enabled = true
size = 10
passes = 3
ignore_opacity = true
new_optimizations = true
xray = false
noise = 0.03
special = false
}
dim_inactive = false
}
input {
kb_layout = us,ru,jp
kb_variant =
kb_model =
# kb_options = grp:lalt_lshift_toggle
kb_options =
kb_rules =
# focus
# Specify if and how cursor movement should affect window focus
# 0 - Cursor movement will not change focus.
# 1 - Cursor movement will always change focus to the window under the cursor.
# 2 - Cursor focus will be detached from keyboard focus. Clicking on a window will move keyboard focus to that window.
# 3 - Cursor focus will be completely separate from keyboard focus. Clicking on a window will not change keyboard focus.
#
follow_mouse = 2
# If disabled, mouse focus won’t switch to the hovered window unless the mouse crosses a window boundary when follow_mouse=1.
mouse_refocus = false
# 0 - Cursor movement will not change focus.
# 1 - focus will change to the window under the cursor when changing from tiled-to-floating and vice versa.
# 2 - focus will also follow mouse on float-to-float switches.
float_switch_override_focus = 0
repeat_rate = 25 # The repeat rate for held-down keys, in repeats per second.
repeat_delay = 300 # Delay before a held-down key is repeated, in milliseconds.
scroll_factor = 1
natural_scroll = false
touchpad {
natural_scroll = false
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
misc {
disable_hyprland_logo = false
disable_autoreload = false
# focus
mouse_move_focuses_monitor = false
focus_on_activate = false # Whether Hyprland should focus an app that requests to be focused
layers_hog_keyboard_focus = true
animate_manual_resizes = true # will animate manual window resizes/moves bool false
animate_mouse_windowdragging = true # will animate windows being dragged by mouse, note that this can cause weird behavior on some curves
enable_swallow = false # Enable window swallowing
# allow_session_lock_restore = true # will allow you to restart a lockscreen app in case it crashes
vrr = 2 # controls the VRR (Adaptive Sync) of your monitors. 0 - off, 1 - on, 2 - fullscreen only
mouse_move_enables_dpms = true # If DPMS is set to off, wake up the monitors if the mouse moves.
key_press_enables_dpms = true # If DPMS is set to off, wake up the monitors if a key is pressed.
}
cursor {
inactive_timeout = 15 # after how many seconds of cursor’s inactivity to hide it. Set to 0 for never.
no_warps = true # will not warp the cursor in many cases (focusing, keybinds, etc)
enable_hyprcursor = true
}
binds {
workspace_back_and_forth = true # an attempt to switch to the currently focused workspace will instead switch to the previous workspace
allow_workspace_cycles = true # If enabled, workspaces don’t forget their previous workspace, so cycles can be created by switching to the first workspace in a sequence, then endlessly going to the previous workspace.
# sets the preferred focus finding method when using focuswindow/movewindow/etc with a direction.
# 0 - history (recent have priority)
# 1 - length (longer shared edges have priority)
focus_preferred_method = 0
movefocus_cycles_fullscreen = false # If enabled, when on a fullscreen window, movefocus will cycle fullscreen, if not, it will move the focus in a direction.
}
animations {
enabled = yes
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, myBezier, popin 80%
animation = layers, 1, 7, myBezier, popin 80%
animation = workspaces, 1, 7, myBezier, fade
animation = specialWorkspace, 1, 7, myBezier, slidefadevert -10%
animation = border, 1, 10, myBezier
animation = borderangle, 1, 80, myBezier
animation = fade, 1, 7, myBezier
}
dwindle {
pseudotile = true # master switch for pseudotiling. Pseudotiled windows retain their floating size when tiled.
force_split = 2 # 0 - mouse; 1 - left; 2 - right
preserve_split = true # if enabled, the split (side/top) will not change regardless of what happens to the container.
no_gaps_when_only = false # whether to apply gaps when there is only one window on a workspace, aka. smart gaps.
}
master {
new_status = slave
no_gaps_when_only = false # whether to apply gaps when there is only one window on a workspace, aka. smart gaps.
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = false
}
# device:logitech-mx-master-3-1 {
# sensitivity = 0
# }
bind = SUPER CTRL , q , exit , # quit hyprland
bind = SUPER CTRL , r , forcerendererreload , # restart hyprland
bind = SHIFT , ALT_L , exec , $myScript/toggle-lang.sh # switch language
bind = SUPER , q , killactive , # close focused window
bind = SUPER SHIFT , F11 , fullscreenState , -1 2 # toggle fake fullscreen
bind = SUPER , F11 , fullscreen , 0 # toggle fullscreen
bind = SUPER SHIFT , f , fullscreen , 0 # toggle fullscreen
bind = SUPER , m , fullscreen , 1 # toggle maximize
bind = SUPER , f , togglefloating , # toggle floating
bind = SUPER CTRL , f , pin , # toggle pinnned
bind = SUPER SHIFT , p , pseudo , # toggle pseudo
bind = SUPER SHIFT , m , togglesplit , # mirror layout
bind = ALT , tab , cyclenext , # focus next window
bind = ALT SHIFT , tab , cyclenext , prev # focus prev window
bind = SUPER , h , movefocus , l # focus left window
bind = SUPER , j , movefocus , d # focus below window
bind = SUPER , k , movefocus , u # focus above window
bind = SUPER , l , movefocus , r # focus right window
bind = SUPER , equal , splitratio , exact 1 # reset fucused window size
binde = SUPER CTRL , h , resizeactive , -20 0 # grow focused window left
binde = SUPER CTRL , j , resizeactive , 0 20 # grow focused window down
binde = SUPER CTRL , k , resizeactive , 0 -20 # grow focused window up
binde = SUPER CTRL , l , resizeactive , 20 0 # grow focused window right
bind = SUPER SHIFT , h , swapwindow , l # swap focused window with left window
bind = SUPER SHIFT , j , swapwindow , d # swap focused window with below window
bind = SUPER SHIFT , k , swapwindow , u # swap focused window with above window
bind = SUPER SHIFT , l , swapwindow , r # swap focused window with right window
binde = SUPER CTRL , c , centerwindow
binde = SUPER , equal , centerwindow , # center floating window
binde = SUPER SHIFT , h , moveactive , -20 0 # move floating window left
binde = SUPER SHIFT , j , moveactive , 0 20 # move floating window down
binde = SUPER SHIFT , k , moveactive , 0 -20 # move floating window up
binde = SUPER SHIFT , l , moveactive , 20 0 # move floating window right
bind = SUPER ALT , h , movewindow , l # move focused window left
bind = SUPER ALT , j , movewindow , d # move focused window below
bind = SUPER ALT , k , movewindow , u # move focused window above
bind = SUPER ALT , l , movewindow , r # move focused window right
bind = SUPER , F1 , focusmonitor , 0 # move focus to monitor 1
bind = SUPER , F2 , focusmonitor , 1 # move focus to monitor 2
bind = SUPER , F3 , focusmonitor , 2 # move focus to monitor 3
bind = SUPER , comma , focusmonitor , d # move focus to below monitor
bind = SUPER , period , focusmonitor , u # move focus to above monitor
bind = SUPER SHIFT , comma , movewindow , mon:d # move window to below monitor
bind = SUPER SHIFT , period , movewindow , mon:u # move window to above monitor
bind = SUPER SHIFT , F1 , movewindow , mon:0 # move window to monitor 1
bind = SUPER SHIFT , F2 , movewindow , mon:1 # move window to monitor 2
bind = SUPER SHIFT , F3 , movewindow , mon:2 # move window to monitor 3
bind = SUPER , space , exec , $myHyprScript/toggle-layout.sh # switch layouts
bind = SUPER , tab , focusworkspaceoncurrentmonitor , previous # toggle last workspace
bind = SUPER , 1 , focusworkspaceoncurrentmonitor , 1 # switch to workspace 1
bind = SUPER , 2 , focusworkspaceoncurrentmonitor , 2 # switch to workspace 2
bind = SUPER , 3 , focusworkspaceoncurrentmonitor , 3 # switch to workspace 3
bind = SUPER , 4 , focusworkspaceoncurrentmonitor , 4 # switch to workspace 4
bind = SUPER , 5 , focusworkspaceoncurrentmonitor , 5 # switch to workspace 5
bind = SUPER , 6 , focusworkspaceoncurrentmonitor , 6 # switch to workspace 6
bind = SUPER , 7 , focusworkspaceoncurrentmonitor , 7 # switch to workspace 7
bind = SUPER , 8 , focusworkspaceoncurrentmonitor , 8 # switch to workspace 8
bind = SUPER , 9 , focusworkspaceoncurrentmonitor , 9 # switch to workspace 9
bind = SUPER , 0 , focusworkspaceoncurrentmonitor , name:star # switch to workspace star
bind = SUPER SHIFT , 1 , movetoworkspacesilent , 1 # move window to workspace 1
bind = SUPER SHIFT , 2 , movetoworkspacesilent , 2 # move window to workspace 2
bind = SUPER SHIFT , 3 , movetoworkspacesilent , 3 # move window to workspace 3
bind = SUPER SHIFT , 4 , movetoworkspacesilent , 4 # move window to workspace 4
bind = SUPER SHIFT , 5 , movetoworkspacesilent , 5 # move window to workspace 5
bind = SUPER SHIFT , 6 , movetoworkspacesilent , 6 # move window to workspace 6
bind = SUPER SHIFT , 7 , movetoworkspacesilent , 7 # move window to workspace 7
bind = SUPER SHIFT , 8 , movetoworkspacesilent , 8 # move window to workspace 8
bind = SUPER SHIFT , 9 , movetoworkspacesilent , 9 # move window to workspace 9
bind = SUPER SHIFT , 0 , movetoworkspacesilent , name:star # move window to workspace star
bind = SUPER SHIFT CTRL , 1 , moveworkspacetomonitor , 1 current # move window to workspace 1 with switch
bind = SUPER SHIFT CTRL , 2 , moveworkspacetomonitor , 2 current # move window to workspace 2 with switch
bind = SUPER SHIFT CTRL , 3 , moveworkspacetomonitor , 3 current # move window to workspace 3 with switch
bind = SUPER SHIFT CTRL , 4 , moveworkspacetomonitor , 4 current # move window to workspace 4 with switch
bind = SUPER SHIFT CTRL , 5 , moveworkspacetomonitor , 5 current # move window to workspace 5 with switch
bind = SUPER SHIFT CTRL , 6 , moveworkspacetomonitor , 6 current # move window to workspace 6 with switch
bind = SUPER SHIFT CTRL , 7 , moveworkspacetomonitor , 7 current # move window to workspace 7 with switch
bind = SUPER SHIFT CTRL , 8 , moveworkspacetomonitor , 8 current # move window to workspace 8 with switch
bind = SUPER SHIFT CTRL , 9 , moveworkspacetomonitor , 9 current # move window to workspace 9 with switch
bind = SUPER SHIFT CTRL , 1 , movetoworkspace , 1
bind = SUPER SHIFT CTRL , 2 , movetoworkspace , 2
bind = SUPER SHIFT CTRL , 3 , movetoworkspace , 3
bind = SUPER SHIFT CTRL , 4 , movetoworkspace , 4
bind = SUPER SHIFT CTRL , 5 , movetoworkspace , 5
bind = SUPER SHIFT CTRL , 6 , movetoworkspace , 6
bind = SUPER SHIFT CTRL , 7 , movetoworkspace , 7
bind = SUPER SHIFT CTRL , 8 , movetoworkspace , 8
bind = SUPER SHIFT CTRL , 9 , movetoworkspace , 9
bind = SUPER ALT , grave , togglespecialworkspace , term # toggle special workspace term
bind = SUPER ALT , 1 , togglespecialworkspace , 1 # toggle special workspace 1
bind = SUPER ALT , 2 , togglespecialworkspace , 2 # toggle special workspace 2
bind = SUPER ALT , 3 , togglespecialworkspace , 3 # toggle special workspace 3
bind = SUPER ALT , 4 , togglespecialworkspace , 4 # toggle special workspace 4
bind = SUPER ALT , 5 , togglespecialworkspace , 5 # toggle special workspace 5
bind = SUPER ALT , m , togglespecialworkspace , music # toggle special workspace music
bind = SUPER ALT , a , togglespecialworkspace , audio # toggle special workspace audio
bind = SUPER ALT , c , togglespecialworkspace , chats # toggle special workspace chats
bind = SUPER ALT , v , togglespecialworkspace , vm # toggle special workspace vm
bind = SUPER ALT SHIFT , grave , movetoworkspacesilent , term # move window to special workspace term
bind = SUPER ALT SHIFT , 1 , movetoworkspacesilent , special:1 # move window to special workspace 1
bind = SUPER ALT SHIFT , 2 , movetoworkspacesilent , special:2 # move window to special workspace 2
bind = SUPER ALT SHIFT , 3 , movetoworkspacesilent , special:3 # move window to special workspace 3
bind = SUPER ALT SHIFT , 4 , movetoworkspacesilent , special:4 # move window to special workspace 4
bind = SUPER ALT SHIFT , 5 , movetoworkspacesilent , special:5 # move window to special workspace 5
bind = SUPER ALT SHIFT , m , movetoworkspacesilent , special:music # move window to special workspace music
bind = SUPER ALT SHIFT , a , movetoworkspacesilent , special:audio # move window to special workspace audio
bind = SUPER ALT SHIFT , c , movetoworkspacesilent , special:chats # move window to special workspace chats
bind = SUPER ALT SHIFT , v , movetoworkspacesilent , special:vm # move window to special workspace vm
bind = SUPER , grave , exec , $myHyprScript/toggle-special-workspace.sh "term" "sp-term" "alacritty --class sp-term" # toggle terminal
bind = SUPER , e , exec , $myHyprScript/toggle-special-workspace.sh "files" "sp-files" "alacritty --class sp-files -e vifm" # toggle file manager
bind = SUPER , r , exec , $myLauncher # launch launcher
bind = SUPER , return , exec , $myTerm # launch terminal
bind = SUPER , c , exec , $myIde # launch ide
bind = SUPER SHIFT , e , exec , $myCliFiles # launch file manager
bind = SUPER , b , exec , $myWebBrowser # launch web browser
bind = SUPER , i , exec , $myIncBrowser # launch web browser in incognito mode
bind = CTRL ALT , delete , exec , $myHyprScript/toggle-special-workspace.sh "htop" "sp-htop" "alacritty --class sp-htop -e htop"
bind = CTRL ALT , end , exec , $myHyprScript/toggle-special-workspace.sh "btop" "sp-btop" "alacritty --class sp-btop -e btop"
bind = CTRL ALT , t , exec , $myTerm
bind = CTRL ALT , a , togglespecialworkspace , audio
bind = CTRL ALT , a , exec , [workspace special:audio] pavucontrol
bind = CTRL ALT , a , exec , [workspace special:audio] qpwgraph
# bind = CTRL ALT , v , exec , $myHyprScript/toggle-special-workspace.sh "volume" "pavucontrol" "pavucontrol"
# bind = CTRL ALT , v , exec , $myHyprScript/toggle-special-workspace.sh "volume" "pavucontrol" "pavucontrol & qpwgraph"
bindl = , XF86AudioRaiseVolume , exec , $myScript/set-volume.sh + 2 # increase system volume
bindl = , XF86AudioLowerVolume , exec , $myScript/set-volume.sh - 2 # decrease system volume
bindl = , XF86AudioMute , exec , $myScript/toggle-mute.sh # toggle mute
bindl = , XF86AudioPrev , exec , $myScript/playerctl.sh prev # player prev
bindl = , XF86AudioNext , exec , $myScript/playerctl.sh next # player next
bindl = , XF86AudioPlay , exec , $myScript/playerctl.sh toggle # player play/pause
bindl = , XF86AudioStop , exec , $myScript/playerctl.sh stop # player stop
bindl = CTRL , XF86AudioPlay , exec , $myScript/musictl.sh single # music [s] single mode
bindl = CTRL , XF86AudioStop , exec , $myScript/musictl.sh random # music [z] shuffle mode
bind = , print , exec , $myScript/screenshot.sh monitor # Fullscreen Screenshot
bind = SUPER SHIFT , print , exec , $myScript/screenshot.sh area # Selection Area Screenshot
bind = ALT , print , exec , $myScript/screenshot.sh window # Active Window Screenshot
bind = SUPER , print , exec , $myScript/screenshot.sh desktop # Full Desktop Screenshot
bind = SUPER , backslash , exec , $myEwwScript/which-key.sh dm-notify
bind = SUPER , backslash , submap , dm-notify
submap = dm-notify
bind = , backspace , exec , $myDMScript/dm-notify close # clear last notification
bind = SUPER , backslash , exec , $myDMScript/dm-notify recent # show last notification
bind = , backslash , exec , $myDMScript/dm-notify recent # show last notification
bind = SHIFT , BACKSLASH , exec , $myDMScript/dm-notify recents # show recent notifications
bind = , a , exec , $myDMScript/dm-notify context # open last notification
bind = , c , exec , $myDMScript/dm-notify close # clear last notification
bind = SHIFT , C , exec , $myDMScript/dm-notify clear # clear all notifications
bind = , r , exec , $myDMScript/dm-notify recents # show recent notifications
bindr = , catchall , exec , $myHyprScript/reset-submap.sh
bind = , backspace , exec , $myHyprScript/reset-submap.sh
bind = , a , exec , $myHyprScript/reset-submap.sh
bind = SHIFT , c , exec , $myHyprScript/reset-submap.sh
submap = reset
bind = SUPER , d , exec , $myEwwScript/which-key.sh dm-global
bind = SUPER , d , submap , dm-global
submap = dm-global
bind = , backslash , exec , $myDMScript/dm-notify # dm-notify
bind = , b , exec , $myDMScript/dm-bookman # dm-bookman
bind = SUPER , d , exec , $myDMScript/dm-master # dm-master
bind = , k , exec , $myDMScript/dm-keys # dm-keys
bind = , n , exec , $myDMScript/dm-notify # dm-notify
bind = , p , exec , $myDMScript/dm-player # dm-player
bind = , r , exec , $myDMScript/dm-record # dm-record
bind = , s , exec , $myDMScript/dm-screenshot # dm-screenshot
bind = , t , exec , $myDMScript/dm-theme # dm-theme
bind = , w , exec , $myDMScript/dm-wallpaper # dm-wallpaper
bind = , z , exec , $myDMScript/dm-power # dm-power
bindr = , catchall , exec , $myHyprScript/reset-submap.sh
bind = , backslash , exec , $myHyprScript/reset-submap.sh
bind = , b , exec , $myHyprScript/reset-submap.sh
bind = SUPER , d , exec , $myHyprScript/reset-submap.sh
bind = , k , exec , $myHyprScript/reset-submap.sh
bind = , n , exec , $myHyprScript/reset-submap.sh
bind = , p , exec , $myHyprScript/reset-submap.sh
bind = , r , exec , $myHyprScript/reset-submap.sh
bind = , s , exec , $myHyprScript/reset-submap.sh
bind = , t , exec , $myHyprScript/reset-submap.sh
bind = , w , exec , $myHyprScript/reset-submap.sh
bind = , z , exec , $myHyprScript/reset-submap.sh
submap = reset
bind = SUPER , o , exec , $myEwwScript/which-key.sh open
bind = SUPER , o , submap , open
submap = open
bind = , c , exec , $myColorPicker # color picker
bind = , d , exec , $myHyprScript/toggle-special-workspace.sh "chats" $myDiscordClass $myDiscord # toggle chats
bind = , e , exec , $myEmail # email client
bind = , g , exec , $myEwwScript/which-key.sh games open
bind = , g , submap , games # +games
bind = , i , exec , vimiv $XDG_PICTURES_DIR # image viewer
bind = , m , exec , $myCliMusic # music player
bind = SHIFT , M , exec , [workspace 5 silent] $myCliMusic # music player on default workspace
bind = , t , exec , $myTorBrowser # tor browser
bind = , w , exec , $myHyprScript/toggle-special-workspace.sh "chats" "whatsapp-for-linux" "whatsapp-for-linux" # toggle whatsapp
bindr = , catchall , exec , $myHyprScript/reset-submap.sh
bind = , c , exec , $myHyprScript/reset-submap.sh
bind = , d , exec , $myHyprScript/reset-submap.sh
bind = , e , exec , $myHyprScript/reset-submap.sh
bind = , i , exec , $myHyprScript/reset-submap.sh
bind = , m , exec , $myHyprScript/reset-submap.sh
bind = SHIFT , M , exec , $myHyprScript/reset-submap.sh
bind = , t , exec , $myHyprScript/reset-submap.sh
bind = , v , exec , $myHyprScript/reset-submap.sh
bind = , w , exec , $myHyprScript/reset-submap.sh
submap = reset
submap = games
bind = , d , exec , gzdoom # gzdoom
bind = , f , exec , fheroes2 # fheroes homm
bind = , g , exec , gamehub # gamehub
bind = , h , exec , heroic # heroic
bind = , l , exec , lutris # lutris
bind = , s , exec , $mySteam # steam
bind = , v , exec , vcmilauncher # vcmi homm launcher
bindr = , catchall , exec , $myHyprScript/reset-submap.sh
bind = , backspace , exec , $myEwwScript/which-key.sh open
bind = , backspace , submap , open
bind = , d , exec , $myHyprScript/reset-submap.sh
bind = , f , exec , $myHyprScript/reset-submap.sh
bind = , g , exec , $myHyprScript/reset-submap.sh
bind = , h , exec , $myHyprScript/reset-submap.sh
bind = , l , exec , $myHyprScript/reset-submap.sh
bind = , s , exec , $myHyprScript/reset-submap.sh
bind = , v , exec , $myHyprScript/reset-submap.sh
submap = reset
bind = SUPER , p , exec , $myEwwScript/which-key.sh pass
bind = SUPER , p , submap , pass
submap = pass
bind = , c , exec , wofi-pass --squash # copy field
bind = , p , exec , wofi-pass --squash --type # fill field
bind = , a , exec , wofi-pass --squash --type --autotype # autofill password
bindr = , catchall , exec , $myHyprScript/reset-submap.sh
bind = , c , exec , $myHyprScript/reset-submap.sh
bind = , p , exec , $myHyprScript/reset-submap.sh
bind = , a , exec , $myHyprScript/reset-submap.sh
submap = reset
bind = SUPER , s , exec , $myEwwScript/which-key.sh scratchpad
bind = SUPER , s , submap , scratchpad
# | workspace | class | command
submap = scratchpad
bind = , a , exec , $myHyprScript/toggle-special-workspace.sh "anki" "anki" "anki" # anki
bind = , c , exec , $myHyprScript/toggle-special-workspace.sh "calculator" "org.gnome.Calculator" "gnome-calculator" # calculator
bind = , d , exec , $myHyprScript/toggle-special-workspace.sh "chats" $myDiscordClass $myDiscord # discord
bind = , e , exec , $myHyprScript/toggle-special-workspace.sh "email" $myEmailClass $myEmail # email client
bind = , m , exec , $myHyprScript/toggle-special-workspace.sh "music" "sp-music" "alacritty --class sp-music -e ncmpcpp" # music player
bind = , t , exec , $myHyprScript/toggle-special-workspace.sh "torrent" "com.transmissionbt.transmission" "transmission-gtk" # torrent
bind = , v , exec , $myHyprScript/toggle-special-workspace.sh "vm" "virt-manager" "virt-manager" # vm
bind = , w , exec , $myHyprScript/toggle-special-workspace.sh "chats" "whatsapp-for-linux" "whatsapp-for-linux" # whatsapp
bindr = , catchall , exec , $myHyprScript/reset-submap.sh
bind = , a , exec , $myHyprScript/reset-submap.sh
bind = , c , exec , $myHyprScript/reset-submap.sh
bind = , d , exec , $myHyprScript/reset-submap.sh
bind = , e , exec , $myHyprScript/reset-submap.sh
bind = , m , exec , $myHyprScript/reset-submap.sh
bind = , t , exec , $myHyprScript/reset-submap.sh
bind = , v , exec , $myHyprScript/reset-submap.sh
bind = , w , exec , $myHyprScript/reset-submap.sh
submap = reset
bind = SUPER , t , exec , $myEwwScript/which-key.sh toggle
bind = SUPER , t , submap , toggle
submap = toggle
bind = , b , exec , $myHyprScript/toggle-borders.sh $borders # window borders
bind = , c , exec , $myHyprScript/toggle-corners.sh $corners # corners
bind = , g , exec , $myHyprScript/toggle-gaps.sh $gaps_inner # gaps
bind = , p , exec , $myEwwScript/which-key.sh panels toggle
bind = , p , submap , panels # +panels
bind = , q , exec , $myEwwScript/which-key.sh quick-settings toggle
bind = , q , submap , quick-settings # +quick-settings
bind = , s , exec , $myHyprScript/toggle-status-bar.sh # status bar
bind = , z , exec , $myHyprScript/toggle-zen.sh $borders $corners $gaps_inner # zen mode
bindr = , catchall , exec , $myHyprScript/reset-submap.sh
bind = , b , exec , $myHyprScript/reset-submap.sh
bind = , c , exec , $myHyprScript/reset-submap.sh
bind = , g , exec , $myHyprScript/reset-submap.sh
bind = , s , exec , $myHyprScript/reset-submap.sh
bind = , z , exec , $myHyprScript/reset-submap.sh
submap = reset
submap = panels
bind = , m , exec , $myEwwScript/toggle-window.sh -m $($myScript/get-current-monitor.sh id) $panel-monitor # monitor panel
bind = SHIFT , M , exec , $myEwwScript/toggle-window.sh -m 1 $panel-monitor # monitor panel on secondary monitor
bind = , q , exec , $myEwwScript/toggle-window.sh -m $($myScript/get-current-monitor.sh id) $quick-settings # quick-settings panel
bind = SHIFT , Q , exec , $myEwwScript/toggle-window.sh -m 1 $quick-settings # quick-settings panel on secondary monitor
bindr = , catchall , exec , $myHyprScript/reset-submap.sh
bind = , backspace , exec , $myEwwScript/which-key.sh toggle
bind = , backspace , submap , toggle
bind = , m , exec , $myHyprScript/reset-submap.sh
bind = SHIFT , M , exec , $myHyprScript/reset-submap.sh
bind = , q , exec , $myHyprScript/reset-submap.sh
bind = SHIFT , Q , exec , $myHyprScript/reset-submap.sh
submap = reset
submap = quick-settings
bind = , b , exec , $myScript/btctl.sh toggle # bluetooth
bind = , e , exec , $myScript/netctl.sh toggle ethernet # ethernet
bind = , h , exec , $myScript/toggle-headphones.sh # bluetooth headphones
bind = , s , exec , $myScript/toggle-speakers.sh # bluetooth speakers
bind = , v , exec , $myScript/vpnctl.sh toggle # vpn
bind = , w , exec , $myScript/netctl.sh toggle wifi # wi-fi
bindr = , catchall , exec , $myHyprScript/reset-submap.sh
bind = , backspace , exec , $myEwwScript/which-key.sh toggle
bind = , backspace , submap , toggle
bind = , b , exec , $myHyprScript/reset-submap.sh
bind = , e , exec , $myHyprScript/reset-submap.sh
bind = , h , exec , $myHyprScript/reset-submap.sh
bind = , s , exec , $myHyprScript/reset-submap.sh
bind = , v , exec , $myHyprScript/reset-submap.sh
bind = , w , exec , $myHyprScript/reset-submap.sh
submap = reset
bind = SUPER , z , exec , $myEwwScript/which-key.sh dm-power
bind = SUPER , z , submap , dm-power
submap = dm-power
bind = , c , exec , $myDMScript/dm-power controller # disconnect all controllers
bind = , l , exec , $myDMScript/dm-power lock # lock screen
bind = , p , exec , $myDMScript/dm-power poweroff # shutdown system
bind = , r , exec , $myDMScript/dm-power reboot # reboot system
bind = , s , exec , $myDMScript/dm-power suspend # suspend system
bind = , z , exec , $myDMScript/dm-power suspend # suspend system
bind = SUPER , z , exec , $myDMScript/dm-power suspend # suspend system
bindr = , catchall , exec , $myHyprScript/reset-submap.sh
bind = , c , exec , $myHyprScript/reset-submap.sh
bind = , l , exec , $myHyprScript/reset-submap.sh
bind = , p , exec , $myHyprScript/reset-submap.sh
bind = , r , exec , $myHyprScript/reset-submap.sh
bind = , s , exec , $myHyprScript/reset-submap.sh
bind = , z , exec , $myHyprScript/reset-submap.sh
bind = SUPER , z , exec , $myHyprScript/reset-submap.sh
submap = reset
bind = CTRL ALT , o , exec , $myEwwScript/which-key.sh app-secondary
bind = CTRL ALT , o , submap , app-secondary
submap = app-secondary
bind = , e , exec , $myFiles # gui file manager
bind = , g , exec , $myImgEditor # image editor
bind = , p , exec , $myPhotoLibrary # photo library
bind = , r , exec , $myVctEditor # vector image editor
bind = , v , exec , $myVidEditor # video editor
bindr = , catchall , exec , $myHyprScript/reset-submap.sh
bind = , e , exec , $myHyprScript/reset-submap.sh
bind = , g , exec , $myHyprScript/reset-submap.sh
bind = , p , exec , $myHyprScript/reset-submap.sh
bind = , r , exec , $myHyprScript/reset-submap.sh
bind = , v , exec , $myHyprScript/reset-submap.sh
submap = reset
# Scroll through existing workspaces with mainMod + scroll
# bind = SUPER , mouse_down , workspace , e+1
# bind = SUPER , mouse_up , workspace , e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = SUPER , mouse:272 , movewindow
bindm = SUPER , mouse:273 , resizewindow
# bindm = , mouse:133 , movewindow
debug {
overlay = false # print the debug performance overlay. Disable VFR for accurate results. bool false
# damage_blink = false # (epilepsy warning!) flash areas updated with damage tracking bool false
disable_logs = true # disable logging to a file bool true
# disable_time = true # disables time logging bool true
# damage_tracking = 2 # redraw only the needed bits of the display. Do not change. (default: full - 2) monitor - 1, none - 0 int 2
# enable_stdout_logs = false # enables logging to stdout bool false
manual_crash = 0 # set to 1 and then back to 0 to crash Hyprland. int 0
# suppress_errors = false # if true, do not display config file parsing errors. bool false
# watchdog_timeout = 5 # sets the timeout in seconds for watchdog to abort processing of a signal of the main thread. Set to 0 to disable. int 5
# disable_scale_checks = false # disables verifying of the scale factors. Will result in pixel alignment and rounding errors. bool false
# error_limit = 5 # limits the number of displayed config file parsing errors. int 5
}
Config File: /home/artem/.config/hypr/themes/base16.conf: Read Succeeded
# base16
# Scheme name: Gruvbox dark, medium
# Scheme author: Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
# Template author: Artem Smaznov
$base00 = 282828
$base01 = 3c3836
$base02 = 504945
$base03 = 665c54
$base04 = bdae93
$base05 = d5c4a1
$base06 = ebdbb2
$base07 = fbf1c7
$base08 = fb4934
$base09 = fe8019
$base0A = fabd2f
$base0B = b8bb26
$base0C = 8ec07c
$base0D = 83a598
$base0E = d3869b
$base0F = d65d0e
======Config-End========
Regression?
No
System Info and Version
System/Version info
Description
Even with all mouse-cursor-focus related variables disabled, hyprland still uses the mouse to switch focus in some situations.
One of these is when switching from Hyprlock overlay back to Hyprland. I don't have any ideas why it decides to switch focus.
I am sure I've seen similar behavior in other situation but cannot name any atm.
How to reproduce
Focus should stay on the left window.
But instead window under cursor gets focused every time (when hyprlock closes you can still see focus on the correct window for a moment until it switches in front of your eyes). The behavior is the same if you swap focus and mouse cursor confirming that it is indeed the window under cursor that gets focused rather than the first window on workspace or any other rule.
Crash reports, logs, images, videos
No response