Commit graph

826 commits

Author SHA1 Message Date
Erik Reider b491ac42b0 Code cleanuo: Simplified adjust_* functions 2024-01-25 18:59:43 +01:00
Erik Reider 1fedb1a1ee Reset swipe on other cursor rebase 2024-01-24 11:13:30 +01:00
Erik Reider 0da822151d Unset focus while swiping 2024-01-24 03:35:02 +01:00
Erik Reider a12a8ea7b0 Merged workspace_output_next and workspace_output_next_wrap 2024-01-24 03:11:39 +01:00
Erik Reider bd3745c6ed Draw rect and shadow on "Spring effect" for fullscreen views 2024-01-24 02:29:55 +01:00
Erik Reider 83e0872e79 Fixed regular views rendering behind fullscreen ones + code cleanup 2024-01-24 02:17:44 +01:00
Erik Reider 0a619a03ab Use Ease-Out when swiping into the non-wrapped edges 2024-01-23 18:55:12 +01:00
Erik Reider 54daaa9ed2 Updated swipe percentage calculation to also use avg_velocity 2024-01-23 18:54:46 +01:00
Erik Reider 42fcd6c86d Fixed fullscreen sometimes segfaulting 2024-01-22 19:18:31 +01:00
Erik Reider 1113e5653a Added workspace_gesture_threshold config option 2024-01-22 18:25:07 +01:00
Erik Reider 0b521abe88 Added workspace_gesture_wrap_around config option 2024-01-22 18:25:07 +01:00
Erik Reider 519bfc4ecc Added workspace_gesture_spring_size config option 2024-01-22 18:02:32 +01:00
Erik Reider 067613854b Added vertical gesture support 2024-01-22 16:40:02 +01:00
Erik Reider fdf764d3f6 Added "Spring effect" when trying to swipe past limits 2024-01-22 15:39:34 +01:00
Erik Reider 29c481da95 Workspace code cleanup 2024-01-22 15:39:34 +01:00
Erik Reider 3ad50f9627 Clear transformed fullscreen damage 2024-01-22 14:28:14 +01:00
Erik Reider 8da7c5080c Fixed popups not compensating for transition 2024-01-22 13:19:32 +01:00
Erik Reider 9e551680db Try switching workspace on gesture cancel instead of reset 2024-01-22 12:21:57 +01:00
Erik Reider 8afad34fd5 Render fullscreen containers over all layers 2024-01-22 12:17:10 +01:00
Erik Reider 8440285e8d Only damage the focused output 2024-01-22 12:14:45 +01:00
Erik Reider 0c6d69b7fe Added gesture support 2024-01-21 20:01:11 +01:00
Erik Reider 0b86078eea Fixed transition not compensating for workspace gaps 2024-01-21 19:54:03 +01:00
Erik Reider 4e9e7c8d1a Initial implementation of workspace movement (without gestures) 2024-01-21 13:53:11 +01:00
Erik Reider 303b7dfb69
Fixed #258 blur regression (#261) 2024-01-05 02:47:43 -05:00
ozwaldorf 04b657b58c
feat: blur tweaks (#258) 2024-01-03 12:38:44 -05:00
famfo ca42d41453
Implement shadow_offset (#255) 2023-12-22 01:08:09 -05:00
Erik Reider 5e866d0345
Limit corner radius size to the smallest box dimension (#251)
One example would be the tiling indicator sometimes experiencing a "sharp" edge when the radii was larger than the
height/width
2023-12-17 01:00:22 +01:00
Erik Reider fd0f4ea54f
Readds check if the floating child is in a container for xray (#250) 2023-12-17 00:59:06 +01:00
eri 2d6944dc14
feat: add shadow color for inactive windows (#230) 2023-10-23 10:58:47 -04:00
Erik Reider d89c365106
Add layer effect option to ignore transparent regions when blurring (#159) 2023-09-20 21:35:49 -04:00
William McKinnon 6f6991a1b3
refactor: simplify blur (#219)
* refactor: removed surface_width + surface_height from render_blur()

* Fixed scaling issues

* Minor refactors

* removed scaled_dst box

* removed uneeded fb bind

* removed unneeded src_box

* removed unneeded wlr_fbox_from_box function

* removed src_box

* Don't scale the blur translucent region twice

* Renamed extended_damage to original_damage to reflect better what it actually is

* Removed unneeded clearing of the wlr fbo before rendering onto it

* Removed the need for our own main FBO, also fixes some damage bugs

* Simplified detection of blur on workspace

* cleaned up comments

---------

Co-authored-by: Erik Reider <35975961+ErikReider@users.noreply.github.com>
2023-09-06 00:32:08 -04:00
Erik Reider fade58b6be
fix: floating child always using blur xray (#210) 2023-07-29 13:12:21 -04:00
Yaroslav 7b7f060552
fix: crash when moving to scratchpad tiled window (#202) 2023-07-18 23:37:23 -04:00
Evy Garden 061dfaa2e7
Fix toplevel borders (#171)
* added check for smart

* expose gaps_to_edge

* add smart variable
2023-07-06 23:11:21 -04:00
Erik Reider cda17aee16
Fixed blur/surfaces dst_box not being offset by the titlebar height (#185) 2023-07-03 18:45:26 +02:00
RAR27 edd7aa72bc
fix: crash when splitting inside stacking container (#187) 2023-06-07 00:22:46 -04:00
rti 3e6626d6c3
fix: consider dim introduced transparency for blur (#184)
The blur rendering logic includes the optimization to render blur only
for transparent surfaces. This patch considers surfaces as transparent
also when the transparency is only introduced by the dim color.

We can now have windows, that are opaque by default become transparent
with blurred background as soon as they loose focus.

Example configuration:

```
blur on
blur_passes 3
blur_radius 5

default_dim_inactive 0.15
dim_inactive_colors.unfocused #00000000
```
2023-06-04 15:48:19 -04:00
Erik Reider 212c51f62c
fix: update stencil if the output size changes (#178) 2023-06-02 18:53:41 -04:00
RAR27 22327ef300
fix: crash when splitting inside tabbed container (#180) 2023-06-02 18:46:39 -04:00
Erik Reider c95306fcdf
fix: blur not being able to blur edges of damage (#168) 2023-05-30 00:18:58 -04:00
William McKinnon 0ca4062d6d fix: layer old damage not being offset by the monitor layout coords 2023-05-21 00:13:31 -04:00
Erik Reider c4a0bb268a
Fix layer surface damage not being extended if using effects (#160) 2023-05-20 17:21:02 -04:00
Erik Reider 415e072a3a
Add blur, shadow, and corner radius to layer-shell surfaces (#144)
Co-authored-by: Will McKinnon <contact@willmckinnon.com>
2023-05-19 21:14:06 +02:00
William McKinnon 6707842942 improved blur optimization checks 2023-05-19 13:24:37 -04:00
Erik Reider aa6b2fcd79
Fix damage being extended after clearing the previous frame (#158)
* Fix damage being extended after clearing the previous frame

* Ensure that damage expansion only occurs if it's smaller than the monitor
2023-05-18 23:14:37 -04:00
Erik Reider a160b2c850
Flipped the order of which the stencil add function is called (#157) 2023-05-18 09:47:14 -04:00
Erik Reider acafb20b11
Move stencil into each framebuffer (#156)
* Move stencil into each framebuffer

Also fixes the stencil being added to the wrong framebuffer

* Initialize texture members on framebuffer init

* removed bind arg

* renamed init to create, changed existing create to update

* moved stencil buffer creation to new function

* removed some now misleading comments

---------

Co-authored-by: William McKinnon <contact@willmckinnon.com>
2023-05-17 19:39:48 -04:00
William McKinnon 2c4fe20456
Blur damage tracking simplification (#155)
* suplified conditional in find_con_effect_iterator

* removed has_blur

* simplified optimized blur check

* moved damage expansion to output.c

* removed extraneous fx_renderer_scissor

* cleaned up render_output

* removed unneeded damage scale

* moved workspace optimized check function to workspace.c

* renamed ws iterator function

* added back region expansion

* removed uneeded parameter from get_main_buffer_blur

* returned extended damage

* moved get_blur_size back to original spot (reduce diff size)

* Fixed blur artifacting

* Fixed damage highlight not clearing correct framebuffer

* removed unneeded conditional

* moved initial damage expansion to output.c

* moved extended damage to the top of output_render

* moved blur damage to damage_surface_iterator

* ensure damage doesnt expand beyond output size

* removed stdint import

---------

Co-authored-by: Erik Reider <ereider20010103@gmail.com>
2023-05-16 02:26:01 -04:00
William McKinnon 479cc4e745 style: simplified render_whole_output 2023-05-15 01:11:09 -04:00
William McKinnon 6e53c04abf
fix: shadow clipping & shadow corners (#153) 2023-05-05 16:07:50 -04:00