Commit graph

275 commits

Author SHA1 Message Date
Ray Strode
4335d4352e Add preliminary password support to fedora-fade-in
We should really move a lot of the duplicate code between
the various splash plugins to the window code.  We also need
line editing support.
2008-05-22 15:19:59 -04:00
Ray Strode
c8a5e1d318 Do the trivial cut-n-paste to bring password support to details plugin 2008-05-21 23:21:19 -04:00
Ray Strode
b8624e3cd0 Add second cut at password support
This version works even in raw mode, by buffering key presses
passed from the window object, and replying to the client
after the user presses enter. There are a lot of layers of
function pointers getting passed around, so it may make
sense to introduce an opaque type for holding the password
and triggering the reply.
2008-05-21 22:57:40 -04:00
Ray Strode
b5b6fb666d Fix some harmless typos in the reply code 2008-05-21 09:03:00 -04:00
Ray Strode
4cf3e3ae2d Simplify plugin interface by dropping attach_to_event_loop
Now we just pass the loop in directly to show and hide,
which makes its lifecycle more clear.
2008-05-21 08:57:59 -04:00
Ray Strode
a0092f35c5 Only allow root clients to talk to daemon
We don't want normal users on the system to be able to
manipulate plymouth. This will be especially important
later when we run plymouth for post-bootup reasons. This
patch checks peer credentials and sends back a NAK to
clients who aren't root.
2008-05-21 00:20:28 -04:00
Ray Strode
a4cffffd94 Update TODO
Remove:
- Don't start boot-splash automatically, rather wait until given command from client
2008-05-20 23:12:54 -04:00
Ray Strode
b738dda915 Build in tracing by default and toggle on with ctrl-v 2008-05-20 23:02:51 -04:00
Ray Strode
c9ce142983 change if (key == KEY_ESCAPE) to use switch statement instead
We'll be adding other global hotkeys here so it makes sense to
use a switch statement for future extensibility
2008-05-20 22:56:54 -04:00
Ray Strode
44ec8ec8fa Update TODO
Add:
- Drop all the make ram disk and copy code.  That was just to make bolting things
  on easier.  We can integrate now.
- check peer credentials on client to make sure it's not running unprivileged
2008-05-20 22:42:15 -04:00
Ray Strode
cf2e5d6a06 s/rhgb-client/plymouth/ in the client usage string 2008-05-20 22:40:02 -04:00
Ray Strode
4392b69238 Don't show splash by default, instead require client to request it
plymouthd gets started before the drm modesetting modules are loaded,
so we can't try to access the frame buffer right away.  The plan is to
load the drm modules as soon as possible in the initrd and then tell
plymouthd to put up the splash ASAP.
2008-05-20 22:37:01 -04:00
Ray Strode
ff31d108ca Put in ChangeLog request to not use ChangeLog 2008-05-20 15:15:03 -04:00
Ray Strode
6e398f600b Update TODO
Add:
- Don't start boot-splash automatically, rather wait until given command from client
- Allow plymouth to be started from nash instead of the other way around

Remove:
- add the ability to watch for timeouts in the event loop
2008-05-20 15:13:48 -04:00
Ray Strode
ec78e3986d overwrite existing rhgb-client compat symlink when doing make install 2008-05-20 12:33:23 -04:00
Ray Strode
5ed9c22a7e don't generate .tar.gz on make dist 2008-05-20 12:01:01 -04:00
Ray Strode
e8a5bdf76e Add client tests directory to SUBDIRS 2008-05-20 11:51:07 -04:00
Ray Strode
c13aba661e rename rhgb-client to plymouth
We'll keep a compat symlink in place until init scripts are moved over
2008-05-20 11:36:26 -04:00
Ray Strode
677c3bd9cb rename the daemon from plymouth to plymouthd 2008-05-20 11:21:21 -04:00
Ray Strode
b4efa1c5d9 detach text plugin from event loop when hiding it 2008-05-20 10:54:22 -04:00
Ray Strode
9ed10c8ed9 disconnect from event loop in fedora-fade-in if show fails
We really need to drop attach_to_event_loop and pass the
loop into show.
2008-05-20 10:53:09 -04:00
Ray Strode
c04811313b Use the raw mode so we lose terminal echo 2008-05-20 08:54:38 -04:00
Ray Strode
b8781ead84 Add hook to ply-terminal-session to notify on boot output.
Drop set_output_buffer api and propagate boot output to splash plugins
2008-05-19 23:45:50 -04:00
Ray Strode
2103fb014f dump output of boot buffer when showing details plugin 2008-05-19 23:19:13 -04:00
Ray Strode
227418f36b use "details" stub plugin when user presses escape 2008-05-19 23:18:42 -04:00
Ray Strode
038d5d6dd3 Create a buffer to hold boot messages and pass that buffer to plugin show functions 2008-05-19 22:54:46 -04:00
Ray Strode
b08048505b add hook to log all terminal session output to a user supplied buffer 2008-05-19 18:33:54 -04:00
Ray Strode
3aca1c4370 add stub plugin that will show details when the user presses escape 2008-05-19 18:17:42 -04:00
Ray Strode
b144acddbc move ply_window_detach_from_event_loop around so we can drop the forward declaration 2008-05-19 17:49:06 -04:00
Ray Strode
fe6a3b007a Create window at layer above boot splash and reuse when changing boot splashes
This requires keyboard handling to be changed, so that each
plugin can hook in their own keyboard hooks when switching
between them, and also handling escape completely above the boot
splash plugin level.
2008-05-19 17:48:15 -04:00
Ray Strode
8510193629 cancel event loop exit watch on window when window gets freed 2008-05-19 17:45:06 -04:00
Ray Strode
95e37c737e Reset keyboard to non-canonical mode every time we switch modes 2008-05-19 17:31:06 -04:00
Ray Strode
6722ead0de only detach fedora-fade-in plugin from event loop when there is an event loop to detach from 2008-05-19 17:25:05 -04:00
Ray Strode
5d7fe0d274 disable fedora-fade-in plugin animaton timeout when animation is stopped 2008-05-19 17:24:28 -04:00
Ray Strode
040161f8ea add new function to cancel pending timeouts 2008-05-19 17:09:02 -04:00
Ray Strode
fa33619b36 When removing exit handlers, remove all matches, not just the first 2008-05-19 17:08:23 -04:00
Ray Strode
fa8d0c2adb Intercept escape key before passing keyboard input to splash plugin
We want to pass escape to the layer that created the boot splash, so
that it can tear down the curren splash plugin and put up the
details view
2008-05-19 00:05:46 -04:00
Ray Strode
ea56f6e68c pass keyboard input on to plugins 2008-05-18 22:57:15 -04:00
Ray Strode
6b0f2e44af buffer key presses until full characters are read, and then dispatch characters to keyboard input handler 2008-05-18 22:56:07 -04:00
Ray Strode
3831d42dc2 export ply_buffer_decapitate function as ply_buffer_remove_bytes 2008-05-18 22:40:09 -04:00
Ray Strode
49aada170b Add new ply_buffer_append_from_fd function
This function just reads a chunk of bytes from and fd and adds the bytes to the buffer.
2008-05-18 20:12:38 -04:00
Ray Strode
05dd704985 add new ply-buffer class
Copy and paste ply-logger into a more general ply-buffer class,
so we have a facility to buffer key strokes and process them as necessary
2008-05-18 20:06:31 -04:00
Ray Strode
413270724b Set active terminal into non-canonical mode
We want to be able to gain access to key presses immediately,
so we can pass them on to the splash plugin to display to the
user in some form.  The "pass to the splash plugin" part isn't
implemented yet.
2008-05-18 19:09:16 -04:00
Ray Strode
64198914da change function signature to silence warning 2008-05-18 18:32:31 -04:00
Ray Strode
79f8236416 add function cast to silence warning 2008-05-18 18:31:35 -04:00
Ray Strode
3192199ed0 drop unused variable 2008-05-18 18:30:35 -04:00
Ray Strode
9cf51bcce4 add new ply_window_t type to manage text versus graphics mode,
and eventually key events
2008-05-17 02:16:22 -04:00
Ray Strode
262e8b5f75 add preliminary support for asking for password during boot sequence
(Only in text plugin so far)
2008-05-15 15:50:37 -04:00
Ray Strode
3b86388c3b add cast to prevent compiler warning 2008-05-14 09:02:25 -04:00
Ray Strode
d0698efdb6 fix some confusion with star placement in fedora-fade-in plugin
We did logo_width - frame_buffer_width instead of the other way
around, so we ended up with a negative width
2008-05-14 08:59:33 -04:00