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

size of the cursor is not be remembered after rebooting the computer #2391

Closed
ralf3u opened this issue Mar 10, 2023 · 15 comments
Closed

size of the cursor is not be remembered after rebooting the computer #2391

ralf3u opened this issue Mar 10, 2023 · 15 comments

Comments

@ralf3u
Copy link

ralf3u commented Mar 10, 2023

Steps to reproduce
1 main-menu, preferences, ..., appearance
2 select Cursor
3 select Breeze
4 Change Size from 22 to 40
5 Click Apply
6 restart the computer

Result
The cursor has the size of 22. In Size there is 22.

Expectation
The cursor should have the size of 40. In Size there should be 40.

Lubuntu 22.10
LXQt 1.1.0 (the current version is 1.2.0, what I don't use because it is not part of Lubuntu 22.10)

@tsujan
Copy link
Member

tsujan commented Mar 11, 2023

Not reproducible.

@tsujan tsujan closed this as completed Mar 11, 2023
@ralf3u ralf3u changed the title size of the cursor will not be remebered after rebooting the computer size of the cursor is not be remembered after rebooting the computer Mar 11, 2023
@ralf3u
Copy link
Author

ralf3u commented Apr 26, 2023

Not reproducible.

That is strange because it is reproducible also in Lubuntu 23.04 in LXQt 1.2.0. I changed the size of the cursor of "Breeze Light" from 34 to 40. After a restart of the computer the size is still 34.

@ralf3u
Copy link
Author

ralf3u commented Apr 26, 2023

I just recognized that I don't even need to restart the computer. If I let appear again the Appearance, then the size is again 34 and not 40 as it should be.

@tsujan
Copy link
Member

tsujan commented Apr 26, 2023

also in Lubuntu 23.04

Report it to Lubuntu, telling them that it doesn't happen upstream.

@Butterfly
Copy link

also in Lubuntu 23.04

Report it to Lubuntu, telling them that it doesn't happen upstream.

Hi! I had already reproduced this prior to this thread, but I'm having some serious memory issues right now. I think I figured out that it might be about the cursors we choose and how their developers set them up. If you can hold off for a little while to give me a chance to figure out what I had tracked down, I'll try to figure out what happened here on Debian Bookworm.

In the meantime, I think I remember getting ready to ask if the cursor you're using offers a choice of something like small, regular, and large when you go to Preferences > LXQt Settings > Keyboard and Mouse. Mine does. It's Chameleon-Purple-Regular.

Those multiple size options seem to be the clog. And it just occurred to me this second that it could somehow still be the case with certain other cursors that only have one line to click. They may still be hardwired in a dot conf file somewhere. Those apparently override our personal CHOICE or needs to have e.g. larger medium sized cursors that aren't quite as big as the default "large" size.

See you all in a little bit. 😄

@tsujan
Copy link
Member

tsujan commented Apr 26, 2023

I think I remember getting ready to ask if the cursor you're using offers a choice of something like small, regular, and large

I tested with what @ralf3u mentioned in his report, namely, Breeze and Breeze Light.

Also, see #2397 (comment), although I don't think it's related to this because @ralf3u told that, in his case, the dialog showed 34 after reopening (which isn't reproducible here).

@ralf3u
Copy link
Author

ralf3u commented Apr 30, 2023

@tsujan

Are you using a non-SDDM based setup?

I ask this because according to this comment (https://discourse.lubuntu.me/t/bug-in-lubuntu-23-04-customized-size-of-the-cursor-is-not-remembered/4184/2) the issue could be caused by SDDM.

@tsujan
Copy link
Member

tsujan commented Apr 30, 2023

I use SDDM.

@tsujan
Copy link
Member

tsujan commented Apr 30, 2023

I ask this because according to this comment (https://discourse.lubuntu.me/t/bug-in-lubuntu-23-04-customized-size-of-the-cursor-is-not-remembered/4184/2) the issue could be caused by SDDM.

It may be specific to Ubuntu. Here, when I set the cursor size to a big value like 40, it remains 40 inside the LXQt session. When I log out, the cursor size becomes 22 in SDDM, which isn't a surprise because I'm outside the session. After logging into LXQt, the cursor size becomes 40 again, as expected.

@humpity
Copy link

humpity commented May 2, 2023

I use SDDM.

Are you using Manjaro ? because I think I know why it works there too.

@tsujan
Copy link
Member

tsujan commented May 2, 2023

Yes. Why?

@humpity
Copy link

humpity commented May 3, 2023

The SDDM startup scripts look for directories and files that
may contain X resource files.
I tried out a Manjaro ISO and installed sddm+lxqt.

SDDM default SessionCommand is /usr/share/sddm/scripts/Xsession.

/etc/X11/ had neither Xresources nor Xresources/
$HOME/ had no .Xresources
so xrdb is never called.
RESOURCE_MANAGER property is NOT created.
So I think lxqt-config picks up .Xdefaults instead.
Cursor size is correct.

For debian based distros,
SDDM default SessionCommand is /etc/sddm/Xsession.
Again, the scripts hunt for Xresources but in Lubuntu it
does find one file; /etc/X11/Xresources/x11-common.
xrdb is called to merge it.
RESOURCE_MANAGER property is created.
lxqt-config picks up cursor size from RESOURCE_MANAGER
(which doesn't have Xcursor.size).
Cursor size is wrong.

So SDDM is focused on Xresources while LXQt is updating Xdefaults.

A workaround is to symlink ~.Xdefaults to ~/.Xresources. This way
LXQt updates ~/.Xresources. (btw: the update is crude, it appends
lines instead of changing existing values).

Why isn't LXQt reading the cursor size from ~/.config/lxqt/session.conf ?

@tsujan
Copy link
Member

tsujan commented May 3, 2023

So SDDM is focused on Xresources while LXQt is updating Xdefaults.

Interesting!

Why isn't LXQt reading the cursor size from ~/.config/lxqt/session.conf ?

It does.

As for lxqt-config, when the user chooses a cursor theme and clicks Apply, lxqt-config applies it and puts its name into the config file (in SelectWnd::applyCusorTheme()). The next time the dialog is opened, lxqt-config checks the really default cursor theme (because it may have changed by other factors) and reads session.conf only for not applying the new theme if it's the same as the default one.

But it's lxqt-session that reads the default cursor theme from session.conf when loading the mouse settings (in SessionApplication::loadMouseSettings) by using xrdb -merge (in SessionApplication::mergeXrdb) .

@tsujan
Copy link
Member

tsujan commented May 3, 2023

@humpity
I opened lxqt/lxqt-config#937. Thanks!

@tsujan
Copy link
Member

tsujan commented May 3, 2023

OK, the function fixXDefaults in cfgfile.cpp belonging to lxqt-config should be changed (also, its name), so that it writes to ~/.Xresources in addition to ~/.Xdefaults.

Even in its current form, that function isn't good because it clutters the file by adding new settings without removing the old ones.

We might need a point release for lxqt-config too.

EDIT: Done in lxqt/lxqt-config#938

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants