Commit graph

288 commits

Author SHA1 Message Date
Maximilian Seidler
88f3f7a8f0 guard against keymap nullptr
avoid this crash:
```
#2  <signal handler called>
#3  xkb_keymap_layout_get_name (keymap=0x0, idx=0) at ../libxkbcommon/src/keymap.c:327
#4  0x00005791d0502cef in replaceAllLayout (str="Layout: $LAYOUT") at /usr/include/c++/14.2.1/bits/unique_ptr.h:193
```
2025-04-23 09:00:38 +02:00
Heorhi Valakhanovich
8ea3fc4256 core: remove CSeatManager::getActiveKbLayoutName 2025-04-23 08:40:35 +03:00
Heorhi Valakhanovich
2597a94c07 widgets: fix layout rendering 2025-04-23 08:40:35 +03:00
Heorhi Valakhanovich
bcc836ee09 core: remove fake declaration in header 2025-04-23 08:40:35 +03: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
Maximilian Seidler
02639c2759
animation: small gradient fail transition fixup (#648) 2025-01-15 16:09:11 +01:00
Maximilian Seidler
4f964371cc
auth: fixup prompt and fail substitution (#641)
BREAKING:
- Removed $PROMPT variable. Either use $PAMPROMPT or $FPRINTPROMPT.
- Removed $FPRINTMESSAGE. Use $FPRINTPROMPT instead. There is also
  $FPRINTFAIL.
2025-01-12 17:18:18 +00:00
Maximilian Seidler
e84267085d
animation: allow adding vars during ::tick (#644) 2025-01-11 16:36:18 +00:00
Maximilian Seidler
73e23e535f
animations: fix overshoot beziers and cleanup animation config parsing (#642) 2025-01-09 20:59:16 +00:00
davc0n
de844d39ad
helpers: fix absolutePath relative with tilde (#640)
Relative path was not handled if input started with tilde.
Examples:
	~/./test
	~/weird/../test

No reason to do something like this imho, but users you never know.
2025-01-06 13:18:13 +00:00
Maximilian Seidler
00d2cbfee3
core: introduce animation manager and animation config (#631)
BREAKING:
- Removed `input-field:dots_fade_time`. Now configured via
`animation=inputFieldDots,...`
- Removed `input-field:fail_transition`. Now configured via
`animation=inputFieldColors,...`
- Removed `general:no_fade_in` and `general:no_fade_out`. Now configured
globally via `animations:enabled` or via `animation=fadeIn,...` and
`animation=fadeOut,...`
2025-01-06 12:34:21 +00:00
8f68fad50a core: bind to wl_seat v8
fixes #638
2025-01-04 17:32:44 +01:00
Maximilian Seidler
c3d95953c0
output: fix setting transform (#636) 2025-01-03 22:57:16 +00:00
Brayden Zee
e01afaf107
fingerprint: add a delay after an unrecognized fingerprint (#625) 2025-01-01 20:48:32 +00:00
Maximilian Seidler
a2f00fb735
config: fix gradient rgb(a) parsing with spaces (for real this time) (#628)
* config: fix gradient rgb(a) parsing with spaces (for real this time)

* config: conditionally split gradient colors
2025-01-01 12:18:37 +00:00
Jan Beich
836dbfbb13
core: add missing header for BSDs after 753c538dea (#630)
src/core/Seat.cpp:76:17: error: use of undeclared identifier 'close'
   76 |                 close(fd);
      |                 ^
2024-12-30 18:40:59 +00:00
davc0n
2c5ae4d661
widgets: add TZ env var support for $TIME (#627)
* widgets: add TZ env var support for $TIME

* widgets: refactor getTime if else brackets
2024-12-30 15:32:46 +00:00
Maximilian Seidler
3d63d9b129
input-field: don't change outer color when numlock_color is not set (#621)
* input-field: don't change outer color when numlock_color is not set

* input-field: same for bothlock_color
2024-12-29 18:38:16 +00:00
Vaxry
753c538dea
Core: move to hyprwayland-scanner (#624)
nix: add hyprwayland-scanner dep

flake.lock: update

---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-12-29 18:36:08 +00:00
77d194c1e9 core: clean up pointer logic and clang-format 2024-12-29 16:40:01 +01:00