]>
git.ipfire.org Git - thirdparty/plymouth.git/log
nerdopolis [Wed, 6 Dec 2023 12:23:09 +0000 (07:23 -0500)]
ply-terminal-emulator: Don't spam the debug logs with the two most-common commands
nerdopolis [Wed, 6 Dec 2023 02:10:49 +0000 (21:10 -0500)]
ply-terminal-emulator: cleanup dead code
Ray Strode [Tue, 5 Dec 2023 21:28:00 +0000 (21:28 +0000)]
Merge branch 'add-redraw-debug' into 'main'
drm: Add new plymouth.set-mode-on-redraws debug option
See merge request plymouth/plymouth!258
Ray Strode [Tue, 5 Dec 2023 21:19:19 +0000 (16:19 -0500)]
drm: Add new plymouth.set-mode-on-redraws debug option
This option forces a modeset every frame
Ray Strode [Mon, 4 Dec 2023 23:39:47 +0000 (23:39 +0000)]
Merge branch 'fixmodifierrepeat' into 'main'
ply-input-device: Handle better when a keyboard sends key-repeat events for held modifier keys
Closes #225
See merge request plymouth/plymouth!255
nerdopolis [Mon, 4 Dec 2023 22:41:26 +0000 (17:41 -0500)]
ply-input-device: Handle modifiers better
At the moment, holding down the shift key sends
key repeat events that lead to the output not
getting properly shifted.
This commit avoids updating modifier state when
the modifer key is held down.
Ray Strode [Mon, 4 Dec 2023 23:11:52 +0000 (23:11 +0000)]
Merge branch 'input-device-debug' into 'main'
ply-input-device: Handle SYN events
See merge request plymouth/plymouth!253
Ray Strode [Mon, 4 Dec 2023 12:59:38 +0000 (07:59 -0500)]
ply-input-device: Add new plymouth.debug-input-devices kernel option
Right now we don't have a lot of debugging information when processing
keyboard events. I mean we don't want passwords to show up in logs
after all.
Still, it would be useful to have a way to turn the valve on to the
firehose.
This commit adds a plymouth.debug-input-devices kernel option.
Ray Strode [Mon, 4 Dec 2023 12:54:41 +0000 (07:54 -0500)]
ply-input-device: Handle SYN events
If the kernel falls behind a stream of input events, we currently
drop them on the floor.
It seems unlikely that this could ever happen theorhetically since we only
process keyboard events (versus, say, a high frequency stream of pointer
events, or a complex stylus device with inter-related events coming in,
in batches). Nonetheless, there is a report that suggests key events
may be getting dropped.
This commit adds support for handling the backlogged event case, and
hopefully address the bug report.
Ray Strode [Mon, 4 Dec 2023 19:06:19 +0000 (19:06 +0000)]
Merge branch 'config-h-fix' into 'main'
Include config.h automatically
See merge request plymouth/plymouth!254
Ray Strode [Mon, 4 Dec 2023 19:02:51 +0000 (14:02 -0500)]
Include config.h automatically
There are a few files missing #include <config.h>.
That is bad since it means those files don't get debug tracing.
This commit eliminates the pitfall by making sure the file is
included implicitly
Ray Strode [Mon, 4 Dec 2023 13:02:00 +0000 (13:02 +0000)]
Merge branch 'make-random-numbers-random' into 'main'
ply-utils: Add function for getting random number
See merge request plymouth/plymouth!251
Ray Strode [Mon, 4 Dec 2023 00:07:13 +0000 (19:07 -0500)]
two-step: Use new ply_get_random_number function
Ray Strode [Mon, 4 Dec 2023 00:07:00 +0000 (19:07 -0500)]
space-flares: Use new ply_get_random_number function
Ray Strode [Mon, 4 Dec 2023 00:06:47 +0000 (19:06 -0500)]
script: Use new ply_get_random_number function
Ray Strode [Mon, 4 Dec 2023 00:06:32 +0000 (19:06 -0500)]
fade-throbber: Use new ply_get_random_number function
Ray Strode [Sun, 3 Dec 2023 23:59:18 +0000 (18:59 -0500)]
ply-utils: Add function for getting random number
rand() and srand() are we use now and it's not working out too well
because we're seeding correctly in a number of places.
This commit adds one function to do it better.
Problem spotted by @emperor06
Ray Strode [Mon, 4 Dec 2023 03:01:11 +0000 (03:01 +0000)]
Merge branch 'fixplythrobbercrash' into 'main'
ply-throbber: Only set the loop when there is none. Be more flexable if...
See merge request plymouth/plymouth!252
nerdopolis [Mon, 4 Dec 2023 02:14:35 +0000 (21:14 -0500)]
ply-throbber: fully stop the throbber ply_throbber_start () is called after the throbber is stopped with an end animation
Ray Strode [Mon, 4 Dec 2023 00:37:33 +0000 (00:37 +0000)]
Merge branch 'betterxkblogging' into 'main'
ply-device-manager: Better logging of what vconsole variables are read
See merge request plymouth/plymouth!248
nerdopolis [Sun, 3 Dec 2023 15:05:27 +0000 (10:05 -0500)]
ply-device-manager: Better logging of what vconsole variables are read
Ray Strode [Mon, 4 Dec 2023 00:24:34 +0000 (00:24 +0000)]
Merge branch 'dynamickeymapicon' into 'main'
ply-keymap-icon: Create dynamic text for the keymap name if it is not in the pre-rendered file
See merge request plymouth/plymouth!250
nerdopolis [Sun, 3 Dec 2023 23:46:37 +0000 (18:46 -0500)]
ply-keymap-icon: Create dynamic text for the keymap name if it is not in the pre-rendered file
Ray Strode [Sat, 2 Dec 2023 23:33:26 +0000 (23:33 +0000)]
Merge branch 'parsekmsg' into 'main'
Support for displaying logs from /dev/kmsg and the console on the screen, instead of relying on the text on the VT
See merge request plymouth/plymouth!224
n3rdopolis [Mon, 20 Mar 2023 02:42:41 +0000 (22:42 -0400)]
space-flares: Get the messages from the console and ply-kmsg-reader, and use ply-terminal-emulator and ply-console-viewer to the display messages
n3rdopolis [Mon, 20 Mar 2023 02:42:14 +0000 (22:42 -0400)]
fade-throbber: Get the messages from the console and ply-kmsg-reader, and use ply-terminal-emulator and ply-console-viewer to the display messages
n3rdopolis [Mon, 20 Mar 2023 02:41:51 +0000 (22:41 -0400)]
two-step: Get the messages from the console and ply-kmsg-reader, and use ply-terminal-emulator and ply-console-viewer to the display messages
n3rdopolis [Mon, 20 Mar 2023 02:41:32 +0000 (22:41 -0400)]
libply-splash-graphics: Introduce new ply-console-viewer control
n3rdopolis [Mon, 20 Mar 2023 02:40:18 +0000 (22:40 -0400)]
main: start ply-kmsg-reader, and fix handling ESC key when there are no VTs
n3rdopolis [Mon, 20 Mar 2023 02:38:26 +0000 (22:38 -0400)]
Introduce ply-kmsg-reader to read kernel log messages from /dev/kmsg
Ray Strode [Fri, 24 Nov 2023 16:02:33 +0000 (11:02 -0500)]
ply-utils: Add function for getting current kmsg log levels
We need to know two things:
1. What log level threshold to follow when showing kernel messages to
the console
2. What log level to use if a message comes in without a log level
This commit adds a new function `ply_get_kmsg_log_levels` that
returns those two values.
Ray Strode [Sat, 15 Jul 2023 00:47:55 +0000 (20:47 -0400)]
label-freetype: Add basic support for rich text
Now that the ply-label interface supports rich text, we need to
implement it in the plugins.
This commit changes the freetype plugin to process
rich text in a rudimentary way that picks up colors, but not other
style attributes.
Based on initial work from nerdopolis
Ray Strode [Sat, 2 Dec 2023 18:11:37 +0000 (13:11 -0500)]
label-freetype: Handle utf-8 characters better
The plugin currently assumes all characters are 7 byte ascii.
This commit just adds a mbrtowc call around the text to
handle UTF-8 text somewhat better.
n3rdopolis [Tue, 2 May 2023 21:03:03 +0000 (17:03 -0400)]
label-freetype: Support monospaced fonts
nerdopolis [Mon, 8 May 2023 23:24:19 +0000 (19:24 -0400)]
label-freetype: Allow the label size to be set and calculated even when hidden
nerdopolis [Wed, 14 Jun 2023 23:35:50 +0000 (19:35 -0400)]
label-pango: Add support for set_rich_text
Now that the ply-label interface supports rich text, we need to
implement it in the plugins.
This commit implements it for the pango plugin.
nerdopolis [Tue, 10 Oct 2023 11:45:35 +0000 (07:45 -0400)]
label-pango: Replace characters not supported by fonts with a replacement character
Using a replacement character prevents hexboxes from appearing, which can mess up alignment of monospace fonts
Ray Strode [Sat, 2 Dec 2023 22:18:10 +0000 (17:18 -0500)]
ply-label: Set font before sizing label
This commit makes sure the right font is loaded before sizing the
label, so the size comes out correctly.
n3rdopolis [Mon, 20 Mar 2023 02:40:52 +0000 (22:40 -0400)]
ply-label: Add ply_label_set_hex_color () based off of ply_pixel_buffer_fill_with_hex_color for configuration of label text colors
nerdopolis [Wed, 14 Jun 2023 02:49:51 +0000 (22:49 -0400)]
ply-label: Introduce set_rich_text_for_control () for allowing text properties like color to be set within labels
Ray Strode [Sat, 2 Dec 2023 17:22:35 +0000 (12:22 -0500)]
rich-text: Add iterator API
This commit adds a small wrapper around ply_rich_text_get_characters
to make it easier to iterate over every character in a loop.
Ray Strode [Sat, 2 Dec 2023 17:36:54 +0000 (12:36 -0500)]
ply-utils: Add a utf-8 string iterator API
This will make it easier to walk through a string and extract
each character.
nerdopolis [Sun, 28 May 2023 01:22:32 +0000 (21:22 -0400)]
Introduce ply-terminal-emulator to handle various console sequences from kernel logging facilities
n3rdopolis [Sun, 26 Nov 2023 16:37:30 +0000 (11:37 -0500)]
libply-splash-core: Add class to handle rich text
In order to implement a terminal that supports colors and styles,
we need some way assign colors and styles to text.
This commit adds a new class ply_rich_text_t to handle that.
Code split out of ply-terminal-emulator.c by Ray Strode.
n3rdopolis [Fri, 9 Dec 2022 18:07:36 +0000 (13:07 -0500)]
populate-initrd: Ensure a monospace font is in the initrd, along with fonts defined in the theme.
Ray Strode [Thu, 30 Nov 2023 19:03:18 +0000 (14:03 -0500)]
check-format: Trim weird line that's getting added to output
Ray Strode [Thu, 30 Nov 2023 18:53:39 +0000 (18:53 +0000)]
Merge branch 'label-fixes' into 'main'
Label fixes
See merge request plymouth/plymouth!247
Ray Strode [Sun, 26 Nov 2023 03:44:49 +0000 (22:44 -0500)]
label-pango: Handle NULL text better
Ray Strode [Thu, 30 Nov 2023 18:37:00 +0000 (13:37 -0500)]
label: Fix uncrustify spacing error in label
Ray Strode [Fri, 24 Nov 2023 20:11:37 +0000 (20:11 +0000)]
Merge branch 'features/system-reset-mode' into 'main'
Add system-reset splash mode
Closes #148
See merge request plymouth/plymouth!246
Victor Tran [Fri, 24 Nov 2023 20:11:36 +0000 (20:11 +0000)]
Add system-reset splash mode
Ray Strode [Thu, 23 Nov 2023 01:16:13 +0000 (01:16 +0000)]
Merge branch 'renametilebackground' into 'main'
two-step scaled background fixes
See merge request plymouth/plymouth!245
nerdopolis [Wed, 22 Nov 2023 16:09:05 +0000 (11:09 -0500)]
spinfinity: Make the new ScaleBackgroundImage option more visible to theme editors
nerdopolis [Wed, 22 Nov 2023 16:07:56 +0000 (11:07 -0500)]
two-step: Rename ScaleBackgroundWallpaper to ScaleBackgroundImage
nerdopolis [Wed, 22 Nov 2023 16:06:53 +0000 (11:06 -0500)]
two-step: Check for background.png before background-tile.png first, now that the background may not always be tiled
Ray Strode [Wed, 22 Nov 2023 15:23:05 +0000 (15:23 +0000)]
Merge branch 'scaletwostepbackground' into 'main'
two-step: Support a ScaleBackgroundWallpaper to scale the background instead of tiling it
See merge request plymouth/plymouth!243
nerdopolis [Wed, 22 Nov 2023 00:45:03 +0000 (19:45 -0500)]
two-step: Support a ScaleBackgroundWallpaper to scale the background instead of tiling it
Ray Strode [Thu, 31 Aug 2023 10:14:36 +0000 (10:14 +0000)]
Merge branch 'drm-guess-device-scale' into 'main'
drm: Guess device-scale when using simpledrm
See merge request plymouth/plymouth!242
Hans de Goede [Tue, 15 Aug 2023 17:25:21 +0000 (19:25 +0200)]
drm: Guess device-scale when using simpledrm
When displaying on a simpledrm kms device the physical dimensions
of the screen are unknown. Use the heuristics from ply_get_device_scale ()
to guess the device scale to avoid rendering things too small
on 4K screens.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Hans de Goede [Tue, 15 Aug 2023 16:41:29 +0000 (18:41 +0200)]
drm: Add check if the driver used is simpledrm
Add a check to see if the driver used is simpledrm,
this is a preparation patch for adding support to set
device_scale based on heuristics when using simpledrm.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Hans de Goede [Tue, 15 Aug 2023 16:42:46 +0000 (18:42 +0200)]
drm: Initialize rotation local variable
Initialize rotation local variable to fix the following
false positive compiler warning:
src/plugins/renderers/drm/plugin.c: In function ‘get_primary_plane_rotation’:
src/plugins/renderers/drm/plugin.c:485:31: warning: ‘rotation’ may be used uninitialized [-Wmaybe-uninitialized]
485 | *rotation_ret = rotation;
| ~~~~~~~~~~~~~~^~~~~~~~~~
src/plugins/renderers/drm/plugin.c:419:18: note: ‘rotation’ was declared here
419 | uint64_t rotation;
| ^~~~~~~~
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Hans de Goede [Tue, 15 Aug 2023 17:05:20 +0000 (19:05 +0200)]
utils: Add ply_guess_device_scale () helper
Add a ply_guess_device_scale () helper for getting device-scale
when the physical dimensions of the output are not available.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Ray Strode [Wed, 16 Aug 2023 22:07:47 +0000 (22:07 +0000)]
Merge branch 'drm-bgrt-scale-fix' into 'main'
drm: Use first output for panel info if there is no builtin display
See merge request plymouth/plymouth!241
Hans de Goede [Mon, 14 Aug 2023 14:57:54 +0000 (16:57 +0200)]
two-step: Fix spelling of "different"
Fix "differtent" type, replacing it with "different".
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Hans de Goede [Mon, 14 Aug 2023 14:50:22 +0000 (16:50 +0200)]
drm: Use first output for panel info if there is no builtin display
The two-step renderer uses ply_renderer_get_panel_properties() to get
the device-scale used for the builtin panel, assuming this is most likely
light-up by the firmware on boot and that this is thus also displaying
the bgrt boot splash shown by the firmware at boot.
It needs to know the device-scale for this output so that if hi-dpi
(device-scale=2) rendering is used on the output it can also set
device-scale=2 on the ply_pixel_buffer() used for the bgrt background
so that the pixel-buffer code knows the splash is pre-scaled and
doesn't double it in size making it twice as big as original.
ATM this doubling in size of the splash is exactly what happens
when using a desktop with a hidpi monitor because the drm plugin
does not provide any "panel" properties in this case.
To avoid this fall-back to using the properties of the first
enumerated (connected) output for get_panel_properties().
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Ray Strode [Wed, 16 Aug 2023 22:00:46 +0000 (22:00 +0000)]
Merge branch 'i18n-fixes' into 'main'
Fix translations after meson conversion
See merge request plymouth/plymouth!240
Hans de Goede [Tue, 15 Aug 2023 10:23:05 +0000 (12:23 +0200)]
i18n: Check for NL plymouth.mo file instead of /usr/share/locale existence
setlocale () does not work when there is no locale info for
the selected LANG / LC_MESSAGES. But it does cache the set
LANG / LC_MESSAGES and on subsequent setlocale () calls with
the same LANG / LC_MESSAGES it does not recheck for the locale info.
Thus if the initrd does not have translations then the setlocale ()
call should be delayed to after the chroot so that e.g.
the "Installing Updates..." text, which only is shown after
the chroot, gets translated properly.
So far we have been checking the /usr/share/locale dir exists,
but it is possible that some initrd generators may create
that without the necessary locale info being available.
Instead check for the NL plymouth.mo file, assuming that
if that is available we have all the necessary locale info.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Hans de Goede [Tue, 15 Aug 2023 10:19:40 +0000 (12:19 +0200)]
i18n: Fix translations not working after meson conversion
After the meson conversion ENABLE_NLS and PACKAGE are no longer
defined.
The meson i18n module should ensure that dgettext() is always available,
so simply always use it to fix the translations not working.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Hans de Goede [Tue, 15 Aug 2023 10:16:47 +0000 (12:16 +0200)]
meson: Fix PLYMOUTH_LOCALE_DIRECTORY and PLYMOUTH_DRM_ESCROW_DIRECTORY defines
After the conversion to meson to following CFLAGS were passed:
-DPLYMOUTH_LOCALE_DIRECTORY="share/locale"
-DPLYMOUTH_DRM_ESCROW_DIRECTORY="libexec/plymouth"
Note the missing "/usr/" prefix.
Fix these so that the locale check and drm-escrow binary work
again.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Ray Strode [Sat, 17 Jun 2023 16:05:14 +0000 (16:05 +0000)]
Merge branch 'fixuncrustify' into 'main'
label-freetype: Fix Uncrustify
See merge request plymouth/plymouth!239
nerdopolis [Sat, 17 Jun 2023 03:18:07 +0000 (23:18 -0400)]
label-freetype: Fix Uncrustify
Ray Strode [Mon, 5 Jun 2023 17:23:50 +0000 (17:23 +0000)]
Merge branch 'main' into 'main'
script: adds a new native GetCapslockState function to lib-plymouth
See merge request plymouth/plymouth!237
Tomás Pinho [Fri, 2 Jun 2023 12:13:34 +0000 (13:13 +0100)]
script: adds a new native GetCapslockState function to lib-plymouth
Allows Plymouth Script-based themes to query the Capslock state
directly to act on it by showing an icon or message.
Takes in Ray's suggestions and base the implemention around the keyboard
type instead, delegating to the renderer/terminal renderer types instead.
Ray Strode [Thu, 4 May 2023 12:57:04 +0000 (12:57 +0000)]
Merge branch 'fixnumpadreturn' into 'main'
ply-input-device: Handle the "Enter" key on the numpad correctly.
See merge request plymouth/plymouth!236
nerdopolis [Thu, 4 May 2023 12:38:06 +0000 (08:38 -0400)]
ply-input-device: Handle the "Enter" key on the numpad correctly.
Ray Strode [Mon, 1 May 2023 17:04:11 +0000 (17:04 +0000)]
Merge branch 'tt-x11-periodically-handle-events' into 'main'
x11: periodically handle gtk events
Closes #190
See merge request plymouth/plymouth!230
Timo Teräs [Wed, 22 Mar 2023 11:46:41 +0000 (13:46 +0200)]
x11: periodically handle gtk events
GTK main loop needs to be called periodically to handle
any idle and timer based events which do not trigger via fd.
fixes #190
Ray Strode [Sat, 29 Apr 2023 15:36:16 +0000 (15:36 +0000)]
Merge branch 'boot-log-option' into 'main'
Add new option to set boot log file
See merge request plymouth/plymouth!235
Balló György [Sat, 29 Apr 2023 15:36:16 +0000 (15:36 +0000)]
Add new option to set boot log file
Ray Strode [Wed, 22 Mar 2023 13:17:37 +0000 (13:17 +0000)]
Merge branch 'tt-script-hotplug' into 'main'
script: handle display hotplug
Closes #186
See merge request plymouth/plymouth!232
Timo Teräs [Wed, 22 Mar 2023 11:54:39 +0000 (13:54 +0200)]
script: handle display hotplug
- Fix script plugin to handle monitor hotplug events
- Expose Plymouth.SetDisplayHotplugFunction to set script callback
after display hotplug
fixes #186
Ray Strode [Wed, 22 Mar 2023 13:14:52 +0000 (13:14 +0000)]
Merge branch 'tt-fixes' into 'main'
Various fixes to script plugin
See merge request plymouth/plymouth!231
Timo Teräs [Wed, 22 Mar 2023 11:49:47 +0000 (13:49 +0200)]
script: fix deletion of sprites after full refresh
The node pointer is reused in the if (data->full_refresh) block
causing the following sprite list walking to fail. Fix this by
moving the sprite list first node getting next to the while loop
where it belongs.
Timo Teräs [Wed, 22 Mar 2023 11:49:41 +0000 (13:49 +0200)]
script: fix script_lib_sprite_draw_area() if sprite_list is empty
The Sprite list may be empty under various conditions, cope with
this.
Timo Teräs [Wed, 22 Mar 2023 11:49:33 +0000 (13:49 +0200)]
script: fix reference leak in script_evaluate_set()
script_obj_hash_add_element() takes a new reference, so release
the reference returned by script_evaluate().
Timo Teräs [Wed, 22 Mar 2023 11:49:25 +0000 (13:49 +0200)]
logger: snprintf needs #include <stdio.h>
Ray Strode [Wed, 22 Feb 2023 13:43:27 +0000 (13:43 +0000)]
Merge branch 'weblate-plymouth-master' into 'main'
Translations update from Fedora Weblate
See merge request plymouth/plymouth!229
mooo [Tue, 21 Feb 2023 22:20:28 +0000 (23:20 +0100)]
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (7 of 7 strings)
Co-authored-by: mooo <hazap@hotmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/lt/
Translation: plymouth/main
Olga Smirnova [Tue, 21 Feb 2023 22:20:28 +0000 (23:20 +0100)]
Translated using Weblate (Occidental)
Currently translated at 100.0% (7 of 7 strings)
Added translation using Weblate (Occidental)
Co-authored-by: Olga Smirnova <mistresssilvara@hotmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/ie/
Translation: plymouth/main
n3rdopolis [Tue, 24 Jan 2023 21:11:46 +0000 (21:11 +0000)]
Merge branch 'removeunderscores' into 'main'
ply-device-manager: Change XKB_* variables from vconsole.conf to match systemd's
See merge request plymouth/plymouth!228
n3rdopolis [Tue, 24 Jan 2023 17:53:29 +0000 (12:53 -0500)]
ply-device-manager: Change XKB_* variables from vconsole.conf to match systemd's
Ray Strode [Mon, 2 Jan 2023 17:35:08 +0000 (17:35 +0000)]
Merge branch 'keep-it-on-the-dl' into 'main'
meson: Use dependency('dl') instead of cc.find_library('dl')
See merge request plymouth/plymouth!222
Ray Strode [Thu, 1 Dec 2022 19:39:34 +0000 (14:39 -0500)]
meson: Use dependency('dl') instead of cc.find_library('dl')
meson apparently has some built-in support for libdl, which
depending on libc implementations may or may not be in a separate
library from libc.
This commit changes meson.build to do things the "better" way.
Ray Strode [Mon, 2 Jan 2023 17:27:24 +0000 (12:27 -0500)]
Merge branch 'plymouth-fixleds' into 'main'
ply-input-device: Don't skip setting LEDs on the device that a lock key was pressed on
See merge request plymouth/plymouth!227
n3rdopolis [Mon, 2 Jan 2023 16:57:21 +0000 (11:57 -0500)]
ply-input-device: Ensure that the LED state is updated on the keyboard of which the lock key was pressed on
When a lock modifier is pressed, plymouth goes through some gymnastics
to ensure the LEDs on all attached keyboards are appropriately updated.
Unfortunately, an optimization in the code used to avoid redundant
updates of keyboards that already have the correct state is actually
preventing the initiating keyboard from getting its LEDs turned on.
This is because the initiating keyboard gets its state updated at
key press time before the LED handling code runs, thus making it
seem like that run is redundant.
This commit introduces a new state variable `leds_state_invalid`
on the input device to mark this situation and updates the optimization
check to also check the new variable.
Some contributions by Ray Strode.
Ray Strode [Fri, 2 Dec 2022 01:25:59 +0000 (01:25 +0000)]
Merge branch 'more-dynamic-exports-than-marco-polo' into 'main'
meson: Use export_dynmic: true instead of -rdynamic
See merge request plymouth/plymouth!223
Ray Strode [Fri, 2 Dec 2022 01:11:38 +0000 (20:11 -0500)]
meson: Use export_dynmic: true instead of -rdynamic
It seems like specifying -rdynamic in meson cflags doesn't work
on some systems, but meson has a built in way of doing the same
thing:
export_dynamic: true
This commit switches over to the probably more right way of
achieving a working dlopen(NULL).
Ray Strode [Thu, 1 Dec 2022 19:31:39 +0000 (19:31 +0000)]
Merge branch 'built-ins-are-dynamic' into 'main'
meson: Build plymouthd with -rdynamic
See merge request plymouth/plymouth!219
Ray Strode [Thu, 1 Dec 2022 15:18:31 +0000 (10:18 -0500)]
meson: Build plymouthd with -rdynamic
plymouthd needs to be built with -rdynamic so that the builtin
"details" plugin is loadable.
This commit adds the flag.
Related to #200
Ray Strode [Thu, 1 Dec 2022 19:26:02 +0000 (19:26 +0000)]
Merge branch 'fix-input-crash' into 'main'
device-manager: Fix crash if XKB keymap could not be created
Closes #199
See merge request plymouth/plymouth!221