linuxmint / mint20-beta

BETA Bug Squah Rush
20 stars 8 forks source link

Different Cursor for Java Apps #83

Closed PicoMitchell closed 4 years ago

PicoMitchell commented 4 years ago

When the cursor is over a Java apps window, it changes from the regular system cursor to this one: mint20-java-cursor

Is this an intentional decision? Or would it be possible for Java apps to use the regular system cursor? I would personally prefer Java apps to use the regular cursor as they have in previous versions of Mint.

Thanks so much! Throughout my basic testing the Mint 20 beta has been very solid!

xenopeek commented 4 years ago

I couldn't reproduce this with some random Java program I tried from the repositories (treeview). Could you add which Java program you noticed this in and how you installed it? If not installed from the repositories, which Java version are you using with it?

And can you add whether you're using Cinnamon, MATE or Xfce?

PicoMitchell commented 4 years ago

I'm using Cinnamon.

The Java program is custom refurbishment software to show computer full specs and help do hardware tests for the non-profit I work at, <[Remove download and info about our in-house software since the issue can be tested using treeviewer]>

Thanks so much for looking into this issue!

PicoMitchell commented 4 years ago

Also, I just installed treeview and got the same different cursor that I posted a picture of...

For both treeview and QA Helper the cursor is normal when it's over the titlebar, and then changes when it's over the main content of the window (as long as it's not trying to highlight text).

clefebvre commented 4 years ago

I can't reproduce this either.

PicoMitchell commented 4 years ago

That is very odd. I will do a clean re-install and try to figure out what I could have done that caused this to happen.

clefebvre commented 4 years ago

or go back with timeshift, it might be quicker.

PicoMitchell commented 4 years ago

As a quick first test I just uninstalled the literal one thing I installed for other testing...

This lock screen slideshow script depends on QDBUS: https://github.com/smurphos/nemo_actions_and_cinnamon_scripts/blob/master/.local/bin/lock_screen_slideshow.sh

The qdbus package is no longer available for Ubuntu 20, so I installed qdbus-qt5 (which worked fine with that script).

After just now purging and autoremoving qdbus-qt5, the cursor stays normal over the Java app windows. Odd. So I looked over the packages that were being auto removed with qdbus-qt5, I saw "breeze-cursor-theme".

So, I just reinstalled "breeze-cursor-theme" by itself and that caused the cursor to change over the Java app window again while the system cursor stays the same. That doesn't seem like normal behavior for a cursor theme to apply itself to specific windows when I never chose that theme to be used.

I can see now that the "breeze_cursors" are an option I can pick in the Themes window, but I never picked them before. When I do pick them, it changes to that cursor properly for the whole system. And even if I pick "Breeze_snow" then the dark "breeze_cursors" is still used when I'm over top of the Java window.

For my uses, I can easily just uninstall the "breeze-cursor-theme" package, but it seems like some other odd thing is going on here.

Sorry for not initially realizing that the one and only dang package that I installed (other than mint-meta-codecs) could have caused the issue! Not even sure why qdbus-qt5 would be installing a cursor theme... Or maybe those autoremoved packages were associated with something else I did? I might try to dig deeper to see where the heck that came from, but this part of the cursor issue at least has a real cause now.

smurphos commented 4 years ago

Not directly relevant to the bug report but I can get rid of the qdbus dependency in that script - I only used at the time as I was struggling to get my head around dbus-send syntax, and now I know how to use dbus-send... ;-)

smurphos commented 4 years ago

The last line here looks suspicious -

steve@steve-VirtualBox:~$ apt install breeze-cursor-theme
[sudo] password for steve:               
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed
  breeze-cursor-theme
0 to upgrade, 1 to newly install, 0 to remove and 0 not to upgrade.
Need to get 267 kB of archives.
After this operation, 5,692 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu focal/universe amd64 breeze-cursor-theme all 4:5.18.4.1-0ubuntu1 [267 kB]
Fetched 267 kB in 0s (960 kB/s)             
Selecting previously unselected package breeze-cursor-theme.
(Reading database ... 320790 files and directories currently installed.)
Preparing to unpack .../breeze-cursor-theme_4%3a5.18.4.1-0ubuntu1_all.deb ...
Unpacking breeze-cursor-theme (4:5.18.4.1-0ubuntu1) ...
Setting up breeze-cursor-theme (4:5.18.4.1-0ubuntu1) ...
update-alternatives: using /etc/X11/cursors/breeze_cursors.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode
clefebvre commented 4 years ago

Alright, no problem :)

PicoMitchell commented 4 years ago

Thanks so much @xenopeek and @clefebvre for looking into this (non-)issue and especially thanks to @smurphos for more investigation as well as updating your lock_screen_slideshow to no longer require qdbus!

I found that this "breeze-cursor-theme" behavior isn't even unique to Mint 20. It does the same thing when installed on Mint 19.3. Indeed not a Mint issue!

PicoMitchell commented 4 years ago

Turns out breeze-cursor-theme and lots of other recommended junk was (also?) getting installed with oem-config-gtk in one of our refurb setup scripts. Solved by installing it with --no-install-recommends.

Looks like as many recommendations didn't get installed with oem-config-gtk in Mint 19.3.

xenopeek commented 4 years ago

19.3 didn't install recommendations by default, that's a change in 20.

clefebvre commented 4 years ago

why do you install oem-config-gtk? also, I can't find where it recommends breeze-cursor-theme...

PicoMitchell commented 4 years ago

why do you install oem-config-gtk?

We refurbish donated computers and sell them. We install oem-config-gtk so that our technicians can boot up into the installation and do hardware tests and then when they are done and sign off on the computer, we run oem-config-prepare to reset the OS so our customers can set their own account and password without needing to reinstall the OS.

I can't find where it recommends breeze-cursor-theme.

I believe the breeze theme stuff gets installed as part of the plasma-desktop package which oem-config-gtk recommends for some reason.

PicoMitchell commented 4 years ago

PS. If I'm remembering correctly, if you're happening to test installing oem-config-gtk in the Live OS, that does not behave the same as installing oem-config-gtk in an installed OS. I think as many packages won't get recommended or installed in the Live OS because other components are already installed which don't exist in an installed OS.

PicoMitchell commented 4 years ago

Here is the output of the oem-config-gtk packages that will be installed in Mint 20 with and without recommendations included. You can see all the breeze stuff in the with recommendations output. You can see a very notable difference in the apt summaries as well.

mint20-apt-install-oem-config-gtk-with-recommendations.txt APT Summary: 0 upgraded, 424 newly installed, 0 to remove and 11 not upgraded. Need to get 213 MB of archives. After this operation, 885 MB of additional disk space will be used.

mint20-apt-install-oem-config-gtk-without-recommendations.txt APT Summary: 0 upgraded, 139 newly installed, 0 to remove and 11 not upgraded. Need to get 49.3 MB of archives. After this operation, 237 MB of additional disk space will be used.

PicoMitchell commented 4 years ago

Turns out qdbus-qt5 was never directly responsible (but totally awesome that @smurphos removed that dependency in lock_screen_slideshow anyway!).

It was oem-config-gtk all along, but all the breeze stuff got caught up and removed when I ran apt purge --auto-remove qdbus-qt5 as a test. That turned out to just be a lucky and serendipituous stab in the dark since qdbus-qt5 is also one of the recommendations that gets installed with oem-config-gtk.

Not sure how many other packages have a similar amount of recommendations, but oem-config-gtk seems like one example where automatically installing the recommendations is not that great. Adding on an extra 648 MB is not what I would normally want when installing something that only requires 237 MB. But, this clearly isn't a bug, just a behavior to consider and for users to be aware of. Hopefully future Mint 20 users won't breeze past that part of the new features list like I did. :-)