Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-05-03 | Fix mismatched types in ternary expressions | David Robillard | 1 | -5/+6 | |
2023-05-03 | Fix implicit sign conversions | David Robillard | 1 | -3/+3 | |
2023-02-18 | Use XSetWMNormalHints instead of XSetNormalHints | sjaehn | 1 | -1/+1 | |
2023-02-15 | Fix crash on views with no title set | David Robillard | 1 | -9/+11 | |
2023-02-10 | Factor out macros | David Robillard | 1 | -8/+1 | |
2023-01-14 | Add general string hint interface | David Robillard | 1 | -10/+20 | |
This replaces the window title and class name APIs with a more general one that can be easily extended to other things, like icon names, more detailed application hints, and so on. | |||||
2023-01-11 | Guard against required hints explicitly being set to PUGL_DONT_CARE | David Robillard | 1 | -0/+5 | |
2023-01-11 | Clean up puglRealize() implementations | David Robillard | 1 | -10/+4 | |
2023-01-11 | X11: Fix puglPostRedisplay() outside of event handlers | David Robillard | 1 | -2/+4 | |
2023-01-11 | X11: Make puglSendEvent() gracefully handle unrealized views | David Robillard | 1 | -0/+3 | |
2023-01-11 | Reduce duplicated code | David Robillard | 1 | -11/+1 | |
2023-01-11 | X11: Fix positioning of top-level windows with decorations | David Robillard | 1 | -8/+65 | |
2023-01-11 | Remove cached frame from view | David Robillard | 1 | -41/+89 | |
This was just a source of ambiguity and bugs, since it represented different things at different times and could become stale. Redundant data is always trouble, so eliminate it, leaving just two positions/sizes: the defaults (used when the view is not yet realized), and the last configuration. | |||||
2023-01-11 | Fix checks for invalid view positions | David Robillard | 1 | -1/+1 | |
2023-01-10 | Add PUGL_CURSOR_ALL_SCROLL | David Robillard | 1 | -0/+1 | |
2023-01-10 | Fix inconsistent naming convention | David Robillard | 1 | -5/+5 | |
2023-01-08 | Remove branch clone | David Robillard | 1 | -2/+0 | |
2023-01-08 | X11: Add support for _NET_WM_PING protocol | David Robillard | 1 | -14/+53 | |
This is mainly used to allow the window manager to close locked or otherwise misbehaving windows. The PID and hostname properties are both required to properly support this, but may also be used for other things. | |||||
2023-01-08 | Add support for raising windows | David Robillard | 1 | -2/+13 | |
2023-01-07 | Replace map/unmap events with more expressive configure events | David Robillard | 1 | -17/+21 | |
2023-01-07 | Add support for special view types and styles | David Robillard | 1 | -51/+185 | |
2023-01-07 | Support closing views by sending a close event | David Robillard | 1 | -4/+26 | |
2023-01-07 | Rename create/destroy events to realize/unrealize | David Robillard | 1 | -4/+3 | |
As evidence that this was confusing, the documentation for these was an outright lie, and I've burned quite a bit of time in the past few days trying to rework things based around that flawed understanding. These names make it clear what these events actually are. If we need actual create/destroy events with a broader scope, they'll have to be added, but I suspect those aren't actually useful anyway. | |||||
2023-01-07 | Replace visible flag with a more descriptive view "stage" | David Robillard | 1 | -4/+4 | |
2023-01-04 | Add puglUnrealize() | David Robillard | 1 | -16/+50 | |
2023-01-02 | X11: Factor out getCurrentConfiguration | David Robillard | 1 | -11/+18 | |
2023-01-02 | Factor out common realize checks and initialization | David Robillard | 1 | -14/+4 | |
2023-01-02 | Fix PUGL_NUM_CURSORS | David Robillard | 1 | -3/+1 | |
2022-12-27 | Fix inconsistent initial window positioning across platforms | David Robillard | 1 | -1/+1 | |
2022-12-27 | Set transient parent when views are realized if necessary | David Robillard | 1 | -1/+1 | |
2022-12-27 | Fail to set transient parent of views with a parent window | David Robillard | 1 | -0/+4 | |
2022-12-24 | Fix weird/inconsistent control flow in puglSetSize() | David Robillard | 1 | -3/+2 | |
I'm not really sure about directly updating the frame like this - or whether these fields should even exist in the first place (it's questionable whether the view is "really" the new size until the configure process is complete) - but regardless, the same pattern should probably be used for both size and position. "Probably", because touching anything like this tends to break some situation or another somewhere, but such is life. | |||||
2022-12-24 | Add diagonal cursors | falkTX | 1 | -2/+4 | |
2022-10-07 | Use uppercase integer literal suffixes | David Robillard | 1 | -10/+10 | |
2022-07-16 | Fix missing field initializers when building as C++ | falkTX | 1 | -3/+3 | |
2022-06-17 | Call XrmInitialize() | David Robillard | 1 | -0/+1 | |
This must be called before any other Xrm functions are used. | |||||
2022-06-08 | Use consistent terminology for native views | David Robillard | 1 | -1/+1 | |
On MacOS in particular, views and windows are entirely different concepts, so confusing them... confuses things. This was the last holdover in the API that used the old "native window". | |||||
2022-06-08 | Separate platform.h from internal.h | David Robillard | 1 | -0/+1 | |
This makes the internal header structure match the "kinds" of definition inside Pugl: common implementations of public API, things available internally to platform implementations, and things the platform must define. | |||||
2022-06-08 | Separate private and public function implementations | David Robillard | 1 | -1/+1 | |
2022-06-08 | Fix potential null pointer dereference | David Robillard | 1 | -5/+5 | |
According to clang-tidy anyway, I'm not seeing it. | |||||
2022-06-07 | Remove unnecessary forward-compatibility code | David Robillard | 1 | -4/+0 | |
2022-06-07 | X11: Simplify dispatchX11Events() | David Robillard | 1 | -31/+44 | |
2022-06-07 | X11: Flush before returning from puglRealize() | David Robillard | 1 | -0/+8 | |
This avoids bugs in plugins, because otherwise it's possible that size hints are not available when the host embeds the UI. | |||||
2022-06-03 | X11: Fix crash when input context is unavailable due to locales | Pace Willisson | 1 | -11/+17 | |
Calling X*ICFocus on NULL segfaults. This can happen if XCreateIC failed, for example due to missing locales on minimal Docker images. | |||||
2022-05-28 | Omit cursor_names if XCursor is not available | David Robillard | 1 | -0/+2 | |
This avoids a Wunused-const-variable warning with GCC. | |||||
2022-05-23 | Add rich clipboard support | David Robillard | 1 | -84/+286 | |
This implements a more powerful protocol for working with clipboards, which supports datatype negotiation, and fixes various issues by mapping more directly to how things work on X11. | |||||
2022-05-21 | Add puglGetScaleFactor() | David Robillard | 1 | -1/+36 | |
2022-05-21 | Add puglSetPosition() and puglSetSize() | David Robillard | 1 | -5/+48 | |
These are redundant with puglSetFrame in a sense, but allow setting the size of a view without the position, or vice-versa. This API also maps more nicely to Wayland, where applications can not position themselves (but can resize). | |||||
2022-05-21 | Use consistent integer types for view positions and sizes | David Robillard | 1 | -25/+25 | |
Actual window sizes and positions fit easily in a 16-bit integer. So, we use that in "representation contexts" like events. This makes structures smaller, and allows the values to be converted to float, double, or integer without casting (since any int16_t or uint16_t value can fit in them without loss). Setter APIs use native integers for convenience, to avoid casting hassles when doing arithmetic. Ranges are checked at runtime. | |||||
2022-05-21 | Add a uniform API for setting size hints | David Robillard | 1 | -49/+42 | |
This collapses many functions into one, which makes the API more easily extensible and reduces code size. |