Leon Henrik Plickat and Isaac Freund
4e48d68485
View: restore to previous output on reconnect
2024-03-14 11:07:15 +01:00
Leon Henrik Plickat and Isaac Freund
931b6268e7
command/input: support globs
2024-02-19 18:07:45 +01:00
Leon Henrik Plickat
653b5c6660
river: fix names of input config settings
2024-02-15 11:41:43 +01:00
Leon Henrik Plickat
0cae415a93
refactor input configuration
2024-02-14 14:54:36 +01:00
Leon Henrik Plickat and Isaac Freund
dd9933b6a1
keyboard-groups: use globber for identifier matching
2024-01-07 12:37:03 -06:00
Leon Henrik Plickat and Isaac Freund
c86f460135
Keyboard: Add new keyboards to groups if matched
...
Previously new keyboards would not be added to already existing
keyboard groups on (re-)connect. Only during the creation of
the groups themselves were devices added to them. This meant
that only keyboards connected during startup - before the init
is executed - would work with groups in a typical river session.
2024-01-04 11:00:16 -06:00
Leon Henrik Plickat
c16628c7f5
river: fix spatial direction focusing / swapping
2023-07-11 01:11:40 +02:00
Leon Henrik Plickat
b35d779122
river: focus-view and swap by spatial direction
2023-07-09 23:20:06 +02:00
Leon Henrik Plickat and Isaac Freund
5ce2ca1bc0
river: fix crash when trying to add tag rule without tag argument
2023-07-02 19:21:52 +02:00
Leon Henrik Plickat
0b142bd16b
river: add tags rule
2023-06-28 15:38:32 +02:00
Leon Henrik Plickat
a98de941d0
river: change order of colums in list-rules command
...
This will make it easier to extend the command later for new rules
2023-06-27 10:47:44 +02:00
Leon Henrik Plickat
9b5ea39580
river: allow settings child type of RuleList
2023-06-27 10:44:28 +02:00
Leon Henrik Plickat and Isaac Freund
93a567ca94
riverctl: Add error messages for failed connections
2023-06-05 20:01:27 +02:00
Leon Henrik Plickat and GitHub
701d16c2ea
completions: add keyboard-layout
2023-01-06 16:36:00 +01:00
Leon Henrik Plickat
5d4c2f2fbd
river: fix resize command
...
In 489a49735 the view.move() call, which is used to keep the view centered after
a resize, was accidentally removed.
2022-12-29 14:56:06 +01:00
Leon Henrik Plickat and Isaac Freund
ad1dbb1180
river: add keyboard-layout command
...
This allows switching river's keyboard layout at runtime.
2022-12-28 20:20:36 +01:00
Leon Henrik Plickat and Isaac Freund
b8e2ee2a0c
river-status: expose current layout name
2022-12-01 15:51:00 +01:00
Leon Henrik Plickat
01f49bbbc1
river: add keyboard groups
2022-09-12 04:12:21 +02:00
Leon Henrik Plickat
29ae7ba311
river: advertise correct version of layout protocol
2022-08-19 00:04:16 +02:00
Leon Henrik Plickat and Isaac Freund
844ffce037
river-layout: add user_command_tags event
...
It is not guaranteed that the next layout_demand event after a user_command
event has the same active tags (for example when there are no views visible).
As an example, a user could trigger a user_command while no views are visible,
then switch to a different tag set which has active views. The active tags of
the previous layout_demand may also be different.
Therefore it is impossible to correctly implement a layout generator which has
user commands apply only to the currently active tag set, which is solved by
this patch.
2022-08-16 13:40:07 +02:00
Leon Henrik Plickat
765a3f4aff
river: keep floating views within bounds when sending to output
2022-08-11 15:22:07 +02:00
Leon Henrik Plickat and GitHub
37da205be0
river: error out if default init is not executable
2022-06-06 21:53:55 +02:00
Leon Henrik Plickat and Isaac Freund
e857631936
rivertile: Use saturating arithmetics to prevent over-/underflow when using user defined values
2022-02-26 16:19:15 +01:00
Leon Henrik Plickat and Isaac Freund
422cd3e01f
input: Improve input device name format
...
The name now includes the type, for the case of a physical device
advertising more than one logical device.
2022-02-05 18:52:46 +01:00
Leon Henrik Plickat and Isaac Freund
53f84b76f3
input: keep applying input configs after first match
...
Device identifiers aren't so unique after all
2022-02-05 18:52:16 +01:00
Leon Henrik Plickat and GitHub
214ad65b72
Cursor: update image if needed on xcursor theme change
2022-01-29 15:40:29 +01:00
Leon Henrik Plickat and GitHub
d93ee2c27e
Cursor: improve output focus handling on button press
...
This patch allows to focus outputs by clicking on the empty background and by
clicking on layer surfaces without keyboard interactivity. This makes it
possible to use the cursor to focus outputs with no visible views.
This also fixes problems with pointer interactive layer surfaces (for example
launchers and docks) on non-focused outputs.
2021-12-10 23:40:48 +01:00
Leon Henrik Plickat and Isaac Freund
61d6aecb10
contrib: add python layout
2021-10-06 12:16:36 +02:00
Leon Henrik Plickat and Isaac Freund
196c52885f
Decrease layout demand timeout to 100ms
...
Layout generators are generally pretty fast. The timeout is only reached when
the generator is faulty / stuck. In that case, freezing for 1 second is simply
bad UX.
2021-10-04 11:07:59 +02:00
Leon Henrik Plickat and Isaac Freund
ab55ab8fc2
command: Use std.ComptimeStringMap to get impl. function from command string
2021-09-16 11:47:44 +02:00
Leon Henrik Plickat and Isaac Freund
a3c6571326
cursor: reset state if needed on transaction commit
...
A transaction may move the current target of a cursor action to a
non-visible tag, make it fullscreen, or otherwise change things such
that the current cursor state no longer makes sense.
To handle this, check if we should reset cursor state every time a
transaction is committed.
2021-07-23 11:48:01 +00:00
Leon Henrik Plickat and Isaac Freund
dfa2471141
contrib: update layout.c for river-layout-v3
2021-07-21 14:01:51 +02:00
Leon Henrik Plickat and Isaac Freund
968aef3459
river: make CSD-filters apply to existing views
2021-07-12 17:57:01 +00:00
Leon Henrik Plickat and Isaac Freund
9ec04c764e
river: add commands to remove filter entries
2021-07-12 17:57:01 +00:00
Leon Henrik Plickat and Isaac Freund
61829d82fe
completions: Add bash completion for set-cursor-warp commands
2021-06-26 19:03:49 +02:00
Leon Henrik Plickat and Isaac Freund
085cca0d5e
cursor: add option to warp on output change
...
On output change, if the cursor is not already on the newly focused
output, it will now be warped to its center. The check is necessary,
since focusing outputs with the pointer will be implemented in
the future.
2021-06-26 19:03:49 +02:00
Leon Henrik Plickat and Isaac Freund
d3a9e96f7d
Add spacial output operations
...
List based output operations are tedious for complex output layouts.
2021-06-23 12:47:20 +02:00
Leon Henrik Plickat and Isaac Freund
3405e2a87c
Ignore move and resize requests from fullscreened XDG toplevels
2021-06-16 10:03:30 -07:00
Leon Henrik Plickat and Isaac Freund
1fd8d4d828
add bash completion for input commands
2021-06-13 10:37:36 -07:00
Leon Henrik Plickat and Isaac Freund
a267262a17
Add list-input-configs command
2021-06-13 10:37:36 -07:00
Leon Henrik Plickat and Isaac Freund
3f4fd97b6e
Add list-inputs command
2021-06-13 10:37:36 -07:00
Leon Henrik Plickat and Isaac Freund
c9c9901c5b
doc: Document input config commands
2021-06-13 10:37:36 -07:00
Leon Henrik Plickat and Isaac Freund
833248e805
Add basic input configuration
2021-06-13 10:37:36 -07:00
Leon Henrik Plickat and Isaac Freund
6333e465d2
Allow changing output focus with pointer
2021-05-19 14:15:28 +02:00
Leon Henrik Plickat and Isaac Freund
6ab06120fa
rivertile: clamp main_amount
2021-05-19 13:54:54 +02:00
Leon Henrik Plickat and Isaac Freund
7ffa2f4b9e
contrib: Update layout.c for river-layout-v2
2021-05-07 00:34:41 +02:00
Leon Henrik Plickat and Isaac Freund
924a4707b7
contrib: update layouts for river-layout and river-options
...
- Remove old layouts which no longer work.
- Add new C layout.
2021-04-20 18:27:03 +02:00
Leon Henrik Plickat and Isaac Freund
f72656b72e
river-layout: create and implement protocol
...
Replace the current layout mechanism based on passing args to a child
process and parsing it's stdout with a new wayland protocol. This much
more robust and allows for more featureful layout generators.
Co-authored-by: Isaac Freund <ifreund@ifreund.xyz >
2021-04-20 18:27:03 +02:00
Leon Henrik Plickat and Isaac Freund
e6f11fc5d2
Fix crash when layer surface dimensions or margins are unexpectedly large
2021-03-27 13:10:19 +01:00
Leon Henrik Plickat and Isaac Freund
e43e58432f
riverctl: Do not use std.debug.print()
2021-03-27 12:17:47 +01:00
Leon Henrik Plickat and Isaac Freund
f99071f1da
riverctl: Print error messages instead of error traces for common user mistakes
2021-03-27 12:17:47 +01:00
Leon Henrik Plickat and Isaac Freund
eb1dd401f8
Add bash completion for riverctl
2021-03-14 17:06:43 +01:00
Leon Henrik Plickat and Isaac Freund
5887d54f04
Deny move/resize requests from tiled XdgToplevel Views
2021-02-17 14:42:23 +01:00
Leon Henrik Plickat and GitHub
aeeae92611
riverctl: add mod-option command
2021-02-09 22:53:17 +01:00
Leon Henrik Plickat and Isaac Freund
7029a5cd3e
output: add output_title default option
...
Outputs now have a default option, "output_title". If this changes, the
outputs title is set to the option value. This title is currently only
relevant when run nested in a wayland/X11 session.
Co-authored-by: Isaac Freund <ifreund@ifreund.xyz >
2021-02-02 01:14:06 +01:00
Leon Henrik Plickat and Isaac Freund
0c5e5a7b4a
doc: Remove outdated configuration instructions
2020-12-13 01:19:27 +01:00
Leon Henrik Plickat and Isaac Freund
58d9bfc766
contrib: Unify style
...
Unify indentation and variables and add link to non-standard programs
called.
2020-12-13 01:19:27 +01:00
Leon Henrik Plickat and Isaac Freund
f08d37ab28
doc: unify scdoc style
...
This unifies the style of the man page source files. Most noticable are
the now consistent line endings at 80 chars (assuming a tabwidth of 8).
2020-12-13 01:19:27 +01:00
Leon Henrik Plickat and Isaac Freund
1626203c44
Add default config location
2020-11-18 15:15:22 +01:00
Leon Henrik Plickat and Isaac Freund
5407325400
Add tests for ViewStack.swap()
2020-10-26 22:58:09 +01:00
Leon Henrik Plickat and Isaac Freund
ac1762567c
Send zriver_seat_status_v1.focused_view when title of focused view changes
2020-10-25 17:28:13 +01:00
Leon Henrik Plickat and Isaac Freund
dd92b05af0
Add mediakey maps for locked and normal mode to example config
...
The example config now additionally demonstrates how to use a shell loop
to create a mapping in multiple modes, how mediakeys can be mapped and
how to use the "None" modifier.
2020-10-22 21:10:12 +02:00
Leon Henrik Plickat and Isaac Freund
03a2da9690
Introduce mode "locked"
...
This mode is automatically entered when the screen is locked.
2020-10-19 16:00:17 +02:00
Leon Henrik Plickat and Isaac Freund
744e6b3052
Remove checking translated keysyms
...
Raw keysyms are enough to handle all possible keybinds
2020-10-18 16:36:11 +02:00
Leon Henrik Plickat and Isaac Freund
4b4f7c464c
Allow "None" as modifier string for bindings without modifiers
...
This is more userfriendly than the empty string approach.
2020-10-18 16:36:11 +02:00
Leon Henrik Plickat and Isaac Freund
ec5d5e8826
Move Cursor.Mode impl functions to Cursor
2020-10-17 23:42:37 +02:00
Leon Henrik Plickat and Isaac Freund
d5d1e87a95
Implement XDG-Toplevel move and resize request handlers
2020-10-17 23:42:37 +02:00
Leon Henrik Plickat and Isaac Freund
1e0ee3b146
Remove unused event parameter from Cursor.Mode.enter()
2020-10-17 23:42:37 +02:00
Leon Henrik Plickat and Isaac Freund
b6861bc80b
Update view.float_box when setting a floating view to fullscreen
2020-10-17 21:23:13 +02:00
Leon Henrik Plickat and Isaac Freund
036f9a1cb9
Always set fullscreen views to fully opaque
2020-10-08 18:41:47 +02:00
Leon Henrik Plickat and Isaac Freund
d4ca5d7a88
introduce Output.getEffectiveResolution()
2020-10-07 21:03:59 +02:00
Leon Henrik Plickat and Isaac Freund
b2f13f5bcc
Implement "move", "snap" and "resize" commands
2020-10-07 21:03:59 +02:00
Leon Henrik Plickat and Isaac Freund
6f9ecd4eda
Create wlr_viewporter
2020-10-06 20:19:07 +02:00
Leon Henrik Plickat and Isaac Freund
1e58e8b7f8
Create wlr_export_dmabuf_manager_v1
2020-10-06 20:19:07 +02:00
Leon Henrik Plickat and Isaac Freund
18f5fcb1ef
Implement primary selection
2020-10-06 17:46:05 +02:00
Leon Henrik Plickat and Isaac Freund
bb23464322
Send view tags when applying pending state in XdgToplevel.zig
2020-10-05 23:03:57 +02:00
Leon Henrik Plickat and Isaac Freund
b67ea748a3
Implement configurable view opacity with fade effect
2020-10-05 23:03:57 +02:00
Leon Henrik Plickat and Isaac Freund
59d6432332
Implement "attach-mode"
2020-08-18 11:00:51 +02:00
Leon Henrik Plickat and Isaac Freund
946e4f21ba
Enforce minimum window size also for views with constraints
2020-08-10 22:15:09 +02:00
Leon Henrik Plickat and Isaac Freund
45a730cbd3
Fix crashing bug for window size smaller than 2 * (border width + gap size)
2020-08-10 19:26:13 +02:00
Leon Henrik Plickat and Isaac Freund
228c2c372f
Fix bug causing XDG toplevels with a parent to not respect the CSD filter
2020-07-16 21:24:08 +02:00
Leon Henrik Plickat and Isaac Freund
a93c263502
Implement csd-filter-add and float-filter-add commands
2020-07-16 21:24:08 +02:00
Leon Henrik Plickat and Isaac Freund
76da7e2b0d
Make float_filter a slice list
2020-07-16 21:24:08 +02:00
Leon Henrik Plickat and Isaac Freund
be29b0ef95
Implement csd_filter list
2020-07-16 17:08:19 +02:00
Leon Henrik Plickat and Isaac Freund
d77ac5ac7a
cursor: close view on middleclick when pointer_modifier is active
2020-07-08 12:25:52 +02:00
Leon Henrik Plickat and Isaac Freund
d292e61cfd
cursor: implement moving views
2020-07-07 19:06:52 +02:00
Leon Henrik Plickat and Isaac Freund
ec0631dcef
Doc: Add layout documentation
2020-06-16 15:48:53 +02:00
Leon Henrik Plickat and Isaac Freund
4cbef71a8d
Contrib: Add debug layouts
2020-06-16 15:48:53 +02:00
Leon Henrik Plickat and Isaac Freund
5de21d0d23
Commands: rework layout command
2020-06-16 15:48:53 +02:00
Leon Henrik Plickat and Isaac Freund
2fce8c7108
Output: Add layoutExternal()
2020-06-16 15:48:53 +02:00
Leon Henrik Plickat and Isaac Freund
754e24a710
Output: Rework layout switching in arrangeViews()
2020-06-16 15:48:53 +02:00
Leon Henrik Plickat and Isaac Freund
bdc56517e9
Output: Remove layoutMasterStack() and rework layoutFull()
...
layoutFull() now enforces a minimum view size of 50x50
2020-06-16 15:48:53 +02:00
Leon Henrik Plickat and Isaac Freund
2575f642f1
Fix layout bugs
...
This fixes two bugs: First, the height of the slave stack was to high
when using the TopMaster or BottomMaster layouts with no views in the
master stack. Second, the view padding was not respected when using the
Full layout.
2020-05-22 11:21:36 +02:00
Leon Henrik Plickat and Isaac Freund
7934cbfaea
Add layout command
2020-05-20 23:02:28 +02:00
Leon Henrik Plickat and Isaac Freund
3c5eaec50b
Add layout variable to Output class
...
This variable in controls which layout is chosen when
arrangeViews() is called. The default is LeftMaster
2020-05-20 23:02:28 +02:00
Leon Henrik Plickat and Isaac Freund
fd3f48c1a7
Switch to layoutFull() for one or no visible views
2020-05-20 23:02:28 +02:00
Leon Henrik Plickat and Isaac Freund
444cf77ad3
Add "full" layout
...
Similar to dwm's "monocle" layout
2020-05-20 23:02:28 +02:00
Leon Henrik Plickat and Isaac Freund
b40c5d912e
Modify default layout to allow master area on all four sides
...
Also move it into a separate function
2020-05-20 23:02:28 +02:00