vaxerski
d4ec54d048
renderer: render IME popups in fullscreen
...
fixes #1353
2023-09-02 20:32:15 +02:00
vaxerski
d2a785dfe3
renderer: fixup occlusion conditions
...
fixes #3123 I fucking hate yall
2023-09-01 23:01:59 +02:00
memchr
1a13d44d5d
refactor: raise SIGABRT instead of write to null address ( #3124 )
2023-08-31 22:52:02 +02:00
vaxerski
fc0c1896e0
renderer: round coords and size in renderWindow
2023-08-31 09:55:38 +02:00
MightyPlaza
b10cae3010
decos: groupbar mouse interaction ( #3102 )
...
* allow groupbar clicking
modified: src/Window.cpp
modified: src/Window.hpp
modified: src/managers/input/InputManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.hpp
* remove setting pos inside insertWindowToGroup()
modified: src/Window.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
* add group window by index and group size functions
modified: src/Window.cpp
modified: src/Window.hpp
modified: src/managers/input/InputManager.cpp
* allow dragging into groupbar
modified: src/Window.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
* allow dragging from groupbar
modified: src/managers/KeybindManager.cpp
* try groupbar clicking before border resize
modified: src/managers/input/InputManager.cpp
* block grabbing groupbar on floating (crash)
remove later when crashing is fixed
modified: src/managers/KeybindManager.cpp
* remove redundant { }
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
* implement getWindowDecorationBox()
modified: src/Window.cpp
modified: src/Window.hpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/InputManager.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.hpp
* fix crash when moveoutofgroup in floating windows
also removes dragging from floating windows limitation
modified: src/layout/IHyprLayout.cpp
modified: src/managers/KeybindManager.cpp
* use CRegion in getWindowDecorationBox()
modified: src/helpers/Region.cpp
modified: src/helpers/Region.hpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/InputManager.cpp
modified: src/render/decorations/IHyprWindowDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.hpp
* add groupbar scrolling
modified: src/config/ConfigManager.cpp
modified: src/managers/input/InputManager.cpp
* change name to getWindowDecorationRegion()
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/InputManager.cpp
modified: src/render/decorations/IHyprWindowDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.hpp
* make dragging from group less hacky for floating
modified: src/managers/KeybindManager.cpp
2023-08-30 17:39:22 +02:00
vaxerski
84c4a14dad
opengl: cleanup framebuffer style
2023-08-29 23:24:35 +02:00
vaxerski
df691859fb
renderer: make contrast and brightness adjustments before rendering
2023-08-28 18:29:44 +02:00
vaxerski
299d201e56
renderer: don't blur special on disabled blur
2023-08-26 11:48:04 +02:00
vaxerski
870471dd96
internal: allow opening empty special workspaces
...
Fixes point 2 of #2596
2023-08-25 18:05:08 +02:00
vaxerski
23e17700a7
renderer: add decoration:blur:special
...
will blur behind the special ws
2023-08-25 17:44:17 +02:00
vaxerski
9d094f655e
renderer: track fade alpha for blur if ignore opacity is true
...
with ignore_opacity, blur would stay at 1 opacity during a fadeOut animation on layers, making it look wrong. Fixes #3051
2023-08-23 12:03:27 +02:00
3d9545d2e0
shaders: minor premultiplication fixes
2023-08-18 22:07:28 +02:00
MightyPlaza
7155b4c266
renderer: Border improvements ( #2986 )
...
* simplify getting border size
modified: src/Window.cpp
modified: src/Window.hpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* fix border damage and input box
modified: src/Window.cpp
modified: src/managers/AnimationManager.cpp
* add border size in resize_on_border box
modified: src/managers/input/InputManager.cpp
* simplify border (fixes possible typo)
modified: src/Window.cpp
* use updateSpecialRenderData()
modified: Window.cpp
modified: Window.hpp
modified: events/Windows.cpp
modified: layout/DwindleLayout.cpp
modified: layout/IHyprLayout.cpp
modified: layout/MasterLayout.cpp
modified: render/Renderer.cpp
* update window workspace rule data on reload
modified: src/config/ConfigManager.cpp
* use rounding()
modified: src/Window.cpp
2023-08-17 10:13:19 +02:00
7e8a212027
internal: allow negative monitor offsets
2023-08-16 18:16:39 +02:00
b9a783229b
compositor: don't apply offsets in renderer
2023-08-14 18:41:52 +02:00
13886a264f
internal: add a new monitor auto system
2023-08-14 14:22:10 +02:00
MightyPlaza
739598717b
remove shadow no_gaps_when_only ( #2956 )
...
modified: src/Window.hpp
modified: src/config/ConfigManager.cpp
modified: src/config/ConfigManager.hpp
modified: src/layout/DwindleLayout.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
2023-08-12 23:37:55 +02:00
3f7f4207a6
config: add vrr per-display
2023-08-11 17:37:57 +02:00
126792584f
renderer: don't add workspace offset to pinned
2023-08-09 22:15:37 +02:00
cbb899740c
rules: add layer and window xray rules
2023-08-09 22:03:31 +02:00
0x455241
b3393c429f
background: add background color option ( #2915 )
...
Co-authored-by: 0x455241 <>
2023-08-08 18:00:11 +02:00
261c3307f7
internal: cleanup headers in helpers/
2023-08-07 13:36:14 +02:00
6e53c47e68
renderer: fix missing premultiplication for border multisampling
2023-08-06 20:46:00 +02:00
6c10c38481
renderer: fully switch to premultiplied alpha
2023-08-06 20:33:36 +02:00
Vaxry
d96f8ff0fe
renderer: Various Blur Improvements ( #2877 )
...
* move blur to its own category
* blur improvements, contrast, brightness, noise
2023-08-03 15:11:10 +02:00
vaxerski
f61a714320
renderer: cleanup old redundancies in CFramebuffer
2023-07-29 13:27:40 +02:00
vaxerski
a9b8e2159c
renderer: reset scissor after renderTexturePrimitive
2023-07-25 13:33:08 +02:00
vaxerski
603de16f9a
renderer: adjust distribution of backgrounds
2023-07-24 18:30:00 +02:00
vaxerski
9bad2a8180
backgrounds: add hypr chan var 2
2023-07-24 18:22:39 +02:00
vaxerski
5a64c73e05
render: use primitive end() only when no screen shader is present
2023-07-23 15:54:27 +02:00
MightyPlaza
d3bba2489d
render: Border fixes ( #2781 )
...
* Window.cpp
* layout
* CHyprGroupBarDecoration.cpp
2023-07-23 15:49:49 +02:00
vaxerski
b70553cf46
opengl: fix warn
2023-07-22 19:26:56 +02:00
vaxerski
1a7fb1572a
renderer: disable init anim on disabled animations
2023-07-22 19:26:44 +02:00
outfoxxed
375e8385ee
Fix background occlusion ignoring monitor position ( #2771 )
2023-07-22 10:19:51 +02:00
vaxerski
d7e9eb65e2
renderer: use primitive rendering for copying buffers
2023-07-21 17:11:54 +02:00
vaxerski
f864b15427
background: add option to force hypr chan
2023-07-20 21:01:07 +02:00
vaxerski
d2a8b8c2de
renderer: cleanup back buffer skip checks
2023-07-20 18:27:14 +02:00
vaxerski
833d73df09
shaders: short-circuit rounding if radius <= 0
2023-07-20 18:18:53 +02:00
vaxerski
23eda1411b
renderer: scale box for occlusion
2023-07-20 18:12:29 +02:00
vaxerski
ff598b0827
renderer: don't occlude when pre-blur is queued
2023-07-20 18:03:47 +02:00
vaxerski
a3e1e5e8ba
tracy: add more opengl zones
2023-07-20 17:51:38 +02:00
vaxerski
a921c5b89e
Debug: add tracy
2023-07-20 17:47:49 +02:00
vaxerski
948855a984
renderer: add canSkipBackBufferClear
2023-07-20 14:11:05 +02:00
vaxerski
547305c7ed
opengl: adjust blend and reduce the usage of clear
2023-07-20 13:49:28 +02:00
vaxerski
b65adf8d4a
toplevelexport: support dmabuf + various fixes
2023-07-20 12:42:25 +02:00
vaxerski
80cd2ef3d7
renderer: remove unused var
2023-07-19 21:10:42 +02:00
vaxerski
2c2314faa0
renderer: take workspace offset into account for occlusion
2023-07-19 21:08:49 +02:00
vaxerski
88c2a02773
render: avoid allocating mirrorfb for no reason
2023-07-19 21:04:45 +02:00
Vaxry
89b87158db
internal: Wrap regions ( #2750 )
2023-07-19 20:09:49 +02:00
vaxerski
ce9896204a
renderer: fix rounding in renderSurface
2023-07-19 20:06:19 +02:00
vaxerski
f4f0f35c5b
renderer: add occlusion for back layers
2023-07-19 16:13:55 +02:00
vaxerski
81f4a4f471
screencopy: improve shm handling
2023-07-19 00:51:38 +02:00
vaxerski
ce9c5fd722
render: set refresh to 0 for both wl and x11 backends
2023-07-19 00:28:15 +02:00
vaxerski
f2999e84b9
render: set refresh to 0 for wayland backend outputs
2023-07-19 00:02:57 +02:00
Vaxry
8370a7fcc4
internal: Protocol C++ Wraps + XDGOutput impl ( #2733 )
...
move to our own xdgoutput impl instead of wlr's
2023-07-18 15:30:28 +02:00
vaxerski
2e323a5671
renderer: use correct wlr sample func
2023-07-18 12:25:48 +02:00
Jan Beich
8c9e2e1ff1
deps: update wlroots ( #2734 )
2023-07-18 12:13:59 +02:00
vaxerski
2c7b2ad6ca
windowrules: add border size rule
2023-07-18 00:11:29 +02:00
vaxerski
70dae78c1b
background: add mascot versions
2023-07-13 14:32:30 +02:00
vaxerski
9c9f56743e
groupbar: fix vram leak
2023-07-11 20:57:38 +02:00
vaxerski
26579fa962
texture: fix styling
2023-07-11 00:27:13 +02:00
vaxerski
382af06406
render: resize subsurfaces with size resizes
2023-07-10 13:32:57 +02:00
vaxerski
515a363ecd
render: move lastFrameDamage to CMonitor
2023-07-10 13:21:00 +02:00
Ed Younis
f49af187bc
Xdg config home support ( #2047 )
...
* config: Add support for XDG_CONFIG_HOME
Contributes-to: #1040
Co-authored-by: Björn Bidar <bjorn.bidar@thaodan.de>
Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
* config: Log used config file
* config: Add GetConfigDir and minor fixes
* config: fixed minor nitpicks
---------
Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
Co-authored-by: Björn Bidar <bjorn.bidar@thaodan.de>
2023-07-07 19:19:35 +02:00
MightyPlaza
05047f60f4
groupbar fixes ( #2630 )
...
Fixes multiple groupbar decoration issues:
- togglegroup removes fullscreen to avoid to avoid weird state
- fixes issue where a group had multiple windows with head = true
- fixes issue where merging 2 groups would cause a window to have 2 groupbar decorations
- fixes issue where merging a group with more than 1 window into another group would make windows have no groupbar decoration
- fixes issue where ungrouping windows could just move them into another group on the same workspace
---------
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-07-03 12:49:56 +02:00
vaxerski
1012e2735a
shader: remove useless comment
2023-06-29 23:20:10 +02:00
d83296c7a9
renderer: damage decos on damageWindow
2023-06-27 13:23:58 +02:00
01f85a09a9
xwayland: send zero scaling to xwayland if enabled
2023-06-23 21:42:44 +02:00
83ad6b9af8
groupbar: fix damage calcs
2023-06-21 13:16:10 +02:00
Shemig
302ec1372c
Fix crash when screen size is 0x0 ( #2523 )
...
(When booting into laptop clam mode in dell XPS)
and also ignore any screen with size 0x0 in the first place
Co-authored-by: giladsx <gilad@spectalix.com>
2023-06-15 22:07:58 +02:00
vaxerski
0f1911a8d4
opengl: fix invalid tex references to tex-less shader
2023-06-14 13:47:57 +02:00
vaxerski
e43f7fc98d
shader: init uniforms to -1
2023-06-14 13:29:12 +02:00
vaxerski
fbabb105c3
gamma: use wlr's new gamma manager event
2023-06-14 13:26:47 +02:00
JManch
9a88c19f1a
screenshader: fix uniform variable checks ( #2513 )
2023-06-14 13:03:20 +02:00
vaxerski
0e31eaa157
shadow: drop useless damageEntire()
2023-06-13 18:50:45 +02:00
memchr
24ed9b061f
feat: add variable to customize locked group border color ( #2507 )
...
added variables:
- general:col.group_border_locked
- general:col.group_border_locked_active
2023-06-13 12:04:54 +02:00
6beb79f27b
xwayland: add force_zero_scaling
2023-06-11 21:52:13 +02:00
64ce06a353
xwayland: add nearest neighbor filtering as an opt
2023-06-11 21:33:59 +02:00
end-4
e1edfde539
Allow setting alpha value for ignorezero layer rule ( #2477 )
...
* rename ignorezero to ignorealpha
* allow setting ignorealpha value
This commit allows setting a float value (0-1) for the ignorealpha layer rule.
Does not yet have error handling; invalid ignorealpha layer rule will crash Hyprland.
* add brackets i forgot to add
* prevent crash with invalid ignorealpha value
prevents hyprland from immediately crashing with invalid ignorealpha layer rule
does not log
* don't try to set ignoreAlphaValue if alpha value not specified
* add catch to try, reintroduce ignorezero
- added catch after try cuz i was an idiot
- re-add ignorezero as an alternative to ignorealpha to not introduce a breaking change
* add logging for failed ignorealpha layer rule
* fix get ignorealpha's get VALUE
* check npos and use empty()
* rename VALUE cuz no longer const
* format Shader.hpp
2023-06-11 19:30:31 +02:00
Nicola Guerrera
10fd75c833
zoom: multiply by scale only on mouseZoomUseMouse ( #2495 )
2023-06-10 23:00:41 +02:00
7932e42507
screenshader: add output uniform
2023-06-10 16:10:26 +02:00
Nicola Guerrera
003993337a
calculate zoom_center based on monitor scale ( #2482 )
2023-06-10 12:28:00 +02:00
d83e5b8409
internal: make borderSize prop overridable
2023-06-04 21:35:23 +02:00
9f72d508ae
groupbars: fix damage calcs
2023-05-31 19:53:58 +02:00
vaxerski
078ba6daa8
groupbars: add text color opt
2023-05-27 17:46:02 +02:00
vaxerski
9c9b74179c
pluginapi: add separate window render events
2023-05-26 13:07:45 +02:00
vaxerski
f877d68f4f
launchanim: fix #2291
2023-05-24 15:49:31 +02:00
vaxerski
799add8659
groupbars: fix reserved area on titles
2023-05-23 14:18:26 +02:00
vaxerski
90cb5fb672
groupbars: make gradients toggleable
2023-05-22 22:07:32 +02:00
vaxerski
d1ec314a03
groupbars: conserve VRAM by staticizing textures
2023-05-22 22:06:40 +02:00
vaxerski
7bcc01efb7
groupbars: fix minor alignment issues
2023-05-22 21:43:37 +02:00
vaxerski
206ac000b9
groupbars: add title and gradient rendering
2023-05-22 21:40:32 +02:00
vaxerski
1eb6cfd45c
groupbar: make exclusive
2023-05-22 20:52:41 +02:00
vaxerski
f2725a374a
render: minor fixes to fullscreen rendering
2023-05-10 18:36:13 +01:00
Andrei Alexeyev
2f87e4c2f3
renderer,config: add custom DRM modeline support ( #2254 )
...
This allows specifying custom display resolutions for the DRM backend.
This is useful for display overclocking, working around broken EDIDs,
etc. To use this feature, specify a modeline instead of a resolution
in the config, for example:
monitor = DP-1, modeline 1071.101 3840 3848 3880 3920 2160 2263 2271 2277 +hsync -vsync, 0x0, 1
This example is a custom 3840x2160@120Hz mode with tightened timings.
I use it because the standard timings don't work with my monitor and GPU
combination (M28U with RX580).
The syntax is compatible with Sway and Xorg.
2023-05-09 14:01:45 +01:00
vaxerski
72b118cd8f
opengl: don't use new optim with xray off on special tiled
2023-05-02 21:23:53 +01:00
vaxerski
79791c9ed4
internal: fix -Wsign-compare and -Wunused-variable warnings
2023-05-02 14:53:31 +01:00
levnikmyskin
c949173bc9
Added some workspace-specific rules ( #1986 )
...
* added some workspace-specific rules
* added some worskpace-specific rules, with windowrule like syntax
* monitor is not mandatory anymore
* pointers to config are now static
* fixed optional WorkspaceRule fields
* Windows can now specify border size
* removed CHyprOpenGLImpl::renderBorder borderSize default value
* stuff
---------
Co-authored-by: Alessio Molinari <alessiomolinari@gmail.com>
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-05-01 22:28:27 +01:00
vaxerski
11b7ce14f8
renderer: fix misused size -> transformed size
2023-05-01 02:53:43 +01:00
vaxerski
ddfeebad3d
Renderer: add init animation
2023-05-01 02:49:41 +01:00