Behaviour of going next after the edge is weird
Already reported ? *
- [X] I have searched the existing open and closed issues.
Regression?
Yes, No
System Info and Version
System/Version info
Hyprland, built from branch main at commit 6ae89940c761d4ed4317df0af29e8df41d472091 (layout: add merge_floated_into_tiled_on_groupbar (8042)).
Date: Wed Oct 9 17:58:49 2024
Tag: v0.44.0-24-g6ae89940, commits: 5323
built against aquamarine 0.4.2
flags: (if any)
System Information:
System name: Linux
Node name: Arch-Linux
Release: 6.11.2-zen1-1-zen
Version: #1 ZEN SMP PREEMPT_DYNAMIC Fri, 04 Oct 2024 21:51:07 +0000
GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation Raptor Lake-S GT1 [UHD Graphics 770] [8086:a780] (rev 04) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation AD103 [GeForce RTX 4080 SUPER] [10de:2702] (rev a1) (prog-if 00 [VGA controller])
NVRM version: NVIDIA UNIX x86_64 Kernel Module 560.35.03 Fri Aug 16 21:39:15 UTC 2024
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:
hypr-darkwindow by micha4w ver 1.0.0
hyprchroma by alexhulbert ver 1.0.0
Hyprspace by KZdkm ver 0.1
dynamic-cursors by Virt ver 0.1
======Config-Start======
Config File: /home/system/.config/hypr/hyprland.conf: Read Succeeded
################
### MONITORS ###
################
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,highres@160,auto,auto,bitdepth,10
# monitor=,preferred,auto,auto,bitdepth,10
###################
### MY PROGRAMS ###
###################
# Program defaults
$terminal = alacritty
$termfloat = alacritty --class 'alacritty-float,alacritty-float'
$editor = lvim
$browser = thorium-browser
$fileManager = thunar
$sessionManager = sddm
$menu = rofi -i -dmenu -theme $HOME/.config/rofi/configs.rasi
# Dirs
$HYPRDIR = $HOME/.config/hypr
$WAYBARDIR = $HOME/.config/waybar
$SCRIPTSDIR = $HOME/scripts
$rofiexec = $HOME/.config/rofi/scripts
# global vars
$outer_gaps = 14
source = $HYPRDIR/colors.conf
# misc
$waylandarg = --enable-features=WaylandWindowDecorations,UseOzonePlatform --ozone-platform-hint=auto
#####################
### LOOK AND FEEL ###
#####################
# Refer to https://wiki.hyprland.org/Configuring/Variables/
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 5
gaps_out = 10
border_size = 3
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
# col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg # DO THIS LATER
# col.inactive_border = rgba(595959aa)
# col.active_border = rgb(00a7f5) rgb(538620) rgb(538620) rgb(00a7f5) 90deg
# col.inactive_border = rgb(00a7f5) rgb(538620) rgb(538620) rgb(00a7f5) 90deg
# col.active_border = rgb(00a7f5) rgb(538620)
# col.inactive_border = rgb(00a7f5) rgb(538620)
col.inactive_border = $background
col.active_border = $color15 $color13 $color10 $color8 $color6 $color4 $color2 $color0 # 45deg
# Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = true
layout = dwindle
}
xwayland {
force_zero_scaling = true
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
rounding = 7
# Change transparency of focused and unfocused windows
active_opacity = 0.95
inactive_opacity = 0.85
fullscreen_opacity = 1.0
drop_shadow = true
shadow_range = 15
shadow_render_power = 4
# col.shadow = rgba(1a1a1aee)
col.shadow = $background
screen_shader = /usr/share/hyprshade/shaders/vibrance.glsl
# dim_inactive = true
# dim_strength = 0.4
# https://wiki.hyprland.org/Configuring/Variables/#blur
blur {
enabled = true
size = 6
passes = 3
# vibrancy = 1
popups = true
ignore_opacity = true # KEEP THIS, THIS MAKE BLUR ACTUALLY BLUR COOL
}
}
# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
enabled = true
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = windowovershot, 1, 1, 0, 1.05
bezier = overshot, 0.5, 1, 0, 1.2
bezier = slow-fast, 1, 0.33, 0.3, 1
bezier = fast-slow, 0.33, 0.8, 0, 1
bezier = linear, 0, 0, 1, 1
# bezier = linear, 0, 0, 1, 1
# bezier = md3_standard, 0.2, 0, 0, 1
bezier = md3_decel, 0.05, 0.7, 0.1, 1
# bezier = md3_accel, 0.3, 0, 0.8, 0.15
# bezier = overshot, 0.05, 0.9, 0.1, 1.1
# bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
# bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
# bezier = menu_decel, 0.1, 1, 0, 1
# bezier = menu_accel, 0.38, 0.04, 1, 0.07
# bezier = easeInOutCirc, 0.85, 0, 0.15, 1
# bezier = easeOutCirc, 0, 0.55, 0.45, 1
# bezier = easeOutExpo, 0.16, 1, 0.3, 1
# bezier = softAcDecel, 0.26, 0.26, 0.15, 1
# bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration
animation = fade, 1, 4, md3_decel
animation = windows, 1, 3, overshot, popin 20%
animation = windowsOut, 1, 2, slow-fast, popin 15%
# animation = windowsOut, 1, 3, slow-fast, popin 15%
animation = workspaces, 1, 6, fast-slow, slide
animation = workspacesIn, 1, 6, fast-slow, slidefade
animation = borderangle, 1, 100, linear, loop
}
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
}
# https://wiki.hyprland.org/Configuring/Variables/#misc
misc {
force_default_wallpaper = 1 # Set to 0 or 1 to disable the anime mascot wallpapers
focus_on_activate = true
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
# vfr = false
# vrr = 1 # 1 = always, 2 = only in full screen
mouse_move_enables_dpms = true
key_press_enables_dpms = true
# animate_manual_resizes = true
# animate_mouse_windowdragging = true
middle_click_paste = false
enable_swallow = false # true
swallow_regex = ^(Alacritty|alacritty-float)$
new_window_takes_over_fullscreen = 2
}
group {
groupbar {
# enabled = false
render_titles = false
text_color = $foreground
col.active = $color0
col.inactive = $background
col.locked_active = $color0
col.locked_inactive = $background
}
col.border_active = $color0 $color15 $foreground $cursor
col.border_inactive = $background
col.border_locked_active = $color0 $background
col.border_locked_inactive = $background
}
# binds {
# workspace_back_and_forth = true
# }
render {
explicit_sync = 1
explicit_sync_kms = 1
direct_scanout = true
}
opengl {
# nvidia_anti_flicker = false
# force_introspection = 0
}
#############
### INPUT ###
#############
# https://wiki.hyprland.org/Configuring/Variables/#input
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
# scroll_factor = 1.0
# sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
numlock_by_default = true
# touchpad {
# natural_scroll = false
# }
}
cursor {
# allow_dumb_copy = true
no_hardware_cursors = true
no_break_fs_vrr = true
# zoom_rigid = true
}
plugin {
overview {
enabled = true
disableGestures = true
panelHeight = 150
}
# hyprfocus {
# enabled = yes
# focus_animation = shrink
# animate_floating = yes
# animate_worksapcechange = yes
# }
dynamic-cursors {
mode = stretch
shake {
effects = true
}
shaperule = text, none
# shaperule = clientside, none
}
# chromakey_background = $background
# hy3 {
# # disable gaps when only one window is onscreen
# # 0 - always show gaps
# # 1 - hide gaps with a single window onscreen
# # 2 - 1 but also show the window border
# # no_gaps_when_only = <int> # default: 0
# # policy controlling what happens when a node is removed from a group,
# # leaving only a group
# # 0 = remove the nested group
# # 1 = keep the nested group
# # 2 = keep the nested group only if its parent is a tab group
# # node_collapse_policy = <int> # default: 2
# # offset from group split direction when only one window is in a group
# # group_inset = <int> # default: 10
# # if a tab group will automatically be created for the first window spawned in a workspace
# # tab_first_window = <bool>
# # tab group settings
# tabs {
# # height of the tab bar
# # height = <int> # default: 15
# # padding between the tab bar and its focused node
# # padding = <int> # default: 5
# # the tab bar should animate in/out from the top instead of below the window
# # from_top = <bool> # default: false
# # rounding of tab bar corners
# # rounding = <int> # default: 3
# # render the window title on the bar
# # render_text = <bool> # default: true
# # center the window title
# # text_center = <bool> # default: false
# # font to render the window title with
# # text_font = <string> # default: Sans
# # height of the window title
# # text_height = <int> # default: 8
# # left padding of the window title
# # text_padding = <int> # default: 3
# # active tab bar segment color
# # col.active = <color> # default: 0xff32b4ff
# # urgent tab bar segment color
# # col.urgent = <color> # default: 0xffff4f4f
# # inactive tab bar segment color
# # col.inactive = <color> # default: 0x80808080
# # active tab bar text color
# # col.text.active = <color> # default: 0xff000000
# # urgent tab bar text color
# # col.text.urgent = <color> # default: 0xff000000
# # inactive tab bar text color
# # col.text.inactive = <color> # default: 0xff000000
# }
# # autotiling settings
# autotile {
# # enable autotile
# # enable = <bool> # default: false
# # make autotile-created groups ephemeral
# # ephemeral_groups = <bool> # default: true
# # if a window would be squished smaller than this width, a vertical split will be created
# # -1 = never automatically split vertically
# # 0 = always automatically split vertically
# # <number> = pixel height to split at
# # trigger_width = <int> # default: 0
# # if a window would be squished smaller than this height, a horizontal split will be created
# # -1 = never automatically split horizontally
# # 0 = always automatically split horizontally
# # <number> = pixel height to split at
# # trigger_height = <int> # default: 0
# # a space or comma separated list of workspace ids where autotile should be enabled
# # it's possible to create an exception rule by prefixing the definition with "not:"
# # workspaces = 1,2 # autotiling will only be enabled on workspaces 1 and 2
# # workspaces = not:1,2 # autotiling will be enabled on all workspaces except 1 and 2
# # workspaces = <string> # default: all
# }
# }
}
source = ~/.config/hypr/env.conf
source = ~/.config/hypr/rules.conf
source = ~/.config/hypr/binds.conf
source = ~/.config/hypr/autostart.conf
# debug:disable_logs = false
debug {
# overlay = true # show fps
# suppress_errors = true
error_position = 1
}
Config File: /home/system/.config/hypr/colors.conf: Read Succeeded
$wallpaper = /home/system/.cache/full-moon-elden-ring.3840x2160.mp4.png
$background = rgb(1A1C20)
$foreground = rgb(E4F4F2)
$cursor = rgb(E4F4F2)
$color0 = rgb(404247)
$color1 = rgb(0E1C30)
$color2 = rgb(143445)
$color3 = rgb(4C5235)
$color4 = rgb(416173)
$color5 = rgb(6B899E)
$color6 = rgb(B1DFDB)
$color7 = rgb(D0E6E4)
$color8 = rgb(91A1A0)
$color9 = rgb(0E1C30)
$color10 = rgb(143445)
$color11 = rgb(4C5235)
$color12 = rgb(416173)
$color13 = rgb(6B899E)
$color14 = rgb(B1DFDB)
$color15 = rgb(D0E6E4)
Config File: /home/system/.config/hypr/env.conf: Read Succeeded
#############################
### ENVIRONMENT VARIABLES ###
#############################
# See https://wiki.hyprland.org/Configuring/Environment-variables/
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
env = HYPRCURSOR_THEME,Bibata-Rainbow-Modern
# Nvidia
env = LIBVA_DRIVER_NAME,nvidia
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
# env = __GL_GSYNC_ALLOWED,1
env = VDPAU_DRIVER,nvidia
env = NVD_BACKEND,direct
# just in case if it tried to use igpu for hardware accel
# env = AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0
# XDG
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
# QT
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_QPA_PLATFORM=wayland;xcb # Not yet working for onlyoffice-editor
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_QPA_PLATFORMTHEME,qt6ct
# env = SDL_VIDEODRIVER,wayland
env = MOZ_ENABLE_WAYLAND,1
env = _JAVA_AWT_WM_NONREPARENTING,1
# Scale
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
# env = GDK_DPI_SCALE,1.5
# env = QT_SCALE_FACTOR,2
env = ELECTRON_OZONE_PLATFORM_HINT,auto
# Input method
# env = GTK_IM_MODULE,fcitx
env = QT_IM_MODULE,fcitx
env = QT_IM_MODULES,wayland;fcitx;ibus
env = XMODIFIERS,@im=fcitx
env = SDL_IM_MODULE,fcitx
env = GLFW_IM_MODULE,fcitx
env = INPUT_METHOD,fcitx
env = XMODIFIERS,fcitx
env = IMSETTINGS_MODULE,fcitx
# wine
env = WINEPREFIX, /opt/windows.wine
# howdy avoid spam from gstreamer
env = OPENCV_LOG_LEVEL, ERROR
# temp fix for gtk apps seg fault
env = GSK_RENDERER, ngl
# Toolkit backend
env = GDK_BACKEND,wayland,x11,*
env = QT_QPA_PLATFORM,wayland;xcb
env = SDL_VIDEODRIVER,wayland # Remove or set to x11 if games that provide older versions of SDL cause compatibility issues
# QT
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_QPA_PLATFORM,wayland;xcb
Config File: /home/system/.config/hypr/rules.conf: Read Succeeded
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Tag
# workspaces
windowrulev2 = workspace 1, tag:terminal
windowrulev2 = workspace 2, tag:web
windowrulev2 = workspace 3, tag:file
windowrulev2 = workspace 4, tag:code
windowrulev2 = workspace 5, tag:office
windowrulev2 = workspace 6, tag:communication
windowrulev2 = workspace 7, tag:media
windowrulev2 = workspace 8, tag:games
windowrulev2 = workspace 9, tag:system
windowrulev2 = workspace 10, tag:misc
# GUI Utils
windowrulev2 = opacity 0.85 0.75, tag:gui-utils
windowrulev2 = pin, tag:gui-utils
windowrulev2 = size 53% 60%, tag:gui-utils
windowrulev2 = move 46.5% 5%, tag:gui-utils
windowrulev2 = animation slide right top, tag:gui-utils
# media contents
windowrulev2 = float, tag:media-contents
windowrulev2 = pin, tag:media-contents
windowrulev2 = move 100%-w-$outer_gaps, tag:media-contents
windowrulev2 = noinitialfocus, tag:media-contents
windowrulev2 = noshadow, tag:media-contents
# fake fullscreen
windowrulev2 = fullscreenstate 0 2, tag:fakefullscreen
# Games
windowrulev2 = fullscreen, tag:games
# Tearing (for better gaming performance)
windowrulev2 = immediate, tag:games
# time-sensitive app rules
windowrulev2 = stayfocused, tag:time-sensitive
windowrulev2 = pin, tag:time-sensitive
windowrulev2 = dimaround, tag:time-sensitive
windowrulev2 = center, tag:time-sensitive
windowrulev2 = float, tag:time-sensitive
# cli util apps
windowrulev2 = float, tag:cli-utils
windowrulev2 = pin, tag:cli-utils
windowrulev2 = dimaround, tag:cli-utils
# hidden
windowrulev2 = movetoworkspacesilent, special:minimized, tag:hidden
# Group
# windowrule = group, ^virt-manager$
# Terminal applications
windowrulev2 = tag terminal, class:^(Alacritty|Xfce4-terminal|Kitty)$
# Web browsers
windowrulev2 = tag web, class:^($browser|Brave-browser|chromium|firefox)$
# File managers
windowrulev2 = tag file, class:^($fileManager|Pcmanfm|Thunar|qBittorrent|Caja)$
# Code editors
windowrulev2 = tag code, class:^(Geany|code|code-url-handler|cursor-url-handler|code-oss|Code - OSS|install4j-burp-StartBurp|burp-StartBurp|Unity|jetbrains-pycharm-ce|Postman)$
# Office applications
windowrulev2 = tag office, class:^(Gucharmap|Atril|Evince|libreoffice-writer|libreoffice-calc|libreoffice-impress|libreoffice|Soffice|Typora|obsidian|figma-linux|anytype|craft-nativefier-e0958b)$
# Communication apps
windowrulev2 = tag communication, class:^(Thunderbird|TelegramDesktop|Hexchat|discord|vesktop|VencordDesktop|Chat-gpt|Whatsapp-for-linux|Chatbox)$
# Media applications
windowrulev2 = tag media, class:^(Audacity|Music|MPlayer|Lxmusic|Inkscape|Gimp|Blender|obs|zoom|Zoom|Pitivi|kdenlive|openshot|vlc|cider|Cider|shotwell|Shotwell|fr.handbrake.ghb)$
windowrulev2 = tag media, title:^(Spotify.*)$
# Games
windowrulev2 = tag games, class:^(Minecraft|Badlion|War|steam_proton|steam|csgo_linux64|minecraft-launcher|lutris|genshinimpact.exe|moe.launcher.an-anime-game-launcher|lunarclient|zenlesszonezero.exe|moe.launcher.sleepy-launcher|sober)$
# System/Settings applications
windowrulev2 = tag system, class:^(virt-manager|blueman-adapters|GParted|Xdm-app|timeshift-gtk|com.nextcloud.desktopclient.nextcloud|gearlever|Lxappearance|Lxtask|Lxrandr|Arandr|System-config-printer.py|Pavucontrol|Exo-helper-1|Protonvpn|Xfce4-power-manager-settings|Mysql-workbench-bin|Grub-customizer|Nitrogen|archlinux-tweak-tool.py|pamac-manager|helvum|Vmware|btrfs-assistant|Bitwarden|wootility-lekker|nwg-look|com.github.wwmm.easyeffects|kvantummanager)$
# Miscellaneous applications
windowrulev2 = tag misc, class:^(maxautoclicker|os_server|Os_server)$
# floating applications
windowrulev2 = float, class:^(alacritty-float|Pcmanfm|Onboard|Yad|zoom|Xdm-app|wechat|WeChat|sxiv|Sxiv|Firefox:Places|Viewnior|feh|Nm-connection-editor|install4j-burp-StartBurp|thorium-app.shortwave.com__-Default|thorium-mdpkiolbdkhdjpekfbkbmhigcaggjagi-Profile_1|float|thorium-lnachpgegbbmnnlgpokibfjlmppeciah-Default|Beeper|electron)$
windowrulev2 = float, title:^(Steam Settings)$
# specificly sized
windowrulev2 = size 40% 40%, class:^(alacritty-float)$
# Sticky applicationsp
# App that have menu on top for stayfocused, without this, menus will dissappear when you move ur mouse
windowrulev2 = stayfocused, title:(menu)
# GUI Utils applications
windowrulev2 = tag gui-utils, class:^(thorium-app.shortwave.com__-Default|thorium-mdpkiolbdkhdjpekfbkbmhigcaggjagi-Profile_1|thorium-lnachpgegbbmnnlgpokibfjlmppeciah-Default|Beeper)$
windowrulev2 = animation slide right top, tag:gui-utils
# bitwarden chrome extension popup
windowrulev2 = pin, class:^(thorium-nngceckbapebfimnlniiiahkandclblb-Default)$
windowrulev2 = float, class:^(thorium-nngceckbapebfimnlniiiahkandclblb-Default)$
windowrulev2 = stayfocused, class:^(thorium-nngceckbapebfimnlniiiahkandclblb-Default)$
# for media contents
windowrulev2 = tag media-contents, class:^(blobdrop|dragon)$
# PIP
windowrulev2 = tag media-contents, title:^(Picture in picture)$
windowrulev2 = size 25% 25%, title:^(Picture in picture)$
# removes title/border
windowrulev2 = tag fakefullscreen, class:^(thorium-mdpkiolbdkhdjpekfbkbmhigcaggjagi-Profile_1|thorium-lnachpgegbbmnnlgpokibfjlmppeciah-Default)
# Full screen applications
# time-sensitive app rules
windowrulev2 = tag time-sensitive, class:^(org.freedesktop.impl.portal.desktop.kde|polkit-gnome-authentication-agent-1|pinentry-|xdg-desktop-portal.*|hyprland-share-picker.*)$
windowrulev2 = tag time-sensitive, title:^(Open File|Open|Select a File|Choose wallpaper|Open Folder|Save As|Save File|Library|File Upload)$
windowrulev2 = dimaround, tag:time-sensitive
# rofi
# windowrulev2 = float, class:^(Rofi)
# windowrulev2 = pin, class:^(Rofi)
# windowrulev2 = dimaround, class:^(Rofi)
# util apps
windowrulev2 = tag cli-utils, title:^(nmd|cliphist|pulsemixer|ranger|btop)$
windowrulev2 = dimaround, tag:cli-utils
windowrulev2 = stayfocused, title:^(btop)$
# windowrulev2 = stayfocused, title:^(rofi - Command|rofi - Confirmation|rofi - ArchLinux (hyprland))
# No shadow for tiled window
windowrulev2 = noshadow,floating:0
# Opacity rules
# windowrule = opacity 0.89 override 0.89 override, .* set in decoration
# windowrulev2 = opacity 0.95 0.90, class:.+
windowrulev2 = opacity 0.85 0.75, class:^code-oss$
windowrulev2 = opacity 0.85 0.75, class:^code$
windowrulev2 = opacity 0.85 0.75, class:^code-url-handler$
windowrulev2 = opacity 0.85 0.75, class:^cursor-url-handler$
windowrulev2 = opacity 1.00 0.90, class:^TelegramDesktop$
windowrulev2 = opacity 0.90 0.80, title:Spotify
windowrulev2 = opacity 0.90 0.80, class:^Cider$
windowrulev2 = opacity 0.50 0.40, class:^fcitx$
windowrulev2 = opacity 0.90 0.80, class:^Brave-browser$
windowrulev2 = opacity 0.90 0.80, class:^thunar$
windowrulev2 = opacity 0.85 0.75, class:^discord$
windowrulev2 = opacity 0.90 0.80, class:^Caja$
windowrulev2 = opacity 0.80 0.70, class:^polkit-gnome-authentication-agent-1$
windowrulev2 = opacity 0.80 0.70, title:^Open$
windowrulev2 = opacity 0.8 0.5, title:^New Tab - Thorium$
# windowrulev2 = ignorezero, title:Annotation - Zoom
# Layer rules/blur
layerrule = blurpopups
layerrule = blur,rofi
layerrule = ignorezero,rofi
layerrule = dimaround,rofi
layerrule = animation popin 65%,rofi
layerrule = blur,notifications
layerrule = ignorezero,notifications
layerrule = blur,swaync-notification-window
layerrule = ignorezero,swaync-notification-window
layerrule = blur,swaync-control-center
layerrule = animation slide right,swaync-notification-window
layerrule = animation slide right,swaync-control-center
layerrule = ignorezero,swaync-control-center
layerrule = blur,logout_dialog
layerrule = blur,waybar
layerrule = ignorezero, waybar
layerrule = blur,syshud
layerrule = ignorezero, syshud
# layerrule = blur,$browser
# Misc
# xwaylandvideobridge
windowrulev2 = opacity 0.0 override, class:^(xwaylandvideobridge)$
windowrulev2 = noanim, class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus, class:^(xwaylandvideobridge)$
windowrulev2 = maxsize 1 1, class:^(xwaylandvideobridge)$
windowrulev2 = noblur, class:^(xwaylandvideobridge)$
# Tearing (for better gaming performance)
windowrule = tag games, .*\.exe
# Roblox join private server
windowrulev2 = float, title:^(Join Friends)$ class:^(org.vinegarhq.Sober)$
# No transparency for fullscreen windows
windowrulev2 = plugin:chromakey,fullscreen:0
# Ignore maximize requests from apps. You'll probably like this.
windowrulev2 = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
Config File: /home/system/.config/hypr/binds.conf: Read Succeeded
####################
### KEYBINDINGSS ###
####################
# binds {
# allow_workspace_cycles = yes
# }
# See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = SUPER # Sets "SUPER" key as main modifier
# Launching...
bind = $mainMod, return, exec, $terminal
bind = $mainMod shift, return, exec, $terminal --class "alacritty-float,alacritty-float"
# bind = $mainMod space, return, exec, $terminal start --class pseudo
bind = $mainMod alt, Delete, exec, pkill rofi || $rofiexec/rofi_powermenu
bind = alt, F1, exec, pkill rofi || $rofiexec/rofi_launcher
bind = alt, F2, exec, pkill rofi || $rofiexec/rofi_runner
bind = $mainMod, period, exec, pkill rofi || $rofiexec/rofi_emoji
# utils
bind = $mainMod, c, exec, pkill rofi || $rofiexec/rofi_configs
bind = $mainMod, m, exec, pkill rofi || $rofiexec/rofi_music
bind = $mainMod, n, exec, nmd
bind = $mainMod, r, exec, pkill rofi || $rofiexec/rofi_asroot
bind = $mainMod, s, exec, pkill rofi || $rofiexec/rofi_screenshot
bind = $mainMod, v, exec, pkill rofi || $rofiexec/rofi_clipboard
bind = $mainMod, w, exec, pkill rofi || $rofiexec/rofi_windows
bind = $mainMod, x, exec, pkill rofi || $rofiexec/rofi_powermenu
bind = $mainMod, b, exec, pkill rofi || $rofiexec/rofi_bluetooth
# GUI
bind = $mainMod shift, f, exec, $fileManager
bind = $mainMod shift, w, exec, $browser --restore-last-session
bind = $mainMod shift, e, exec, cursor
bind = $mainMod shift, d, exec, discord $waylandarg
bind = $mainMod shift, b, exec, beeper $waylandarg
# CLI
bind = ctrl alt, a, exec, $termfloat -T pulsemixer -e pulsemixer
bind = ctrl alt, r, exec, $termfloat -T ranger -e ranger
bind = ctrl alt, v, exec, $termfloat -e $editor
# Emergency
bindtp = ctrl alt, b, exec, $termfloat -T btop -e sudo nice -n -20 ionice -c 1 sudo btop
bindtp = ctrl alt, delete, exec, pkill rofi || $rofiexec/rofi_shutdown_menu
# Misc
# bind = ctrl alt, m, exec, music
bind = $mainMod, p, exec, hyprpicker --autocopy
bindtp = ctrl alt, l, exec, hyprlock
# Misc
bind = $mainMod shift, g, exec, gtk-launch shortwave.desktop
# bind = $mainMod shift, c, exec, gtk-launch google-chat.desktop
# XF86 keys & Misc
bind = ,XF86Print, exec, $HOME/scripts/sysutil.sh screenshot --now
bind = alt, XF86AudioMute, exec, $HOME/scripts/sysutil.sh screenshot --in5sec
bind = $mainMod shift, s, exec, $HOME/scripts/sysutil.sh screenshot --area
# Volume
bind = ,XF86AudioRaiseVolume, exec, $HOME/scripts/sysutil.sh volume --inc
bind = ,XF86AudioLowerVolume, exec, $HOME/scripts/sysutil.sh volume --dec
bind = ,XF86AudioMute, exec, $HOME/scripts/sysutil.sh volume --toggle
bind = ,XF86AudioMicMute, exec, $HOME/scripts/sysutil.sh volume --toggle-mic
bind = ,XF86AudioNext, exec, playerctl -p spotify next
bind = ,XF86AudioPrev, exec, playerctl -p spotify previous
bindl = ,XF86AudioPlay, exec, playerctl -p spotify play-pause || LD_PRELOAD=/usr/lib/spotify-adblock.so spotify
bind = ,XF86AudioStop, exec, playerctl -p spotify stop
bind = ,XF86PowerOff, exec, pkill rofi || $rofiexec/rofi_shutdown
# Pause
bind = ,Pause, exec, hyprfreeze -s -a
# Print
bind = ,Print, exec, $HOME/scripts/hyprshot --now
# Brightness
bind = ,XF86MonBrightnessUp, exec, $HOME/scripts/sysutil.sh brightness --inc
bind = ,XF86MonBrightnessDown, exec, $HOME/scripts/sysutil.sh brightness --dec
# Window management
# bind = $mainMod, d, exec, $HOME/scripts/hyprhide h
# bind = $mainMod, i, exec, $HOME/scripts/hyprhide s
bind = $mainMod, d, movetoworkspacesilent, special:minimized
bind = $mainMod, i, togglespecialworkspace, minimized
bind = $mainMod, i, movetoworkspace, +0
bind = $mainMod, q, killactive
bind = $mainMod shift, q, exec, kill -9 $(hyprctl activewindow | grep pid | tail -1 | awk '{print$2}')
bind = ctrl alt, escape, exec, hyprctl kill
bind = ctrl $mainMod shift, r, exec, systemctl restart $sessionManager
# restart bar
bind = ctrl $mainMod, escape, exec, killall -SIGUSR2 waybar || waybar &
# reload wall
bind = $mainMod alt, b, exec, killall wallust; killall mpvpaper.sh; $SCRIPTSDIR/mpvpaper.sh
# bind = ctrl, up, hyprexpo:expo, on
# bind = ctrl, down, hyprexpo:expo, off
bind = $mainMod ctrl, up, overview:open
bind = $mainMod ctrl, down, overview:close
# bind = alt, tab, exec, hyprswitch gui
# bind = alt, grave, exec, hyprswitch gui --reverse
# bindr = alt, tab, exec, hyprswitch close
# bindr = alt, grave, exec, hyprswitch close
bind = alt, tab, exec, /home/system/.cargo/bin/hyprswitch gui --mod-key alt_l --key tab --close mod-key-release --reverse-key=key=grave && hyprswitch dispatch
bind = alt, grave, exec, /home/system/.cargo/bin/hyprswitch gui --mod-key alt_l --key tab --close mod-key-release --reverse-key=key=grave && hyprswitch dispatch -r
bind = ctrl alt, left, workspace, -1
bind = ctrl alt, right, workspace, +1
bind = $mainMod shift, left, movewindow, l
bind = $mainMod shift, right, movewindow, r
bind = $mainMod shift, up, movewindow, u
bind = $mainMod shift, down, movewindow, d
bind = alt shift, left, resizeactive, left -20 -20
bind = alt shift, right, resizeactive, 0 20
bind = alt shift, up, resizeactive, 0 -20
bind = alt shift, down, resizeactive, 20 0
bind = $mainMod ctrl, left, resizeactive, -20 0
bind = $mainMod ctrl, right, resizeactive, 20 0
bind = $mainMod ctrl, up, resizeactive, 0 -20
bind = $mainMod ctrl, down, resizeactive, 0 20
bind = $mainMod, f, fullscreen,
bind = $mainMod, space, togglefloating,
bind = $mainMod shift, space, pseudo, # dwindle
bind = $mainMod shift, h, togglesplit, # dwindle
# 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 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, movetoworkspacesilent, 10
# Scroll through existing workspaces with mainMod + scroll
# use waybar
# 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
# bind = $mainMod, mouse:272, pin
# bindri = $mainMod, mouse:272, pin, disable
bindi = ,mouse:276, exec, exec -a autoclicker-left zsh -c 'while true; do wlrctl pointer click; sleep $((0.$RANDOM/10)); done'
bindi = ,mouse:275, exec, exec -a autoclicker-right zsh -c 'while true; do wlrctl pointer click right; sleep $((0.$RANDOM/10)); done'
bindri = ,mouse:276, exec, kill $(pgrep -f autoclicker-left)
bindri = ,mouse:275, exec, kill $(pgrep -f autoclicker-right)
# Make group
bind = $mainMod, g, togglegroup
# bindie = ,mouse:276, exec, wlrctl pointer click
# bindie = ,mouse:275, exec, wlrctl pointer click right
# bindri = ,mouse:276, exec, kill $(pgrep -f autoclicker-left)
# bindri = ,mouse:275, exec, kill $(pgrep -f autoclicker-right)
# chroma
bind = $mainMod, O, togglechromakey
Config File: /home/system/.config/hypr/autostart.conf: Read Succeeded
#################
### AUTOSTART ###
#################
# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:
# seems to be builtin?
# exec-once = dbus-update-activation-environment --all && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
# exec-once = systemctl --user import-environment XDG_SESSION_TYPE XDG_CURRENT_DESKTOP WAYLAND_DISPLAY QT_QPA_PLATFORMTHEME
# FIX CURSOR because keep reseting(see: https://www.reddit.com/r/hyprland/comments/1fgfmqb/gtk_apps_not_respecting_cursor_theme/)
# exec-once = gsettings set org.gnome.desktop.interface cursor-theme Bibata-Rainbow-Modern
exec-once = hyprctl setcursor Bibata-Rainbow-Modern 24
# Launch hyprland plugins
exec-once = hyprpm reload || hyprpm update
# Start pyprland daemon
exec-once = pyprland
# Waybar
exec-once = waybar
# Hypr-Eco
# exec-once = hyprpaper
# exec-once = $SCRIPTSDIR/hyprpaper.sh
# exec-once = $SCRIPTSDIR/swww.sh
exec-once = $SCRIPTSDIR/mpvpaper.sh
exec-once = hypridle
# XWayland
exec-once = xrdb -merge ~/.Xresources
# Auth agent
# exec-once = systemctl --user start plasma-polkit-agent # doesnt respect themeing
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
# keyring agent
exec-once = gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
# Location service
exec-once = /usr/lib/geoclue-2.0/demos/agent &
# input method
exec-once = fcitx5 -d
# app armor notifications
# exec-once = aa-notify -p -s 1 -w 60 -f /var/log/audit/audit.log &
# Clipboard history
# exec-once = wl-paste --watch cliphist store
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
# exec-once = wl-clip-persist --clipboard regular
# Notification agent
exec-once = swaync
# window swicher daemon
exec-once = hyprswitch init
# audio auto adjust
exec-once = $HOME/scripts/audio-autoAdjust.sh --daemon
# effect for audio
exec-once = while true; do easyeffects --gapplication-service; done
# startup sound
exec-once = $HOME/scripts/startupsound.sh
# misc
# sys hud
exec-once = syshud -M audio_in,audio_out,brightness -b /sys/bus/ddcci/devices/ddcci13/backlight/ddcci13/
# night light
exec-once = gammastep -l geoclue2
# user applications
exec-once = udiskie
exec-once = bitwarden-desktop
# exec-once = kdeconnectd
# exec-once = input-leap # doesnt work yet
exec-once = nextcloud --background
exec-once = discord --start-minimized
exec-once = beeper --no-sandbox --hidden
# exec-once = echo 'ddcci 0x37' | sudo tee /sys/bus/i2c/devices/i2c-13/new_device
# Notify if stuff is already started
exec-once = warp-cli status | grep Connect && notify-send 'warp-vpn' 'connected'
exec-once = pactl get-source-mute @DEFAULT_SOURCE@ | grep 'Mute: yes' >/dev/null && notify-send 'microphone' 'muted'
exec-once = modprobe uvcvideo || notify-send 'uvcvideo' 'disabled'
exec-once = pgrep -f gpu-screen-recorder && notify-send 'recorder' 'recording'
# restore session
exec-once = hyprsession
# spam of notification at start(e.g. chromium)
exec-once = swaync-client --dnd-on && sleep 3 && swaync-client --dnd-off
======Config-End========
Description
you can see in the video, i just keep pressing super + right arrow(movefocus r)
How to reproduce
- spawn window and mix up the alignment(from spawn)
Crash reports, logs, images, videos
github only allow 10MB ahh https://fs.littleblack111.com/aaaaa.mp4
I have a widescreen monitor which is split into two (two cables etc.) and I observe a similar behavior.
https://github.com/user-attachments/assets/6cffcc82-c72a-402d-bc9e-4577a1c58df7
System/Version info
``` Hyprland, built from branch at commit 0c7a7e2d569eeed9d6025f3eef4ea0690d90845d (version: bump to 0.44.0). Date: Sun Oct 6 11:04:13 2024 Tag: v0.44.0, commits: 5299 built against aquamarine 0.4.2flags: (if any)
System Information: System name: Linux Node name: om Release: 6.11.2-zen1-1.1-zen Version: #1 ZEN SMP PREEMPT_DYNAMIC Sun, 06 Oct 2024 01:37:18 +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]) 14:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c4) (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:
hmm. i think we're talking about different things, my issue is the focus will move to some random window instead of next row or start
Hello there!
This issue has been closed, as we are moving from issues to discussions. More about this can be found here and in #9854.
Firstly, please make sure this issue is still relevant in latest Hyprland. If so, we ask you to open a discussion (please read the discussion guidelines first, in the pinned post)
Thank you for your understanding!