aboutsummaryrefslogtreecommitdiffstats
path: root/src/x11.c
AgeCommit message (Collapse)AuthorFilesLines
2021-05-14Remove redundant conditionalRichard Gill1-5/+1
2021-05-08Send unmap/map events when the view is minimized/restoredDavid Robillard1-8/+92
X11 Window managers set WM_STATE to notify about minimization, often without sending core X visibility events (which seems odd to me, but that's what Gnome does anyway). So, implement this protocol and send map/unmap events to the view, and adjust the Windows implementation to do the same for consistency across all platforms.
2021-05-08X11: Always send an initial configure before mapDavid Robillard1-1/+1
I think the conditional here was because this is typical when the view is embedded, but window manager behaviour is all over the place and this is something we want to always guarantee.
2021-05-08X11: Factor out translateClientMessage()David Robillard1-12/+21
2021-05-06Clean up X11 implementationDavid Robillard1-152/+113
2021-05-06Add test for copy/pasteDavid Robillard1-5/+4
2021-05-03Fix questionable event castsDavid Robillard1-4/+8
I don't think there is any UB actually happening here, but some of these were casting to a pointer of a larger type, which is problematic. Unfortunately, it makes for quite a bit of tedious verbosity, but I don't see a decent way around that in C99.
2021-01-28Fix size hints on X11David Robillard1-3/+6
2021-01-28Fix puglSetMaxSize() on X11David Robillard1-2/+2
2021-01-25Fix warnings when compiling for X11 as C++David Robillard1-2/+6
2021-01-02Avoid "else" after "return"David Robillard1-3/+5
2021-01-02Simplify clang-format configuration and format all codeDavid Robillard1-974/+1009
2020-11-26Remove file documentationDavid Robillard1-5/+0
These will not be used in the Sphinx documentation, and most were self-explanatory and only there to make the Doxygen index look nice anyway. Where there was actually useful information, it has been preserved as regular comments.
2020-11-25Rename puglShowWindow and puglHideWindow to puglShow an puglHideDavid Robillard1-2/+2
These names were confusing because a view is not necessarily a window. Since there's no room for ambiguity here, simply drop the superfluous word.
2020-11-22X11: Fix position of child windows and clean up window creation codeDavid Robillard1-50/+68
This fixes an issue where the default frame position would be set based on the screen size for child windows. This went unnoticed so far because most plugins, like pugl_embed_demo, explicitly set the frame and so avoided this code path. Also generally tidy up puglRealize() along the way to make it a bit more readable.
2020-11-10Fix asan errors on X11David Robillard1-12/+10
Fun with union punning. The different sizes mean that stuff on the stack could be copied to the destination event. I don't think this would cause a concrete issue (the contents of the event past the expose are irrelevant) but asan quite reasonably has a problem with it.
2020-10-30Remove logging APIDavid Robillard1-9/+5
This was missing from the C++ bindings and barely used anyway, so just remove it for now in the interests of simplicity and finalizing a stable API. The information previously logged in the X11 GL backend is now available programatically, so applications can print the same information portably if they like.
2020-10-30Move implementation source files to a conventional src directoryDavid Robillard1-0/+1349
I think this attempt to be optionally header-only was misguided, particularly installing source code to the system include path. Typically anyone vendoring code just includes the repository and builds from there anyway. This commit moves all the implementation code to a typical src directory (Don't Be Weird). I still think there is some value in simple "inline" deployment, but that would be better achieved another way, like producing a single-file amalgamation that builds anywhere, ala sqlite.