Commit Graph

691 Commits

Author SHA1 Message Date
1e58e8b7f8 Create wlr_export_dmabuf_manager_v1 2020-10-06 20:19:07 +02:00
18f5fcb1ef Implement primary selection 2020-10-06 17:46:05 +02:00
185b403854 docs: update zig dependency in readme 2020-10-05 23:17:05 +02:00
bb23464322 Send view tags when applying pending state in XdgToplevel.zig 2020-10-05 23:03:57 +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
0bd8274bd4 server: support wlr-gamma-control 2020-09-30 12:59:00 +02:00
2b77be8c87 seat: start transaction on focus-output
This fixes a delay due to the missing startTransaction() call causing
unapplied pending state.
2020-09-30 11:16:27 +02:00
d783347476 layer-shell: default to focused output
Layer shell clients may leave the output on which to display a layer
surface up to the compositor. Instead of always putting such surfaces
on the first output use the focused output of the default seat.
2020-09-29 17:27:33 +02:00
3e955935eb docs: use foot in the example config.sh 2020-09-28 22:57:22 +02:00
b3279b87cc layer-shell: make invalid 0 dimension a hard error 2020-09-28 22:52:53 +02:00
e019b9de47 view: always set fullscreen x/y to 0,0
This position is output relative not layout relative.
2020-09-28 16:28:47 +02:00
c95c0416d5 docs: focus-follows-cursor fix options to be bold 2020-09-15 17:44:06 +02:00
52cd871151 Implement map -release 2020-09-15 15:58:54 +02:00
7e02fb679c Implement focus-follows-cursor 2020-09-15 15:15:55 +02:00
f597e7da63 seat: implement drag and drop 2020-09-14 20:11:25 +02:00
976a3ce73d cursor: handle borderless views in move/resize 2020-09-08 18:54:57 +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
fd8c5e6410 style: attach_mode() -> attachMode() 2020-08-24 11:50:38 +02:00
e92b6307d9 river-status: don't report destroying views 2020-08-22 17:17:57 +02:00
dd425a3e66 root: clean up initialization 2020-08-21 21:06:59 +02:00
0b2c992f4d river-status: clean up initialization 2020-08-21 21:06:59 +02:00
997b151df2 output: clean up initialization 2020-08-21 21:06:59 +02:00
4a334829f3 config: handle alloc failure in Mapping init 2020-08-21 21:06:59 +02:00
c7c1934b70 Keyboard: clean up initialization 2020-08-21 21:06:59 +02:00
163fa47822 xdg-decoration: clean up initialization 2020-08-21 21:06:59 +02:00
5098553fb4 river-status: clean up initialization 2020-08-21 21:06:58 +02:00
a201ced77d config: clean up initialization 2020-08-21 21:06:58 +02:00
71a751f1ad seat: clean up initialization 2020-08-21 21:06:58 +02:00
37ea1bac36 layer-surface: clean up initialization 2020-08-21 16:53:04 +02:00
eb21e03b42 xdg-popup: clean up initialization 2020-08-21 16:51:09 +02:00
5cea3f68e3 xwayland: clean up initialization 2020-08-21 16:48:17 +02:00
1fbaaa55b3 xdg-toplevel: clean up initialization 2020-08-21 16:45:27 +02:00
283f3f8061 view: clean up initialization 2020-08-21 16:43:12 +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
fa08d85c58 view: implement frame-perfect destroy
river's View objects may now outlive their wlroots counterparts so that
we can continue to render a destroyed view until the transaction is
completed.
2020-08-21 16:31:39 +02:00
59d6432332 Implement "attach-mode" 2020-08-18 11:00:51 +02:00
340bfbd7f1 xwayland: fix signed to unsigned int casting error 2020-08-13 13:47:14 +02:00
7de2edb623 seat: implement kde idle protocol 2020-08-13 12:22:32 +02:00
aabd85b028 layer-shell: improve configure handling
- don't send a new configure on commit if nothing has changed
- simplify code
2020-08-13 11:17:15 +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
bd99428766 view: handle setting fullscreen in configure() 2020-08-13 11:17:15 +02:00
2669a615b6 root: refactor transaction initiation
- require the caller to use Root.startTransaction() directly
- introduce View.applyPending() to unify logic
- introduce View.shouldTrackConfigure() to unify more logic
- update all callsites to intelligently rearrange only what is necessary
2020-08-13 11:17:15 +02:00
50d008adbb ci: run only on master branch 2020-08-11 22:38:30 +02:00
946e4f21ba Enforce minimum window size also for views with constraints 2020-08-10 22:15:09 +02:00
45a730cbd3 Fix crashing bug for window size smaller than 2 * (border width + gap size) 2020-08-10 19:26:13 +02:00
e66c8b0019 code: clean up cursor resize mode
- offset_{x,y} is consistent with delta_{x,y}
- no need to name the type, it's only referenced in one place
2020-08-07 21:36:28 +02:00
0c4e3295b1 cursor: implement implicit grabs
When a button is held down and the cursor leaves a surface, events now
continue to be sent to the client. This allows e.g. dragging a scroll
bar from outside the surface.
2020-08-07 13:54:58 +02:00
91052f7477 cursor: refactor mode handling 2020-08-07 12:08:58 +02:00