labwc/include
John Lindgren ef766d16f0 common: flesh out enum lab_edge and prefer over wlr_edges/wlr_direction
I like the new common/edge.h. I don't like how inconsistently we use it.

Current situation:

 - enum wlr_edges and wlr_direction are designed to be used as bitset,
   and are defined compatibly

 - enum lab_edge is *also* designed to be used as bitset, but
   incompatible with the others (LEFT/RIGHT come before UP/DOWN)

 - we use an inconsistent mix of all three *AND* uint32_t (usually with
   the WLR_EDGE constants rather than the LAB_EDGE constants), and
   convert between them on an ad-hoc basis, sometimes implicitly

Let's clean this up:

 - reorder enum lab_edge to be compatible with the two wlr enums
   (check this by static_assert)

 - use TOP/BOTTOM naming rather than UP/DOWN (matches wlr_edges)

 - add constants for the remaining possible combinations of the 4 edges

 - use lab_edge for all internal edge/direction fields, consistently

 - add lab_edge_is_cardinal() as a sanity check before casting to
   enum wlr_direction, and then eliminate all of direction.c/h

Instead of "enum wlr_edges direction", we now have
"enum lab_edge direction" which is not that much better. At least we
are now clear that we're overloading one enum with two meanings.
2025-08-26 20:36:43 -04:00
..
common common: flesh out enum lab_edge and prefer over wlr_edges/wlr_direction 2025-08-26 20:36:43 -04:00
config ssd: allow hiding titlebar on maximization 2025-08-24 12:41:41 +01:00
foreign-toplevel foreign-toplevel: simplify and fully separate ext-foreign/wlr-foreign 2025-08-07 23:27:04 -04:00
img img: remove padding_x from lab_img_render() 2025-01-25 07:27:21 +09:00
input common: flesh out enum lab_edge and prefer over wlr_edges/wlr_direction 2025-08-26 20:36:43 -04:00
menu menu: dynamically generate top-level pipemenus 2025-03-10 19:42:03 +00:00
protocols Fix typos 2025-01-09 06:59:57 +00:00
action-prompt-codes.h labnag: return special value on timeout 2025-08-12 03:10:14 +09:00
action.h action: add support for <prompt> in 'If' actions 2025-08-09 10:44:03 +01:00
buffer.h buffer: add buffer_create_from_wlr_buffer() 2025-06-07 02:12:56 +09:00
debug.h includes: identifier consistency in include guards 2023-05-13 22:29:21 +01:00
decorations.h project wide: clean up event listeners on shutdown 2025-03-13 17:33:51 +09:00
desktop-entry.h Move "#if HAVE_LIBSFDO" inside desktop-entry.h 2025-01-25 07:27:21 +09:00
dnd.h chase (dnd): refactor to use wlroot's scene_drag_icon 2023-12-03 18:24:26 +00:00
edges.h common: flesh out enum lab_edge and prefer over wlr_edges/wlr_direction 2025-08-26 20:36:43 -04:00
idle.h Add support for ext_idle_notify_v1.. 2023-07-09 08:26:33 +01:00
labwc.h common: flesh out enum lab_edge and prefer over wlr_edges/wlr_direction 2025-08-26 20:36:43 -04:00
layers.h layers: don't send configure events in unmap handler 2025-06-27 22:03:37 +01:00
magnifier.h magnifier: rename some functions 2025-02-23 14:17:31 +09:00
meson.build Make xwayland support optional 2020-12-30 10:29:21 +00:00
node.h node: add node_scaled_scene_buffer_from_node 2024-12-23 18:11:32 +09:00
osd.h include: move a few types from labwc.h to better locations 2025-07-30 21:04:31 +01:00
output-state.h output: remove ported wlr_output functions 2024-10-29 21:39:19 +00:00
output-virtual.h Add optional headless fallback output 2024-03-08 13:54:13 +01:00
output.h include: add config/types.h 2025-08-21 16:55:25 +09:00
overlay.h include: add config/types.h 2025-08-21 16:55:25 +09:00
placement.h view: honor automatic placement when adjusting floating geometry 2023-12-30 16:50:09 +00:00
regions.h overlay: add snap-to-edge overlay (PR #1652) 2024-04-05 04:35:31 +02:00
resistance.h interactive: allow moving horizontally/vertically maximized window 2024-08-26 20:30:22 +02:00
resize-indicator.h include: add config/types.h 2025-08-21 16:55:25 +09:00
resize-outlines.h Implement <resize><drawContents> 2024-06-15 21:17:01 +01:00
session-lock.h session-lock: restore focused view on unlock 2024-07-07 15:48:32 +09:00
snap-constraints.h common: flesh out enum lab_edge and prefer over wlr_edges/wlr_direction 2025-08-26 20:36:43 -04:00
snap.h include: add config/types.h 2025-08-21 16:55:25 +09:00
ssd-internal.h include: add config/types.h 2025-08-21 16:55:25 +09:00
ssd.h common: flesh out enum lab_edge and prefer over wlr_edges/wlr_direction 2025-08-26 20:36:43 -04:00
theme.h theme: support basic vertical titlebar gradients 2025-06-18 15:48:24 -04:00
view-impl-common.h xwayland: notify correct window stacking order to xwayland 2025-04-01 16:48:40 +09:00
view.h common: flesh out enum lab_edge and prefer over wlr_edges/wlr_direction 2025-08-26 20:36:43 -04:00
window-rules.h scaled-icon-buffer: add icon priority 2025-06-27 14:05:42 +02:00
workspaces.h ext-workspace protocol integration 2024-12-23 04:14:53 +01:00
xwayland.h xwayland: handle rare case of focus_in event occurring before map 2025-06-12 20:33:25 +01:00