Tauon icon indicating copy to clipboard operation
Tauon copied to clipboard

UI Issue Under Wayland

Open 0pLuS0 opened this issue 6 months ago • 25 comments

Hello,

So I pulled the plug and installed Tauon... 🤪

I'm running CachyOS, with Hyprland under Wayland.

I understand the state of Wayland development and it's level of support/lack of support...

But, I've not seen this issue with any apps I've used so far, that I Float.

This is the Float Rule I created;

Float Tauon
windowrulev2 = float, class:^(tauonmb)$
windowrulev2 = size 50% 55%, class:^(tauonmb)$
windowrulev2 = center, class:^(tauonmb)$

When I first started Tauon, it was like a small mini ui, half the size of the window, sitting in the middle. After playing around with it, I was finally able to get it to show up in normal size scaled.

But, now, when it's open, the UI size/fonts are real small, but if I start to drag the window, just as I begin a drag motion, the UI pops bigger.

Here's a screen shot, notice the size of the menu and buttons.

Image

Here's when I start to drag it, they all pop bigger.

Image

Anyone know a solution, to make it appear normal size when starting?

If I don't float Tauon and let it fill the screen, it looks ok.

THANKS

0pLuS0 avatar Jun 25 '25 01:06 0pLuS0

Not sure why it does this. Maybe try in Tauon go to MENU > Settings > Window and disable "Auto scale" and set the scale to a desired value. See if that solves the problem.

Taiko2k avatar Jun 25 '25 01:06 Taiko2k

Hi @Taiko2k

I should of said before I've already played with the Scale and X11 settings... no luck... 😩

0pLuS0 avatar Jun 25 '25 01:06 0pLuS0

I can't think of a solution unfortunately.

Taiko2k avatar Jun 25 '25 01:06 Taiko2k

Here's how it looks when first starting with a Playlist.

Image

Then I give it a slight drag, and it looks normal now.

Image

0pLuS0 avatar Jun 25 '25 01:06 0pLuS0

Not sure exactly who's at fault. This is an intersection between Tauon, SDL3, and Hyprland. Given it seems to work fine on other platforms I assume Tauon's logic for this is at least half way correct.

I see you made an issue under HyDE. If you can reproduce the issue on bare Hyprland it might be better to create an issue under that project.

Taiko2k avatar Jun 25 '25 02:06 Taiko2k

Hi @Taiko2k how are we getting the monitor scaling logic?

Here's quick video of the scaling

https://github.com/user-attachments/assets/e81b38ed-0bbd-4491-907d-94a253d44ea0

edit:

  • I tried using the bare minimum on hyprland same issues
  • Also using niri WM, still the same issue.

So I am suspecting that tauon retains the scaling value even we moved the window to another monitor?.
When I toggle the slider from 1.0 to 0.9 then back to 1.0 it scales to x1-monitor. Then when auto scaling is enabled again it doesn't scale to x2monitor.

kRHYME7 avatar Jun 25 '25 02:06 kRHYME7

@kRHYME7 have you tried to restart tauon when changing scaling? And what is resolution of 2 displays?

Solarunit avatar Jun 25 '25 02:06 Solarunit

@kRHYME7 have you tried to restart tauon when changing scaling?

As we can see on the video https://github.com/Taiko2k/Tauon/issues/1685#issuecomment-3002371451 (I hope github renders it) No need to restart the app. I got x2 and x1 monitors

So the log identifies the scaling correctly and dynamically. But the Icons/whole UI being rendered sticks to the last "corrected" scaling. I mean by "corrected" as manually changing the scaling or restarting the whole app which in turn renders the icons correctly. Image

kRHYME7 avatar Jun 25 '25 02:06 kRHYME7

In a multi monitor setup with different scales, we want "Auto Scale" in Tauon to stay enabled. With that setting off Tauon won't attempt to compensate between the different sizes.

Looks like this video is demonstrating a different issue to the first issue. The issue in the video is an issue with Tauon scaling icons? But the rest of the UI seems to be scaling correctly?

Not sure why the icons aren't scaling with the rest of the UI, it must a bug in Tauon but I don't have a multi monitor setup to test this. If anyone is interested in testing this... well actually can we test if this issue is present in Tauon Master branch first to rule out this already being fixed?

Taiko2k avatar Jun 25 '25 02:06 Taiko2k

@Taiko2k I am using flatpak for this. Do we have a beta package for tauon?

kRHYME7 avatar Jun 25 '25 02:06 kRHYME7

Do we have a beta package for tauon?

Working on it...

Taiko2k avatar Jun 25 '25 02:06 Taiko2k

I went and did a fresh install of CachyOS with Hyprland.

One issue I also noticed a few times on my box, when first opening it, tauon would be a smaller UI inside a larger UI, like this screen shot, I took in the CachyOS bare/minimal install of Hyprland.

Image

Once it opened and appeared like this, if I began to drag the window, it then popped into filling up the larger UI and looking normal.

By the way, I grabbed Tauon from AUR. - for my box, and this bare install...

https://aur.archlinux.org/packages/tauon-music-box

0pLuS0 avatar Jun 25 '25 03:06 0pLuS0

@kRHYME7 OK beta is scheduled for release on Flathub Beta channel. Not sure how long it takes to publish, could be hours.

[!CAUTION]
User data cannot be downgraded from this beta (v8.1.0). If you're an existing user, make sure to backup your Tauon user data folder before running this beta! (Typically /home/<user>/.var/app/com.github.taiko2k.tauonmb/data/TauonMusicBox)

Taiko2k avatar Jun 25 '25 03:06 Taiko2k

I see there's a git AUR;

https://aur.archlinux.org/packages/tauon-music-box-git

So if something comes about working, I'll grab from the git later when you've pushed commits to it.

I'm not one for using Flatpacks, I'll have to let @kRHYME7 brave that LOL 🤪

0pLuS0 avatar Jun 25 '25 03:06 0pLuS0

Yes you can use the AUR git version as well, that one always follows git master. Same upgrade warning applies.

Taiko2k avatar Jun 25 '25 03:06 Taiko2k

https://github.com/Taiko2k/Tauon/issues/1685#issuecomment-3002809532

looks like you are rendering it with awkward scaling.

your windowrule is restricting the window too. the blurred part you see is where hyprland prepares a location for the floating window. But tauon does not know about that event yet. That's why when you scale it manually it corrects itself. So I don't know which side of the party needs to adjust this.

But for bare WM users it is your duty to tweak it correctly.


# flatpak 
windowrulev2 = float, class:^(com.github.taiko2k.tauonmb)$
windowrulev2 = center 1, class:^(com.github.taiko2k.tauonmb)$
windowrulev2 = minsize 720 500 , class:^(com.github.taiko2k.tauonmb)$ # Sets the launch size! 
windowrulev2 = size 60% 40%, class:^(com.github.taiko2k.tauonmb)$  # dynamically resizes the window after launch



# distro 
windowrulev2 = float, class:^(tauonmb)$
windowrulev2 = center 1, class:^(tauonmb)$
windowrulev2 = minsize 720 500 , class:^(tauonmb)$ # Sets the launch size! 
windowrulev2 = size 60% 40%, class:^(tauonmb)$  # dynamically resizes the window after launch

Using 50%.55% is restricting tauon at launch, so the compromise is to give it the right value and environment. In my case the sweet spot is 60% by 40%

Image

Key point: Don't Squeeze it! 😉

kRHYME7 avatar Jun 25 '25 04:06 kRHYME7

@Taiko2k BTW are we using a gtk3 toolkit on linux? I'm curious becasue we have GObject as our python lib.

kRHYME7 avatar Jun 25 '25 04:06 kRHYME7

Ahhh I hope that's all this was, my lack of settings.

Well I'm still a HyprNoob LOL 🤪

Hey I'm trying I only thought I needed;

windowrulev2 = float, class:^(tauonmb)$ windowrulev2 = size 50% 55%, class:^(tauonmb)$ windowrulev2 = center, class:^(tauonmb)$

But, since you mentioned; tauon does not know about that event yet, do we really need additional arguments, or should tauon know about this? Because I mentioned previously, this is the only app at present that I've seen this with, all my other apps I only use these same Float cmds...

THANKS

0pLuS0 avatar Jun 25 '25 04:06 0pLuS0

BTW are we using a gtk3 toolkit on linux? I'm curious becasue we have GObject as our python lib.

Tauon uses custom UI drawing on top of SDL3. It uses some miscellaneous functions from GTK and various libs from GObject.

Taiko2k avatar Jun 25 '25 11:06 Taiko2k

#1547 may be relevant/dupe here, hard to say

C0rn3j avatar Jun 25 '25 12:06 C0rn3j

@C0rn3j

Did you try similar float settings that @kRHYME7 suggested?

windowrulev2 = float, class:^(tauonmb)$
windowrulev2 = center 1, class:^(tauonmb)$
windowrulev2 = minsize 720 500 , class:^(tauonmb)$ # Sets the launch size! 
windowrulev2 = size 60% 40%, class:^(tauonmb)$  # dynamically resizes the window after launch

0pLuS0 avatar Jun 25 '25 21:06 0pLuS0

I use Plasma, and unfortunately won't be testing this, just linked the issue as it seemed relevant

C0rn3j avatar Jun 25 '25 21:06 C0rn3j

I didn't notice any new commits to Git, so I'm still using 8.0.1

@kRHYME7 the settings you mentioned, I tried, they're not working. I tried different minisize and size dimensions, nothing worked.

windowrulev2 = float, class:^(tauonmb)$
windowrulev2 = center 1, class:^(tauonmb)$
windowrulev2 = minsize 720 500 , class:^(tauonmb)$ # Sets the launch size! 
windowrulev2 = size 60% 40%, class:^(tauonmb)$  # dynamically resizes the window after launch

When I open tauon, it's still the same;

Image

Then I begin to drag it, and it fills up the UI.

Image

0pLuS0 avatar Jun 26 '25 01:06 0pLuS0

Ok I went back playing some more, and removing/commenting out this line;

windowrulev2 = size 60% 40%, class:^(tauonmb)$ # dynamically resizes the window after launch

And making the rules as such;

windowrulev2 = float, class:^(tauonmb)$
windowrulev2 = center 1, class:^(tauonmb)$
windowrulev2 = minsize 1200 700 , class:^(tauonmb)$ # Sets the launch size! 

When tauon first appears it looks like this, but it's only for a brief second;

Image

Then it pops into filling the UI;

Image

So for now, I seem to have it working, not sure this is the most elegant way to go about it. hmm

THANKS

0pLuS0 avatar Jun 26 '25 06:06 0pLuS0

I made a post upstream at Hyprland;

https://github.com/hyprwm/Hyprland/discussions/10847#discussioncomment-13588185

0pLuS0 avatar Jun 26 '25 22:06 0pLuS0