Matthias Clasen
6629e839d0
wayland: Implement gdk_keymap_get_modifier_state
2013-04-06 21:16:38 -04:00
Matthias Clasen
acf56b6cb3
wayland: Fix gdk_keymap_translate_keyboard_state
...
I was confusing indices and masks here, which made the modifier
translation go wrong. With this commit, accelerators work.
2013-04-06 17:03:27 -04:00
Matthias Clasen
1b2711cde2
wayland: Implement gdk_keymap_translate_keyboard_state
2013-04-06 10:48:57 -04:00
Matthias Clasen
eb9ab7aad4
wayland: Fix up key event translation
...
The is_modifier field is supposed to be set if the key
would act as a modifier, not if any modifiers are currently
active. To fix this, introduce a private
_gdk_wayland_keymap_key_is_modifier function.
At the same time, make the hardware_keycode field in key
events actually contain the hardware keycode, not a copy
of the keyval.
2013-04-06 10:48:57 -04:00
Matthias Clasen
c659f892ff
trivial whitespace fix
2013-04-06 10:48:56 -04:00
Matthias Clasen
720ca63c5d
wayland: Return NULL as the keyval name for 0
...
This is what the X11 backend does, and it makes the "NoSymbol"
disappear from menuitems that don't have an accelerator.
2013-04-06 10:48:56 -04:00
Benjamin Otte
ae2208cd5d
gdk: Deprecate gdk_display_get_n_screens()
2013-04-06 10:47:55 +02:00
Benjamin Otte
f8b017faa8
x11: Simplify code for single-screen case
2013-04-06 10:47:55 +02:00
Tristan Van Berkom
6a90c48ea6
GdkOffscreenWindow: Implement gdk_window_get_frame_extents()
...
This avoids crashes in gtk_window_get_position() whenever the GdkWindow
is offscreen.
2013-04-06 17:16:09 +09:00
Alexander Larsson
9a79c3d643
broadway: Unsure we clear the grab on window hide
2013-04-05 17:07:04 +02:00
Alexander Larsson
a6a768437d
broadway: Fix warning
...
Don't pass NULL source_device in grab/ungrab events
2013-04-05 17:07:03 +02:00
Matthias Clasen
cdcc804730
wayland: Implement more keymap functions
...
This commit implements gdk_keymap_get_entries_for_keyval
and gdk_keymap_lookup_key.
2013-04-05 07:23:00 -04:00
Matthias Clasen
be1e57db1f
wayland: Implement gdk_keymap_get_entries_for_keycode
2013-04-05 07:23:00 -04:00
Matthias Clasen
086789d015
wayland: Always initialize directions
...
I forgot to initialize directionm in gdk_wayland_keymap_new,
leading to crash.
2013-04-04 21:14:53 -04:00
Matthias Clasen
246f32a58d
wayland: Emit ::direction-changed when appropriate
...
We always emit direction-changed when we get a new keymap, but
for state changes, we compare old and new direction and only
emit the signal when the direction actually changes.
2013-04-03 23:52:52 -04:00
Matthias Clasen
2f8f1ef485
wayland: Implement keymap direction
...
This is very similar to the X11 implementation.
2013-04-03 23:45:54 -04:00
Pavel Vasin
5d9c07a061
wayland: display: Fix memory leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=696767
2013-04-03 19:20:57 -04:00
Alexander Larsson
8084e6e468
broadway: Ensure we allocate shm surface space early
...
This is nicer then getting random sigbus later
2013-04-03 15:58:42 +02:00
Alexander Larsson
c340dfeaf8
Broadway: Fix shm names
...
We were sometimes getting zero chars in the name, making them
shorter, due to an off-by-zero in the size.
2013-04-03 15:58:41 +02:00
Alexander Larsson
b7a1561fef
broadway: destroy old surface before creating new one
...
We were not using the old one anyway, and this may in some cases
use less memory (although in most cases the server has a ref to the
surface anyway).
2013-04-03 15:58:40 +02:00
Rob Bradford
000ed99f3d
gdkdisplay: Warn if asked for a non-zero screen not a zero screen
...
Following on from a6b29d73
this commit correctly warn if you try and use
deprecated multiple screen behaviour.
2013-04-02 12:04:22 +01:00
Benjamin Otte
a55f1f4e95
broadway: Mark deprecated function call
...
... to avoid gcc warning us. Ideally, we'd not call a deprecated
function here, but I'm lazy.
2013-04-02 11:45:44 +02:00
Benjamin Otte
dc132a9895
broadway: Don't use deprecated API
2013-04-02 11:45:44 +02:00
Benjamin Otte
a6b29d73d7
gdkdisplay: Remove get_screen() and get_n_screens() vfuncs
2013-04-02 11:45:44 +02:00
Alexander Larsson
40c3062d33
broadway: Use wss: on https: uris
2013-04-01 17:44:33 +02:00
Benjamin Otte
f73bf26df0
Deprecate gdk_get_display()
2013-04-01 14:20:47 +02:00
Benjamin Otte
cb2c47597e
gdk: Shuffle code around
...
Make implementation, header and documentation be at the correct place.
2013-04-01 14:20:46 +02:00
Benjamin Otte
47a8c2f733
x11: Make display:screen relation 1:1
...
Only ever open the default screen.
If apps need support for multiple screens, they need to
gdk_display_open() them manually.
2013-04-01 14:20:46 +02:00
Benjamin Otte
e76cb9daca
wayland: Remove unused variable
2013-04-01 14:20:46 +02:00
Matthias Clasen
28fab2eea2
Remove an unused filed in GdkWindowImplWayland
...
The unused toplevel_window_type field was copied over from
the X backend.
2013-03-31 22:46:31 -04:00
Matthias Clasen
cb4cf67a95
Remove an unused field in GdkWindowX11
...
The toplevel_window_type field was only ever set to -1, and
never used. The actual, used toplevel_window_type field lives
in GdkWindow.
2013-03-31 22:44:59 -04:00
Kristian Høgsberg
4252ac6d6c
wayland: Set a wayland-client log handler to print errors we get
2013-03-30 14:20:00 -04:00
Kristian Høgsberg
8886c63a4e
wayland: Don't error out on G_IO_HUP until we've read G_IO_IN data
...
We can get G_IO_HUP and G_IO_IN at the same time, if the compositor writes
data to us and then closes our connection. Make sure that we dispatch events
always if we have G_IO_IN and then error out if we get G_IO_HUP after that.
2013-03-30 14:20:00 -04:00
Alexander Larsson
e9b8b5c1f0
broadway: Reuse surfaces passed to server
...
This way we don't have to reopen all the time for pure updates,
and we can immediately unlink the shm file to avoid "leaking" them
on improper shutdown.
2013-03-29 14:09:47 +01:00
Alexander Larsson
c6baa9bc25
broadway: Move surface open to server
...
This way we can cache the last opened surface
2013-03-29 14:09:47 +01:00
Alexander Larsson
6ef8589a51
broadway: Make chrome work again
2013-03-29 14:09:47 +01:00
Alexander Larsson
8289f4cdc9
broadway: Add support for password authentication
2013-03-29 14:09:47 +01:00
Alexander Larsson
1148a375e5
broadway: Limit window resize based on window geometry
2013-03-29 14:09:47 +01:00
Alexander Larsson
71b4557210
broadway: Sync surface updates with paint clock
...
We now only update surface data after we have painted. Before we painted
in an idle, which meant we might send black data some times if we e.g.
resized the window and had not painted yet. Also, it means we're updating
less often to the daemon, saving resources.
We still have to queue a flush in the idle for non-draw operations,
otherwise e.g. resize of a toplevel will never be flushed if the clock
is frozen (e.g. during toplevel resize).
2013-03-29 14:09:47 +01:00
Alexander Larsson
a20cb3dd25
broadway: Ensure window sizes are synched right
...
We don't want to update the window size on configure event, only
the position, as the size is client side controlled. We were
updating to an old size during resizes which causes us to send
surfaces of the wrong size to the daemon.
2013-03-29 14:09:46 +01:00
Alexander Larsson
19e683e62a
broadway: Clean up moveresize code
2013-03-29 14:09:46 +01:00
Alexander Larsson
0129876ed3
broadway: Remove leftover cruft that caused resize to fail
...
getTransientToplevel() doesn't exist anymore so this broke.
2013-03-29 14:09:46 +01:00
Alexander Larsson
e9906138e5
broadway: Fix mouse position typo
2013-03-29 14:09:46 +01:00
Chris Cummins
b8ed3e9ef5
wayland: Implement animatable cursors
...
Cursor animations are handled on a per-device basis, with
GdkWaylandDevice updating the pointer surface for each frame.
https://bugzilla.gnome.org/show_bug.cgi?id=696429
2013-03-28 10:33:57 -04:00
Chris Cummins
4801977d80
wayland: Do not free wayland cursor buffers
...
The cursor buffer is only non-null when a cursor is created from pixbuf,
so it is not necessary to keep track of whether to free this buffer on
finalize.
2013-03-28 10:33:57 -04:00
Chris Cummins
c022cbae0d
wayland: Differentiate wayland and pixbuf cursors
...
By keeping a pointer to the wl_cursor struct in GdkWaylandCursor, it is
no longer necessary to duplicate cursor data (width, height, hotspots,
etc.) between wl_cursor and GdkWaylandCursor.
2013-03-28 10:33:57 -04:00
Kristian Rietveld
6f607fc8b4
quartz: move atom/pasteboard type conversions functions to GDK
...
(cherry picked from commit a269c2f8d2
)
2013-03-28 13:10:38 +01:00
Jan Arne Petersen
40c5d37340
docs: Add wayland documentation to Gdk reference
2013-03-27 21:04:05 +01:00
Kristian Høgsberg
abfa4bf0aa
wayland: Use the wl_display_sync() request to track pending init roundtrips
...
Instead of maintaining the init refcount in regular event handlers that can
fire in case of hotplug or mode changes, use a dedicated sync callback
to wait for roundtrips.
2013-03-27 13:44:33 -04:00
Kristian Høgsberg
fc713dffb3
wayland: Pass most recent button press serial to set_popup_surface
2013-03-27 13:39:58 -04:00