Bug#965345: mousetweaks: no longer used by GNOME, should be removed or transferred to a new maintainer

smcv at debian.org smcv at debian.org
Tue Jul 21 11:11:07 BST 2020


On Tue, 21 Jul 2020 at 17:20:25 +0900, Norbert Preining wrote:
> > >    * Drop mousetweaks recommends, not used anymore (Closes: #965345)
> > 
> > Does this mean I was reading the cinnamon code wrong, and cinnamon
> > no longer needs mousetweaks, similar to GNOME?
> 
> Where did you see that? I searched in the cinnamon-control-setting
> without success for any reference to mousetweaks.

>From what I saw in codesearch, it seems to be roughly the same as the
buster and older versions of GNOME, which makes sense since Cinnamon
is derived from an older version of GNOME:

- ${desktop}-control-center has options to enable mouse accessibility
  (click-on-hover/"dwell clicks" and/or simulated secondary clicks),
  but those options just set the value of a key in GSettings

- ${desktop}-settings-daemon is responsible for reading the GSettings
  keys; if at least one of those two options is enabled, it starts
  mousetweaks, or if both are disabled it stops mousetweaks

- mousetweaks also reads the GSettings keys to see what it should actually
  do (dwell clicks, simulated secondary clicks or both)

Now that I look at it again, I don't understand how/whether the
Cinnamon implementation works. mousetweaks seems to read settings
from the org.gnome.desktop.a11y.mouse GSettings schema (part of
src:gsettings-desktop-schemas) to determine whether to enable dwell
clicks, simulated secondary clicks or both; but cinnamon-control-center
writes its settings to the org.cinnamon.desktop.a11y.mouse GSettings
schema (part of src:cinnamon-desktop) which mousetweaks isn't going to
read, unless I'm misunderstanding something. So perhaps this has never
actually worked in Cinnamon? I don't know - I don't use this feature
myself, and I use GNOME rather than Cinnamon. If it doesn't work, please
clone this into a bug report against an appropriate cinnamon component.

In testing/unstable GNOME, the options that would previously have used
mousetweaks are accessed via:

- Settings -> Universal Access -> Click Assist -> Simulated Secondary Click
- Settings -> Universal Access -> Click Assist -> Hover Click

but gnome-control-center has had a few redesigns and relayouts, so their
UI location was probably a bit different in Cinnamon and in older GNOME.

In both Cinnamon and older GNOME, the dependency was in
${desktop}-control-center for some reason; but I think it would have
been more appropriate to have it in ${desktop}-settings-daemon, since
that's where mousetweaks is actually mentioned. As I said, GNOME doesn't
need that any more because it has moved to a different implementation
that can work in Wayland, but I think Cinnamon maybe still does need
the X11-specific mousetweaks? (But then again, I can't see how it would
actually work, as described above, so maybe this is dead code that was
never tested.)

Code search:
https://codesearch.debian.net/search?q=mousetweaks&literal=1&perpkg=1

c-s-d implementation:
https://sources.debian.org/src/cinnamon-settings-daemon/4.6.4-1/plugins/mouse/csd-mouse-manager.c/?hl=1566#L1391

Equivalents in UKUI and MATE (which are #if 0):
https://sources.debian.org/src/ukui-settings-daemon/1.2.1-1/plugins/mouse/usd-mouse-manager.c/?hl=92#L1402
https://sources.debian.org/src/mate-settings-daemon/1.24.0-2/plugins/mouse/msd-mouse-manager.c/?hl=1782#L1612

cinnamon also checks for the mousetweaks package here:
https://sources.debian.org/src/cinnamon/4.6.6-1/files/usr/share/cinnamon/cinnamon-settings/modules/cs_accessibility.py/?hl=372#L372

MATE's onboard also seems to try to use mousetweaks:
https://sources.debian.org/src/onboard/1.4.1-5/Onboard/ClickSimulator.py/?hl=586#L586

If this feature is important to Cinnamon, I would recommend either talking
to GNOME upstream about taking over upstream maintenance of mousetweaks, or
absorbing the mousetweaks code into cinnamon-settings-daemon, or moving
this functionality into Cinnamon's compositor/window manager as a more
direct equivalent of what GNOME has done.

Or, if it isn't important to Cinnamon and doesn't work, I'd recommend
removing it from the UI and implementation (like UKUI and MATE have done)
to avoid misleading users.

    smcv



More information about the pkg-gnome-maintainers mailing list