]> git.mdlowis.com Git - proto/labwc.git/log
proto/labwc.git
2 years agoconfig: change order
Jens Peters [Sun, 7 Jan 2024 21:18:06 +0000 (22:18 +0100)]
config: change order

More in line with the xml structure.

2 years agoinput: add missing new lines
Jens Peters [Sun, 7 Jan 2024 21:15:25 +0000 (22:15 +0100)]
input: add missing new lines

2 years agoMerge pull request #1419 from ahesford/bond-james-bond
Johan Malm [Tue, 9 Jan 2024 21:56:45 +0000 (21:56 +0000)]
Merge pull request #1419 from ahesford/bond-james-bond

view, xwayland: fixes for new size constraints

2 years agoxwayland: only constrain initial size for unsized clients
Andrew J. Hesford [Tue, 9 Jan 2024 01:12:45 +0000 (20:12 -0500)]
xwayland: only constrain initial size for unsized clients

2 years agoview: only constrain sizes for oversized views
Andrew J. Hesford [Tue, 9 Jan 2024 01:05:49 +0000 (20:05 -0500)]
view: only constrain sizes for oversized views

...and ensure initial position is on the target display.

2 years agorcxml: avoid crash when checking environment for WLR_DRM_NO_ATOMIC
Andrew J. Hesford [Mon, 8 Jan 2024 23:19:12 +0000 (18:19 -0500)]
rcxml: avoid crash when checking environment for WLR_DRM_NO_ATOMIC

2 years agoxdg: rename function to align with xwayland.c
Johan Malm [Sat, 6 Jan 2024 21:39:47 +0000 (21:39 +0000)]
xdg: rename function to align with xwayland.c

s/position_xdg_toplevel_view/set_initial_position/

2 years agoview: constrain window size to that of usable area
Johan Malm [Sat, 6 Jan 2024 21:36:12 +0000 (21:36 +0000)]
view: constrain window size to that of usable area

...on first map (when application is started).

Fixes #1399

2 years agoAdd tearing support (#1390)
Ph42oN [Mon, 8 Jan 2024 20:58:58 +0000 (22:58 +0200)]
Add tearing support (#1390)

Co-authored-by: Andrew J. Hesford <ajh@sideband.org>
2 years agodocs: extend supported mouse buttons
Jens Peters [Sat, 6 Jan 2024 16:56:53 +0000 (17:56 +0100)]
docs: extend supported mouse buttons

2 years agoconfig: reuse mousebind_button_from_str()
Jens Peters [Sat, 6 Jan 2024 16:56:32 +0000 (17:56 +0100)]
config: reuse mousebind_button_from_str()

2 years agoconfig: add more mouse button definitions
Jens Peters [Sat, 6 Jan 2024 16:55:04 +0000 (17:55 +0100)]
config: add more mouse button definitions

2 years agodocs: add tablet section
Jens Peters [Sat, 6 Jan 2024 09:58:57 +0000 (10:58 +0100)]
docs: add tablet section

2 years agodocs: improve formatting
Jens Peters [Sat, 6 Jan 2024 09:57:21 +0000 (10:57 +0100)]
docs: improve formatting

2 years agoview: try to honor original geometry with layout changes
Andrew J. Hesford [Mon, 1 Jan 2024 02:39:06 +0000 (21:39 -0500)]
view: try to honor original geometry with layout changes

Whenever the output layout changes, each view's original geometry will
be captured as last_layout_geometry (if it has not already been captured
by a previous layout change), which will remain valid unless the user
modifies the view's geometry (i.e., by tiling, maximizing, moving,
resizing or full-screening). On subsequent output layout changes, views
with valid last_layout_geometry will be back to their original position
if possible, or else to the closest possible output.

2 years agofix adaptive sync fullscreen
Ph42oN [Fri, 5 Jan 2024 18:43:56 +0000 (20:43 +0200)]
fix adaptive sync fullscreen

2 years agoFixed some typos
Tomi Ollila [Thu, 4 Jan 2024 17:42:26 +0000 (19:42 +0200)]
Fixed some typos

2 years agosrc/theme.c: fix loading of alt_name hover icon
Consolatis [Tue, 2 Jan 2024 12:45:58 +0000 (13:45 +0100)]
src/theme.c: fix loading of alt_name hover icon

Fixes #1395

2 years agoprotocols: allow using a .wrap file
Consolatis [Tue, 2 Jan 2024 07:20:40 +0000 (08:20 +0100)]
protocols: allow using a .wrap file

Fixes #1356

2 years agoconfig: add user names for pad butttons
Jens Peters [Tue, 2 Jan 2024 19:31:17 +0000 (20:31 +0100)]
config: add user names for pad butttons

2 years agoinput: add tablet pad setup and button handler
Jens Peters [Tue, 2 Jan 2024 17:26:25 +0000 (18:26 +0100)]
input: add tablet pad setup and button handler

Split pad initialization from tablet initialization to
avoid conflicting handler names.
Also reuse 'get_mapped_button'.

2 years agoinput: add area transformation for tablet coordinates
Jens Peters [Mon, 1 Jan 2024 17:26:44 +0000 (18:26 +0100)]
input: add area transformation for tablet coordinates

2 years agoconfig: add tablet area configuration
Jens Peters [Mon, 1 Jan 2024 17:26:38 +0000 (18:26 +0100)]
config: add tablet area configuration

2 years agoinput: log tablet dimensions
Jens Peters [Sat, 30 Dec 2023 18:14:11 +0000 (19:14 +0100)]
input: log tablet dimensions

2 years agolabwc-config(5): update libinput section
Johan Malm [Mon, 1 Jan 2024 20:04:48 +0000 (20:04 +0000)]
labwc-config(5): update libinput section

2 years agoconfig: s/enum device_type/enum lab_libinput_device_type/
Johan Malm [Mon, 1 Jan 2024 19:15:16 +0000 (19:15 +0000)]
config: s/enum device_type/enum lab_libinput_device_type/

2 years agoconfig: prefix enums with LAB_LIBINPUT_DEVICE_
Johan Malm [Mon, 1 Jan 2024 19:14:08 +0000 (19:14 +0000)]
config: prefix enums with LAB_LIBINPUT_DEVICE_

2 years agoseat: refactor obtaining libinput category for device
Johan Malm [Mon, 1 Jan 2024 17:46:30 +0000 (17:46 +0000)]
seat: refactor obtaining libinput category for device

No functional change intended.

2 years agoconfig: use wl_list_append() for libinput categories
Johan Malm [Mon, 1 Jan 2024 17:18:28 +0000 (17:18 +0000)]
config: use wl_list_append() for libinput categories

...to make it more intuitive.

Also, do not check for existance of name when type==DEFAULT because name
will only exist when type==NONE.

2 years agoconfig: add missing return to save a few cycles
Johan Malm [Mon, 1 Jan 2024 17:11:51 +0000 (17:11 +0000)]
config: add missing return to save a few cycles

2 years agoconfig: allow <libinput><device> without category attribute
Johan Malm [Mon, 1 Jan 2024 17:08:20 +0000 (17:08 +0000)]
config: allow <libinput><device> without category attribute

...to define a 'default' profile because that is likely to be more
user-friendly.

2 years agoconfig: remove duplication in libinput-category parsing
Johan Malm [Fri, 29 Dec 2023 19:50:37 +0000 (19:50 +0000)]
config: remove duplication in libinput-category parsing

Related-to: #1382
2 years agorc.xml.all: replace "" with "default" in libinput device category
Tomi Ollila [Fri, 29 Dec 2023 14:35:01 +0000 (16:35 +0200)]
rc.xml.all: replace "" with "default" in libinput device category

As empty string there is not matched as how it was expected.

2 years agoview: honor automatic placement when adjusting floating geometry
Andrew J. Hesford [Sat, 30 Dec 2023 16:19:27 +0000 (11:19 -0500)]
view: honor automatic placement when adjusting floating geometry

The view_adjust_floating_geometry function is called when un-maximizing
a window or changing the output layout to ensure that views are well
placed. Rather than always centering these views should they fall
offscren, use the automatic placement strategy if so configured.

2 years agolabwc-config(5): describe adaptive sync fullscreen option
Johan Malm [Sat, 30 Dec 2023 15:51:49 +0000 (15:51 +0000)]
labwc-config(5): describe adaptive sync fullscreen option

2 years agoconfig: add adaptive sync fullscreen option
Ph42oN [Sat, 30 Dec 2023 15:35:41 +0000 (17:35 +0200)]
config: add adaptive sync fullscreen option

2 years agoconfig: fix signature formatting
Jens Peters [Fri, 29 Dec 2023 21:40:43 +0000 (22:40 +0100)]
config: fix signature formatting

2 years agoinput: add rotate transformation for tablet coordinates
Jens Peters [Fri, 29 Dec 2023 21:38:05 +0000 (22:38 +0100)]
input: add rotate transformation for tablet coordinates

Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
2 years agoconfig: add tablet rotate configuration
Jens Peters [Fri, 29 Dec 2023 21:36:06 +0000 (22:36 +0100)]
config: add tablet rotate configuration

Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
2 years agoinput: rename drawing_tablet to tablet
Jens Peters [Fri, 29 Dec 2023 09:10:41 +0000 (10:10 +0100)]
input: rename drawing_tablet to tablet

2 years agoinput: use button mapping from configuration
Jens Peters [Fri, 29 Dec 2023 09:06:59 +0000 (10:06 +0100)]
input: use button mapping from configuration

Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
2 years agoconfig: add tablet button mapping configuration
Jens Peters [Fri, 29 Dec 2023 09:06:17 +0000 (10:06 +0100)]
config: add tablet button mapping configuration

Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
2 years agoci: include scripts/find-banned.sh
Johan Malm [Thu, 28 Dec 2023 21:35:13 +0000 (21:35 +0000)]
ci: include scripts/find-banned.sh

...to search for functions which have been banned from our code base,
because they're too easy to misuse, and even if used correctly,
complicate audits, cause inconsistencies and/or make static analysis
harder.

2 years agoxbm: s/u32/argb32/ function name change
Johan Malm [Thu, 28 Dec 2023 22:50:12 +0000 (22:50 +0000)]
xbm: s/u32/argb32/ function name change

2 years agoAdd `touchpad` device type
Jared Baur [Fri, 15 Dec 2023 15:36:29 +0000 (07:36 -0800)]
Add `touchpad` device type

It is nice to have finer granularity for device types to allow for
configurations such as using `naturalScroll` on touchpads, but not on
regular pointer devices such as mice.

2 years agofeat: add "AutoPlace" action
Andrew J. Hesford [Thu, 28 Dec 2023 21:47:21 +0000 (16:47 -0500)]
feat: add "AutoPlace" action

The AutoPlace action will apply placement_find_best() to an active view,
moving it to a position on its output that will minimize overlap with
other views.

2 years agoosd: refactor to eliminate usage of g_strcmp0()
Johan Malm [Wed, 27 Dec 2023 22:36:20 +0000 (22:36 +0000)]
osd: refactor to eliminate usage of g_strcmp0()

...to allow inclusion of ./scripts/find-banned in CI

No functional change intended.

2 years agokeyboard: fix virtual keyboard bug
Johan Malm [Thu, 28 Dec 2023 17:47:52 +0000 (17:47 +0000)]
keyboard: fix virtual keyboard bug

Do no process virtual keyboard keycodes (just the keysyms).

Reproduce bug by issuing `wlrctl keyboard type xyz` and observe only 'x'
when 'xyz' was expected.

The 'y' and 'z' were matched in match_keybinding() in the keycode section and
returned keybinds for `XF86_AudioLowerVolume` and `XF86_AudioRaiseVolume`
respectively.

Fixes: #1367
2 years agoRevert "xdg: Fix visual glitch when resizing xfce4-terminal from left edge"
Johan Malm [Thu, 28 Dec 2023 10:16:51 +0000 (10:16 +0000)]
Revert "xdg: Fix visual glitch when resizing xfce4-terminal from left edge"

This reverts commit 31ec8f050cf9f2aafed1dd30490dc0aaf8ef32e0.

Commit c59aeb5 solves this in a different (hopefully more elegant) way.

Related-to: #1370
2 years agoxdg: sync pending when applying geometry
Andrew J. Hesford [Wed, 27 Dec 2023 16:56:48 +0000 (11:56 -0500)]
xdg: sync pending when applying geometry

Applications may respond to pending resize requests either by ignoring
them or substituting alternative sizes (for example, when mpv constrains
resizes to keep its aspect ratio fixed). In these cases, view->pending
will fall out of sync with the actual view geometry. This will cause
problems when subsequent operations (e.g., MoveToEdge) use the pending
geometry to decide where to place the window.

To fix this, reset view->pending to be equal view->current when either:

1. The requested size change has been commited, to the scene graph, and
   no subsequent changes are pending; or

2. The requested size change has been ignored by the client.

2 years ago.gitignore: ignore vim swap files
Andrew J. Hesford [Wed, 27 Dec 2023 16:56:04 +0000 (11:56 -0500)]
.gitignore: ignore vim swap files

2 years agoseat: initialize tablet tool or pad
Jens Peters [Fri, 1 Dec 2023 21:13:07 +0000 (22:13 +0100)]
seat: initialize tablet tool or pad

Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
2 years agoinput: add drawing tablet setup and event listeners
Jens Peters [Fri, 1 Dec 2023 21:12:00 +0000 (22:12 +0100)]
input: add drawing tablet setup and event listeners

Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
2 years agoinput: add cursor move and button emulation
Jens Peters [Fri, 1 Dec 2023 21:10:08 +0000 (22:10 +0100)]
input: add cursor move and button emulation

Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
2 years agoosd: support full app_id in window switcher (#1309)
kyak [Wed, 27 Dec 2023 10:55:49 +0000 (13:55 +0300)]
osd: support full app_id in window switcher (#1309)

Support showing full application
identifier or the trimmed variant in window switcher OSD.

Regression notice: For anyone using ‘identifier’ in window-switcher field configuration, change it to ‘trimmed_identifier’.

2 years agoTranslation updates from weblate
Weblate [Tue, 26 Dec 2023 09:00:21 +0000 (10:00 +0100)]
Translation updates from weblate

Co-authored-by: A S Alam <amanpreet.alam@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Priit Jõerüüt <lxqtwlate@joeruut.com>
Co-authored-by: Sabri Ünal <libreajans@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: kmephistoh <kanhaosmile@gmail.com>
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/et/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/pa/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/tr/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/uk/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/zh_CN/
Translation: Labwc/labwc

2 years agofeat: automatic window placement
Andrew J. Hesford [Sun, 24 Dec 2023 18:57:46 +0000 (13:57 -0500)]
feat: automatic window placement

With automatic placement, new top-level windows will be placed to
minimize overlap with other windows already on screen.

2 years agofeat: under-cursor window placement
Andrew J. Hesford [Mon, 11 Dec 2023 02:00:05 +0000 (21:00 -0500)]
feat: under-cursor window placement

With under-cursor placement, new top-level windows will be centered
under the cursor rather than centered on the active view.

2 years agoRemoved characters slipped in
Standreas [Sun, 24 Dec 2023 07:17:39 +0000 (08:17 +0100)]
Removed characters slipped in

2 years agoFixed menu link
Standreas [Sat, 23 Dec 2023 13:06:24 +0000 (14:06 +0100)]
Fixed menu link

2 years agoAdded translation information
Standreas [Sat, 23 Dec 2023 13:04:29 +0000 (14:04 +0100)]
Added translation information

2 years agoUpdate Russian translation
kyak [Sat, 23 Dec 2023 07:49:36 +0000 (10:49 +0300)]
Update Russian translation

2 years agoRemove headers not being used directly
kyak [Mon, 11 Dec 2023 10:13:00 +0000 (13:13 +0300)]
Remove headers not being used directly

Fix clangd warnings regarding headers not being used directly.

2 years agoNEWS.md: Fix typo
Jens Peters [Fri, 22 Dec 2023 19:38:39 +0000 (20:38 +0100)]
NEWS.md: Fix typo

2 years agobuild: bump version to 0.7.0
Johan Malm [Fri, 22 Dec 2023 17:01:51 +0000 (17:01 +0000)]
build: bump version to 0.7.0

2 years agoNEWS.md: update notes for 0.7.0
Johan Malm [Tue, 19 Dec 2023 21:45:40 +0000 (21:45 +0000)]
NEWS.md: update notes for 0.7.0

2 years agoTranslation updates from weblate
Weblate [Fri, 22 Dec 2023 14:01:54 +0000 (15:01 +0100)]
Translation updates from weblate

Co-authored-by: Heimen Stoffels <vistausss@fastmail.com>
Co-authored-by: Jan Rolski <wbcwknvstb@proton.me>
Co-authored-by: Roberalz <lumintnian@outlook.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/es/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/eu/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/gl/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/nl/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/pl/
Translation: Labwc/labwc

2 years agoxwayland: Prevents usage of invalid data pointer
Jens Peters [Fri, 22 Dec 2023 10:20:42 +0000 (11:20 +0100)]
xwayland: Prevents usage of invalid data pointer

There are situations where the data pointer of a parent is NULL.
Checking for NULL first fixes e.g. a segmentation fault in CLion
when opening the settings window from a popup menu.

See also https://github.com/labwc/labwc/issues/1351#issuecomment-1867475324

2 years agoAdd Portuguese translation
daniel [Thu, 21 Dec 2023 21:05:37 +0000 (18:05 -0300)]
Add Portuguese translation

2 years agoTranslation updates from weblate
Weblate [Thu, 21 Dec 2023 20:38:44 +0000 (21:38 +0100)]
Translation updates from weblate

Co-authored-by: Standreas <standreas@riseup.net>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/de/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/it/
Translation: Labwc/labwc

2 years agoTranslation updates from weblate
Weblate [Thu, 21 Dec 2023 17:59:43 +0000 (18:59 +0100)]
Translation updates from weblate

Co-authored-by: Standreas <standreas@riseup.net>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/
Translation: Labwc/labwc

2 years agoxwayland: fix issue with panel getting stuck offscreen
John Lindgren [Tue, 28 Nov 2023 05:38:18 +0000 (00:38 -0500)]
xwayland: fix issue with panel getting stuck offscreen

For unknown reasons, XWayland surfaces that are completely offscreen
seem not to generate commit events. In rare cases, this can prevent an
offscreen window from moving onscreen (since we wait for a commit event
that never occurs). As a workaround, move offscreen surfaces
immediately.

This fixes an issue that I can reproduce by having qmpanel displayed on
a (larger) external monitor, then undocking the laptop so that qmpanel
requests a simultaneous move+resize to the (smaller) laptop display.

2 years agomenu: move ToggleOmnipresent to workspaces
Johan Malm [Tue, 19 Dec 2023 21:24:55 +0000 (21:24 +0000)]
menu: move ToggleOmnipresent to workspaces

...and rename it to "Always on Visible Workspace"

Issue: #1316

2 years agotheme: move more button fallback logic to theme.c
Johan Malm [Mon, 18 Dec 2023 20:42:36 +0000 (20:42 +0000)]
theme: move more button fallback logic to theme.c

...and simplify button_xbm_load() by splitting it into one function that
loads an xbm file and another that creates an icon from a builtin
bitmap.

2 years agotheme: create hover button fallbacks
Consolatis [Sun, 17 Dec 2023 01:16:49 +0000 (02:16 +0100)]
theme: create hover button fallbacks

...by copying the non-hover variant and adding a transparent overlay.

Co-authored-by: @johanmalm
2 years agotheme: use non-hover button variants as fallback
John Lindgren [Sat, 16 Dec 2023 14:56:45 +0000 (09:56 -0500)]
theme: use non-hover button variants as fallback

Some themes don't have hover variants for button pixmaps.
It looks better visually to use the non-hover variants as fallbacks
rather than the built-in 6x6 pixmaps.

2 years agoseat: do not update active_view on layer-shell keyboard focus
Johan Malm [Tue, 19 Dec 2023 17:45:43 +0000 (17:45 +0000)]
seat: do not update active_view on layer-shell keyboard focus

...because layer-shell clients are not views and we want to be able to
use foreign-toplevel protocol on the active view even if a client such as
a panel has taken keyboard focus.

Written-by: @Consolatis
Fixes: #1336
2 years agos/focused_view/active_view/
Johan Malm [Tue, 19 Dec 2023 17:45:11 +0000 (17:45 +0000)]
s/focused_view/active_view/

2 years agooutput: do not call wlr_scene_output_layout_add_output() twice
John Lindgren [Wed, 13 Dec 2023 22:37:14 +0000 (17:37 -0500)]
output: do not call wlr_scene_output_layout_add_output() twice

Fixes an assertion failure that occurred if reconfiguring outputs after
an output had been disabled using wlopm --off.

Fixes: #1303
2 years agodocs: add png|svg icon descriptions for themes, fix minor typo
01micko [Sat, 16 Dec 2023 05:42:34 +0000 (15:42 +1000)]
docs: add png|svg icon descriptions for themes, fix minor typo

2 years agofix: fall-through to default cursor in cursor_get_from_edge()
Andrew J. Hesford [Sat, 16 Dec 2023 02:21:06 +0000 (21:21 -0500)]
fix: fall-through to default cursor in cursor_get_from_edge()

When assertions are disabled, providing an unexpected input to
cursor_get_from_edge will cause the non-void function to terminate
without a return value. This may be effectively unreachable in practice.
However, returning a default cursor as a fall-through case will both
silence a compiler warning and prevent catastrophy should the function
ever be called with a permitted value.

2 years agoCONTRIBUTING.md: update deprecated meson command
Florian [Sat, 16 Dec 2023 15:35:36 +0000 (16:35 +0100)]
CONTRIBUTING.md: update deprecated meson command

2 years agolabwc.pot: update for new OmniPresent menu
01micko [Tue, 12 Dec 2023 06:16:36 +0000 (16:16 +1000)]
labwc.pot: update for new OmniPresent menu

closes #1311

2 years agodocs/labwc-theme.5.scd: made text fit in max 80-column wide lines
Tomi Ollila [Mon, 11 Dec 2023 21:12:07 +0000 (23:12 +0200)]
docs/labwc-theme.5.scd: made text fit in max 80-column wide lines

For general consistency and better readability as source.

2 years agoAdd theme option to configure boxes from workspace OSD
kyak [Mon, 11 Dec 2023 09:41:33 +0000 (12:41 +0300)]
Add theme option to configure boxes from workspace OSD

This allows to configure width and height of "boxes" displayed in the
workspace OSD. A setting of `0` disables the boxes.

2 years agosrc/output.c: fix strncpy warning
kyak [Mon, 11 Dec 2023 09:33:06 +0000 (12:33 +0300)]
src/output.c: fix strncpy warning

Fixes #1307

2 years agotheme: partially revert c79b8ba
Johan Malm [Sat, 9 Dec 2023 19:49:23 +0000 (19:49 +0000)]
theme: partially revert c79b8ba

...so that svg and png icons only support the max_toggled_hover format.

There is no need to support max_hover_toggled because there are no
backward compatibility considerations as Openbox does not handle png and
svg icons.

2 years agotheme: use max_toggled_hover.xbm
Johan Malm [Sat, 9 Dec 2023 19:37:35 +0000 (19:37 +0000)]
theme: use max_toggled_hover.xbm

...and treat max_hover_toggled.xbm as an alternative name supported for
compatibility reasons.

Use the following button filename schema: "BUTTON [TOGGLED] [STATE]"
with the words separted by underscore and with the following meaning:
  - BUTTON can be one of 'max', 'iconify', 'close', 'menu'
  - TOGGLED is either 'toggled' or nothing
  - STATE is 'hover' or nothing.

This is consistent with the openbox.org wiki and it is believed that this
is how the vast majority of extant openbox themes out there are written.

But please be aware that it is actually different to vanilla Openbox which
uses: "BUTTON [STATE] [TOGGLED]" following a commit in 2014 which broke
themes and led to some distros patching Openbox:
https://github.com/danakj/openbox/commit/35e92e4c2a45b28d5c2c9b44b64aeb4222098c94

Arch Linux and Debian patch Openbox to keep the old syntax (the one that
this commit aligns us with).
https://gitlab.archlinux.org/archlinux/packaging/packages/openbox/-/blob/main/debian-887908.patch?ref_type=heads

2 years agotheme: make button array definition easier to read
Johan Malm [Sat, 9 Dec 2023 19:20:54 +0000 (19:20 +0000)]
theme: make button array definition easier to read

No functional change intended.

2 years agoImplement key binds to control virtual outputs (#1287)
kyak [Sat, 9 Dec 2023 09:01:11 +0000 (12:01 +0300)]
Implement key binds to control virtual outputs (#1287)

Add actions `VirtualOutputAdd` and `VirtualOutputRemove`

2 years agoview: continue move-to-edge behavior to adjacent outputs
Andrew J. Hesford [Wed, 6 Dec 2023 01:05:23 +0000 (20:05 -0500)]
view: continue move-to-edge behavior to adjacent outputs

2 years agolabwc-config(5): update <margin> description
Johan Malm [Fri, 8 Dec 2023 22:34:18 +0000 (22:34 +0000)]
labwc-config(5): update <margin> description

...to include that it is a workaround which is usually not required.

2 years agoPartially revert a bit more of ddc9047
Johan Malm [Fri, 8 Dec 2023 22:08:46 +0000 (22:08 +0000)]
Partially revert a bit more of ddc9047

...to enable re-size of nested labwc instances

2 years agoPartially revert ddc9047
Johan Malm [Tue, 5 Dec 2023 16:19:04 +0000 (16:19 +0000)]
Partially revert ddc9047

...to just call wlr_scene_output_commit() as was previously the case and
thus avoid freezing screens reported by a number of users.

Fixes: #1273
2 years agosrc/ssd: refactor button hover and maximize toggle
Consolatis [Wed, 6 Dec 2023 21:07:06 +0000 (22:07 +0100)]
src/ssd: refactor button hover and maximize toggle

2 years agosrc/layers.c: move popups from the background layer to the top layer
Consolatis [Thu, 7 Dec 2023 10:05:49 +0000 (11:05 +0100)]
src/layers.c: move popups from the background layer to the top layer

Previously we would only do that for the bottom layer.

Fixes #1293

Reported-by: @spl237
2 years agofeat: implement <font place="InactiveWindow"> (ref scope: 2.4.7) (#1292)
Ludgie [Thu, 7 Dec 2023 08:28:27 +0000 (09:28 +0100)]
feat: implement <font place="InactiveWindow"> (ref scope: 2.4.7) (#1292)

* feat: implement <font place="InactiveWindow"> (ref scope: 2.4.7)
* docs: add inactivewindow

2 years agosrc/layers.c: calculate usable_area before positioning clients
Consolatis [Wed, 6 Dec 2023 13:24:17 +0000 (14:24 +0100)]
src/layers.c: calculate usable_area before positioning clients

This ensures that the usable area is completely calculated
before non exclusive-zone clients are positioned / resized.

Fixes #1285
Reported-by: @spl237
2 years agotheme: fix icon bug
Johan Malm [Wed, 6 Dec 2023 21:55:31 +0000 (21:55 +0000)]
theme: fix icon bug

Do not carry over previous alt_filename for icons that don't have one.

2 years agoSupport hover icons in titlebar (#1280)
Simon Long [Wed, 6 Dec 2023 20:33:26 +0000 (20:33 +0000)]
Support hover icons in titlebar (#1280)

Allow both max_toggled_hover and max_hover_toggled names for icons