mirror of
https://github.com/labwc/labwc.git
synced 2026-04-11 08:21:13 -04:00
Merge branch 'master' into mouseemu
This commit is contained in:
commit
06129fe1ce
178 changed files with 10958 additions and 2691 deletions
|
|
@ -5,6 +5,7 @@ Config layout for ~/.config/labwc/
|
|||
- rc.xml
|
||||
- shutdown
|
||||
- themerc-override
|
||||
- xinitrc
|
||||
|
||||
See `man labwc-config and `man labwc-theme` for further details.
|
||||
|
||||
|
|
|
|||
|
|
@ -60,13 +60,13 @@
|
|||
|
||||
##
|
||||
## This allows xdg-desktop-portal-wlr to function (e.g. for screen-recording).
|
||||
## It is automatically set to "wlroots" by labwc though, so it is only
|
||||
## It is automatically set to "labwc:wlroots" by labwc though, so it is only
|
||||
## included here for completeness. Again, labwc will not over-write an
|
||||
## already set environment variable, so if you need it set to something else,
|
||||
## then uncomment and adjust.
|
||||
##
|
||||
|
||||
# XDG_CURRENT_DESKTOP=wlroots
|
||||
# XDG_CURRENT_DESKTOP=labwc:wlroots
|
||||
|
||||
##
|
||||
## This causes a virtual output to be created automatically whenever there
|
||||
|
|
|
|||
|
|
@ -91,19 +91,35 @@ Actions are used in menus and keyboard/mouse bindings.
|
|||
Move window relative to its current position. Positive value of x moves
|
||||
it right, negative left. Positive value of y moves it down, negative up.
|
||||
|
||||
*<action name="ToggleSnapToEdge" direction="value" />*++
|
||||
*<action name="SnapToEdge" direction="value" />*
|
||||
Resize window to fill half the output in the given direction. Supports
|
||||
directions "left", "up", "right", "down" and "center".
|
||||
|
||||
ToggleSnapToEdge additionally toggles the active window between
|
||||
tiled to the given direction and its untiled position.
|
||||
|
||||
*<action name="ToggleSnapToRegion" region="value" />*++
|
||||
*<action name="SnapToRegion" region="value" />*
|
||||
Resize and move active window according to the given region.
|
||||
|
||||
ToggleSnapToRegion additionally toggles the active window between
|
||||
tiled to the given region and its untiled position.
|
||||
|
||||
See labwc-config(5) for further information on how to define regions.
|
||||
|
||||
*<action name="NextWindow" />*
|
||||
Cycle focus to next window.
|
||||
*<action name="UnSnap" />*
|
||||
Resize and move the active window back to its untiled or unmaximized
|
||||
position if it had been maximized or tiled to a direction or region.
|
||||
|
||||
*<action name="NextWindow" />*++
|
||||
*<action name="PreviousWindow" />*
|
||||
Cycle focus to previous window.
|
||||
Cycle focus to next/previous window respectively.++
|
||||
Default keybind for NextWindow is Alt-Tab.
|
||||
|
||||
The shift key is used to reverse direction while cycling.
|
||||
|
||||
The arrow keys are used to move forwards/backwards while cycling.
|
||||
|
||||
*<action name="Reconfigure" />*
|
||||
Re-load configuration and theme files.
|
||||
|
|
@ -111,14 +127,26 @@ Actions are used in menus and keyboard/mouse bindings.
|
|||
*<action name="ShowMenu" menu="value" atCursor="yes" />*
|
||||
Show a menu.
|
||||
|
||||
*menu* The name of the menu to show. The menus "root-menu" and
|
||||
"client-menu" are guaranteed to exist, but others may be defined
|
||||
explicitly. See labwc-menu(5) for more information.
|
||||
*menu* The name of the menu to show. The menus "root-menu",
|
||||
"client-menu", "client-send-to-menu" and "client-list-combined-menu"
|
||||
are guaranteed to exist, but others may be defined explicitly.
|
||||
See labwc-menu(5) for more information.
|
||||
|
||||
*atCursor* [yes|no] When opening a menu, open the menu at the location
|
||||
of the mouse cursor. When set to no, the menu will appear at the
|
||||
upper-left corner of the window associated with the action. Default is
|
||||
yes.
|
||||
upper-left corner of the window associated with the action or underneath
|
||||
the window button that opened the menu. Default is yes.
|
||||
|
||||
*position* Show the menu in the specified position on the monitor
|
||||
that has cursor focus, see below.
|
||||
|
||||
The position tag has two sub-tags. <x> and <y> specify a position and
|
||||
take either a pixel value, the string "center" which will center the
|
||||
menu in that dimension, or a relative value specified as a percentage
|
||||
A relative value is interpreted in terms of the monitor the menu will
|
||||
be shown on, and will be relative to the left/top edge of the menu
|
||||
window and monitor for positive values, and to the right/bottom edge
|
||||
for negative values.
|
||||
|
||||
*<action name="SetDecorations" decorations="value" forceSSD="no" />*
|
||||
Set decorations of focused window.
|
||||
|
|
@ -184,12 +212,27 @@ Actions are used in menus and keyboard/mouse bindings.
|
|||
original window. There can be multiple windows with this mode set.
|
||||
|
||||
*<action name="ToggleTearing" />*
|
||||
Toggles tearing for the focused window.
|
||||
Toggles tearing for the focused window between enabled and disabled.
|
||||
This overrides the preference (tearing hint) from the focused window.
|
||||
|
||||
*<action name="FocusOutput" output="HDMI-A-1" />*
|
||||
Give focus to topmost window on given output and warp the cursor
|
||||
to the center of the window. If the given output does not contain
|
||||
any windows, the cursor is centered on the given output.
|
||||
Requires the config option 'allowTearing'. When 'allowTearing' is set
|
||||
to 'fullscreen' or 'fullscreenForced', tearing will still only be
|
||||
enabled if the active window is in fullscreen mode.
|
||||
|
||||
*<action name="FocusOutput" output="HDMI-A-1" direction="value" wrap="no" />*
|
||||
Give focus to topmost window on other output and warp the cursor
|
||||
to the center of the window.
|
||||
|
||||
If *output* is specified, the focus is given to the specified output and
|
||||
*direction* is ignored. If *output* is omitted, *direction* may be one
|
||||
of "left", "right", "up" or "down" to indicate that the focus should be
|
||||
given to the next output in that direction (if one exists).
|
||||
|
||||
*wrap* [yes|no] When using the direction attribute, wrap around
|
||||
from right-to-left or top-to-bottom, and vice versa. Default is no.
|
||||
|
||||
If the target output does not contain any windows, the cursor will
|
||||
be centered on the output.
|
||||
|
||||
*<action name="MoveToOutput" output="HDMI-A-1" direction="value" wrap="no" />*
|
||||
Moves active window to other output, unless the window state is
|
||||
|
|
@ -273,9 +316,9 @@ Actions are used in menus and keyboard/mouse bindings.
|
|||
*<action name="AutoPlace" policy="value"/>*
|
||||
Reposition the window according to the desired placement policy.
|
||||
|
||||
*policy* [automatic|cursor|center] Use the specified policy, which has
|
||||
the same meaning as the corresponding value for *<placement><policy>*.
|
||||
Default is automatic.
|
||||
*policy* [automatic|cursor|center|cascade] Use the specified policy,
|
||||
which has the same meaning as the corresponding value for
|
||||
*<placement><policy>*. Default is automatic.
|
||||
|
||||
*<action name="Shade" />*++
|
||||
*<action name="Unshade" />*++
|
||||
|
|
@ -286,6 +329,11 @@ Actions are used in menus and keyboard/mouse bindings.
|
|||
decorations (including those for which the server-side titlebar has been
|
||||
hidden) are not eligible for shading.
|
||||
|
||||
*<action name="EnableTabletMouseEmulation" />*++
|
||||
*<action name="DisableTabletMouseEmulation" />*++
|
||||
*<action name="ToggleTabletMouseEmulation">*
|
||||
Enable, disable or toggle mouse emulation for drawing tablets respectively.
|
||||
|
||||
*<action name="ToggleMagnify">*
|
||||
Toggle the screen magnifier on or off at the last magnification level
|
||||
used.
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ labwc - configuration files
|
|||
|
||||
Labwc uses openbox-3.6 specification for configuration and theming, but does not
|
||||
support all options. The following files form the basis of the labwc
|
||||
configuration: rc.xml, menu.xml, autostart, shutdown and environment.
|
||||
configuration: rc.xml, menu.xml, autostart, shutdown, environment and xinitrc.
|
||||
|
||||
No configuration files are needed to start and run labwc.
|
||||
|
||||
|
|
@ -78,6 +78,10 @@ in labwc-theme(5).
|
|||
*rc.xml* is the main configuration file and all its options are described in
|
||||
detail below.
|
||||
|
||||
The *xinitrc* file is executed as a shell script whenever labwc launches the
|
||||
Xwayland X11 server. This may happen multiple times throughout the session if
|
||||
Xwayland is not configured to persist when no X11 clients are connected.
|
||||
|
||||
# CONFIGURATION
|
||||
|
||||
This section describes *rc.xml* configuration options.
|
||||
|
|
@ -181,11 +185,23 @@ this is for compatibility with Openbox.
|
|||
*fullscreen* enables adaptive sync whenever a window is in fullscreen
|
||||
mode.
|
||||
|
||||
*<core><allowTearing>* [yes|no]
|
||||
*<core><allowTearing>* [yes|no|fullscreen|fullscreenForced]
|
||||
Allow tearing to reduce input lag. Default is no.
|
||||
This option requires setting the environment variable
|
||||
WLR_DRM_NO_ATOMIC=1.
|
||||
*yes* allow tearing if requested by the active window.
|
||||
|
||||
*yes* allows tearing if requested by the active window.
|
||||
|
||||
*fullscreen* allows tearing if requested by the active window, but
|
||||
only when the window is in fullscreen mode.
|
||||
|
||||
*fullscreenForced* enables tearing whenever the active window is in
|
||||
fullscreen mode, whether or not the application has requested tearing.
|
||||
|
||||
Use the *ToggleTearing* action for forcefully enable tearing.
|
||||
|
||||
Note: Enabling this option with atomic mode setting is experimental. If
|
||||
you experience undesirable side effects when tearing is allowed,
|
||||
consider setting the environment variable WLR_DRM_NO_ATOMIC=1 when
|
||||
launching labwc.
|
||||
|
||||
*<core><reuseOutputMode>* [yes|no]
|
||||
Try to re-use the existing output mode (resolution / refresh rate).
|
||||
|
|
@ -194,14 +210,31 @@ this is for compatibility with Openbox.
|
|||
be used with labwc the preferred mode of the monitor is used instead.
|
||||
Default is no.
|
||||
|
||||
*<core><xwaylandPersistence>* [yes|no]
|
||||
Keep XWayland alive even when no clients are connected, rather than
|
||||
using a "lazy" policy that allows the server to launch on demand and die
|
||||
when it is no longer needed. Default is no.
|
||||
|
||||
Note: changing this setting requires a restart of labwc.
|
||||
|
||||
## PLACEMENT
|
||||
|
||||
*<placement><policy>* [center|automatic|cursor]
|
||||
*<placement><policy>* [center|automatic|cursor|cascade]
|
||||
Specify a placement policy for new windows. The "center" policy will
|
||||
always place windows at the center of the active output. The "automatic"
|
||||
policy will try to place new windows in such a way that they will
|
||||
have minimal overlap with existing windows. The "cursor" policy will
|
||||
center new windows under the cursor. Default is "center".
|
||||
center new windows under the cursor. The "cascade" policy will try to
|
||||
place new windows at the center of the active output, but possibly
|
||||
shifts its position to bottom-right not to cover existing windows.
|
||||
Default is "center".
|
||||
|
||||
*<placement><cascadeOffset><x>*++
|
||||
*<placement><cascadeOffset><y>*
|
||||
Specify the offset by which a new window can be shifted from an existing
|
||||
window when <placement><policy> is "cascade". These values must be positive.
|
||||
Default is the height of titlebar (the sum of *titlebar.height* and
|
||||
*border.width* from theme) plus 5 for both *x* and *y*.
|
||||
|
||||
## WINDOW SWITCHER
|
||||
|
||||
|
|
@ -293,6 +326,15 @@ this is for compatibility with Openbox.
|
|||
|
||||
The default value for both parameters is 20 pixels.
|
||||
|
||||
*<resistance><unSnapThreshold>*
|
||||
Sets the movement of cursor in pixel required for a tiled or maximized
|
||||
window to be moved with an interactive move. Default is 20.
|
||||
|
||||
*<resistance><unMaximizeThreshold>*
|
||||
Sets the one-dimentional movement of cursor in pixel required for a
|
||||
*vertically or horizontally* maximized window to be moved with an
|
||||
interactive move. Default is 150.
|
||||
|
||||
## FOCUS
|
||||
|
||||
*<focus><followMouse>* [yes|no]
|
||||
|
|
@ -395,6 +437,29 @@ extending outward from the snapped edge.
|
|||
*<theme><name>*
|
||||
The name of the Openbox theme to use. It is not set by default.
|
||||
|
||||
*<theme><icon>*
|
||||
The name of the icon theme to use. It is not set by default.
|
||||
|
||||
*<theme><titlebar><layout>*
|
||||
Selection and order of buttons in a window's titlebar.
|
||||
The following identifiers can be used, each only once:
|
||||
- 'icon': window icon
|
||||
- 'menu': window menu
|
||||
- 'iconify': iconify
|
||||
- 'max': maximize toggle
|
||||
- 'close': close
|
||||
- 'shade': shade toggle
|
||||
- 'desk': all-desktops toggle
|
||||
|
||||
A colon deliminator is used to separate buttons on the left and right,
|
||||
whereas commas are used to separate items within a section. It is
|
||||
mandatory to use one colon.
|
||||
|
||||
Default: icon:iconify,max,close
|
||||
|
||||
*<theme><titlebar><showTitle>* [yes|no]
|
||||
Show the window title in the titlebar. Default is yes.
|
||||
|
||||
*<theme><cornerRadius>*
|
||||
The radius of server side decoration top corners. Default is 8.
|
||||
|
||||
|
|
@ -411,6 +476,7 @@ extending outward from the snapped edge.
|
|||
- ActiveWindow - titlebar of active window
|
||||
- InactiveWindow - titlebar of all windows that aren't focused by the
|
||||
cursor
|
||||
- MenuHeader - menu title
|
||||
- MenuItem - menu item (currently only root menu)
|
||||
- OnScreenDisplay - items in the on screen display
|
||||
If no place attribute is provided, the setting will be applied to all
|
||||
|
|
@ -423,7 +489,7 @@ extending outward from the snapped edge.
|
|||
Font size in pixels. Default is 10.
|
||||
|
||||
*<theme><font place=""><slant>*
|
||||
Font slant (normal or italic). Default is normal.
|
||||
Font slant (normal, oblique or italic). Default is normal.
|
||||
|
||||
*<theme><font place=""><weight>*
|
||||
Font weight (normal or bold). Default is normal.
|
||||
|
|
@ -471,7 +537,7 @@ extending outward from the snapped edge.
|
|||
Stores the keyboard layout either globally or per window and restores
|
||||
it when switching back to the window. Default is global.
|
||||
|
||||
*<keyboard><keybind key="" layoutDependent="">*
|
||||
*<keyboard><keybind key="" layoutDependent="" onRelease="" allowWhenLocked="">*
|
||||
Define a *key* binding in the format *modifier-key*, where supported
|
||||
modifiers are:
|
||||
- S (shift)
|
||||
|
|
@ -497,8 +563,11 @@ extending outward from the snapped edge.
|
|||
If set to "no" (or is absent) the keybind will be layout agnostic.
|
||||
Default is no.
|
||||
|
||||
*<keyboard><keybind key="" onRelease="yes|no">*
|
||||
*onRelease*, when yes, fires the keybind action when the key or key
|
||||
*allowWhenLocked* [yes|no]
|
||||
Make this keybind work even if the screen is locked. Default is no.
|
||||
|
||||
*onRelease* [yes|no]
|
||||
When yes, fires the keybind action when the key or key
|
||||
combination is released, rather than first pressed. This is useful to
|
||||
bind actions to only modifier keys, where the action should fire when
|
||||
the modifier is used without another key. Default is no.
|
||||
|
|
@ -507,7 +576,6 @@ extending outward from the snapped edge.
|
|||
pressed & released, without interference from other multi-key
|
||||
combinations that include the super key:
|
||||
|
||||
|
||||
```
|
||||
<keybind key="Super_L" onRelease="yes">
|
||||
<action name="Execute" command="rofi -show drun"/>
|
||||
|
|
@ -551,9 +619,6 @@ extending outward from the snapped edge.
|
|||
*<mouse><doubleClickTime>*
|
||||
Set double click time in milliseconds. Default is 500.
|
||||
|
||||
*<mouse><scrollFactor>*
|
||||
Set scroll factor. Default is 1.0.
|
||||
|
||||
*<mouse><context name=""><mousebind button="" direction="" action=""><action>*
|
||||
Multiple *<mousebind>* can exist within one *<context>*; and multiple
|
||||
*<action>* can exist within one *<mousebind>*.
|
||||
|
|
@ -563,10 +628,13 @@ extending outward from the snapped edge.
|
|||
buttons and the window title are shown.
|
||||
- Title: The area of the titlebar (including blank space) between
|
||||
the window buttons, where the window title is displayed.
|
||||
- WindowMenu: The button on the left.
|
||||
- Iconify: The button that looks like an underline.
|
||||
- Maximize: The button that looks like a box.
|
||||
- Close: The button that looks like an X.
|
||||
- Icon: A window icon that, by default, displays a window menu.
|
||||
- WindowMenu: A button that, by default, displays a window menu.
|
||||
- Iconify: A button that, by default, iconifies a window.
|
||||
- Maximize: A button that, by default, toggles maximization of a window.
|
||||
- Shade: A button that, by default, toggles window shading.
|
||||
- AllDesktops: A button that, by default, toggles omnipresence of a window.
|
||||
- Close: A button that, by default, closses a window.
|
||||
- Top: The top edge of the window's border.
|
||||
- Bottom: The bottom edge of the window's border.
|
||||
- Left: The left edge of the window's border.
|
||||
|
|
@ -656,9 +724,12 @@ extending outward from the snapped edge.
|
|||
If the output name is left empty or the output does not exists, the
|
||||
tablet will span all outputs.
|
||||
|
||||
The tablet cursor automatically applies the orientation/rotation of
|
||||
a mapped output for absolute motion.
|
||||
|
||||
*<tablet rotate="" />* [0|90|180|270]
|
||||
The tablet orientation can be changed in 90 degree steps. Default is
|
||||
no rotation (0). Rotation will be applied after applying tablet area
|
||||
no rotation (0). Rotation will be applied before applying tablet area
|
||||
transformation.
|
||||
|
||||
See also *calibrationMatrix* in libinput section below for advanced
|
||||
|
|
@ -688,6 +759,9 @@ extending outward from the snapped edge.
|
|||
tablet specific restrictions, e.g. no support for drag-and-drop, but
|
||||
also omits tablet specific features like reporting pen pressure.
|
||||
|
||||
Use the *ToggleTabletMouseEmulation* action for toggling between
|
||||
mouse emulation on and off.
|
||||
|
||||
*<tablet><map button="" to="" />*
|
||||
Pen and pad buttons behave like regular mouse buttons.With mouse
|
||||
emulation set to "no", which is the default, and if not specified
|
||||
|
|
@ -724,6 +798,24 @@ extending outward from the snapped edge.
|
|||
|
||||
See mouse section above for all supported mouse buttons.
|
||||
|
||||
## TABLET TOOL
|
||||
|
||||
```
|
||||
<tabletTool motion="absolute" relativeMotionSensitivity="1" />
|
||||
```
|
||||
|
||||
*<tabletTool motion="">* [absolute|relative]
|
||||
All tablet tools, except of type mouse and lens, use "absolute"
|
||||
positioning by default. The *motion* attribute allows to set tools
|
||||
to relative motion instead. Positioning for a tablet mouse or
|
||||
tablet lens cannot be changed, those tools always use relative mode.
|
||||
|
||||
*<tabletTool relativeMotionSensitivity="">*
|
||||
When using relative motion, *relativeMotionSensitivity* controls
|
||||
the speed of the cursor. Using a value lower than 1.0 decreases the
|
||||
speed, using a value greater than 1.0 increases the speed of the
|
||||
cursor. The default is "1.0".
|
||||
|
||||
## LIBINPUT
|
||||
|
||||
```
|
||||
|
|
@ -742,6 +834,7 @@ extending outward from the snapped edge.
|
|||
<clickMethod></clickMethod>
|
||||
<sendEventsMode></sendEventsMode>
|
||||
<calibrationMatrix></calibrationMatrix>
|
||||
<scrollFactor>1.0</scrollFactor>
|
||||
</device>
|
||||
</libinput>
|
||||
```
|
||||
|
|
@ -867,6 +960,9 @@ The most common matrices are:
|
|||
visit https://wayland.freedesktop.org/libinput/doc/latest/absolute-axes.html#calibration-of-absolute-devices
|
||||
for more information.
|
||||
|
||||
*<libinput><scrollFactor>*
|
||||
Set scroll factor. Default is 1.0.
|
||||
|
||||
## WINDOW RULES
|
||||
|
||||
Two types of window rules are supported, actions and properties. They are
|
||||
|
|
@ -960,7 +1056,7 @@ situation.
|
|||
*<menu><ignoreButtonReleasePeriod>*
|
||||
How long (in milliseconds) the initial button release event is ignored
|
||||
for. The reason for this logic and behaviour is to avoid a fast
|
||||
press-move-release sequence indended to just open the menu resulting in
|
||||
press-move-release sequence intended to just open the menu resulting in
|
||||
the closure of the menu or the selection of (typically the first) menu
|
||||
item. This behaviour only affects the first button-release. It is not
|
||||
anticipated that most users will want to change this, but the config
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ The menu file must be entirely enclosed within <openbox_menu> and
|
|||
<!-- A submenu defined elsewhere -->
|
||||
<menu id="" />
|
||||
|
||||
<!-- Horizontal line >
|
||||
<!-- Horizontal line -->
|
||||
<separator />
|
||||
|
||||
<!-- An inline submenu -->
|
||||
|
|
@ -33,6 +33,9 @@ The menu file must be entirely enclosed within <openbox_menu> and
|
|||
...some content...
|
||||
</menu>
|
||||
|
||||
<!-- Title -->
|
||||
<separator label=""/>
|
||||
|
||||
<!-- Pipemenu -->
|
||||
<menu id="" label="" execute="COMMAND"/>
|
||||
|
||||
|
|
@ -45,6 +48,12 @@ The menu file must be entirely enclosed within <openbox_menu> and
|
|||
ShowMenu action. Default identifiers are
|
||||
- "root-menu" for the root window context menu
|
||||
- "client-menu" for a window's titlebar context menu
|
||||
- "client-list-combined-menu" for a list of all windows across
|
||||
all workspaces. Will change focus to the app that gets
|
||||
selected or go to workspace without activating any app if
|
||||
"Go there" is selected.
|
||||
- "client-send-to-menu" shows all workspaces and sends current
|
||||
view to that workspace when selected.
|
||||
|
||||
*menu.id* (when nested under other *<menu>* element)
|
||||
Link to a submenu defined elsewhere (by a *<menu id="">* at toplevel)
|
||||
|
|
@ -63,6 +72,11 @@ The menu file must be entirely enclosed within <openbox_menu> and
|
|||
*menu.separator*
|
||||
Horizontal line.
|
||||
|
||||
*menu.separator.label*
|
||||
In a "separator" element, the label attribute transforms the separator
|
||||
from a horizontal line to a menu title (heading) with the text specified
|
||||
by label in it.
|
||||
|
||||
*menu.execute*
|
||||
Command to execute for pipe menu. See details below.
|
||||
|
||||
|
|
|
|||
|
|
@ -47,17 +47,17 @@ labwc-config(5).
|
|||
# THEME ELEMENTS
|
||||
|
||||
*border.width*
|
||||
Line width (integer) of border border drawn around window frames.
|
||||
Line width (integer) of border drawn around window frames.
|
||||
Default is 1.
|
||||
|
||||
*padding.height*
|
||||
Vertical padding size, used for spacing out elements in the window
|
||||
decorations. Default is 3.
|
||||
*window.titlebar.padding.width*
|
||||
Horizontal titlebar padding size, in pixels, between border and first
|
||||
button on the left/right.
|
||||
Default is 0.
|
||||
|
||||
*titlebar.height*
|
||||
Window title bar height.
|
||||
Default equals the vertical font extents of the title plus 2x
|
||||
padding.height.
|
||||
*window.titlebar.padding.height*
|
||||
Vertical titlebar padding size, in pixels.
|
||||
Default is 0.
|
||||
|
||||
*menu.items.padding.x*
|
||||
Horizontal padding of menu text entries in pixels.
|
||||
|
|
@ -67,6 +67,10 @@ labwc-config(5).
|
|||
Vertical padding of menu text entries in pixels.
|
||||
Default is 4.
|
||||
|
||||
*menu.title.text.justify*
|
||||
Specifies how menu titles are aligned in the titlebar.
|
||||
Type justification. Default Center.
|
||||
|
||||
*menu.overlap.x*
|
||||
Horizontal overlap in pixels between submenus and their parents. A
|
||||
positive value move submenus over the top of their parents, whereas a
|
||||
|
|
@ -114,6 +118,22 @@ labwc-config(5).
|
|||
Specifies how window titles are aligned in the titlebar for both
|
||||
focused and unfocused windows. Type justification. Default Left.
|
||||
|
||||
*window.button.width*
|
||||
Width of a titlebar button, in pixels.
|
||||
Default is 26.
|
||||
|
||||
*window.button.spacing*
|
||||
Space between titlebar buttons, in pixels.
|
||||
Default is 0.
|
||||
|
||||
*window.button.hover.bg.corner-radius*
|
||||
Radius of the hover effect of a titlebar button, in pixels.
|
||||
Default is 0.
|
||||
|
||||
Note: for a circular hover effect, set *window.button.width* and
|
||||
*window.button.height* equal and *window.button.hover.bg.corner-radius* half
|
||||
of them.
|
||||
|
||||
*window.active.button.unpressed.image.color*
|
||||
Color of the images in titlebar buttons in their default, unpressed,
|
||||
state. This element is for the focused window.
|
||||
|
|
@ -122,13 +142,19 @@ labwc-config(5).
|
|||
Color of the images in titlebar buttons in their default, unpressed,
|
||||
state. This element is for non-focused windows.
|
||||
|
||||
Note: The button elements (i.e. window.[in]active.button.\*) support defining
|
||||
different types of buttons individually by inserting the type ("menu",
|
||||
"iconify", "max" and "close") after the button node. For example:
|
||||
window.active.button.iconify.unpressed.image.color
|
||||
This syntax is not documented on the openbox.org wiki, but is supported by
|
||||
openbox and is used by many popular themes. For the sake of brevity, these
|
||||
elements are not listed here, but are supported.
|
||||
Note: Button elements (i.e. window.[in]active.button.\*) may be defined uniquely
|
||||
for each type of button ("menu", "iconify", "max", "shade", "desk" or "close")
|
||||
by appending the type after the "button" node. For example:
|
||||
|
||||
- window.active.button.iconify.unpressed.image.color indicates the color of the
|
||||
iconify button for active windows; while
|
||||
|
||||
- window.inactive.button.close.unpressed.image.color indicates the color of the
|
||||
close button for inactive windows.
|
||||
|
||||
This syntax is not documented by Openbox, but is supported and is used by many
|
||||
popular themes. For the sake of brevity, these elements are not listed here, but
|
||||
all are supported.
|
||||
|
||||
*window.active.shadow.size*
|
||||
Size of the drop-shadow for the focused window, in pixels.
|
||||
|
|
@ -170,6 +196,13 @@ elements are not listed here, but are supported.
|
|||
*menu.separator.color*
|
||||
Menu separator color. Default #888888.
|
||||
|
||||
*menu.title.bg.color*
|
||||
Menu title color. Default #589bda.
|
||||
Note: A menu title is a separator with a label.
|
||||
|
||||
*menu.title.text.color*
|
||||
Text color of separator label. Default #ffffff.
|
||||
|
||||
*osd.bg.color*
|
||||
Background color of on-screen-display. Inherits
|
||||
*window.active.title.bg.color* if not set.
|
||||
|
|
@ -303,6 +336,10 @@ file within a particular theme. The following xbm buttons are supported:
|
|||
- close.xbm
|
||||
- menu.xbm
|
||||
- max_toggled.xbm
|
||||
- desk.xbm
|
||||
- desk_toggled.xbm
|
||||
- shade.xbm
|
||||
- shade_toggled.xbm
|
||||
|
||||
Additional icons can be defined to be shown when the mouse pointer is hovering
|
||||
over the button in question:
|
||||
|
|
@ -312,6 +349,10 @@ over the button in question:
|
|||
- close_hover.xbm
|
||||
- menu_hover.xbm
|
||||
- max_toggled_hover.xbm
|
||||
- desk_hover.xbm
|
||||
- desk_toggle_hover.xbm
|
||||
- shade_hover.xbm
|
||||
- shade_toggle_hover.xbm
|
||||
|
||||
One advantage of xbm buttons over other formats is that they change color based
|
||||
on the theme. Other formats use the suffices "-active" and "-inactive" to align
|
||||
|
|
@ -345,6 +386,22 @@ following icons should be added:
|
|||
- menu_hover-active.[png|svg]
|
||||
- menu_hover-inactive.[png|svg]
|
||||
- menu-inactive.[png|svg]
|
||||
- shade-active.[png|svg]
|
||||
- shade_hover-active.[png|svg]
|
||||
- shade_hover-inactive.[png|svg]
|
||||
- shade-inactive.[png|svg]
|
||||
- shade_toggled-active.[png|svg]
|
||||
- shade_toggled-inactive.[png|svg]
|
||||
- shade_toggled_hover-active.[png|svg]
|
||||
- shade_toggled_hover-inactive.[png|svg]
|
||||
- desk-active.[png|svg]
|
||||
- desk_hover-active.[png|svg]
|
||||
- desk_hover-inactive.[png|svg]
|
||||
- desk-inactive.[png|svg]
|
||||
- desk_toggled-active.[png|svg]
|
||||
- desk_toggled-inactive.[png|svg]
|
||||
- desk_toggled_hover-active.[png|svg]
|
||||
- desk_toggled_hover-inactive.[png|svg]
|
||||
|
||||
# DEFINITIONS
|
||||
|
||||
|
|
|
|||
|
|
@ -37,12 +37,24 @@
|
|||
<action name="ToggleOmnipresent" />
|
||||
</item>
|
||||
</menu>
|
||||
<!--
|
||||
openbox default workspace selector
|
||||
to use replace above workspace menu with the example below
|
||||
the label is required, but you can change the text.
|
||||
|
||||
<menu id="client-send-to-menu" label="Send to..." />
|
||||
-->
|
||||
<item label="Close">
|
||||
<action name="Close" />
|
||||
</item>
|
||||
</menu>
|
||||
|
||||
<menu id="root-menu">
|
||||
<!-- Make client-list-combined-menu a submenu of root-menu
|
||||
You must supply a label or it will not appear in root-menu -->
|
||||
<!--
|
||||
<menu id="client-list-combined-menu" label="Running..." />
|
||||
-->
|
||||
<item label="Web browser">
|
||||
<action name="Execute" command="firefox" />
|
||||
</item>
|
||||
|
|
@ -61,6 +73,12 @@
|
|||
</menu>
|
||||
|
||||
<menu id="some-custom-menu">
|
||||
<!--
|
||||
Creates menu title.
|
||||
To create an empty header with no text,
|
||||
set label=" ", not label=""
|
||||
-->
|
||||
<separator label="custom menu" />
|
||||
<item label="Reconfigure">
|
||||
<action name="Reconfigure" />
|
||||
</item>
|
||||
|
|
|
|||
|
|
@ -13,15 +13,26 @@
|
|||
<adaptiveSync>no</adaptiveSync>
|
||||
<allowTearing>no</allowTearing>
|
||||
<reuseOutputMode>no</reuseOutputMode>
|
||||
<xwaylandPersistence>no</xwaylandPersistence>
|
||||
</core>
|
||||
|
||||
<placement>
|
||||
<policy>center</policy>
|
||||
<!--
|
||||
When <placement><policy> is "cascade", the offset for cascading new
|
||||
windows can be overwritten like this:
|
||||
<cascadeOffset x="40" y="30" />
|
||||
-->
|
||||
</placement>
|
||||
|
||||
<!-- <font><theme> can be defined without an attribute to set all places -->
|
||||
<theme>
|
||||
<name></name>
|
||||
<icon></icon>
|
||||
<titlebar>
|
||||
<layout>icon:iconify,max,close</layout>
|
||||
<showTitle>yes</showTitle>
|
||||
</titlebar>
|
||||
<cornerRadius>8</cornerRadius>
|
||||
<keepBorder>yes</keepBorder>
|
||||
<dropShadows>no</dropShadows>
|
||||
|
|
@ -37,6 +48,12 @@
|
|||
<slant>normal</slant>
|
||||
<weight>normal</weight>
|
||||
</font>
|
||||
<font place="MenuHeader">
|
||||
<name>sans</name>
|
||||
<size>10</size>
|
||||
<slant>normal</slant>
|
||||
<weight>normal</weight>
|
||||
</font>
|
||||
<font place="MenuItem">
|
||||
<name>sans</name>
|
||||
<size>10</size>
|
||||
|
|
@ -101,6 +118,10 @@
|
|||
<resistance>
|
||||
<screenEdgeStrength>20</screenEdgeStrength>
|
||||
<windowEdgeStrength>20</windowEdgeStrength>
|
||||
<!-- resistance for maximized/tiled windows -->
|
||||
<unSnapThreshold>20</unSnapThreshold>
|
||||
<!-- resistance for vertically/horizontally maximized windows -->
|
||||
<unMaximizeThreshold>150</unMaximizeThreshold>
|
||||
</resistance>
|
||||
|
||||
<resize>
|
||||
|
|
@ -252,7 +273,7 @@
|
|||
<action name="SnapToEdge" direction="down" />
|
||||
</keybind>
|
||||
<keybind key="A-Space">
|
||||
<action name="ShowMenu" menu="client-menu" />
|
||||
<action name="ShowMenu" menu="client-menu" atCursor="no" />
|
||||
</keybind>
|
||||
<keybind key="XF86_AudioLowerVolume">
|
||||
<action name="Execute" command="amixer sset Master 5%-" />
|
||||
|
|
@ -299,6 +320,16 @@
|
|||
<action name="SnapToRegion" region="bottom-right" />
|
||||
</keybind>
|
||||
-->
|
||||
<!-- keybind for client-list-combined-menu - will center in middle of screen -->
|
||||
<!--
|
||||
<keybind key="W-Space">
|
||||
<action name="ShowMenu" menu="client-list-combined-menu" />
|
||||
<position>
|
||||
<x>center</x>
|
||||
<y>center</y>
|
||||
</position>
|
||||
</keybind>
|
||||
-->
|
||||
</keyboard>
|
||||
|
||||
<!--
|
||||
|
|
@ -316,7 +347,6 @@
|
|||
|
||||
<!-- time is in ms -->
|
||||
<doubleClickTime>500</doubleClickTime>
|
||||
<scrollFactor>1.0</scrollFactor>
|
||||
|
||||
<context name="Frame">
|
||||
<mousebind button="A-Left" action="Press">
|
||||
|
|
@ -421,10 +451,31 @@
|
|||
|
||||
<context name="WindowMenu">
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="ShowMenu" menu="client-menu" />
|
||||
<action name="ShowMenu" menu="client-menu" atCursor="no" />
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Click">
|
||||
<action name="ShowMenu" menu="client-menu" />
|
||||
<action name="ShowMenu" menu="client-menu" atCursor="no" />
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Icon">
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="ShowMenu" menu="client-menu" atCursor="no" />
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Click">
|
||||
<action name="ShowMenu" menu="client-menu" atCursor="no" />
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Shade">
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="ToggleShade" />
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="AllDesktops">
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="ToggleOmnipresent" />
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
|
|
@ -464,6 +515,8 @@
|
|||
</mousebind>
|
||||
<mousebind button="Middle" action="Press">
|
||||
<action name="ShowMenu" menu="root-menu" />
|
||||
<!-- openbox default, swap with above line to activate -->
|
||||
<!-- <action name="ShowMenu" menu="client-list-combined-menu" /> -->
|
||||
</mousebind>
|
||||
<mousebind direction="Up" action="Scroll">
|
||||
<action name="GoToDesktop" to="left" wrap="yes" />
|
||||
|
|
@ -523,6 +576,16 @@
|
|||
<map button="Stylus2" to="Middle" />
|
||||
</tablet>
|
||||
|
||||
<!--
|
||||
All tablet tools, except of type mouse and lens, use absolute
|
||||
positioning by default. The *motion* attribute allows to set tools
|
||||
to relative motion instead. When using relative motion,
|
||||
*relativeMotionSensitivity* controls the speed of the cursor. Using
|
||||
a value lower than 1.0 decreases the speed, using a value greater than
|
||||
1.0 increases the speed of the cursor.
|
||||
-->
|
||||
<tabletTool motion="absolute" relativeMotionSensitivity="1.0" />
|
||||
|
||||
<!--
|
||||
The *category* attribute is optional and can be set to touch, touchpad,
|
||||
non-touch, default or the name of a device. You can obtain device names by
|
||||
|
|
@ -538,6 +601,7 @@
|
|||
- clickMethod [none|buttonAreas|clickfinger]
|
||||
- sendEventsMode [yes|no|disabledOnExternalMouse]
|
||||
- calibrationMatrix [six float values split by space]
|
||||
- scrollFactor [float]
|
||||
-->
|
||||
<libinput>
|
||||
<device category="default">
|
||||
|
|
@ -554,6 +618,7 @@
|
|||
<clickMethod></clickMethod>
|
||||
<sendEventsMode></sendEventsMode>
|
||||
<calibrationMatrix></calibrationMatrix>
|
||||
<scrollFactor>1.0</scrollFactor>
|
||||
</device>
|
||||
</libinput>
|
||||
|
||||
|
|
|
|||
21
docs/themerc
21
docs/themerc
|
|
@ -7,11 +7,13 @@
|
|||
|
||||
# general
|
||||
border.width: 1
|
||||
padding.height: 3
|
||||
|
||||
# The following options has no default, but fallbacks back to
|
||||
# font-height + 2x padding.height if not set.
|
||||
# titlebar.height:
|
||||
#
|
||||
# We do not support the global padding.{width,height} of openbox because
|
||||
# the default labwc button geometry has deviates from that of openbox
|
||||
#
|
||||
window.titlebar.padding.width: 0
|
||||
window.titlebar.padding.height: 0
|
||||
|
||||
# window border
|
||||
window.active.border.color: #e1dedb
|
||||
|
|
@ -29,6 +31,14 @@ window.active.label.text.color: #000000
|
|||
window.inactive.label.text.color: #000000
|
||||
window.label.text.justify: center
|
||||
|
||||
# window button width and spacing
|
||||
window.button.width: 26
|
||||
window.button.height: 26
|
||||
window.button.spacing: 0
|
||||
|
||||
# window button hover effect
|
||||
window.button.hover.bg.corner-radius: 0
|
||||
|
||||
# window buttons
|
||||
window.active.button.unpressed.image.color: #000000
|
||||
window.inactive.button.unpressed.image.color: #000000
|
||||
|
|
@ -59,6 +69,9 @@ menu.separator.width: 1
|
|||
menu.separator.padding.width: 6
|
||||
menu.separator.padding.height: 3
|
||||
menu.separator.color: #888888
|
||||
menu.title.bg.color: #589bda
|
||||
menu.title.text.color: #ffffff
|
||||
menu.title.text.justify: Center
|
||||
|
||||
# on screen display (window-cycle dialog)
|
||||
osd.bg.color: #e1dedb
|
||||
|
|
|
|||
28
docs/xinitrc
Normal file
28
docs/xinitrc
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
#!/bin/sh
|
||||
|
||||
## This file is run every time labwc launches Xwayland.
|
||||
##
|
||||
## In the default configuration, Xwayland will be launched lazily, and will
|
||||
## terminate after several seconds when no X11 clients are connected. Thus,
|
||||
## this script may run repeatedly throughout a single labwc session.
|
||||
|
||||
# Configure the X resource database if a file is provided
|
||||
#
|
||||
# NOTE: when Xwayland is launched lazily, an X11 client that triggers its
|
||||
# launch may attempt to read the resource database before this command can be
|
||||
# run. In that case, it is recommended to make a symlink to .Xdefaults:
|
||||
#
|
||||
# ln -s .Xresources "${HOME}/.Xdefaults"
|
||||
#
|
||||
# With this link in place, X11 applications will fall back to reading
|
||||
# the .Xdefaults file directly when no resource database can be read from the
|
||||
# server's root window properties.
|
||||
#
|
||||
# Invoking xrdb is still useful to pre-load the resource database for
|
||||
# subsequent clients, because any additional clients launched while the X
|
||||
# server remains alive will be able to query the database without resorting to
|
||||
# filesystem access.
|
||||
|
||||
if [ -r "${HOME}/.Xresources" ] && command -v xrdb >/dev/null 2>&1; then
|
||||
xrdb -merge "${HOME}/.Xresources"
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue