src/video/x11


Log

Author Commit Date CI Message
Sam Lantinga 67bdbcca 2016-09-29T16:05:29 Implemented SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH on X11
Philipp Wiesemann d7b9d321 2016-05-20T22:15:28 X11: Fixed typos in error messages and source comments.
Philipp Wiesemann 81235118 2016-05-20T22:14:40 X11: Fixed missing error message if SDL_GetDisplayDPI() failed.
Philipp Wiesemann e964d00f 2016-05-11T21:11:12 X11: Fixed SDL_GL_GetSwapInterval() returning -1 if interval is unknown. It should return 0 as a safe default if the interval can not be determined.
Ryan C. Gordon f647dfe8 2016-03-04T19:41:16 x11: Fix a few more XMoveWindow() calls to adjust for border size. Also, fix my inability to do basic math ('+' should have been '-').
Ryan C. Gordon 02f49fdb 2016-03-04T18:47:19 x11: Deal with window borders better. - Cache the _NET_FRAME_EXTENTS data locally, so we don't have to query the X server for them (instead, we update our cached data when PropertyNotify events alert us to a change). - Use our cached extents for X11_GetWindowBordersSize(), so it's a fast call. - Window position was meant to refer to the client area, not the window decorations, so adjust appropriately when getting/setting the position.
Ryan C. Gordon 2436ca20 2016-02-20T01:03:39 x11: better fix for the previous commit's fullscreen vs maximized issue.
Ryan C. Gordon a4627c5e 2016-02-20T00:44:42 x11: Don't mess with fullscreen vs maximized window state on unmapped windows.
Ryan C. Gordon df4be2f2 2016-02-18T23:27:58 x11/wayland/mir: Make the dynamic loading macro salsa a little less messy.
Ryan C. Gordon 45407d0e 2016-02-15T21:49:09 x11: Removed an assert. This assert triggers when run under XMonad. It's safe to pass a zero here anyhow, as this will still work "well enough" and the original problem--GNOME printing a warning message--is still fixed because GNOME's window manager gives us a chance to grab a non-zero user-time value before this code is run.
Ryan C. Gordon 0e2badc1 2016-02-12T00:27:21 x11: Patched to compile with DEBUG_XEVENTS on C89 compilers.
Ryan C. Gordon 5ed63ae3 2016-02-08T01:08:21 x11: Updated imKStoUCS.* to latest from x.org. This was a version from XFree86 before now. :) Although not much has changed.
Alex Szpakowski 32592178 2016-01-31T09:39:42 x11: Fix AltGr generating an invalid keycode (bug #3244). Thanks Thomas!
Ryan C. Gordon ed620333 2016-01-07T19:58:00 x11: make last mouse coords sane upon window entry (thanks, Cengiz!). (and thanks to Cengiz for many of the previous Unreal-related patches! They were generically credited to Epic Games, but a large amount of that work was his contribution.) Fixes Bugzilla #3067.
Ryan C. Gordon eeb89999 2016-01-05T05:22:35 Patched to compile.
Ryan C. Gordon 3bdaf4c6 2016-01-05T02:46:10 Added SDL_SetWindowOpacity() and SDL_GetWindowOpacity(). This is currently implemented for X11, Cocoa, Windows, and DirectFB. This patch is based on work in Unreal Engine 4's fork of SDL, compliments of Epic Games.
Ryan C. Gordon f9d478b6 2016-01-05T02:40:14 x11: _NET_WM_PID needs a long, not a pid_t, I think.
Ryan C. Gordon 7605ccf6 2016-01-05T02:29:16 Use SDL's stdinc functions instead of C runtime calls.
Ryan C. Gordon 5696e88e 2016-01-05T02:29:06 Added SDL_GetWindowBordersSize(). This is currently only implemented for X11. This patch is based on work in Unreal Engine 4's fork of SDL, compliments of Epic Games.
Ryan C. Gordon e497e465 2016-01-05T02:28:56 Added SDL_SetWindowInputFocus(). This is currently only implemented for X11. This patch is based on work in Unreal Engine 4's fork of SDL, compliments of Epic Games.
Ryan C. Gordon dc532c70 2016-01-05T02:27:50 Added SDL_WINDOWEVENT_TAKE_FOCUS. This is for corner cases where a multi-window app is activated and wants to make a decision about where focus should go. This patch came from Unreal Engine 4's fork of SDL, compliments of Epic Games.
Ryan C. Gordon f9af0c03 2016-01-05T02:27:26 x11: Put a matching window_group wmhint on every window created. This is useful to the Window Manager, so it can know to associate multiple SDL windows with a single app.
Ryan C. Gordon f9b73793 2016-01-05T02:26:45 Added SDL_DROPTEXT event, for dragging and dropping string data. This patch is based on work in Unreal Engine 4's fork of SDL, compliments of Epic Games.
Ryan C. Gordon 8e855f2f 2016-01-05T01:42:00 Added SDL_DROPBEGIN and SDL_DROPCOMPLETE events, plus window IDs for drops. This allows an app to know when a set of drops are coming in a grouping of some sort (for example, a user selected multiple files and dropped them all on the window with a single drag), and when that set is complete. This also adds a window ID to the drop events, so the app can determine to which window a given drop was delivered. For application-level drops (for example, you launched an app by dropping a file on its icon), the window ID will be zero.
Ryan C. Gordon f2defe5e 2016-01-05T01:30:40 Added special window type flags. Specifically: always on top, skip taskbar, tooltip, utility, and popup menu. This is currently only implemented for X11. This patch is based on work in Unreal Engine 4's fork of SDL, compliments of Epic Games.
Ryan C. Gordon c3114975 2016-01-04T23:52:40 Added SDL_GetDisplayUsableBounds().
Ryan C. Gordon 81209acb 2016-01-04T23:44:27 x11: Let apps specify that video init should fail if XRandR is unavailable. Notably: it sets the error string to inform you that your custom SDL is built without xrandr support, which apparently has been a support issue for Unreal Engine 4 developers.
Ryan C. Gordon 7678b1db 2016-01-04T16:36:42 Patch to compile on C89 compilers.
Ryan C. Gordon 6df5e1e5 2016-01-04T16:25:27 x11: Support _NET_WM_USER_TIME and give _NET_ACTIVE_WINDOW a valid timestamp. Fixes Bugzilla #3056.
Sam Lantinga 42065e78 2016-01-02T10:10:34 Updated copyright to 2016
Ryan C. Gordon 18c7d6df 2015-12-29T02:16:14 XRandR: fixed primary output detection logic (thanks, "winterknight"!). Fixes Bugzilla #3185.
Ryan C. Gordon 257b7af2 2015-12-28T13:07:44 Sync up the caps/numlock state properly without sending key events. Partially fixes Bugzilla #2736 and #3125.
Philipp Wiesemann 32147ba7 2015-12-05T17:08:07 X11: Fixed memory leak when initializing multiple screens.
Ryan C. Gordon 5224dfcc 2015-11-17T12:15:35 X11: Let XRandR respect multiple screens (DISPLAY=:0.0 vs :0.1, etc).
Sam Lantinga 38edc177 2015-10-27T11:18:04 Add SDL_HINT_VIDEO_X11_NET_WM_PING to allow disabling _NET_WM_PING protocol handling in CreateWindow if desired.
Sam Lantinga 2b0140a9 2015-10-27T11:17:32 Add a new SDL_KEYMAPCHANGED SDL event to abstract notification of keyboard layout or input language changes.
Ryan C. Gordon 81457603 2015-08-15T00:36:39 X11: Handle keyboard layout changing during app's run on Ubuntu 12.04 (etc). Fixes Bugzilla #3050 (in addition to Jason Wyatt's patch, prior to this).
Ryan C. Gordon 0d8c3a0b 2015-08-14T23:38:40 Patched to compile.
Ryan C. Gordon 0cf81fbd 2015-08-14T23:30:46 Minor coding convention fix.
Jason Wyatt fb37956d 2015-08-14T16:23:31 Supply current group when translating X11 Keycodes to Keysyms.
Ryan C. Gordon f2f8e6f5 2015-08-13T21:40:32 X11: only send mouse button up events if not a mousewheel "button" (Brackets in the wrong place, my bad!)
Ryan C. Gordon 874bf865 2015-08-13T17:40:28 X11: Simplified mousewheel event handling. Under load, this would race and report an incorrect mouse button event instead of a wheel event. Fixes Bugzilla #2987.
Ryan C. Gordon da6f2221 2015-08-13T17:37:09 X11: isConfigureNotify() isn't used at the moment, comment it out.
Ryan C. Gordon 8a1fd982 2015-08-13T14:56:16 X11: don't block on a ConfigureNotify event during SDL_SetWindowBordered(). Unity's window manager is (legitimately, since it moves the client window's position) sending one, and SDL was incorrectly trying to mask it out. Other window managers (KWin, apparently) don't move the window and would hang here indefinitely. Fixes Bugzilla #3052.
Ryan C. Gordon c67213f3 2015-08-07T01:02:35 X11: Fixed XRandR display detection. Previously this only worked on X11 when Xinerama was carrying the weight. Fixes Bugzilla #3062.
Ryan C. Gordon ca468042 2015-08-07T00:59:31 X11: Fixed a memory leak when adding duplicate display modes.
Alfred Reynolds dc2e9ba1 2015-07-29T17:19:04 Fix build.
Alfred Reynolds 51c72e10 2015-07-29T17:19:02 Add X11 implementation of SDL_GetDisplayDPI.
Ryan C. Gordon f5cf8676 2015-07-28T00:12:50 x11: Catch fatal X errors when calling glXMakeCurrent(). In extremely rare cases, probably due to misconfigured drivers, one might see this happen, and rather than terminate the process, we try to recover by reporting an error to the app. Fixes Bugzilla #3068.
Ryan C. Gordon e346f142 2015-07-17T21:03:58 SDL_WarpMouseGlobal() should return non-void. There are platforms it isn't implemented on (and currently can't be implemented on!), and there's currently no way for an app to know this. This shouldn't break ABI on apps that moved to a revision between 2.0.3 and 2.0.4.
Ryan C. Gordon 27055ea0 2015-07-14T23:46:35 X11: center parentless message boxes on the primary display if possible. This relies on a successful SDL_Init(SDL_INIT_VIDEO) to work, since it's silly to reproduce all the Xinerama/XRandR code in the message box parts. If X11 is available but SDL hasn't been initialized, the message box will center in the primary screen, which will be positioned weirdly on multi-head setups, but this should fix the most significant common case.
Ryan C. Gordon 0c19501e 2015-07-11T00:59:56 x11: Patched to compile on systems without the Xutf8LookupString() function.
Sam Lantinga b5c43a88 2015-07-03T09:18:14 Fixed style
Sam Lantinga 35c4468f 2015-07-03T09:17:24 commit a7d7af2a419b453188ffe87386455fc26c1306fa Author: Benoit Pierre <benoit.pierre@gmail.com> Date: Fri Jul 3 02:17:10 2015 +0200 fix 14dd48ae5bc43b61b2a0dd0b3177d22edec707ef regression The window manager detection code in X11_HasWindowManager does not work with Awesome (http://awesome.naquadah.org/). Remove it, and reuse the result of the more correct checks in X11_CheckWindowManager.
Ryan C. Gordon 1e3c28ac 2015-06-30T15:00:48 X11: Added a test for a weird X11 error we get with Xinerama, rarely.
Ryan C. Gordon 20ec1377 2015-06-30T14:41:17 X11: Call XRefreshKeyboardMapping() when we get various MappingNotify events. According to the Xlib docs, you need to do this or Xlib's internal state gets out of sync.
Ryan C. Gordon acdb494f 2015-06-30T14:39:39 X11: Don't ignore keyboard mapping changes. MappingNotify events don't have a window associated with them, so SDL was dropping these before the point where we would have handled them.
Sam Lantinga f1b7a843 2015-06-25T07:17:08 Fixed compiling if SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM is not defined
Philipp Wiesemann 0e45984f 2015-06-21T17:33:46 Fixed crash if initialization of EGL failed but was tried again later. The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly uninitialized data structure if loading the library first failed. A later try to use EGL then skipped initialization and assumed it was previously successful because the data structure now already existed. This led to at least one crash in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was dereferenced to make a call to eglBindAPI().
Ryan C. Gordon 8875a401 2015-04-22T16:50:48 x11: Optimize SDL_GetGlobalMouseState() a little. Use XInput2 to mark the global mouse state as dirty so we don't have to make a bunch of roundtrips to the X server when nothing has changed.
Ryan C. Gordon 0c0ce209 2015-04-21T10:19:20 Updated comment: this is the correct way to do fullscreen on X11 now.
Ryan C. Gordon 14e00777 2015-04-21T10:14:17 x11: window managers might mark windows as FULLSCREEN _and_ MAXIMIZED. This patch came from Unreal Engine 4's fork of SDL, compliments of Epic Games.
Ryan C. Gordon aa4952fd 2015-04-21T10:10:59 Added SDL_WINDOWEVENT_HIT_TEST. This lets windows know when they are dropping a mouse event because their hit test reported something other than SDL_HITTEST_NORMAL. It lets them know exactly where in the event queue this happened. This patch is based on work in Unreal Engine 4's fork of SDL, compliments of Epic Games.
Ryan C. Gordon e0e04542 2015-04-21T09:46:48 Added a few FIXMEs.
Ryan C. Gordon d4aedf99 2015-04-21T09:45:58 Added SDL_SetWindowModalFor(). This is currently only implemented for X11. This patch is based on work in Unreal Engine 4's fork of SDL, compliments of Epic Games.
Ryan C. Gordon 9a752798 2015-04-21T01:22:32 x11: Workaround window managers that mark fullscreen windows as maximized. This patch came from Unreal Engine 4's fork of SDL, compliments of Epic Games.