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

honour double-click time from client #545

Closed
totaam opened this issue Mar 23, 2014 · 12 comments
Closed

honour double-click time from client #545

totaam opened this issue Mar 23, 2014 · 12 comments

Comments

@totaam
Copy link
Collaborator

totaam commented Mar 23, 2014

Issue migrated from trac ticket # 545

component: core | priority: minor | resolution: fixed

2014-03-23 04:18:12: totaam created the issue


  • nix clients are probably handled automatically already through the xsettings synchronization mechanism (should be easy to test with appres XTerm)
  • on win32 we have GetDoubleClickTime
  • on osx, it looks like we want:
extern UInt32 GetDblTime(void)

from Carbon.framework (was not easy to find)

For the last 2, we probably want to pass the value with the hello packet just like we do for the DPI, and the server can then inject it automatically.

Extra difficulty: toolkits do their own thing, see xset: setting double-click speed for plain X11 applications.

  • multiClickTime ?
  • gtk-double-click-time ?

Does modifying any of those settings after the application has started have any effect?

Found in the pygtk docs: gtk.gdk.Screen.get_setting: The get_setting() method returns the value of the desktop-wide setting (specified by setting) such as double-click time for the screen.

Funny that for setting the value, we don't call it on screen but on the whole display! (which is fine for us, just odd): gtk.gdk.Display.set_double_click_time: 'The set_double_click_time() method sets the double click time (two clicks within this time interval count as a double click and result in a gtk.gdk._2BUTTON_PRESS event). Applications should not set this, it is a global user-configured setting.'

@totaam
Copy link
Collaborator Author

totaam commented Sep 15, 2014

2014-09-15 03:25:51: totaam changed status from new to assigned

@totaam
Copy link
Collaborator Author

totaam commented Sep 15, 2014

2014-09-15 03:25:51: totaam changed owner from antoine to totaam

@totaam
Copy link
Collaborator Author

totaam commented Sep 15, 2014

2014-09-15 03:25:51: totaam edited the issue description

@totaam
Copy link
Collaborator Author

totaam commented Sep 15, 2014

2014-09-15 03:35:08: totaam edited the issue description

@totaam
Copy link
Collaborator Author

totaam commented Sep 15, 2014

2014-09-15 07:25:32: totaam changed status from assigned to new

@totaam
Copy link
Collaborator Author

totaam commented Sep 15, 2014

2014-09-15 07:25:32: totaam changed owner from totaam to afarr

@totaam
Copy link
Collaborator Author

totaam commented Sep 15, 2014

2014-09-15 07:25:32: totaam commented


Done in r7613 (+r7614 for osx, worthy of its own changeset). This is related to the work on dpi #163 and sub-pixel hinting #559.

As per the commit message details, please verify that:

  • the bug report export data includes double click info
  • xpra info includes it too
  • that the values are correct for double click time (in milliseconds, available on win32 and X11 clients) and double click distance (X11 clients only)
  • that the values are actually honoured by applications running in xpra, you can use this test application for that: [/browser/xpra/trunk/src/tests/xpra/test_apps/test_double_click.py test_double_click.py]

Notes:

  • some applications may need to be started after the client connects to get the settings... nothing we can do about that apart from filing tickets with those apps so they are fixed, they should pick up the settings updates when they are made
  • when changing the double click time on the client, you will need to connect again for the server to pick up the new setting with win32 clients (X11 clients should get updated on the fly)
  • in case of problems, please report log output with -d xsettings

@totaam
Copy link
Collaborator Author

totaam commented Sep 16, 2014

2014-09-16 18:54:13: maxmylyn commented


Did some testing of a Win7 client against a Fedora 20 server (r7632 on both):

  • Double/triple click works
  • Changing the mouse settings in Windows changes the time in the .py file you supplied.
  • Changing it while Xpra is connected is not reflected in the supplied Python file; A user must disconnect and reconnect for the change in double click time to be reflected
  • Xpra info includes the following 2 lines:
client.double_click.distance=True
client.double_click.time=True
  • The debug export has the following in the System.txt :
gui.double_click.distance        : -1
gui.double_click.time            : 480

If there's any more in-depth testing you need done; pass the ticket my way and I'll hop on it between classes.

@totaam
Copy link
Collaborator Author

totaam commented Sep 17, 2014

2014-09-17 03:54:38: totaam changed status from new to closed

@totaam
Copy link
Collaborator Author

totaam commented Sep 17, 2014

2014-09-17 03:54:38: totaam changed resolution from ** to fixed

@totaam
Copy link
Collaborator Author

totaam commented Sep 17, 2014

2014-09-17 03:54:38: totaam commented


Thanks maxmylyn!

Closing. (for future reference, those options and their default values are documented here: XSettingsRegistry

@totaam totaam closed this as completed Sep 17, 2014
@totaam
Copy link
Collaborator Author

totaam commented Apr 14, 2015

2015-04-14 18:04:46: antoine commented


(setting milestone)

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

1 participant