Hello community, here is the log from the commit of package plymouth-theme-breeze for openSUSE:Factory checked in at 2018-01-25 12:39:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/plymouth-theme-breeze (Old) and /work/SRC/openSUSE:Factory/.plymouth-theme-breeze.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plymouth-theme-breeze" Thu Jan 25 12:39:33 2018 rev:22 rq:566932 version:5.11.95 Changes: -------- --- /work/SRC/openSUSE:Factory/plymouth-theme-breeze/plymouth-theme-breeze.changes 2018-01-05 00:59:28.618786633 +0100 +++ /work/SRC/openSUSE:Factory/.plymouth-theme-breeze.new/plymouth-theme-breeze.changes 2018-01-25 12:39:35.341329037 +0100 @@ -1,0 +2,17 @@ +Mon Jan 15 15:54:07 CET 2018 - fab...@ritter-vogt.de + +- Update to 5.11.95 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/plasma-5.11.95.php +- Changes since 5.11.5: + * add linter config for arc + * style++ + * this isn't c89, dont' needlessly declare variables before defintion + * fix var naming + * fix readjustment logic + * document textyoffset + * add some new debug tech simulating an on-screen logging system + * curly++ to increase readability and hackability + +------------------------------------------------------------------- Old: ---- breeze-plymouth-5.11.5.tar.xz New: ---- breeze-plymouth-5.11.95.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ plymouth-theme-breeze.spec ++++++ --- /var/tmp/diff_new_pack.MlhOmC/_old 2018-01-25 12:39:35.973299533 +0100 +++ /var/tmp/diff_new_pack.MlhOmC/_new 2018-01-25 12:39:35.977299346 +0100 @@ -34,7 +34,7 @@ Name: plymouth-theme-breeze -Version: 5.11.5 +Version: 5.11.95 Release: 0 BuildRequires: cmake >= 2.8.12 BuildRequires: extra-cmake-modules >= 1.8.0 @@ -44,7 +44,7 @@ License: GPL-2.0+ Group: System/Base Url: http://www.kde.org -Source: http://download.kde.org/stable/plasma/%{version}/breeze-plymouth-%{version}.tar.xz +Source: http://download.kde.org/unstable/plasma/%{version}/breeze-plymouth-%{version}.tar.xz Requires: %{name}-plugin-breeze = %{version} Requires: plymouth-plugin-label-ft Requires(post): plymouth-scripts ++++++ breeze-plymouth-5.11.5.tar.xz -> breeze-plymouth-5.11.95.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-plymouth-5.11.5/.arcconfig new/breeze-plymouth-5.11.95/.arcconfig --- old/breeze-plymouth-5.11.5/.arcconfig 2018-01-02 12:01:02.836986674 +0100 +++ new/breeze-plymouth-5.11.95/.arcconfig 2018-01-15 14:22:51.000000000 +0100 @@ -1,4 +1,3 @@ { "phabricator.uri" : "https://phabricator.kde.org/" } - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-plymouth-5.11.5/.arclint new/breeze-plymouth-5.11.95/.arclint --- old/breeze-plymouth-5.11.5/.arclint 1970-01-01 01:00:00.000000000 +0100 +++ new/breeze-plymouth-5.11.95/.arclint 2018-01-15 14:22:51.000000000 +0100 @@ -0,0 +1,26 @@ +{ + "linters": { + "text-length-only": { + "type": "text", + "text.max-line-length": 110, + "severity.rules": { + "([^3])": "disabled" + }, + "exclude": "(^breeze-text/ply-text-progress-bar.c|CMakeLists.txt)" + }, + "text": { + "type": "text", + "severity": { + "3": "disabled", + "5": "disabled" + }, + "exclude": "(breeze-text/ply-text-progress-bar.c)" + }, + "spelling": { + "type": "spelling" + }, + "merge-conflict": { + "type": "merge-conflict" + } + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-plymouth-5.11.5/CMakeLists.txt new/breeze-plymouth-5.11.95/CMakeLists.txt --- old/breeze-plymouth-5.11.5/CMakeLists.txt 2018-01-02 12:01:02.836986674 +0100 +++ new/breeze-plymouth-5.11.95/CMakeLists.txt 2018-01-15 14:22:51.000000000 +0100 @@ -1,5 +1,5 @@ project(breeze-plymouth) -set(PROJECT_VERSION "5.11.5") +set(PROJECT_VERSION "5.11.95") set(PROJECT_VERSION_MAJOR 5) cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-plymouth-5.11.5/breeze/breeze.plymouth.cmake new/breeze-plymouth-5.11.95/breeze/breeze.plymouth.cmake --- old/breeze-plymouth-5.11.5/breeze/breeze.plymouth.cmake 2018-01-02 12:01:02.836986674 +0100 +++ new/breeze-plymouth-5.11.95/breeze/breeze.plymouth.cmake 2018-01-15 14:22:51.000000000 +0100 @@ -6,4 +6,3 @@ [script] ImageDir=@Plymouth_THEMESDIR@/breeze ScriptFile=@Plymouth_THEMESDIR@/breeze/breeze.script - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-plymouth-5.11.5/breeze/breeze.script.cmake new/breeze-plymouth-5.11.95/breeze/breeze.script.cmake --- old/breeze-plymouth-5.11.5/breeze/breeze.script.cmake 2018-01-02 12:01:02.836986674 +0100 +++ new/breeze-plymouth-5.11.95/breeze/breeze.script.cmake 2018-01-15 14:22:51.000000000 +0100 @@ -133,6 +133,11 @@ }; // --------------------------------- Debug ---------------------------------- // +// TODO: it may be handy to move all debug methods into a separate file +// and configure_file them into the master script iff explicitly enabled. +// This would reduce the script size and possibly eval time. Although +// in the grand scheme of things I am not sure this script takes up a lot of +// resources to begin with. debugsprite = Sprite(); debugsprite_bottom = Sprite(); debugsprite_medium = Sprite(); @@ -190,32 +195,63 @@ debugsprite_medium.SetPosition(0, (Window.GetHeight (0) - 60), 1); } -fun TextYOffset() { - local.y; - local.text_height; - local.min_height; +/** + * Debug helper to simulate something like a log on the right hand side of + * the display. There is a global ActionStack which gets .Log("foo")'d into + * which essentially prepends the string to an internal string buffer which + * is then rendered into a sprite. + * The buffer is not ever emptied so this basically is growing memory + * consumption. And it's offset placing from the rigth side is also getting + * increasingly wrong as the largest ever logged line dictates the offset. + */ +Logger = fun() { + local.logger = []; + local.logger.log = ""; + local.logger.sprite = Sprite(); + return logger | global.Logger; +} | []; - // Put the 1st line below the logo. - y = spin.GetY() + spin.GetHeight(); +Logger.Log = fun(text) { + log = text + "\n" + log; + Print(); +}; - text_height = first_line_height * 7.5; +Logger.Print = fun() { + sprite.SetImage(ImageToText(log)); + sprite.SetPosition(Window.GetMaxWidth() - sprite.GetImage().GetWidth() - 16, 0, 1); +}; +global.logger = Logger(); - // FIXME: why minimum? +/** + * Calulates the Y of the label "box". That is, the top most point at which + * we should put elements that are meant to go below the logo/spinner/whatevs + * as to not overlap with the aforementioned. This includes message display, + * password prompt and so forth. + */ +fun TextYOffset() { + // Put the 1st line below the logo. + local.y = spin.GetY() + spin.GetHeight(); + local.text_height = first_line_height * 7.5; // The maximum Y we may end at, if we exceed this we'll try to scoot up // a bit. This includes the Window offset itself as we position ourselves // relative to the Spinner which is relative to the Logo which is relative // to the center of the window TAKING INTO ACCOUNT the y offset of the // window! - local.min_height = Window.GetHeight() + Window.GetY(); + local.max_y = Window.GetHeight() + Window.GetY(); - if (y + text_height > min_height) - y = min_height - text_height; - else { - y = y + ((min_height - y - text_height) /2); + if (y + text_height > max_y) { + y = max_y - text_height; + } else { + y = y + ((max_y - 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; + // This basically undoes whatever went on above, to a degree... + // If the y would overlap with the Spinner (bottom most element of the + // static cruft) we move it further down so that at least half a line of + // space is between the spinner and our y. + if (y < spin.GetY() + spin.GetHeight() + first_line_height / 2) { + y = spin.GetY() + spin.GetHeight() + first_line_height / 2; + } return y; } @@ -268,7 +304,9 @@ fun StringCopy (source, beginning, end) { local.destination = ""; - for (index = beginning; ( ( (end == NULL) || (index <= end) ) && (String(source).CharAt(index)) ); index++) { + for (index = beginning; + (((end == NULL) || (index <= end) ) && (String(source).CharAt(index))); + index++) { local.destination += String(source).CharAt(index); } @@ -428,7 +466,6 @@ # 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 @@ -437,6 +474,7 @@ else local.message_image = (is_action_line) && ImageToActionText (label) || ImageToTintedText (label); + local.message_label = []; message_label.width = message_image.GetWidth (); message_label.height = message_image.GetHeight (); @@ -500,7 +538,8 @@ # fun setup_message (message_text, x, y, z, index) { # Debug("Message setup"); - global.message_notification[index].image = (index) && ImageToActionText (message_text) || ImageToTintedText (message_text); + global.message_notification[index].image = + (index) && ImageToActionText (message_text) || ImageToTintedText (message_text); # Set up the text message, if any message_notification[index].x = x; @@ -568,10 +607,8 @@ fun password_dialog_setup (message_label) { # Debug("Password dialog setup"); - local.entry; - local.bullet_image; - - bullet_image = WriteText("•", palette.text.contrast); + local.bullet_image = WriteText("•", palette.text.contrast); + local.entry = []; entry.image = Image (assets.text_input); # Hide the normal labels @@ -625,8 +662,6 @@ # 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); @@ -638,9 +673,7 @@ 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++){ @@ -926,20 +959,15 @@ if (device_has_progress_label (device)) { - # Update the progress of the existing label + // 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 + // 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) { @@ -950,10 +978,7 @@ 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 + // Set up a new label for the check init_progress_label (device, status_string); update_progress_label (progress); @@ -980,13 +1005,6 @@ } } - -# 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); -# } } @@ -1019,9 +1037,7 @@ 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 + // 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];