Commit graph

86 commits

Author SHA1 Message Date
Sergii Stoian
59b1f51e5f * Source/x11/XGServerEvent.m (processEvent:): do not send event if
disabled menu mouse button was released.
2019-04-11 13:15:09 +03:00
Sergii Stoian
7981c3e41c * Source/x11/XGServerEvent.m (initializeMouse): new method. Calls -mouseOptionsChanged:
and setups observer for defaults changes.
(mouseOptionsChanged:): new method. Read mouse properties from user defaults.
(processEvent:): respect mouse options on ButtonPress and ButtonRelease events.

* Source/x11/XGServer.m (dealloc): remove notification observer.
2019-04-11 01:50:30 +03:00
Sergii Stoian
b492ac87cd Added support for WindowMaker's WMFHideApplication action. 2019-04-05 14:46:05 +03:00
Sergii Stoian
f9958176db Do not send NSEvent only for single-click on appicon and minindow in WindowMaker environment. 2019-04-04 12:10:47 +03:00
Sergii Stoian
21f38f8060 Send double-click on appicon to the WindowMaker. Old code sent to WM only single-click. 2019-04-04 01:22:25 +03:00
fredkiefer
b9e9f461ab Restructure Atom handling to get all atoms at once.
Add new method on XGServer to get the name of the window manager.
2018-05-01 23:08:35 +02:00
Riccardo Mottola
cc7fa76c5e Enable Sync only on explicit presence of sync.h, not just Xext.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@39198 72102866-910b-0410-8b05-ffd578937521
2015-11-24 23:47:25 +00:00
Fred Kiefer
2478d0b17b Revert part of the repeated key handling as requested by Riccardo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@39131 72102866-910b-0410-8b05-ffd578937521
2015-11-03 08:42:47 +00:00
Fred Kiefer
3d95b4d8b2 * Source/x11/XGServerEvent.m (-processEvent:): Move repeate key
detection from process_key_event() to here to enable filtering
        out keyUp events as Cocoa does.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@39078 72102866-910b-0410-8b05-ffd578937521
2015-10-16 22:07:24 +00:00
Fred Kiefer
042f6f3761 * Source/x11/XGServerEvent.m (-processEvent:): Reenable
Richard's frontend based expose code.
        * Source/x11/XGServerWindow.m (-window::::, -_checkStyle:):
        Don't use CWBackPixel, as the window background may be different.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@38419 72102866-910b-0410-8b05-ffd578937521
2015-03-22 15:15:20 +00:00
Germán Arias
7f87663bd3 Don't delay sending events GSAppKitWindowMoved and GSAppKitWindowResized.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36765 72102866-910b-0410-8b05-ffd578937521
2013-06-28 01:44:24 +00:00
Eric Wasylishen
091480978b * Source/x11/XGServerEvent.m: Make the GSModifiersAreKeys
default to YES, by renaming the default to GSModifiersAreNotKeys.
This should fix bug 25659; for example, in Ink you can now
open the color panel with <Shift>+<Alt>+c or <Alt>+<Shift>+c.
* Documentation/Back/DefaultsSummary.gsdoc: Update docs for
GSModifiersAreNotKeys.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34984 72102866-910b-0410-8b05-ffd578937521
2012-03-23 00:13:09 +00:00
Eric Wasylishen
d84def3af7 Revert mousewheel coalescing (r34553, r34554, r34558)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34582 72102866-910b-0410-8b05-ffd578937521
2012-01-18 21:35:59 +00:00
Eric Wasylishen
6866ad9961 * Source/x11/XGServerEvent.m (-processEvent:): Rewrite coalescing
code to only combine an uninterrupted set of scroll events.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34558 72102866-910b-0410-8b05-ffd578937521
2012-01-17 00:43:29 +00:00
Eric Wasylishen
3689ee5c35 * Source/x11/XGServerEvent.m (-processEvent:): Coalesce
mousewheel events


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34554 72102866-910b-0410-8b05-ffd578937521
2012-01-16 06:37:18 +00:00
Eric Wasylishen
47c06f7ca2 * Source/x11/XGServer.m: Don't read X events in NSConnectionReplyMode
* Source/x11/XGServerEvent.m (-receivedEvent:type:extra:forMode:):
Only read one event from the xlib event queue, instead of all of them.
* Source/x11/XGServerEvent.m (-getEventMatchingMask:beforeDate:inMode:):
Remove call to -receivedEvent:type:extra:forMode:
* Source/x11/XGServerEvent.m (-discardEventsMatchingMask:beforeEvent:):
Remove call to -receivedEvent:type:extra:forMode:

These changes are an attempt to fix a bug where a steady stream
of X events can postpone autodisplay indefinitely. To see it, open
a long document in Ink and scroll with the mousewheel slowly but
continuously. If you scroll steadily enough, the window will not
update until you stop scrolling.

This occurs beacuse autodisplay only occurs when the AppKit event
queue is empty and the runloop runs, and without the above changes,
the AppKit event queue was filling up and not emptying until the
mousewheel events stopped arriving.

In the long run I think we should get rid of the AppKit event queue
and have XGServer override the default implementation of
-[GSDisplayServer getEventMatchingMask:beforeDate:inMode:dequeue:]
and related methods with custom ones that interact
directly with the Xlib event queue.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34553 72102866-910b-0410-8b05-ffd578937521
2012-01-16 06:33:45 +00:00
Fred Kiefer
fb1f42cbee Revert change to use AltGr as Alt key. You may still get the same result
by setting a user default.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34225 72102866-910b-0410-8b05-ffd578937521
2011-11-28 17:00:50 +00:00
Fred Kiefer
5454ce9e20 Use XK_ISO_Level3_Shift as second alternate key and document this change.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34130 72102866-910b-0410-8b05-ffd578937521
2011-11-07 09:41:38 +00:00
Eric Wasylishen
5ece9220eb * Source/x11/XGServerWindow.m:
* Source/x11/XGServer.m:
* Source/x11/XGServerEvent.m:
* Headers/x11/XGGeneric.h:
* Headers/x11/XGServerWindow.h:
* Headers/x11/XGServer.h:
Implement the _NET_WM_SYNC_REQUEST protocol described here:
http://standards.freedesktop.org/wm-spec/1.3/ar01s06.html

This is supposed to make window resizing smoother when dragging
a resize handle provided by the window manager, by waiting to
change the window manager's frame until the GNUstep window is
finished repainting.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33045 72102866-910b-0410-8b05-ffd578937521
2011-05-15 08:37:44 +00:00
Fred Kiefer
0f82f1a833 Fixes warnings reported by clang.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32823 72102866-910b-0410-8b05-ffd578937521
2011-04-09 17:10:49 +00:00
Fred Kiefer
82789ff26e Fixed problems found by sttic code analyser.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31326 72102866-910b-0410-8b05-ffd578937521
2010-09-11 14:00:35 +00:00
Fred Kiefer
5d8d6e9138 * Source/win32/WIN32Server.m,
* Source/x11/XGServerEvent.m: Use NSDeleteCharacter instead of
        NSBackSpaceCharacter for the backspace key. This is what Cocoa
and
        OpenStep have been doing all the time.
        Also use NSBackTabCharacter on X11 when XK_ISO_Left_Tab is
        pressed, but don't convert shift-tab into NSBackTabCharacter.
        Patch by Derek Fawcus <dfawcus@employees.org>.


M    ChangeLog
M    Source/win32/WIN32Server.m
M    Source/x11/XGServerEvent.m


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31034 72102866-910b-0410-8b05-ffd578937521
2010-07-26 12:46:35 +00:00
Fred Kiefer
0b249e778b Submit X11 shift key handling patch by Derek Fawcus
<dfawcus@employees.org>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31025 72102866-910b-0410-8b05-ffd578937521
2010-07-25 19:39:18 +00:00
Eric Wasylishen
39c9297595 Handle horizontal scrolling in X11
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29532 72102866-910b-0410-8b05-ffd578937521
2010-02-10 07:36:36 +00:00
Wolfgang Lux
b4aead1b19 Revise detection of window miniaturization and deminiaturization based
on the ICCCM WM_STATE property and use _NET_WM_STATE only to avoid
generating bogus miniaturize events when using an emwh compliant
window manager. This makes the code more portable and allows
generating reliable window deminiaturize events.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29283 72102866-910b-0410-8b05-ffd578937521
2010-01-14 22:27:03 +00:00
Richard Frith-MacDonald
d7dc549a3e code for deminiaturisation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28836 72102866-910b-0410-8b05-ffd578937521
2009-10-18 06:28:50 +00:00
Gregory John Casamento
afb33293d1 Minor formatting change in ChangeLog and temporary removal/commenting out of code until a fix for bug#26046 can be resolved.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28151 72102866-910b-0410-8b05-ffd578937521
2009-03-30 05:37:42 +00:00
Fred Kiefer
76a7888859 Correct formatting, replaced tabs.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28070 72102866-910b-0410-8b05-ffd578937521
2009-03-12 22:12:31 +00:00
Thomas Gamper
605c77fe48 Thomas Gamper: implement key repeat support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28068 72102866-910b-0410-8b05-ffd578937521
2009-03-12 12:13:35 +00:00
Xavier Glattard
a764159165 Fix a bug (from rev.28036)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28049 72102866-910b-0410-8b05-ffd578937521
2009-03-07 20:47:55 +00:00
Xavier Glattard
08a079606a Fix typo and oversights - Comes along with the previous changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28037 72102866-910b-0410-8b05-ffd578937521
2009-03-04 14:48:19 +00:00
Xavier Glattard
7e3dbdf741 OpenGL sub-windows: prevent back-store flush, handle expose events, and small fix/improvements
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28036 72102866-910b-0410-8b05-ffd578937521
2009-03-04 09:58:41 +00:00
Wolfgang Lux
f45b5b41a2 Fix an issue where the X11 backend could use incorrect modifier key
settings.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@27358 72102866-910b-0410-8b05-ffd578937521
2008-12-19 23:01:04 +00:00
Wolfgang Lux
0981aebea3 Fix two issues with Window Maker.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@27296 72102866-910b-0410-8b05-ffd578937521
2008-12-15 20:47:06 +00:00
Wolfgang Lux
418cae5d53 Add method to XGServer to avoid blocking the run loop when the X event
queue is not empty.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@27275 72102866-910b-0410-8b05-ffd578937521
2008-12-10 20:30:09 +00:00
Fred Kiefer
fc441f9bc5 Add missing window caching for minimized check.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26809 72102866-910b-0410-8b05-ffd578937521
2008-08-14 06:33:04 +00:00
Fred Kiefer
ff0796c5d4 Patch by Hubert Chathi <hubert@uhoreg.ca> to handle window minimization
on EWMH systems better.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26795 72102866-910b-0410-8b05-ffd578937521
2008-07-19 21:17:42 +00:00
Fred Kiefer
4e04ca9ea8 Convert X event millisecond timestamp to NSEvent second timestamp.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26634 72102866-910b-0410-8b05-ffd578937521
2008-06-12 19:55:09 +00:00
Adam Fedor
250ebdfad0 Revert library license version to 2 until applications can be converted
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26620 72102866-910b-0410-8b05-ffd578937521
2008-06-10 04:12:46 +00:00
Fred Kiefer
b45697c04e Faster check for modifier keys.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26578 72102866-910b-0410-8b05-ffd578937521
2008-05-27 20:22:17 +00:00
Fred Kiefer
0f8c5487c7 Change files to use GPL 3 and LGPL 3.
Prepare for next release.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25538 72102866-910b-0410-8b05-ffd578937521
2007-10-29 23:25:10 +00:00
Fred Kiefer
355aa2db1e New methods to store and get last event time.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25457 72102866-910b-0410-8b05-ffd578937521
2007-09-05 14:35:06 +00:00
Fred Kiefer
d164d499c2 Made handling of focus in and out more explicit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25403 72102866-910b-0410-8b05-ffd578937521
2007-08-20 22:31:09 +00:00
Fred Kiefer
8b9b2102f3 XDnD improvements by Matt Rice.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25071 72102866-910b-0410-8b05-ffd578937521
2007-04-25 00:12:46 +00:00
Richard Frith-MacDonald
2f33c0b784 Improve help key support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24193 72102866-910b-0410-8b05-ffd578937521
2006-12-08 09:09:40 +00:00
Matt Rice
8e248cb078 * Source/x11/XGServerEvent.m (_handleTakeFocusAtom:forContext:):
Unset ignore_take_focus for the key window.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24001 72102866-910b-0410-8b05-ffd578937521
2006-10-31 12:48:23 +00:00
Matt Rice
782d9d7d3f * Source/win32/WIN32Server.m: Update -windowlist implementation.
* Source/x11/XGServerWindow.m (-orderwin:::): Replace
        desiredOrderedWindow with ignore_take_focus.
        (windowlist): Implement.
        (setinputfocus:): Replace desiredOrderedWindow with 
	ignore_take_focus.
        * Headers/x11/XGGeneric.h (XGGeneric): Remove 
	desiredOrderedWindow.
        * Headers/x11/XGServerWindow.h (gswindow_device_t):
        Add ignore_take_focus.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@23937 72102866-910b-0410-8b05-ffd578937521
2006-10-21 19:16:47 +00:00
Richard Frith-MacDonald
a78523847e Improve help key support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@23748 72102866-910b-0410-8b05-ffd578937521
2006-10-04 05:24:58 +00:00
Richard Frith-MacDonald
a459507bc2 Add help key mask support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@23745 72102866-910b-0410-8b05-ffd578937521
2006-10-03 18:54:22 +00:00
Richard Frith-MacDonald
e0024db991 Some more style/offset checking.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@23613 72102866-910b-0410-8b05-ffd578937521
2006-09-25 13:49:32 +00:00