On Fri, Mar 01, 2013 at 01:15:04PM -0000, Cédric Dufour wrote:
> Unfortunately, I'm wondering whether this can be achieved.
> Plymouth seems to be totally agnostic of where client requests come from
> (except to know where to send replies back) and to what purpose (and
> thus can not know anything of the logic which may bind some requests to
> others). Am I right in this regard?
> This means that one could improve the handling of "interactive" requests
> that depend on keyboard input (password prompt, question, waiting for
> keystroke) and avoid to display the corresponding prompt message as long
> a preceding "interactive" request is still unanswered (or not canceled).
> This is possible (and already dealt with at some level) because keyboard
> input can only match the latest pending request.
> BUT I don't see how one could filter out messages to be displayed based on
> other "interactive" requests.
> While plymouth should not display mountall "boredom" messages while
> cryptsetup is waiting for password input, I'm sure there are existing use
> cases where messages from one client must be displayed regardless of the
> "interactive" request(s) of other(s). How can plymouth tell the
> difference?
In the case in question, the message we want to suppress uses the 'keys:'
prefix, which we know is associated with a watch-keystroke command. So in
the case of the Ubuntu plymouth themes that support 'keys:', we can hide
those messages when there's a higher-priority prompt being displayed.
It won't work with other themes, but then the behavior you get with
mountall's text display is buggy with those other themes already.
On Fri, Mar 01, 2013 at 01:15:04PM -0000, Cédric Dufour wrote:
> Unfortunately, I'm wondering whether this can be achieved.
> Plymouth seems to be totally agnostic of where client requests come from
> (except to know where to send replies back) and to what purpose (and
> thus can not know anything of the logic which may bind some requests to
> others). Am I right in this regard?
> This means that one could improve the handling of "interactive" requests
> that depend on keyboard input (password prompt, question, waiting for
> keystroke) and avoid to display the corresponding prompt message as long
> a preceding "interactive" request is still unanswered (or not canceled).
> This is possible (and already dealt with at some level) because keyboard
> input can only match the latest pending request.
> BUT I don't see how one could filter out messages to be displayed based on
> other "interactive" requests.
> While plymouth should not display mountall "boredom" messages while
> cryptsetup is waiting for password input, I'm sure there are existing use
> cases where messages from one client must be displayed regardless of the
> "interactive" request(s) of other(s). How can plymouth tell the
> difference?
In the case in question, the message we want to suppress uses the 'keys:'
prefix, which we know is associated with a watch-keystroke command. So in
the case of the Ubuntu plymouth themes that support 'keys:', we can hide
those messages when there's a higher-priority prompt being displayed.
It won't work with other themes, but then the behavior you get with
mountall's text display is buggy with those other themes already.