diff options
| author | Ray Strode <rstrode@redhat.com> | 2008-05-28 13:50:49 -0400 |
|---|---|---|
| committer | Ray Strode <rstrode@redhat.com> | 2008-05-28 13:50:49 -0400 |
| commit | cad6ba8b75821d3d7eb19eda24ed1ffcda6d7d2e (patch) | |
| tree | 241ab7527c512f86a4ca4f9179fd132d83c56993 /src | |
| parent | 7952221f065fe4c6e5177a66eaf4bfe46255413a (diff) | |
| download | plymouth-cad6ba8b75821d3d7eb19eda24ed1ffcda6d7d2e.tar.gz plymouth-cad6ba8b75821d3d7eb19eda24ed1ffcda6d7d2e.tar.xz plymouth-cad6ba8b75821d3d7eb19eda24ed1ffcda6d7d2e.zip | |
Add the ability to toggle off graphics mode with ctrl-T
When debugging it's useful to be able to force text mode so
text messages become visible on screen. ctrl-t and ctrl-v
combined make it a lot easier to see what's going on.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ply-window.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/ply-window.c b/src/ply-window.c index 222cd80..b1f5944 100644 --- a/src/ply-window.c +++ b/src/ply-window.c @@ -43,6 +43,7 @@ #include "ply-logger.h" #include "ply-utils.h" +#define KEY_CTRL_T '\024' #define KEY_CTRL_V '\026' #define KEY_ESCAPE '\033' #define KEY_RETURN '\r' @@ -60,6 +61,8 @@ struct _ply_window ply_fd_watch_t *tty_fd_watch; ply_window_mode_t mode; + uint32_t should_force_text_mode : 1; + ply_window_keyboard_input_handler_t keyboard_input_handler; void *keyboard_input_handler_user_data; @@ -107,6 +110,13 @@ process_keyboard_input (ply_window_t *window, ply_trace ("verbose mode toggled!"); return; + case KEY_CTRL_T: + ply_trace ("toggle text mode!"); + window->should_force_text_mode = !window->should_force_text_mode; + ply_window_set_mode (window, window->mode); + ply_trace ("text mode toggled!"); + return; + case KEY_ESCAPE: ply_trace ("escape key!"); if (window->escape_handler != NULL) @@ -274,7 +284,8 @@ ply_window_set_mode (ply_window_t *window, break; case PLY_WINDOW_MODE_GRAPHICS: - if (ioctl (window->tty_fd, KDSETMODE, KD_GRAPHICS) < 0) + if (ioctl (window->tty_fd, KDSETMODE, + window->should_force_text_mode? KD_TEXT : KD_GRAPHICS) < 0) return false; break; } |
