1
0
Fork 0
mirror of https://github.com/gwm17/glfw.git synced 2024-11-30 05:58:52 -05:00
Commit Graph

346 Commits

Author SHA1 Message Date
Camilla Berglund 1984d40e33 Formatting. 2015-06-25 01:23:23 +02:00
Camilla Berglund cf4206d987 Fixed duplicate key presses caused by XIM.
Probably.
2015-06-25 00:43:12 +02:00
Camilla Berglund cc4c232956 Renamed cursor window library struct member.
Since _glfwPlatformWindowFocused it has a more limited role.
2015-06-17 12:06:45 +02:00
Camilla Berglund 3365139a6c Cleanup. 2015-06-16 12:10:20 +02:00
Camilla Berglund b15eaeda16 Implemented auto-iconification on X11.
Fixes #531.
2015-06-15 18:46:45 +02:00
Camilla Berglund e049190ff1 Moved focus callback triggering last. 2015-06-15 18:46:45 +02:00
Camilla Berglund dba59cf903 Improved X11 focus event filtering.
Some focus events need to be ignored to allow functionality like
Alt+Tab and volume indicators to not affect application-visible window
focus.  However, the previous filtering was too broad and missed virtual
desktop switching, Alt+Tab and programmatic iconification.

Fixes #405.
2015-06-15 18:44:54 +02:00
Camilla Berglund 56122cbe2f Keep X11 full screen window properties on iconify. 2015-06-15 15:32:35 +02:00
Camilla Berglund c77edaee34 Always pre-position X11 full screen windows. 2015-06-15 15:32:35 +02:00
Camilla Berglund 21ce21cc07 Improved X11 full screen focus control flow. 2015-06-15 15:32:16 +02:00
Camilla Berglund 6cf15615e8 Clarified EWMH full screen error messages. 2015-06-15 14:39:56 +02:00
Camilla Berglund a1399426c3 Removed superfluous X11 window struct member. 2015-06-15 14:38:13 +02:00
Camilla Berglund 81249724e3 Removed retrieval of unused values. 2015-06-15 14:36:32 +02:00
Camilla Berglund bdcffa90eb Remove superfluous X11 library struct member. 2015-06-15 14:28:13 +02:00
Camilla Berglund 1ee4c4ba62 Clarified control flow in X11 event processing. 2015-06-15 14:24:27 +02:00
Camilla Berglund 08b3af4387 Fixed non-pre-edit character input via XIM.
Fixes #501.
Fixes #473.
2015-06-09 21:10:01 +02:00
Camilla Berglund e6cc3c4752 Clarified WM_PROTOCOLS event handling. 2015-06-02 17:54:25 +02:00
Camilla Berglund 9f0e359d73 Formatting. 2015-06-02 17:27:35 +02:00
Camilla Berglund 82c5dfc30a Formatting. 2015-06-02 17:26:23 +02:00
Camilla Berglund ee2d036bbf Fixed destination of _NET_WM_PING reply. 2015-06-02 17:25:09 +02:00
Camilla Berglund cf363103d2 Formatting. 2015-06-02 17:10:22 +02:00
Camilla Berglund 41af5aaae2 Simplified sending events to WM. 2015-06-02 17:09:38 +02:00
Camilla Berglund eb7688df8f Added select to all custom X11 event polling.
All loops waiting for specific events now use select to sleep while
there is no new data.
2015-03-16 18:29:37 +01:00
Camilla Berglund d493a82f9e Various error fixes.
Fixed incorrect error types.  Added missing error string prefixes.
Removed some invalid or superfluous error emissions.  Clarified some
error strings.  Joined error string lines to aid grep.  Replaced some
generic error strings with specific ones.  Documentation work.

Fixes #450.
2015-03-15 15:52:27 +01:00
Camilla Berglund a75e43ef22 Moved _NET_REQUEST_FRAME_EXTENTS to frame query.
The request is now only made when necessary and times out after 500ms.
This breaks our end of the protocol to work around broken
implementations at the other end.

It uses the GLFW timer instead of select, as select is not guaranteed to
update the timeout with the time remaining and a single select is not
sufficient as other events may be incoming.

Fixes #368 (mostly).
Fixes #429 (mostly).
2015-03-15 15:47:39 +01:00
BryceMehring c43f082993 Fixed X11 mouse button mismatch.
Bug introduced by 4d146cb39d.

Closes #449.
2015-03-15 15:47:39 +01:00
Camilla Berglund 48f4a591de Formatting. 2015-02-22 19:22:48 +01:00
Camilla Berglund 4d146cb39d Fixed hole in mouse button sequence on X11. 2015-02-22 19:22:48 +01:00
Camilla Berglund cf7dc1d737 Documented hidden cursor workaround. 2015-02-22 19:22:48 +01:00
Aleksey Rybalkin a343e9a475 Added workaround for cursor hiding on some WMs.
Closes #431.
Fixes #309.
2015-02-22 19:22:48 +01:00
Camilla Berglund 75a6d87542 Added support for Cygwin-X.
Fixes #406.
2015-02-16 15:40:57 +01:00
Camilla Berglund f4c127f75a Made XInput2 optional at compile-time.
This is required for RHEL 5, CentOS 5 and Cygwin-X.

Fixes #314.
2015-02-16 15:40:39 +01:00
Camilla Berglund 93855ae6ab Fixed name of path drop list. 2015-02-16 15:40:08 +01:00
Camilla Berglund ac8dba2a80 Cleaned up text/uri-list parsing. 2015-02-16 15:40:08 +01:00
Camilla Berglund 439417a22c Comment and string spell check pass. 2015-01-05 22:21:31 +01:00
Camilla Berglund d459145d28 Made glfwGetCursorPos query system directly.
Fixes #103.
Fixes #153.
Fixes #193.
Fixes #355.
Fixes #381.
2015-01-04 16:54:19 +01:00
Camilla Berglund 641761ddb0 Changed state attribs to direct access.
Changed the window states (focused, iconified and visible) to query the
system directly.

THIS IS A BREAKING CHANGE, although a fairly obscure one.  It affects
applications that both care about telling actual key events from
synthetic ones, and are implemented in a non-self-synchronizing way, and
that poll the GLFW_FOCUSED window attribute instead of using the window
focus callback.

If you maintain one of these, please feel free to drop me an email and
I'll help any way I can to transition your application to 3.1.

Fixes #189.
Fixes #204.
2015-01-04 16:53:32 +01:00
Camilla Berglund 2a1375e97c Added glfwCreateStandardCursor.
This function allows the creation of cursor objects using one of several
standard cursor shapes from the current system cursor theme.
2014-12-15 21:58:44 +01:00
Camilla Berglund 1495134398 Changed all key translation to arrays. 2014-12-15 21:55:17 +01:00
Camilla Berglund a8b0d1c8e0 Updated changelog and credits, formatting.
Closes #384.
2014-11-27 15:41:17 +01:00
Cyril Pichard cc10527706 Fixed position for full screen override redirect. 2014-11-27 15:38:21 +01:00
Camilla Berglund 4c64e94d39 Fixed X-axis scroll offset inversion (take two).
Fixed #239 (properly).
2014-10-26 15:15:42 +01:00
Camilla Berglund 4918514eaf Added support for _NET_WM_FULLSCREEN_MONITORS.
This allows EWMH full screen windows to correctly cover monitors that
overlap other monitors, such as an Oculus Rift mapped onto a section of
a larger monitor.

Fixes #175.
2014-09-22 13:31:59 +02:00
Camilla Berglund c769061a8a Cleanup of basic XIM support.
Shortened and simplified the code.  Removed reporting of XIM sentinel
key press event.  Added credit.  Updated changelog.

Closes #151.
2014-09-22 11:08:33 +02:00
Lucas Hinderberger cec63f3cb5 Fixed dead keys in X11.
The library will now try to create an X input context to handle dead
keys properly on international keyboards.  This makes it possible to
enter for example an e with accent grave on a German keyboard without
further efforts.  A fallback mechanism is provided in case the client
does not support X input method / context creation.  In that case, the
library will behave as it did before.
2014-09-22 11:08:33 +02:00
Camilla Berglund e9c7314d50 Added GLFW_FOCUSED window hint.
Fixes #101.
2014-09-10 11:50:50 +02:00
Camilla Berglund 8d170c7f47 Merged clipboard code into input. 2014-09-09 16:36:41 +02:00
Camilla Berglund 4aa9174e76 Clarified comments for X11 key repeat hack. 2014-09-03 01:46:11 +02:00
Camilla Berglund 96b12ee504 Added character with modifiers callback.
The undefined behaviour changed with #40 has been reverted, making the
character-only callback again behave like a system text field.  This
behavior has now been documentated.

Fixes #203.
Fixes #305.
2014-06-24 10:50:05 +02:00
Camilla Berglund 9b6c14b7ae Unified X11 cursor creation. 2014-06-22 13:15:36 +02:00
Camilla Berglund 3ce7bfef07 Added GLFW_FLOATING.
Fixes #23.
2014-06-18 16:39:39 +02:00
Camilla Berglund 20b7ac0518 Formatting. 2014-06-12 22:08:37 +02:00
Camilla Berglund d95b1b33e5 Cleanup of XKB detection code. 2014-05-18 14:06:49 +02:00
Camilla Berglund 99c98407c9 Removed flicker-inducing workaround.
Fixes #267.
2014-04-08 14:11:21 +02:00
Camilla Berglund b29fbc82c2 Ensure out arguments are always set. 2014-04-07 16:28:11 +02:00
Camilla Berglund 7911c9300d Nomenclature fix. 2014-04-07 13:38:54 +02:00
Camilla Berglund bbc12ade7f Added missing X command flushing. 2014-04-07 13:36:25 +02:00
Camilla Berglund f5a996a5af Fixed focus events triggered by window frame. 2014-04-02 13:30:23 +02:00
Camilla Berglund 2889f484f4 Formatting. 2014-03-30 12:32:17 +02:00
Camilla Berglund 0c58df06d5 Added support for _NET_REQUEST_FRAME_EXTENTS. 2014-03-30 12:28:01 +02:00
Camilla Berglund eb3f75e03e Added glfwGetWindowFrameSize. 2014-03-30 10:57:32 +02:00
Camilla Berglund 7ac3d85126 Formatting. 2014-03-20 11:30:27 +01:00
Camilla Berglund 8fa9cc0de3 Added GLFWimage struct. 2014-03-20 11:30:27 +01:00
Camilla Berglund 608de57358 Cleanup. 2014-03-20 11:30:27 +01:00
urraka 40c04a7565 Added support for custom system cursors.
This adds 3 functions to the GLFW API: glfwCreateCursor,
glfwDestroyCursor and glfwSetCursor.
2014-03-20 11:30:27 +01:00
Camilla Berglund 2200f87492 Fixed glfwDestroyWindow not flushing the output buffer. 2014-03-12 20:53:57 +01:00
Camilla Berglund a859c10fa1 Formatting. 2014-03-10 13:55:23 +01:00
Camilla Berglund 1ccc23268c Added glfwPostEmptyEvent. 2014-03-09 17:55:55 +01:00
Camilla Berglund 9309f75704 Fixed missing ICCCM protocol message checks. 2014-03-09 13:24:37 +01:00
Camilla Berglund 6d8e78cc95 Further separation of window and context.
The context related parts of _GLFWwndconfig have been moved to
_GLFWctxconfig and given better names.  Window hint and attribute
members have been renamed to match.
2014-03-06 20:07:58 +01:00
Camilla Berglund 2ec0acc972 Formatting (removed tab characters). 2014-02-13 13:30:15 +01:00
Camilla Berglund 9cc8107c6b Fixed X11 drop support.
This was broken by 8ae063bb1b.

Fixes #224.
2014-02-10 14:19:35 +01:00
Camilla Berglund 58db8622bd Cleanup. 2014-01-22 20:15:27 +01:00
Camilla Berglund 611006af18 Updated API version in comment headers. 2014-01-22 01:32:00 +01:00
Camilla Berglund 8f349e84ae Cleaned up drop callback design. 2014-01-21 18:23:25 +01:00
Camilla Berglund cd54dc84c4 Fixed off-by-one error. 2014-01-21 15:25:49 +01:00
Camilla Berglund ad9f880d61 Fixed broken calls to memset. 2014-01-21 15:25:49 +01:00
Camilla Berglund 8ae063bb1b Cleanup. 2014-01-21 15:25:49 +01:00
arturo 89d0723ba3 Initial drag and drop support. 2014-01-21 15:25:49 +01:00
Camilla Berglund e0a26aa62f Cursor mode cleanup. 2014-01-15 14:23:34 +01:00
Camilla Berglund 54b8d0d3c8 Moved to XGrabPointer for cursor hiding. 2014-01-15 02:43:14 +01:00
Camilla Berglund 61ccb034d0 Formatting. 2013-12-09 00:27:36 +01:00
Camilla Berglund 50c694fab4 Added errors for override redirect iconification. 2013-12-08 14:59:52 +01:00
Camilla Berglund 823cc38ac1 Cleanup. 2013-11-20 20:04:00 +01:00
Camilla Berglund 5ef4f77fb5 Added support for _NET_WM_BYPASS_COMPOSITOR. 2013-11-20 19:59:17 +01:00
Camilla Berglund 76afd41727 Added X error reporting to window creation failure. 2013-11-10 14:12:07 +01:00
Camilla Berglund adbd52ba27 Formatted todos and notes. 2013-11-10 14:03:07 +01:00
Camilla Berglund b9d4875f3e Improved documentation of hacks. 2013-11-10 13:56:27 +01:00
Camilla Berglund 1cbd06c8a2 Fixed hidden window positioning on Metacity. 2013-11-03 13:51:34 +01:00
Camilla Berglund 8194f1e2ae Added hack for setting WM_CLASS. 2013-10-04 13:41:19 +02:00
Camilla Berglund 57b8be1c24 Added support for mouse buttons 4-n. 2013-09-08 16:09:23 +02:00
Camilla Berglund 9c20737b60 Allowed characters regardless of modifier keys. 2013-08-19 13:08:35 +02:00
Camilla Berglund a3ca7ad93a Removed cursor centering XFlush hack. 2013-08-06 20:48:31 +02:00
arturo a6a5fa937c Fixed window position being incorrect on some WMs. 2013-07-30 15:52:47 +02:00
Camilla Berglund 3cfc400cf9 Simplified source file comment headers. 2013-07-30 14:46:52 +02:00
siavash b12c973922 Moved X11 character translation failure test. 2013-07-15 18:28:09 +02:00
Camilla Berglund dcb4d8ee32 Fixed possible X11 screensaver race condition. 2013-07-04 17:52:15 +02:00
Camilla Berglund 933005a022 Corrected comment. 2013-06-19 13:49:51 +02:00
Camilla Berglund 3be3f58a92 Cleanup. 2013-06-19 13:47:19 +02:00
Camilla Berglund e11a5e3973 Fixed resizing for full screen override redirect. 2013-06-19 13:47:19 +02:00
Camilla Berglund a7ff236b32 Fixed duplicate events being reported. 2013-06-16 18:29:46 +02:00
Camilla Berglund 11615fcaf2 Added scancode to key callback. 2013-06-05 23:46:09 +02:00
Camilla Berglund 3498163da1 Separated window and framebuffer sizes. 2013-06-04 01:51:54 +02:00
Camilla Berglund 2b1192a3dd Formatting. 2013-05-31 00:09:37 +02:00
Camilla Berglund ffc55c3509 Removed broken initial cursor pos kluges. 2013-05-26 17:19:13 +02:00
Noel Cower eff85f9500 Added super modifier bit.
Edited during merge.
2013-05-23 14:21:35 +02:00
Camilla Berglund 3bcffba24a Renamed control modifier bit to match key token. 2013-05-23 14:21:35 +02:00
Camilla Berglund 6df692b61e Renamed CURSOR_CAPTURED to CURSOR_DISABLED. 2013-05-22 21:56:14 +02:00
Camilla Berglund 2d1b835711 Added a conservative set of key modifiers. 2013-05-22 21:56:14 +02:00
Camilla Berglund 67e7d8ca5f Fixed window position for EWMH full screen.
Also added flushing after setting window position and size.
2013-05-19 09:08:42 +02:00
Camilla Berglund be28914732 Added setting of _NET_WM_PID. 2013-05-02 16:31:27 +02:00
Camilla Berglund 161c73ea66 Removed centered flag. 2013-05-01 16:34:11 +02:00
Camilla Berglund aa3364a73e Fixed jitter in captured cursor mode. 2013-04-30 15:50:01 +02:00
Camilla Berglund affb62514a Cleanup of clipboard manager work. 2013-04-29 21:06:54 +02:00
Camilla Berglund 179194a687 Added support for clipboard manager. 2013-04-29 13:16:56 +02:00
Camilla Berglund 26756b9ae1 Moved to use X11 context manager. 2013-04-15 02:24:43 +02:00
Camilla Berglund 32273c5d96 Formatting. 2013-04-14 16:33:20 +02:00
Camilla Berglund 49db3b2a9e Formatting. 2013-04-08 15:24:24 +02:00
NathanSweet 8e2e7b37a1 Undecorated window support on win/mac/linux. 2013-04-08 15:24:24 +02:00
Camilla Berglund 953b7f52e5 No characters from Ctrl and Alt chords.
This makes the behavior on X11 consistent with Win32 and Cocoa.
2013-04-04 18:17:41 +02:00
Camilla Berglund f41d85a209 Added initial XInput2 cursor motion. 2013-04-04 16:48:58 +02:00
Camilla Berglund 129e94da2e Changed cursor pos to double. 2013-04-04 16:29:40 +02:00
Camilla Berglund 7b3783abe2 Made glfwGetMonitorPos immediate. 2013-02-20 18:15:03 +01:00
Camilla Berglund 719b60dd2b Added macros for library initialization check. 2013-02-20 18:15:03 +01:00
Camilla Berglund d97dddc8c4 Simplified function comment headers. 2013-02-11 19:43:22 +01:00
Camilla Berglund 7c1932381b Reintroduced glfwGetWindowPos, glfwSetWindowPos. 2013-02-11 19:43:08 +01:00
Camilla Berglund c17a7dd464 Made glfwGetWindowSize immediate.
Conflicts:
	src/internal.h
2013-02-04 12:33:09 +01:00
Camilla Berglund 954d6383ee RandR monitor work.
Moved to CRTC plus usable output for native representation of monitors.
Moved to CRTCs for mode setting and simplified mode setting interface.
2013-02-01 18:03:02 +01:00
Camilla Berglund e209ac7a42 Fixed X11 clipboard regressions, event waiting. 2013-01-31 00:26:37 +01:00
Camilla Berglund f3e39ce680 Cleanup of clipboard and string atoms. 2013-01-29 02:45:08 +01:00
Camilla Berglund 82b8dd5040 Moved to XAnyEvent for mapping to _GLFWwindows. 2013-01-28 20:06:37 +01:00
Camilla Berglund 2d43238dc5 Added comment on use of select(1). 2013-01-28 20:06:37 +01:00
Camilla Berglund 3e78570a31 Removed duplicate documentation.
The public, platform, native, event and utility functions are already
documented in-source.  Having duplicate documentation inevitably means
having them contradict one another.  Furthermore, most of the function
descriptions simply repeated the name of the function.
2013-01-25 01:25:40 +01:00
Camilla Berglund b1ff42b7bb Moved to WM_STATE for iconify events. 2013-01-25 00:44:26 +01:00
Camilla Berglund e820284015 Renamed WM atom struct members for clarity. 2013-01-25 00:44:19 +01:00
Camilla Berglund ca07a067a8 Moved WM_DELETE_WINDOW retrieval to init. 2013-01-25 00:44:08 +01:00
Camilla Berglund 121ce7fbd6 Renamed X11 keysym to Unicode conversion file. 2013-01-17 18:59:35 +01:00
Camilla Berglund cc45a9e53d Updated native API and merged into related files. 2013-01-15 22:38:14 +01:00
Camilla Berglund 9726597794 X11 event comment cleanup. 2013-01-12 21:11:41 +01:00
Camilla Berglund fcb96967ba Replaced repeat kluge with detectable auto repeat. 2013-01-12 21:01:44 +01:00
Camilla Berglund 6a4c175816 Made client-side RandR and Xf86VidMode required. 2013-01-12 19:23:53 +01:00
Camilla Berglund baf3feb86d Removed panning hack only needed by Xxf86vm. 2013-01-04 07:12:15 +01:00
Camilla Berglund 68098f44db Cleanup. 2013-01-04 07:11:30 +01:00
Camilla Berglund dad152b3f6 Removed broken RandR event selection. 2013-01-03 21:07:11 +01:00
Camilla Berglund 46c1e4028f Begun integrating mode setting and monitor API. 2013-01-03 17:56:59 +01:00
Camilla Berglund b72a97d531 Renamed global struct and substructs.
Renamed _glfwLibrary to _glfw and made all substructs lower-case, making
global variable names easier to read and type.  Partially inspired by the
internal naming conventions of glwt.
2013-01-02 01:44:57 +01:00
Camilla Berglund 835f00eb10 Merge branch 'master' into multi-monitor
Conflicts:
	include/GL/glfw3.h
	readme.html
	src/fullscreen.c
	src/internal.h
	src/window.c
	src/x11_fullscreen.c
2012-12-31 21:13:10 +01:00
Camilla Berglund 1790194828 Renamed _glfwInputError and moved to event API. 2012-12-31 21:05:28 +01:00
Camilla Berglund 52dac79219 Ripped out horribly broken refresh rate mess. 2012-12-31 02:06:19 +01:00
Camilla Berglund 73cdc34df7 Merge branch 'master' into multi-monitor
Conflicts:
	CMakeLists.txt
	readme.html
	src/CMakeLists.txt
	src/cocoa_platform.h
	src/win32_platform.h
	src/x11_platform.h
	tests/events.c
2012-12-02 20:52:03 +01:00