Commit graph

1424 commits

Author SHA1 Message Date
Johan Malm
5ebaf3ff52 Enable single-pixel-buffer-v1
...in order to enable cool clients like chayang

References:

- https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3428
- https://git.sr.ht/~emersion/chayang
2023-01-14 22:14:13 +01:00
Johan Malm
1bcc0aa5db
Merge pull request #433 from Consolatis/feature/regions
Add SnapToRegion
2023-01-11 20:24:07 +00:00
Consolatis
111f48b485 SnapToRegion: Add documentation 2023-01-11 18:52:24 +01:00
Consolatis
07ee56176d SnapToRegion: Allow for live config updates 2023-01-11 18:52:24 +01:00
Consolatis
550e40b56b SnapToRegion: Respect core.gap setting 2023-01-11 18:52:24 +01:00
Consolatis
eb5c8cfdad SnapToRegion: Add dynamic overlay
Either uses a half transparent single rect if running
hardware accelerated or uses a solid struct multirect
outline if not.
2023-01-11 18:52:24 +01:00
Consolatis
4edd67de17 SnapToRegion: Evacuate tiled views from destroying outputs 2023-01-11 18:52:24 +01:00
Consolatis
25cea94a32 SnapToRegion: Snap when ending a move while pressing a modifier 2023-01-11 18:52:24 +01:00
Consolatis
7e99d8ba08 SnapToRegion: Add overlay while moving and pressing a modifier 2023-01-11 18:52:24 +01:00
Consolatis
0c31886061 SnapToRegion: Add regions_from_cursor() 2023-01-11 18:52:24 +01:00
Consolatis
96a591297d SnapToRegion: Add SnapToRegion action 2023-01-11 18:52:24 +01:00
Consolatis
9d3e309a22 SnapToRegion: Add view_snap_to_region() 2023-01-11 18:52:24 +01:00
Consolatis
67952cd749 SnapToRegion: Wire up output and handle usable_area changes 2023-01-11 18:52:24 +01:00
Consolatis
43fe138385 SnapToRegion: Add config parser 2023-01-11 18:52:23 +01:00
Consolatis
51727cf8f7 SnapToRegion: Add implementation 2023-01-10 23:29:10 +01:00
John Lindgren
45e0a4f48c xwayland: Add xwayland.h and move more things to xwayland.c
- Move xwayland-specific struct definitions to new xwayland.h header
- Move xwayland_move_sub_views_to_front() from desktop.c to xwayland.c
- Split out xwayland_server_init/finish() from server_init/finish()
- Rename new_xwayland_surface -> xwayland_new_surface and
  xwayland_surface_new() -> handle_new_surface() for consistency
- Add "mapped" argument to xwayland_unmanaged_create() so that we can
  make unmanaged_handle_map() private to xwayland-unmanaged.c
2023-01-07 22:22:55 -05:00
Consolatis
b62159fe06 docs/rc.xml: Overwrite the default W-Return keybind
.. instead of adding a new one.
Also change from sakura to foot and add comments.
2023-01-06 21:40:49 +00:00
Consolatis
b12b6b320e src/action.c: Improve debugging by adding action argument to debug log 2023-01-06 21:38:12 +00:00
Consolatis
bc4108fec0 output: Use better arg naming for output_update_all_usable_areas()
This restores the original approach of naming the argument `layout_changed`
which fits much better than `enforce_view_arrange`. Especially when extending
the function to also handle region updates once merged.
2023-01-06 20:39:04 +01:00
Consolatis
7b48da4ab2 include/labwc.h: Provide MIN/MAX macros 2023-01-06 18:33:25 +01:00
Consolatis
9d7386effd include/ssd.h: prefix defines with SSD_ 2023-01-06 18:32:36 +01:00
Consolatis
7790da7b4e src/view.c: move xwayland specific function to xwayland.c
Also remove the `<xcb/xcb_icccm.h>` include as its already included
by `"labwc.h"` -> `<wlr/xwayland.h>` -> `<wlr/xwayland/xwayland.h>`.
2023-01-06 14:54:28 +01:00
John Lindgren
ed31381eb8 output: Add output_update_usable_area/all_usable_areas()
Move the desktop_arrange_all_views() call outside layers_arrange() into
a new function, output_update_usable_area().  The new function currently
does exactly what layers_arrange() used to, but will be expanded in a
later commit.

Add output_update_all_usable_areas(), which is the same as calling
output_update_usable_area() for each output, but only calls
desktop_arrange_all_views() once.

Rebased and slightly modified by @Consolatis
2023-01-06 14:51:46 +01:00
Johan Malm
af56b68041 theme: support theme setting override
...by reading <config-dir>/themerc-override where <config-dir> is normally
$HOME/.config/labwc can be other locations as described in labwc-config(5)
and can also be specified by the command line option -C.

The reason for supporting theme override is to give users more fine-
grained control of settings without making local copies and modifying
themes.
2023-01-03 21:21:21 +00:00
yuanye
d82d8117f7 src/output.c: Release layer tree when releasing output
Split off from PR #622 and slightly modified by @Consolatis
2023-01-03 19:46:31 +00:00
Consolatis
c75508fcc5 src/view.c: ensure natural geometry is restored even with no outputs available
Reported-by: @Flrian
2023-01-03 19:46:31 +00:00
Consolatis
0d8b459912 src/layers.c: destroy layer surface on output loss 2023-01-03 19:46:31 +00:00
Consolatis
a4c1c4815e src/layers.c: ensure layers_arrange() is only called with an output set 2023-01-03 19:46:31 +00:00
Consolatis
c241d89c7c src/layers.c: remove new_popup handler on node destruction 2023-01-03 19:46:31 +00:00
Consolatis
cd645318e7 src/layers.c: prevent crash with no outputs available 2023-01-03 19:46:31 +00:00
Consolatis
e9aac4ce8f src/view.c: prevent fullscreen with no outputs available 2023-01-03 19:46:31 +00:00
Consolatis
de8042bff5 src/output.c: prevent crash with no outputs available 2023-01-03 19:46:31 +00:00
Consolatis
8bde7bcee0 src/debug.c: reset last_view
Before this patch following would cause a use-after-free:
- calling the Debug action when there was at least one view around
- closing that view
- calling the Debug action again

Also add a label for the layer popup tree.
2023-01-02 21:52:09 +00:00
01micko
bc65357267 po/tr.po: update Turkish translation
thanks to @ersen0
2023-01-02 21:39:56 +00:00
Johan Malm
f70425f2ea po/sv.po: update Swedish translation 2023-01-02 21:39:56 +00:00
01micko
e54672e151 po/es.po,it.po: update Spanish and Italian translations 2023-01-02 21:39:56 +00:00
01micko
3d609edbce po/de.po: update German translation
thanks to @Consolatis
2023-01-02 21:39:56 +00:00
01micko
9e954dfcd0 nls: updates for new strings in menus
- also fixes updating tr.po file
- more descriptive instructions in CONTRIBUTING.md
- fix comments in po/pot files when using meson gettext tools
2023-01-02 21:39:56 +00:00
Joshua Ashton
4fa2091677 server: Filter out wp_drm_lease_device from Xwayland
For now, until we resolve the true cause here either on the Xwayland
side or our side.

I intend to look into it soon.

Fixes: #553
2023-01-02 21:26:42 +00:00
Joshua Ashton
a81ae09245 build: Add drm-lease-v1 protocol to server_protocols 2023-01-02 21:26:42 +00:00
Consolatis
8c411acf1a src/view.c: move up view_apply_natural_geometry()
So its visible by all the other view_apply_xxx_geometry() functions.
2023-01-02 16:42:07 +01:00
Johan Malm
45ce978b5a docs/themerc: add menu.width.{min,max} + menu.items.padding.{x,y}
...to reflect additions introduced by f0666ba and d00327b

Move menu.overlap.* to the menu section for a more logical grouping
2023-01-01 18:59:16 +00:00
Johan Malm
241e7de2b1 menu: minor refactoring to increase readability 2023-01-01 18:59:16 +00:00
Consolatis
a08a6c4bd4 src/view.c: reorder includes 2023-01-01 19:48:47 +01:00
Consolatis
1aef488bcc src/view.c: rename unmaximized_geometry to natural_geometry 2023-01-01 18:15:37 +00:00
Consolatis
aab775c5b5 src/view.c: use view_set_untiled() helper 2023-01-01 18:15:37 +00:00
Consolatis
62549e90d6 src/view.c: factor out special case natural geometry checks 2023-01-01 18:15:37 +00:00
Consolatis
03a1953cfa src/view.c: factor out the various view_apply_ variants 2023-01-01 18:15:37 +00:00
Consolatis
84b3df4ef2 src/layers.c: minor simplification 2023-01-01 18:15:37 +00:00
Consolatis
d094533955 src/view.c: on un-fullscreen restore SSD before applying previous geometry
Before this patch following would cause the SSD to be rendered offscreen:
- snap a window to left or right edge
- toggle fullscreen to fullscreen
- toggle fullscreen to un-fullscreen

To fix that restore the SSD before calculating the new geometry.
2023-01-01 02:24:07 +01:00