Commit graph

404 commits

Author SHA1 Message Date
William Escande
d099f87d36
pam: prevent nullpointer crash when user passwd isn't found (#928) 2025-12-19 15:53:53 +00:00
Maximilian Seidler
e2da7c6b1f
animation: migrate PHLANIMVAR from SP to UP (#920)
* animation: migrate PHLANIMVAR from SP to UP

* use create2

* bump hyprutils and flake update
2025-12-10 09:15:39 +00:00
Nathan.Woodburn/
98b86752fe
background: reload screenshot if reload_cmd specified (#903) 2025-10-28 18:20:34 +00:00
Maximilian Seidler
36ec73f166
cmake: add "libpam" as an alias for "pam" (#893) 2025-10-09 15:32:29 +00:00
Maximilian Seidler
bdc44ab5d6
flake.lock: update (#890) 2025-10-08 08:53:37 +00:00
Maximilian Seidler
de2cc5bd54
core: migrate to Hyprutils::CAsyncResourceGatherer and improve resource handling (#879)
* core: use Hyprgraphics::CAsyncResourceGatherer

* core: move screencopy frame generation to the new resource manager

* core: introduce a dedicated onAssetUpdate callback

* check for unloaded before finished and some cleanup

* also allow for dynamic label resource deduplication

use a simple counter instead of a timestamp to allow the same
widget on a different monitor to reuse a text cmd resource.

I didn't do this before, because I was worried about two labels that use
the same command with different reload times. I mitigated that by just
incrementing the revision by the time interval. This should be sufficent
to avoid clashes.

* don't render within onAssetUpdate to avoid duplicate renders

another much improvement for multi monitor setups.
allows updating within the same frame for most labels.

* remove nvidia workaround :)

I tested and it seems like the resource manager revision makes
the nvidia workaround obsolete.
2025-10-08 08:45:09 +00:00
Maximilian Seidler
c8a6768dca
misc: remove hyprland-protocols from README (#887)
hyprlock doesn't use it currently
2025-10-04 10:07:28 +00:00
Maximilian Seidler
3cb799b184
core: nvidia workaround destroy renderer before EGL (#884) 2025-10-03 11:58:38 +00:00
c48279d1e0
version: bump to 0.9.2 2025-10-02 11:03:05 +01:00
Maximilian Seidler
7f769fa993 Revert "background: unload screenshots when monitor is removed"
Pushed to the wrong remote :(
This reverts commit 1380ca04ae.
2025-09-17 17:54:49 +02:00
Maximilian Seidler
1380ca04ae background: unload screenshots when monitor is removed
This is just for testing as of now. No merging.
2025-09-17 17:51:34 +02:00
Maximilian Seidler
61b36c64a8
renderer: fix nvidia workaround (#878) 2025-09-17 15:51:17 +00:00
davc0n
a7f2634a9e
Refactor asset management to use shared_ptr (#870)
* Refactor asset management to use shared_ptr

* Replace shared_ptr with ASP for SPreloadedAsset usage
2025-09-15 18:14:34 +00:00
Maximilian Seidler
450ae1e5f0
lock-surface: remove redundant sendDestroy calls (#868)
They are already part of the generated protocol code.
2025-09-10 16:11:06 +00:00
Maximilian Seidler
04cfdc4e5b
core: recreate rendering context when monitors are empty on nvidia (#845)
This is a workaround for nvidia that can hopefully be removed at some point.
2025-09-04 07:04:54 +00:00
Maximilian Seidler
cedbb24472
renderer: move asyncResourceGatherer out of the renderer (#863)
* lockSurface: cleanup some resources

* renderer: move asyncResourceGatherer out of CRenderer

In preperation to recreate the rendering context.
2025-09-03 09:32:12 +00:00
Maximilian Seidler
8d0e56998e
core: remove dmabuf listeners after we are done with Screencopy (#858) 2025-08-27 14:40:51 +00:00
Maximilian Seidler
a356bf055b
background: monitor transforms fixups (#859) 2025-08-27 09:32:57 +00:00
Hiroki Tagato
347e05a40e
Make detection of pam library more portable (#840)
FreeBSD has the pam library installed in the base system. However, it does not provide pam.pc file. So pkg_check_modules() fails to detect pam library. With this change, cmake tries to find it using find_library() first and falls back to pkg_check_modules().
2025-08-05 17:00:48 +00:00
bdf0ef8282
version: bump to 0.9.1 2025-07-31 14:22:01 +02:00
Ben Leynen
71691634e4
Add ctrl+a as binding to clear password (#832) 2025-07-29 15:07:45 +02:00
Maximilian Seidler
1e5e62d6e3
background: fix mismatched asset sizes and transforms (#830) 2025-07-25 18:39:56 +02:00
Maximilian Seidler
d993bdc105
asyncResourceGatherer: fix conditions for skipping screencopy (#829) 2025-07-22 18:12:05 +02:00
Maximilian Seidler
8ebcee2969
seat: restore cursor shape to default (#820) 2025-07-21 21:19:01 +02:00
Maximilian Seidler
1553dd78fc
core: limit onClick to down events (#826) 2025-07-20 09:46:49 +02:00
31297a871b
version: bump to 0.9.0 2025-07-17 11:05:58 +02:00
Maximilian Seidler
17fefce86e
input-field: fix wrong placeholder text for resourceID (#819) 2025-07-11 09:25:42 +02:00
lysolaka
46498da4a0
widgets: remove the libc++ version check (#818)
see https://github.com/hyprwm/hyprlock/issues/816
2025-07-11 09:25:16 +02:00
Karun Sandhu
fee04f6406 flake.lock: update 2025-06-28 22:44:09 +03:00
Maximilian Seidler
d84b44e695
core: use hyprutils atomic pointers (#808)
* widgets: move references to hyprutils atomic shared

* core: move std::shared_pointers to hyprutils atomic shared pointers

* Nix: bump hyprutils input

* clang-format

* cmake: bump hyprutils to v0.8.0

* and bump nix again
2025-06-28 11:01:28 +02:00
davc0n
7999f448d7
core: replace grace option with --grace cli argument (#802)
* core: replace grace option with --grace cli argument

* core: remove --immediate option

not necessary anymore, grace is not a configuration option

* Revert "core: remove --immediate option"

This reverts commit 0c99899157.

* core: add --immediate and grace option deprecation warnings

* core: review fixes for --immediate and --grace

* core: review fixes for grace deprecation
2025-06-26 09:35:25 +02:00
Maximilian Seidler
a9638986c3
core: use a screenshot for fade in/out (#726) 2025-06-22 09:24:39 +02:00
e67036e8cc
CI/Nix: add cache-nix-action
Use nixbuild/nix-quick-install-action which pairs well with
nix-community/cache-nix-action.

Should help with build times by reducing the number of packages needing
to be re-downloaded on each run.

Parameters are taken from https://github.com/nix-community/cache-nix-action
and may be tweaked later.
2025-06-20 01:25:18 +03:00
Friday
f9d8dfab7a nix: use gcc15
also updated dependencies
2025-06-06 01:26:31 +03:00
TioBill
1303bb4b7e
cmake: Add check for libpam using pkg_check_modules (#795) 2025-06-05 21:22:14 +01:00
ojafuenf
8455fc8ca6
core: interpret touch as click (#788) 2025-06-04 08:14:11 +02:00
Maximilian Seidler
da1d076d84
core: fix variable substitution for LAYOUT (#778) 2025-05-19 06:23:50 +00:00
Max Woolf
f7f0c9c6b0
example: Add config location hint to help new users (#771) 2025-05-09 18:54:54 +02:00
nyx
c12cf8e509
core: disable fade in when using --immediate (#763) 2025-05-07 07:13:41 +00:00
Virt
0c5fd97d61
renderer: properly treat monitor desc: prefix (#765) 2025-05-07 07:12:58 +00:00
Maximilian Seidler
fae1c4f6fe
misc: readme cleanup, remove deps required by hyprgraphics (#762) 2025-05-05 23:45:32 +02:00
Maximilian Seidler
e3bd47e177
widgets: add onclick feature (#736)
* widget: add click handling and point containment methods to IWidget interface

* core: add onClick method to handle mouse click events

- renderer: move getOrCreateWidgetsFor method declaration to public section

* core: update mouse event handling to track mouse location and button clicks

* widget: add onclick command handling and point containment to CLabel

- config: add onclick special config value to label

* assets: add label configuration for keyboard layout switching

* config: add onclick configuration for label widgets

 - add CLICKABLE macro for onclick configuration
 - replace direct onclick assignment with CLICKABLE macro

* core: fix cursor shape initialization and pointer handling

 - ensure pointer is available before setting cursor shape
 - initialize cursor shape device if not already done

* core: add hover handling and cursor shape updates

 - implement onHover method to manage widget hover states
 - update cursor shape based on hover status
 - ensure all outputs are redrawn after state changes

* widgets: add hover state management and bounding box calculations

 - add setHover and isHovered methods to manage hover state
 - implement containsPoint method for hit testing
 - override getBoundingBox in CLabel for accurate positioning
 - add onHover method in CLabel to change cursor shape

* core: add hover handling in pointer motion

 - invoke onHover method with current mouse location

* widgets: add hover handling and bounding box for password input field

 - add getBoundingBox method to calculate the widget's bounding box
 - implement onHover method to update cursor shape on hover

* widgets: update hover behavior for label widget

 - modify cursor shape setting to only apply when onclickCommand is not empty

* core: optimize hover handling and rendering for lock surfaces

 - Improve hover state tracking for widgets
 - reduce unnecessary redraw calls by tracking hover changes
 - remove redundant renderAllOutputs() call

* widgets: add onclick and hover to shape and image

* core: trigger hover and onclick only for the currently focused surface

* core: handle fractionalScale in onclick and hover

* core: don't trigger onclick or hover when hide_cursor is set

* misc: remove braces

* core: run onclick commands asnychronously

---------

Co-authored-by: Memoraike <memoraike@gmail.com>
2025-05-05 15:11:24 +00:00
6c64630df8
version: bump to 0.8.2 2025-05-03 15:04:47 +01:00
Maximilian Seidler
0e3e7206bc
core: use enqueueUnlock for unlocks via SIGUSR1 (#756) 2025-04-30 07:12:40 +00:00
Maximilian Seidler
867a71dd78
core: avoid calling wl_display_read_events after poll returned due to EINTR (#757) 2025-04-30 06:11:57 +00:00
Maximilian Seidler
82808290d9
core: correct $LAYOUT replacement (#755)
* core: remove fake declaration in header

* widgets: fix layout rendering

* core: remove CSeatManager::getActiveKbLayoutName

---------

Co-authored-by: Heorhi Valakhanovich <code@mail.geov.name>
2025-04-25 13:01:34 +00:00
Honkazel
eb28a71756
clang-tidy: fix some errors (#751)
I did c+p .clang-tidy from Hyprland and didn't check it for any errors, lol. Still works though
Thanks to hyprwm/Hyprland#9543
2025-04-21 20:17:15 +02:00
b3f1aa7580
version: bump to 0.8.1 2025-04-17 18:07:52 +01:00
248dfb09f7
flake.lock: update 2025-04-17 10:18:52 +03:00
Maximilian Seidler
656704aeb0
config: default to center for label halign and valign (#748) 2025-04-15 09:05:42 +00:00