summaryrefslogtreecommitdiff
path: root/gdk/x11/gdkwindow-x11.c
Commit message (Collapse)AuthorAgeFilesLines
* GdkWindow -> GdkSurface: File renamesAlexander Larsson2018-03-201-4948/+0
| | | | | | | | | | | | | Rename all *window.[ch] source files. This is an automatic operation, done by the following commands: for i in $(git ls-files gdk | grep window); do git mv $i $(echo $i | sed s/window/surface/); git sed -f g $(basename $i) $(basename $i | sed s/window/surface/) ; done git checkout NEWS* po-properties po
* GdkWindow -> GdkSurface initial type renameAlexander Larsson2018-03-201-758/+758
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This renames the GdkWindow class and related classes (impl, backend subclasses) to surface. Additionally it renames related types: GdkWindowAttr, GdkWindowPaint, GdkWindowWindowClass, GdkWindowType, GdkWindowTypeHint, GdkWindowHints, GdkWindowState, GdkWindowEdge This is an automatic conversion using the below commands: git sed -f g GdkWindowWindowClass GdkSurfaceSurfaceClass git sed -f g GdkWindow GdkSurface git sed -f g "gdk_window\([ _\(\),;]\|$\)" "gdk_surface\1" # Avoid hitting gdk_windowing git sed -f g "GDK_WINDOW\([ _\(]\|$\)" "GDK_SURFACE\1" # Avoid hitting GDK_WINDOWING git sed "GDK_\([A-Z]*\)IS_WINDOW\([_ (]\|$\)" "GDK_\1IS_SURFACE\2" git sed GDK_TYPE_WINDOW GDK_TYPE_SURFACE git sed -f g GdkPointerWindowInfo GdkPointerSurfaceInfo git sed -f g "BROADWAY_WINDOW" "BROADWAY_SURFACE" git sed -f g "broadway_window" "broadway_surface" git sed -f g "BroadwayWindow" "BroadwaySurface" git sed -f g "WAYLAND_WINDOW" "WAYLAND_SURFACE" git sed -f g "wayland_window" "wayland_surface" git sed -f g "WaylandWindow" "WaylandSurface" git sed -f g "X11_WINDOW" "X11_SURFACE" git sed -f g "x11_window" "x11_surface" git sed -f g "X11Window" "X11Surface" git sed -f g "WIN32_WINDOW" "WIN32_SURFACE" git sed -f g "win32_window" "win32_surface" git sed -f g "Win32Window" "Win32Surface" git sed -f g "QUARTZ_WINDOW" "QUARTZ_SURFACE" git sed -f g "quartz_window" "quartz_surface" git sed -f g "QuartzWindow" "QuartzSurface" git checkout NEWS* po-properties
* gdk: Drop gdk_x11_window_set_frame_extentsMatthias Clasen2018-02-061-23/+0
| | | | | This function is unused and has been deprecated for a long time.
* The big versioning cleanupMatthias Clasen2018-02-061-18/+0
| | | | | | | Remove all the old 2.x and 3.x version annotations. GTK+ 4 is a new start, and from the perspective of a GTK+ 4 developer all these APIs have been around since the beginning.
* Make gdk logging per-displayMatthias Clasen2018-01-141-3/+1
| | | | | | | As far as possible, use per-display debug flags. This will minimize the debug spew that we get from the inspector if it is running on a separate display.
* x11: Fix wrong condition when unsetting transient-forTimm Bäder2017-12-211-1/+1
| | | | | Setting a new transient-for parent is only possible if the given parent window is valid, not when it is NULL or valid.
* x11: Guard against NULL windowTimm Bäder2017-12-191-1/+1
| | | | | Otherwise, the NULL parent window causes a crash in the GDK_WINDOW_IS_DESTROYED call.
* x11: Avoid crash in fallback move emulationMatthias Clasen2017-12-151-1/+7
| | | | | | | | Quietly do nothing when there is already an ongoing operation. This matches the behavior of the ewmh code, and is much nicer than a crash. https://bugzilla.gnome.org/show_bug.cgi?id=789054
* Drop gdk_atom_internMatthias Clasen2017-12-131-28/+28
| | | | | Atoms are just interned strings now, so we can just use g_intern_string.
* gdk: Remove propertiesBenjamin Otte2017-12-141-3/+0
| | | | | | They are not used anymore. Gone with them are PropertyNotify events.
* x11: Make unsetting transient-for workBenjamin Otte2017-12-141-2/+10
| | | | | ... and just unset it from GtkWindow instead of fiddling with properties.
* gdk: Remove GdkEventType argument from GdkEvent unionCarlos Garnacho2017-12-141-1/+1
| | | | | | It won't stand true anymore that the GdkEventType argument is the first field of the GdkEvent* structs. All callers have been updated to use event->any.type instead.
* gdk: Remove ability to own a selectionBenjamin Otte2017-12-131-2/+0
| | | | | With this, the GDK_EVENT_SELECTION_REQUEST and GDK_EVENT_SELECTION_CLEAR and the associated GtkWidget signals are gone, too.
* x11: Constify XEvent usageBenjamin Otte2017-12-131-4/+4
|
* Remove GdkDragProtocol from the apiMatthias Clasen2017-12-031-27/+0
| | | | | ...together with apis that return it. We were not using this information in GTK+ at all, so no need to provide it.
* x11: Stop using GdkScreen altogetherMatthias Clasen2017-11-171-3/+2
| | | | | Derive GdkX11Screen directly from GObject, and remove the last remaining uses of GdkScreen.
* x11: Stop using GdkScreen in apiMatthias Clasen2017-11-171-1/+1
| | | | | This type is going away, so switch to using GdkX11Screen everywhere.
* x11: Add gdk_x11_display_set_program_classMatthias Clasen2017-11-161-1/+1
| | | | | The program class is a very X-specific concept. There should be x11-backend api to deal with it.
* gdk: Replace GDK_NONE with NULLBenjamin Otte2017-11-151-14/+14
|
* x11: Remove mentions of GDK_WINDOW_ROOTMatthias Clasen2017-11-131-2/+1
| | | | | This backend never creates a window of this type, so no need to check for it anymore.
* x11: Stop creating a root windowMatthias Clasen2017-11-131-44/+0
| | | | We no longer need it.
* x11: Reduce uses of the root windowMatthias Clasen2017-11-091-14/+12
| | | | | | Avoid calling the get_root_window api that returns a GdkWindow in some places, and instead use the X root window directly.
* x11: Correctly set iconsBenjamin Otte2017-11-071-1/+7
| | | | | X11 obviously doesn't use 4 bytes for a 4 bytes pixel. Rather, it uses unsigned long, which happens to be 8 bytes these days.
* x11: Stop using gdk_display_get_root_windowMatthias Clasen2017-11-051-5/+3
| | | | Use the backend api for this.
* x11: Handle parent being NULL when creating windowsMatthias Clasen2017-11-051-8/+24
| | | | | We want to make toplevels have a NULL parent, this gets us ready for it.
* window: Make icons GdkTexturesBenjamin Otte2017-11-051-60/+31
| | | | Cairo surfaces are bad, mkay?
* gdk: Remove GdkWindow.set_device_cursor() vfuncBenjamin Otte2017-11-021-30/+0
| | | | | That one calls through to GdkDevice.set_window_cursor(), so let's just use that one.
* x11: Stop using gdk_screen_get_displayMatthias Clasen2017-11-011-1/+1
| | | | Never necessary, we can just use the field directly.
* x11: Stop using gdk_display_get_default_screenMatthias Clasen2017-11-011-1/+1
| | | | | There's no point in using this api here, we can directly get the screen member from the GdkX11Display struct.
* Change the fullscreen-on-monitor apiMatthias Clasen2017-11-011-7/+5
| | | | | Use GdkMonitor here, since that is our primary monitor object now, and GdkScreen is going away.
* Drop GdkVisualMatthias Clasen2017-10-311-1/+1
| | | | | This type was unused except for serving as a parent for GdkX11Visual. Just move the fields to that type.
* Port to gdk_display_get_root_windowMatthias Clasen2017-10-311-1/+1
| | | | This is the replacement for the GdkScreen api of the same name.
* Drop gdk_window_get_screenMatthias Clasen2017-10-311-4/+3
| | | | | This includes removing the GdkScreen argument from the create_window_impl display vfunc.
* GtkWindow/GdkWindow: Finish converting icons to surfacesAlexander Larsson2017-10-231-54/+61
| | | | There were some parts left, for instance gdk_window_set_icon_list.
* build: Enable -Wswitch-enum and -Wswitch-defaultBenjamin Otte2017-10-061-1/+11
| | | | | | | | | | | | | | | | | | | This patch makes that work using 1 of 2 options: 1. Add all missing enums to the switch statement or 2. Cast the switch argument to a uint to avoid having to do that (mostly for GdkEventType). I even found a bug while doing that: clearing a GtkImage with a surface did not notify thae surface property. The reason for enabling this flag even though it is tedious at times is that it is very useful when adding values to an enum, because it makes GTK immediately warn about all the switch statements where this enum is relevant. And I expect changes to enums to be frequent during the GTK4 development cycle.
* window: Improve detection of edge constraint supportGeorges Basile Stavracas Neto2017-09-171-0/+8
| | | | | | | | | | | | Instead of relying on special values of edge constraints, this patch adds an internal-only gdk_window_supports_edge_constraints() function that by default returns FALSE, and is implemented by GdkWindowWayland and GdkWindowX11. This way, we can properly detect server-side support for this feature and adapt accordingly. https://bugzilla.gnome.org/show_bug.cgi?id=783669
* Drop root windows from some internal apisMatthias Clasen2017-08-111-1/+1
| | | | | _gdk_device_query_state was needlessly shuffling root windows around.
* GdkWindow: Default to unfocusedTimm Bäder2017-07-191-1/+1
| | | | | | | | Don't set the have_focused field of the window's toplevel to TRUE by default and don't set the FOCUSED state in gdk_window_map. This a means toplevel window's state is what the WM expects, and the FOCUSED state will be set anyway when we map the window and receive a _NET_WM_STATE message.
* Remove the gdk backend API tooMatthias Clasen2017-05-021-43/+0
| | | | The GTK+ level API for this is already gone.
* gdk: Make more private functions staticEmmanuele Bassi2017-04-281-1/+1
| | | | These symbols are not exported and are local to their compilation unit.
* gdk: Remove testing functionsBenjamin Otte2017-01-081-3/+0
| | | | They were unused and unimplemented.
* gdk: Drop gdk_window_reparentwip/alexl/simplify-gdkwindowAlexander Larsson2016-12-161-74/+0
| | | | | | We're not currently using this, and dropping it allows us to loose a bunch of code which leads us towards the goal of having GdkWindow only for toplevels (and reparenting makes not sense for toplevels).
* gdk: Drop support for native (and thus foreign) subwindowsAlexander Larsson2016-12-161-237/+48
| | | | | | We can't really support these on e.g. wayland anyway, and we're trying to get rid of subwindow at totally in the long term, so lets drop this. It allows us to drop a lot of complexity.
* x11: Don't make random windows nativeBenjamin Otte2016-12-091-18/+4
| | | | | | | | Instead, complain if somebody calls gdk_x11_window_get_xid() on a non-native window. We cannot make random windows native anymore because there's no GSK renderer associated with them, so we cannot draw them.
* gdk: Large GL refactoringBenjamin Otte2016-12-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No visible changes as GL rendering is disabled at the moment. What was done: 1. Move window->invalidate_for_new_frame to glcontext->begin_frame This moves the code to where it is used (the GLContext) and prepares it for being called where it is used when actually beginning to draw the frame. 2. Get rid of buffer-age usage We want to let the application render directly to the backbuffer. Because of that, we cannot make any assumptions about the contents the application renders outside the clip area. In particular GskGLRenderer renders random stuff there but not actual contents. 3. Pass the actual GL context Previously, we passed the shared context to end_frame, now we pass the actual GL context that the application uses for rendering. This is so that the vfuncs could prepare the actual contexts for rendering (they don't currently). 4. Simplify the code The previous code set up the final drawing method in begin_frame. Instead, we now just ensure the clip area is something we can render and decide on the actual method in end_frame. This is both more robust (we can change the clip area in between if we want to) and less code.
* gdk: Make GdkDrawingContext not per-backendBenjamin Otte2016-11-301-12/+0
| | | | | No backend is using it, and we can put the backend-specific drawing code into GdkGLContext.
* API: Remove gdk_window_process_all_updates()Benjamin Otte2016-11-231-15/+0
| | | | It's completely unused since we have a frame clock.
* gdk: Make each backend have a custom GdkDrawingContext subclassBenjamin Otte2016-11-201-0/+12
|
* gdk: Remove attributes_mask from gdk_window_new()Benjamin Otte2016-11-071-2/+1
| | | | | The only remaining values were always treated as 0, so we just hardcode them to 0.
* API: gdk: Add gdk_window_new_temp()Benjamin Otte2016-11-071-17/+1
| | | | Your one stop shop for all those nasty hidden input-only windows.