]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
Add debugging feature to restore text palette
authorRay Strode <rstrode@redhat.com>
Wed, 9 Jul 2008 21:36:44 +0000 (17:36 -0400)
committerRay Strode <rstrode@redhat.com>
Wed, 9 Jul 2008 21:36:44 +0000 (17:36 -0400)
src/libplybootsplash/ply-window.c

index 90f9cc6fe2d0bcf58f282bebb66f2254788b8bcc..d7182037f227761f4b92714cf124fd88eccb723f 100644 (file)
@@ -45,6 +45,7 @@
 #include "ply-logger.h"
 #include "ply-utils.h"
 
+#define KEY_CTRL_P ('\100' ^'P')
 #define KEY_CTRL_T ('\100' ^'T')
 #define KEY_CTRL_U ('\100' ^'U')
 #define KEY_CTRL_W ('\100' ^'W')
@@ -143,6 +144,40 @@ ply_window_new (int vt_number)
   return window;
 }
 
+static bool
+ply_window_look_up_color_palette (ply_window_t *window)
+{
+  if (ioctl (window->tty_fd, GIO_CMAP, window->color_palette) < 0)
+      return false;
+
+  return true;
+}
+
+static bool
+ply_window_change_color_palette (ply_window_t *window)
+{
+  if (ioctl (window->tty_fd, PIO_CMAP, window->color_palette) < 0)
+    return false;
+
+  return true;
+}
+
+static void
+ply_window_save_color_palette (ply_window_t *window)
+{
+  memcpy (window->original_color_palette, window->color_palette,
+          TEXT_PALETTE_SIZE);
+}
+
+static void
+ply_window_restore_color_palette (ply_window_t *window)
+{
+  memcpy (window->color_palette, window->original_color_palette,
+          TEXT_PALETTE_SIZE);
+
+  ply_window_change_color_palette (window);
+}
+
 static void
 process_backspace (ply_window_t *window)
 {
@@ -188,6 +223,12 @@ process_keyboard_input (ply_window_t *window,
     {
       switch (key)
         {
+
+          case KEY_CTRL_P:
+            ply_trace ("restore text palette to original value!");
+            ply_window_restore_color_palette (window);
+          return;
+
           case KEY_CTRL_T:
             ply_trace ("toggle text mode!");
             window->should_force_text_mode = !window->should_force_text_mode;
@@ -362,40 +403,6 @@ ply_window_look_up_geometry (ply_window_t *window)
     return true;
 }
 
-static bool
-ply_window_look_up_color_palette (ply_window_t *window)
-{
-  if (ioctl (window->tty_fd, GIO_CMAP, window->color_palette) < 0)
-      return false;
-
-  return true;
-}
-
-static bool
-ply_window_change_color_palette (ply_window_t *window)
-{
-  if (ioctl (window->tty_fd, PIO_CMAP, window->color_palette) < 0)
-    return false;
-
-  return true;
-}
-
-static void
-ply_window_save_color_palette (ply_window_t *window)
-{
-  memcpy (window->original_color_palette, window->color_palette,
-          TEXT_PALETTE_SIZE);
-}
-
-static void
-ply_window_restore_color_palette (ply_window_t *window)
-{
-  memcpy (window->color_palette, window->original_color_palette,
-          TEXT_PALETTE_SIZE);
-
-  ply_window_change_color_palette (window);
-}
-
 bool
 ply_window_open (ply_window_t *window)
 {