Giovanni Campagna
7f8bf41633
gtk-shell: extend the protocol with shell capabilities
...
Add the concept of shell capabilities, which allow the compositor
to advertise support for the app menu and the global menubar,
which are then propagated as GdkSettings.
https://bugzilla.gnome.org/show_bug.cgi?id=707129
2013-09-03 17:03:43 +02:00
Alexander Larsson
b2113b7384
gdk: Add gdk_cursor_new_from_surface
...
We need this to be able to handle scaled cursor images.
We implement the new _from_pixbuf by converting to a surface and
assuming the scale was 1.
2013-08-07 13:34:10 +02:00
Alexander Larsson
ce68a2f870
wayland: Implement gdk_screen_get_monitor_scale()
...
We bind to the newer version of the wl_output which supports
the new done and scale events, and if we use this to get the
scale for each monitor (defaulting to 1 if not supported).
2013-07-03 14:34:13 +02:00
Benjamin Otte
a30b84f522
wayland: Don't add/remove displays manually
...
This code is handled by GdkDisplay itself these days.
2013-05-01 18:12:38 +02:00
Owen W. Taylor
23031defde
wayland: fill in refresh_interval in GdkFrameTimings
...
Track the outputs that a window is on, and use the refresh rate from
a random one of those outputs for the refresh_interval in
GdkFrameTimings.
https://bugzilla.gnome.org/show_bug.cgi?id=698864
2013-04-25 13:50:01 -04:00
Benjamin Otte
edfaeba32b
Revert "wayland: Cache the discovery connection and reuse if possible"
...
This reverts commit 524ce7f88e
.
2013-04-19 16:22:32 -04:00
Benjamin Otte
cadfa58801
wayland: Get rid of generic macros
...
They're unused.
2013-04-19 16:18:25 -04:00
Rob Bradford
524ce7f88e
wayland: Cache the discovery connection and reuse if possible
...
This will prevent us opening, closing and reopening the same display
connection in the majority of cases.
https://bugzilla.gnome.org/show_bug.cgi?id=694465
2013-04-19 14:03:24 +01:00
Benjamin Otte
f7c0b025b9
displaymanager: Move set_default_display vfunc
...
... to GdkDisplayClass.make_default. It's only implemented by X11
anyway.
2013-04-15 15:43:26 +02:00
Chris Cummins
6deff39f74
wayland: Use more explicit out parameter names
...
Prevent confusion between positional values and hotspot values.
Signed-off-by: Rob Bradford <rob@linux.intel.com>
2013-04-09 12:52:56 +01: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
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
Kristian Høgsberg
fc713dffb3
wayland: Pass most recent button press serial to set_popup_surface
2013-03-27 13:39:58 -04:00
Matthias Clasen
4987728d7a
wayland: Handle seat removal
...
Also, emit ::device-added and ::device-removed signals
as devices appear and disappear.
2013-03-26 22:57:46 -04:00
Matthias Clasen
28c865b4e2
wayland: Make monitor removal work
...
The global_removal argument is the _name_ of the object.
We were comparing it to the _object id_ of the object.
To fix this, store the name at the time the object is bound.
2013-03-26 22:16:15 -04:00
Matthias Clasen
9182eacadf
wayland: Don't recreated keymaps on layout change
...
The GDK model for keymaps expects the keymap object to stay
around and emit a ::keys-changed signal. So, do that. This
should make layout changes work, but it remains untested since
weston does not support layout changes at runtime.
At the same time, plug a memory leak where GdkWaylandKeymap
forgot to free its xkb objects in finalize.
https://bugzilla.gnome.org/show_bug.cgi?id=696339
2013-03-23 18:04:15 -04:00
Matthias Clasen
a70acc03c5
wayland: Respect keymap repeat information
...
xkb has a function to tell us whether a key should be repeated
or not. Lets use that information.
2013-03-23 17:29:28 -04:00
Matthias Clasen
c61956c592
wayland: Implement cursor theme changing
...
Add gdk_wayland_display_set_cursor_theme and implement it.
2013-03-22 20:30:51 -04:00
Thomas Hindoe Paaboel Andersen
c5145421af
wayland: complete cursor_for_pixbuf
...
Finishes the implementation for loading cursors from pixbufs.
Gnome bug #696223
2013-03-21 18:00:23 -04:00
Kristian Høgsberg
62eb5d0358
wayland: Add a cursor cache
...
We avoid creating a new GdkCursor object every time
_gdk_wayland_display_get_cursor_for_name/type() is called.
2013-03-20 22:56:50 -04:00
Thomas Wood
fbc0572068
wayland: attempt to determine the possible parent surface for popups
...
Use the surface beneath the device that created the grab as the transient
parent for the popup surfaces.
https://bugzilla.gnome.org/show_bug.cgi?id=693913
2013-02-18 19:38:21 -05:00
Rob Bradford
4e1d999940
wayland: Add support for output device removal
...
Since we only receive an object id for the removed object we must try and
remove that from the list of devices based on that id.
2013-02-14 13:28:07 +00:00
Jan Arne Petersen
ff2a387154
wayland: Handle wl_output in GdkWaylandScreen
...
Expose information about outputs in GdkScreen (gdk_screen_get_n_monitors
and gdk_screen_get_monitor_*).
2013-02-13 15:52:05 +00:00
Jan Arne Petersen
e437016a65
wayland: Make GdkWaylandDevice public
...
Rename GdkDeviceCore to GdkWaylandDevice and export it properly in a
header file. Add public accessors for wl_seat, wl_pointer and
wl_keyboard.
https://bugzilla.gnome.org/show_bug.cgi?id=692823
2013-02-01 23:03:17 -05:00
Jan Arne Petersen
01c0dd9182
wayland: Make GdkWaylandWindow public
...
Allows to access Wayland specific window information like wl_surface and
wl_shell_surface.
Add gdk_wayland_window_get_wl_surface for getting the Wayland wl_surface
and gdk_wayland_window_get_wl_shell_surface for getting the Wayland
wl_shell_surface.
2013-01-23 22:26:27 +01:00
Jan Arne Petersen
2b9f0b4817
wayland: Make GdkWaylandDisplay public
...
Allows to access Wayland specific display information like wl_display
etc.
Add gdk_wayland_display_get_wl_display for getting the Wayland
wl_display.
2013-01-23 22:26:27 +01:00
Scott Moreau
e5b88f1bdd
wayland: Update to reflect protocol changes
2012-10-19 12:21:35 +01:00
Rob Bradford
bef037f5d2
wayland: Remove unused function declaration
2012-07-16 20:11:41 +01:00
José Dapena Paz
a4c80bd9cb
wayland: Create and expose an xkb_state on the keymap object
...
This is then logically associated with the input device since each (keyboard)
input device has its own keymap.
Signed-off-by: Rob Bradford <rob@linux.intel.com>
2012-07-16 20:11:41 +01:00
José Dapena Paz
d2267824b3
wayland: Refactor the keymap handling so it is associated with device
...
Although GDK expects the keymap to be associated with the display under
Wayland this is really associated with the input device so expose this by
finding the first keyboard device.
Signed-off-by: Rob Bradford <rob@linux.intel.com>
2012-07-16 20:11:41 +01:00
Rob Bradford
1d080a01c1
wayland: Process the keymap that is sent over from the compositor
...
Load the keymap from the file descriptor that the compositor has sent us and
then save that into our internal object for future use.
2012-07-16 13:44:29 +01:00
Rob Bradford
7fe87016f3
wayland: Add internal API for handling Wayland serial numbers
...
We need to keep track of the serial numbers for various API requests.
2012-07-12 15:58:38 +01:00
Rob Bradford
93a338245a
wayland: Switch to new wayland cursors mechanism
2012-07-12 15:58:38 +01:00
Rob Bradford
3eb0b195ed
wayland: Port to new input protocol mechanism
...
This replaces the wl_input_device with wl_pointer, wl_keyboard, wl_touch all
tied together under a wl_seat.
This is quite a radical change in protocol and for now keyboard handling is
disabled.
2012-07-12 15:58:38 +01:00
Rob Bradford
bdca0520e6
wayland: Store the device that does a grab for a window on the window
...
This allows us to get the device if we need to make the window a popup. This
relies on the side effect that GTK calls into GDK to take a grab before the
popup window is shown.
2012-02-27 17:15:12 +00:00
Javier Jardón
9d0febc9a6
Change FSF Address
2012-02-27 17:06:11 +00:00
Kristian Høgsberg
aae9a71986
wayland: Also synthesize a configure event from gdk_window_wayland_move_resize
2012-01-29 07:32:44 -05:00
Kristian Høgsberg
7328cc73aa
wayland: Set GdkWindow focused state based on keyboard focus
2012-01-16 15:36:28 -05:00
Kristian Høgsberg
4ca3e53a3e
wayland: Drop GdkToplevelWayland and gdkwindow-wayland.h
2011-02-10 22:51:23 -05:00
Kristian Høgsberg
c36dfccc64
wayland: Consolidate device and devicemanager implementation
2011-02-09 15:27:08 -05:00
Kristian Høgsberg
3ef3433511
wayland: Support setting cursors
...
And a handful unrelated cleanups. Still doesn't really have an answer
for cursor themes.
2011-02-09 14:48:31 -05:00
Kristian Høgsberg
541d5172dd
Track 2.99.3 API changes
2011-02-08 08:12:59 -05:00
Kristian Høgsberg
7d29070faf
Implement GdkKeymap using libxkbcommon
2011-02-05 16:11:55 -05:00
Kristian Høgsberg
e6c1f5d94d
Dont iterate the display if there's nothing to write
2011-02-05 16:11:54 -05:00
Kristian Høgsberg
590f3dfa1f
Add Wayland backend
2011-02-05 16:11:54 -05:00