38576d651a
renderer: adjust surface dimensions for oversized not-yet ackd surface sizes
...
supersedes #5104
2024-03-15 19:23:51 +00:00
Maximilian Seidler
a958884b52
lock: fix red screen issues with multiple monitors ( #5100 )
...
* lock: use uint64_t for iMonitorID
* lock: move activateLock to onNewSessionLock
* lock: add red screen fade
* lock: damage when fading the red screen and delay for screencopy
* lock: remove redundant scheduleFrameForMonitor
2024-03-15 16:17:13 +00:00
thejch
bc15a8f600
renderer: Allow headless mode in hyprland ( #4794 )
...
* allow headless
* clang-format
* fix redundant logic lol
2024-03-15 14:28:14 +00:00
164e92f8e3
internal: minor fixups for fading out xwayland windows
...
fixes #4935
2024-03-14 18:25:28 +00:00
Vaxry
c3882bb832
internal: Support libhyprcursor ( #5009 )
...
woo
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2024-03-09 16:52:59 +00:00
a01949dd28
deco: fix warnings
2024-03-09 16:39:38 +00:00
thejch
9c48c322d4
keybinds: Allow fullscreen/maximize in special workspace ( #4921 )
...
* allow fullscreen/maximize in special workspace
* remove duplicate code
* hide top layer
* fix special fullscreen deco
* edit
* fix fade top layer when toggle special
* remove double render
2024-03-04 23:29:45 +00:00
063708df26
config: improve config value infrastructure
2024-03-03 18:41:38 +00:00
cc94123fa7
renderer: minor fixes to transformations
2024-03-03 02:18:06 +00:00
Julien Roy
2a08f2ba84
opengl: fix compilation on legacy renderer ( #4928 )
2024-03-03 00:31:36 +00:00
JManch
1762e9c6ec
renderer: respect forceNoBlur when rendering small surface windows ( #4932 )
2024-03-03 00:17:40 +00:00
GartoxFR
b2c3440477
animations: Refactor AnimatedVariable ( #4911 )
...
* animation: Refactor AnimatedVariable
This commit decomposes the AnimatedVariable class into a base class
with the common attribute to all variable types and a templated derived
type containing strongly typed info on the type being animated.
Access to the typed version is perfomed using the visitor pattern. A
utility is provided to build a visitor on the fly using lambdas.
Adding a new type to be animated should just be a matter of adding the
typed in the list defined by the ANIMABLE_TYPES macro
The size of the commit is justified by the API change in the
AnimatedVariable class. No more vec(), fl() or col() method but a unified
value() method.
* animation: Remove visitor pattern
* animation: Fix coding style
* animation: Fix coding style
2024-03-02 00:35:17 +00:00
f115ba94d2
xwayland: set scaledBy for unmanaged windows in map
2024-03-01 23:04:34 +00:00
e63b4b18aa
renderer: force a few render frames on init anim end
...
fixes #4875
2024-02-29 19:04:40 +00:00
6916d0a6a3
surface: unify owners
2024-02-29 15:07:14 +00:00
b39dcfa497
refactor: move a few things to desktop/
2024-02-29 13:03:38 +00:00
a31433c215
renderer: damage whole ring on failed commit
...
fixes #4770
2024-02-28 18:00:02 +00:00
4bc669f933
layers: add fully featured animations
...
Adds configs and layerrules to handle them
alas fixes #981
I have cooked
2024-02-28 15:00:40 +00:00
dfcfb92ec6
renderer: take into account fading out windows in solitary recheck
2024-02-26 00:19:16 +00:00
bfb1e876a8
config: add opengl:force_introspection
...
fixes #4819
2024-02-23 21:21:24 +00:00
ca59bd5739
opengl: check bottom/bg layers for required introspection
...
ref #4818
2024-02-23 21:09:47 +00:00
8c3613632a
renderer: nuke lastFrameDamage and rework finalDamage
...
this fucking SUCKED
2024-02-23 01:02:32 +00:00
c1ef361e02
renderer: fix logs
2024-02-23 00:02:48 +00:00
35e80a64a6
renderer: add more logging for fails in beginRender
2024-02-22 23:50:56 +00:00
c353b7c4f7
renderer: minor fixes for introspection detection
2024-02-22 23:01:22 +00:00
ea3fd13e24
shadow: fix missed invalid use of cfg val ptr
...
fixes #4785
2024-02-21 19:26:21 +00:00
Hiram Muñoz
dad8ffd576
renderer: Update splash text properties to be configurable ( #4707 )
...
* Update splash text properties to be configurable
The splash text's font and color properties have been updated to be configurable. This change includes adding new configuration values for the splash screen color and font. The rendering of the splash screen is also adjusted to use these new config values, allowing for easy customization of the splash text appearance.
* Updated to use Hyprlang config manager
2024-02-21 18:31:29 +00:00
André Silva
e5eb1bdf01
renderer: ignore set cursor surface if cursor should be hidden ( #4780 )
2024-02-21 13:48:48 +00:00
d62e7a5125
renderer: fixup damage_ring rotation
2024-02-19 19:11:05 +00:00
1763566308
surface: minor fixes for last logicalDamage calc fix
2024-02-19 11:34:55 +00:00
e4790e3f8e
surface: fix invalid damage tracking in damageSurface
...
ref #4744
2024-02-19 11:24:54 +00:00
301b48b740
renderer: fix invalid damage accumulation with invalid buffer_age
...
fixes #4670
2024-02-18 16:04:08 +00:00
Vaxry
13f6f0b923
Migrate the config to hyprlang ( #4656 )
...
* Migrate to hyprlang
* pop up errors
* fix swapped args
* Meson & Nix: build with hyprlang
* CI: add hyprlang to setup action
* add infra for plugin stuff
* fix hyprctl getoption
* fix hyprctl getoption with json
* format
* fix post parse logic
* fix autogen config
* oops missed exec-once
* fmt
* fix ws rules
* require 0.3.0 for hyprlang
* nix: flaek
* minor type fixes
* fix cfg usages in swipe
* use cvarlist for ws rules
* fix throw in addPluginConfigVar
* Nix: update hyprlang
* minor fixes
* fix disableLogs
* mention hyprlang docs
* bump hyprlang dep in cmake
* Meson: bump min hyprlang version
Nix: update hyprlang
* minor fix
* Nix: update meson patch
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2024-02-18 15:00:34 +00:00
Alessio Molinari
7e8bcd675d
monitors: fix outputmgr nullptr crash ( #4738 )
2024-02-18 02:24:01 +00:00
Abílio Costa
e3e7e1fdda
monitor: don't damage twice ( #4727 )
...
When scaled, the ring is already fully damaged, no need to add the region
damage.
Also moved a variable that was being declared way to far for where it is
actually used.
Co-authored-by: Abilio Costa <abilio.costa@criticaltechworks.com>
2024-02-17 02:09:12 +00:00
fbf5ba87ce
shaders: use highp for fragments
2024-02-15 17:32:34 +00:00
9c3f3b0018
renderer: don't calculate mirror damage without mirrors present
2024-02-14 22:33:50 +00:00
305b1419c8
renderer: accept custom state requests for fake outputs
2024-02-14 22:05:41 +00:00
2a002f31e4
renderer: don't set solitary on present notifications
...
fixes #4647
2024-02-14 11:09:18 +00:00
b500e5699b
renderer: update cursor also when hostpot only changes
...
fixes #4691
2024-02-13 17:39:51 +00:00
Ben Landon
289d4241be
groupbar: scale groupbar text according to monitor scale ( #4640 )
2024-02-08 22:29:10 +00:00
JManch
1ed4f1cb25
screenshader: rename output uniform to wl_output ( #4606 )
...
* screenshader: rename output uniform to monitor
* rename to wl_output
2024-02-04 02:30:00 +00:00
cf1886ca44
renderer: avoid unnecessary gpu resource deletions
...
fixes #4594
2024-02-02 15:36:13 +00:00
d7514412d8
renderer: reset fb pointers after render pass
...
fixes #4590
2024-02-02 14:56:04 +00:00
2e3f0d5991
renderer: Add new background infrastructure
...
Adds new backgrounds from the winners of the contest
Rewrites how it works
Allows high color precision PNGs (RGB32F precisely)
Fixes a small bug in renderTextureInternalWithDamage
Nukes misc:force_hypr_chan
2024-01-29 23:11:00 +00:00
4b4bd90b14
renderer: fixup misaligned fsv1 surfaces with uv
...
fixes #4548
2024-01-28 23:42:49 +00:00
bfcc2adbda
monitor: wrap usage of wlr_output_state
...
for better control and convenience in usage.
fixes #4546
2024-01-28 01:57:13 +00:00
3e93fdf779
opengl: use texBox for rendering background texture
...
fixes #4543
2024-01-28 00:32:54 +00:00
bc7e488a4c
monitor: clear output state after usage
...
fixes massive lag
2024-01-27 19:11:14 +00:00
7b3d039388
deps: update wlroots
...
drops requirement for WLR_DRM_NO_ATOMIC provided kernel >= 6.8
2024-01-27 13:58:28 +00:00
72987dee88
opengl: rassert false on lost context
...
we do not have infra to deal with this. It will cause hyprland to freeze rendering, we might as well die.
2024-01-26 02:26:10 +00:00
c4365f20ed
damage: use buffer_damage instead of effective_damage
2024-01-17 16:01:20 +01:00
MightyPlaza
f14c5ea5c5
groupbar: separate gradients from title ( #4444 )
...
* separate gradients from title logic
modified: src/config/ConfigManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* fix disabled extents
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* fix disabled height
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2024-01-15 16:17:42 +01:00
1over137
4cee94b91c
fractional: Set preferred scale on monitor config reload ( #4406 )
2024-01-14 14:56:35 +01:00
6b92144f15
surface: avoid spam of window surfaces with scale and transform events
...
fixes #4408
2024-01-11 14:07:28 +01:00
b240704bee
renderer: allow rendering multiple fullscreen windows in third fs pass
...
something might be fading out, sliding out, etc. We handle it before, why not use it?
fixes #4076
2024-01-09 20:42:07 +01:00
f92a86af53
renderer: ignore box offsets for fullscreen windows
2024-01-08 19:58:15 +01:00
MightyPlaza
2ba2c8aeee
groupbar: improve gradient handling ( #4390 )
...
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2024-01-08 19:38:22 +01:00
d7d333d162
opengl: apply box rot to projections
2024-01-07 18:51:08 +01:00
f5b2fd2bc3
opengl: add renderdata.forceIntrospection
2024-01-07 18:37:02 +01:00
44ee9915e3
renderer: overhaul renderModifData
2024-01-07 18:35:44 +01:00
813af393f1
layout: update rules before applying fullscreen nodes in layouts
2024-01-02 14:21:36 +01:00
dranull
583b05a8c6
groupbar: Drag single window instead of destroying group ( #4327 )
2024-01-02 13:37:03 +01:00
q234rty
1a4f23eb2f
renderer: Only force nearest neighbor when the sizes are off by one or two ( #4325 )
...
Fixes rendering issues in arch's extra/telegram-desktop
2024-01-01 20:20:27 +01:00
33444e1e5e
deps: update wlroots
2024-01-01 16:47:54 +01:00
46997a7643
renderer: fix auto scale detection with fractional
...
ref #4225
2023-12-31 13:54:24 +01:00
b5b025a1ed
renderer: use nearest_neighbor for misaligned fractional-scale surfaces
...
ref #4225
2023-12-31 13:11:26 +01:00
MightyPlaza
2ad2e1d5f5
groupbar: add enabling groupbar and setting priority ( #4299 )
2023-12-30 15:18:53 +01:00
dranull
5f8e4068e5
groupbar: Middle click on groupbar to close tab ( #4297 )
...
* Prevent window swapping when the head is removed
* Bring floating windows to top when selected
* Allow clicks on gropubar in fullscreen 1
* Close window on groupbar with middle click
2023-12-30 00:38:12 +01:00
9242b03317
internal: minor include fixes and missed format
2023-12-29 10:27:09 +01:00
f771c10d1a
renderer: ignore windowRequestedCursorHide
...
ref #4197 , thanks @dtop129
co-authored-by: dtop129
2023-12-29 00:04:01 +01:00
dranull
8321d6be46
internal: Unify input handling on decorations ( #4280 )
...
* Unify input handling on decorations
* Make input methods private
* Optional data
2023-12-28 23:54:41 +01:00
4f3ee4c645
renderer: add decoration:blur:popups_ignorealpha
...
fixes #4282
2023-12-28 22:29:04 +01:00
MightyPlaza
5f65946c84
hyprctl: add decorations ( #4275 )
...
* add hyprctl decorations
modified: hyprctl/main.cpp
modified: src/debug/HyprCtl.cpp
modified: src/render/decorations/CHyprBorderDecoration.cpp
modified: src/render/decorations/CHyprBorderDecoration.hpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.hpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.hpp
modified: src/render/decorations/IHyprWindowDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.hpp
* fixes
modified: hyprctl/main.cpp
modified: src/render/decorations/IHyprWindowDecoration.cpp
2023-12-28 16:38:16 +01:00
07132741bc
renderer: use 120 as the denominator in scale checks
2023-12-27 23:47:01 +01:00
2702814a3f
opengl: add toggleable nvidia_anti_flicker
...
ref #4252
2023-12-27 19:17:07 +01:00
MightyPlaza
1ecd173c7a
groupbar: remove extra border size from groupbars ( #4262 )
...
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2023-12-27 11:43:55 +01:00
e2d04ae503
renderer: add option to blur popups
...
closes #2134
2023-12-25 18:07:07 +01:00
MightyPlaza
b25b06430b
groupbar: add egl context to refreshGroupBarGradients() ( #4238 )
...
* add egl context to refreshGroupBarGradients()
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* don't unsetEGL
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2023-12-24 19:29:04 +01:00
f013acc6ee
renderer: add occlusion for special workspaces
2023-12-23 22:41:42 +01:00
dranull
5c7e23f86b
shadow: Avoid rounded shadows when rounding is 0 ( #4230 )
2023-12-23 20:40:07 +01:00
b9c1414f25
border: fix missed translate by offset
2023-12-23 16:11:26 +01:00
6c8e0f9863
config: add debug:disable_scale_checks
...
ref #4225
2023-12-23 00:21:02 +01:00
6b6f3396cf
renderer: deny invalid scales and suggest a replacement
...
ref #4225 #3511
2023-12-23 00:09:55 +01:00
79ef29d6e0
renderer: apply scale to wlr after checks
...
ref #4225
2023-12-22 23:00:36 +01:00
c416880cf9
shadow: correctly scale boxes
2023-12-22 19:54:31 +01:00
37d2840246
renderer: reject non-clean scales, find nearest clean
2023-12-22 19:54:31 +01:00
bd952dcef2
systemd: add HYPRLAND_NO_SD_NOTIFY
...
fixes #4217
2023-12-21 22:27:12 +01:00
48ecb13b14
renderer: improve cursor hiding infra
...
ref #4197
2023-12-20 21:40:44 +01:00
a197fe3c11
renderer: don't set surfaces on cursor timeout
2023-12-20 17:59:11 +01:00
d1b8a63a8e
input: allow setting cursor even if it's hidden
...
ref #4197
2023-12-20 13:00:35 +01:00
d9b74ff96b
renderer: staticize local functions
2023-12-19 11:55:56 +00:00
11fd37418c
renderer: fix null cursor surface sets being ignored
...
oopsie from #4184
2023-12-18 22:06:50 +00:00
dusanx
0c74df4f9e
renderer: cursor hiding logic improvements ( #4184 )
...
Co-authored-by: Dusan Popovic <dpx@binaryapparatus.com>
2023-12-18 16:06:06 +00:00
8191e635a3
deco-positioner: include sticky in sent geometry
2023-12-11 16:46:20 +00:00
0fdf909b19
renderer: don't render decorations on renderdata.decorate false
...
fixes #4117
2023-12-11 16:32:11 +00:00
nmzik
53ce7992be
renderer: double lookup fix, input: double conversion fix ( #4124 )
2023-12-11 16:28:22 +00:00
167f2ed3b2
border: fix failed assert on small windows
...
fixes #4115
2023-12-10 19:32:03 +00:00
nmzik
efdf07e295
renderer: Allocate background texture only if required ( #4111 )
2023-12-10 16:53:08 +00:00
Vaxry
9f5b9053c6
internal: Remake borders as window decorations ( #4104 )
2023-12-10 16:28:12 +00:00
af6aae4e12
renderer: don't use clipBox for pinned window occlusion during animations
...
ref #4094
2023-12-09 18:41:32 +00:00
0ebbf371ff
renderer: improve fullscreen workspace client rendering
...
fixes #4076
2023-12-09 18:38:32 +00:00
François Conzelmann
4a42344e97
style/ci: apply clang-format and verify it in ci ( #4039 )
...
* style: apply clang-format
* ci: add new clang-format job to CI
2023-12-06 22:54:56 +00:00
5489f9f07a
renderer: use xray for background blur on small() surfaces
...
ref #4050
2023-12-06 20:17:40 +00:00
03c6f4506a
internal: various improvements to avoid crashes on exit
2023-12-06 14:46:29 +00:00
37d7a8c64d
framebuffer: ignore addStencil on legacyRenderer
...
ref #4044
2023-12-05 15:41:17 +00:00
c6804ccaab
opengl: fixup blur dirty repaint conditions with solitary
...
fixes #4025
2023-12-05 00:43:09 +00:00
68783d904d
screencopy: use buffer format for glReadPixels
...
fixes #4029
2023-12-04 03:52:54 +00:00
e496b0f250
screencopy: fix detecting gl shm formats
...
ref #4029
2023-12-03 22:04:07 +00:00
80b9b21f9f
opengl: fix nvidia read formats
...
fixes #4023
2023-12-02 14:51:45 +00:00
6e8b9ef7d8
opengl: fix swapped rgb drm formats
2023-12-01 17:23:50 +00:00
9c09f2a847
screencopy: fix shm exports with 10-bit
...
fixes #4019
2023-12-01 17:20:56 +00:00
9f2027be4b
opengl: don't make a mirror buffer on fakeFrame
2023-11-30 10:15:02 +00:00
b9937484f4
screencopy: fix broken shm copying
...
fixes #4001
2023-11-30 10:14:35 +00:00
776f944619
opengl: fix missed makeEGLCurrent
...
fixes #3998
2023-11-30 02:19:27 +00:00
d2c3b23ace
deps: update wlroots
2023-11-30 01:18:55 +00:00
b80c72c7dd
groupbar: fix crash in renderGradientTo
...
fixes #3985
2023-11-29 13:36:37 +00:00
e2f18f8c7f
groupbar: more safety around gradient textures
2023-11-28 19:03:02 +00:00
MightyPlaza
7a0a5666d5
groupbar: allow reload and fix locked groupbar gradient ( #3546 )
...
modified: src/config/ConfigManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.hpp
2023-11-26 17:59:49 +00:00
adeb20ea11
opengl: tiled special require introspection
2023-11-26 16:42:04 +00:00
68e57b7ee3
renderer: proper full occlusion checks for back layer
2023-11-26 15:24:24 +00:00
408d96668d
renderer: use occlusion checks for buffer clear
2023-11-26 15:06:42 +00:00
ad3f688648
opengl: check for introspection on special_blur
2023-11-25 19:44:34 +00:00
b281d8647a
screencopy: use new isNvidia() for format
2023-11-25 17:56:38 +00:00
15b282ee0c
opengl: fix window introspection check
2023-11-25 17:46:50 +00:00
6f733292bf
renderer: nvidia checks and use glFinish on nvidia
...
fixes #3952 #3946
2023-11-25 17:45:08 +00:00
3fe6162af1
opengl: fix xray modes in introspection checks for ls
...
fixes #3953
2023-11-25 14:52:52 +00:00
a6eba91935
opengl: require introspection on mirroring
...
fixes #3939
2023-11-25 00:48:02 +00:00
Xavier
745b998587
renderer: Adding an option to disable first launch animation ( #3933 )
2023-11-24 21:45:59 +00:00
1a2a2da6aa
renderer: fixup cursor scaling
...
fixes #3935
2023-11-24 21:30:28 +00:00
Vaxry
822775aa8c
renderer: Fixup double rendering cases with special ( #3928 )
...
* fixup
* better fullscreen
2023-11-24 21:18:50 +00:00
d79cf0afe2
renderer: fix software cursors on nvidia
...
fixes #3926
2023-11-24 13:47:36 +00:00
aedcade68d
opengl: better checking for required introspection
...
performance woo
2023-11-24 12:37:10 +00:00
802ab58f8a
renderer: fix inverseOpaque calcs in renderWithBlur
2023-11-24 12:32:35 +00:00
Vaxry
2ebfd0c745
renderer: Move to a full Hyprland GL rendering pipeline ( #3920 )
...
Also updates wlroots
2023-11-24 10:54:21 +00:00
e40e486f61
renderer: better checks for special rendering in renderWorkspaceWindows
...
ref #3916 #3888
2023-11-23 11:31:52 +00:00
e55c5a916a
renderer: make sure lastWindow has correct ws in renderWorkspaceWindows
...
fixes #3916 fixes #3888
2023-11-22 23:43:46 +00:00
812a3f6d78
renderer: fix double render of tiled on workspace switch
...
fixes #3889
2023-11-22 20:05:50 +00:00
thejch
572fd554b8
renderer: Fix floating clipbox ( #3907 )
...
* fix floating decoration clipbox scale
* use vecTransformedSize
* use workspace offset
2023-11-21 00:34:34 +00:00
thejch
7d1c8d827a
shadow: add workspace offset to floating window shadow ( #3906 )
2023-11-20 22:34:28 +00:00
thejch
6d26199e1c
renderer: fix floating window rendering when scale > 1 ( #3901 )
2023-11-20 12:13:09 +00:00
MightyPlaza
7e0c90b92c
groupbar: fix text pos with verical offset ( #3893 )
...
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2023-11-19 12:29:26 +00:00
MightyPlaza
add23a9ba2
group: fix dragging into floating groups ( #3719 )
...
* allow dragging into floating groups
modified: src/Compositor.cpp
modified: src/Compositor.hpp
modified: src/layout/IHyprLayout.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* floating-only
modified: src/layout/IHyprLayout.cpp
2023-11-19 12:29:01 +00:00
89f6457a99
renderer: avoid rendering floating windows twice with special
...
fixes #3887
2023-11-18 19:53:45 +00:00
Vaxry
8b57a1973e
internal: Allow floating windows on special ( #3872 )
...
* allow floating on special
* fix mistake
* fix clipbox
2023-11-18 17:00:24 +00:00
Dickby
1d9bfa60a1
opengl: Don't use wrong shader just because it's GLES ( #3867 )
2023-11-16 21:03:17 +00:00
a34e192433
renderer: clip floating boxes on slide anim
...
fixes #3514
2023-11-16 20:20:41 +00:00
4868d4dfd3
shadow: avoid fatal mutation of the windowBox for calcs
...
fixes #3865
2023-11-16 17:31:52 +00:00
859841f4d1
renderer: don't make snapshots of invisible windows on close
2023-11-16 12:24:07 +00:00
28ef18a921
shadow: avoid using glClear and don't draw behind window if ignore_window
...
fixes #3860
2023-11-16 11:42:53 +00:00