Age | Commit message (Collapse) | Author |
|
|
|
|
|
* move monitors to sp
* XD
|
|
|
|
* input: return early in mouseMoveUnified when the session is locked
* sessionLock: make make a commit an opportunity to focus session lock surfaces
* compositor: allow resetting focus when session is locked
* input: remove redundant PMONITOR checks
PMONITOR is checked above
* input: check isSessionLocked earlier in mouseMoveUnified
A bit of reordering, so that we don't call some stuff that is irrelevant
when the session is locked
|
|
---------
Co-authored-by: Mihai Fufezan <[email protected]>
|
|
now we roll loops at blazing constified speed.
|
|
why not let the compiler optimise things for us at hyprspeeds when we
can.
|
|
(#7150)
* sessionLock: reset m_pSessionLock on destroy
* sessionLock: only send locked when resource is good
|
|
The protocol says:
> The locked event "must not be sent until a new "locked" frame (either from a
> session lock surface or the compositor blanking the output) has been presented
> on all outputs and no security sensitive normal/unlocked content is possibly
> visible".
This helps users ensure the screen is properly locked before suspending
the machine. (e.g. with swaylock --ready-fd)
|
|
* sessionLock: focus lock on creation based on mouse position
* sessionLock: immediately unfocus any focused surfaces on lock
|
|
* wayland/core/dmabuf: move to new impl
it's the final countdown
|
|
fixes #5913
|
|
moves std::shared_ptrs to a new implementation
Advantages:
- you can dereference a weak_ptr directly. This will obviously segfault on a nullptr deref if it's expired.
- this is useful to avoid the .lock() hell where we are 100% sure the pointer _should_ be valid. (and if it isn't, it should throw.)
- weak_ptrs are still valid while the SP is being destroyed.
- reasoning: while an object (e.g. CWindow) is being destroyed, its `weak_ptr self` should be accessible (the sp is still alive, and so is CWindow), but it's not because by stl it's already expired (to prevent resurrection)
- this impl solves it differently. w_p is expired, but can still be dereferenced and used. Creating `s_p`s is not possible anymore, though.
- this is useful in destructors and callbacks.
|
|
|
|
|
|
* fix: refocus after destroy focused surface
* refactor: minor refactor on refocus loop condition
* refactor: minor refactor on condition
* style: format code
|
|
* 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
|
|
|
|
|
|
* 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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|