Commit graph

303 commits

Author SHA1 Message Date
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
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
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
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
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
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
Maximilian Seidler
656704aeb0
config: default to center for label halign and valign (#748) 2025-04-15 09:05:42 +00:00
Maximilian Seidler
d953296227
renderer: fix gradient copy size in renderBorder (#742) 2025-04-12 11:47:53 +00:00
Maximilian Seidler
71d35aa75f
image: remove left over raw pointer to COutput (#735) 2025-04-10 07:36:54 +00:00
Maximilian Seidler
a8de918cc4
auth: use static for getValue (#732) 2025-04-08 16:37:13 +02:00
Brayden Zee
6daab0517c
fingerprint: update widgets after changing prompt (#730) 2025-04-08 04:49:41 +00:00
Maximilian Seidler
854235e1c8
output: refuse to create session lock surfaces with size 0x0 (#729) 2025-04-07 09:15:41 +00:00
Brayden Zee
dd4c1d5034
fingerprint: allow fprint to suspend and cancel verify for us (#722)
* fingerprint: allow fprint to suspend and cancel verify for us

* fingerprint: fix formatting
2025-04-07 09:14:05 +00:00
Maximilian Seidler
0b1f2a97ef
input-field: decouple outer color and base for hidden input random colors (#727) 2025-04-02 22:15:59 +02:00
Maximilian Seidler
ce1eb7b5f9
core: move fail_timeout from input-field to general (#718) 2025-04-02 22:13:22 +02:00
Maximilian Seidler
1ebbc35c55
core: remove attemptRestoreOnDeath and replace some exits with RASSERT (#720) 2025-03-30 01:33:34 +01:00
davc0n
9e54d02590
renderer: remove loading bar (#714) 2025-03-25 06:23:37 +00:00
Maximilian Seidler
ee8ee1f9f7
core: move password buffer clearing to handleInput (#708)
Makes more sense than clearing the input buffer in the auth impl.
Also added a check for the password buffer length to reset the fail
color as soon as the password length > 0.
2025-03-17 11:25:51 +00:00
Maximilian Seidler
9e82fe3547
core: some guards for reconnecting monitors (#704) 2025-03-08 10:58:29 +01:00
Maximilian Seidler
a13b6f0d1a
core: print hyprlock version in the logs (#703) 2025-03-08 10:49:01 +01:00
Maximilian Seidler
78ad1d46b5
label: fix crashes when keymap is a nullptr after suspend (#699) 2025-03-06 08:37:43 +01:00
Maximilian Seidler
cb1c504b38
image: set resourceId in configure (#701)
Fixes a regression caused by #686 (Images don't render cause of a missing resourceId)
2025-03-06 08:25:53 +01:00
Maximilian Seidler
9f37c1c8e9
core: more hyprutils smart pointer usage and safe references to widgets (#686)
* core: move to UP and make widgets use SPs

* widgets: make widgets have a self ref to avoid UB

* fix shadows and let them have a WP to widgets
2025-03-05 08:35:43 +01:00
Maximilian Seidler
712ab62a42
config: make sure disabled animation don't need a valid speed or bezier (#698) 2025-03-05 08:05:19 +01:00
Maximilian Seidler
f6e4c1374e
animations: linear bezier for gradient, warp behavior (#689) 2025-02-21 01:10:45 +01:00
Maximilian Seidler
c4b2175822
core: don't rely on the locked event to create lock surfaces dynamically (#687) 2025-02-16 06:29:52 +00:00
a27585b383 core: add mallopt to modify trim threshold 2025-02-09 17:39:23 +00:00
Honkazel
dc6d72158c
core: clang-tidy and comp fixes (#679)
* clang-tidy and comp fixes

* nit changes
2025-02-06 11:36:08 +00:00
Maximilian Seidler
ce750456f9
fingerprint: handle failed dbus connection (#676) 2025-02-05 09:36:31 +00:00
Maximilian Seidler
ec82da7108
input-field: improve dynamic width (#647)
* input-field: fixup dynamic width

- Instead of not rendering placeholder text,
  if it does not fit into the input-field width,
  render it up until the input field size.
- Improve updateWidth.

* input-field: make sure dots center does not change during width anim
2025-02-04 10:31:12 +00:00
IChengHo
465148ac21
input-field: Fix crash when numlock is on and numlock_color is fallback (#673)
When numlock is enabled but numlock_color is fallback, `targetGrad`
remains nullptr. This causes Hyprlock to crash in updateColors().

This commit aligns the condition check for assigning `targetGrad` with
later usages.
2025-02-03 18:28:35 +00:00
Maximilian Seidler
c976b6a1d1
input-field: fix color updates for BORDERLESS swap_font_color false (#669) 2025-01-30 11:03:17 +00:00
Maximilian Seidler
1bfa79eb83
core: move to hyprlang config value wrapper (#667) 2025-01-29 23:10:27 +01:00
Maximilian Seidler
e77bc92b99
core: don't attempt to unlock when we are not locked yet (#661) 2025-01-25 21:43:21 +01:00
Jan Beich
408ce95dd0
widgets: chase libc++ < 19 compat after 2c5ae4d661 (#659)
src/renderer/widgets/IWidget.cpp:123:11: error: no type named 'time_zone' in namespace 'std::__1::chrono'; did you mean 'date::time_zone'?
  123 |     const std::chrono::time_zone* pCurrentTz = nullptr;
      |           ^~~~~~~~~~~~~~~~~~~~~~
      |           date::time_zone
/usr/include/date/tz.h:785:7: note: 'date::time_zone' declared here
  785 | class time_zone
      |       ^
src/renderer/widgets/IWidget.cpp:127:39: error: no member named 'locate_zone' in namespace 'std::__1::chrono'
  127 |             pCurrentTz = std::chrono::locate_zone(name);
      |                          ~~~~~~~~~~~~~^
2025-01-24 17:31:43 +01:00
Maximilian Seidler
07b5e1b4cd
core: fix background screenshot on nvidia (#656)
Fixes DMA buffer screencopy on nvidia cards. Additionally adds shm screencopy as an option
2025-01-24 14:25:37 +01:00
Maximilian Seidler
d547d1d4e3
core: move wayland event reading into the poll thread (#655)
This was done, so that we can

  wl_display_prepare_read -> poll -> wl_display_read_events

That fixes synchronization issues on nvidia proprietary drivers.
2025-01-21 13:42:11 +00:00