]> git.mdlowis.com Git - proto/labwc.git/log
proto/labwc.git
3 years agosrc/common/font.c: Add font_width()
Consolatis [Tue, 14 Jun 2022 23:16:32 +0000 (01:16 +0200)]
src/common/font.c: Add font_width()

3 years agoaction.c: use kill() instead of spawning killall
Johan Malm [Tue, 14 Jun 2022 21:45:45 +0000 (22:45 +0100)]
action.c: use kill() instead of spawning killall

Also update documentation to say `killall -s SIGHUP labwc` to make
it work on Void Linux.

Fix #393

3 years agoConvert SSD title to scaled font buffer
Consolatis [Sun, 12 Jun 2022 19:22:49 +0000 (21:22 +0200)]
Convert SSD title to scaled font buffer

3 years agoConvert menu entries to scaled font buffer
Consolatis [Sun, 12 Jun 2022 19:22:01 +0000 (21:22 +0200)]
Convert menu entries to scaled font buffer

3 years agoAdd scaled_font_buffer implementation
Consolatis [Mon, 13 Jun 2022 19:33:32 +0000 (21:33 +0200)]
Add scaled_font_buffer implementation

3 years agoAdd abstract scaled_scene_buffer implementation
Consolatis [Mon, 13 Jun 2022 19:32:12 +0000 (21:32 +0200)]
Add abstract scaled_scene_buffer implementation

3 years agocommon/font: Add scale argument
Consolatis [Sun, 12 Jun 2022 19:16:44 +0000 (21:16 +0200)]
common/font: Add scale argument

3 years agosrc/menu: Handle menu item creation failure
Consolatis [Sun, 12 Jun 2022 19:14:48 +0000 (21:14 +0200)]
src/menu: Handle menu item creation failure

3 years agosrc/buffer: Automatically adapt to scale attribute
Consolatis [Sun, 12 Jun 2022 19:11:25 +0000 (21:11 +0200)]
src/buffer: Automatically adapt to scale attribute

Based on discussion in PR #389

3 years agoMerge pull request #389 from bi4k8/window-switcher-scale
Johan Malm [Sat, 11 Jun 2022 21:37:30 +0000 (22:37 +0100)]
Merge pull request #389 from bi4k8/window-switcher-scale

correctly scale window switcher

3 years agocorrectly scale window switcher
bi4k8 [Sat, 11 Jun 2022 13:38:09 +0000 (13:38 +0000)]
correctly scale window switcher

3 years agosrc/menu: Attach view to menu and use it when executing actions
Consolatis [Thu, 9 Jun 2022 15:10:36 +0000 (17:10 +0200)]
src/menu: Attach view to menu and use it when executing actions

This fixes #380

3 years agosrc/ssd: Convert button node descriptors to struct ssd_button
Consolatis [Wed, 8 Jun 2022 17:51:02 +0000 (19:51 +0200)]
src/ssd: Convert button node descriptors to struct ssd_button

This allows for way easier button hover detection and future
features like toggling rounded corner buttons on maximize.

3 years agosrc/ssd: Use LAB_SSD_PART_CORNER_x for rounded corner backgrounds
Consolatis [Wed, 8 Jun 2022 12:37:30 +0000 (14:37 +0200)]
src/ssd: Use LAB_SSD_PART_CORNER_x for rounded corner backgrounds

This matches the behavior of the surrounding borders and will usually
cause resizing instead of triggering the button itself. This effect
is only really visible when using a border width settings of > 1.

Fixes #379

3 years agosrc/view.c: Cache server pointer
Consolatis [Thu, 9 Jun 2022 14:38:17 +0000 (16:38 +0200)]
src/view.c: Cache server pointer

3 years agoChase wlroots: update wlroots.wrap to latest master
Consolatis [Thu, 9 Jun 2022 00:15:15 +0000 (02:15 +0200)]
Chase wlroots: update wlroots.wrap to latest master

To update the wlroots subproject use
meson subprojects update wlroots

Fixes #382

3 years agoview: if view->fullscreen on destroy, re-enable top-layer
Johan Malm [Tue, 7 Jun 2022 21:28:25 +0000 (22:28 +0100)]
view: if view->fullscreen on destroy, re-enable top-layer

The layer-shell top-layer is disabled when running an application in
fullscreen mode, so if this is the case on view_destroy() we have to
re-enabled the top-layer again.

Reported-by: @heroin-moose
Helped-by: @Consolatis
Fixes #377

3 years agoChase wlroots: update wlroots.wrap to latest master
Consolatis [Mon, 6 Jun 2022 17:39:48 +0000 (19:39 +0200)]
Chase wlroots: update wlroots.wrap to latest master

To update the wlroots subproject use
meson subprojects update wlroots

3 years agoChase wlroots: children are now only availabe in tree nodes
Consolatis [Sun, 5 Jun 2022 15:12:55 +0000 (17:12 +0200)]
Chase wlroots: children are now only availabe in tree nodes

Chases wlroots 71f8a48d380701de1e3331d53d470bd76f5f643b
wlr_scene: Move children list from wlr_scene_node to wlr_scene_tree

3 years agoChase wlroots: scene_node.state is now inlined
Consolatis [Sun, 5 Jun 2022 13:55:18 +0000 (15:55 +0200)]
Chase wlroots: scene_node.state is now inlined

Chases wlroots cb2dbc327e4d695c2a60a386e116a7dc20b29107
wlr_scene: Inline wlr_scene_node_state

3 years agoChase wlroots: every scene_node parent is now a tree
Consolatis [Sun, 5 Jun 2022 13:17:35 +0000 (15:17 +0200)]
Chase wlroots: every scene_node parent is now a tree

Chases wlroots ccd0f85c2a36308e35b153c7f9653abac7659af3
wlr_scene: Only allow parenting on a wlr_scene_tree

3 years agoChase wlroots: prep work: ssd to tree
Consolatis [Sun, 5 Jun 2022 13:17:15 +0000 (15:17 +0200)]
Chase wlroots: prep work: ssd to tree

3 years agoChase wlroots: prep work: menu to tree
Consolatis [Sun, 5 Jun 2022 12:42:06 +0000 (14:42 +0200)]
Chase wlroots: prep work: menu to tree

3 years agoChase wlroots: wlr_scene is now a tree node
Consolatis [Sat, 4 Jun 2022 21:38:37 +0000 (23:38 +0200)]
Chase wlroots: wlr_scene is now a tree node

Chases wlroots 9eb71146ae56c509ee33c7e8a662549592aad870
wlr_scene: Refactor wlr_scene (the root element) to encase a wlr_scene_tree

3 years agoview: when centering, top/left align if view is bigger than usable area
Johan Malm [Mon, 6 Jun 2022 17:38:04 +0000 (18:38 +0100)]
view: when centering, top/left align if view is bigger than usable area

3 years agoview: take into account top-margin for xwayland views
Johan Malm [Mon, 6 Jun 2022 17:33:40 +0000 (18:33 +0100)]
view: take into account top-margin for xwayland views

...in order to center accurately.

3 years agoview: center correctly with scale != 1
Johan Malm [Mon, 6 Jun 2022 17:31:18 +0000 (18:31 +0100)]
view: center correctly with scale != 1

Fixes issue #376

3 years agoxwayland-unmanaged: wl_list_remove() missing listeners on destroy
Johan Malm [Sun, 5 Jun 2022 21:10:15 +0000 (22:10 +0100)]
xwayland-unmanaged: wl_list_remove() missing listeners on destroy

3 years agoxwayland-unmanaged: remove excessive logging
Johan Malm [Sun, 5 Jun 2022 21:09:16 +0000 (22:09 +0100)]
xwayland-unmanaged: remove excessive logging

3 years agoxwayland-unmanaged: Fix set_geometry using container_of of wrong member
Joshua Ashton [Sun, 5 Jun 2022 20:42:02 +0000 (20:42 +0000)]
xwayland-unmanaged: Fix set_geometry using container_of of wrong member

Fixes a segfault with starting Steam.

3 years agoxwayland-unmanaged: fix typo
Johan Malm [Sun, 5 Jun 2022 08:55:25 +0000 (09:55 +0100)]
xwayland-unmanaged: fix typo

3 years agoxwayland-unmanaged: prepare for handling more events
Johan Malm [Sat, 4 Jun 2022 12:20:40 +0000 (13:20 +0100)]
xwayland-unmanaged: prepare for handling more events

Sway handles some xwayland events that labwc still does not. This commit
just starts to rig up some handlers for these with log messages if they
are caught.

  - set_geometry: try to handle, but cannot find an application that uses
    it, so is untested.
  - request_activate - just log caught event
  - override_redirect - just log caught event

3 years agodocs/environment: add _JAVA_AWT_WM_NONREPARENTING=1
Johan Malm [Sun, 5 Jun 2022 08:12:54 +0000 (09:12 +0100)]
docs/environment: add _JAVA_AWT_WM_NONREPARENTING=1

3 years agoxwayland-unmanaged: put all surfaces under server->unmanaged_tree
Johan Malm [Sat, 4 Jun 2022 13:08:46 +0000 (14:08 +0100)]
xwayland-unmanaged: put all surfaces under server->unmanaged_tree

...in order to render all unmanaged surfaces above views just like sway
does it:

https://github.com/swaywm/sway/blob/e5728052b59fb5b476c78c9f18b812a85d7f4503/sway/desktop/render.c#L1148

Fixes issue #367

3 years agosrc/config/keybind.c: fix keybind insertion order
Consolatis [Fri, 3 Jun 2022 20:40:26 +0000 (22:40 +0200)]
src/config/keybind.c: fix keybind insertion order

This restores the intended behavior of keybinds set by `<default />`
to be overwritten by manually configured keybinds which come later in
the config.

In `src/keyboard.c`, `handle_keybinding()` is going backwards through
the list of keybindings and breaks after the first match.

`wl_list_insert(&list_node, item)` will insert the new item *after* the
list_node so if its called multiple times with the same list_node as
fist argument the result will be a reversed list. Using `list_node.prev`
instead will result in a non-reversed list.

3 years agoPrevent missing direction arguments to segfault labwc
Consolatis [Fri, 3 Jun 2022 00:19:31 +0000 (02:19 +0200)]
Prevent missing direction arguments to segfault labwc

Reported-by: @Flrian
3 years agoCONTRIBUTING.md: fix typo s/sanitzise/sanitize/
Johan Malm [Fri, 3 Jun 2022 17:52:35 +0000 (18:52 +0100)]
CONTRIBUTING.md: fix typo s/sanitzise/sanitize/

3 years agoIRC notifications: disable push notifications
Consolatis [Thu, 2 Jun 2022 09:44:35 +0000 (11:44 +0200)]
IRC notifications: disable push notifications

They were also called for the 'master' and 'v0.5' branches of forks and are
not that helpful anyway because they just post the compare link and not the
title of the commits.

Additionally, they were also called whenever a PR was merged which already
has its own notification including a link to the PR.

3 years agodocs/meson.build: remove environment following 5de92c8
Johan Malm [Wed, 1 Jun 2022 17:14:26 +0000 (18:14 +0100)]
docs/meson.build: remove environment following 5de92c8

3 years agoIRC notifications: use NOTICE to prevent join/part
Consolatis [Wed, 1 Jun 2022 17:03:42 +0000 (19:03 +0200)]
IRC notifications: use NOTICE to prevent join/part

3 years agotheme: implement osd.border.color and osd.border.width
Consolatis [Tue, 31 May 2022 17:14:58 +0000 (19:14 +0200)]
theme: implement osd.border.color and osd.border.width

http://openbox.org/wiki/Help:Themes#osd.border.color
http://openbox.org/wiki/Help:Themes#osd.border.width

3 years agoExperimentally add IRC notifications for new PRs and Issues
Consolatis [Wed, 1 Jun 2022 01:27:24 +0000 (03:27 +0200)]
Experimentally add IRC notifications for new PRs and Issues

3 years agoMove config related content from labwc(1) to labwc-config(5)
Johan Malm [Tue, 31 May 2022 21:37:26 +0000 (22:37 +0100)]
Move config related content from labwc(1) to labwc-config(5)

Remove labwc-environment(5) as its contents are covered in
labwc-config(5)

3 years agoman pages: minor language and style changes
Johan Malm [Tue, 31 May 2022 21:01:26 +0000 (22:01 +0100)]
man pages: minor language and style changes

3 years agolabwc-config(5): move <resistance> to before <focus>
Johan Malm [Tue, 31 May 2022 20:57:00 +0000 (21:57 +0100)]
labwc-config(5): move <resistance> to before <focus>

...to make the config file flow better

3 years agoman pages: unify titles for better "man -k labwc" experience
Johan Malm [Tue, 31 May 2022 20:53:45 +0000 (21:53 +0100)]
man pages: unify titles for better "man -k labwc" experience

3 years agoCONTRIBUTING.md: add note on libinput debug-events
Johan Malm [Tue, 31 May 2022 20:44:31 +0000 (21:44 +0100)]
CONTRIBUTING.md: add note on libinput debug-events

3 years agoRevert "Fix dynamic output based scaling for menu and SSD"
Consolatis [Mon, 30 May 2022 19:05:32 +0000 (21:05 +0200)]
Revert "Fix dynamic output based scaling for menu and SSD"

As it turns out the reason for the workaround was a bug
in wlroots which got fixed in the meantime.

So to keep things simple just revert the workaround and
depend on the wlroots fix instead.

To update the wlroots subproject use
meson subprojects update wlroots

This reverts commit e87aa19066e5dae6ddfe1f4c5d4537474083436a.

3 years agoxwayland: call foreign-toplevel-destroy on unmap
Johan Malm [Tue, 17 May 2022 17:10:29 +0000 (18:10 +0100)]
xwayland: call foreign-toplevel-destroy on unmap

Some xwayland clients leave unmapped child views around, typically when a
dialog window is closed. Although handle_destroy() is not called for
these, we have to call foreign-toplevel-destroy to avoid panels and the
like incorrecly showing them.

3 years agoChase wlroots: xdg_popup.geometry
Consolatis [Mon, 30 May 2022 14:34:50 +0000 (16:34 +0200)]
Chase wlroots: xdg_popup.geometry

To update the wlroots subproject use
meson subprojects update wlroots

https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3514

3 years agoxwayland-unmanaged: focus parent surface on unmap
Jelle De Loecker [Mon, 30 May 2022 08:00:14 +0000 (10:00 +0200)]
xwayland-unmanaged: focus parent surface on unmap

Re-focus on parent surface if it is available

Fixes #352 relating to JetBrains and Intellij focus issues

3 years agoFix dynamic output based scaling for menu and SSD
Consolatis [Sun, 29 May 2022 16:34:25 +0000 (18:34 +0200)]
Fix dynamic output based scaling for menu and SSD

wlr_scene_buffers need an additional wlr_scene_buffer_set_source_box()
to be scaled correctly by wlroots based on the output scale.

With this commit the buffers are now scaled correctly but, especially
on higher scale factors, may be a bit blurry.

In the future we likely want a dynamic font label generator based
on the maximal scale of all the outputs the specific buffer is currently on.

Some inspiration for that could be
https://github.com/Nefsen402/sway/blob/scene-graph/sway/sway_text_buffer.c

Fixes #348

3 years agosrc/theme.c: Clean up corner buffers on finish
Consolatis [Thu, 26 May 2022 13:47:44 +0000 (15:47 +0200)]
src/theme.c: Clean up corner buffers on finish

3 years agosrc/osd.c: Free buf.buf as its malloc'd in buf_init()
Consolatis [Thu, 26 May 2022 13:39:51 +0000 (15:39 +0200)]
src/osd.c: Free buf.buf as its malloc'd in buf_init()

3 years agoDeal with font_buffer_create() failures
Consolatis [Thu, 26 May 2022 13:34:08 +0000 (15:34 +0200)]
Deal with font_buffer_create() failures

3 years agoCONTRIBUTING.md: describe WLR_WL_OUTPUTS
Johan Malm [Thu, 26 May 2022 21:05:21 +0000 (22:05 +0100)]
CONTRIBUTING.md: describe WLR_WL_OUTPUTS

3 years agoCONTRIBUTING.md: add notes on debugging
Johan Malm [Thu, 26 May 2022 20:51:17 +0000 (21:51 +0100)]
CONTRIBUTING.md: add notes on debugging

3 years agoChase wlroots: wlr_scene_surface
Consolatis [Wed, 25 May 2022 22:39:04 +0000 (00:39 +0200)]
Chase wlroots: wlr_scene_surface

To update the wlroots subproject use
meson subprojects update wlroots

3 years agodesktop_node_and_view_at(): handle layer surfaces
Consolatis [Tue, 24 May 2022 17:51:15 +0000 (19:51 +0200)]
desktop_node_and_view_at(): handle layer surfaces

+ Replace some tabs with spaces in include/node.h

Fixes: #278
3 years agosrc/cursor.c: Ignore out-of-surface movement for surfaces without views
Consolatis [Wed, 25 May 2022 19:46:47 +0000 (21:46 +0200)]
src/cursor.c: Ignore out-of-surface movement for surfaces without views

3 years agosrc/cursor.c: Ensure we send a release event for out-of-surface scrolling
Consolatis [Wed, 25 May 2022 19:45:48 +0000 (21:45 +0200)]
src/cursor.c: Ensure we send a release event for out-of-surface scrolling

3 years agocursor: offset xdg invisible border when dragging outside view
Johan Malm [Tue, 24 May 2022 16:49:21 +0000 (17:49 +0100)]
cursor: offset xdg invisible border when dragging outside view

Note: view->padding was deleted in commit b279550 as the wlroots
scene-graph xdg-surface commit handler offsets the CSD invisible border.
If view->padding still existed, we could have used that, but considering
that this is probably the only place where this offset will now be
needed (because we're generating surface local coordinates), it's simpler
to just do it locally.

Related to issue #340

Written-by: @Consolatis
3 years agosrc/cursor.c: Fix branch condition for out-of-view selecting/dragging
Consolatis [Tue, 24 May 2022 11:02:51 +0000 (13:02 +0200)]
src/cursor.c: Fix branch condition for out-of-view selecting/dragging

Instead of using the stored view for comparison use the actual surface.

Before this patch, there were situations where the branch intended for
out-of-window text selection / scrollbar dragging was used even though
the cursor never left the surface.

Partly fixes #340

3 years agoMerge pull request #334 from Consolatis/fix/maintainers
Johan Malm [Fri, 20 May 2022 20:20:42 +0000 (21:20 +0100)]
Merge pull request #334 from Consolatis/fix/maintainers

Update list of package maintainers

3 years agoUpdate list of package maintainers
Consolatis [Fri, 20 May 2022 20:15:38 +0000 (22:15 +0200)]
Update list of package maintainers

3 years agoresistance.c: init flags in resistance_resize_apply() too
Johan Malm [Wed, 18 May 2022 19:53:46 +0000 (20:53 +0100)]
resistance.c: init flags in resistance_resize_apply() too

3 years agoresistance.c: initialize 'flags' to zero
Johan Malm [Wed, 18 May 2022 15:52:49 +0000 (16:52 +0100)]
resistance.c: initialize 'flags' to zero

Failure to initialize this variable sometimes causes windows to stick to
edges during move/resize.

Issues #331 and #309 may be related to this

3 years agoMerge pull request #330 from Consolatis/chase/wlroots_xdg_version
Johan Malm [Wed, 18 May 2022 15:46:33 +0000 (16:46 +0100)]
Merge pull request #330 from Consolatis/chase/wlroots_xdg_version

Chase wlroots xdg_shell version

3 years agoChase wlroots xdg_shell version
Consolatis [Wed, 18 May 2022 11:55:33 +0000 (13:55 +0200)]
Chase wlroots xdg_shell version

To update the wlroots subproject use
meson subprojects update wlroots

3 years agoREADME: Document what is needed to run on NVIDIA
Joshua Ashton [Wed, 18 May 2022 00:51:13 +0000 (00:51 +0000)]
README: Document what is needed to run on NVIDIA

Closes: #324
3 years agoNEWS.md: add notes on 0.5.2
Johan Malm [Tue, 17 May 2022 19:39:49 +0000 (20:39 +0100)]
NEWS.md: add notes on 0.5.2

3 years agosrc/xwayland.c: keep SSD state on unmap/map cycle
Consolatis [Tue, 17 May 2022 12:33:12 +0000 (14:33 +0200)]
src/xwayland.c: keep SSD state on unmap/map cycle

Move SSD related map() work into the !view->been_mapped branch,
similar to src/xdg.c.

Without this patch following series of events restores the initial
state of the SSD when activating the view:
- spawn xcalc
- observe it shows the SSD
- toggleDecorations to hide the SSD (via keybinding or window menu)
- minimize xcalc (via some panel or A-Space)
- activate xcalc (via some panel or A-Tab)
- observe the SSD is back visible

3 years agoMerge pull request #321 from eli-schwartz/meson-subproject-cleanup
Consolatis [Mon, 9 May 2022 23:32:32 +0000 (01:32 +0200)]
Merge pull request #321 from eli-schwartz/meson-subproject-cleanup

meson: use proper dependency fallback for wlroots

3 years agomeson: use proper dependency fallback for wlroots
Eli Schwartz [Mon, 9 May 2022 21:44:47 +0000 (17:44 -0400)]
meson: use proper dependency fallback for wlroots

Make the subproject wrap file declare the dependencies it provides.

Remove the manual subproject invocation and allow Meson to select
whichever wlroots it finds which satisfies the version requirement --
either a system one via pkg-config, or the subproject fallback.

Use a dependency-generic method of acquiring wlroots configuration info
-- enabled features are present in the pkg-config file and additionally
exported as declare_dependency() variables, so there is no need to do C
preprocessor checks for it.

This ensures that Meson best practices are followed, and also...

Fixes #318

3 years agolabwc-action(5): remove incorrect <command>
Johan Malm [Fri, 6 May 2022 20:57:13 +0000 (21:57 +0100)]
labwc-action(5): remove incorrect <command>

<action name="Close"> does not support a <command> option

3 years agomenu: support <action name="Execute"> option <execute>
Johan Malm [Fri, 6 May 2022 20:55:46 +0000 (21:55 +0100)]
menu: support <action name="Execute"> option <execute>

<exectue> is a deprecated name for <command>.
See: http://openbox.org/wiki/Help:Actions#Action_syntax

But some openbox3 menu generators still use it, for example
https://wiki.archlinux.org/title/xdg-menu - so let's support it for
backward compatibility.

3 years agomenu: avoid logging on <item label="" icon="">
Johan Malm [Fri, 6 May 2022 20:52:46 +0000 (21:52 +0100)]
menu: avoid logging on <item label="" icon="">

Labwc does not support menu icons, but we should not log errors if a
menu file contains icons as in the example below:

<item label="" icon="">
  <action name="Execute">
    <command></command>
  </action>
</item>

3 years agodocs/autostart: use wlopm with *
Johan Malm [Wed, 4 May 2022 20:52:20 +0000 (21:52 +0100)]
docs/autostart: use wlopm with *

With swayidle timeout/resume, use wlopm --off/--on with * instead of
specifying output names. When * is given as parameter to an operation
wlopm will do the operation for all discovered outputs.

https://git.sr.ht/~leon_plickat/wlopm/tree/master/item/wlopm.1#L68

3 years agoMove .gitignore to subprojects/
Johan Malm [Tue, 3 May 2022 19:55:24 +0000 (20:55 +0100)]
Move .gitignore to subprojects/

Because it keeps the toplevel directory cleaner

3 years agosubprojects/seatd.wrap: s/master/0.6.4/
Johan Malm [Tue, 3 May 2022 19:53:41 +0000 (20:53 +0100)]
subprojects/seatd.wrap: s/master/0.6.4/

3 years agoxwayland: handle set_override_redirect events
Johan Malm [Tue, 3 May 2022 18:44:31 +0000 (19:44 +0100)]
xwayland: handle set_override_redirect events

This is needed to allow X11 applications to create surfaces as
non-override_redirect and then change them to override_redirect later

Without this gitk-menus and rofi are treated as xwayland-views with
associated server-side-decoration and forced positioning.

3 years agonls: add native language support
01micko [Sun, 1 May 2022 04:38:45 +0000 (14:38 +1000)]
nls: add native language support

- adds labwc.pot and po files for de, es, it and sv
- added notes in NEWS.md and CONTRIBUTING.md
- addresses #269
- conditional upon `msgfmt` being installed
- can be disabled at build time

3 years agosrc/output.c: Make sure we are always using the correct scene_node
Consolatis [Sat, 30 Apr 2022 23:23:31 +0000 (01:23 +0200)]
src/output.c: Make sure we are always using the correct scene_node

Also make sure we are only applying layout specific changes
once the output specific ones were committed successfully.

Fixes #312
Reported-By: @fakeczg
3 years agosrc/ssd/ssd.c: remove superfluous WLR_ERROR log message
Johan Malm [Thu, 28 Apr 2022 21:33:56 +0000 (22:33 +0100)]
src/ssd/ssd.c: remove superfluous WLR_ERROR log message

3 years agoxdg-shell: set fallback geometry if width/height == 0 on unmaximize
Johan Malm [Thu, 28 Apr 2022 20:37:32 +0000 (21:37 +0100)]
xdg-shell: set fallback geometry if width/height == 0 on unmaximize

3 years agoxdg-shell: set view position before view_maximize()
Johan Malm [Tue, 26 Apr 2022 20:46:40 +0000 (21:46 +0100)]
xdg-shell: set view position before view_maximize()

...on first map so that view->unmaximized_geometry is known even if an
xdg-shell application started in maximized mode.

Fixes issue #305
Reported-by: @01micko
3 years agocursor.c:func is_double_click add check view
yizixiao [Thu, 28 Apr 2022 08:26:48 +0000 (16:26 +0800)]
cursor.c:func is_double_click add check view

3 years agoserver.c: remove redundant TODO comment
Johan Malm [Tue, 26 Apr 2022 20:58:23 +0000 (21:58 +0100)]
server.c: remove redundant TODO comment

3 years agoview: do not crash on missing output
Johan Malm [Tue, 26 Apr 2022 20:55:04 +0000 (21:55 +0100)]
view: do not crash on missing output

We should survive all outputs being disabled

3 years agosrc/common/dirs.c: add missing slash
Johan Malm [Tue, 26 Apr 2022 20:50:24 +0000 (21:50 +0100)]
src/common/dirs.c: add missing slash

Change "opt/share/themes" to "/opt/share/themes"

3 years agoRevert "config: support <mouse><default />"
Consolatis [Tue, 26 Apr 2022 17:38:14 +0000 (19:38 +0200)]
Revert "config: support <mouse><default />"

This reverts commit 3d337857b7b0edb76083b4e6a7e15abfb288182a.

Revert for now until we have some infrastructure in place to
selectively replace default {key,mouse}binds with custom ones.

Fixes #304
Reported-by: @01micko
3 years agolayer: handle output_destroy.notify without crash
Johan Malm [Sun, 24 Apr 2022 21:24:47 +0000 (22:24 +0100)]
layer: handle output_destroy.notify without crash

Steps to reproduce crash:
- run nested with two outputs (e.g. WLR_WL_OUTPUTS=2 ./build/labwc)
- start panel on one output (e.g. waybar)
- close that output

Backtrace pointed to output_destroy_notify() at ../src/layers.c:92

Reported-by: @Consolatis
3 years agoview: Refactor view destruction some more
Consolatis [Sat, 23 Apr 2022 01:44:41 +0000 (03:44 +0200)]
view: Refactor view destruction some more

3 years agodocs/environment: add WLR_NO_HARDWARE_CURSORS example
Johan Malm [Fri, 22 Apr 2022 16:55:31 +0000 (17:55 +0100)]
docs/environment: add WLR_NO_HARDWARE_CURSORS example

3 years agotheme: change window.label.text.justify default to center
Johan Malm [Fri, 22 Apr 2022 16:54:20 +0000 (17:54 +0100)]
theme: change window.label.text.justify default to center

It just looks better :)

3 years agoconfig: support <mouse><default />
Johan Malm [Fri, 22 Apr 2022 16:52:01 +0000 (17:52 +0100)]
config: support <mouse><default />

This loads default mousebinds and provides a way to keep config files
simpler whilst allowing user specific binds.

Note that if no rc.xml is found, or if no <mouse><mousebind> entries
exist, the same default mousebinds will be loaded even if the <default />
element is not provided.

Example usage:

  <mouse>
    <default />
    <context name="Root">
      <mousebind button="Right" action="Press">
        <action name="Execute" command="my-menu-application" />
      </mousebind>
    </context>
  </mouse>

3 years agoAdd command line option -C to specify config directory
Johan Malm [Fri, 22 Apr 2022 16:00:36 +0000 (17:00 +0100)]
Add command line option -C to specify config directory

Also expand usage message to explain what each option means

3 years agoview: Refactor view destruction
Joshua Ashton [Thu, 21 Apr 2022 23:33:44 +0000 (23:33 +0000)]
view: Refactor view destruction

Consolidates all of the view destruction code for xwl + xdg into one function.

Fixes several notable bugs along the way:
  - Fixes a crash when alt tabbing when a selected view gets destroyed.
  - Fixes the OSD not updating to reflect a view has been destroyed.

3 years agoREADME.md: move important links to top
Johan Malm [Thu, 21 Apr 2022 20:27:41 +0000 (21:27 +0100)]
README.md: move important links to top

3 years agolabwc-menu(1): fix s/openbox/labwc/ typo
Johan Malm [Thu, 21 Apr 2022 20:26:04 +0000 (21:26 +0100)]
labwc-menu(1): fix s/openbox/labwc/ typo