Руслан Ижбулатов
e1240b42ed
GDK W32: Change WM_SYSMENU style switch logic
...
Instead of checking for window state and giving it extra styles that
fit, just give it all styles that it is missing. It turned out that
otherwise it is impossible to, for example, restore a maximized window
via sysmenu. Also, be more flexible towards GDK/WM window state mismatches
and consider the window minimized/maximized if *either* GDK or WM thinks so.
https://bugzilla.gnome.org/show_bug.cgi?id=776485
2017-12-02 10:38:19 +00:00
Руслан Ижбулатов
9e5fc16307
GDK W32: Remove unneeded assertion
...
Just set check_for_dpi_awareness = TRUE and eventually it will be handled
correctly, even if setDpiAwareFunc() returns E_ACCESSDENIED or shcore functions
are NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=777031
2017-12-02 10:38:18 +00:00
Руслан Ижбулатов
285ebd58a8
GDK W32: Handle maximizing correctly for small primary monitors
...
When primary monitor is smaller than the actual monitor on which the
window is being maximized, the WM will do widnow size adjustments
that will completely screw the window size if we try to make it
smaller than 100% fullscreen (to account for taskbar size, for example).
Fix this by overriding maximized window size during WM_WINDOWPOSCHANGING.
https://bugzilla.gnome.org/show_bug.cgi?id=775808
2017-12-02 10:38:17 +00:00
Руслан Ижбулатов
c7bdf643c5
GDK: Make sure W32 backend compiles without GdkDeviceManager
...
https://bugzilla.gnome.org/show_bug.cgi?id=773299
2017-12-02 10:37:23 +00:00
Timm Bäder
dfc7a531db
wayland: Never send NULL app id
...
The old gdk_get_program_class was never returning NULL, but
g_get_prgname might. So use the same fallback app id name we were using
before.
2017-12-01 07:30:25 +01:00
Alexander Larsson
61ea8e8676
broadway: Add some (disabled) debugging tools
2017-11-30 21:57:42 +01:00
Alexander Larsson
af890e6677
broadway: Don't send node updates to browser if nothing changed
2017-11-30 21:57:42 +01:00
Alexander Larsson
d43008b2a5
broadway: Fix texture hash function
2017-11-30 21:57:42 +01:00
Alexander Larsson
f5e0986230
vulkan: Don't crash if vkEnumeratePhysicalDevices fails
2017-11-30 21:57:42 +01:00
Alexander Larsson
c30073793e
broadway: Improve logging
...
We now log backwards, so that the latest is always visible.
Also, we use <pre> with a smaller size.
2017-11-30 21:57:42 +01:00
Alexander Larsson
521b09cc96
broadway: Send diffs of node trees
...
Reusing pre-created nodes is a lot faster both in terms of
dom modifications and of transfer sizes.
2017-11-30 21:57:42 +01:00
Alexander Larsson
3d4a9324e6
broadway: Add broadway_node_equal
2017-11-30 21:57:42 +01:00
Alexander Larsson
46c4869945
broadway: Prepare for implementing diff
2017-11-30 21:57:42 +01:00
Alexander Larsson
e43f031769
broadway: Add div for container nodes
...
We need this so that all nodes have divs, otherwise diffing is going
to be very hard.
2017-11-30 21:57:42 +01:00
Alexander Larsson
1820362b2b
broadway: Deserialize node tree in server
...
This doesn't really change anything, but it is in preparation for diffing
the trees.
2017-11-30 21:57:42 +01:00
Alexander Larsson
907e071c90
broadway: Add a texture cache
...
This ensures we never upload a texture we already have locally available.
2017-11-30 21:57:42 +01:00
Alexander Larsson
d284c3fa85
broadway: Re-add seat and core device creation
2017-11-30 21:57:42 +01:00
Matthias Clasen
c750c0e571
Drop gdk_cursor_new_from_pixbuf
...
Part of the push to remove GdkPixbuf from the API.
2017-11-29 20:16:43 -05:00
Matthias Clasen
7217689e02
docs: Remove mentions of gdk_cursor_new_from_pixbuf
...
This function is going away.
2017-11-29 20:14:53 -05:00
Christophe Fergeau
9259ca98f3
wayland: Fix indentation of previous commit
2017-11-29 12:21:19 +01:00
Christophe Fergeau
ff3da0818c
wayland: emit GDK_SELECTION_CLEAR on owner changes
...
The wayland backend currently never emits GDK_SELECTION_CLEAR events.
GtkClipboard uses this signal in order to clear the clipboard owner when
the selection is set to something outside the application.
This commit ensures the wayland backend emits GDK_SELECTION_CLEAR before
setting the clipboard owner to NULL, as this means we lost the
selection.
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
https://bugzilla.gnome.org/show_bug.cgi?id=790031
2017-11-29 11:29:30 +01:00
Christophe Fergeau
93f6f253ea
wayland: Remove unused data structure
...
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
https://bugzilla.gnome.org/show_bug.cgi?id=790031
2017-11-29 11:29:29 +01:00
Matthias Clasen
0dfe12fab0
gdk: Add some missing autocleanups
...
GdkMonitor and GdkSeat were missing here.
2017-11-28 15:03:48 -05:00
Rico Tzschichholz
2d797dd816
Fix some parameter name mismatches to make g-ir-scanner happier
2017-11-28 15:24:49 +01:00
Carlos Garnacho
cabfdd5c48
gdkseatdefault: Use TABLET_STYLUS capability for styli/erasers/cursors
...
Those are devices created for drawing tablets, so using the "pointer"
capability is far too generic.
2017-11-27 21:41:25 +01:00
Carlos Garnacho
7decad177c
gdk/wayland: Emit GdkSeat::device-added/removed
...
Those were never sent in this backend...
2017-11-27 19:51:38 +01:00
Matthias Clasen
b8c58f41b6
wayland: Don't provide gsetting if dconf is not available
...
This makes gtk+ fall back to reading ~/.config/gtk-3.0/settings.ini
on systems with Wayland, but without dconf (do those exist?).
https://bugzilla.gnome.org/show_bug.cgi?id=790201
2017-11-26 19:40:28 -05:00
Matthias Clasen
1884558470
wayland: Drop GdkWaylandDeviceManager
...
This object had no functionality left.
2017-11-25 11:04:15 -05:00
Matthias Clasen
05149a391f
Drop GdkDeviceManager entirely
...
Nothing uses it anymore.
2017-11-25 11:04:15 -05:00
Matthias Clasen
7e40fcc344
Drop the ::device-manager property
...
Not used for anything anymore.
2017-11-25 11:04:15 -05:00
Matthias Clasen
bad53bc201
x11: Stop deriving from GdkDeviceManager
...
We can just derive from GObject.
2017-11-25 11:04:15 -05:00
Matthias Clasen
da8bcc7ed9
wayland: Stop deriving from GdkDeviceManager
...
We can just derive from GObject.
2017-11-25 11:04:15 -05:00
Matthias Clasen
01278e591c
win32: Stop deriving from GdkDeviceManager
...
We can just derive from GObject.
2017-11-25 11:04:15 -05:00
Matthias Clasen
1471c64fb2
quartz: Stop deriving from GdkDeviceManager
...
We can just derive from GObject.
2017-11-25 11:04:15 -05:00
Matthias Clasen
fd958939be
Drop the GdkDeviceManager::display property
...
Move this to the backends, and stop deriving
from GdkDeviceManager.
2017-11-25 11:04:15 -05:00
Matthias Clasen
7c33baabd2
Remove the get_client_pointer vfunc
2017-11-25 11:04:15 -05:00
Matthias Clasen
0ec491ea9d
Drop the get_client_pointer vfunc
...
There is no api using this anymore.
2017-11-25 11:04:15 -05:00
Matthias Clasen
b6a634fe38
Drop the list_devices vfunc
...
We no longer have api that uses this.
2017-11-25 11:04:15 -05:00
Matthias Clasen
ecb96257b9
Drop gdk_device_manager_list_devices
...
It is not used and GdkDeviceManager is going away.
2017-11-25 11:04:15 -05:00
Matthias Clasen
30a037c4fe
gdk: Drop devicemanager signals
...
Nobody is emitting them anymore.
2017-11-25 11:04:15 -05:00
Matthias Clasen
efbcb38fdf
wayland: Stop emitting devicemanager signals
...
Nobody is listening to these signals anymore.
2017-11-25 11:04:15 -05:00
Matthias Clasen
c9261f50aa
x11: Stop emitting devicemanager signals
...
Nobody is listening to these anymore, so there
is no point in emitting them.
2017-11-25 11:04:14 -05:00
Matthias Clasen
cd3d2badf0
display: Drop the device_manager for good
...
This is now entirely the backends responsibility.
2017-11-25 11:04:14 -05:00
Matthias Clasen
639d93687f
wayland: Stop using display->device_manager
...
We can keep the device manager in the backend.
2017-11-25 11:04:14 -05:00
Matthias Clasen
95ae688072
quartz: Stop using display->device_manager
...
We can keep the device manager in the backend.
2017-11-25 11:04:14 -05:00
Matthias Clasen
ab0aea900c
win32: Stop using gdk_display_get_device_manager
...
We can keep the devicemanager in the backend.
2017-11-25 11:04:14 -05:00
Matthias Clasen
aae4fafad2
x11: Stop using gdk_display_get_device_manager
...
We can keep the displaymanager in the backend.
2017-11-25 11:04:14 -05:00
Matthias Clasen
6489bc1929
broadway: Remove devicemanager implementation
...
It is not used and not needed anymore.
2017-11-25 11:04:14 -05:00
Matthias Clasen
1023249e31
broadway: Stop using GdkDeviceManager
...
We can use the GdkSeat apis for this.
2017-11-25 11:04:14 -05:00
Matthias Clasen
903959301b
display: Stop using devicemanager internally
...
We can just use the seats to find out about device removals.
2017-11-25 11:04:14 -05:00
Matthias Clasen
1f6fb4e716
Drop GdkDeviceManager APIs
...
No longer used outside of the backends.
2017-11-25 11:04:14 -05:00
Matthias Clasen
a4cd4535dc
Don't mention GdkDeviceManager in docs
...
It is going away.
2017-11-25 11:04:14 -05:00
Matthias Clasen
480ea400f3
Drop support for setting event masks for floating devices
...
These are very rarely needed, and are X11-specific.
If it turns out that somebody needs this, it can come
back as X11-specific functionality.
2017-11-25 11:04:14 -05:00
Matthias Clasen
4c40accbb9
gdk: Move gdk_disable_multidevice tot he X11 backend
...
This api only ever did something for X11, so move
it there. Update the docs and adapt the only caller.
2017-11-25 11:04:14 -05:00
Matthias Clasen
0cfc812a5d
Drop gdk_display_get_device_manager API
...
GdkDeviceManager is being replaced by GdkSeat.
2017-11-25 11:04:14 -05:00
Matthias Clasen
371ea7cbe9
gdk: Remove a leftover GdkScreen
2017-11-25 10:17:19 -05:00
Alexander Larsson
cfb76fedb6
broadway: Roundtrip each update to rate limit redraw
2017-11-23 10:48:29 +01:00
Alexander Larsson
b74959a605
broadway: Add clip node
2017-11-23 10:48:29 +01:00
Alexander Larsson
9e5a22bbe5
broadway: Add opacity node
2017-11-23 10:48:29 +01:00
Alexander Larsson
9b1f6acc2b
broadway: Add shadow node
2017-11-23 10:48:29 +01:00
Alexander Larsson
cbbbf49043
broadway: Add node cache for text
2017-11-23 10:48:29 +01:00
Alexander Larsson
6cc96318c8
broadway: Remove inflate code
...
This is not used anymore
2017-11-23 10:48:29 +01:00
Alexander Larsson
278370c8e5
broadway: Add linear gradient node
2017-11-23 10:48:29 +01:00
Alexander Larsson
f7ff6dbb66
broadway: Add RoundedClip node
2017-11-23 10:48:29 +01:00
Alexander Larsson
0083c084e4
broadway: Add inset shadow
2017-11-23 10:48:29 +01:00
Alexander Larsson
35ceb8e626
broadway: Add outset shadow node
2017-11-23 10:48:29 +01:00
Alexander Larsson
0ad523038c
broadway: Fix border node positioning
2017-11-23 10:48:29 +01:00
Alexander Larsson
cf03229a99
broadway: Add border node
2017-11-23 10:48:29 +01:00
Alexander Larsson
5a8d204c83
broadway: Clean up node parser
2017-11-23 10:48:29 +01:00
Alexander Larsson
0b38ab339e
broadway: Add color nodes
2017-11-23 10:48:29 +01:00
Alexander Larsson
cfdb3952c6
broadway: Fix input events
2017-11-23 10:48:29 +01:00
Alexander Larsson
97c0d112af
broadway: Don't swap node trees until all images are loaded
2017-11-23 10:48:29 +01:00
Alexander Larsson
fd0285de09
broadway: Rewrite textures in nodes to global
2017-11-23 10:48:29 +01:00
Alexander Larsson
54e7a8f0c0
broadway: Remove remaining unused window_update code
2017-11-23 10:48:29 +01:00
Alexander Larsson
f7d8ee041b
broadway: Initial version of using actual render nodes
2017-11-23 10:48:29 +01:00
Alexander Larsson
cc7423855b
broadway: Use textures to configure window contents
...
Instead of using the old buffer code, just use textures to define the
window contents.
2017-11-23 10:46:47 +01:00
Alexander Larsson
a4636a06a7
broadway: Actually upload textures to client
2017-11-23 10:46:47 +01:00
Alexander Larsson
ef79621c44
broadway: Introduce global ids for the textures
2017-11-23 10:46:47 +01:00
Alexander Larsson
48d587d255
broadway: Add support for uploading textures to daemon
2017-11-23 10:46:47 +01:00
Alexander Larsson
f31d7e1f91
broadway: Support fd passing in protocol
...
This will be used to pass buffers
2017-11-23 10:46:47 +01:00
Alexander Larsson
43a02da07b
broadwayd: Read using socket API
...
This changes nothing, but it allows us to later recieve
unix messages and thus fd passing
2017-11-23 10:46:47 +01:00
Alexander Larsson
620d3cf402
broadway: Only support (non-abstract) sockets
...
We want to use fd passing, so drop tcp
2017-11-23 10:46:47 +01:00
Daniel Boles
98c1f16002
doc: Replace uses of #NULL with %NULL
2017-11-22 20:58:28 +00:00
Bastien Nocera
ef031d87be
frame-clock: Fix typo in API documentation
2017-11-22 15:24:19 +01:00
Chun-wei Fan
e076cc7b1f
GDK/Win32: Fix build after GDK Root Window and DND changes
...
Ensure that things build again, and instead use the Windows API to
acquire the screen dimensions (note: this may need to be scaled for
HiDPI, but since I do not own a WinTab-based device, I will need to
keep the dimensions as-is for now).
Also update the gdkdnd-win32.c code to use formats rather than targets.
https://bugzilla.gnome.org/show_bug.cgi?id=773299
2017-11-22 22:18:28 +08:00
Benjamin Otte
c82378ea57
gdk: Add GType support to GdkContentFormats
...
This is not used by anything yet, but add it now, so people looking at
this new code can make sense of it.
Plus, the documentation mentions it, so better have the docs make sense.
It will be used once we add support for conversions to GDK and allow
doing cipboard/dnd by GValue.
2017-11-20 23:22:28 +01:00
Benjamin Otte
1a70ca75e8
gdk: Sanitize GdkContentFormats API
...
Make sure the API reflects the idea that GdkContentFormats is a set
containing mime types. In particular, treat the object itself as a
plural - it's named content format`S' after all - and therefor use
the correct verb form.
Also make GdkContentFormats keep an array instead of a list, now that
it's immutable.
2017-11-20 23:15:11 +01:00
Benjamin Otte
fc2ce5a925
gdk: Make GdkContentFormats immutable
2017-11-20 23:13:10 +01:00
Benjamin Otte
1a482ad276
gdk: Add GdkContentFormatsBuilder
...
Yes, the name is too long.
No, I couldn't think of a shorter one.
2017-11-20 23:12:48 +01:00
Benjamin Otte
d6a209816b
gdkdnd: Make GdkDragContext->formats a GdkContentFormats
...
Instead of it being a GList of GdkAtoms.
2017-11-20 23:12:33 +01:00
Benjamin Otte
9a6ec4e959
contentformats: Rename GtkTargetList
...
It's now called GdkContentsFormat
2017-11-20 23:12:33 +01:00
Benjamin Otte
0638bbb5d5
gdk: Move GtkTargetList to GDK
...
It's gonna be renamed next, so put it in the right source file already.
For now retain the old name to keep the diff small.
2017-11-20 23:12:33 +01:00
Matthias Clasen
315db6d505
wayland: Intern signal names
2017-11-17 23:22:02 -05:00
Matthias Clasen
4dc4db56dc
wayland: Intern settings keys
2017-11-17 22:47:49 -05:00
Matthias Clasen
3b06ae5072
gdk: Intern signal names
...
We were forgetting this in a few places.
2017-11-17 22:47:26 -05:00
Matthias Clasen
a129053ed9
gdk: Use G_PARAM_SPEC_STATIC_STRINGS throughout
...
This avoids some string copies at startup.
2017-11-17 21:38:08 -05:00
Matthias Clasen
c2f6208ce5
Add private api for setting cursor theme
...
This is implemented in multiple gdk backends,
and we can avoid and ugly ifdef cascade in gtk
by adding a vfunc for this.
2017-11-17 17:42:12 -05:00
Matthias Clasen
2d591cde78
Include gdk-private.h
...
This gives us access to private gdk api.
2017-11-17 16:34:04 -05:00
Matthias Clasen
1ec93bdda6
gdk: Move code around
...
Move the gdk_display functions to gdkdisplay.c.
They are misplaced in gdkevents.c.
2017-11-17 16:22:21 -05:00
Matthias Clasen
dbb18ad5d8
gdk: Add a private method to get a server timestamp
...
This is needed in the clipboard code. We don't make
it public, since that code is destined to eventually
live in gdk anyway.
2017-11-17 15:39:08 -05:00