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


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

I appreciate your hard work on this, even creating a module on CPAN, great! For now, I have gone with zentara's solution, because it uses Tk, which is more of a standard tool.

Perhaps I will find some time to convert that into a Tk implementation for your module.



When's the last time you used duct tape on a duct? --Larry Wall

Replies are listed 'Best First'.
Re^5: Drop-In Password Dialog?
by tobyink (Canon) on Dec 03, 2012 at 16:32 UTC

    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'

      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'