diff -Nru kubuntu-settings-22.04.9/debian/changelog kubuntu-settings-22.04.10/debian/changelog --- kubuntu-settings-22.04.9/debian/changelog 2022-03-27 08:12:03.000000000 +0000 +++ kubuntu-settings-22.04.10/debian/changelog 2022-04-29 18:34:16.000000000 +0000 @@ -1,3 +1,11 @@ +kubuntu-settings (1:22.04.10) jammy; urgency=medium + + * Fix for poorly-scaling plymouth theme (LP: #1969984) + - Would cause password box to appear off-screen in some cases + * Update d/copyright + + -- Erich Eickmeyer Fri, 29 Apr 2022 11:34:16 -0700 + kubuntu-settings (1:22.04.9) jammy; urgency=medium * Update look-and-feel previews for plasma 5.24. diff -Nru kubuntu-settings-22.04.9/debian/control kubuntu-settings-22.04.10/debian/control --- kubuntu-settings-22.04.9/debian/control 2022-03-27 08:12:03.000000000 +0000 +++ kubuntu-settings-22.04.10/debian/control 2022-04-29 18:34:16.000000000 +0000 @@ -36,7 +36,7 @@ Package: plymouth-theme-kubuntu-logo Architecture: all -Depends: plymouth, plymouth-label, ${misc:Depends} +Depends: plymouth, plymouth-label, plymouth-theme-spinner, ${misc:Depends} Provides: plymouth-theme Breaks: plymouth (<< 0.9.2-3ubuntu1~) Description: graphical boot animation and logger - kubuntu-logo theme diff -Nru kubuntu-settings-22.04.9/debian/copyright kubuntu-settings-22.04.10/debian/copyright --- kubuntu-settings-22.04.9/debian/copyright 2022-03-27 08:12:03.000000000 +0000 +++ kubuntu-settings-22.04.10/debian/copyright 2022-04-29 18:34:16.000000000 +0000 @@ -14,41 +14,21 @@ 2016-2018, Rik Mills License: GPL-3+ -Files: desktop/theme/look-and-feel/org.kubuntu.desktop/* - plymouth/kubuntu-logo/kubuntu-logo.script -Copyright: 2009, Canonical Ltd - 2012-2013, Harald Sitter - KDE Visual Design Group - 2018 Kubuntu Developers -License: GPL-2+ - Files: desktop/theme/desktoptheme/kubuntu/* desktop/theme/layout-templates/org.kubuntu.desktop.defaultPanel/* Copyright: Aaron Seigo 2018 Kubuntu Developers License: LGPL-2+ -License: GPL-2+ - This program is free software; you can redistribute it - and/or modify it under the terms of the GNU General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later - version. - . - This program is distributed in the hope that it will be - useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the GNU General Public License for more - details. - . - You should have received a copy of the GNU General Public - License along with this package; if not, write to the Free - Software Foundation, Inc., 51 Franklin St, Fifth Floor, - Boston, MA 02110-1301 USA - . - On Debian systems, the full text of the GNU General Public - License version 2 can be found in the file - `/usr/share/common-licenses/GPL-2'. +Files: plymouth/kubuntu-logo/* +Copyright: 2018-2022 Kubuntu Developers + 2019-2022 Erich Eickmeyer + 2019 Ubuntu Studio Developers + 2012-2013, Harald Sitter + 2011 The Xubuntu Community + KDE Visual Design Group + 2009 Canonical Ltd +License: GPL-3+ License: GPL-3+ This program is free software: you can redistribute it and/or modify Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0001.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0001.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0002.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0002.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0003.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0003.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0004.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0004.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0005.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0005.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0006.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0006.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0007.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0007.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0008.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0008.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0009.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0009.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0010.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0010.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0011.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0011.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0012.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0012.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0013.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0013.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0014.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0014.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0015.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0015.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0016.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0016.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0017.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0017.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0018.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0018.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0019.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0019.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0020.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0020.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0021.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0021.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0022.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0022.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0023.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0023.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0024.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0024.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0025.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0025.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0026.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0026.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0027.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0027.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0028.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0028.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0029.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0029.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0030.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0030.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0031.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0031.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0032.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0032.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0033.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0033.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0034.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0034.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0035.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0035.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/animation-0036.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/animation-0036.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/bullet.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/bullet.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/capslock.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/capslock.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/entry-nolock.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/entry-nolock.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/entry.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/entry.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/images/16bit/dot.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/images/16bit/dot.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/images/16bit/logo.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/images/16bit/logo.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/images/16bit/progress-rect.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/images/16bit/progress-rect.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/images/16bit/text-input.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/images/16bit/text-input.png differ diff -Nru kubuntu-settings-22.04.9/plymouth/kubuntu-logo/images/.directory kubuntu-settings-22.04.10/plymouth/kubuntu-logo/images/.directory --- kubuntu-settings-22.04.9/plymouth/kubuntu-logo/images/.directory 2022-03-27 08:12:03.000000000 +0000 +++ kubuntu-settings-22.04.10/plymouth/kubuntu-logo/images/.directory 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -[Dolphin] -PreviewsShown=true -Timestamp=2013,2,18,12,23,35 -Version=3 Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/images/dot.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/images/dot.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/images/logo-glow.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/images/logo-glow.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/images/logo.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/images/logo.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/images/source.svgz and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/images/source.svgz differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/images/text-input.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/images/text-input.png differ diff -Nru kubuntu-settings-22.04.9/plymouth/kubuntu-logo/keyboard_24px.svg kubuntu-settings-22.04.10/plymouth/kubuntu-logo/keyboard_24px.svg --- kubuntu-settings-22.04.9/plymouth/kubuntu-logo/keyboard_24px.svg 1970-01-01 00:00:00.000000000 +0000 +++ kubuntu-settings-22.04.10/plymouth/kubuntu-logo/keyboard_24px.svg 2022-04-29 18:34:16.000000000 +0000 @@ -0,0 +1,4 @@ + + + + diff -Nru kubuntu-settings-22.04.9/plymouth/kubuntu-logo/keyboard_48px.svg kubuntu-settings-22.04.10/plymouth/kubuntu-logo/keyboard_48px.svg --- kubuntu-settings-22.04.9/plymouth/kubuntu-logo/keyboard_48px.svg 1970-01-01 00:00:00.000000000 +0000 +++ kubuntu-settings-22.04.10/plymouth/kubuntu-logo/keyboard_48px.svg 2022-04-29 18:34:16.000000000 +0000 @@ -0,0 +1,4 @@ + + + + Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/keyboard.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/keyboard.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/keymap-render.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/keymap-render.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/kglow.xcf and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/kglow.xcf differ diff -Nru kubuntu-settings-22.04.9/plymouth/kubuntu-logo/kubuntu-logo.grub kubuntu-settings-22.04.10/plymouth/kubuntu-logo/kubuntu-logo.grub --- kubuntu-settings-22.04.9/plymouth/kubuntu-logo/kubuntu-logo.grub 2022-03-27 08:12:03.000000000 +0000 +++ kubuntu-settings-22.04.10/plymouth/kubuntu-logo/kubuntu-logo.grub 2022-04-29 18:34:16.000000000 +0000 @@ -1,7 +1,10 @@ -#set_background_image "images/tile.png"; - -set menu_color_normal=white/black -set menu_color_highlight=black/light-gray if background_color 0,0,0; then clear fi + +color_normal=white/black + +if [ -e ${prefix}/themes/kubuntu-logo/theme.txt ]; then + insmod png + theme=${prefix}/themes/kubuntu-logo/theme.txt +fi diff -Nru kubuntu-settings-22.04.9/plymouth/kubuntu-logo/kubuntu-logo.plymouth kubuntu-settings-22.04.10/plymouth/kubuntu-logo/kubuntu-logo.plymouth --- kubuntu-settings-22.04.9/plymouth/kubuntu-logo/kubuntu-logo.plymouth 2022-03-27 08:12:03.000000000 +0000 +++ kubuntu-settings-22.04.10/plymouth/kubuntu-logo/kubuntu-logo.plymouth 2022-04-29 18:34:16.000000000 +0000 @@ -1,8 +1,58 @@ [Plymouth Theme] Name=Kubuntu Logo -Description=A theme that features a blank background with a logo. -ModuleName=script +Description=Jimmac's spinner theme using the ACPI BGRT graphics as background and Kubuntu's glowing logo as throbber +ModuleName=two-step -[script] +[two-step] +Font=Ubuntu 12 +TitleFont=Ubuntu Light 30 ImageDir=/usr/share/plymouth/themes/kubuntu-logo -ScriptFile=/usr/share/plymouth/themes/kubuntu-logo/kubuntu-logo.script +DialogHorizontalAlignment=.5 +DialogVerticalAlignment=.7 +TitleHorizontalAlignment=.5 +TitleVerticalAlignment=.382 +HorizontalAlignment=.5 +VerticalAlignment=.7 +WatermarkHorizontalAlignment=.5 +WatermarkVerticalAlignment=.96 +Transition=none +TransitionDuration=0.0 +BackgroundStartColor=0x000000 +BackgroundEndColor=0x000000 +ProgressBarBackgroundColor=0x606060 +ProgressBarForegroundColor=0xffffff +DialogClearsFirmwareBackground=false +MessageBelowAnimation=true + +[boot-up] +UseEndAnimation=false +UseFirmwareBackground=true + +[shutdown] +UseEndAnimation=false +UseFirmwareBackground=true + +[reboot] +UseEndAnimation=false +UseFirmwareBackground=true + +[updates] +SuppressMessages=true +ProgressBarShowPercentComplete=true +UseProgressBar=true +_Title=Installing Updates... +_SubTitle=Do not turn off your computer + +[system-upgrade] +SuppressMessages=true +ProgressBarShowPercentComplete=true +UseProgressBar=true +_Title=Upgrading System... +_SubTitle=Do not turn off your computer + +[firmware-upgrade] +SuppressMessages=true +ProgressBarShowPercentComplete=true +UseProgressBar=true +_Title=Upgrading Firmware... +_SubTitle=Do not turn off your computer diff -Nru kubuntu-settings-22.04.9/plymouth/kubuntu-logo/kubuntu-logo.script kubuntu-settings-22.04.10/plymouth/kubuntu-logo/kubuntu-logo.script --- kubuntu-settings-22.04.9/plymouth/kubuntu-logo/kubuntu-logo.script 2022-03-27 08:12:03.000000000 +0000 +++ kubuntu-settings-22.04.10/plymouth/kubuntu-logo/kubuntu-logo.script 2022-04-29 18:34:16.000000000 +0000 @@ -1,1143 +1,514 @@ -/* - Copyright (C) 2012-2013 Harald Sitter - Copyright (C) 2009 Canonical Ltd. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. - - Written by: Alberto Milone - - Based on the example provided with the "script plugin" written by: - Charlie Brej -*/ - -/** - * 16bit debug override. Comment out to see what everything looks like on a 16bit - * framebuffer/output. - */ -// Window.GetBitsPerPixel = fun() { return 4; }; - -// -------------------------------- Assets ---------------------------------- // - -global.assets = []; -if (Window.GetBitsPerPixel() == 4) { - assets.dot = "images/16bit/dot.png"; - assets.logo = "images/16bit/logo.png"; - assets.text_input = "images/16bit/text-input.png"; - - assets.progress_rect = "images/16bit/progress-rect.png"; -} else { - assets.dot = "images/dot.png"; - assets.logo = "images/logo.png"; - assets.text_input = "images/text-input.png"; - - assets.glow = "images/logo-glow.png"; -} - -// ------------------------------- Classes ---------------------------------- // - -/** - * class SpriteImage : Sprite { - * Image image, # Image instance created by and for the Sprite - * int width, # Image width - * int height, # Image height - * }; - */ - -/** - * General purpose sprite-image combination. - * The type itself is a Sprite that has an image property through which the image - * powering the sprite may be accessed. - * Members of the sprite are only updated on initial creation, any future changes - * to the actually used image need to be reflected manually - */ -SpriteImage = fun(asset) { - local.sprite = Sprite(); - sprite.image = Image(asset); - sprite.width = sprite.image.GetWidth(); - sprite.height = sprite.image.GetHeight(); - sprite.SetImage(sprite.image); - return sprite | global.SpriteImage; -} | Sprite; - - -// -------------------------------- Colors ---------------------------------- // -/** - * General purpuse Color container to hold red, green, blue as any value - * (real advisable). - */ -Color = fun(red, green, blue) { - local.color = []; - color.red = red; - color.green = green; - color.blue = blue; - return color | global.Color; -} | []; - -global.palette = []; -palette.background.top = Color(0.0, 0.0, 0.0); -palette.background.bottom = palette.background.top; -palette.text.normal = Color(1, 1, 1); -palette.text.tinted = Color(1, 1, 1); -palette.text.action = Color(1, 1, 1); - -/** - * Helper overload to apply background colors from global.palette to the Window - */ -Window.ApplyBackgroundColors = fun() { - Window.SetBackgroundTopColor(palette.background.top.red, - palette.background.top.green, - palette.background.top.blue); - Window.SetBackgroundBottomColor(palette.background.bottom.red, - palette.background.bottom.green, - palette.background.bottom.blue); -}; - -// --------------------------------- Debug ---------------------------------- // -debugsprite = Sprite(); -debugsprite_bottom = Sprite(); -debugsprite_medium = Sprite(); - -// are we currently prompting for a password? -prompt_active = 0; - -/** - * General purpose function to create an image from a string. - * \param text the string to print - * \param color the color the string should use in the image - * \returns Image containg the text - */ -fun WriteText(text, color) { - return Image.Text(text, color.red, color.green, color.blue); -} - -/** Create regular text image. \see WriteText */ -fun ImageToText (text) { - return WriteText(text, palette.text.normal); -} - -String.ToImage = fun() { - return WriteText(this, palette.text.normal); -}; - -/** Create tinted text image. \see WriteText */ -fun ImageToTintedText (text) { - return WriteText(text, palette.text.tinted); -} - -/** Create action text image. \see WriteText */ -fun ImageToActionText (text) { - return WriteText(text, palette.text.action); -} - -fun Debug(text) { - debugsprite.SetImage(ImageToText (text)); - debugsprite.SetPosition(0, 0, 1); -} - -fun DebugBottom(text) { - debugsprite_bottom.SetImage(ImageToText(text)); - debugsprite_bottom.SetPosition(0, (Window.GetHeight (0) - 20), 1); -} - -fun DebugMedium(text) { - debugsprite_medium.SetImage(ImageToText (text)); - debugsprite_medium.SetPosition(0, (Window.GetHeight (0) - 60), 1); -} - -fun TextYOffset() { - local.y; - local.text_height; - local.min_height; - - # Put the 1st line below the logo + some spacing - y = logo.y + logo.height; # + logo_spacing; - - text_height = first_line_height * 7.5; - - // FIXME: why minimum? - local.min_height = Window.GetHeight(); - - if (y + text_height > min_height) - y = min_height - text_height; - else { - y = y + ((min_height - y - text_height) /2); - } - - if (y < logo.text.GetY() + logo.text.height + first_line_height/2) - y = logo.text.GetY() + logo.text.height + first_line_height/2; - - return y; -} - -Window.GetMaxWidth = fun() { - width = 0; - for (i = 0; Window.GetWidth(i); i++) { - width = Math.Max(width, Window.GetWidth(i)); - } - return width; -}; - -Window.GetMaxHeight = fun() { - height = 0; - for (i = 0; Window.GetHeight(i); i++) { - height = Math.Max(height, Window.GetHeight(i)); - } - return height; -}; - -// --------------------------------- String --------------------------------- // -# This is the equivalent for strstr() -fun StringString(string, substring) { - start = 0; - while (String(string).CharAt (start)) { - walk = 0; - while (String(substring).CharAt (walk) == String(string).CharAt (start + walk) ) { - walk++; - if (!String(substring).CharAt (walk)) return start; - } - start++; - } - - return NULL; -} - -fun StringLength (string) { - index = 0; - while (String(string).CharAt(index)) - index++; - return index; -} - -// String.Length = fun(string) { -// index = 0; -// while (String(string).CharAt(index)) -// index++; -// return index; -// }; - -fun StringCopy (source, beginning, end) { - local.destination = ""; - for (index = beginning; ( ( (end == NULL) || (index <= end) ) && (String(source).CharAt(index)) ); index++) { - local.destination += String(source).CharAt(index); - } - - return local.destination; -} - -fun StringReplace (source, pattern, replacement) { - local.found = StringString(source, pattern); - if (local.found == NULL) { - return source; - } - - local.new_string = StringCopy (source, 0, local.found - 1) + - replacement + - StringCopy (source, local.found + StringLength(pattern), NULL); + /************************************************************************** + * + * Copyright (C) 2022 Kubuntu Developers + * Copyright (C) 2019 Ubuntu Studio Developers + * Copyright (C) 2011 The Xubuntu Community + * Copyright (C) 2009 Canonical Ltd. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * Written by: Mad Nick + * + **************************************************************************/ - return local.new_string; -} +/* + * Related to the screen */ + +screen_width = Window.GetWidth(); +screen_height = Window.GetHeight(); +screen_x = Window.GetX(); +screen_y = Window.GetY(); -# it makes sense to use it only for -# numbers up to 100 -fun StringToInteger (str) { - int = -1; - for (i=0; i<=100; i++) { - if (i+"" == str) { - int = i; - break; - } - } - return int; -} +/**/ -// ------------------------------ Background -------------------------------- // -Window.ApplyBackgroundColors(); +/* + * Images, check bits per pixel + * and load images accordingly */ -// --------------------------------- Logo ----------------------------------- // +background_image = Image("wallpaper.png"); +passw_dialog_input_image = Image("passw-dialog.png"); +bullet_image = Image("test.png"); -Logo = fun() { - local.logo = SpriteImage(assets.logo); - logo.x = Window.GetX() + Window.GetWidth() / 2 - logo.width / 2; - logo.y = Window.GetY() + Window.GetHeight() / 2 - logo.height / 2; - logo.z = 1000; - logo.SetPosition(logo.x, logo.y, logo.z); - - if (Window.GetBitsPerPixel() == 4) { - logo.progress = []; - logo.progress.width = 153 - 6; // 153 is the fixed width of the 'Kubuntu' text. - logo.progress.x = logo.x + 2; // 2px left margin. - logo.progress.y = logo.y + logo.height + 4; // 4px top margin. - logo.progress.z = logo.z + 1; // Lays on top of the logo background. - for (i = 0; i <= logo.progress.width; ++i) { - logo.progress[i] = SpriteImage(assets.progress_rect); - logo.progress[i].SetPosition(logo.progress.x + (logo.progress[i].width * (i+1)), - logo.progress.y, - logo.progress.z); - logo.progress[i].SetOpacity(0); - logo.progress.count = i+1; - } - logo.progress.head = 0; - logo.progress.end = 0; - } else { - logo.glow = SpriteImage(assets.glow); - logo.glow.SetOpacity(0); - logo.glow.x = Window.GetX() + Window.GetWidth() / 2 - logo.glow.width / 2; - logo.glow.y = Window.GetY() + Window.GetHeight() / 2 - logo.glow.height / 2; - logo.glow.z = logo.z - 1; - logo.glow.SetPosition(logo.glow.x, logo.glow.y, logo.glow.z); - } +bpp = Window.GetBitsPerPixel(); - return logo | global.Logo; -} | SpriteImage; +if (bpp == 4) { -logo = Logo(); + logotype_image = Image("logo_16bit.png"); + progress_meter_image = Image("progress-meter_16bit.png"); + progress_fade_image = Image("progress-fade_16bit.png"); + fsck_progress_meter_image = Image("progress-meter_16bit.png"); + fsck_progress_fade_image = Image("fsck-fade_16bit.png"); -message_notification[0].image = ImageToTintedText (""); -message_notification[1].image = ImageToTintedText (""); -fsck_notification.image = ImageToActionText (""); - -status = "normal"; - -// use a fixed string with ascending and descending stems to calibrate the -// bounding box for the first message, so the messages below don't move up -// and down according to *their* height. -first_line_height = ImageToTintedText ("AfpqtM").GetHeight(); - -// if the user has a 640x480 or 800x600 display, we can't quite fit everything -// (including passphrase prompts) with the target spacing, so scoot the text up -// a bit if needed. -top_of_the_text = TextYOffset(); - -// ------------------------------- Animation -------------------------------- // - -/** - * struct Animation { - * m_target, # animation target - * m_running, # whether active or not - * m_duration, # duration of the animation - * m_start, # discrete boot time when the animation started - * m_end, # discrete boot time when the animation is supposed to end - * m_reverse # bool can be used to decide whether to apply or deapply a change - * }; - */ - -/** ctor */ -Animation = fun(target) { - anim = [] | global.Animation; - anim.m_target = target; - anim.m_running = 0; - anim.m_duration = 2.5; - anim.m_start = 0; - anim.m_end = 0; - anim.m_reverse = 0; - return anim; -} | []; - -/** - * Starts animation. - * \param time start time - */ -Animation.Start = fun(time) { - m_running = 1; - m_start = time; - m_end = time + m_duration; -}; - -/** - * Reverses the animation. If the animation was in regular progression it's - * m_reverse member will we changed to true, otherwise it will change to false. - * \see UpdateOpacity - */ -Animation.Revert = fun(time) { - m_reverse = !m_reverse; - Start(time); -}; - -/** - * \returns whether the animation is running in reverse mode (used to decrease opacity) - */ -Animation.IsReverse = fun() { - return m_reverse; -}; - -/** - * \returns whether the animcation is running - */ -Animation.IsRunning = fun() { - return m_running; -}; - -/** - * Increase target opacity. - * The more time has passed between start end now the higher the opacity. - * \param time current time (used to calculate progress) - */ -Animation.IncreaseOpacity = fun(time) { - local.passed = time - m_start; - local.progress = passed / m_duration; - m_target.SetOpacity(progress); -}; - -/** - * Decrease target opacity. - * The more time has passed between start end now the lower the opacity. - * \param time current time (used to calculate progress) - */ -Animation.DecreaseOpacity = fun(time) { - local.passed = time - m_start; - local.progress = passed / m_duration; - m_target.SetOpacity(1.0 - progress); -}; - -/** - * Increases or decreases opacity depending on reverseness. - */ -Animation.UpdateOpacity = fun(time) { - if (m_reverse) - DecreaseOpacity(time); - else - IncreaseOpacity(time); -}; - -if (Window.GetBitsPerPixel() != 4) - global.animation = Animation(logo.glow); - -// ----------------------------- Boot Progress ------------------------------ // - -/** - * Implement boot progress callback - * \param time time elapsed since boot start (real, seconds) - * \param progress boot progress in % (real 0.0 to 1.0) - */ -fun boot_progress_cb(time, progress) { - // TODO: it would be nice to have both logics contained in an animation such - // that we do not need to have this if here... - if (Window.GetBitsPerPixel() == 4) { - if (logo.progress.head >= (logo.progress.count - 1)) { - ++logo.progress.end; - logo.progress[logo.progress.end].SetOpacity(0); - if (logo.progress.end >= (logo.progress.count - 1)) { - logo.progress.head = 0; - logo.progress.end = 0; - } - } else { - ++logo.progress.head; - logo.progress[logo.progress.head].SetOpacity(1); - } - } else { - if (!global.animation.IsRunning()) - global.animation.Start(time); - - if (global.animation.IsRunning()) { - if (global.animation.m_end <= time) { - global.animation.Revert(time); - } else { - global.animation.UpdateOpacity(time); - } - } - } } -Plymouth.SetBootProgressFunction (boot_progress_cb); - -#-----------------------------------------Label utility functions--------------------- - -# label should be either a string or NULL -# Images for n lines will be created and returned as items of the -# message_label array -# -fun get_message_label (label, is_fake, is_action_line) { - # Debug("Get Label position"); - local.message_label; - - if (is_fake) - # Create a fake label so as to get the y coordinate of - # a standard-length label. - local.message_image = ImageToTintedText ("This is a fake message"); - else - local.message_image = (is_action_line) && ImageToActionText (label) || ImageToTintedText (label); - - message_label.width = message_image.GetWidth (); - message_label.height = message_image.GetHeight (); - - # Center the line horizontally - message_label.x = Window.GetX () + Window.GetWidth () / 2 - message_label.width / 2; - - message_label.y = top_of_the_text + first_line_height/2; - - # Put the 2nd line below the fsck line - if (is_action_line) { - local.fsck_label.y = message_label.y + (first_line_height + first_line_height / 2); - message_label.y = local.fsck_label.y + (first_line_height * 2); - } - - # Debug("action label x = " + message_label.x + " y = " + message_label.y ); - -# message_debug = "msg_x = " + message_label.x + " msg_y = " + message_label.y + -# "msg_width = " + message_label.width + " msg_height = " + -# message_label.height + " message = " + label; -# Debug(message_debug); - - return message_label; +else { + logotype_image = Image("logo.png"); + progress_meter_image = Image("progress-meter.png"); + progress_fade_image = Image("progress-fade.png"); + fsck_progress_meter_image = Image("progress-meter.png"); + fsck_progress_fade_image = Image("fsck-fade.png"); + } -# Create an fsck label and/or get its position -fun get_fsck_label (label, is_fake) { - # Debug("Get Label position"); - local.fsck_label = global.progress_label; - - if (is_fake) - fsck_label.image = ImageToTintedText ("This is a fake message"); - else - fsck_label.image = ImageToTintedText (label); - - fsck_label.width = fsck_label.image.GetWidth (); - fsck_label.height = fsck_label.image.GetHeight (); - - # Centre the label horizontally - fsck_label.x = Window.GetX () + Window.GetWidth () / 2 - fsck_label.width / 2; - - local.first_label = get_message_label (label, 1, 0); - - # Place the label below the 1st message line - fsck_label.y = local.first_label.y + local.first_label.height + first_line_height / 2; - -# message_debug = "msg_x = " + fsck_label.x + " msg_y = " + fsck_label.y + -# "msg_width = " + fsck_label.width + " msg_height = " + -# fsck_label.height + " message = " + label; -# Debug(message_debug); - - return fsck_label; -} +/**/ -#-----------------------------------------Message stuff -------------------------------- -# +/* + * Sprites */ -# Set up a message label -# -# NOTE: this is called when doing something like 'plymouth message "hello world"' -# -fun setup_message (message_text, x, y, z, index) { - # Debug("Message setup"); - global.message_notification[index].image = (index) && ImageToActionText (message_text) || ImageToTintedText (message_text); - - # Set up the text message, if any - message_notification[index].x = x; - message_notification[index].y = y; - message_notification[index].z = z; - - message_notification[index].sprite = Sprite (); - message_notification[index].sprite.SetImage (message_notification[index].image); - message_notification[index].sprite.SetX (message_notification[index].x); - message_notification[index].sprite.SetY (message_notification[index].y); - message_notification[index].sprite.SetZ (message_notification[index].z); +ratio = screen_height / screen_width; +background_ratio = background_image.GetHeight() / background_image.GetWidth(); +factor = 0; -} +if (ratio > background_ratio) { -fun show_message (index) { - if (global.message_notification[index].sprite) global.message_notification[index].sprite.SetOpacity(1); -} + factor = screen_height / background_image.GetHeight(); -fun hide_message (index) { - if (global.message_notification[index].sprite) global.message_notification[index].sprite.SetOpacity(0); } - - - - -# the callback function is called when new message should be displayed. -# First arg is message to display. -fun message_callback (message) -{ - # Debug("Message callback"); - is_fake = 0; - if (!message || (message == "")) is_fake = 1; - - local.substring = "keys:"; - - # Look for the "keys:" prefix - local.keys = StringString(message, local.substring); - - local.is_action_line = (keys != NULL); - #Debug("keys " + local.keys + " substring length = " + StringLength(local.substring); - - # Get the message without the "keys:" prefix - if (keys != NULL) - message = StringCopy (message, keys + StringLength(local.substring), NULL); - - # Get the message without the "fsckd-cancel-msg" prefix as we don't support i18n - substring = "fsckd-cancel-msg:"; - keys = StringString(message, substring); - if (keys != NULL) - message = StringCopy(message, keys + StringLength(substring), NULL); - - local.label.is_fake = is_fake; - label = get_message_label(message, is_fake, is_action_line); - label.z = 10000; - - setup_message (message, label.x, label.y, label.z, is_action_line); - if (prompt_active && local.is_action_line) - hide_message (is_action_line); - else - show_message (is_action_line); +else { + + factor = screen_width / background_image.GetWidth(); + } -Plymouth.SetMessageFunction (message_callback); +scaled = background_image.Scale(background_image.GetWidth() * factor, background_image.GetHeight() * factor); +background_sprite = Sprite(scaled); +background_sprite.SetX(screen_x + screen_width / 2 - scaled.GetWidth() / 2); +background_sprite.SetY(screen_y + screen_height / 2 - scaled.GetHeight() / 2); -#-----------------------------------------Display Password stuff ----------------------- -# +logotype_sprite = Sprite(logotype_image); -fun password_dialog_setup (message_label) { - # Debug("Password dialog setup"); - - local.entry; - local.bullet_image; - - bullet_image = Image (assets.dot); - entry.image = Image (assets.text_input); - - # Hide the normal labels - prompt_active = 1; - if (message_notification[1].sprite) hide_message (1); - - # Set the prompt label - label = get_message_label(message_label, 0, 1); - label.z = 10000; - - setup_message (message_label, label.x, label.y, label.z, 2); - show_message (2); - - # Set up the text entry which contains the bullets - entry.sprite = Sprite (); - entry.sprite.SetImage (entry.image); - - # Centre the box horizontally - entry.x = Window.GetX () + Window.GetWidth () / 2 - entry.image.GetWidth () / 2; +fsck_progress_meter_sprite = Sprite(fsck_progress_meter_image); +fsck_progress_fade_sprite = Sprite(fsck_progress_fade_image.Scale(1, fsck_progress_fade_image.GetHeight())); - # Put the entry below the second label. - entry.y = message_notification[2].y + label.height; +passw_dialog_input_sprite = Sprite(passw_dialog_input_image); +passw_lbl_sprite = Sprite(); - #Debug ("entry x = " + entry.x + ", y = " + entry.y); - entry.z = 10000; - entry.sprite.SetX (entry.x); - entry.sprite.SetY (entry.y); - entry.sprite.SetZ (entry.z); +msg_label_sprite = Sprite(); - global.password_dialog = local; -} +/**/ -fun password_dialog_opacity (opacity) { - # Debug("Password dialog opacity"); - global.password_dialog.opacity = opacity; - local = global.password_dialog; - - # You can make the box translucent with a float - # entry.sprite.SetOpacity (0.3); - entry.sprite.SetOpacity (opacity); - label.sprite.SetOpacity (opacity); - - if (bullets) { - for (index = 0; bullets[index]; index++) { - bullets[index].sprite.SetOpacity (opacity); - } - } -} - - -# The callback function is called when the display should display a password dialog. -# First arg is prompt string, the second is the number of bullets. -fun display_password_callback (prompt, bullets) { - # Debug("Password dialog setup"); - - global.status = "password"; - if (!global.password_dialog) - password_dialog_setup(prompt); - password_dialog_opacity (1); - bullet_width = password_dialog.bullet_image.GetWidth(); - bullet_y = password_dialog.entry.y + - password_dialog.entry.image.GetHeight () / 2 - - password_dialog.bullet_image.GetHeight () / 2; - margin = bullet_width; - spaces = Math.Int((password_dialog.entry.image.GetWidth () - (margin * 2)) / bullet_width); - bullets_area.width = (margin * 2) + (spaces * bullet_width); -// Debug ("dialog width =" + password_dialog.entry.image.GetWidth () + " , bullets area width = " + bullets_area.width + ", spaces = " + spaces + ", bullets = " + bullets); - bullets_area.x = Window.GetX () + Window.GetWidth () / 2 - bullets_area.width / 2; -// DebugBottom ("bullet_width = " + bullet_width + " , pwd_entry x = " + password_dialog.entry.x + ", bullets_area.x = " + bullets_area.x + ", bullets_area.width = " + bullets_area.width); - if (bullets > spaces) - bullets = spaces; - for (index = 0; password_dialog.bullets[index] || index < bullets; index++){ - if (!password_dialog.bullets[index]) { - password_dialog.bullets[index].sprite = Sprite(); - password_dialog.bullets[index].sprite.SetImage (password_dialog.bullet_image); - password_dialog.bullets[index].x = bullets_area.x + margin + index * bullet_width; - password_dialog.bullets[index].sprite.SetX (password_dialog.bullets[index].x); - password_dialog.bullets[index].y = bullet_y; - password_dialog.bullets[index].sprite.SetY (password_dialog.bullets[index].y); - password_dialog.bullets[index].z = password_dialog.entry.z + 1; - password_dialog.bullets[index].sprite.SetZ (password_dialog.bullets[index].z); - } +/* + * Misc */ - password_dialog.bullets[index].sprite.SetOpacity (0); +counter = 0; - if (index < bullets) { - password_dialog.bullets[index].sprite.SetOpacity (1); - } - } -} -Plymouth.SetDisplayPasswordFunction(display_password_callback); +fade_pos_x = (screen_width / 2) - (progress_meter_image.GetWidth() / 2); +fade_dir = 0; /* 0 = right, 1 = left */ -#----------------------------------------- FSCK Counter -------------------------------- +fsck_running = 0; +fsck_dev_array; +fsck_dev_counter = 0; +fsck_fade_in_counter = 0; +fsck_done_fading = 0; -# Initialise the counter -fun init_fsck_count () { - # The number of fsck checks in this cycle - global.counter.total = 0; - # The number of fsck checks already performed + the current one - global.counter.current = 1; - # The previous fsck - global.counter.last = 0; -} +stars_array; +stars_n = 0; -# Increase the total counter -fun increase_fsck_count () { - global.counter.total++; -} +//full_msg = ""; +msgs_line = [NULL,NULL,NULL,NULL,NULL]; -fun increase_current_fsck_count () { - global.counter.last = global.counter.current++; -} +/**/ -# Clear the counter -fun clear_fsck_count () { - global.counter = NULL; - init_fsck_count (); +/* + * Debug related */ + +debug = 0; +debug_sprite = Sprite(); + +fun debugOutput(str) { + + /* + * This will print to the top left corner */ + debug_sprite.SetImage(Image.Text(str)); + } -#----------------------------------------- Progress Label ------------------------------ - +/**/ -# Change the opacity level of a progress label -# -# opacity = 1 -> show -# opacity = 0 -> hide -# opacity = 0.3 (or any other float) -> translucent -# -fun set_progress_label_opacity (opacity) { - # the label - progress_label.sprite.SetOpacity (opacity); - - # Make the slot available again when hiding the bar - # So that another bar can take its place - if (opacity == 0) { - progress_label.is_available = 1; - progress_label.device = ""; - } -} - -# Set up a new Progress Bar -# -# TODO: Make it possible to reuse (rather than recreate) a bar -# if .is_available = 1. Ideally this would just reset the -# label, the associated -# device and the image size of the sprite. - -fun init_progress_label (device, status_string) { - # Make the slot unavailable - global.progress_label.is_available = 0; - progress_label.progress = 0; - progress_label.device = device; - progress_label.status_string = status_string; -} +/* + * Setup the graphics properties */ +logotype_sprite.SetPosition(screen_x + (screen_width / 2) - (logotype_image.GetWidth() / 2), screen_y + (screen_height / 2) - (logotype_image.GetHeight() / 2)); +fsck_progress_meter_sprite.SetPosition(screen_x + (screen_width / 2) - (progress_meter_image.GetWidth() / 2), screen_y + (screen_height / 2) + (logotype_image.GetHeight() / 2) + 25); +fsck_progress_fade_sprite.SetPosition(screen_x + (screen_width / 2) - (progress_meter_image.GetWidth() / 2), screen_y + (screen_height / 2) + (logotype_image.GetHeight() / 2) + 25); +fsck_progress_meter_sprite.SetOpacity(0); +fsck_progress_fade_sprite.SetOpacity(0); +passw_dialog_input_sprite.SetPosition(screen_x + (screen_width / 2) - (passw_dialog_input_image.GetWidth() / 2), screen_y + (screen_height / 2) + (logotype_image.GetHeight() / 2) + 70); +passw_dialog_input_sprite.SetOpacity(0); +passw_lbl_sprite.SetOpacity(0); -# See if the progress label is keeping track of the fsck -# of "device" -# -fun device_has_progress_label (device) { - #DebugBottom ("label device = " + progress_label.device + " checking device " + device); - return (progress_label.device == device); -} +spin = 0; -# Update the Progress bar which corresponds to index -# -fun update_progress_label (progress) { - # If progress is NULL then we just refresh the label. - # This happens when only counter.total has changed. - if (progress != NULL) { - progress_label.progress = progress; - - #Debug("device " + progress_label.device + " progress " + progress); +/* + * this function only goes up to 100 + * because thats all thats needed for + * the progress meter bar */ +fun atoi(str) { + + int = -1; + + for (i = 0; i <= 100; i++) { - # If progress >= 100% hide the label and make it available again - if (progress >= 100) { - set_progress_label_opacity (0); - - # See if we any other fsck check is complete - # and, if so, hide the progress bars and the labels - on_fsck_completed (); + if (i + "" == str) { + + int = i; + + break; - return 0; } - } - # Update progress label here - # - # FIXME: the queue logic from this theme should really be moved into mountall - # instead of using string replacement to deal with localised strings. - label = StringReplace (progress_label.status_string[0], "%1$d", global.counter.current); - label = StringReplace (label, "%2$d", global.counter.total); - label = StringReplace (label, "%3$d", progress_label.progress); - label = StringReplace (label, "%%", "%"); - - progress_label = get_fsck_label (label, 0); - #progress_label.progress = progress; - - progress_label.sprite = Sprite (progress_label.image); - # Set up the bar - progress_label.sprite.SetPosition(progress_label.x, progress_label.y, 1); - - set_progress_label_opacity (1); - -} - -# Refresh the label so as to update counters -fun refresh_progress_label () { - update_progress_label (NULL); -} - -#----------------------------------------- FSCK Queue ---------------------------------- - -# Initialise the fsck queue -fun init_queue () { - global.fsck_queue[0].device; - global.fsck_queue[0].progress; - global.fsck_queue.counter = 0; - global.fsck_queue.biggest_item = 0; -} - -fun clear_queue () { - global.fsck_queue = NULL; - init_queue (); -} - -# Return either the device index in the queue or -1 -fun queue_look_up_by_device (device) { - for (i=0; i <= fsck_queue.biggest_item; i++) { - if ((fsck_queue[i]) && (fsck_queue[i].device == device)) - return i; - } - return -1; -} - -# Keep track of an fsck process in the queue -fun add_fsck_to_queue (device, progress) { - # Look for an empty slot in the queue - for (i=0; global.fsck_queue[i].device; i++) { - continue; } - local.index = i; - - # Set device and progress - global.fsck_queue[local.index].device = device; - global.fsck_queue[local.index].progress = progress; - - # Increase the queue counter - global.fsck_queue.counter++; - - # Update the max index of the array for iterations - if (local.index > global.fsck_queue.biggest_item) - global.fsck_queue.biggest_item = local.index; - - #DebugMedium ("Adding " + device + " at " + local.index); -} - -fun is_queue_empty () { - return (fsck_queue.counter == 0); -} - -fun is_progress_label_available () { - return (progress_label.is_available == 1); -} - - -# This should cover the case in which the fsck checks in -# the queue are completed before the ones showed in the -# progress label -fun on_queued_fsck_completed () { - if (!is_queue_empty ()) - return; - - # Hide the extra label, if any - #if (progress_bar.extra_label.sprite) - # progress_bar.extra_label.sprite.SetOpacity(0); -} - -fun remove_fsck_from_queue (index) { - # Free memory which was previously allocated for - # device and progress - global.fsck_queue[index].device = NULL; - global.fsck_queue[index].progress = NULL; - - # Decrease the queue counter - global.fsck_queue.counter--; - - # See if there are other processes in the queue - # if not, clear the extra_label - on_queued_fsck_completed (); -} - -fun on_fsck_completed () { - # We have moved on to tracking the next fsck - increase_current_fsck_count (); - - if (!is_progress_label_available ()) - return; - - if (!is_queue_empty ()) - return; - # Hide the progress label - if (progress_label.sprite) - progress_label.sprite.SetOpacity (0); - - # Clear the queue - clear_queue (); + return int; - # Clear the fsck counter - clear_fsck_count (); } -# Update an fsck process that we keep track of in the queue -fun update_progress_in_queue (index, device, progress) { - # If the fsck is complete, remove it from the queue - if (progress >= 100) { - remove_fsck_from_queue (index); - on_queued_fsck_completed (); - return; - } - - global.fsck_queue[index].device = device; - global.fsck_queue[index].progress = progress; - +/* + * This handler will/can be invoked + * 50 times per second. + * + * According to the previous author of the + * splash script, without this callback + * the screen is not updated correctly */ +spinner_sprite; +spinner; + +fun refreshHandler() { + + if (spin < 3.14 * 2) { + + spin = spin + 0.1; + + } + else { + + spin = 0; + + } + + /* if fsck is running or the password is prompted, hide the spinner */ + if (fsck_running == 1 || passw_dialog_input_sprite.GetOpacity() == 1) { + + spinner_sprite.SetOpacity(0); + + } else { + + spinner = Image("spinner.png"); + spinner = spinner.Rotate(spin); + spinner_sprite = Sprite(spinner); + spinner_sprite.SetPosition(screen_x + (screen_width / 2) - (spinner.GetWidth() / 2), screen_y + (screen_height / 2) - (spinner.GetHeight() / 2) + 80); + + } + + if (fade_dir == 0) { + + counter++; + + if (counter >= 200) { + + fade_dir = 1; + + } + + } + else { + + counter--; + + if (counter <= 0) { + + fade_dir = 0; + + } + + } + + if ((fsck_running == 1) && (fsck_done_fading == 0)) { + + + fsck_progress_meter_sprite.SetOpacity(fsck_fade_in_counter); + fsck_progress_fade_sprite.SetOpacity(fsck_fade_in_counter); + + if (fsck_fade_in_counter < 1) { + + fsck_fade_in_counter+= 0.025; + + } + else { + + fsck_done_fading = 1; + + } + + } + } -# TODO: Move it to some function -# Create an empty queue -#init_queue (); - - -#----------------------------------------- FSCK Functions ------------------------------ - - -# Either add a new bar for fsck checks or update an existing bar -# -# NOTE: no more than "progress_bar.max_number" bars are allowed -# -fun fsck_check (device, progress, status_string) { +Plymouth.SetRefreshFunction (refreshHandler); - # The 1st time this will take place - if (!global.progress_label) { - # Increase the fsck counter - increase_fsck_count (); - - # Set up a new label for the check - init_progress_label (device, status_string); - update_progress_label (progress); - - return; - } - - - if (device_has_progress_label (device)) { - # Update the progress of the existing label - update_progress_label (progress); - } - else { - # See if there's already a slot in the queue for the device - local.queue_device_index = queue_look_up_by_device(device); - - # See if the progress_label is available - if (progress_label.is_available) { - -# local.my_string = "available index " + local.available_index + " progress_bar counter is " + progress_bar.counter; -# Debug(local.my_string); - - - # If the fsck check for the device was in the queue, then - # remove it from the queue - if (local.queue_device_index >= 0) { - remove_fsck_from_queue (index); - } - else { - # Increase the fsck counter - increase_fsck_count (); - } - -# local.my_string += local.message; - #Debug("setting new label for device " + device + " progress " + progress); - - # Set up a new label for the check - init_progress_label (device, status_string); - update_progress_label (progress); - - } - # If the progress_label is not available - else { - - # If the fsck check for the device is already in the queue - # just update its progress in the queue - if (local.queue_device_index >= 0) { - #DebugMedium("Updating queue at " + local.queue_device_index + " for device " + device); - update_progress_in_queue (local.queue_device_index, device, progress); - } - # Otherwise add the check to the queue - else { - #DebugMedium("Adding device " + device + " to queue at " + local.queue_device_index); - add_fsck_to_queue (device, progress); +/**/ - # Increase the fsck counter - increase_fsck_count (); +/* + * This function will display the password related information + * when being prompt with entering a password */ +fun showPasswordHandler(prompt, stars) { + + if (passw_dialog_input_sprite.GetOpacity() == 0 && passw_lbl_sprite.GetOpacity() == 0) { + + passw_dialog_input_sprite.SetOpacity(1); + passw_lbl_sprite.SetOpacity(1); + + } + + tmp_prompt_image = Image.Text(prompt, 1, 1, 1); + + passw_lbl_sprite.SetImage(tmp_prompt_image); + passw_lbl_sprite.SetPosition(screen_x + (screen_width / 2) - (tmp_prompt_image.GetWidth() / 2), screen_y + (screen_height / 2) + (logotype_image.GetHeight() / 2) + 50); + + for(i = 0; i < stars_n; i++) { + + stars_array[i] = NULL; + + } + + stars_n = 0; + + for(i = 0; (i < stars) && (i < 15); i++) { + + stars_array[i] = Sprite(bullet_image); + stars_array[i].SetPosition(screen_x + (((screen_width / 2) - (passw_dialog_input_image.GetWidth() / 2)) + (18 * i)) + 2, screen_y + (screen_height / 2) + (logotype_image.GetHeight() / 2) + 75); + stars_n++; + + } + +} + +Plymouth.SetDisplayPasswordFunction(showPasswordHandler); + +/**/ + +fun displayNormalHandler() { + + /* + * Hide the password dialog and the bullets */ + + if (passw_dialog_input_sprite.GetOpacity() == 1) { + + passw_dialog_input_sprite.SetOpacity(0); + + } + + if (passw_lbl_sprite.GetOpacity() == 1) { + + passw_lbl_sprite.SetOpacity(0); + + } + + for(i = 0; i < stars_n; i++) { + + stars_array[i] = NULL; + + } + +} + +Plymouth.SetDisplayNormalFunction(displayNormalHandler); + +fun strlen(string) { + + i = 0; + + while (String(string).CharAt(i)) { + + i++; + + } + + return i; - refresh_progress_label (); - } - - } - } - -# if (!is_queue_empty ()) { -# DebugBottom("Extra label for "+ device); - #} -# else { -# DebugBottom("No extra label for " + device + ". 1st Device in the queue "+ fsck_queue[0].device + " counter = " + global.fsck_queue.counter); -# } } +/* + * This function will display the most current message */ +fun messageHandler(msg) { + + if ((msg == "") || !msg) { + + return 0; + + } + + if (msg.SubString(0, 5) == "keys:") { + + msg = msg.SubString(5, strlen(msg)); + + } + + # Get the message without the "fsckd-cancel-msg" prefix as we don't support i18n + if (msg.SubString(0, 17) == "fsckd-cancel-msg:") + msg = msg.SubString(17, strlen(msg)); + + //full_msg += msg + " "; + for(i = 4; i > 0; i--) { + + msgs_line[i] = msgs_line[i - 1]; + + } + + msgs_line[0] = Sprite(Image.Text(msg, 1, 1, 1)); + + dist = 1; + + for(i = 0; i < 5; i++) { + + if (msgs_line[i] != NULL) { + + msgs_line[i].SetPosition(screen_x + (screen_width / 2) - (msgs_line[i].GetImage().GetWidth() / 2), screen_y + (screen_height - msgs_line[i].GetImage().GetHeight()) - 20*dist); + dist++; + + } -#-----------------------------------------Update Status stuff -------------------------- -# -# The update_status_callback is what we can use to pass plymouth whatever we want so -# as to make use of features which are available only in this program (as opposed to -# being available for any theme for the script plugin). -# -# Example: -# -# Thanks to the current implementation, some scripts can call "plymouth --update=fsck:sda1:40" -# and this program will know that 1) we're performing and fsck check, 2) we're checking sda1, -# 3) the program should set the label progress to 40% -# -# Other features can be easily added by parsing the string that we pass plymouth with "--update" -# -fun update_status_callback (status) { -# Debug(status); - if (!status) return; - - string_it = 0; - update_strings[string_it] = ""; - - for (i=0; (String(status).CharAt(i) != ""); i++) { - local.temp_char = String(status).CharAt(i); - if (temp_char != ":") - update_strings[string_it] += temp_char; - else - update_strings[++string_it] = ""; - } - -# my_string = update_strings[0] + " " + update_strings[1] + " " + update_strings[2]; -# Debug(my_string); - # Let's assume that we're dealing with these strings fsck:sda1:40 - if ((string_it >= 2) && (update_strings[0] == "fsck")) { - - device = update_strings[1]; - progress = update_strings[2]; - status_string[0] = update_strings[3]; # "Checking disk %1$d of %2$d (%3$d %% complete)" - if (!status_string[0]) - status_string[0] = "Checking disk %1$d of %2$d (%3$d %% complete)"; - - if ((device != "") && (progress != "")) { - progress = StringToInteger (progress); - - # Make sure that the fsck_queue is initialised - if (!global.fsck_queue) - init_queue (); - - # Make sure that the fsck counter is initialised - if (!global.counter) - init_fsck_count (); - -# if (!global.progress_bar.extra_label.sprite) -# create_extra_fsck_label (); - - # Keep track of the fsck check - fsck_check (device, progress, status_string); - } - - } - - # systemd-fsckd pass fsckd::: - if (update_strings[0] == "fsckd") { - number_devices = StringToInteger(update_strings[1]); - - if (number_devices > 0) { - label = update_strings[3]; - - progress_label = get_fsck_label (label, 0); - progress_label.sprite = Sprite (progress_label.image); - progress_label.sprite.SetPosition(progress_label.x, progress_label.y, 1); - progress_label.sprite.SetOpacity (1); - } else { - if (progress_label.sprite) - progress_label.sprite.SetOpacity (0); - } - } + } } -Plymouth.SetUpdateStatusFunction (update_status_callback); -/** - * Calling Plymouth.SetRefreshFunction with a function will set that function to be - * called up to 50 times every second, e.g. - * - * NOTE: if a refresh function is not set, Plymouth doesn't seem to be able to update - * the screen correctly - */ -fun refresh_callback() { -} -Plymouth.SetRefreshFunction(refresh_callback); +Plymouth.SetMessageFunction(messageHandler); -/** - * The callback function is called when the display should return to normal - */ -fun display_normal_callback() { - global.status = "normal"; - if (global.password_dialog) { - password_dialog_opacity (0); - global.password_dialog = NULL; - if (message_notification[2].sprite) hide_message(2); - prompt_active = 0; - } +/**/ - if (message_notification[1].sprite) - show_message (1); +/* + * Handles the updates passed to the plymouth daemon + * for example the FSCK data */ +fun statusHandler(status) { + + tmp_char; + status_array[0] = ""; + elem_count = 0; + + for (i = 0; String(status).CharAt(i) != ""; i++) { + + tmp_char = String(status).CharAt(i); + + if (tmp_char != ":") { + + status_array[elem_count] += tmp_char; + + } + else { + + elem_count++; + status_array[elem_count] = ""; + + } + + } + + if (status_array[0] == "fsck") { + + already_added = 0; + + if (fsck_running == 0) { + + /* + * use the dedicated message handler for this + * since there is no messages about fsck checks + * currently... */ + messageHandler("Routine disk drive check."); + + fsck_running = 1; + + } + + for(i = 0; i < fsck_dev_counter; i++) { + + /* + * check if the device already exist and update + * the progress only in that case */ + if (fsck_dev_array[i][0] == status_array[1]) { + + fsck_dev_array[i][1] = status_array[2]; /* progress */ + already_added = 1; + + } + + } + + /* + * if the device is not added, then add it */ + if (already_added == 0) { + + fsck_dev_array[fsck_dev_counter][0] = status_array[1]; /* device */ + fsck_dev_array[fsck_dev_counter][1] = status_array[2]; /* progress */ + fsck_dev_counter++; + + } + + /* + * update the progress */ + + total = 0; + + for(i = 0; i < fsck_dev_counter; i++) { + + total += atoi(fsck_dev_array[i][1]); + + } + + if (fsck_dev_counter > 0) { + + /* + * display the total percentage */ + fsck_progress_fade_sprite.SetImage(fsck_progress_fade_image.Scale((fsck_progress_meter_image.GetWidth() / 100) * (total / fsck_dev_counter), fsck_progress_fade_image.GetHeight())); + + } + + /**/ + + /* + * if the total progress is at maximum, + * make the progress meter go away, + * we might want to fade this out... */ + if (total == (100 * fsck_dev_counter)) { + + fsck_progress_meter_sprite.SetOpacity(0); + fsck_progress_fade_sprite.SetOpacity(0); + + } + + } + + # systemd-fsckd pass fsckd::: + if (status_array[0] == "fsckd") { + fsck_running = 1; + + # remove ",x" as we only care about integers + progress_str = status_array[2]; + progress = atoi(progress_str.SubString(0, strlen(progress_str) - 2)); + + fsck_progress_fade_sprite.SetImage(fsck_progress_fade_image.Scale((fsck_progress_meter_image.GetWidth() / 100) * progress, fsck_progress_fade_image.GetHeight())); + + /* + * if the total progress is at maximum, + * make the progress meter go away, + * we might want to fade this out... */ + if (progress == 100) { + fsck_progress_meter_sprite.SetOpacity(0); + fsck_progress_fade_sprite.SetOpacity(0); + } + } + } -Plymouth.SetDisplayNormalFunction (display_normal_callback); -/** - * Show the logo and make the progress indicator look full when on exit - */ -fun quit_callback() { -} -Plymouth.SetQuitFunction(quit_callback); +Plymouth.SetUpdateStatusFunction(statusHandler); -// kate: space-indent on; indent-width 4; mixedindent off; indent-mode cstyle; hl JavaScript; +/**/ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/lock.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/lock.png differ diff -Nru kubuntu-settings-22.04.9/plymouth/kubuntu-logo/lock.svg kubuntu-settings-22.04.10/plymouth/kubuntu-logo/lock.svg --- kubuntu-settings-22.04.9/plymouth/kubuntu-logo/lock.svg 1970-01-01 00:00:00.000000000 +0000 +++ kubuntu-settings-22.04.10/plymouth/kubuntu-logo/lock.svg 2022-04-29 18:34:16.000000000 +0000 @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/progress-00.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/progress-00.png differ diff -Nru kubuntu-settings-22.04.9/plymouth/kubuntu-logo/README kubuntu-settings-22.04.10/plymouth/kubuntu-logo/README --- kubuntu-settings-22.04.9/plymouth/kubuntu-logo/README 2022-03-27 08:12:03.000000000 +0000 +++ kubuntu-settings-22.04.10/plymouth/kubuntu-logo/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -== 16 color == -Sometimes framebuffers offer no more than 4 bits per pixel, for these cases we -have a special 16 color version of images. Those images should not contain -alpha channels and use solid color throughout (no gradients etc.). - -In the script itself we use a solid color background, the images should use -matching colors when needing to avoid alpha. - -Usually the workflow is to take the regular version and replace the alpha, -then possibly also overly colorful elements, save it and convert to 16 colors. -Most of the time you can use drop shadows, but all in all no more than 16 -colors can be used, so you will have to make sure the clipped version's drop -is still appearing as expected. - -To convert to <= 16 color version use (< when fewer colors found) - for foo in *; do pngtopnm $foo | pnmquant 16 | pnmtopng > 16.png; mv 16.png $foo; done - -You may want to check that the output makes sense. Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0001.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0001.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0002.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0002.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0003.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0003.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0004.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0004.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0005.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0005.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0006.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0006.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0007.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0007.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0008.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0008.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0009.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0009.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0010.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0010.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0011.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0011.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0012.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0012.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0013.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0013.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0014.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0014.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0015.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0015.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0016.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0016.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0017.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0017.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0018.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0018.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0019.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0019.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0020.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0020.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0021.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0021.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0022.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0022.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0023.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0023.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0024.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0024.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0025.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0025.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0026.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0026.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0027.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0027.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0028.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0028.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0029.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0029.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/throbber-0030.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/throbber-0030.png differ Binary files /tmp/tmp49zshzec/EulVVpqwVg/kubuntu-settings-22.04.9/plymouth/kubuntu-logo/watermark.png and /tmp/tmp49zshzec/2LBEl1HCd5/kubuntu-settings-22.04.10/plymouth/kubuntu-logo/watermark.png differ