aboutsummaryrefslogtreecommitdiffstats
path: root/src/api/x11
Commit message (Collapse)AuthorAgeFilesLines
* x11: initial implementation of from_existing_windowbnewbold2016-06-121-0/+232
| | | | | | | | | | | This adds the ability to create a glutin Window that wraps a pre-existing X Window. The proximal motivation for this is to allow writing of XScreensaver hacks in Rust, but it might also be useful for embedding 3D graphics in larger applications with full process separation, etc. This commit includes a bit of inline documentation, but no tests, and the details of what if any WindowAttributes or pixel information should be applied to the existing window aren't worked out.
* x11: Refactor NoneCursor logic so it applies to CursorState::Hide tooEmilio Cobos Álvarez2016-04-171-32/+34
|
* x11: Add cursor hidingEmilio Cobos Álvarez2016-04-171-2/+30
| | | | | The created cursor could be cached and whatnot, but I'm not sure it deserves the complexity.
* Improve X11 cursor symbols handlingest312016-04-171-40/+66
| | | | | | | | | | | | | | | 1. Make it non failing. Before we tried to call XFreeCursor with a cursor of 0 if we couldn't find a cursor. This has then caused a panic. 2. Introduce a system where multiple special cursors are tried in order to work with different themes and desktop environments. This way we get less often into the situation where we have to use a default cursor. 3. Also set names for some cursors that previously only had a placeholder. Fixes #765. Will fix https://github.com/servo/servo/issues/10475 as well.
* Merge branch 'master' of github.com:tomaka/glutin into ↵Ivo Wetzel2016-03-301-1/+1
|\ | | | | | | x11_window_size_constraints
| * Changed MouseMoved((i32, i32)) to MouseMoved(i32, i32), breaking changeRichard Lettich2016-03-271-1/+1
| |
* | Correctly apply initial size constraints for x11 windows.Ivo Wetzel2016-03-251-2/+18
| |
* | Merge branch 'master' into x11_window_size_constraintsIvo Wetzel2016-03-252-13/+42
|\|
| * Merge pull request #746 from Thinkofname/hide-cursor-state-x11tomaka2016-03-241-14/+41
| |\ | | | | | | Implement CursorState::Hide for x11
| | * Implement CursorState::Hide for x11Thinkofname2016-03-211-14/+41
| | |
| * | Remove a debug print added in 1de66e4efThinkofname2016-03-211-1/+0
| |/
| * Add support for navigation keysManish Goregaokar2016-03-171-0/+3
| |
* | Implement `min/max_dimensions` for x11 windows.Ivo Wetzel2016-03-061-6/+28
|/ | | | | | | | | | Size hints are only being set for non-fullscreen windows, if `max_dimensions` are set they'll override the normal `dimensions` since X11 will not automatically resize the window after setting the size hints. `PSize` hint is currently set along with the `min/max` hints for good measure.
* Add phases to wheel events.Patrick Walton2016-03-031-2/+3
| | | | Needed for apps to support overscroll on the Mac.
* Fix this_platform_is_not_supported on OpenBSD.Kirill Zdornyy2016-03-011-1/+1
| | | | I followed the steps of @mneumann.
* Merge pull request #709 from gdamjan/support-utf8-window-titletomaka2016-02-031-7/+20
|\ | | | | support utf8 window titles via _NET_WM_NAME standard
| * call set_title() in new()Damjan Georgievski2016-01-171-4/+2
| | | | | | | | …instead of low-level X11 calls that don't work with utf8
| * support utf8 window titles via _NET_WM_NAME standardDamjan Georgievski2016-01-171-3/+18
| | | | | | | | | | | | | | based on this freerdp patch https://github.com/FreeRDP/FreeRDP/commit/9767f7f042a58aae876e0ad3b2e7bde356c8fda9 thanks to emiliocobos on irc
* | Allow it to work under Xvfb.Michael Howell2016-01-191-30/+27
|/ | | | Part of servo/servo#8641
* x11: Poll the window until it is really visibleEmilio Cobos Álvarez2016-01-161-9/+22
| | | | | | | | | | | | Fixes #697 It seems that `XSync` doesn't really makes the window viewable. This feels hacky, other option to do it could be using `XIfEvent` or similar to listen to `MapNotify` events, but we'll have a loop still. In practice, this lasts between two and thre iterations on my machine, which is something not noticeable.
* Merge pull request #700 from ecoal95/querydevice-leaktomaka2016-01-071-2/+6
|\ | | | | x11: Prevent leak on XIQueryDevice
| * x11: Prevent leak on XIQueryDeviceEmilio Cobos Álvarez2016-01-061-2/+6
| | | | | | | | | | | | | | Per http://linux.die.net/man/3/xiquerydevice: > XIFreeDeviceInfo frees the information returned by > XIQueryDevice.
* | Fix wrong screen ID used on GLXPierre Krieger2016-01-051-1/+1
|/
* Add better X error handlingPierre Krieger2015-12-304-5/+83
|
* Only call XSetInputFocus if the window is visiblePierre Krieger2015-12-241-12/+14
|
* Call XSync before XSetInputFocusPierre Krieger2015-12-241-0/+4
|
* x11: Improve xlib error reportingEmilio Cobos Álvarez2015-12-151-10/+4
|
* Merge pull request #659 from Aceeri/minmaxwindowtomaka2015-12-051-0/+4
|\ | | | | Minimum/maximum dimensions for windows in win32 API
| * Fixed wrong variable binding for WindowAttributes on assertsAceeri2015-11-091-2/+2
| |
| * Not implemented asserts to prevent silent failsAceeri2015-11-091-0/+4
| |
* | Fix compilation for 32 bit targetsOlaf Buddenhagen2015-11-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Regression introduced in 47df0e9eaa7f1231a07f86fc44426936c7a2589a Casting fullscreen_atom (which is the result from XInternAtom, i.e. c_ulong) as i64 is obviously wrong -- the whole point of types such as c_ulong is that long in C does *not* always have the same bit size... Cast it as c_long instead. While this is the most straightforward fix, I'm not sure it's the best one: perhaps the x11 crate should offer a set_ulong() method along with set_long(), which could be used here instead of the cast?
* | Merge pull request #646 from adambadawy/mastertomaka2015-11-111-18/+73
|\ \ | |/ |/| Fix fullscreen on X11
| * Update x11-dlAdam Badawy2015-10-271-5/+1
| |
| * Fix using garbage memoryAdam Badawy2015-10-271-3/+3
| |
| * Remove deprecated commentAdam Badawy2015-10-271-3/+0
| |
| * Use mode when switching to fullscreenAdam Badawy2015-10-271-10/+16
| |
| * Allow any mode larger than requested dimensionsAdam Badawy2015-10-271-1/+1
| | | | | | | | | | We were previously allowing only fullscreen modes which were exactly as tall as the requested dimensions, perhaps erroneously.
| * Comment fullscreen XClientMessage codeAdam Badawy2015-10-261-6/+9
| |
| * Fix misbehaving fullscreen windowAdam Badawy2015-10-261-8/+51
| |
| * Fix issue #509Adam Badawy2015-10-251-0/+10
| | | | | | | | Focusing the newly created window seems to grab the keyboard.
| * Fix issue #582Adam Badawy2015-10-251-2/+2
| | | | | | | | | | I switched `vsyncstart` and `vdisplay` again, as per the discussion on issue #582.
* | Remove public exports of gl_common and libcPierre Krieger2015-11-091-1/+1
| |
* | Change some uses of c_void to avoid libc version conflicts.Daggerbot2015-11-041-3/+3
|/
* Change X11 events based on `multitouch` optionMatt Brubeck2015-10-232-4/+20
| | | | | * If `multitouch` is enabled, touch input generates touch events. * If `multitouch` is disabled, touch input generates emulated mouse events.
* Remove the window feature entirelyPierre Krieger2015-10-031-1/+1
|
* Add an `os` module containing platform-specific traitsPierre Krieger2015-10-031-0/+10
|
* Rename MonitorID -> MonitorIdPierre Krieger2015-09-243-11/+11
|
* Add #[inline] attributesPierre Krieger2015-09-233-1/+23
|
* Switch X11 and wayland to the new designPierre Krieger2015-09-211-18/+23
|
* Convert GLX to the new designPierre Krieger2015-09-211-4/+5
|