Commit graph

248 commits

Author SHA1 Message Date
Consolatis
ea6007d34c src/config/rcxml.c: Add support for <devault /> mousebinds
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 <devault />
element is not provided.

Example usage (with a slight spelling error):

  <mouse>
    <default />
    <context name="Root">
      <mousebind button="Right" action="Press">
        <action name="ShowMenu" menu="desktop-menu" />
      </mousebind>
    </context>
  </mouse>

Co-Authored-By: @johanmalm

Fixes #416
2022-08-30 16:39:09 +01:00
Flrian
c1490b632d Add config option to disable preview outlines 2022-08-24 20:21:14 +01:00
Johan Malm
b5a0d74888 labwc-theme(5): add menu.xbm 2022-08-20 00:11:15 +02:00
Johan Malm
19dea7450b 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.
2022-08-12 22:50:56 +02:00
Johan Malm
70421b1207 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
2022-08-11 20:59:57 +01:00
Consolatis
d6ea0d68cf 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
2022-07-29 06:45:24 +01:00
Johan Malm
437230b3a0 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.
2022-06-25 14:56:35 +02:00
Consus
ca56357b5f 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
2022-06-18 18:34:58 +02:00
Consolatis
ff69988347 workspaces: Add default workspace sub menu 2022-06-15 22:26:21 +02:00
Consolatis
c93d625938 workspaces: Add workspace actions 2022-06-15 22:26:21 +02:00
Consolatis
ae2fa1571b workspaces: Implement config parsing 2022-06-15 22:26:21 +02:00
Johan Malm
fcd2425de3 docs/environment: add _JAVA_AWT_WM_NONREPARENTING=1 2022-06-05 09:12:54 +01:00
Johan Malm
3ca862b9ff docs/meson.build: remove environment following 5de92c8 2022-06-01 18:14:26 +01:00
Consolatis
b7907cc2da 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
2022-06-01 17:55:36 +01:00
Johan Malm
5de92c80aa Move config related content from labwc(1) to labwc-config(5)
Remove labwc-environment(5) as its contents are covered in
labwc-config(5)
2022-05-31 22:37:26 +01:00
Johan Malm
c8dd19caa3 man pages: minor language and style changes 2022-05-31 22:01:26 +01:00
Johan Malm
999fef6678 labwc-config(5): move <resistance> to before <focus>
...to make the config file flow better
2022-05-31 21:57:00 +01:00
Johan Malm
9b29bbeb54 man pages: unify titles for better "man -k labwc" experience 2022-05-31 21:53:45 +01:00
Johan Malm
e2632e8587 labwc-action(5): remove incorrect <command>
<action name="Close"> does not support a <command> option
2022-05-06 21:57:13 +01:00
Johan Malm
5944813566 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.
2022-05-06 21:55:46 +01:00
Johan Malm
b50d0ea4c8 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
2022-05-04 21:52:20 +01:00
Consolatis
519375a7f8 Revert "config: support <mouse><default />"
This reverts commit 3d337857b7.

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
2022-04-26 19:56:06 +02:00
Johan Malm
0ec63a153b docs/environment: add WLR_NO_HARDWARE_CURSORS example 2022-04-22 17:55:31 +01:00
Johan Malm
f925fe5893 theme: change window.label.text.justify default to center
It just looks better :)
2022-04-22 17:54:20 +01:00
Johan Malm
3d337857b7 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>
2022-04-22 17:52:01 +01:00
Johan Malm
edc5338af4 Add command line option -C to specify config directory
Also expand usage message to explain what each option means
2022-04-22 17:00:36 +01:00
Johan Malm
6bc457659e labwc-menu(1): fix s/openbox/labwc/ typo 2022-04-21 21:26:04 +01:00
Johan Malm
3a9b1d2c16 docs/autostart: add swayidle with wlopm example
...to turn outputs on/off following the addition of
wlr-output-power-management protocol support (commit c23397f3)
2022-04-21 21:22:10 +01:00
Consolatis
6b4d9b9383 Add ToggleAlwaysOnTop action 2022-04-09 17:18:39 +01:00
Consolatis
888c77c219 Add missing docs for mouse window snapping 2022-01-30 21:25:39 +00:00
Consolatis
b7b1e8064f Add WindowMenu button 2022-01-26 06:17:41 +00:00
Consolatis
759b26b5c1 Add window menu 2022-01-26 06:17:41 +00:00
Liam Middlebrook
875b258602 output: Add option to preview the contents of the current cycle_view
Add the 'cycleViewPreview.core' option to rc.xml to enable previews of
the selected view when cycling between windows. Default this option to
be disabled to match current behavior.
2022-01-23 16:02:54 +00:00
Consolatis
87f4a60e38 Allow mouse movements to trigger SnapToEdge 2022-01-08 10:30:03 +00:00
ARDiDo
a893607a0e mousebindings: change default focus and raise to press from drag.
This raises the window without having to drag it.
2022-01-07 22:05:07 +00:00
ARDiDo
f8e1ab2285 labwc-config: fix spelling mistake 2022-01-07 22:05:07 +00:00
ARDiDo
5935a78fb4 mouse: add support for drag mouse event 2022-01-07 22:05:07 +00:00
Johan Malm
ea705a7303 docs/autostart: remove wlr-randr {--off,--on}
swayidle previously used wlr-randr to enable/disable outputs, but since
commit a837fefc, this re-arranges views so is not to be used in the
context of idle system power management.
2022-01-03 23:32:02 +00:00
Johan Malm
eb582090a7 labwc-environment(5): add XCURSOR_{THEME,SIZE} 2021-12-29 14:25:13 +00:00
Johan Malm
e89a9899d0 labwc-config(5): fix typo 2021-12-29 14:23:51 +00:00
Johan Malm
f292998399 docs/rc.xml.all: only declare one 'Root' context
Multiple <mousebind> can exist within one <context>, so let's keep it
clean.
2021-12-29 14:20:00 +00:00
Johan Malm
c797dbe189 config: de-couple <FollowMouse> and <raiseOnFocus>
Set these two variables indepently of each other as this is cleaner and
more explicit.

In openbox <raiseOnFocus> only applies if <followMouse> is set, but there
is no need to immitate this.
2021-12-29 14:04:41 +00:00
Johan Malm
837a7f3997 docs/rc.xml.all: update with default mouse-bindings 2021-12-26 23:02:07 +00:00
bi4k8
6a190797b6 document mouse buttons and newly-supported mouse contexts 2021-12-26 21:31:11 +00:00
bi4k8
5bd4833b87 add mouse bindings for window edges to rc.xml.all 2021-12-26 21:31:11 +00:00
Consolatis
416718c3e9 docs/rc.xml.all: Add focus + raise to TitleBar movement / maximize 2021-12-23 10:42:22 -05:00
bi4k8
fd7f06a375 document Focus and Raise actions 2021-12-12 19:07:08 -05:00
bi4k8
073c78551f document Client/Frame/Desktop mouse contexts 2021-12-12 19:05:01 -05:00
bi4k8
114e6545d6 document Resize action 2021-12-12 19:05:01 -05:00
bi4k8
730a642bea document tapButtonMap setting 2021-12-12 19:00:58 -05:00