Commit graph

2691 commits

Author SHA1 Message Date
nerdopolis
4aeb99a43f ply-list: Introduce ply_list_node_set_data 2023-05-31 19:43:49 -04:00
n3rdopolis
8db13df395 Introduce ply-kmsg-reader to read kernel log messages from /dev/kmsg 2023-05-31 19:43:49 -04:00
n3rdopolis
35819ff63e ply-utils: Add ply_utf8_string_get_substring_range () to split UTF-8 strings at a number character, to a specified range 2023-05-31 19:43:49 -04:00
n3rdopolis
1668590503 label-freetype: Support monospaced fonts 2023-05-31 19:43:49 -04:00
nerdopolis
c038e7ff30 label-freetype: Allow the label size to be set when hidden 2023-05-31 19:43:49 -04:00
nerdopolis
545c7aec29 label-freetype: Fix uncrustify 2023-05-31 19:43:49 -04:00
n3rdopolis
3de9d5985c populate-initrd: Ensure a monospace font is in the initrd, along with fonts defined in the theme. 2023-05-31 19:43:49 -04:00
Ray Strode
f6b37f2f7b Merge branch 'fixnumpadreturn' into 'main'
ply-input-device: Handle the "Enter" key on the numpad correctly.

See merge request plymouth/plymouth!236
2023-05-04 12:57:04 +00:00
nerdopolis
676f6c8d07 ply-input-device: Handle the "Enter" key on the numpad correctly. 2023-05-04 08:38:06 -04:00
Ray Strode
f09cfea7ce Merge branch 'tt-x11-periodically-handle-events' into 'main'
x11: periodically handle gtk events

Closes #190

See merge request plymouth/plymouth!230
2023-05-01 17:04:11 +00:00
Timo Teräs
261f305b50 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
2023-05-01 17:02:29 +00:00
Ray Strode
11b1180e3b Merge branch 'boot-log-option' into 'main'
Add new option to set boot log file

See merge request plymouth/plymouth!235
2023-04-29 15:36:16 +00:00
Balló György
5b266eb2f1 Add new option to set boot log file 2023-04-29 15:36:16 +00:00
Ray Strode
e8e193716f Merge branch 'tt-script-hotplug' into 'main'
script: handle display hotplug

Closes #186

See merge request plymouth/plymouth!232
2023-03-22 13:17:37 +00:00
Timo Teräs
1896ea7439 script: handle display hotplug
- Fix script plugin to handle monitor hotplug events

- Expose Plymouth.SetDisplayHotplugFunction to set script callback
  after display hotplug

fixes #186
2023-03-22 13:16:22 +00:00
Ray Strode
0a7aa26777 Merge branch 'tt-fixes' into 'main'
Various fixes to script plugin

See merge request plymouth/plymouth!231
2023-03-22 13:14:52 +00:00
Timo Teräs
167507880d 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.
2023-03-22 13:50:03 +02:00
Timo Teräs
51ee78ae1d script: fix script_lib_sprite_draw_area() if sprite_list is empty
The Sprite list may be empty under various conditions, cope with
this.
2023-03-22 13:49:41 +02:00
Timo Teräs
e0799eb77b 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().
2023-03-22 13:49:33 +02:00
Timo Teräs
bfc91248b4 logger: snprintf needs #include <stdio.h> 2023-03-22 13:49:25 +02:00
Ray Strode
7302b49da8 Merge branch 'weblate-plymouth-master' into 'main'
Translations update from Fedora Weblate

See merge request plymouth/plymouth!229
2023-02-22 13:43:27 +00:00
mooo
f549528f2b 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
2023-02-21 23:20:28 +01:00
Olga Smirnova
2a69e4d099 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
2023-02-21 23:20:28 +01:00
n3rdopolis
353276386f Merge branch 'removeunderscores' into 'main'
ply-device-manager: Change XKB_* variables from vconsole.conf to match systemd's

See merge request plymouth/plymouth!228
2023-01-24 21:11:46 +00:00
n3rdopolis
5ffd55e40b ply-device-manager: Change XKB_* variables from vconsole.conf to match systemd's 2023-01-24 12:53:29 -05:00
Ray Strode
c9dab67e61 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
2023-01-02 17:35:08 +00:00
Ray Strode
6aefdea9d9 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.
2023-01-02 17:33:53 +00:00
Ray Strode
fcaa382d53 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
2023-01-02 12:27:24 -05:00
n3rdopolis
42d414f9f7 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.
2023-01-02 12:20:44 -05:00
Ray Strode
96d050ce96 Merge branch 'more-dynamic-exports-than-marco-polo' into 'main'
meson: Use export_dynmic: true instead of -rdynamic

See merge request plymouth/plymouth!223
2022-12-02 01:25:59 +00:00
Ray Strode
c5a234b5e3 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).
2022-12-01 20:14:17 -05:00
Ray Strode
c81af06abd Merge branch 'built-ins-are-dynamic' into 'main'
meson: Build plymouthd with -rdynamic

See merge request plymouth/plymouth!219
2022-12-01 19:31:39 +00:00
Ray Strode
4a53499b95 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
2022-12-01 14:30:19 -05:00
Ray Strode
ee222f7fe8 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
2022-12-01 19:26:02 +00:00
Ray Strode
31f6650d64 device-manager: Fix crash if XKB keymap could not be created
This commit fixes a crash introduced in the last commit when an
xkb keymap can't be created.

Closes: https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/199
2022-12-01 14:21:26 -05:00
Ray Strode
1c1c7e67f3 Merge branch 'uhh-actually-fix-tty-fallback' into 'main'
device-manager: Actually fall back to reading from tty if no xkb layout specified

Closes #199

See merge request plymouth/plymouth!220
2022-12-01 18:57:09 +00:00
Ray Strode
56a5e00b17 device-manager: Actually fall back to reading from tty if no xkb layout specified
Commit 7fcfcdf2d63025151a160f7948ee7406f0f16843 tried to fall back to
reading from a tty if no xkb layout was specified, but neglected to
actually check if no xkb layout was specified and force fall back to
reading from a tty in that case.

This commit changes device manager to actually disable reading from
/dev/input if the user doesn't specify a layout to use in vconsole.conf.

Closes https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/199
2022-12-01 13:40:30 -05:00
Ray Strode
e8b301a66d Merge branch 'dont-assume-qwerty-us-layout' into 'main'
device-manager: Fall back to reading from tty if no xkb layout specified

Closes #199

See merge request plymouth/plymouth!218
2022-12-01 15:35:52 +00:00
Ray Strode
f6852a7a82 device-manager: Fall back to reading from tty if no xkb layout specified
At the moment if a user doesn't specify a xkb layout in vconsole.conf we
just fall back to assuming a us qwerty layout.

This isn't really optimal, since it might not match the keyboard.
Furthermore, the tty does have a usable layout, so it makes more sense
to fall back to it.

This commit changes device manager to disable reading from /dev/input
if the user doesn't specify a layout to use in vconsole.conf.

Close https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/199
2022-11-30 09:53:54 -05:00
Ray Strode
a3f9824d9a Merge branch 'fix-check-format' into 'main'
ci: Fix check-format

See merge request plymouth/plymouth!217
2022-11-29 19:57:19 +00:00
Ray Strode
9bce1df280 ci: Fix check-format
In commit bb6580212d we tried to stop
running check-format on debian. We did this by moving the check-format
details to its own map and then adding a "<<" merge key to only pull
it in on Fedora.

The Fedora map already has a "<<" merge key however for doing the actual
build.

It's not allowed for their to be two, and gitlab's ci just ignores
the second one.

This commit combines the merge keys into one.
2022-11-29 14:52:39 -05:00
Ray Strode
970ba688f4 Merge branch 'reproducible-builds' into 'main'
meson: Generate version for reproducibility

Closes #188

See merge request plymouth/plymouth!216
2022-11-29 19:45:26 +00:00
Ray Strode
36cf20c6fa meson: Generate version for reproducibility
Right now we call date directly from meson.build leading to
non-reproducible builds.

This commit makes it only call date when building from git,
otherwise it extracts the version from the tarball name.

script borrowed from accountsservice.

Closes https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/188
2022-11-29 14:40:11 -05:00
Ray Strode
e285c91fc4 Merge branch 'im-not-stuttering-its-just-broken' into 'main'
Fix double input probably on optimus hardware

Closes #197

See merge request plymouth/plymouth!215
2022-11-29 18:35:30 +00:00
Ray Strode
b6c8bf3be7 input-device: Only allow one renderer to consume input at a time
Right now if there are two graphics cards, there ends up with two
renderers active at the same time. Both process keyboard inputs
and both end up sending those events to plymouthd, resulting in
duplicate input.

This commit changes the input handlers so the first one wins, and
the rest don't get input.

Closes https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/197
2022-11-29 13:34:05 -05:00
Ray Strode
5a9b24f18e trigger: Provide way for instance handlers to preempt run.
This commit adds a way for instance handlers to say "My handler
completed things, don't run any other handlers".

It does that by adding a boolean return value to the handler type
and making the callers return true for done.

Note, this commit doesn't update the callers to use the new api,
so it's sort of leaving things in a broken state.

The next commit will update the callers.
2022-11-29 13:33:44 -05:00
Ray Strode
a3a63e3e30 Merge branch 'hide-text-early' into 'main'
src: Hide console text when splash is requested

See merge request plymouth/plymouth!205
2022-11-29 15:15:30 +00:00
Ray Strode
48881ba2ef src: Hide console text when splash is requested
plymouthd may not be able to show the splash screen as soon as the
boot process wants it shown (if e.g. the driver isn't fully loaded
yet)

In that case, we sit tight and wait. Unfortunately, we aren't
logging boot messages while waiting.

This commit sets KD_GRAPHICS mode early to hide text from hitting
the console, but still tells systemd to print messages.  This way
we get boot logging but don't display the text while we wait on
the splash.
2022-11-29 09:47:17 -05:00
Ray Strode
6b28bb6229 Merge branch 'fix-novt-input' into 'main'
renderers: No longer assume that input is closed if the terminal device is NULL.

See merge request plymouth/plymouth!214
2022-11-29 14:26:18 +00:00
n3rdopolis
03d4e91bcd renderers: No longer assume that input is closed if the terminal device is NULL. 2022-11-29 14:25:02 +00:00