Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Behaviour of going next after the edge is weird #8065

Open
1 task done
littleblack111 opened this issue Oct 10, 2024 · 2 comments
Open
1 task done

Behaviour of going next after the edge is weird #8065

littleblack111 opened this issue Oct 10, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@littleblack111
Copy link

Already reported ? *

  • 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

  1. 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

@littleblack111 littleblack111 added the bug Something isn't working label Oct 10, 2024
@topaxi
Copy link

topaxi commented Oct 10, 2024

I have a widescreen monitor which is split into two (two cables etc.) and I observe a similar behavior.

20241010_172030.mp4
System/Version info ``` Hyprland, built from branch at commit 0c7a7e2 (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.2

flags: (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:

@littleblack111
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants