]>
git.ipfire.org Git - thirdparty/plymouth.git/log
Ray Strode [Tue, 2 Jan 2024 03:24:26 +0000 (03:24 +0000)]
Merge branch 'more-keyboard-debugging' into 'main'
ply-keyboard: Add a little mode debug logging
See merge request plymouth/plymouth!293
Ray Strode [Tue, 2 Jan 2024 02:32:48 +0000 (21:32 -0500)]
ply-keyboard: Add a little mode debug logging
It seems like the terminal fd is getting read from multiple
consumers, so add a little more logging to see if it's happening
in the keyboard code.
Ray Strode [Mon, 1 Jan 2024 21:23:06 +0000 (21:23 +0000)]
Merge branch 'debug-key-events' into 'main'
ply-keyboard: Add new plymouth.debug-key-events option
See merge request plymouth/plymouth!292
Ray Strode [Mon, 1 Jan 2024 19:40:08 +0000 (14:40 -0500)]
ply-keyboard: Add new plymouth.debug-key-events option
We're currently facing a bug where keys have to be hit several
times to register for a user.
In order to make traction on that problem, this commit adds a
new plymouth.debug-key-events kernel command line option
to report in more detail the keyboard events coming in from the
terminal.
Ray Strode [Sat, 30 Dec 2023 16:19:57 +0000 (16:19 +0000)]
Merge branch 'rework-renderer-terminal-input-handling' into 'main'
renderers: Rework input handling a little
See merge request plymouth/plymouth!291
Ray Strode [Sat, 30 Dec 2023 14:52:37 +0000 (09:52 -0500)]
renderers: Rework input handling a little
We don't need to flush the terminal input buffer on key events from
the renderers, because the terminal does that itself.
Also, we should disable the terminal input when a /dev/input
device is added instead of relying on it happening the next flush
period.
Finally, we should make sure the terminal gets reenabled on close,
just so we clean up after ourselves.
Ray Strode [Sat, 30 Dec 2023 14:05:15 +0000 (14:05 +0000)]
Merge branch 'add-terminal-logging' into 'main'
ply-terminal: Log when terminal input gets enabled/disabled
See merge request plymouth/plymouth!290
Ray Strode [Sat, 30 Dec 2023 13:53:03 +0000 (08:53 -0500)]
ply-terminal: Log when terminal input gets enabled/disabled
We're currently seeing a bug where it seems like the terminal might
be getting intermittently disabled.
This commit adds some logging to confirm or rule out that possibility.
Ray Strode [Fri, 29 Dec 2023 14:31:35 +0000 (14:31 +0000)]
Merge branch 'initialize-line-dimensions' into 'main'
label-freetype: Initialize line dimensions to 0
See merge request plymouth/plymouth!289
Ray Strode [Fri, 29 Dec 2023 14:16:59 +0000 (09:16 -0500)]
label-freetype: Initialize line dimensions to 0
Now that we can print the line dimensions, we should
initialize them to zero.
Ray Strode [Fri, 29 Dec 2023 01:22:54 +0000 (01:22 +0000)]
Merge branch 'debug-escape-sequences' into 'main'
ply-terminal-emulator: Add way to see escape sequences
See merge request plymouth/plymouth!288
Ray Strode [Wed, 27 Dec 2023 19:46:31 +0000 (14:46 -0500)]
ply-terminal-emulator: Add way to see escape sequences
This commit adds a new kernel command line option
plymouth.debug-escape-sequences that makes escape sequences stay
unparsed and instead get printed on the screen.
Ray Strode [Fri, 29 Dec 2023 01:21:50 +0000 (01:21 +0000)]
Merge branch 'show-label-dimensions' into 'main'
label: Put dimensions of text in log
See merge request plymouth/plymouth!287
Ray Strode [Fri, 29 Dec 2023 00:42:15 +0000 (19:42 -0500)]
label: Put dimensions of text in log
This just helps with debugging.
Ray Strode [Thu, 28 Dec 2023 19:08:24 +0000 (19:08 +0000)]
Merge branch 'measure-hidden-freetype-labels' into 'main'
label-freetype: Measure control even if hidden
See merge request plymouth/plymouth!286
Ray Strode [Thu, 28 Dec 2023 19:01:05 +0000 (14:01 -0500)]
label-freetype: Measure control even if hidden
Sometimes we want to query the size of hidden labels too, so
it's important we still compute the size, even if hidden.
Ray Strode [Thu, 28 Dec 2023 19:05:36 +0000 (14:05 -0500)]
Revert "ply-utils: Use lstat instead of stat for ply_file_exists"
This reverts commit
e989867f4871bba564cd5dcc0de64da8ead36058 .
I had stat/lstat momentarily crossed in my brain
Ray Strode [Thu, 28 Dec 2023 18:44:18 +0000 (18:44 +0000)]
Merge branch 'freetype-metrics-fix' into 'main'
label-freetype: Ensure font metrics are up to date when querying dimensions
See merge request plymouth/plymouth!285
Ray Strode [Thu, 28 Dec 2023 18:28:46 +0000 (13:28 -0500)]
label-freetype: Ensure font metrics are up to date when querying dimensions
If code calls ply_label_get_width without ply_label_show or some other
call that forces the dimensions to be computed first, then the returned
width will be wrong.
This commit makes the freetype plugin look more like the pango plugin
where the size will computed on demand when querying the width, if
necessary.
Ray Strode [Thu, 28 Dec 2023 17:32:15 +0000 (17:32 +0000)]
Merge branch 'freetype-font-debugging' into 'main'
Improve font loading error debug messages in freetype plugin
See merge request plymouth/plymouth!284
Ray Strode [Thu, 28 Dec 2023 17:17:10 +0000 (12:17 -0500)]
label-freetype: Log font loading error
Right now if there's an error loading a font we quietly just
proceed.
This commit adds a debug log message saying what the error is.
Ray Strode [Thu, 28 Dec 2023 17:15:20 +0000 (12:15 -0500)]
label-freetype: Don't bother loading fallback font if it doesn't exist
If the fallback font doesn't exist, we shouldn't even try to load it,
there's no point.
Instead, put a nice error in the log.
Ray Strode [Thu, 28 Dec 2023 17:10:57 +0000 (12:10 -0500)]
ply-utils: Use lstat instead of stat for ply_file_exists
If a file is a symlink, we usually want to follow it, so
testing the symlink itself, is less than optimal.
This commit switches to lstat instead of stat.
Ray Strode [Thu, 28 Dec 2023 16:54:10 +0000 (16:54 +0000)]
Merge branch 'pango-console-viewer-fixes' into 'main'
console viewer fixes with the pango label plugin
See merge request plymouth/plymouth!283
Ray Strode [Thu, 28 Dec 2023 16:51:09 +0000 (11:51 -0500)]
ply-console-viewer: Make free function NULL safe
Ray Strode [Thu, 28 Dec 2023 16:35:51 +0000 (11:35 -0500)]
label-pango: Pass explicit width when computing height
pango will give a height that's several orders of magnitude too
big sometimes when the width is -1.
This commit checks for -1, explicitly measures the width first, and
remeasures with that width passed in to compute the height.
Ray Strode [Thu, 28 Dec 2023 16:35:10 +0000 (11:35 -0500)]
ply-console-viewer: Disallow zero lines
A logic error meant the console viewer can end up being zero lines.
This commit fixes that.
Ray Strode [Thu, 28 Dec 2023 15:53:02 +0000 (10:53 -0500)]
label-pango: Fix inverted conditional
Right now we skip sizing the control when force == true because
of an inverted conditional.
This commit fixes that.
Ray Strode [Thu, 28 Dec 2023 15:03:05 +0000 (10:03 -0500)]
ply-console-viewer: Fix typo
The last commit had a typo where it would never prefer console viewer.
This commit fixes that.
Ray Strode [Thu, 28 Dec 2023 15:01:18 +0000 (15:01 +0000)]
Merge branch 'console-viewer-crasher-fix' into 'main'
ply-console-viewer: Handle fonts failing to load better
See merge request plymouth/plymouth!282
Ray Strode [Thu, 28 Dec 2023 14:31:08 +0000 (09:31 -0500)]
two-step: Be more tolerant when there's no console viewer
There are still a number of places in the code where a console
viewer is expected, when it's totally possible that there won't
be one.
This commit runs through them, and does a few other style
cleanups on the way.
Ray Strode [Thu, 28 Dec 2023 14:31:08 +0000 (09:31 -0500)]
space-flares: Be more tolerant when there's no console viewer
There are still a number of places in the code where a console
viewer is expected, when it's totally possible that there won't
be one.
This commit runs through them, and does a few other style
cleanups on the way.
Ray Strode [Thu, 28 Dec 2023 14:31:08 +0000 (09:31 -0500)]
fade-throbber: Be more tolerant when there's no console viewer
There are still a number of places in the code where a console
viewer is expected, when it's totally possible that there won't
be one.
This commit runs through them, and does a few other style
cleanups on the way.
Ray Strode [Thu, 28 Dec 2023 13:03:03 +0000 (08:03 -0500)]
ply-console-viewer: Handle fonts failing to load better
Right now we divide by zero if the font metrics can't be determined
and tank.
This commit attempts to detect the situation and fall back to using
kernel fb console in that case.
Ray Strode [Thu, 28 Dec 2023 13:05:22 +0000 (13:05 +0000)]
Merge branch 'catch-sigfpe' into 'main'
main: Catch floating point exceptions in crasher handler too
See merge request plymouth/plymouth!281
Ray Strode [Thu, 28 Dec 2023 12:48:43 +0000 (07:48 -0500)]
main: Catch floating point exceptions in crasher handler too
Right now we catch the two big types of crashes:
1. Segmentation fault
2. Assertion failure
But we don't catch another common type, "Divide by zero"
This commit fixes that.
Ray Strode [Wed, 27 Dec 2023 22:02:36 +0000 (22:02 +0000)]
Merge branch 'fix-xkb-crash' into 'main'
ply-device-manager: Handle XKB failing to load more gracefully
See merge request plymouth/plymouth!280
Ray Strode [Wed, 27 Dec 2023 21:36:52 +0000 (16:36 -0500)]
ply-device-manager: Handle XKB failing to load more gracefully
Right now we always assume `xkb_context_new` will succeed.
This isn't necessarily true. If it fails, we shouldn't crash.
This commit fixes that.
Ray Strode [Wed, 27 Dec 2023 21:39:27 +0000 (21:39 +0000)]
Merge branch 'print-backtraces' into 'main'
main: Print backtrace on crash
See merge request plymouth/plymouth!279
Ray Strode [Wed, 27 Dec 2023 21:30:15 +0000 (16:30 -0500)]
main: Print backtrace on crash
Since plymouth can crash before the root filesystem is mounted,
and since plymouth can prevent boot from proceeding, coredumpctl
isn't always a viable option for getting backtraces.
This commit changes the crash handler to output backtrace
information to assist when coredumpctl can't.
Ray Strode [Wed, 27 Dec 2023 20:18:35 +0000 (20:18 +0000)]
Merge branch 'fix-freetype-crash' into 'main'
label-freetype: Handle font failing to load more gracefully
See merge request plymouth/plymouth!276
Ray Strode [Tue, 26 Dec 2023 18:27:36 +0000 (13:27 -0500)]
label-freetype: Fix loading debug message
The freetype plugin was calling printf instead of ply-trace when
a font failed to load. Also, it didnt list the failure reason.
This commit fixes things up a bit.
Ray Strode [Tue, 26 Dec 2023 18:20:39 +0000 (13:20 -0500)]
label-freetype: Handle font failing to load more gracefully
We currently crash if the font fails to load.
This commit attempts to handle the situation more gracefully.
Ray Strode [Wed, 27 Dec 2023 19:53:42 +0000 (19:53 +0000)]
Merge branch 'fix-console-viewer-crash' into 'main'
fade-throbber,space-flares,two-step: Don't crash if no console viewer
See merge request plymouth/plymouth!278
Ray Strode [Wed, 27 Dec 2023 19:50:09 +0000 (14:50 -0500)]
fade-throbber,space-flares,two-step: Don't crash if no console viewer
The splash plugins don't create a console viewer if
`plymouth.prefer-fbcon` is on the kernel command line, but expect it
to be not NULL regardless.
This commit corrects that misconception.
Ray Strode [Tue, 26 Dec 2023 11:37:01 +0000 (11:37 +0000)]
Merge branch 'fall-back-to-text-faster' into 'main'
ply-device-manager: Fall back to text plugin if no renderers installed
See merge request plymouth/plymouth!275
Ray Strode [Tue, 26 Dec 2023 01:20:31 +0000 (20:20 -0500)]
ply-device-manager: Fall back to text plugin if no renderers installed
If there's no renderers installed there's no point in continuing to
listen for DRM events and trying to load the drm plugin.
This commit just forces text mode right away in that case.
Ray Strode [Tue, 26 Dec 2023 00:05:11 +0000 (00:05 +0000)]
Merge branch 'font-fix' into 'main'
Fix checks for existence of vars set by fc-match
See merge request plymouth/plymouth!274
Adam Williamson [Mon, 25 Dec 2023 22:48:27 +0000 (14:48 -0800)]
Fix checks for existence of vars set by fc-match
The first line here checked for the wrong variable and is a dupe
from two lines earlier anyway, and the second line isn't guarded
at all, which seems to cause the weird failure we've been seeing
in openQA testing.
Also add a couple more existence checks for the same variables
later.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Ray Strode [Mon, 25 Dec 2023 20:24:29 +0000 (15:24 -0500)]
plymouth-populate-initrd: More dependency softification
This commit makes lack of fc-match less noisy and makes
compose.dir from libX11 be optional as well.
Ray Strode [Mon, 25 Dec 2023 19:47:06 +0000 (19:47 +0000)]
Merge branch 'make-deps-less-hard' into 'main'
plymouth-populate-initrd: Handle xkb and fontconfig not being installed
See merge request plymouth/plymouth!273
Ray Strode [Mon, 25 Dec 2023 19:42:53 +0000 (14:42 -0500)]
plymouth-populate-initrd: Handle xkb and fontconfig not being installed
Some minimal installs won't have fontconfig or xkb. In those cases,
the script should continue to work even if the initramfs will be
less featureful.
This commit fixes that.
Ray Strode [Mon, 25 Dec 2023 16:12:59 +0000 (16:12 +0000)]
Merge branch 'fix-usage-message' into 'main'
plymouth-populate-initrd: Fix usage message
See merge request plymouth/plymouth!272
Ray Strode [Mon, 25 Dec 2023 16:07:47 +0000 (11:07 -0500)]
plymouth-populate-initrd: Fix usage message
It currently says the scripts name is `plymouth` not
`plymouth-populate-initrd`.
This commit changes it to use $0
Ray Strode [Mon, 25 Dec 2023 13:29:25 +0000 (13:29 +0000)]
Merge branch 'meson-systemd-integration' into 'main'
meson: Fix PLY_ENABLE_SYSTEMD_INTEGRATION define
See merge request plymouth/plymouth!271
Balló György [Mon, 25 Dec 2023 13:29:25 +0000 (13:29 +0000)]
meson: Fix PLY_ENABLE_SYSTEMD_INTEGRATION define
Ray Strode [Sun, 24 Dec 2023 20:48:47 +0000 (20:48 +0000)]
Merge branch 'fix-label-crasher' into 'main'
ply-label: Make NULL safe (again)
See merge request plymouth/plymouth!270
Ray Strode [Fri, 22 Dec 2023 13:27:30 +0000 (08:27 -0500)]
ply-label: Make NULL safe (again)
commit
a045f01568f53ca10ef8b76d9f507ccd3546e9d8 tried to make ply-label
NULL safe, but missed a strdup.
This commit fixes that.
Ray Strode [Sun, 24 Dec 2023 20:46:28 +0000 (20:46 +0000)]
Merge branch 'input-device-crasher' into 'main'
ply-input-device: Fix crasher
See merge request plymouth/plymouth!269
Ray Strode [Sun, 24 Dec 2023 20:27:49 +0000 (15:27 -0500)]
ply-input-device: Fix crasher
If we have an error during early input device initialization we
can blow assertion because we may try to cleave it from the event
loop it is not yet attached to.
This commit fixes that.
Ray Strode [Fri, 22 Dec 2023 16:29:12 +0000 (11:29 -0500)]
generate-version: Use day number instead of week number
Right now the version is generated from week number but that
means more than one release in a week won't work.
This commit changes it to day number.
Ray Strode [Fri, 22 Dec 2023 16:22:14 +0000 (16:22 +0000)]
Merge branch 'main' into 'main'
main: fix out of bounds write
See merge request plymouth/plymouth!265
Ray Strode [Fri, 22 Dec 2023 15:12:32 +0000 (10:12 -0500)]
main: Fix out of bounds write
There's currently an out of bounds write when copying dmesg to to
the boot buffer.
This is because there's a newline and a terminating NUL and only
one of the two was being accounted for.
This commit fixes the problem by dropping strcat/strcpy and using
printf style functions instead.
Spotted by Ilya K.
Ray Strode [Fri, 22 Dec 2023 15:46:55 +0000 (15:46 +0000)]
Merge branch 'fix-generate-version' into 'main'
generate-version: Fix script inside of a tarball
Closes #232
See merge request plymouth/plymouth!268
Ray Strode [Fri, 22 Dec 2023 15:18:59 +0000 (10:18 -0500)]
generate-version: Fix script inside of a tarball
The heuristic to check whether or not we're inside of a git checkout
or a tarball isn't working properly.
This commit changes it to use git rev-parse --is-inside-git-dir which
is pretty specifically designed for this use case.
Closes: https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/232
Ray Strode [Fri, 22 Dec 2023 14:50:08 +0000 (14:50 +0000)]
Merge branch 'fix-keymap-memory-leak' into 'main'
ply-keymap-icon: Fix memory leak
See merge request plymouth/plymouth!267
Ray Strode [Fri, 22 Dec 2023 13:41:30 +0000 (08:41 -0500)]
ply-keymap-icon: Fix memory leak
It seems like there's a memory leak with the keymap icon text if
there isn't a hit.
This commit fixes that, and renames some of the variables to make
it a little clearer what's going on
Ray Strode [Fri, 22 Dec 2023 13:42:41 +0000 (13:42 +0000)]
Merge branch 'handle-null-better' into 'main'
ply-label: Make NULL safe
See merge request plymouth/plymouth!266
Ray Strode [Fri, 22 Dec 2023 13:27:30 +0000 (08:27 -0500)]
ply-label: Make NULL safe
commit
42d07913a0b72b8607190ab31931d5460765f589 made the pango plugin
NULL safe but the same problem exists in the freetype plugin.
This commit makes things NULL safe a layer higher.
Ray Strode [Tue, 19 Dec 2023 19:32:45 +0000 (19:32 +0000)]
Merge branch 'revamp-freetype-plugin' into 'main'
label-freetype: Revamp to work better
See merge request plymouth/plymouth!264
Ray Strode [Mon, 18 Dec 2023 18:48:42 +0000 (13:48 -0500)]
label-freetype: Revamp to work better
Recent changes to the freetype plugin made it quite buggy. There
was an infinite loop bug, and also a failure in metrics handling.
There's also a number of outstanding issues:
1. Kerning is not properly applied
2. hidpi displays don't render correctly
Rather than try to tackle all of these problems in a peicemeal way,
this commit substantially reworks the code.
It introduces a ply_freetype_unit_t type for more clearly managing
the fixed point math freetype requires. This type relies on less
than well defined compiler behavior, however, so it may cause issues
down the road.
It consolidates measuring and drawing code to one function, since in
both cases, the same computation needs to happen, and they had
slightly divergent implementations before.
It consolidates font loading code, so we don't end up with two
different font face loading routines, with different dpi values.
It also changes the names of some variables to be clearer in my
mind (like changing the loaded glyph to the name "glyph" instead
of the name "slot")
Ray Strode [Mon, 18 Dec 2023 13:52:00 +0000 (08:52 -0500)]
ply-console-viewer: Don't crash if passed a NULL format
The splash plugins currently call
ply_console_viewer_print (... NULL);
if no prompt message is specified... This leads to crash.
Rather than fixing all the splash plugins, this commit just makes
a NULL format be a noop.
Ray Strode [Sun, 17 Dec 2023 15:05:23 +0000 (15:05 +0000)]
Merge branch 'synchronize-display-updates' into 'main'
ply-boot-splash: Flush display updates at fixed framerate
See merge request plymouth/plymouth!263
Ray Strode [Sun, 17 Dec 2023 12:50:19 +0000 (07:50 -0500)]
ply-boot-splash: Flush display updates at fixed framerate
At the moment the splash plugins have a lot of leeway when
updates can go to the screen. They can pause and unpause
updates by themselves, and draw at any point.
This rope has a little too much slack, it's actually kind
of complicated for the splash plugins to manage drawing
when they have more than one moving part.
For instance, a spinner animation may be drawing autonomously
from the splash plugin itself. To avoid flicker, everything
needs to be synchronized.
This commit adds that synchronization a layer higher than
the plugins themselves, in ply-boot-splash. It accumulates
drawing updates continuously without doing any drawing, until
a given deadline, then flushes the updates out all at once.
Ray Strode [Sat, 16 Dec 2023 19:45:37 +0000 (14:45 -0500)]
Revert "ply-pixel-display: Pause the display and unpause it at a framerate"
This reverts commit
815d3c72e2e4f7299490e43147972e7d31b91d17 .
This idea of pausing and unpausing updates at a given framerate is good,
but doing it at the ply-pixel-display level causes a proble with
monitor hotplug.
n3rdopolis [Sat, 16 Dec 2023 13:27:24 +0000 (13:27 +0000)]
Merge branch 'fixconsoleviewerrefresh' into 'main'
splash plugins: Better handling the redraw of the console viewer when visible,...
See merge request plymouth/plymouth!257
nerdopolis [Tue, 5 Dec 2023 11:27:21 +0000 (06:27 -0500)]
splash plugins: Better handling the redraw of the console viewer when visible, and the splash state changes
nerdopolis [Thu, 14 Dec 2023 00:05:59 +0000 (19:05 -0500)]
ply-pixel-display: Pause the display and unpause it at a framerate
nerdopolis [Wed, 13 Dec 2023 01:56:30 +0000 (20:56 -0500)]
ply-entry: Don't crash hiding an entry that is already hidden
nerdopolis [Wed, 13 Dec 2023 01:56:03 +0000 (20:56 -0500)]
ply-console-viewer: introduce ply_console_viewer_clear_line ()
nerdopolis [Wed, 13 Dec 2023 00:58:59 +0000 (19:58 -0500)]
ply-console-viewer: Reorder the labels.
When there is less than 1 screenful of lines, the first line now appears at the top, more similar to a terminal emulator
nerdopolis [Wed, 13 Dec 2023 00:58:33 +0000 (19:58 -0500)]
ply-terminal-emulator: Don't reject empty lines
Ray Strode [Mon, 11 Dec 2023 15:45:51 +0000 (15:45 +0000)]
Merge branch 'nullify-borrowed-bytes' into 'main'
ply-buffer: Nullify bytes outside scope block
See merge request plymouth/plymouth!262
Ray Strode [Mon, 11 Dec 2023 15:29:20 +0000 (10:29 -0500)]
ply-buffer: Nullify bytes outside scope block
ply_buffer_borrow_bytes is a new macro to make it possible to
temporarily alter the allocation of the underlying bytes of
a `ply_buffer_t` outside of `ply_buffer_t` specific methods.
This macro works by forcing the caller to use a scope block
to clearly delineate where the allocation modification is
occurring. This macro was inspired by the python `with` feature.
Unfortunately, the macro leaves the bytes initialized outside
the scope block, so there is some temptation to continue messing
with the allocation when it's not allowed.
This commit improves the macro to address that problem by nullifying
the passed in variables at the conclusion of the borrowing scope
block.
Ray Strode [Mon, 11 Dec 2023 03:14:31 +0000 (03:14 +0000)]
Merge branch 'resilientunicode' into 'main'
ply-terminal-emulator: Handle incomplete Unicode characters with more resiliency
See merge request plymouth/plymouth!261
nerdopolis [Sat, 9 Dec 2023 02:48:47 +0000 (21:48 -0500)]
ply-terminal-emulator: Handle incomplete UTF-8 characters better
This commit introduces a state machine to better handle when part
of a UTF-8 character comes in immediately, and the rest of it
comes in later.
It also tries to better handle cases where control characters
are interleaved in the middle of UTF-8 characters.
nerdopolis [Sat, 9 Dec 2023 22:34:02 +0000 (17:34 -0500)]
ply-terminal-emulator: Rename PLY_TERMINAL_SPACES_PER_TAB to PLY_TERMINAL_EMULATOR_SPACES_PER_TAB
nerdopolis [Sat, 9 Dec 2023 05:00:26 +0000 (00:00 -0500)]
ply-rich-text: Remove now unneeded definiton
Ray Strode [Sun, 10 Dec 2023 15:18:30 +0000 (10:18 -0500)]
utils: Rework UTF-8 handling
ply_utf8_character_get_size currently has this odd argument at
the end that is often just set to PLY_UTF8_MAX_CHARACTER_SIZE
and also the function returns magic values for cases where it
can't figure out the size because the byte isn't a leading
byte or is otherwise not valid UTF-8.
That means that API has a nuance to it that makes the code hard
to follow at a light read.
This commit attempts to improve the situation by dropping the
extra argument, and adds a way to get the type separate from the
size for clarity.
At the same time, this commit updates all the callers to use the
new API. There are two cases where the callers are trying to
remove the last character from a UTF-8 string, so this commit
adds a new function to consolidate that logic as well.
Ray Strode [Mon, 11 Dec 2023 02:59:47 +0000 (21:59 -0500)]
ply-buffer: Make ply_buffer_clear fast if called multiple times in a row
ply_buffer_clear memsets over the entire allocation every time it is
run.
This commit makes it only clear the used part of the allocation.
Ray Strode [Sun, 10 Dec 2023 15:09:37 +0000 (10:09 -0500)]
buffer: Add APIs for editing bytes in buffer
This commit adds a few functions for getting at and
using the size, bytes, and capacity of a buffer.
This will make it easier to modify utf8 string on the side and
and update the buffer size afterward.
n3rdopolis [Sat, 9 Dec 2023 15:33:51 +0000 (15:33 +0000)]
Merge branch 'fixvtleds' into 'main'
Set the VT keyboard state with KDSKBMODE so that the VT console doesn't change the LED state
See merge request plymouth/plymouth!259
nerdopolis [Thu, 7 Dec 2023 22:25:58 +0000 (17:25 -0500)]
ply-input-device: Handle the keyboard sequence to change VTs
nerdopolis [Thu, 7 Dec 2023 21:36:12 +0000 (16:36 -0500)]
ply-utils: Introduce ply_change_to_vt_with_fd () and ply_change_to_vt ()
nerdopolis [Fri, 8 Dec 2023 15:31:41 +0000 (10:31 -0500)]
When using input devices, set the VT keyboard state with KDSKBMODE so that the VT console doesn't change the LED state
nerdopolis [Fri, 8 Dec 2023 15:30:37 +0000 (10:30 -0500)]
main: Restore terminal line discipline on hide splash
At the moment if a program calls `plymouth hide-splash`
plymouth keeps the terminal in raw mode. That is wrong,
because programs call `plymouth hide-splash` specifically
so they can use the terminal.
This commit makes plymouth restore the terminal to cooked
mode so it's ready for the next program.
Ray Strode [Thu, 7 Dec 2023 20:07:12 +0000 (20:07 +0000)]
Merge branch 'improve-console-viewer-api' into 'main'
ply-console-viewer: Improve API
See merge request plymouth/plymouth!260
Ray Strode [Thu, 7 Dec 2023 19:59:11 +0000 (14:59 -0500)]
ply-console-viewer: Improve API
At the moment injecting data into a console viewer involves calling
ply_console_viewer_parse_lines.
This name isn't optimal, since the data getting injected might not
be a full line at all.
This commit renames it to ply_console_viewer_write, and also adds
a ply_console_viewer_print that adds a printf like function for
convenience.
n3rdopolis [Wed, 6 Dec 2023 22:52:30 +0000 (22:52 +0000)]
Merge branch 'terminalwidth' into 'main'
ply-terminal-emulator: Take a maximum_column_count argument that is used in ply_rich_text.
See merge request plymouth/plymouth!256
nerdopolis [Wed, 6 Dec 2023 21:47:14 +0000 (16:47 -0500)]
ply-utils: rename ply_utf8_string_iterator_init to ply_utf8_string_iterator_initialize