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
98034fea3c
screencopy: send full frame damage
...
fixes #4855
2024-02-27 14:51:27 +00:00
21f7f32dc9
screencopy: avoid dangling client ptrs on client destroy
2024-02-27 12:23:59 +00:00
8c3613632a
renderer: nuke lastFrameDamage and rework finalDamage
...
this fucking SUCKED
2024-02-23 01:02:32 +00:00
94aeb06d6b
toplevelexport: set last damage for dmabuf copy
2024-02-22 03:10:01 +00:00
02c9a2d769
screencopy: damage entire screen on a no-damage request
2024-02-20 15:22:54 +00:00
e793f10b8b
screencopy: fix invalid damage being used for final copy in dma
2024-02-19 20:05:51 +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
a42b984f51
screencopy: fix ~dtor being in monitorRenderResources map
2024-02-15 02:01:40 +00:00
ef490965a2
screencopy: attempt binding framebuffer before gathering format
2024-02-15 00:59:06 +00:00
a6ccd36147
screencopy: move monitor verif check to the proper place
...
oops
2024-02-07 23:47:14 +00:00
f085ed4454
screencopy/toplevelexport: sanitize pointers in ::copyFrame
...
oopsie~~ >///<
2024-02-07 00:18:47 +00:00
b1b8d732e6
toplevelexport: fix missed pmonitor set for opengl
...
ref #4165
2023-12-15 21:20:13 +00:00
4e5d9b90c0
toplevelexport: fix missing GL_READ_FRAMEBUFFER set in shm copy
...
ref #4165
2023-12-15 21:04:34 +00:00
aa020a2a1a
toplevel-export: commence render pass before reading
...
fixes #4070
2023-12-07 17:58:13 +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
ab66fa430e
screencopy: fix glReadPixels offset
...
fixes #4042
2023-12-05 20:04:53 +00:00
da863459c4
screencopy: fix legacyrenderer builds
...
fixes #4044
2023-12-05 14:59:12 +00:00
83248b6936
toplevelexport: fix getPreferredReadFormat param in captureToplevel
...
fixes #4043
2023-12-05 14:43:54 +00:00
68783d904d
screencopy: use buffer format for glReadPixels
...
fixes #4029
2023-12-04 03:52:54 +00:00
45d3fbb8d8
opengl: free window framebuffers in ~dtor
...
ref #4036
2023-12-04 01:44:16 +00:00
e496b0f250
screencopy: fix detecting gl shm formats
...
ref #4029
2023-12-03 22:04:07 +00:00
dc2082b00a
screencopy: fix transformed on shm
2023-12-03 19:06:51 +00:00
9c09f2a847
screencopy: fix shm exports with 10-bit
...
fixes #4019
2023-12-01 17:20:56 +00:00
ab40f240c3
screencopy: use drmFormat instead of wlr funcs
...
ref #4014
2023-12-01 00:23:48 +00:00
12ec549a18
screencopy: fix shm sharing if introspection required
2023-11-30 11:07:17 +00:00
b9937484f4
screencopy: fix broken shm copying
...
fixes #4001
2023-11-30 10:14:35 +00:00
d2c3b23ace
deps: update wlroots
2023-11-30 01:18:55 +00:00
b281d8647a
screencopy: use new isNvidia() for format
2023-11-25 17:56:38 +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
c619e6976f
screencopy: round boxes
...
fixes #3795
2023-11-08 12:43:07 +00:00
Vaxry
55b4f84fea
Internal: Hyprland box implementation ( #3755 )
...
* box impl
* remove unused operators
* missed applyfromwlr
2023-11-04 17:03:05 +00:00
21ba8b363e
fractional-scale: fix addon existence check
2023-11-03 21:02:12 +00:00
93a2ac9de4
fractional-scale: post error on taken fs objects
...
fixes #3735
2023-11-03 15:51:43 +00:00
Vaxry
21e9313c10
Core: various unsafe state improvements ( #3713 )
...
Fixes #3637
2023-11-01 18:53:36 +00:00
df00727310
deps: update wlroots
2023-10-25 00:27:16 +01:00
a61eb7694d
hooksystem: add callbackinfo struct and cancellable events
2023-10-21 14:52:43 +01:00
vaxerski
8abb6e1cee
screencopy: enhance error logging
2023-10-09 23:51:59 +01:00
vaxerski
2e1842b5ff
screencopy: log renderer_begin_with_buffer failures
2023-09-22 00:21:07 +01:00
memchr
3785defaf1
logging: implement std::formatter for some types ( #3380 )
2023-09-20 16:25:03 +01:00
398e861b55
internal: fix warnings
2023-09-07 16:43:01 +02:00
Vaxry
61a71c65ac
internal: Formatter rework ( #3186 )
2023-09-06 12:51:36 +02:00
vaxerski
db48f973fd
xdgoutput: do not destroy resources on monitorRemoved
2023-09-05 13:33:08 +02:00
Vaxry
d9292800a2
internal: Unsafe state reworks ( #3114 )
2023-09-01 22:03:56 +02:00
vaxerski
774a5bedf8
waylandResource: remove user data in markDefunct and not ~dtor
2023-09-01 20:03:58 +02:00
vaxerski
32f4059b37
screencopy: fix region sharing
...
translate before scaling if we are not dividing the coords
2023-08-30 13:17:26 +02:00
vaxerski
116b9a8056
xdgoutput: mark resources defunct when monitor is unplugged
2023-08-25 18:22:25 +02:00
Vaxry
37128bfd43
internal: Wayland Protocol impl improvements ( #2944 )
2023-08-21 19:36:09 +02:00
vaxerski
fff118fa76
xdgoutput: don't send all details in .get
2023-08-19 21:14:12 +02:00
91e28bbe9d
xwayland: use a completely separate coordinate system
...
Use a completely separate coordinate system for XWayland. This fixes all issues with force_zero_scaling overlaps.
Fixes #2916
2023-08-15 19:15:37 +02:00
347a1eb662
xdgoutput: separate logic for zero scaling positions
...
if a scaled monitor was directly to the left of another monitor, we'd change the size to have zero scaling without pushing other monitors out of the way, creating overlaps in xwayland.
2023-08-15 17:55:29 +02:00
8e04a80e60
toplevelexport: minor fixes to dmabuf
2023-08-08 19:10:53 +02:00
261c3307f7
internal: cleanup headers in helpers/
2023-08-07 13:36:14 +02:00
vaxerski
ef0d97153a
xdgoutput: manually destroy manager resource
2023-08-04 14:07:41 +02:00
Po-Yeh Chen
77818e3457
xwayland: Add temporary fix for #2808 by adding nullptr check. ( #2829 )
...
* Add temporary fix for #2808 by adding nullptr check.
* Remove redundency.
2023-07-28 17:12:24 +02:00
vaxerski
b65adf8d4a
toplevelexport: support dmabuf + various fixes
2023-07-20 12:42:25 +02:00
Vaxry
89b87158db
internal: Wrap regions ( #2750 )
2023-07-19 20:09:49 +02:00
vaxerski
aac75ddcbf
screencopy: guard region buffer values in frameDamage
2023-07-19 13:10:41 +02:00
vaxerski
b8a7b09092
screencopy: use wlr_buffer api for shm copies
2023-07-19 12:24:41 +02:00
vaxerski
81f4a4f471
screencopy: improve shm handling
2023-07-19 00:51:38 +02:00
vaxerski
16fd9084ea
screencopy: nullcheck for empty buffer
2023-07-18 15:52:53 +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
515a363ecd
render: move lastFrameDamage to CMonitor
2023-07-10 13:21:00 +02:00
vaxerski
fe54dcb4eb
screencopy: send original damage, avoid extents
2023-07-10 13:17:21 +02:00
MightyPlaza
283a8e77aa
screenshot fix ( #2640 )
2023-07-04 11:40:28 +02:00
vaxerski
7762ac0173
toplevelexport: ignore defunct windows
2023-06-13 20:13:21 +02:00
vaxerski
a31dceb2c6
includes: remove redundant from screencopy
2023-05-07 00:11:33 +01:00
vaxerski
1a1656ddbf
Revert "internal: include headers from protocols/"
...
This reverts commit 550700bed0
.
We can't cuz meson
2023-04-27 13:55:13 +01:00
vaxerski
550700bed0
internal: include headers from protocols/
2023-04-27 13:40:38 +01:00
vaxerski
eb570c88e6
screencopy: clamp damage to framebuffer
2023-04-24 20:01:44 +01:00
vaxerski
ae82c3a639
screencopy: improve consistency of share indicator
2023-04-17 22:57:24 +01:00
vaxerski
8b3d8dc792
Format: use %lx for all addresses
2023-04-17 17:35:28 +01:00
25f14294a8
formats: fix endian ifdef
2023-04-17 15:36:49 +01:00
vaxerski
edad24c257
Screencopy: unify frame and client between impls + event
...
Adds a new event to both hooks and ipc: screencopy
2023-04-15 23:43:41 +01:00
vaxerski
a22e1174ee
screencopy: implement dmabuf
2023-04-12 21:40:51 +01:00
Vaxry
046ad79d11
GlobalShortcuts protocol impl ( #1886 )
...
Implements the `hyprland-global-shortcuts-v1` protocol
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-04-09 13:48:20 +01:00
vaxerski
86852cdc78
textInput: don't double destroy TI
2023-04-08 15:39:14 +01:00
vaxerski
31963f823b
screencopy: fix crash in invalid format reads
2023-04-08 13:35:36 +01:00
vaxerski
5e2d4d644a
screencopy: fix crash
2023-04-07 19:21:47 +01:00
vaxerski
50876f1b15
screencopy: fix read on incorrect monitor render
2023-04-07 19:11:30 +01:00
vaxerski
c2a85c9d36
screencopy: minor fixes for damage_ring
2023-04-07 18:04:02 +01:00
110f3fd658
screencopy: fix incorrect resource error post
2023-04-05 15:19:49 +01:00
vaxerski
882be7765b
toplevelExport: honor overlay_cursor
2023-04-04 00:58:30 +01:00
vaxerski
c50df4c0c3
screencopy: allow on legacy renderer
2023-04-03 23:34:08 +01:00
Vaxry
0a099ca2ab
Hyprland Screencopy impl ( #1800 )
...
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-04-03 17:01:05 +01:00
vaxerski
f960f72785
input: minor fixes for tiv1
2023-03-14 14:37:00 +00:00
vaxerski
0807b8b95f
tiv1: minor fixes for crashes
2023-03-14 13:51:08 +00:00
Vaxry
5dc1a5fec6
input: text-input-v1 support ( #1778 )
...
support zwp_text_input_v1
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-03-14 12:57:50 +00:00
Vaxry
1b56cc4e99
Added an Event Hook System ( #1578 )
...
* added an eventHookSystem
* Add all socket2 events to hooks
2023-02-19 20:54:53 +00:00
vaxerski
dbfa6eea7b
fixup stutter in rendering with toplevel_export
2023-02-16 22:51:38 +00:00
Jan Beich
f90ff8303b
Unbreak build with libc++ ( #1457 )
2023-01-31 00:03:23 +00:00
vaxerski
666c805101
fix destroying addon in fractional scale impl
2023-01-27 11:29:56 +00:00
Vaxry
60b880d931
wp-fractional-scaling-v1 impl ( #1373 )
...
* Initial fractional scaling impl
* apply UV after geom calcs
* fix scaling -> scale
* meson: add fractional scale proto
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-01-20 19:44:30 +01:00
96198dae55
Normalize color storage
...
Colors are now normalized to 0 - 1 values instead of 0 - 255
causes calculations to be simpler and generally cleans up the codebase.
2023-01-05 19:25:45 +01:00
vaxerski
4fd90144d1
touch up the clang format and format all files
2022-12-20 02:18:47 +00:00
Vaxry
98a4fa2b0d
Added clang format ( #1239 )
...
* clang-format stuff and format files
2022-12-16 17:17:31 +00:00
Vaxry
111d209bff
Added toplevel handle sharing Rev2 ( #1203 )
...
* Added toplevel handle sharing
* nix: fix build
* update hyprland-protocols
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-12-12 14:56:42 +00:00
vaxerski
fba03540d5
fix sharing scaled windows
2022-12-09 14:44:20 +00:00
vaxerski
6c8d993477
minor toplevel sharing fixups
2022-12-06 18:58:42 +00:00
vaxerski
da76a1ed9e
block surface feedback on window sharing
2022-12-05 19:12:15 +00:00
Vaxry
66fb083003
Implement window sharing with the hl toplevel export proto ( #1179 )
...
* implement window sharing
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-12-05 17:05:15 +00:00