Commit Graph

60 Commits

Author SHA1 Message Date
vaxerski b8f8912db2 renderer: lock software cursors while tearing 2023-09-30 13:12:01 +01:00
Vaxry 88b63a00b6
renderer: Tearing implementation (#3441) 2023-09-28 21:48:33 +01:00
Vaxry 0dbd997003
input: Various constraint handling fixes (#3381)
Fixes #3204
2023-09-20 16:47:05 +01:00
memchr e96e0dc02d
refactor: utilize 'middle()' method for window/montior center (#3253) 2023-09-11 10:09:34 +01:00
memchr 6648274735
fix: focusWindow on hidden workspace triggers another focusWindow. (#3216)
This commit address an issue where focusing a window on a hidden
workspace inadvertently triggered a second `focusWindow` call due to
simulated mouse movement. This behaviour led to the incorrect focus on
the window under the cursor instead of target window of method
`focusWindow()`, disrupting `focusurgentorlast` and `focuscurrentorlast`
dispatchers. Introduced a flag to the `CMonitor::changeWorkspace()`
method to prevent simulated mouse movements. This flag is set to false
by default. Changed the `focusWindow()` method accordingly to set this
flag to true when the target window is in a hidden workspace.
2023-09-08 19:17:04 +02:00
vaxerski bb0933437f wlr-ext-workspace: remove protocol impl
Various reasons: 1st, memory issues. 2nd, MR got closed (see https://gitlab.freedesktop.org/wlroots/wlr-protocols/-/merge_requests/35) 3rd, not needed anymore (waybar has its own hyprland/workspaces module)
2023-09-01 17:10:03 +02:00
Vaxry 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
Vaxry 13886a264f internal: add a new monitor auto system 2023-08-14 14:22:10 +02:00
Vaxry 3f7f4207a6 config: add vrr per-display 2023-08-11 17:37:57 +02:00
Vaxry 89b87158db
internal: Wrap regions (#2750) 2023-07-19 20:09:49 +02:00
vaxerski 515a363ecd render: move lastFrameDamage to CMonitor 2023-07-10 13:21:00 +02:00
Vaxry 01f85a09a9 xwayland: send zero scaling to xwayland if enabled 2023-06-23 21:42:44 +02:00
vaxerski fbabb105c3 gamma: use wlr's new gamma manager event 2023-06-14 13:26:47 +02: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 287e6c4ede internal: workspace manip handling rework 2023-04-14 15:03:53 +01:00
vaxerski a22e1174ee screencopy: implement dmabuf 2023-04-12 21:40:51 +01:00
vaxerski 41d1fdedf2 output: handle needs_frame 2023-04-07 17:25:56 +01:00
vaxerski cd1b982b2a internal: listen to output.damage events 2023-04-07 16:31:55 +01:00
vaxerski 24ace03780 internal: migrate to damage_ring 2023-04-07 12:18:40 +01:00
Vaxry a80f8f257f
Feat: Introduce render_ahead_of_time (#1863) 2023-03-24 19:23:16 +00:00
Vaxry 8b81f41e52
Plugin System (#1590)
---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-02-27 12:32:38 +00:00
Vaxry cb98242ea7 remove old comment and fixup lsl var name 2023-01-22 17:03:25 +01:00
Vaxry 98a4fa2b0d
Added clang format (#1239)
* clang-format stuff and format files
2022-12-16 17:17:31 +00:00
vaxerski 3bd9ee0d32 minor xcursor and scale fixes 2022-12-15 17:17:15 +00:00
vaxerski 374571da96 add auto scale 2022-12-14 17:57:45 +00:00
vaxerski d5352a5d12 find a default workspace smarter 2022-12-09 17:17:02 +00:00
vaxerski 0a302901d2 Added handling more special workspaces 2022-11-27 22:42:22 +00:00
vaxerski df132e5ff3 update wlroots dep 2022-11-19 16:28:04 +00:00
vaxerski 5a750b485a Added creating / destroying outputs on a multi-backend + headless backend
See `hyprctl output`.
2022-11-05 18:04:44 +00:00
Vaxry 7d6ccca695 add 10bit support to displays 2022-10-27 13:26:47 +01:00
vaxerski 47eac4be1c disable adaptive sync with no_vfr off 2022-10-22 21:45:17 +01:00
vaxerski 2ee9fb0675 don't recalc offset on monitor reload offset auto 2022-10-12 15:16:31 +01:00
vaxerski 11ce468996 add dpms status info in hyprctl 2022-10-05 18:14:11 +01:00
Felix Dick bf3f519eb7 Remove trailing whitespace. 2022-09-25 20:07:48 +02:00
vaxerski e9f226797e Added monitor mirroring 2022-09-13 15:25:42 +02:00
vaxerski a9e34cba93 move monitor damage to separate funcs 2022-08-23 16:07:47 +02:00
Vaxry 15fc0892c7 further fixes to monitor disabling on launch 2022-08-10 13:44:04 +02:00
vaxerski 31a079b347 added DPMS 2022-07-27 12:32:00 +02:00
vaxerski b18a2738e3 schedule recalcs in LS 2022-07-26 18:22:34 +02:00
vaxerski 1626707b7f make layerSurfaces into RAII 2022-07-23 15:48:08 +02:00
vaxerski ff49f22440 fix rapid blinking on launch 2022-06-21 22:13:13 +02:00
vaxerski d743ac7bb1 added forcerendererreload and some more vt changes 2022-06-06 13:48:17 +02:00
vaxerski 0055efc4f1 Added a special workspace 2022-05-31 14:01:00 +02:00
vaxerski d0ff0c0990 Added basic monitor transforms, has bugs
blur doesnt work on transformed outputs
full damage tracking issues
2022-05-29 12:27:45 +02:00
vaxerski 198fc90df5 What the fuck is going on with git, fix the entire scaling merge
This reverts commit 5b15d3b4f4.
2022-05-18 20:33:54 +02:00
vaxerski 5b15d3b4f4 Revert "Merge pull request #88 from vaxerski/scaling"
This reverts commit f68ddc382a, reversing
changes made to ba573a529a.
2022-05-18 14:42:00 +02:00
vaxerski bf8ebfc631 added scaling (dt broken)
damage tracking on full is broken
2022-05-16 20:45:27 +02:00
vaxerski 5fa916e6f2 fix monitor reload crash 2022-04-21 18:11:28 +02:00
vaxerski b0f5e4ab56 store scale and scale windows with monitor 2022-04-17 18:47:10 +02:00
vaxerski a8e8729230 Added zext_workspace protocol support 🎉 2022-04-11 19:51:37 +02:00