Commit graph

42 commits

Author SHA1 Message Date
Johan Malm
d609c9e3f9 Support window-rules
Two types of window rules are supported, actions and properties. They are
defined as shown below.

    <windowRules>

      <!-- Action -->
      <windowRule identifier="some-application">
        <action name="Maximize"/>
      </windowRule>

      <!-- Property -->
      <windowRule identifier="foo*" serverDecoration="yes|no"/>

    </windowRules>

Rules are applied if windows match the criteria defined by the
'identifier' attribute which relates to app_id for native Wayland windows
and WM_CLASS for XWayland clients.

Matching against patterns with '*' (wildcard) and '?' (joker) is
supported.

Add 'serverDecoration' property.
2023-05-04 22:09:55 +01:00
Johan Malm
d4288415c9 Support ext-session-lock protocol 2023-04-02 23:09:38 +01:00
Consolatis
082dc79555 Decorations: prepare for the KDE protocol implementation 2023-03-25 07:24:40 +00:00
Johan Malm
b8ec5a3e2e view: add move_to_front to struct view_impl
...to increase xwayland and xdg-shell encapsulation and to avoid passing a
function pointer as an argument in `xwayland_move_sub_views_to_front()`
which is inconsistent with labwc design patterns.

Rename view-impl.c to view-impl-common.c

Move function declarations that are common to view-implementations from
view.h into view-impl-common.h
2023-02-24 20:42:01 +00:00
Consolatis
43fe138385 SnapToRegion: Add config parser 2023-01-11 18:52:23 +01:00
Consolatis
deb658b672 cursor: Restore drag icon after the move to scene-graph
Also move everything DnD related to src/dnd.c
2022-10-17 21:22:12 +01:00
Consolatis
d557623c34 workspaces: Add workspaces.{c,h} 2022-06-15 22:26:21 +02:00
bi4k8
4c3bae0794 implement touch support
this is mostly plumbing; the most interesting logic is in touch_get_coords
2022-03-21 21:06:41 +00:00
Johan Malm
30298228e3 Rename node-descriptor.c to node.c
...in anticipation of adding helpers like node_view_from_node()
2022-03-02 21:07:04 +00:00
Johan Malm
bd9ac3478a Remove src/damage.c 2022-03-01 20:54:52 +00:00
Johan Malm
2891ff245e Add node-descriptor for wlr_scene_nodes
Support identification of wlr_scene_node role to enable simplification
of codebase including the avoidance of iterating over lists of
layer-surface, menuitems, and so on.

Use node-descriptors for xdg toplevels and popups
2022-02-26 22:35:51 +00:00
Consolatis
5862b65f89 Convert SSD to scene nodes 2022-02-23 21:47:01 +00:00
Johan Malm
5934ed6682 Add debug_dump_scene()
Dump view_tree and osd_tree on calling debug-action. Example bind:

<keybind key="A-F12">
  <action name="Debug"></action>
</keybind>
2022-02-23 21:47:01 +00:00
Johan Malm
532656ad5b Use wlroots scene-graph API
Move xdg-shell and xwayland-shell surfaces to new API

Also render alt-tab on-screen-display by converting cairo-surface to
wlr_buffer
2022-02-23 21:46:48 +00:00
Johan Malm
d2552232c7 Add buffer.c to cover cairo-surface to wlr_buffer 2022-02-23 21:41:01 +00:00
Johan Malm
7e57b7fcf5 keyboard: absolve release event if press was bound
When key press events are handled by compositor keybindings, do not
forward the corresponding release events to clients.
2021-12-22 10:37:25 -05:00
ARDiDo
c4995d7bc2 resistance: fix meson.build 2021-10-26 21:15:13 +01:00
ARDiDo
a24e17dea7 Improve expandibility 2021-10-26 21:15:13 +01:00
Johan Malm
e140682528 view: call wlr_foreign_toplevel_handle_v1_set_app_id() on map
Fix issue #74

Add view-impl.c with view_impl_map() containing common code for xdg-shell
and xwayland-shell.
2021-10-16 21:26:57 +01:00
Johan Malm
042ea266a5 Add simple foreign toplevel implementation 2021-08-05 12:18:10 +01:00
Johan Malm
a262b729df Rename deco.c ssd.c 2021-03-20 14:41:39 +00:00
Johan Malm
9760a8157f Create xdg-deco.c 2021-03-02 20:53:03 +00:00
Johan Malm
d54a998dd8 Handle wlr_surface->events.new_subsurface
Add view-child.c, xdg-popup.c, subsurface.c in order to track damage
associated with new XDG subsurfaces.
2021-03-02 20:37:23 +00:00
Johan Malm
de88b69d62 mv theme.c .. 2021-02-21 22:18:34 +00:00
Johan Malm
54804fd3df Implement damage tracking 2021-01-09 22:51:20 +00:00
Johan Malm
cfc6e18cdc Make xwayland support optional 2020-12-30 10:29:21 +00:00
Johan Malm
dc5d1ab976 Support a very simple root-menu 2020-10-19 22:14:17 +01:00
Johan Malm
a4c22f7c4d Add partial support for layer-shell
We can now run swaybg and waybar
2020-09-30 17:18:20 +01:00
Johan Malm
adf0f70a04 mv dbg.c osd.c 2020-09-28 20:59:38 +01:00
Johan Malm
fb6f7d42a5 Add desktop.c
Move from view.c functions which work on server->views
2020-09-11 20:48:28 +01:00
Johan Malm
8846998b75 mv xwl.c xwayland.c 2020-09-04 20:32:41 +01:00
Johan Malm
8e7f2e78cd Add xwayland-unmanaged.c
Handle xwayland override_direct surfaces separately from the view
struct - in order to simplify code, particularly in view.c
2020-09-04 20:25:20 +01:00
Johan Malm
d9b1d24919 mv dbg.c .. 2020-08-31 20:04:47 +01:00
Johan Malm
fd8d9a395d mv xbm/ .. 2020-08-31 20:01:08 +01:00
Johan Malm
7440919452 Add action.c 2020-06-18 20:18:01 +01:00
Johan Malm
d40445da1d Add theme.c to parse openbox's themerc 2020-06-11 21:20:43 +01:00
Johan Malm
bc51e0ad2f src/config/rcxml.c: parse xml from buffer
Avoid unit tests writing to/from files by using xmlParseMemory() instead
of xmlReadFile().
2020-06-09 21:40:46 +01:00
Johan Malm
6166e9b370 Read rc.xml and begin parsing 2020-06-05 23:04:54 +01:00
Johan Malm
aa294330ea Add keyboard.c 2020-05-29 21:44:50 +01:00
Johan Malm
40d3e1b175 Add cursor.c 2020-05-29 21:36:12 +01:00
Johan Malm
3b7e2c9e09 Add interactive.c 2020-05-29 21:27:34 +01:00
Johan Malm
d28465dfc3 Put code in src/ and include/ 2020-05-27 14:29:05 +01:00