http://www.perlmonks.org?node_id=1006908


in reply to Re^4: Drop-In Password Dialog?
in thread Drop-In Password Dialog?

An Ask::Tk is on my todo list, plus possibly Ask::Wx.

Ask->detect will then use Ask::Tk or Ask::Wx ahead of Ask::Zenity but only if Tk or Wx is available - they'll silently fallback otherwise.

In the future it might be possible to figure out if the user is on Windows or Mac or GNOME or KDE or whatever, and prefer the implementation which most closely matches their GUI.

Of course, if the script is being run in a terminal and STDIN and STDOUT are connected to the terminal, then Ask::STDIO will be used.

Update: Ask-0.000_02 now includes a Tk implementation.

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Replies are listed 'Best First'.
Re^6: Drop-In Password Dialog?
by davido (Cardinal) on Dec 03, 2012 at 17:42 UTC

    Out of curiosity, have you considered basing Ask::STDIO on IO::Prompt::Tiny? (...or on IO::Prompt::Hooked -- shameless plug.) That way even if there's no live terminal input can still be received via sane defaults.

    You may already have thought of it, and I don't know that those modules would be a good fit, but just asking. :)


    Dave

      I'm not sure that makes much sense. The point of Ask::STDIO is to interact with a live terminal. If the process isn't running on a live terminal (-t STDIN and -t STDOUT), Ask shouldn't even attempt to load Ask::STDIO.

      perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'