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

Ctrl+Tab in Firefox[-nightly] overlapping on ultrawide monitor (3440x1440@144) #6158

Open
shinobiultra opened this issue May 19, 2024 · 7 comments
Labels
bug Something isn't working

Comments

@shinobiultra
Copy link

Hyprland Version

System/Version info
Hyprland, built from branch main at commit f8857e6072bd85b95393499688872aaf7f088b5b  (input: find surface pos correctly when mouse drag is active).
Date: Sat May 18 22:20:01 2024
Tag: v0.40.0-113-gf8857e60, commits: 4719

flags: (if any)


System Information:
System name: Linux
Node name: Archee
Release: 6.9.1-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Fri, 17 May 2024 16:56:38 +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 TU106 [GeForce RTX 2060 SUPER] [10de:1f06] (rev a1) (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:

Bug or Regression?

Bug

Description

When doing CTRL+Tab in Firefox[-nightly] on ultrawide monitor (3440x1440@144), the tab previews overlap, making it unusable. When moving to smaller monitors, it work normally.

See screenshot below
wpkY

How to reproduce

Simply launch firefox on ultrawide monitor, configure it to Ctrl+Tab in recent order and observe the overlap. When moving firefox to smaller monitors it works okay. Also, sometimes (very rarely) it even works on the ultrawide.

Crash reports, logs, images, videos

No response

@shinobiultra shinobiultra added the bug Something isn't working label May 19, 2024
@vaxerski
Copy link
Member

what the hell is that? I've never seen that preview. Ctrl+tab for me just cycles

@The-Briel-Deal
Copy link
Contributor

Lol. Why is a bug in an experimental version of Firefox being reported as a Hyprland bug? Can you test this on another WM/DE and let us know if this only happens on Hyprland?

I don't have an ultrawide monitor or the nightly version of firefox.

@shinobiultra
Copy link
Author

what the hell is that? I've never seen that preview. Ctrl+tab for me just cycles

It's when set that Ctrl+Tab cycles in recently used order.

Lol. Why is a bug in an experimental version of Firefox being reported as a Hyprland bug? Can you test this on another WM/DE and let us know if this only happens on Hyprland?

I don't have an ultrawide monitor or the nightly version of firefox.

It happens even in normal firefox and for many versions now. Testing out in different WM/DE will take me a bit atm.

@The-Briel-Deal
Copy link
Contributor

The-Briel-Deal commented May 19, 2024

Can you point me to how to enable this? I pulled latest release from arch repository this morning and when I control tab just brings me to the next tab.

@Agent00Ming
Copy link
Contributor

Can you point me to how to enable this? I pulled latest release from arch repository this morning and when I control tab just brings me to the next tab.

ff_cycle_tabs

looks fine on both of my monitors (neither are ultrawide)

@The-Briel-Deal
Copy link
Contributor

Same, I got this to work, its got a little jank in terms of window stretching occasionally. Maybe I'll play with this more later but I've never used this sort of feature. I just use vimiums keybinds for tab navigation.

Lmk if you can reliably replicate breakage though, and provide config so we can make sure we have the same window rules.

@shinobiultra
Copy link
Author

shinobiultra commented May 20, 2024

Same, I got this to work, its got a little jank in terms of window stretching occasionally. Maybe I'll play with this more later but I've never used this sort of feature. I just use vimiums keybinds for tab navigation.

Lmk if you can reliably replicate breakage though, and provide config so we can make sure we have the same window rules.

Well, it works on my smaller resolution monitors as well. Also, when I switch to pseudo tile it works again (even though it's still full screen and almost the same size). When I toggle it back, it's broken again.

Use vimium but never really used the tab navigation functionality, perhaps will give it a shot. But these previews are sexy when they work xd

My window rules config
# ###################################
#           Browser                 #
# ###################################

windowrulev2 = opacity 1 1,class:^(firefox-nightly)$
windowrulev2 = workspace 1, monitor 1,class:^(firefox-nightly)$
windowrule = idleinhibit fullscreen,class:^(firefox-nightly)$
windowrulev2 = opacity 1 1,class:^(firefox)$
windowrulev2 = workspace 1, monitor 1,class:^(firefox)$
windowrule = idleinhibit fullscreen,class:^(firefox)$
exec-once = LIBVA_DRIVER_NAME=iHD firefox-nightly

windowrulev2 = opacity 0.90 0.90,class:^(Brave-browser)$
windowrulev2 = workspace 2, monitor 1,class:^(Brave-browser)$
windowrule = idleinhibit fullscreen,class:^(Brave-browser)$

# ###################################
#           Music Player            #
# ###################################

windowrulev2 = opacity 0.90 0.90,class:^(rhythmbox)$
windowrulev2 = workspace 5, monitor 1,class:^(rhythmbox)$

# ###################################
#           Email client            #
# ###################################

# windowrulev2 = opacity 0.80 0.80,class:^(BlueMail)$, title:^(BlueMail)$
# windowrulev2 = workspace 3 silent, class:^(BlueMail)$, title:^(BlueMail)$
# exec-once = bluemail -in-process-gpu

windowrulev2 = opacity 0.80 0.80,class:^(thunderbird)$, title:^(Mozilla Thunderbird)$
windowrulev2 = workspace 3 silent, class:^(thunderbird)$, title:^(Mozilla Thunderbird)$
# exec-once = thunderbird

# ###################################
#                DOCs               #
# ###################################

windowrulev2 = opacity 0.80 0.80,class:^(libreoffice-startcenter)$, title:^(LibreOffice 7.6)$
windowrulev2 = workspace 4 silent, class:^(libreoffice-startcenter)$, title:^(LibreOffice 7.6)$

# ###################################
#           Note Tacking            #
# ###################################

# exec-once = notion-app
# NOTE: note sure about the class/title, not using notion-app anymore
# windowrulev2 = workspace 3 silent, class:^(notion-app)$, title:^(notion-app)$

# ###################################
#           Steam                   #
# ###################################
windowrulev2 = opacity 0.80 0.80,class:^(Steam)$
windowrulev2 = opacity 0.80 0.80,class:^(steam)$
windowrulev2 = opacity 0.80 0.80,class:^(steamwebhelper)$

# ###################################
#           Spotify                 #
# ###################################
windowrulev2 = opacity 0.80 0.80,class:^(Spotify)$

# ###################################
#           vs code                 #
# ###################################
windowrulev2 = opacity 1 1,class:^(Code)$
windowrulev2 = opacity 1 1,class:^(code-url-handler)$

# ###################################
#           Terminal                #
# ###################################

windowrulev2 = opacity 0.80 0.80,class:^(kitty)$

windowrulev2 = float,class:^(cool-retro-term.cool-retro-term)$
windowrulev2 = opacity 0.80 0.80,class:^(cool-retro-term.cool-retro-term)$

# ###################################
#           Theming apps            #
# ###################################
windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$
windowrulev2 = float,class:^(nwg-look)$

windowrulev2 = opacity 0.80 0.80,class:^(Lxappearance)$
windowrulev2 = float,class:^(Lxappearance)

windowrulev2 = opacity 0.80 0.80,class:^(kvantummanager)$
windowrulev2 = float,class:^(kvantummanager)

# ###################################
#              GTKs                 #
# ###################################
windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ #Clapper-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ #Flatseal-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ #Cartridges-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ #Boxes-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(app.drey.Warp)$ #Warp-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(yad)$ #Protontricks-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(Signal)$ #Signal-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ #Upscaler-Gtk
windowrulev2 = float,class:^(Signal)$ #Signal-Gtk
windowrulev2 = float,class:^(app.drey.Warp)$ #Warp-Gtk
windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ #Upscaler-Gtk
windowrulev2 = float,class:^(yad)$ #Protontricks-Gtk
windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ #Clapper-Gtk
windowrulev2 = float,class:^(eog)$ #Imageviewer-Gtk
windowrulev2 = float,class:^(gwenview)$ #Imageviewer

# ###################################
#               QTs                 #
# ###################################
windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ #Obs-Qt

windowrulev2 = opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ #ProtonUp-Qt
windowrulev2 = float,class:^(net.davidotek.pupgui2)$ #ProtonUp-Qt

windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$
windowrulev2 = float,class:^(qt5ct)$

# ###################################
#             ELECTRONs             #
# ###################################
windowrulev2 = opacity 0.80 0.80,class:^(discord)$ #Discord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ #WebCord-Electron

# ###################################
#             File explorer         #
# ###################################
windowrulev2 = opacity 0.80 0.80,class:^(org.kde.dolphin)$
windowrulev2 = float,class:^(org.kde.dolphin)

windowrulev2 = opacity 0.80 0.80,class:^(nemo)$
windowrulev2 = float,class:^(nemo)

# ###################################
#             KDEs                  #
# ###################################

windowrulev2 = opacity 0.80 0.80,class:^(org.kde.ark)$
windowrulev2 = float,class:^(org.kde.ark)$

windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$

# ###################################
#             pavucontrol           #
# ###################################

windowrulev2 = opacity 0.80 0.70,class:^(pavucontrol)$
windowrulev2 = float,class:^(pavucontrol)$

# ###################################
#             wlogout               #
# ###################################
windowrulev2 = opacity 0.80 0.70,class:^(wlogout)$
windowrulev2 = float,class:^(wlogout)$
# windowrule = fullscreen, wlogout
# windowrule = float, title:wlogout
# windowrule = fullscreen, title:wlogout

# ###################################
#             blueman               #
# ###################################

windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$
windowrulev2 = float,class:^(blueman-manager)$

# ###################################
#           Network Manager         #
# ###################################
windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$
windowrulev2 = float,class:^(nm-applet)$

windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$
windowrulev2 = float,class:^(nm-connection-editor)$

# ###################################
#           Launcher                #
# ###################################
windowrulev2 = opacity 0.80 0.70,class:^(wofi)$
windowrulev2 = float,class:^(wofi)$

windowrulev2 = opacity 0.80 0.70,class:^(tofi)$
windowrulev2 = float,class:^(tofi)$

windowrulev2 = opacity 0.80 0.70,class:^(rofi)$
windowrulev2 = float,class:^(rofi)$

windowrulev2 = opacity 0.80 0.70,class:^(viewnior)$
windowrulev2 = float,class:^(viewnior)$

windowrulev2 = opacity 0.80 0.70,class:^(feh)$
windowrulev2 = float,class:^(feh)$

# ###################################
#           Others                  #
# ###################################
windowrulev2 = opacity 0.80 0.70,class:^(file_progress)$
windowrulev2 = float,class:^(file_progress)$

windowrulev2 = opacity 0.80 0.70,class:^(confirm)$
windowrulev2 = float,class:^(confirm)$

windowrulev2 = opacity 0.80 0.70,class:^(dialog)$
windowrulev2 = float,class:^(dialog)$

windowrulev2 = opacity 0.80 0.70,class:^(download)$
windowrulev2 = float,class:^(download)$

windowrulev2 = opacity 0.80 0.70,class:^(notification)$
windowrulev2 = float,class:^(notification)$

windowrulev2 = opacity 0.80 0.70,class:^(error)$
windowrulev2 = float,class:^(error)$

windowrulev2 = opacity 0.80 0.70,class:^(splash)$
windowrulev2 = float,class:^(splash)$

windowrulev2 = opacity 0.80 0.70,class:^(confirmreset)$
windowrulev2 = float,class:^(confirmreset)$

windowrulev2 = opacity 0.80 0.70,class:^(Open File)$
windowrulev2 = float,class:^(Open File)$

windowrulev2 = opacity 0.80 0.70,class:^(branchdialog)$
windowrulev2 = float,class:^(branchdialog)$

windowrulev2 = opacity 0.80 0.70,class:^(file-roller)$
windowrulev2 = float,class:^(file-roller)$


windowrulev2 = opacity 0.80 0.70,class:^(Media viewer)$
windowrulev2 = float,class:^(Media viewer)$

windowrulev2 = opacity 0.80 0.70,class:^(Volume Control)$
windowrulev2 = float,class:^(Volume Control)$

windowrulev2 = opacity 0.80 0.70,class:^(Picture-in-Picture)$
windowrulev2 = float,class:^(Picture-in-Picture)$

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

4 participants