]> git.mdlowis.com Git - proto/labwc.git/log
proto/labwc.git
4 years agocursor.c: rebase cursor when exiting interactive mode
Johan Malm [Sun, 28 Nov 2021 22:14:23 +0000 (22:14 +0000)]
cursor.c: rebase cursor when exiting interactive mode

cursor_rebase() sets the cursor icon and sends a motion-event to the
surface below the cursor. It is made public in anticipation of using it
in various view_* functions.

4 years agointeractive.c: set move/resize cursor
Johan Malm [Sun, 28 Nov 2021 21:47:24 +0000 (21:47 +0000)]
interactive.c: set move/resize cursor

Fixes issue #124

4 years agoFix graphical artifacts after adding/removing outputs
John Lindgren [Sat, 27 Nov 2021 21:47:49 +0000 (16:47 -0500)]
Fix graphical artifacts after adding/removing outputs

When an output is added or removed, the position of the other
outputs can also change, resulting in windows moving between them.
We need to redraw all the outputs (not just the new one) to prevent
stale/corrupted screen contents.

4 years agoTitle repainting: move call to damage_all_outputs() to view_update()
ARDiDo [Sat, 27 Nov 2021 19:35:27 +0000 (14:35 -0500)]
Title repainting: move call to damage_all_outputs() to view_update()

4 years agoFix invisible cursor at startup
John Lindgren [Sat, 27 Nov 2021 18:48:48 +0000 (13:48 -0500)]
Fix invisible cursor at startup

4 years agoForce repaint after window title changes
John Lindgren [Sat, 27 Nov 2021 16:00:50 +0000 (11:00 -0500)]
Force repaint after window title changes

When a window title changed dynamically (for example when running
"cd" within an xfce4-terminal), the titlebar did not immediately
update to show the new title.  (The titlebar would update as soon
as the mouse cursor moved.)

4 years agoFix minor style violations
Johan Malm [Fri, 26 Nov 2021 19:27:50 +0000 (19:27 +0000)]
Fix minor style violations

4 years agoRemove min/max macros
Johan Malm [Fri, 26 Nov 2021 19:16:00 +0000 (19:16 +0000)]
Remove min/max macros

...and replace with a local MAX macro, because:

- They contain a ({}) construct which is a GNU extension and that's
  against Drew's coding style
- min() is not used anyway
- MAX() clashes with cairo's macro, so best to not add this in labwc.h

4 years agoview.c: fix coding style
Johan Malm [Fri, 26 Nov 2021 18:49:44 +0000 (18:49 +0000)]
view.c: fix coding style

4 years agodocs/rc.xml.all: add TitleBar Left-Press mousebind
Johan Malm [Fri, 26 Nov 2021 18:30:30 +0000 (18:30 +0000)]
docs/rc.xml.all: add TitleBar Left-Press mousebind

<context name="TitleBar">
  <mousebind button="Left" action="Press">
    <action name="Move"/>
  </mousebind>
</context>

4 years agolabwc-action(5): add "Move" action
Johan Malm [Fri, 26 Nov 2021 18:30:11 +0000 (18:30 +0000)]
labwc-action(5): add "Move" action

4 years agoBasic support for Move action
John Lindgren [Fri, 26 Nov 2021 18:03:15 +0000 (13:03 -0500)]
Basic support for Move action

- Add Move as a default mouse binding for a Titlebar Press action
- Remove the hard-coded handling in cursor_button()

Example config snippet:

    <mouse>
      <context name="Titlebar">
        <mousebind button="Left" action="Press">
          <action name="Focus"/>
          <action name="Raise"/>
          <action name="Move"/>
        </mousebind>
      </context>
    </mouse>

4 years agoEnable new outputs (before setting mode)
John Lindgren [Fri, 26 Nov 2021 15:52:09 +0000 (10:52 -0500)]
Enable new outputs (before setting mode)

Fixes the following error with wlroots-git 0.14.0.r391.g585a908a-1:

    [DEBUG] [types/output/output.c:603] Tried to modeset a disabled output

4 years agoHiDPI: fix move_to_edge and snap_to_edge
ARDiDo [Wed, 24 Nov 2021 22:15:37 +0000 (17:15 -0500)]
HiDPI: fix move_to_edge and snap_to_edge

4 years agoHiDPI: fix osd placement and maximized scale
ARDiDo [Wed, 24 Nov 2021 16:11:48 +0000 (11:11 -0500)]
HiDPI: fix osd placement and maximized scale

4 years agoHiDPI: send enter and leave events to views when switching monitors
ARDiDo [Mon, 15 Nov 2021 19:59:03 +0000 (14:59 -0500)]
HiDPI: send enter and leave events to views when switching monitors

4 years agoHiDPI: send output_enter events to views when they open
ARDiDo [Sat, 13 Nov 2021 17:32:01 +0000 (12:32 -0500)]
HiDPI: send output_enter events to views when they open

4 years agoAdd support for basic idle and idle inhibitor protocols
ARDiDo [Mon, 22 Nov 2021 21:35:57 +0000 (16:35 -0500)]
Add support for basic idle and idle inhibitor protocols

4 years agoserver: chase swaywm/wlroots@fdf3169b4185
Jan Beich [Sun, 21 Nov 2021 07:01:16 +0000 (07:01 +0000)]
server: chase swaywm/wlroots@fdf3169b4185

ld: error: undefined symbol: wlr_backend_get_renderer
>>> referenced by output.c
>>>               labwc.p/src_output.c.o:(render_rect)
>>> referenced by output.c
>>>               labwc.p/src_output.c.o:(render_rect)
>>> referenced by output.c
>>>               labwc.p/src_output.c.o:(render_texture)
>>> referenced 5 more times

Based on https://github.com/swaywm/sway/commit/5865af75cf80
Based on https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/a6538ced3587

4 years agoREADME: make openbox link point to openbox.org
Johan Malm [Sat, 13 Nov 2021 22:29:14 +0000 (22:29 +0000)]
README: make openbox link point to openbox.org

4 years agoREADME: add lavalauncher to recommended apps
Johan Malm [Sat, 13 Nov 2021 22:28:28 +0000 (22:28 +0000)]
README: add lavalauncher to recommended apps

4 years agoREADME: explain meaning of lab further
Johan Malm [Sat, 13 Nov 2021 22:28:01 +0000 (22:28 +0000)]
README: explain meaning of lab further

4 years agodocs/labwc-menu.5.scd: describe submenus
Johan Malm [Sat, 13 Nov 2021 22:19:52 +0000 (22:19 +0000)]
docs/labwc-menu.5.scd: describe submenus

4 years agodocs/labwc-menu.5.scd: fix menu definition
01micko [Sat, 13 Nov 2021 21:39:24 +0000 (07:39 +1000)]
docs/labwc-menu.5.scd: fix menu definition

This is in line with 1a38cc8 and #109

4 years agoAdd SPDX identifiers
Johan Malm [Sat, 13 Nov 2021 21:56:53 +0000 (21:56 +0000)]
Add SPDX identifiers

4 years agoxwayland.c,xdg-deco.c: fix style
Johan Malm [Sat, 13 Nov 2021 21:45:12 +0000 (21:45 +0000)]
xwayland.c,xdg-deco.c: fix style

4 years agolayers: fix clang warning
Johan Malm [Sat, 13 Nov 2021 21:36:33 +0000 (21:36 +0000)]
layers: fix clang warning

...for unused variables.

We should damage the surface really, but this will soon be
overtaken by events when wlr_scene is implemented.

4 years agoresistance: check to see if the view is on the output before resisting
ARDiDo [Sat, 13 Nov 2021 18:47:12 +0000 (13:47 -0500)]
resistance: check to see if the view is on the output before resisting

4 years agoview: get the closest wlr_output in view_wlr_output()
ARDiDo [Sat, 13 Nov 2021 17:09:40 +0000 (12:09 -0500)]
view: get the closest wlr_output in view_wlr_output()

4 years agoMerge branch 'master' of https://github.com/johanmalm/labwc
Johan Malm [Tue, 9 Nov 2021 07:17:12 +0000 (07:17 +0000)]
Merge branch 'master' of https://github.com/johanmalm/labwc

4 years agodocs/menu.xml: fix root-menu definition
Johan Malm [Tue, 9 Nov 2021 07:13:40 +0000 (07:13 +0000)]
docs/menu.xml: fix root-menu definition

A menu is defined by `<menu id="" label="">`

A `<menu id="" />` element merely creates an item pointing to already
defined menu.

Fixes issue #109

4 years agobuild: when building wlroots subproject, link statically
Dima Krasner [Mon, 8 Nov 2021 18:17:50 +0000 (20:17 +0200)]
build: when building wlroots subproject, link statically

4 years agobuild: fix name collision with wlroots, when linking statically
Dima Krasner [Mon, 8 Nov 2021 18:17:08 +0000 (20:17 +0200)]
build: fix name collision with wlroots, when linking statically

4 years agotheme: add menu.overlap.{x,y}
Johan Malm [Mon, 8 Nov 2021 17:36:39 +0000 (17:36 +0000)]
theme: add menu.overlap.{x,y}

4 years agomenu: support inline submenus
Johan Malm [Mon, 8 Nov 2021 17:20:37 +0000 (17:20 +0000)]
menu: support inline submenus

...for example:

<menu id="root-menu" label="">
  <menu id="submenu" label="submenu">
    <item label="foo"></item>
  </menu>
  <item label="bar"></item>
</menu>

4 years agomenu: support submenus
Johan Malm [Tue, 2 Nov 2021 18:31:19 +0000 (18:31 +0000)]
menu: support submenus

Support submenus defined as follows:

<menu id="submenu" label="Submenu">
  <item label="item1.1"></item>
  <item label="item1.2"></item>
</menu>

<menu id="root-menu" label="">
  <menu id="submenu" />
  <item label="item0"></item>
</menu>

4 years agomousebind: update documentation
ARDiDo [Tue, 2 Nov 2021 00:43:57 +0000 (20:43 -0400)]
mousebind: update documentation

4 years agomousebind: add support for more contexts and mouse events
ARDiDo [Tue, 2 Nov 2021 00:32:14 +0000 (20:32 -0400)]
mousebind: add support for more contexts and mouse events

4 years agokeyboard: Fix cycle view taking precedence over TTY switch
Joshua Ashton [Mon, 1 Nov 2021 22:00:52 +0000 (22:00 +0000)]
keyboard: Fix cycle view taking precedence over TTY switch

I had a bug where cycle view would not close and I was unable to switch to a TTY as it was open.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
4 years agokeyboard: Fix handled check
Joshua Ashton [Mon, 1 Nov 2021 21:59:07 +0000 (21:59 +0000)]
keyboard: Fix handled check

Signed-off-by: Joshua Ashton <joshua@froggi.es>
4 years agowlroots.wrap: set url to https://gitlab.freedesktop.org/wlroots/wlroots
Johan Malm [Mon, 1 Nov 2021 22:07:18 +0000 (22:07 +0000)]
wlroots.wrap: set url to https://gitlab.freedesktop.org/wlroots/wlroots

4 years agooutput: update layer surfaces on output geometry changes
ARDiDo [Sat, 30 Oct 2021 14:20:06 +0000 (10:20 -0400)]
output: update layer surfaces on output geometry changes

4 years agoresistance: don't use gap value
ARDiDo [Tue, 26 Oct 2021 19:15:52 +0000 (15:15 -0400)]
resistance: don't use gap value

4 years agoresistance: update documentation + default strength value
ARDiDo [Mon, 25 Oct 2021 21:04:22 +0000 (17:04 -0400)]
resistance: update documentation + default strength value

4 years agoresistance: remove bool, add resistance.h + license
ARDiDo [Mon, 25 Oct 2021 01:31:05 +0000 (21:31 -0400)]
resistance: remove bool, add resistance.h + license

4 years agoresistance: improve readability
ARDiDo [Mon, 25 Oct 2021 01:14:05 +0000 (21:14 -0400)]
resistance: improve readability

4 years agoresistance: fix meson.build
ARDiDo [Sun, 24 Oct 2021 16:17:57 +0000 (12:17 -0400)]
resistance: fix meson.build

4 years agoresistance: move strength.c to resistance.c
ARDiDo [Sun, 24 Oct 2021 16:13:20 +0000 (12:13 -0400)]
resistance: move strength.c to resistance.c

4 years agoresistance: move to <resistance> node
ARDiDo [Sun, 24 Oct 2021 16:08:30 +0000 (12:08 -0400)]
resistance: move to <resistance> node

4 years agoresize resistance support
ARDiDo [Sun, 24 Oct 2021 02:48:04 +0000 (22:48 -0400)]
resize resistance support

4 years agoImprove expandibility
ARDiDo [Sun, 24 Oct 2021 02:31:39 +0000 (22:31 -0400)]
Improve expandibility

4 years agoPartial screen_edge_strength
ARDiDo [Sat, 23 Oct 2021 15:25:37 +0000 (11:25 -0400)]
Partial screen_edge_strength

4 years agoUpdate NEWS.md
Johan Malm [Fri, 22 Oct 2021 19:27:16 +0000 (20:27 +0100)]
Update NEWS.md

4 years agoREADME.md: add a video showing SnapToEdge
Johan Malm [Fri, 22 Oct 2021 19:25:33 +0000 (20:25 +0100)]
README.md: add a video showing SnapToEdge

Posted by @Joshua-Ashton in pull-request

4 years agoconfig: add some comments in "struct rcxml"
Johan Malm [Fri, 22 Oct 2021 19:24:39 +0000 (20:24 +0100)]
config: add some comments in "struct rcxml"

4 years agoconfig: add <core><adaptiveSync>
Johan Malm [Fri, 22 Oct 2021 19:23:09 +0000 (20:23 +0100)]
config: add <core><adaptiveSync>

4 years agoconfig: make capitalization consistent in rc.xml
Johan Malm [Thu, 21 Oct 2021 19:40:14 +0000 (20:40 +0100)]
config: make capitalization consistent in rc.xml

4 years agorc.xml.all: add keyboard repeatRate and repeatDelay
Johan Malm [Thu, 21 Oct 2021 19:38:52 +0000 (20:38 +0100)]
rc.xml.all: add keyboard repeatRate and repeatDelay

4 years agocursor: do not crash on layer popup/subsurfaces
Johan Malm [Thu, 21 Oct 2021 19:37:30 +0000 (20:37 +0100)]
cursor: do not crash on layer popup/subsurfaces

4 years agokeybind: Fix shift modifiers
Joshua Ashton [Thu, 21 Oct 2021 17:09:53 +0000 (17:09 +0000)]
keybind: Fix shift modifiers

Need to lower the syms for these to match!

Signed-off-by: Joshua Ashton <joshua@froggi.es>
4 years agolayers: support popups
Johan Malm [Wed, 20 Oct 2021 21:32:46 +0000 (22:32 +0100)]
layers: support popups

4 years agodesktop: use correct coordinates layer_surface_at()
Johan Malm [Wed, 20 Oct 2021 19:57:12 +0000 (20:57 +0100)]
desktop: use correct coordinates layer_surface_at()

Use output coordinates rather than layout coordinates in order to
correctly handle pointer button event on multi-output setup.

4 years agoxwayland: clear wlr_xwayland_surface in handle_destroy
Johan Malm [Wed, 20 Oct 2021 19:34:47 +0000 (20:34 +0100)]
xwayland: clear wlr_xwayland_surface in handle_destroy

Avoids wlr_xwayland_surface becoming a dangling pointer if a view is not
destroyed immediately.

See swaywm/sway@215787e8

4 years agodocs/autostart: add kanshi, waybar and mako as examples
Johan Malm [Wed, 20 Oct 2021 18:54:39 +0000 (19:54 +0100)]
docs/autostart: add kanshi, waybar and mako as examples

4 years agolabwc-theme(5): add missing theme options
Johan Malm [Wed, 20 Oct 2021 18:53:05 +0000 (19:53 +0100)]
labwc-theme(5): add missing theme options

4 years agodocs/themerc: add missing theme options
Johan Malm [Wed, 20 Oct 2021 18:52:17 +0000 (19:52 +0100)]
docs/themerc: add missing theme options

4 years agoserver: Expose viewporter
Joshua Ashton [Wed, 20 Oct 2021 16:27:14 +0000 (16:27 +0000)]
server: Expose viewporter

Needed for some games to fake modesets.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
4 years agooutput: Implement src box for viewporter
Joshua Ashton [Wed, 20 Oct 2021 16:27:06 +0000 (16:27 +0000)]
output: Implement src box for viewporter

Signed-off-by: Joshua Ashton <joshua@froggi.es>
4 years agoxwayland: Implement set_decorations
Joshua Ashton [Wed, 20 Oct 2021 16:06:32 +0000 (16:06 +0000)]
xwayland: Implement set_decorations

Fixes games going between borderless and normal windowed modes.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
4 years agoxdg-deco: Respect decoration requests properly
Joshua Ashton [Wed, 20 Oct 2021 16:03:27 +0000 (16:03 +0000)]
xdg-deco: Respect decoration requests properly

Signed-off-by: Joshua Ashton <joshua@froggi.es>
4 years agoxdg: Set view in user data
Joshua Ashton [Wed, 20 Oct 2021 16:02:45 +0000 (16:02 +0000)]
xdg: Set view in user data

Signed-off-by: Joshua Ashton <joshua@froggi.es>
4 years agoxwayland: Set view in surface data
Joshua Ashton [Wed, 20 Oct 2021 16:02:39 +0000 (16:02 +0000)]
xwayland: Set view in surface data

Signed-off-by: Joshua Ashton <joshua@froggi.es>
4 years agouse closest wlr_output
ARDiDo [Tue, 19 Oct 2021 22:15:56 +0000 (18:15 -0400)]
use closest wlr_output

4 years agoclean up view_available_wlr_output
ARDiDo [Tue, 19 Oct 2021 00:55:01 +0000 (20:55 -0400)]
clean up view_available_wlr_output

4 years agoimprove view_output
ARDiDo [Mon, 18 Oct 2021 23:59:11 +0000 (19:59 -0400)]
improve view_output

4 years agorc.xml.all: re-format and improve comments
Johan Malm [Tue, 19 Oct 2021 20:52:26 +0000 (21:52 +0100)]
rc.xml.all: re-format and improve comments

4 years agorc.xml.all: change default <core><gap> from 10 to 0
Johan Malm [Tue, 19 Oct 2021 20:51:28 +0000 (21:51 +0100)]
rc.xml.all: change default <core><gap> from 10 to 0

4 years agorc.xml.all: add <libinput>
Johan Malm [Tue, 19 Oct 2021 20:48:49 +0000 (21:48 +0100)]
rc.xml.all: add <libinput>

4 years agolabwc-config(5): minor language tweaks
Johan Malm [Tue, 19 Oct 2021 20:47:47 +0000 (21:47 +0100)]
labwc-config(5): minor language tweaks

4 years agoconfig: change libinput variables to camelCase
Johan Malm [Tue, 19 Oct 2021 20:44:44 +0000 (21:44 +0100)]
config: change libinput variables to camelCase

This is more consistent with other rc.xml variables.

strcasecmp() is used in src/config/rc.xml, so there are not backward
compatibility issues.

4 years agolabwc-config(5): add binds for Audio and MonBrightness keys
Johan Malm [Tue, 19 Oct 2021 20:39:26 +0000 (21:39 +0100)]
labwc-config(5): add binds for Audio and MonBrightness keys

4 years agoview: fix build warning
Johan Malm [Mon, 18 Oct 2021 19:06:47 +0000 (20:06 +0100)]
view: fix build warning

4 years agoview: add view_get_string_prop()
Johan Malm [Mon, 18 Oct 2021 19:01:10 +0000 (20:01 +0100)]
view: add view_get_string_prop()

4 years agolabwc-actions(5): add SnapToEdge "center" argument
Johan Malm [Mon, 18 Oct 2021 18:47:32 +0000 (19:47 +0100)]
labwc-actions(5): add SnapToEdge "center" argument

4 years agoforeign: remove unnecessary view_update_title()
Johan Malm [Mon, 18 Oct 2021 18:40:04 +0000 (19:40 +0100)]
foreign: remove unnecessary view_update_title()

View update title is called from view_impl_map() which is enough

4 years agoview: check view->impl functions exist before using
Johan Malm [Mon, 18 Oct 2021 18:35:41 +0000 (19:35 +0100)]
view: check view->impl functions exist before using

Avoids segfault when using disappearing notification in Thunderbird

4 years agoaction: Implement shift to go backwards in OSD
Joshua Ashton [Sun, 17 Oct 2021 22:53:43 +0000 (22:53 +0000)]
action: Implement shift to go backwards in OSD

Signed-off-by: Joshua Ashton <joshua@froggi.es>
4 years agoconfig: Fix RaiseOnFocus always setting FollowMouse
Joshua Ashton [Mon, 18 Oct 2021 00:24:59 +0000 (00:24 +0000)]
config: Fix RaiseOnFocus always setting FollowMouse

Signed-off-by: Joshua Ashton <joshua@froggi.es>
4 years agoview: Add 'center' option to SnapToEdge
Joshua Ashton [Sun, 17 Oct 2021 22:09:34 +0000 (22:09 +0000)]
view: Add 'center' option to SnapToEdge

Similar to fullscreen, but not a separate state, and with gaps.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
4 years agocursor: Don't trigger cursor modifiers if we have a constraint
Joshua Ashton [Sun, 17 Oct 2021 22:03:11 +0000 (22:03 +0000)]
cursor: Don't trigger cursor modifiers if we have a constraint

We are probably playing a game and we don't want to be resizing the window when trying to duck/jump whatever.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
4 years agocursor: Fix modifier button check
Joshua Ashton [Sun, 17 Oct 2021 22:00:54 +0000 (22:00 +0000)]
cursor: Fix modifier button check

Previously any modifier would trigger this due to &ing the wrong value.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
4 years agocursor: Handle absolute motion for relative_pointer
Joshua Ashton [Sun, 17 Oct 2021 21:57:10 +0000 (21:57 +0000)]
cursor: Handle absolute motion for relative_pointer

Signed-off-by: Joshua Ashton <joshua@froggi.es>
4 years agoadd pointer constraints
ARDiDo [Sun, 17 Oct 2021 20:54:35 +0000 (16:54 -0400)]
add pointer constraints

4 years agoview: set inter-view gap correctly in SnapToEdge
Johan Malm [Sun, 17 Oct 2021 21:23:00 +0000 (22:23 +0100)]
view: set inter-view gap correctly in SnapToEdge

When arranging views side-by-side or above-below using SnapToEdge, the gap
between views should be rc.gap rather than 2x rc.gap

4 years agoREADME: add link to yambar
Johan Malm [Sun, 17 Oct 2021 20:36:32 +0000 (21:36 +0100)]
README: add link to yambar

Both labwc and yambar were patched today to better handle
foreign-toplevel protocol and now work well together.

4 years agoREADME: add super+arrow keybinds
Johan Malm [Sun, 17 Oct 2021 20:36:06 +0000 (21:36 +0100)]
README: add super+arrow keybinds

4 years agorc.xml.all: add super+arrow keybinds
Johan Malm [Sun, 17 Oct 2021 20:31:44 +0000 (21:31 +0100)]
rc.xml.all: add super+arrow keybinds

4 years agoconfig: use super+arrow for SnapToEdge by default
Johan Malm [Sun, 17 Oct 2021 20:30:48 +0000 (21:30 +0100)]
config: use super+arrow for SnapToEdge by default

4 years agolabwc-actions(5): add SnapToEdge
Johan Malm [Sun, 17 Oct 2021 20:27:25 +0000 (21:27 +0100)]
labwc-actions(5): add SnapToEdge

4 years agobuild: replace deprecated get_pkgconfig_variable()
Johan Malm [Sun, 17 Oct 2021 20:05:57 +0000 (21:05 +0100)]
build: replace deprecated get_pkgconfig_variable()

Use get_variable(pkgconfig: ...) instead of get_pkgconfig_variable(...)