]> git.mdlowis.com Git - proto/labwc.git/log
proto/labwc.git
3 years agoview/ssd: Refactor and fix visual indication for active windows
John Lindgren [Fri, 26 Aug 2022 06:02:19 +0000 (02:02 -0400)]
view/ssd: Refactor and fix visual indication for active windows

Partially fixes #494.

Co-Authored-by: Consolatis
3 years agosrc/{common/font,theme}.c: Switch to cairo helpers
Consolatis [Fri, 26 Aug 2022 02:50:54 +0000 (04:50 +0200)]
src/{common/font,theme}.c: Switch to cairo helpers

3 years agoDisconnect view from destroying output
Consolatis [Wed, 24 Aug 2022 19:12:24 +0000 (21:12 +0200)]
Disconnect view from destroying output

Fixes #497

Reported-by @Flrian

3 years agoAdd config option to disable preview outlines
Flrian [Wed, 24 Aug 2022 18:27:08 +0000 (20:27 +0200)]
Add config option to disable preview outlines

3 years agokeyboard: Hide Alt-Tab switcher when canceling via Escape
John Lindgren [Sun, 21 Aug 2022 19:07:16 +0000 (15:07 -0400)]
keyboard: Hide Alt-Tab switcher when canceling via Escape

3 years agoosd: Do not show window switcher on disabled outputs
John Lindgren [Sun, 21 Aug 2022 19:01:32 +0000 (15:01 -0400)]
osd: Do not show window switcher on disabled outputs

3 years agosrc/osd.c: Add preview outlines
Consolatis [Mon, 4 Jul 2022 18:15:03 +0000 (20:15 +0200)]
src/osd.c: Add preview outlines

3 years agocommon/graphic-helpers: Add cairo helpers
Consolatis [Sat, 20 Aug 2022 18:11:58 +0000 (20:11 +0200)]
common/graphic-helpers: Add cairo helpers

3 years agocommon/graphic-helpers: Add multi_rect
Consolatis [Fri, 19 Aug 2022 22:01:06 +0000 (00:01 +0200)]
common/graphic-helpers: Add multi_rect

3 years agolabwc-theme(5): add menu.xbm
Johan Malm [Fri, 19 Aug 2022 21:50:12 +0000 (22:50 +0100)]
labwc-theme(5): add menu.xbm

3 years agoview: view_move() s/double/int/ for x and y
Johan Malm [Wed, 17 Aug 2022 20:41:49 +0000 (21:41 +0100)]
view: view_move() s/double/int/ for x and y

3 years agofunc output_destroy_notify add free
yizixiao [Wed, 17 Aug 2022 05:36:33 +0000 (13:36 +0800)]
func output_destroy_notify add free

3 years agosrc/cursor.c: refactor nested if-statements
Johan Malm [Tue, 16 Aug 2022 20:57:37 +0000 (21:57 +0100)]
src/cursor.c: refactor nested if-statements

3 years agocursor: do not clamp motion coordinates for xdg-shell surfaces
Johan Malm [Tue, 16 Aug 2022 20:56:39 +0000 (21:56 +0100)]
cursor: do not clamp motion coordinates for xdg-shell surfaces

...when pointer moves off the xdg-shell surface which is possible when
for example grabbing a scroll-bar or selecting text.

Clamping results in undetected pointer motion when applied in the
direction of movement (for example clamping at view->y masks vertical
movement when the y-coordinate is greater than view->y), which in turn
can appear as sporadic to the end-user.

3 years agosrc/cursor.c: Keep sending motion events for out-of-layer-surface
Consolatis [Sun, 14 Aug 2022 12:40:56 +0000 (14:40 +0200)]
src/cursor.c: Keep sending motion events for out-of-layer-surface

Previously, motion events for a cursor which had been pressed on a surface
and then moved out of the surface were only sent for XDG and X11 surfaces.

This patch includes layer surfaces as well.

Fixes #483

3 years agocursor: Do not clamp motion coordinates for XWayland surfaces.
John Lindgren [Sat, 13 Aug 2022 15:36:07 +0000 (11:36 -0400)]
cursor: Do not clamp motion coordinates for XWayland surfaces.

X11 apps expect to be able to receive motion events outside
the window area (this is necessary for client-side move/resize
handles to work properly).  So do not clamp the motion
coordinates for XWayland surfaces.

Before this change, attempting to enlarge an XWayland window
using a client-side resize handle resulted in the window size
lagging behind the mouse cursor quite severely, since each
motion event was in effect allowed to expand the window by
only a few pixels.  The closer the initial button-press was
to the edge of the window, the worse the lag would be.

3 years agokeybind: remove default alt-escape for Exit
Johan Malm [Fri, 12 Aug 2022 20:36:26 +0000 (21:36 +0100)]
keybind: remove default alt-escape for Exit

...because too many have exited the compositor by mistake trying to get
out of alt-tab cycling or similar.

3 years agosrc/ssd/ssd_titlebar.c: Completely hide title when running out of space
Consolatis [Fri, 12 Aug 2022 12:12:31 +0000 (14:12 +0200)]
src/ssd/ssd_titlebar.c: Completely hide title when running out of space

Before this commit the window title could overflow in certain conditions,
usually when rapidly resizing. This commit fixes it by completely hiding
the corresponding scene node when there is no space available.

Reported-by: <peperino> via IRC
3 years agoscaled_font_buffer.c: simplify calls to zfree()
Johan Malm [Tue, 2 Aug 2022 21:01:51 +0000 (22:01 +0100)]
scaled_font_buffer.c: simplify calls to zfree()

There is no need to check foo != NULL before zfree(foo)

3 years agomenu: render submenu arrows
Johan Malm [Tue, 2 Aug 2022 21:00:24 +0000 (22:00 +0100)]
menu: render submenu arrows

3 years agofont: remove unused font_buffer_update()
Johan Malm [Tue, 2 Aug 2022 20:43:44 +0000 (21:43 +0100)]
font: remove unused font_buffer_update()

3 years agomenu: do not require label attribute for highest level menu definition
Johan Malm [Thu, 11 Aug 2022 17:43:51 +0000 (18:43 +0100)]
menu: do not require label attribute for highest level menu definition

Allow highest level menu definitions - typically used for root-menu and
client-menu - to be defined like this:

    <openbox_menu>
      <menu id="">
      </menu>
    </openbox>

Previously this required a label attribute (which was not used for
anything and could be an empty string) as show below:

    <openbox_menu>
      <menu id="" label="">
      </menu>
    </openbox>

Closes issue #472

3 years agosrc/xwayland-unmanaged.c: Prevent racing configure event to reposition
Consolatis [Wed, 10 Aug 2022 04:14:55 +0000 (06:14 +0200)]
src/xwayland-unmanaged.c: Prevent racing configure event to reposition

Fixes #469

Reported-by: @Flrian
Suggested-by: @jlindgren90
3 years agoREADME.md: fix broken link for 'environment' man page
01micko [Mon, 1 Aug 2022 10:15:06 +0000 (20:15 +1000)]
README.md: fix broken link for 'environment' man page

- re: https://github.com/labwc/labwc.github.io/pull/1

3 years agoCI: auto-update freebsd-vm within major version
Jan Beich [Fri, 29 Jul 2022 20:09:06 +0000 (20:09 +0000)]
CI: auto-update freebsd-vm within major version

Reduce the churn by transparently picking up bustage fixes.

3 years agosrc/config/session.c: Handle allocation failures
Consolatis [Thu, 28 Jul 2022 09:03:50 +0000 (11:03 +0200)]
src/config/session.c: Handle allocation failures

Reported-by: @heroin-moose
3 years agosrc/config/session.c: Update dbus / systemd activation environment
Consolatis [Wed, 27 Jul 2022 23:06:56 +0000 (01:06 +0200)]
src/config/session.c: Update dbus / systemd activation environment

This allows xdg-desktop-portal-wlr to work out of the box for screen-recording.
If systemd or dbus is not available the environment update will fail gracefully.

This patch will set XDG_CURRENT_DESKTOP=wlroots but a user may change this by
either having the environment variable set before starting labwc or by having
a different value set in ~/.config/labwc/environment.

Based on PR #461 by @Joshua-Ashton

3 years agosrc/view.c: Fix output handling with no outputs available
Consolatis [Sun, 24 Jul 2022 20:43:41 +0000 (22:43 +0200)]
src/view.c: Fix output handling with no outputs available

Reported-by: @Flrian
3 years agoxwayland: Process unmanaged client configure requests more quickly
John Lindgren [Sat, 23 Jul 2022 15:20:34 +0000 (11:20 -0400)]
xwayland: Process unmanaged client configure requests more quickly

This is a similar fix to 065c37d3f5ee but for unmanaged windows.  The issue
could be seen for example when moving the undocked Search Tool window in
Audacious.  For unmanaged windows, we don't track any pending move/resizes,
so just process all client configure requests immediately.

3 years agoMerge pull request #457 from Consolatis/fix/xwayland_seat
Johan Malm [Thu, 21 Jul 2022 17:13:08 +0000 (18:13 +0100)]
Merge pull request #457 from Consolatis/fix/xwayland_seat

xwayland: (Re)set seat when xwayland is ready

3 years agoCI: Use MacOS-12 for FreeBSD runner
Consolatis [Thu, 21 Jul 2022 02:39:41 +0000 (04:39 +0200)]
CI: Use MacOS-12 for FreeBSD runner

3 years agoxwayland: (Re)set seat when xwayland is ready
Consolatis [Thu, 21 Jul 2022 00:47:20 +0000 (02:47 +0200)]
xwayland: (Re)set seat when xwayland is ready

For some reason wlroots will reset the seat assigned to xwayland
to NULL whenever Xwayland terminates. This patch restores the seat
whenever Xwayland is ready again.

Fixes #166
Fixes #444

Thanks @droc12345 for figuring out the actual issue.

3 years agoCI: Update FreeBSD runner
Consolatis [Thu, 21 Jul 2022 01:42:38 +0000 (03:42 +0200)]
CI: Update FreeBSD runner

3 years agoxwayland: Process move-only client configure requests more quickly
John Lindgren [Mon, 18 Jul 2022 03:42:04 +0000 (23:42 -0400)]
xwayland: Process move-only client configure requests more quickly

For a move-only client configure request, treat it similarly to
view_move() by updating the scene-graph immediately, rather than waiting
for handle_commit().  Move-and-resize requests are handled the same as
before.

This (mostly?) fixes the glitchiness that was noticeable when dragging
an undecorated XWayland window (e.g. Audacious in Winamp mode).

Also:

- Reduce some code duplication in handle_request_configure() by
  simply calling configure(), as suggested by @johanmalm in #428.
- Factor out common logic after a move and/or resize into view_moved().

3 years agoresistance: Do not consider edges of disabled outputs
John Lindgren [Mon, 18 Jul 2022 03:39:36 +0000 (23:39 -0400)]
resistance: Do not consider edges of disabled outputs

3 years agocursor: Move resistance_resize_apply() before view_adjust_size()
John Lindgren [Mon, 18 Jul 2022 03:38:11 +0000 (23:38 -0400)]
cursor: Move resistance_resize_apply() before view_adjust_size()

This ensures that screen edge resistance does not result in sizes
that violate WM_SIZE_HINTS constraints.

Also correct a coding style issue nearby.

3 years agoMerge pull request #454 from Joshua-Ashton/bump-fd-limit
Johan Malm [Sun, 17 Jul 2022 13:24:05 +0000 (14:24 +0100)]
Merge pull request #454 from Joshua-Ashton/bump-fd-limit

main: Increase FD limit

3 years agomain: Increase FD limit
Joshua Ashton [Sun, 17 Jul 2022 00:49:26 +0000 (00:49 +0000)]
main: Increase FD limit

This defaults to 1024, which is tiny, but is a requirement
for processes using the deprecated `select` function.

We must reset this back whenever we fork to start a new process,
as this is inherited, and breaks applications using `select` otherwise.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
3 years agocommon: Add helpers for raising/lowering FD limit
Joshua Ashton [Sun, 17 Jul 2022 00:47:20 +0000 (00:47 +0000)]
common: Add helpers for raising/lowering FD limit

Signed-off-by: Joshua Ashton <joshua@froggi.es>
3 years agobuf.c: fix bug in environment variable expansion
Johan Malm [Fri, 15 Jul 2022 19:29:49 +0000 (20:29 +0100)]
buf.c: fix bug in environment variable expansion

Allow underscore in environment variable names.

Closes issue #439

Helped-by: @Consolatis
...who both found the bug and told us how to fix it :)

3 years agoNEWS.md: add notes on 0.5.3
Johan Malm [Fri, 15 Jul 2022 19:05:43 +0000 (20:05 +0100)]
NEWS.md: add notes on 0.5.3

3 years agoNEWS.md: add notes on 0.6.0
Johan Malm [Wed, 13 Jul 2022 23:24:25 +0000 (00:24 +0100)]
NEWS.md: add notes on 0.6.0

3 years agocursor: Fix crash when creating a cursor constraint
Joshua Ashton [Thu, 14 Jul 2022 02:19:36 +0000 (02:19 +0000)]
cursor: Fix crash when creating a cursor constraint

Fix crash when creating a cursor constraint and there is no currently
focused view.

Fixes a crash starting Warhammer 40,000: Dawn of War II (15620)

3 years agoconfig/rcxml.c: Fix parsing of adaptiveSync setting
Consolatis [Wed, 13 Jul 2022 23:01:10 +0000 (01:01 +0200)]
config/rcxml.c: Fix parsing of adaptiveSync setting

3 years agoCI: upgrade FreeBSD to 13.1
Jan Beich [Wed, 13 Jul 2022 21:30:36 +0000 (21:30 +0000)]
CI: upgrade FreeBSD to 13.1

FreeBSD doesn't support /latest and /quarterly package repos on EOL
versions. 13.0 reaches EOL on 2022-08-31, so avoid CI breakage.

3 years agoCI: Add missing deps for Void Linux runner
Krsna Mahapatra [Mon, 11 Jul 2022 20:49:25 +0000 (16:49 -0400)]
CI: Add missing deps for Void Linux runner

3 years agosrc/view.c: Prevent crash by killing a moving application
Consolatis [Sun, 10 Jul 2022 21:24:32 +0000 (23:24 +0200)]
src/view.c: Prevent crash by killing a moving application

When a view is destroyed labwc calls interactive_end(view) which
may reposition the view which is partly destroyed and doesn't own
any surface anymore. To prevent this scenario from happening don't
call interactive_end() at all and just reset server->grabbed_view
and server->input_mode directly.

Before this patch, the bug could be reproduced by:
- xcalc &
- sleep 5; killall xcalc
- move the xcalc window completely to one of the edges

The change in src/xwayland.c is not required for this bug
to be fixed but may prevent something similar in the future.

3 years agoREADME.md: refresh and refactor
Johan Malm [Sun, 10 Jul 2022 15:43:05 +0000 (16:43 +0100)]
README.md: refresh and refactor

- Use &nsbp; in links with spaces
- Change headings from verbs to nouns
- Combine build and install headings
- In 'What is this', use the text on the labwc website
- Remove video links; one wasn't working and the other were very old
- Use more recent screenshot
- Simplify the 'labwc supports the following' bullet points
- Split dependencies into build and run-time
- Remove dependecy version numbers and let meson.build be the source of
  truth
- Simplify config file table by taking out middle column
- Split the configuration section into configuration and theming
- s/roadmap/scope
- Change man page links from docs/ to labwc.github.io/

3 years agosrc/output.c: Always react to new output configuration
Consolatis [Fri, 8 Jul 2022 22:42:04 +0000 (00:42 +0200)]
src/output.c: Always react to new output configuration

Without this fix we will never react to output configuration changes
via wlr-randr and friends.

If output_config_apply() commits the new config, handle_output_layout_change()
is called but doesn't do anything because the config is still pending.

This patch moves the code into its own function do_output_layout_change()
which additionally gets called after all output configs are committed.

The original handler is turned into a wrapper around do_output_layout_change().

Reported-by @heroin-moose

3 years agoxwayland.c: fix position bug
Johan Malm [Mon, 4 Jul 2022 17:25:52 +0000 (18:25 +0100)]
xwayland.c: fix position bug

Set node position in the configure/set_geometry handlers when moving a
window in response to a client request.

Steps to reproduce weird positioning fixed by this patch:

1. Start leafpad
2. Open Help->About
3. Move the dialog
4. Close the dialog
5. Open it again
6. Drag it and observe a jump in position

There is also an xwayland PyQt5 script in PR #428 which demonstrates
jumpy position.

3 years agosrc/action.c: Convert action->arg to a list of action_arg
Consolatis [Fri, 10 Jun 2022 17:42:34 +0000 (19:42 +0200)]
src/action.c: Convert action->arg to a list of action_arg

In preperation for Actions that require multiple arguments

3 years agosrc/view.c: Fall back to default geometry when changing state
Consolatis [Sat, 2 Jul 2022 18:23:14 +0000 (20:23 +0200)]
src/view.c: Fall back to default geometry when changing state

This makes sure that applications starting in maximized of fullscreen
mode always have their natural_geometry set to sensible values.

Partly fixes #403

3 years ago(Partly) fix handling of client-initiated configure requests
John Lindgren [Sat, 2 Jul 2022 17:18:31 +0000 (13:18 -0400)]
(Partly) fix handling of client-initiated configure requests

- Add missing call to wlr_scene_node_set_position() in
  unmanaged_handle_commit() -- this fixes moving unmanaged XWayland
  windows.

- Update view->pending_move_resize when we receive a configure request
  for a managed XWayland surface -- this fixes moving managed but
  undecorated XWayland windows.

- Also update view->pending_move_resize when we move a surface while a
  configure request is already pending -- this fixes a discrepancy
  between displayed and actual position for XWayland windows that try to
  set their own initial position, but then get overridden by labwc's
  positioning.

Moving undecorated XWayland windows is still really glitchy -- it appears
that an XWayland window gets sent incorrect mouse motion coordinates when
there is a pending configure request moving the window itself.

3 years agoRestore original geometry when moving a tiled window
Consolatis [Fri, 1 Jul 2022 18:42:41 +0000 (20:42 +0200)]
Restore original geometry when moving a tiled window

Fixes #391

3 years agoRename unmaximized_geometry to natural_geometry
Consolatis [Fri, 1 Jul 2022 17:34:56 +0000 (19:34 +0200)]
Rename unmaximized_geometry to natural_geometry

3 years agosrc/view.c: Unmaximize on SnapToEdge
Consolatis [Fri, 1 Jul 2022 18:44:40 +0000 (20:44 +0200)]
src/view.c: Unmaximize on SnapToEdge

3 years agosrc/view.c: Prevent SnapToEdge while in fullscreen
Consolatis [Fri, 1 Jul 2022 18:42:09 +0000 (20:42 +0200)]
src/view.c: Prevent SnapToEdge while in fullscreen

3 years agosrc/view.c: Re-arrange tiled windows on un-fullscreen and un-maximize
Consolatis [Fri, 1 Jul 2022 18:40:18 +0000 (20:40 +0200)]
src/view.c: Re-arrange tiled windows on un-fullscreen and un-maximize

3 years agosrc/view.c: Re-arrange tiled windows on decoration change
Consolatis [Fri, 1 Jul 2022 17:40:27 +0000 (19:40 +0200)]
src/view.c: Re-arrange tiled windows on decoration change

3 years agosrc/view.c: Re-arrange tiled windows on layout change
Consolatis [Fri, 1 Jul 2022 00:12:23 +0000 (02:12 +0200)]
src/view.c: Re-arrange tiled windows on layout change

3 years agosrc/view.c: Convert SnapToEdge to use view_apply_xxx_geometry framework
Consolatis [Fri, 1 Jul 2022 00:07:40 +0000 (02:07 +0200)]
src/view.c: Convert SnapToEdge to use view_apply_xxx_geometry framework

3 years agosrc/layers.c: Prevent re-arranging views if usable_area didn't change
Consolatis [Thu, 30 Jun 2022 22:55:15 +0000 (00:55 +0200)]
src/layers.c: Prevent re-arranging views if usable_area didn't change

3 years agosrc/layers.c: Adjust views based on usable_area changes
Consolatis [Thu, 30 Jun 2022 18:02:24 +0000 (20:02 +0200)]
src/layers.c: Adjust views based on usable_area changes

3 years agosrc/ssd/ssd.c: Keep view->margin in sync when toggling decorations
Consolatis [Tue, 28 Jun 2022 17:42:40 +0000 (19:42 +0200)]
src/ssd/ssd.c: Keep view->margin in sync when toggling decorations

Fixes #409

3 years agoFix usable area calculation
Consus [Tue, 28 Jun 2022 19:47:48 +0000 (22:47 +0300)]
Fix usable area calculation

Currently if a surface with exclusive zone is created prior to regular
surfaces, the size of the exclusize zone does not affect the usable area
for regular surfaces. This for example results in notifications being
rendered over the statusbar.

This commit fixes the issue by handling the surfaces with exclusive
zones first.

Fixes #420.

3 years agoChase wlroots: wlr_input_device refactor
Consolatis [Sat, 25 Jun 2022 13:57:04 +0000 (15:57 +0200)]
Chase wlroots: wlr_input_device refactor

To update the wlroots subproject use
meson subprojects update wlroots

Chases wlroots 91943a68a6976ef7c4cc70afc07954a00fae678b
wlr_input_device: remove anon union field

Fixes #415

3 years agomenu: support <separator />
Johan Malm [Wed, 22 Jun 2022 20:07:25 +0000 (21:07 +0100)]
menu: support <separator />

Add theme options:
- menu.separator.width
- menu.separator.padding.width
- menu.separator.padding.height
- menu.separator.color

Support separator lines defined by <separator />

Note that separator labels (with text) defined by <separator label="" />
are not supported.

3 years agoCI: add FreeBSD runner
Consolatis [Thu, 23 Jun 2022 20:37:20 +0000 (22:37 +0200)]
CI: add FreeBSD runner

Fixes #413

3 years agoREADME: add link to website
Johan Malm [Wed, 22 Jun 2022 20:19:50 +0000 (21:19 +0100)]
README: add link to website

3 years agoREADME: update links to scope document
Johan Malm [Wed, 22 Jun 2022 20:12:54 +0000 (21:12 +0100)]
README: update links to scope document

3 years agosrc/action.c: Fix includes for kill() and getpid()
Consolatis [Tue, 21 Jun 2022 16:48:05 +0000 (18:48 +0200)]
src/action.c: Fix includes for kill() and getpid()

Fixes #410

3 years agoCI: add Void Linux in musl variant
Consolatis [Tue, 21 Jun 2022 18:46:58 +0000 (20:46 +0200)]
CI: add Void Linux in musl variant

3 years agosrc/osd.c: fix max text width
Flrian [Sun, 19 Jun 2022 19:10:03 +0000 (21:10 +0200)]
src/osd.c: fix max text width

Making sure long window titles don't overflow the selection box

Closes issue #406

Written-by: @johanmalm
3 years agoworkspaces: Allow switching/sending to the last used workspace
Consus [Sat, 18 Jun 2022 00:09:18 +0000 (03:09 +0300)]
workspaces: Allow switching/sending to the last used workspace

Actions GoToDesktop and SendToDesktop now support the new direction
called "last" that corresponds to the last used workspace (see Openbox
help[1] for reference).

[1]: http://openbox.org/wiki/Help:Actions#GoToDesktop

3 years agosrc/debug.c: Sync with workspaces
Consolatis [Fri, 17 Jun 2022 00:53:08 +0000 (02:53 +0200)]
src/debug.c: Sync with workspaces

3 years agosrc/layers.c: Update output for popup after forced move
Consolatis [Fri, 17 Jun 2022 00:41:34 +0000 (02:41 +0200)]
src/layers.c: Update output for popup after forced move

Fixes #369

3 years agoaction.c: add _POSIX_C_SOURCE
Johan Malm [Thu, 16 Jun 2022 21:00:45 +0000 (22:00 +0100)]
action.c: add _POSIX_C_SOURCE

...to compile cleanly with musl on Void Linux and avoid:

```
[9/58] Compiling C object labwc.p/src_action.c.o
../src/action.c: In function 'actions_run':
../src/action.c:204:4: warning: implicit declaration of function 'kill' [-Wimplicit-function-declaration]
  204 |    kill(getpid(), SIGHUP);
      |    ^~~~
[58/58] Linking target labwc
```

Reported-by: @M4lin
3 years agoAllow leasing desktop displays
Joshua Ashton [Thu, 16 Jun 2022 05:56:38 +0000 (05:56 +0000)]
Allow leasing desktop displays

Apps such as Gamescope eventually want to offer a DRM lease option to use planes and handle all of getting to the screen themselves.

This implements logic to allow leasing of desktop displays

3 years agoMerge pull request #333 from Consolatis/wip/workspaces
Johan Malm [Wed, 15 Jun 2022 21:05:31 +0000 (22:05 +0100)]
Merge pull request #333 from Consolatis/wip/workspaces

Add workspaces

3 years agoworkspaces: Switch workspace when activating via panel
Consolatis [Wed, 15 Jun 2022 20:49:36 +0000 (22:49 +0200)]
workspaces: Switch workspace when activating via panel

3 years agoworkspaces: Hide menu if there is only a single workspace
Consolatis [Tue, 14 Jun 2022 23:49:55 +0000 (01:49 +0200)]
workspaces: Hide menu if there is only a single workspace

3 years agoworkspaces: Add default workspace sub menu
Consolatis [Wed, 15 Jun 2022 00:02:15 +0000 (02:02 +0200)]
workspaces: Add default workspace sub menu

3 years agoworkspaces: Add workspace actions
Consolatis [Tue, 14 Jun 2022 23:38:22 +0000 (01:38 +0200)]
workspaces: Add workspace actions

3 years agoworkspaces: Wire up workspaces
Consolatis [Wed, 15 Jun 2022 00:02:50 +0000 (02:02 +0200)]
workspaces: Wire up workspaces

3 years agoworkspaces: Implement config parsing
Consolatis [Wed, 15 Jun 2022 00:07:22 +0000 (02:07 +0200)]
workspaces: Implement config parsing

3 years agoworkspaces: Add workspaces.{c,h}
Consolatis [Tue, 14 Jun 2022 23:07:45 +0000 (01:07 +0200)]
workspaces: Add workspaces.{c,h}

3 years agosrc/osd.c: Hide OSD when there are no views on osd_update
Consolatis [Wed, 15 Jun 2022 01:28:08 +0000 (03:28 +0200)]
src/osd.c: Hide OSD when there are no views on osd_update

3 years agoinclude/labwc.h desktop_cycle_view: Clarify signature
Consolatis [Tue, 14 Jun 2022 23:22:44 +0000 (01:22 +0200)]
include/labwc.h desktop_cycle_view: Clarify signature

3 years agosrc/keyboard.c: Make any_modifier_pressed() global
Consolatis [Tue, 14 Jun 2022 23:19:31 +0000 (01:19 +0200)]
src/keyboard.c: Make any_modifier_pressed() global

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