| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
Makes scroll handle fullscreen by itself, allowing for fs scrolls.
|
| | |
|
| |
|
| |
Adds a new lua config manager, which will automatically be used if there is a lua config present.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* input: implement follow_mouse_shrink
Add a new config option `input:follow_mouse_shrink` (INT, 0-300, default 0)
that shrinks inactive window hitboxes by the specified number of pixels for
focus detection purposes. This creates a dead zone in gaps between windows
where moving the cursor will not trigger a focus change.
The shrink only applies to inactive (non-focused) windows and only during
mouse-move focus checks (follow_mouse = 1). Click and scroll interactions
are unaffected — clicking on a window in the shrunk area still works
normally once the window is focused.
Closes #9973
* tests: add integration test for follow_mouse_shrink
|
| |
|
|
| |
Massively refactors the config infrastructure, sorely
needed and will be req'd for the lua stuff
|
| |
|
| |
Adds an ICC profile pipeline, loading via config and applying via 3D LUTs.
|
| |
|
| |
When all monitors disconnect, non-active workspaces could migrate to the wrong output after reconnect. Preserve workspace ownership and re-apply assigned monitor bindings on connect.
|
| |
|
| |
in a multimon scenario, due to our positioning hacks, and due to the fact work area is a rect anyways, likely wont make sense
|
| |
|
|
|
| |
Rewrites layouts to be much smaller, and deal with much less annoying
BS. Improves the overall architecture, unifies handling of pseudotiling,
and various other improvements.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* fix named primaries
* default to gamma22
* mark mastering primaries as supported
* remove xx-cm and frog support
* immutable primaries and image descriptions
* clang-format
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
fullscreen (#12033)
Renames `misc:new_window_takes_over_fullscreen` into
`misc:on_focus_under_fullscreen` and implements the following behavior:
- By default, when a tiling window is being focused on a workspace where
a fullscreen/maximized window exists, respect
the `misc:on_focus_under_fullscreen` config variable.
|
| |
|
|
|
|
|
| |
Reworks the window rule syntax completely
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
|
| | |
|
| |
|
|
| |
fixes #12108
|
| |
|
| |
Adds configurable trackpad gestures
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* syncobj: use rendernode for timelines
use rendernode for timelines instead of the drmfd, some devices dont
support to use the drmfd for this.
* opengl: use rendernode if available
use rendernode if available for CHyprOpenglImpl
* MesaDRM: use the m_drmRenderNodeFD if it exist
try use the rendernode we got from AQ if it exist.
* linuxdmabuf: use rendernode if available
use the rendernode if available already from AQ
* syncobj: prefer rendernode over displaynode
prefer the rendernode over the displaynode, and log a error if
attempting to use the protocol without explicit sync support on any of
the nodes.
* syncobj: check support on both nodes always
check support on both nodes always so it can be used later for
preferring rendernode if possible in syncobj protocol.
* syncobj: remove old var in non linux if else case
remove old m_bDrmSyncobjTimelineSupported from non linux if else case
that will fail to compile on non linux. the nodes sets support by
default to false, and if non linux it wont check for support and set it
to true.
* build: bump aq requirement
bump to 0.9.3 where rendernode support got added.
* flake.lock: update
* renderer: glfinish on software renderer
software renderers apparently bug out on implicit sync, use glfinish as
with nvidia case on implicit paths.
* flake.lock: update
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
|
| |
|
|
| |
discarding this makes the call do nothing but waste cycles
|
| | |
|
| |
|
|
| |
fixes #11236
|
| |
|
|
| |
Fixes some race conditions that come up in tests. We only clean up workspaces when we render a frame. With this, they are always cleared instantly.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Prevents crashes on systems where DRM driver lacks syncobj timeline
support (e.g., Apple Silicon with Honeykrisp driver). Applications
like Zed and WezTerm would crash with 'Timeline failed importing'
when trying to use explicit sync.
Fixes #8158 #8803
---------
Co-authored-by: mvonarx <matthias.vonarx@sitrox.com>
|
| |
|
|
|
| |
* render: refactor class member vars
* render: fix clang format
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
(#9874)
---------
Co-authored-by: nyx <nnyyxxxx@protonmail.com>
|
| | |
|
| |
|
| |
Adds support for the recently merged w-p CM protocol alongside the (now deprecated) old CM WIP protocols
|
| | |
|
| | |
|
| | |
|
| |
|
| |
Co-authored-by: Alexandr Krylov <t@ruenya.nix>
|
| |
|
|
|
|
| |
instead of just staying after open, they will now be enforced on their respective monitors
fixes #8769
|
| |
|
|
| |
fixes #9135
|
| | |
|
| |
|
| |
Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
|
| | |
|
| |
|
|
|
|
| |
instead of manually polling every second which is not efficient, use inotify.
an added bonus is that inotify is much much faster
|
| |
|
| |
Cleanup some unneeded includes to speed up compilation
|
| | |
|
| |
|
|
| |
fixes #8909
|
| | |
|
| |
|
|
| |
No point in most of these.
|
| |
|
|
|
| |
This adds a .clang-tidy file for us.
It's not a strict requirement to be compliant, but I tuned it to be alright.
|
| |
|
|
| |
CCompositor is massive, and has a lot of functions that could be better optimized if in CWorkspace
|
| |
|
|
| |
ref #8221
|