logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

pmconfirm, pmmessage, pmquery - general purpose dialog box

Description

pmquery  provides  a  command-line-option  compatible  implementation of the xconfirm and xmessage tools,
       using a look-and-feel that is consistent with pmchart.  Several extensions to the  functionality  of  the
       original  tools  have  been  made,  in  order to improve their specific utility for pmchart, but wherever
       possible the original semantics remain.

       pmconfirm displays a line of text for each -t option specified (or a file when the -file option is used),
       and a button for each -b option specified.  When one of the buttons is pressed, the label of that  button
       is  written  to  pmquery's  standard output.  This provides a means of communication/feedback from within
       shell scripts and a means to display useful information to a user from an application.

       pmmessage displays a window containing a message from the command line, a file, or  standard  input.   It
       additionally  allows  buttons  to  be  associated with an exit status, and only optionally will write the
       label of the button to standard output.

       pmquery extends the above tools to additionally support limited user input, as free form text.   In  this
       -input  mode,  any text entered will be output when the default button is pressed.  A default text can be
       entered using the same mechanisms as the other tools.

       Command line options are available to specify font style,  frame  style,  modality  and  one  of  several
       different icons to be presented for tailored visual feedback to the user.

Environment

pmquery is an excellent choice of utility for the PCP_XCONFIRM_PROG  Performance  Co-Pilot  configuration
       parameter (refer to pcp.conf(5) for details).

       Note  that  PCP_XCONFIRM_PROG  will  be  automatically  set  to pmquery inside tools like pmchart, unless
       PCP_XCONFIRM_PROG is already set in the environment.

Examples

       The following shell script will display a window with an information icon, asking the user a  yes  or  no
       question with "Yes" as the default.

        #! /bin/sh
        case `pmquery -t "Really power down?" -b No -B Yes -icon question
        in
          Yes) shutdown;;
          No) ;;
        esac

       A  second  example,  which prompts for a hostname then starts a terminal with an ssh session connected to
       the requested host.

        #! /bin/sh
        host=`pmquery -input -icon host -b Cancel -B OK \
                      -header "Remote Terminal - Secure Shell"
        [ "$host" = "Cancel" -o -z "$host" ] && exit
        gnome-terminal -e "ssh $host"

Exit Status

       If it detects an error, pmquery always returns 1, so this value should not be associated with  a  button.
       Unless -button option has not been used, the return code will be zero on success.

Name

pmconfirm, pmmessage, pmquery - general purpose dialog box

Options

       The available command line options are:

       -c, -center
            Center the window on the display.

       -nearmouse
            Pop up the window near the mouse cursor.

       -bbutton-name
            Displays  a  button  with  the label button-name.  If button-name is the empty string, the button in
            that position is not displayed.  If no -b options are present, the default  is  a  button  with  the
            label Continue.  The exit status associated with button-name is zero.

       -Bbutton-name
            Displays  a  button  with  the label button-name and specifies it as the button to be activated when
            enter is pressed.  The exit status associated with button-name is zero.

       -buttonsbutton,button,...
            This option will create one button for each comma-separated button option.  Each button consists  of
            a  label  optionally followed by a colon and an exit value.  The exit value will be returned if that
            button is selected.  The default exit value is 100 plus the button  number.   Buttons  are  numbered
            from the left starting with one.

       -defaultlabel
            Defines  the  button with a matching label to be the default.  If not specified there is no default.
            The corresponding resource is defaultButton.  Pressing Return anywhere in the xmessage  window  will
            activate the default button.  The default button has a wider border than the others.

       -tmessage
            Displays  message.   Any  number of strings can be listed on the command line (each must be preceded
            with the -t option).

       -filefilename
            Displays the file filename.  All -t options will be ignored.  A filename of `-' reads from  standard
            input.

       -iconicontype
            Displays  the  icon  icontype  where  icontype  is one of: info, error, question, warning, critical.
            action is also accepted as a synonym for error for backward compatibility.  pmquery  introduces  the
            additional archive and host icon types as well as the original xconfirm types listed earlier.

       -fontfontname
            Use fontname as the font.  This option is only available when using the X Window System.

       -headerstring
            Use string as the window title.

       -print
            This  causes  the  program  to  write the label of the button pressed to standard output.  It is the
            default behaviour for pmconfirm and pmquery.

       -noprint
            This causes the program to not write the label of the button pressed to standard output.  It is  the
            default behaviour for pmmessage.

       -geometrygeometry-string
            This  provides  the  tool  with  an X-compatible geometry string specification.  This option is only
            available when using the X Window System.

       -useslider
            When displaying a file, always use a slider instead of determining automatically whether a slider is
            necessary.

       -noslider
            Do not create a slider, and clip text to the  window  size,  instead  of  determining  automatically
            whether a slider is necessary..

       -noframe
            Do not display a frame around the contents.

       -exclusive
            Grab the keyboard/pointer and do not allow further input until a button is pressed.

       -timeoutsecs
            Exit  with  status  0  after  secs  seconds  if  the  user  has  not  clicked  on a button yet.  The
            corresponding resource is timeout.

       -?, -h, -help
            Display usage message and exit.

See Also

pmchart(1) and pcp.conf(5).

Performance Co-Pilot                                                                                  PMQUERY(1)

Synopsis

pmconfirm  [-c]  [-bbutton-name] [-Bdefault-button-name] [-tstring] [-filefilename] [-iconicontype]
       [-fontfont] [-headertitlebar-string] [-useslider] [-noslider] [-noframe] [-exclusive]

       pmmessage [-buttonslabel1[:value1][,label2[:value2][,...]]]  [-center]  [-nearmouse]  [-defaultbutton]
       [-filefilename] [-print] [-timeoutsec] message...pmquery [-input] [allaboveoptions...]  [message...]

See Also