| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  | <?xml version="1.0"?> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-19 21:52:26 +01:00
										 |  |  | <!-- | 
					
						
							|  |  |  |   This file contains all supported config elements & attributes with | 
					
						
							|  |  |  |   default values. | 
					
						
							|  |  |  | --> | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | <labwc_config> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   <core> | 
					
						
							|  |  |  |     <decoration>server</decoration> | 
					
						
							| 
									
										
										
										
											2021-10-19 21:51:28 +01:00
										 |  |  |     <gap>0</gap> | 
					
						
							| 
									
										
										
										
											2021-10-22 20:23:09 +01:00
										 |  |  |     <adaptiveSync>no</adaptiveSync> | 
					
						
							| 
									
										
										
										
											2024-01-08 22:58:58 +02:00
										 |  |  |     <allowTearing>no</allowTearing> | 
					
						
							| 
									
										
										
										
											2023-01-23 07:15:55 +01:00
										 |  |  |     <reuseOutputMode>no</reuseOutputMode> | 
					
						
							| 
									
										
										
										
											2024-07-03 13:43:04 -04:00
										 |  |  |     <xwaylandPersistence>no</xwaylandPersistence> | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |   </core> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-10 21:00:05 -05:00
										 |  |  |   <placement> | 
					
						
							|  |  |  |     <policy>center</policy> | 
					
						
							|  |  |  |   </placement> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-31 22:01:26 +01:00
										 |  |  |   <!-- <font><theme> can be defined without an attribute to set all places --> | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |   <theme> | 
					
						
							|  |  |  |     <name></name> | 
					
						
							|  |  |  |     <cornerRadius>8</cornerRadius> | 
					
						
							| 
									
										
										
										
											2023-04-14 09:01:13 +02:00
										 |  |  |     <keepBorder>yes</keepBorder> | 
					
						
							| 
									
										
										
										
											2024-04-22 19:27:53 +01:00
										 |  |  |     <dropShadows>no</dropShadows> | 
					
						
							| 
									
										
										
										
											2022-09-15 10:53:49 -04:00
										 |  |  |     <font place="ActiveWindow"> | 
					
						
							|  |  |  |       <name>sans</name> | 
					
						
							|  |  |  |       <size>10</size> | 
					
						
							|  |  |  |       <slant>normal</slant> | 
					
						
							|  |  |  |       <weight>normal</weight> | 
					
						
							|  |  |  |     </font> | 
					
						
							| 
									
										
										
										
											2023-12-07 09:28:27 +01:00
										 |  |  |     <font place="InactiveWindow"> | 
					
						
							|  |  |  |       <name>sans</name> | 
					
						
							|  |  |  |       <size>10</size> | 
					
						
							|  |  |  |       <slant>normal</slant> | 
					
						
							|  |  |  |       <weight>normal</weight> | 
					
						
							|  |  |  |     </font> | 
					
						
							| 
									
										
										
										
											2022-09-15 10:53:49 -04:00
										 |  |  |     <font place="MenuItem"> | 
					
						
							|  |  |  |       <name>sans</name> | 
					
						
							|  |  |  |       <size>10</size> | 
					
						
							|  |  |  |       <slant>normal</slant> | 
					
						
							|  |  |  |       <weight>normal</weight> | 
					
						
							|  |  |  |     </font> | 
					
						
							| 
									
										
										
										
											2022-09-15 22:03:52 +01:00
										 |  |  |     <font place="OnScreenDisplay"> | 
					
						
							| 
									
										
										
										
											2022-09-15 10:53:49 -04:00
										 |  |  |       <name>sans</name> | 
					
						
							|  |  |  |       <size>10</size> | 
					
						
							|  |  |  |       <slant>normal</slant> | 
					
						
							|  |  |  |       <weight>normal</weight> | 
					
						
							|  |  |  |     </font> | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |   </theme> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-20 20:24:46 +01:00
										 |  |  |   <!-- | 
					
						
							|  |  |  |     Just as for window-rules, 'identifier' relates to app_id for native Wayland | 
					
						
							|  |  |  |     windows and WM_CLASS for XWayland clients. | 
					
						
							|  |  |  |   --> | 
					
						
							| 
									
										
										
										
											2024-03-03 20:03:32 +00:00
										 |  |  |   <windowSwitcher show="yes" preview="yes" outlines="yes" allWorkspaces="no"> | 
					
						
							| 
									
										
										
										
											2023-04-19 14:44:41 +01:00
										 |  |  |     <fields> | 
					
						
							|  |  |  |       <field content="type" width="25%" /> | 
					
						
							| 
									
										
										
										
											2023-12-27 13:55:49 +03:00
										 |  |  |       <field content="trimmed_identifier" width="25%" /> | 
					
						
							|  |  |  |       <!-- <field content="identifier" width="25%" /> --> | 
					
						
							| 
									
										
										
										
											2023-04-19 14:44:41 +01:00
										 |  |  |       <field content="title" width="50%" /> | 
					
						
							|  |  |  |     </fields> | 
					
						
							|  |  |  |   </windowSwitcher> | 
					
						
							| 
									
										
										
										
											2023-04-19 14:34:41 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-16 10:28:37 -05:00
										 |  |  |   <!-- | 
					
						
							|  |  |  |     When using all workspaces option of window switcher, there are extra fields | 
					
						
							| 
									
										
										
										
											2024-03-31 21:19:59 +03:00
										 |  |  |     that can be used, workspace (variable length), state (single space), | 
					
						
							|  |  |  |     type_short (3 spaces), output (variable length), and can be set up | 
					
						
							| 
									
										
										
										
											2024-03-16 10:28:37 -05:00
										 |  |  |     like this. Note: output only shows if more than one output available. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <windowSwitcher show="yes" preview="no" outlines="no" allWorkspaces="yes"> | 
					
						
							|  |  |  |       <fields> | 
					
						
							|  |  |  |         <field content="workspace" width="5%" /> | 
					
						
							|  |  |  |         <field content="state" width="3%" /> | 
					
						
							|  |  |  |         <field content="type_short" width="3%" /> | 
					
						
							|  |  |  |         <field content="output" width="9%" /> | 
					
						
							|  |  |  |         <field content="identifier" width="30%" /> | 
					
						
							|  |  |  |         <field content="title" width="50%" /> | 
					
						
							| 
									
										
										
										
											2024-04-10 17:39:31 -05:00
										 |  |  |       </fields> | 
					
						
							|  |  |  |     </windowSwitcher> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     custom format - (introduced in 0.7.2) | 
					
						
							|  |  |  |     It allows one to replace all the above "fields" with one line, using a | 
					
						
							|  |  |  |     printf style format. For field explanations, "man 5 labwc-config". | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     The example below would print "foobar",then type of window (wayland, X), | 
					
						
							|  |  |  |     then state of window (M/m/F), then output (shows if more than 1 active), | 
					
						
							|  |  |  |     then workspace name, then identifier/app-id, then the window title. | 
					
						
							|  |  |  |     Uses 100% of OSD window width. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <windowSwitcher show="yes" preview="no" outlines="no" allWorkspaces="yes"> | 
					
						
							|  |  |  |       <fields> | 
					
						
							|  |  |  |         <field content="custom" format="foobar %b %3s %-10o %-20W %-10i %t" width="100%" /> | 
					
						
							|  |  |  |       </fields> | 
					
						
							| 
									
										
										
										
											2024-03-16 10:28:37 -05:00
										 |  |  |     </windowSwitcher> | 
					
						
							|  |  |  |   --> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-31 21:57:00 +01:00
										 |  |  |   <!-- edge strength is in pixels --> | 
					
						
							|  |  |  |   <resistance> | 
					
						
							|  |  |  |     <screenEdgeStrength>20</screenEdgeStrength> | 
					
						
							| 
									
										
										
										
											2024-01-20 21:59:46 -05:00
										 |  |  |     <windowEdgeStrength>20</windowEdgeStrength> | 
					
						
							| 
									
										
										
										
											2022-05-31 21:57:00 +01:00
										 |  |  |   </resistance> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-29 11:06:39 +09:00
										 |  |  |   <resize> | 
					
						
							|  |  |  |     <!-- Show a simple resize and move indicator --> | 
					
						
							|  |  |  |     <popupShow>Never</popupShow> | 
					
						
							|  |  |  |     <!-- Let client redraw its contents while resizing --> | 
					
						
							|  |  |  |     <drawContents>yes</drawContents> | 
					
						
							|  |  |  |   </resize> | 
					
						
							| 
									
										
										
										
											2023-08-17 18:59:29 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |   <focus> | 
					
						
							|  |  |  |     <followMouse>no</followMouse> | 
					
						
							| 
									
										
										
										
											2023-04-02 02:18:25 +02:00
										 |  |  |     <followMouseRequiresMovement>yes</followMouseRequiresMovement> | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |     <raiseOnFocus>no</raiseOnFocus> | 
					
						
							|  |  |  |   </focus> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-08 11:25:18 +01:00
										 |  |  |   <snapping> | 
					
						
							| 
									
										
										
										
											2024-01-22 22:11:53 -05:00
										 |  |  |     <!-- Set range to 0 to disable window snapping completely --> | 
					
						
							| 
									
										
										
										
											2022-01-08 11:25:18 +01:00
										 |  |  |     <range>1</range> | 
					
						
							| 
									
										
										
										
											2024-04-21 02:22:28 +09:00
										 |  |  |     <overlay enabled="yes"> | 
					
						
							| 
									
										
										
										
											2024-04-05 11:35:31 +09:00
										 |  |  |       <delay inner="500" outer="500" /> | 
					
						
							| 
									
										
										
										
											2024-04-21 02:22:28 +09:00
										 |  |  |     </overlay> | 
					
						
							| 
									
										
										
										
											2022-01-08 11:25:18 +01:00
										 |  |  |     <topMaximize>yes</topMaximize> | 
					
						
							| 
									
										
										
										
											2024-01-22 22:11:53 -05:00
										 |  |  |     <notifyClient>always</notifyClient> | 
					
						
							| 
									
										
										
										
											2022-01-08 11:25:18 +01:00
										 |  |  |   </snapping> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-06-15 02:07:22 +02:00
										 |  |  |   <!-- | 
					
						
							|  |  |  |     Workspaces can be configured like this: | 
					
						
							| 
									
										
										
										
											2023-06-24 19:46:00 +08:00
										 |  |  |     <desktops> | 
					
						
							| 
									
										
										
										
											2022-06-15 02:07:22 +02:00
										 |  |  |       <popupTime>1000</popupTime> | 
					
						
							|  |  |  |       <names> | 
					
						
							|  |  |  |         <name>Workspace 1</name> | 
					
						
							|  |  |  |         <name>Workspace 2</name> | 
					
						
							|  |  |  |         <name>Workspace 3</name> | 
					
						
							| 
									
										
										
										
											2023-06-23 14:34:34 +08:00
										 |  |  |         <name>Workspace 4</name> | 
					
						
							| 
									
										
										
										
											2022-06-15 02:07:22 +02:00
										 |  |  |       </names> | 
					
						
							|  |  |  |     </desktops> | 
					
						
							| 
									
										
										
										
											2023-06-24 19:46:00 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     Or it can also be configured like this: | 
					
						
							|  |  |  |     <desktops number="4" /> | 
					
						
							| 
									
										
										
										
											2023-06-26 22:33:34 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-11 17:19:03 -05:00
										 |  |  |     Or like this: | 
					
						
							|  |  |  |     <desktops> | 
					
						
							|  |  |  |       <popupTime>500</popupTime> | 
					
						
							|  |  |  |       <number>5</number> | 
					
						
							|  |  |  |       <prefix>ws</prefix> | 
					
						
							|  |  |  |     </desktops> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Or: | 
					
						
							|  |  |  |     <desktops number="4" popupTime="500" prefix="ws" /> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-26 22:33:34 +02:00
										 |  |  |     popupTime defaults to 1000 so could be left out. | 
					
						
							|  |  |  |     Set to 0 to completely disable the workspace OSD. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-11 17:19:03 -05:00
										 |  |  |     prefix defaults to "Workspace" when using number instead of names. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-26 22:33:34 +02:00
										 |  |  |     Use GoToDesktop left | right to switch workspaces. | 
					
						
							|  |  |  |     Use SendToDesktop left | right to move windows. | 
					
						
							|  |  |  |     See man labwc-actions for further information. | 
					
						
							| 
									
										
										
										
											2022-06-15 02:07:22 +02:00
										 |  |  |   --> | 
					
						
							| 
									
										
										
										
											2023-06-25 17:18:43 +08:00
										 |  |  |   <desktops> | 
					
						
							|  |  |  |     <popupTime>1000</popupTime> | 
					
						
							|  |  |  |     <names> | 
					
						
							|  |  |  |       <name>Default</name> | 
					
						
							|  |  |  |     </names> | 
					
						
							|  |  |  |   </desktops> | 
					
						
							| 
									
										
										
										
											2022-06-15 02:07:22 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-06 19:52:57 +01:00
										 |  |  |   <!-- | 
					
						
							| 
									
										
										
										
											2023-06-26 22:33:34 +02:00
										 |  |  |     <margin> can be used to reserve space where new/maximized/tiled | 
					
						
							|  |  |  |     windows will not be placed. Clients using layer-shell protocol reserve | 
					
						
							|  |  |  |     space automatically, so <margin> is only intended for other, specialist | 
					
						
							|  |  |  |     cases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     If output is left empty, the margin will be applied to all outputs. | 
					
						
							| 
									
										
										
										
											2023-06-06 19:52:57 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <margin top="" bottom="" left="" right="" output="" /> | 
					
						
							|  |  |  |   --> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-07 03:30:10 +01:00
										 |  |  |   <!-- Percent based regions based on output usable area, % char is required --> | 
					
						
							|  |  |  |   <!-- | 
					
						
							|  |  |  |     <regions> | 
					
						
							|  |  |  |       <region name="top-left"     x="0%"  y="0%"  height="50%"  width="50%"  /> | 
					
						
							|  |  |  |       <region name="top"          x="0%"  y="0%"  height="50%"  width="100%" /> | 
					
						
							|  |  |  |       <region name="top-right"    x="50%" y="0%"  height="50%"  width="50%"  /> | 
					
						
							|  |  |  |       <region name="left"         x="0%"  y="0%"  height="100%" width="50%"  /> | 
					
						
							|  |  |  |       <region name="center"       x="10%" y="10%" height="80%"  width="80%"  /> | 
					
						
							|  |  |  |       <region name="right"        x="50%" y="0%"  height="100%" width="50%"  /> | 
					
						
							|  |  |  |       <region name="bottom-left"  x="0%"  y="50%" height="50%"  width="50%"  /> | 
					
						
							|  |  |  |       <region name="bottom"       x="0%"  y="50%" height="50%"  width="100%" /> | 
					
						
							|  |  |  |       <region name="bottom-right" x="50%" y="50%" height="50%"  width="50%"  /> | 
					
						
							|  |  |  |     </regions> | 
					
						
							|  |  |  |   --> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |   <!-- | 
					
						
							| 
									
										
										
										
											2021-10-19 21:52:26 +01:00
										 |  |  |     Keybind actions are specified in labwc-actions(5) | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |     The following keybind modifiers are supported: | 
					
						
							|  |  |  |       W - window/super/logo | 
					
						
							|  |  |  |       A - alt | 
					
						
							|  |  |  |       C - ctrl | 
					
						
							|  |  |  |       S - shift | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-19 21:52:26 +01:00
										 |  |  |     Use <keyboard><default /> to load all the default keybinds (those listed | 
					
						
							|  |  |  |     below). If the default keybinds are largely what you want, a sensible | 
					
						
							|  |  |  |     approach could be to start the <keyboard> section with a <default /> | 
					
						
							|  |  |  |     element, and then (re-)define any special binds you need such as launching | 
					
						
							| 
									
										
										
										
											2022-12-07 14:59:04 +01:00
										 |  |  |     your favourite terminal or application launcher. See rc.xml for an example. | 
					
						
							| 
									
										
										
										
											2021-10-19 21:52:26 +01:00
										 |  |  |   --> | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |   <keyboard> | 
					
						
							| 
									
										
										
										
											2023-10-08 22:26:26 -04:00
										 |  |  |     <numlock>on</numlock> | 
					
						
							| 
									
										
										
										
											2023-09-07 16:41:47 +02:00
										 |  |  |     <layoutScope>global</layoutScope> | 
					
						
							| 
									
										
										
										
											2021-10-21 20:38:52 +01:00
										 |  |  |     <repeatRate>25</repeatRate> | 
					
						
							|  |  |  |     <repeatDelay>600</repeatDelay> | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |     <keybind key="A-Tab"> | 
					
						
							|  |  |  |       <action name="NextWindow" /> | 
					
						
							|  |  |  |     </keybind> | 
					
						
							| 
									
										
										
										
											2021-09-09 23:42:23 +06:00
										 |  |  |     <keybind key="W-Return"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="Execute" command="alacritty" /> | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="A-F3"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="Execute" command="bemenu-run" /> | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="A-F4"> | 
					
						
							|  |  |  |       <action name="Close" /> | 
					
						
							|  |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="W-a"> | 
					
						
							|  |  |  |       <action name="ToggleMaximize" /> | 
					
						
							|  |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="A-Left"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="MoveToEdge" direction="left" /> | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="A-Right"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="MoveToEdge" direction="right" /> | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="A-Up"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="MoveToEdge" direction="up" /> | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="A-Down"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="MoveToEdge" direction="down" /> | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |     </keybind> | 
					
						
							| 
									
										
										
										
											2021-10-17 21:31:44 +01:00
										 |  |  |     <keybind key="W-Left"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="SnapToEdge" direction="left" /> | 
					
						
							| 
									
										
										
										
											2021-10-17 21:31:44 +01:00
										 |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="W-Right"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="SnapToEdge" direction="right" /> | 
					
						
							| 
									
										
										
										
											2021-10-17 21:31:44 +01:00
										 |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="W-Up"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="SnapToEdge" direction="up" /> | 
					
						
							| 
									
										
										
										
											2021-10-17 21:31:44 +01:00
										 |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="W-Down"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="SnapToEdge" direction="down" /> | 
					
						
							| 
									
										
										
										
											2021-10-17 21:31:44 +01:00
										 |  |  |     </keybind> | 
					
						
							| 
									
										
										
										
											2022-01-26 00:07:10 +01:00
										 |  |  |     <keybind key="A-Space"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="ShowMenu" menu="client-menu" /> | 
					
						
							| 
									
										
										
										
											2022-01-26 00:07:10 +01:00
										 |  |  |     </keybind> | 
					
						
							| 
									
										
										
										
											2021-10-14 19:37:57 +01:00
										 |  |  |     <keybind key="XF86_AudioLowerVolume"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="Execute" command="amixer sset Master 5%-" /> | 
					
						
							| 
									
										
										
										
											2021-10-14 19:37:57 +01:00
										 |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="XF86_AudioRaiseVolume"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="Execute" command="amixer sset Master 5%+" /> | 
					
						
							| 
									
										
										
										
											2021-10-14 19:37:57 +01:00
										 |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="XF86_AudioMute"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="Execute" command="amixer sset Master toggle" /> | 
					
						
							| 
									
										
										
										
											2021-10-14 19:37:57 +01:00
										 |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="XF86_MonBrightnessUp"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="Execute" command="brightnessctl set +10%" /> | 
					
						
							| 
									
										
										
										
											2021-10-14 19:37:57 +01:00
										 |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="XF86_MonBrightnessDown"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |       <action name="Execute" command="brightnessctl set 10%-" /> | 
					
						
							| 
									
										
										
										
											2021-10-14 19:37:57 +01:00
										 |  |  |     </keybind> | 
					
						
							| 
									
										
										
										
											2023-06-26 22:33:34 +02:00
										 |  |  |   <!-- SnapToRegion via W-Numpad --> | 
					
						
							| 
									
										
										
										
											2024-01-13 19:51:20 +02:00
										 |  |  |   <!-- | 
					
						
							|  |  |  |     <keybind key="W-KP_7"> | 
					
						
							|  |  |  |       <action name="SnapToRegion" region="top-left" /> | 
					
						
							|  |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="W-KP_8"> | 
					
						
							|  |  |  |       <action name="SnapToRegion" region="top" /> | 
					
						
							|  |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="W-KP_9"> | 
					
						
							|  |  |  |       <action name="SnapToRegion" region="top-right" /> | 
					
						
							|  |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="W-KP_4"> | 
					
						
							|  |  |  |       <action name="SnapToRegion" region="left" /> | 
					
						
							|  |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="W-KP_5"> | 
					
						
							|  |  |  |       <action name="SnapToRegion" region="center" /> | 
					
						
							|  |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="W-KP_6"> | 
					
						
							|  |  |  |       <action name="SnapToRegion" region="right" /> | 
					
						
							|  |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="W-KP_1"> | 
					
						
							|  |  |  |       <action name="SnapToRegion" region="bottom-left" /> | 
					
						
							|  |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="W-KP_2"> | 
					
						
							|  |  |  |       <action name="SnapToRegion" region="bottom" /> | 
					
						
							|  |  |  |     </keybind> | 
					
						
							|  |  |  |     <keybind key="W-KP_3"> | 
					
						
							|  |  |  |       <action name="SnapToRegion" region="bottom-right" /> | 
					
						
							|  |  |  |     </keybind> | 
					
						
							| 
									
										
										
										
											2023-06-26 22:33:34 +02:00
										 |  |  |   --> | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  |   </keyboard> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-19 21:52:26 +01:00
										 |  |  |   <!-- | 
					
						
							| 
									
										
										
										
											2021-12-29 14:20:00 +00:00
										 |  |  |     Multiple <mousebind> can exist within one <context> | 
					
						
							|  |  |  |     Multiple <actions> can exist within one <mousebind> | 
					
						
							| 
									
										
										
										
											2022-12-07 14:59:04 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     Use <mouse><default /> to load all the default mousebinds (those listed | 
					
						
							|  |  |  |     below). If the default mousebinds are largely what you want, a sensible | 
					
						
							|  |  |  |     approach could be to start the <mouse> section with a <default /> | 
					
						
							|  |  |  |     element, and then (re-)define any special binds you need such as launching | 
					
						
							| 
									
										
										
										
											2024-01-13 19:51:20 +02:00
										 |  |  |     a custom menu when right-clicking on your desktop. See rc.xml for an | 
					
						
							|  |  |  |     example. | 
					
						
							| 
									
										
										
										
											2021-10-19 21:52:26 +01:00
										 |  |  |   --> | 
					
						
							| 
									
										
										
										
											2021-08-29 17:10:21 -04:00
										 |  |  |   <mouse> | 
					
						
							| 
									
										
										
										
											2021-10-21 20:38:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-29 18:31:57 -04:00
										 |  |  |     <!-- time is in ms --> | 
					
						
							| 
									
										
										
										
											2021-09-06 22:09:59 +01:00
										 |  |  |     <doubleClickTime>500</doubleClickTime> | 
					
						
							| 
									
										
										
										
											2023-03-25 15:57:47 +00:00
										 |  |  |     <scrollFactor>1.0</scrollFactor> | 
					
						
							| 
									
										
										
										
											2021-10-21 20:38:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-03 21:56:21 +00:00
										 |  |  |     <context name="Frame"> | 
					
						
							| 
									
										
										
										
											2022-01-07 16:13:36 -05:00
										 |  |  |       <mousebind button="A-Left" action="Press"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Focus" /> | 
					
						
							|  |  |  |         <action name="Raise" /> | 
					
						
							| 
									
										
										
										
											2022-01-07 16:13:36 -05:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |       <mousebind button="A-Left" action="Drag"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Move" /> | 
					
						
							| 
									
										
										
										
											2021-12-03 21:56:21 +00:00
										 |  |  |       </mousebind> | 
					
						
							| 
									
										
										
										
											2022-01-07 16:13:36 -05:00
										 |  |  |       <mousebind button="A-Right" action="Press"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Focus" /> | 
					
						
							|  |  |  |         <action name="Raise" /> | 
					
						
							| 
									
										
										
										
											2022-01-07 16:13:36 -05:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |       <mousebind button="A-Right" action="Drag"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Resize" /> | 
					
						
							| 
									
										
										
										
											2021-12-03 21:56:21 +00:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |     </context> | 
					
						
							| 
									
										
										
										
											2021-12-03 22:14:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-11 22:57:22 +00:00
										 |  |  |     <context name="Top"> | 
					
						
							| 
									
										
										
										
											2022-01-06 18:30:17 -05:00
										 |  |  |       <mousebind button="Left" action="Drag"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Resize" /> | 
					
						
							| 
									
										
										
										
											2021-12-11 22:57:22 +00:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |     </context> | 
					
						
							|  |  |  |     <context name="Left"> | 
					
						
							| 
									
										
										
										
											2022-01-06 18:30:17 -05:00
										 |  |  |       <mousebind button="Left" action="Drag"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Resize" /> | 
					
						
							| 
									
										
										
										
											2021-12-11 22:57:22 +00:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |     </context> | 
					
						
							|  |  |  |     <context name="Right"> | 
					
						
							| 
									
										
										
										
											2022-01-06 18:30:17 -05:00
										 |  |  |       <mousebind button="Left" action="Drag"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Resize" /> | 
					
						
							| 
									
										
										
										
											2021-12-11 22:57:22 +00:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |     </context> | 
					
						
							|  |  |  |     <context name="Bottom"> | 
					
						
							| 
									
										
										
										
											2022-01-06 18:30:17 -05:00
										 |  |  |       <mousebind button="Left" action="Drag"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Resize" /> | 
					
						
							| 
									
										
										
										
											2021-12-11 22:57:22 +00:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |     </context> | 
					
						
							|  |  |  |     <context name="TRCorner"> | 
					
						
							| 
									
										
										
										
											2022-01-06 18:30:17 -05:00
										 |  |  |       <mousebind button="Left" action="Drag"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Resize" /> | 
					
						
							| 
									
										
										
										
											2021-12-11 22:57:22 +00:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |     </context> | 
					
						
							|  |  |  |     <context name="BRCorner"> | 
					
						
							| 
									
										
										
										
											2022-01-06 18:30:17 -05:00
										 |  |  |       <mousebind button="Left" action="Drag"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Resize" /> | 
					
						
							| 
									
										
										
										
											2021-12-11 22:57:22 +00:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |     </context> | 
					
						
							|  |  |  |     <context name="TLCorner"> | 
					
						
							| 
									
										
										
										
											2022-01-06 18:30:17 -05:00
										 |  |  |       <mousebind button="Left" action="Drag"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Resize" /> | 
					
						
							| 
									
										
										
										
											2021-12-11 22:57:22 +00:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |     </context> | 
					
						
							|  |  |  |     <context name="BLCorner"> | 
					
						
							| 
									
										
										
										
											2022-01-06 18:30:17 -05:00
										 |  |  |       <mousebind button="Left" action="Drag"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Resize" /> | 
					
						
							| 
									
										
										
										
											2021-12-11 22:57:22 +00:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |     </context> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-26 18:30:30 +00:00
										 |  |  |     <context name="TitleBar"> | 
					
						
							| 
									
										
										
										
											2022-01-07 16:13:36 -05:00
										 |  |  |       <mousebind button="Left" action="Press"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Focus" /> | 
					
						
							|  |  |  |         <action name="Raise" /> | 
					
						
							| 
									
										
										
										
											2022-01-07 16:13:36 -05:00
										 |  |  |       </mousebind> | 
					
						
							| 
									
										
										
										
											2022-01-26 00:07:10 +01:00
										 |  |  |       <mousebind button="Right" action="Click"> | 
					
						
							|  |  |  |         <action name="Focus" /> | 
					
						
							|  |  |  |         <action name="Raise" /> | 
					
						
							|  |  |  |       </mousebind> | 
					
						
							| 
									
										
										
										
											2023-08-08 03:39:35 +02:00
										 |  |  |       <mousebind direction="Up" action="Scroll"> | 
					
						
							|  |  |  |         <action name="Unshade" /> | 
					
						
							|  |  |  |         <action name="Focus" /> | 
					
						
							|  |  |  |       </mousebind> | 
					
						
							|  |  |  |       <mousebind direction="Down" action="Scroll"> | 
					
						
							|  |  |  |         <action name="Unfocus" /> | 
					
						
							|  |  |  |         <action name="Shade" /> | 
					
						
							|  |  |  |       </mousebind> | 
					
						
							| 
									
										
										
										
											2022-09-08 13:20:48 -04:00
										 |  |  |     </context> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <context name="Title"> | 
					
						
							|  |  |  |       <mousebind button="Left" action="Drag"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Move" /> | 
					
						
							| 
									
										
										
										
											2022-09-08 13:20:48 -04:00
										 |  |  |       </mousebind> | 
					
						
							| 
									
										
										
										
											2021-08-29 17:10:21 -04:00
										 |  |  |       <mousebind button="Left" action="DoubleClick"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="ToggleMaximize" /> | 
					
						
							| 
									
										
										
										
											2021-08-29 17:10:21 -04:00
										 |  |  |       </mousebind> | 
					
						
							| 
									
										
											  
											
												view: implement separate horizontal/vertical maximize
This is a useful (if lesser-known) feature of at least a few popular X11
window managers, for example Openbox and XFWM4. Typically right-click on
the maximize button toggles horizontal maximize, while middle-click
toggles vertical maximize.
Support in labwc uses the same configuration syntax as Openbox, where the
Maximize/ToggleMaximize actions have an optional "direction" argument:
horizontal, vertical, or both (default). The default mouse bindings match
the XFWM4 defaults (not sure what Openbox has by default).
Most of the external protocols still assume "maximized" is a Boolean,
which is no longer true internally. For the sake of the outside world,
a view is only "maximized" if maximized in both directions.
Internally, I've taken the following approach:
- SSD code decorates the view as "maximized" (i.e. hiding borders) only
  if maximized in both directions.
- Layout code (interactive move/resize, tiling, etc.) generally treats
  the view as "maximized" (with the restrictions that entails) if
  maximized in either direction. For example, moving a vertically-
  maximized view first restores the natural geometry (this differs from
  Openbox, which instead allows the view to move only horizontally.)
v2: use enum view_axis for view->maximized
v3:
  - update docs
  - allow resizing if partly maximized
  - add TODOs & corrections noted by Consolatis
											
										 
											2023-10-26 00:38:29 -04:00
										 |  |  |       <mousebind button="Right" action="Click"> | 
					
						
							|  |  |  |         <action name="ShowMenu" menu="client-menu" /> | 
					
						
							|  |  |  |       </mousebind> | 
					
						
							| 
									
										
										
										
											2021-08-29 17:10:21 -04:00
										 |  |  |     </context> | 
					
						
							| 
									
										
										
										
											2021-12-23 05:58:28 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-01 20:43:57 -04:00
										 |  |  |     <context name="Maximize"> | 
					
						
							|  |  |  |       <mousebind button="Left" action="Click"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="ToggleMaximize" /> | 
					
						
							| 
									
										
										
										
											2021-11-01 20:43:57 -04:00
										 |  |  |       </mousebind> | 
					
						
							| 
									
										
											  
											
												view: implement separate horizontal/vertical maximize
This is a useful (if lesser-known) feature of at least a few popular X11
window managers, for example Openbox and XFWM4. Typically right-click on
the maximize button toggles horizontal maximize, while middle-click
toggles vertical maximize.
Support in labwc uses the same configuration syntax as Openbox, where the
Maximize/ToggleMaximize actions have an optional "direction" argument:
horizontal, vertical, or both (default). The default mouse bindings match
the XFWM4 defaults (not sure what Openbox has by default).
Most of the external protocols still assume "maximized" is a Boolean,
which is no longer true internally. For the sake of the outside world,
a view is only "maximized" if maximized in both directions.
Internally, I've taken the following approach:
- SSD code decorates the view as "maximized" (i.e. hiding borders) only
  if maximized in both directions.
- Layout code (interactive move/resize, tiling, etc.) generally treats
  the view as "maximized" (with the restrictions that entails) if
  maximized in either direction. For example, moving a vertically-
  maximized view first restores the natural geometry (this differs from
  Openbox, which instead allows the view to move only horizontally.)
v2: use enum view_axis for view->maximized
v3:
  - update docs
  - allow resizing if partly maximized
  - add TODOs & corrections noted by Consolatis
											
										 
											2023-10-26 00:38:29 -04:00
										 |  |  |       <mousebind button="Right" action="Click"> | 
					
						
							|  |  |  |         <action name="ToggleMaximize" direction="horizontal" /> | 
					
						
							|  |  |  |       </mousebind> | 
					
						
							|  |  |  |       <mousebind button="Middle" action="Click"> | 
					
						
							|  |  |  |         <action name="ToggleMaximize" direction="vertical" /> | 
					
						
							|  |  |  |       </mousebind> | 
					
						
							| 
									
										
										
										
											2021-11-01 20:43:57 -04:00
										 |  |  |     </context> | 
					
						
							| 
									
										
										
										
											2021-12-23 05:58:28 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-26 02:54:03 +01:00
										 |  |  |     <context name="WindowMenu"> | 
					
						
							|  |  |  |       <mousebind button="Left" action="Click"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="ShowMenu" menu="client-menu" /> | 
					
						
							| 
									
										
										
										
											2022-01-26 02:54:03 +01:00
										 |  |  |       </mousebind> | 
					
						
							| 
									
										
											  
											
												view: implement separate horizontal/vertical maximize
This is a useful (if lesser-known) feature of at least a few popular X11
window managers, for example Openbox and XFWM4. Typically right-click on
the maximize button toggles horizontal maximize, while middle-click
toggles vertical maximize.
Support in labwc uses the same configuration syntax as Openbox, where the
Maximize/ToggleMaximize actions have an optional "direction" argument:
horizontal, vertical, or both (default). The default mouse bindings match
the XFWM4 defaults (not sure what Openbox has by default).
Most of the external protocols still assume "maximized" is a Boolean,
which is no longer true internally. For the sake of the outside world,
a view is only "maximized" if maximized in both directions.
Internally, I've taken the following approach:
- SSD code decorates the view as "maximized" (i.e. hiding borders) only
  if maximized in both directions.
- Layout code (interactive move/resize, tiling, etc.) generally treats
  the view as "maximized" (with the restrictions that entails) if
  maximized in either direction. For example, moving a vertically-
  maximized view first restores the natural geometry (this differs from
  Openbox, which instead allows the view to move only horizontally.)
v2: use enum view_axis for view->maximized
v3:
  - update docs
  - allow resizing if partly maximized
  - add TODOs & corrections noted by Consolatis
											
										 
											2023-10-26 00:38:29 -04:00
										 |  |  |       <mousebind button="Right" action="Click"> | 
					
						
							|  |  |  |         <action name="ShowMenu" menu="client-menu" /> | 
					
						
							|  |  |  |       </mousebind> | 
					
						
							| 
									
										
										
										
											2022-01-26 02:54:03 +01:00
										 |  |  |     </context> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-01 20:43:57 -04:00
										 |  |  |     <context name="Iconify"> | 
					
						
							| 
									
										
										
										
											2023-06-14 16:51:33 +02:00
										 |  |  |       <mousebind button="Left" action="Click"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Iconify" /> | 
					
						
							| 
									
										
										
										
											2021-11-01 20:43:57 -04:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |     </context> | 
					
						
							| 
									
										
										
										
											2021-12-23 05:58:28 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-01 20:43:57 -04:00
										 |  |  |     <context name="Close"> | 
					
						
							|  |  |  |       <mousebind button="Left" action="Click"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Close" /> | 
					
						
							| 
									
										
										
										
											2021-11-01 20:43:57 -04:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |     </context> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-03 22:14:37 +00:00
										 |  |  |     <context name="Client"> | 
					
						
							|  |  |  |       <mousebind button="Left" action="Press"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Focus" /> | 
					
						
							|  |  |  |         <action name="Raise" /> | 
					
						
							| 
									
										
										
										
											2021-12-03 22:14:37 +00:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |       <mousebind button="Middle" action="Press"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Focus" /> | 
					
						
							|  |  |  |         <action name="Raise" /> | 
					
						
							| 
									
										
										
										
											2021-12-03 22:14:37 +00:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |       <mousebind button="Right" action="Press"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="Focus" /> | 
					
						
							|  |  |  |         <action name="Raise" /> | 
					
						
							| 
									
										
										
										
											2021-12-03 22:14:37 +00:00
										 |  |  |       </mousebind> | 
					
						
							|  |  |  |     </context> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-26 23:02:07 +00:00
										 |  |  |     <context name="Root"> | 
					
						
							|  |  |  |       <mousebind button="Left" action="Press"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="ShowMenu" menu="root-menu" /> | 
					
						
							| 
									
										
										
										
											2021-12-26 23:02:07 +00:00
										 |  |  |       </mousebind> | 
					
						
							| 
									
										
										
										
											2021-12-03 22:14:37 +00:00
										 |  |  |       <mousebind button="Right" action="Press"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="ShowMenu" menu="root-menu" /> | 
					
						
							| 
									
										
										
										
											2021-12-03 22:14:37 +00:00
										 |  |  |       </mousebind> | 
					
						
							| 
									
										
										
										
											2021-12-26 23:02:07 +00:00
										 |  |  |       <mousebind button="Middle" action="Press"> | 
					
						
							| 
									
										
										
										
											2022-12-12 13:45:06 +01:00
										 |  |  |         <action name="ShowMenu" menu="root-menu" /> | 
					
						
							| 
									
										
										
										
											2021-12-26 23:02:07 +00:00
										 |  |  |       </mousebind> | 
					
						
							| 
									
										
										
										
											2022-11-09 05:18:14 +00:00
										 |  |  |       <mousebind direction="Up" action="Scroll"> | 
					
						
							| 
									
										
										
										
											2023-05-14 20:44:59 +03:00
										 |  |  |         <action name="GoToDesktop" to="left" wrap="yes" /> | 
					
						
							| 
									
										
										
										
											2022-11-06 21:13:57 +01:00
										 |  |  |       </mousebind> | 
					
						
							| 
									
										
										
										
											2022-11-09 05:18:14 +00:00
										 |  |  |       <mousebind direction="Down" action="Scroll"> | 
					
						
							| 
									
										
										
										
											2023-05-14 20:44:59 +03:00
										 |  |  |         <action name="GoToDesktop" to="right" wrap="yes" /> | 
					
						
							| 
									
										
										
										
											2022-11-06 21:13:57 +01:00
										 |  |  |       </mousebind> | 
					
						
							| 
									
										
										
										
											2021-12-26 23:02:07 +00:00
										 |  |  |     </context> | 
					
						
							| 
									
										
										
										
											2021-12-03 22:14:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-29 17:10:21 -04:00
										 |  |  |   </mouse> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-13 22:56:00 +01:00
										 |  |  |   <!-- | 
					
						
							| 
									
										
										
										
											2024-03-08 21:59:20 +09:00
										 |  |  |     A touch configuration can be bound to a specific device. If device | 
					
						
							| 
									
										
										
										
											2024-01-19 10:37:33 +01:00
										 |  |  |     name is left empty, the touch configuration applies to all touch | 
					
						
							|  |  |  |     devices or functions as a fallback. Multiple touch configurations | 
					
						
							|  |  |  |     can exist. | 
					
						
							|  |  |  |     See the libinput device section for obtaining the device names. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-13 22:56:00 +01:00
										 |  |  |     Direct cursor movement to a specified output. If the compositor is | 
					
						
							|  |  |  |     running in nested mode, this does not take effect. | 
					
						
							|  |  |  |   --> | 
					
						
							| 
									
										
										
										
											2024-01-19 10:37:33 +01:00
										 |  |  |   <touch deviceName="" mapToOutput="" /> | 
					
						
							| 
									
										
										
										
											2024-01-13 22:56:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-29 10:06:17 +01:00
										 |  |  |   <!-- | 
					
						
							| 
									
										
										
										
											2024-01-09 06:58:42 +01:00
										 |  |  |     The tablet cursor movement can be restricted to a single output. | 
					
						
							|  |  |  |     If output is left empty or the output does not exists, the tablet | 
					
						
							|  |  |  |     will span all outputs. | 
					
						
							| 
									
										
										
										
											2024-01-01 18:26:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-29 22:36:06 +01:00
										 |  |  |     The tablet orientation can be changed in 90 degree steps, thus | 
					
						
							| 
									
										
										
										
											2024-01-06 10:57:21 +01:00
										 |  |  |     *rotate* can be set to [0|90|180|270]. Rotation will be applied | 
					
						
							| 
									
										
										
										
											2024-01-01 18:26:38 +01:00
										 |  |  |     after applying tablet area transformation. | 
					
						
							| 
									
										
										
										
											2023-12-29 10:06:17 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-09 06:58:42 +01:00
										 |  |  |     The active tablet area can be specified by setting the *top*/*left* | 
					
						
							|  |  |  |     coordinate (in mm) and/or *width*/*height* (in mm). If width or | 
					
						
							|  |  |  |     height are omitted or default (0.0), width/height will be set to | 
					
						
							|  |  |  |     the remaining width/height seen from top/left. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-24 20:36:51 +02:00
										 |  |  |     The tablet can be forced to always use mouse emulation. This prevents | 
					
						
							|  |  |  |     tablet specific restrictions, e.g. no support for drag&drop, but also | 
					
						
							|  |  |  |     omits tablet specific features like reporting pen pressure. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Pen buttons emulate regular mouse buttons. The pen *button* can be any | 
					
						
							|  |  |  |     of [Stylus|Stylus2|Stylus3] and can be mapped to mouse buttons | 
					
						
							|  |  |  |     [Right|Middle|Side]. Tablet pad buttons [Pad|Pad2|Pad3|..|Pad9] also | 
					
						
							|  |  |  |     emulate regular mouse buttons and can be mapped to any mouse button. | 
					
						
							|  |  |  |     When using mouse emulation, the pen tip [tip] and the stylus buttons | 
					
						
							|  |  |  |     can be set to any available mouse button [Left|Right|Middle|..|Task]. | 
					
						
							| 
									
										
										
										
											2023-12-29 10:06:17 +01:00
										 |  |  |   --> | 
					
						
							| 
									
										
										
										
											2024-04-24 20:36:51 +02:00
										 |  |  |   <tablet mapToOutput="" rotate="0" mouseEmulation="no"> | 
					
						
							| 
									
										
										
										
											2024-01-01 18:26:38 +01:00
										 |  |  |     <!-- Active area dimensions are in mm --> | 
					
						
							| 
									
										
										
										
											2024-01-12 23:58:24 +01:00
										 |  |  |     <area top="0.0" left="0.0" width="0.0" height="0.0" /> | 
					
						
							| 
									
										
										
										
											2024-01-06 10:57:21 +01:00
										 |  |  |     <map button="Tip" to="Left" /> | 
					
						
							|  |  |  |     <map button="Stylus" to="Right" /> | 
					
						
							|  |  |  |     <map button="Stylus2" to="Middle" /> | 
					
						
							| 
									
										
										
										
											2023-12-29 10:06:17 +01:00
										 |  |  |   </tablet> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-19 21:48:49 +01:00
										 |  |  |   <!-- | 
					
						
							| 
									
										
										
										
											2024-01-01 20:04:48 +00:00
										 |  |  |     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 | 
					
						
							|  |  |  |     running *libinput list-devices* as root or member of the input group. | 
					
						
							| 
									
										
										
										
											2021-10-19 21:48:49 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-21 18:19:48 +01:00
										 |  |  |     Tap is set to *yes* by default. All others are left blank in order to use | 
					
						
							| 
									
										
										
										
											2021-10-19 21:48:49 +01:00
										 |  |  |     device defaults. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     All values are [yes|no] except for: | 
					
						
							|  |  |  |       - pointerSpeed [-1.0 to 1.0] | 
					
						
							|  |  |  |       - accelProfile [flat|adaptive] | 
					
						
							| 
									
										
										
										
											2021-12-12 22:12:46 +00:00
										 |  |  |       - tapButtonMap [lrm|lmr] | 
					
						
							| 
									
										
										
										
											2024-02-21 18:19:48 +01:00
										 |  |  |       - clickMethod [none|buttonAreas|clickfinger] | 
					
						
							| 
									
										
										
										
											2023-06-26 07:36:54 +08:00
										 |  |  |       - sendEventsMode [yes|no|disabledOnExternalMouse] | 
					
						
							| 
									
										
										
										
											2024-03-20 12:17:21 +08:00
										 |  |  |       - calibrationMatrix [six float values split by space] | 
					
						
							| 
									
										
										
										
											2021-10-19 21:48:49 +01:00
										 |  |  |   --> | 
					
						
							|  |  |  |   <libinput> | 
					
						
							| 
									
										
										
										
											2023-12-29 16:35:01 +02:00
										 |  |  |     <device category="default"> | 
					
						
							| 
									
										
										
										
											2021-10-19 21:48:49 +01:00
										 |  |  |       <naturalScroll></naturalScroll> | 
					
						
							|  |  |  |       <leftHanded></leftHanded> | 
					
						
							|  |  |  |       <pointerSpeed></pointerSpeed> | 
					
						
							|  |  |  |       <accelProfile></accelProfile> | 
					
						
							|  |  |  |       <tap>yes</tap> | 
					
						
							| 
									
										
										
										
											2021-12-12 22:12:46 +00:00
										 |  |  |       <tapButtonMap></tapButtonMap> | 
					
						
							| 
									
										
										
										
											2023-09-02 17:32:48 +09:00
										 |  |  |       <tapAndDrag></tapAndDrag> | 
					
						
							|  |  |  |       <dragLock></dragLock> | 
					
						
							| 
									
										
										
										
											2021-10-19 21:48:49 +01:00
										 |  |  |       <middleEmulation></middleEmulation> | 
					
						
							|  |  |  |       <disableWhileTyping></disableWhileTyping> | 
					
						
							| 
									
										
										
										
											2024-02-21 18:19:48 +01:00
										 |  |  |       <clickMethod></clickMethod> | 
					
						
							| 
									
										
										
										
											2023-06-26 07:36:54 +08:00
										 |  |  |       <sendEventsMode></sendEventsMode> | 
					
						
							| 
									
										
										
										
											2024-03-20 03:32:41 +08:00
										 |  |  |       <calibrationMatrix></calibrationMatrix> | 
					
						
							| 
									
										
										
										
											2021-10-19 21:48:49 +01:00
										 |  |  |     </device> | 
					
						
							|  |  |  |   </libinput> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-28 21:41:41 +01:00
										 |  |  |   <!-- | 
					
						
							| 
									
										
										
										
											2023-06-07 21:44:38 +01:00
										 |  |  |     # Window Rules | 
					
						
							| 
									
										
										
										
											2024-05-16 12:52:47 +03:00
										 |  |  |     #   - Criteria can consist of 'identifier', 'title', 'sandboxEngine' or | 
					
						
							|  |  |  |     #     'sandboxAppId'. AND logic is used when multiple options are specified. | 
					
						
							| 
									
										
										
										
											2024-01-13 19:51:20 +02:00
										 |  |  |     #   - 'identifier' relates to app_id for native Wayland windows and | 
					
						
							|  |  |  |     #     WM_CLASS for XWayland clients. | 
					
						
							| 
									
										
										
										
											2023-06-07 21:44:38 +01:00
										 |  |  |     #   - Criteria can also contain `matchOnce="true"` meaning that the rule | 
					
						
							|  |  |  |     #     must only apply to the first instance of the window with that | 
					
						
							|  |  |  |     #     particular 'identifier' or 'title'. | 
					
						
							|  |  |  |     #   - Matching against patterns with '*' (wildcard) and '?' (joker) is | 
					
						
							|  |  |  |     #     supported. Pattern matching is case-insensitive. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <windowRules> | 
					
						
							|  |  |  |       <windowRule identifier="*"><action name="Maximize"/></windowRule> | 
					
						
							|  |  |  |       <windowRule identifier="foo" serverDecoration="yes"/> | 
					
						
							|  |  |  |       <windowRule title="bar" serverDecoration="yes"/> | 
					
						
							|  |  |  |       <windowRule identifier="baz" title="quax" serverDecoration="yes"/> | 
					
						
							|  |  |  |     </windowRules> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     # Example below for `lxqt-panel` and `pcmanfm-qt \-\-desktop` | 
					
						
							| 
									
										
										
										
											2024-01-13 19:51:20 +02:00
										 |  |  |     # where 'matchOnce' is used to avoid applying rule to the panel | 
					
						
							|  |  |  |     # configuration window with the same 'app_id'. | 
					
						
							| 
									
										
										
										
											2023-06-07 21:44:38 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <windowRules> | 
					
						
							|  |  |  |       <windowRule identifier="lxqt-panel" matchOnce="true"> | 
					
						
							|  |  |  |         <skipTaskbar>yes</skipTaskbar> | 
					
						
							|  |  |  |         <action name="MoveTo" x="0" y="0" /> | 
					
						
							|  |  |  |         <action name="ToggleAlwaysOnTop"/> | 
					
						
							|  |  |  |       </windowRule> | 
					
						
							|  |  |  |       <windowRule title="pcmanfm-desktop*"> | 
					
						
							|  |  |  |         <skipTaskbar>yes</skipTaskbar> | 
					
						
							|  |  |  |         <skipWindowSwitcher>yes</skipWindowSwitcher> | 
					
						
							| 
									
										
										
										
											2023-12-28 16:47:21 -05:00
										 |  |  |         <fixedPosition>yes</fixedPosition> | 
					
						
							| 
									
										
										
										
											2023-06-07 21:44:38 +01:00
										 |  |  |         <action name="MoveTo" x="0" y="0" /> | 
					
						
							|  |  |  |         <action name="ToggleAlwaysOnBottom"/> | 
					
						
							|  |  |  |       </windowRule> | 
					
						
							| 
									
										
										
										
											2023-12-28 16:47:21 -05:00
										 |  |  |       <windowRule identifier="org.qutebrowser.qutebrowser"> | 
					
						
							| 
									
										
										
										
											2024-05-08 14:18:03 +10:00
										 |  |  |         <action name="ResizeTo" width="1024" height="800" /> | 
					
						
							| 
									
										
										
										
											2023-12-28 16:47:21 -05:00
										 |  |  |         <action name="AutoPlace"/> | 
					
						
							|  |  |  |       </windowRule> | 
					
						
							| 
									
										
										
										
											2023-06-07 21:44:38 +01:00
										 |  |  |     </windowRules> | 
					
						
							| 
									
										
										
										
											2023-04-28 21:41:41 +01:00
										 |  |  |   --> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-26 09:03:17 +09:00
										 |  |  |   <menu> | 
					
						
							|  |  |  |     <ignoreButtonReleasePeriod>250</ignoreButtonReleasePeriod> | 
					
						
							|  |  |  |   </menu> | 
					
						
							| 
									
										
										
										
											2024-05-15 23:07:23 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   <!-- | 
					
						
							|  |  |  |     Magnifier settings | 
					
						
							|  |  |  |     'width' sets the width in pixels of the magnifier window. | 
					
						
							|  |  |  |     'height' sets the height in pixels of the magnifier window. | 
					
						
							|  |  |  |     'initScale' sets the initial magnification factor at boot. | 
					
						
							|  |  |  |     'increment' sets the amount by which the magnification factor | 
					
						
							|  |  |  |       changes when 'ZoomIn' or 'ZoomOut' are called. | 
					
						
							|  |  |  |     'useFilter' sets whether to use a bilinear filter on the magnified | 
					
						
							|  |  |  |       output or simply to take nearest pixel. | 
					
						
							|  |  |  |   --> | 
					
						
							|  |  |  |   <magnifier> | 
					
						
							|  |  |  |     <width>400</width> | 
					
						
							|  |  |  |     <height>400</height> | 
					
						
							|  |  |  |     <initScale>2.0</initScale> | 
					
						
							|  |  |  |     <increment>0.2</increment> | 
					
						
							|  |  |  |     <useFilter>true</useFilter> | 
					
						
							|  |  |  |   </magnifier> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-22 19:09:31 +01:00
										 |  |  | </labwc_config> |