Commit Graph

132 Commits

Author SHA1 Message Date
807d4a4212 keyboard: handle destruction 2020-11-29 21:05:27 +01:00
f80992e329 meta: make copyright headers more maintainable
- list all files as copyright "The River Developers"
- add an AUTHORS file to acknowledge contributors
2020-11-11 20:33:43 +01:00
03a2da9690 Introduce mode "locked"
This mode is automatically entered when the screen is locked.
2020-10-19 16:00:17 +02:00
036f9a1cb9 Always set fullscreen views to fully opaque 2020-10-08 18:41:47 +02:00
18f5fcb1ef Implement primary selection 2020-10-06 17:46:05 +02:00
b67ea748a3 Implement configurable view opacity with fade effect 2020-10-05 23:03:57 +02:00
27b666dbba code: update to zig master in prep for 0.7.0
This commit makes the minimal necessary changes to get things working,
there are further changes which can be made to take advantage of new
features.
2020-10-02 20:34:24 +02:00
52cd871151 Implement map -release 2020-09-15 15:58:54 +02:00
f597e7da63 seat: implement drag and drop 2020-09-14 20:11:25 +02:00
989e7aaeda config: implement map-pointer command
This command takes a mode, modifiers, button/event name, and pointer
action as arguments. It stores these in the config data structure.

The currently available pointer actions are move-view and resize-view,
which replace the previously hard-coded functionality.

Closing the hovered view with middle click has temorarily been removed
until it is decided if we wish to make this another special pointer
action or perhaps allow running any arbitrary command (which would of
course include close).
2020-08-24 18:57:43 +02:00
71a751f1ad seat: clean up initialization 2020-08-21 21:06:58 +02:00
7274761069 cursor: leave mode if target view is destroyed 2020-08-21 16:31:39 +02:00
db416eb119 view stack: rework iteration for flexibility
There is now a single iter() function which accepts a filter and context
allowing users of the api to filter the views in any arbitrary way. This
change allowed for a good amount of code cleanup, and this commit also
ensures that the correct properties are checked in each case, including
the new View.destroying field added in the previous commit. This fixes
at least one crash involving switching focus to a destroying view.
2020-08-21 16:31:39 +02:00
7de2edb623 seat: implement kde idle protocol 2020-08-13 12:22:32 +02:00
7a6ac8eb6e seat: set focus before starting transactions
Focus was made double-buffered in 96a91fd. However, much of the code
still behaved as if focus was separate from the transaction system.
This commit completes the work started in 96a91fd and ensures that
focus is applied consistently in a single transaction.
2020-08-13 11:17:15 +02:00
96a91fd2f7 view: double buffer focus, use counter not bool
- Double buffering focus state ensures that border color is kept in sync
with the transaction state of views in the layout.
- Using a counter instead of a bool will allow for proper handling of
multiple seats. This is done in the same commit to avoid more churn in
the future.
2020-08-03 18:54:18 +02:00
0ebb5ccc17 code: update to wlroots 0.11.0 2020-07-16 21:20:43 +02:00
101f47d78f code: use a tagged union to store focus
This simplifies the code and is more robust than two separate pointers.
2020-07-15 14:15:17 +02:00
d292e61cfd cursor: implement moving views 2020-07-07 19:06:52 +02:00
341fe1e977 code: handle out of memory as well as possible 2020-07-05 22:49:17 +02:00
86386e84bc output: introduce state struct
This simplifies the handling of the current/pending tags and will be
used in the future for atomic layout updates involving layer surface
exclusive zones.
2020-07-02 21:56:26 +02:00
eb1e66b0fe seat: prioritize fullscreen views for focus 2020-06-29 01:04:37 +02:00
c04112b81a view: introduce state struct to simplify code
The state struct holds all of the state that is double-buffered and
applied through transactions. This more explicit handling simplifies
much of the code, and will allow for easier implementation of new
feature such as fullscreen.
2020-06-27 23:18:41 +02:00
3904275373 command: log output of commands run by mappings 2020-06-26 18:43:20 +02:00
40597f184d command: allow output on success, refactor 2020-06-26 17:57:03 +02:00
b6d981254b seat: pass a null terminated string 2020-06-26 01:13:00 +02:00
79bb0accac code: improve error handling consistency 2020-06-26 00:59:31 +02:00
12d34d4ded bikeshed: rename util.allocator to util.gpa
This is less typing and more clear. A definite win.
2020-06-19 14:32:30 +02:00
c5de1641dc code: create util.allocator and use globally
river is not a library and passing a general purpose allocators around
everywhere does not make sense and leads to ugly code. This does not
prevent us from using local arenas if they are fitting.
2020-06-16 22:48:08 +02:00
fb8d855ec9 code: create voidCast() util function 2020-06-16 20:54:05 +02:00
5aa7fe8af8 river-status: implement protocol 2020-06-04 16:56:58 +02:00
939beef168 Split river and riverctl directories 2020-06-01 15:56:50 +02:00