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

gxmessage - a GTK-based xmessage clone

Authors

       Timothy Musson <trmusson@gmail.com>

Bugs

       For some reason, opening the gxmessage window with no button set to be the default causes GTK to  emit  a
       "beep" sound.

       If you discover other bugs in the most recent version of gxmessage, please get in touch.

Compatibility With Xmessage

       Fall back to xmessage if gxmessage isn't available:

            #! /bin/sh
            XMESSAGE=$(which gxmessage) || XMESSAGE=xmessage
            $XMESSAGE "hello, world"

       If you specify fonts, check which program you're using:

            font="monospace 14"
            [ "$XMESSAGE" = xmessage ] && font="fixed"
            $XMESSAGE ${font:+-fn "$font"} "hello, world"

       Don't use double-dashed command line options:

            $XMESSAGE "hello, world" -buttons good
            $XMESSAGE "hello, world" --buttons bad

       Don't use the gxmessage-specific options:

            -entry, -entrytext, -borderless, -wrap,
            -encoding, -nofocus, -noescape, -ontop,
            -sticky, -version, -h, -?

Description

gxmessage opens a window to display a message obtained from the command line, from a file, or from stdin.
       The  window  includes  a row of buttons, each of which causes the program to exit with a different return
       code.

       The GNU Info entry for gxmessage contains detailed information and examples.

Exit Status

       If a button is pressed, the program returns the value assigned to that button.  The default "okay" button
       returns 0.

       If a timeout event occurs, the program returns 0.

       If an error occurs, or if the window is closed without a button-press or timeout event, the program exits
       with code 1. Pressing the ESC key also causes the program to exit with code 1.

Gtk Defaults

       The  program's default appearance can be adjusted using GTK resource files.  The main text display widget
       is named gxmessage-textview.  The text entry widget is named gxmessage-entry.

            # Example: ~/.gtkrc-2.0

            style "gxmsg" {
                text[NORMAL]   = "#cc9900"
                base[NORMAL]   = "#660000"
                text[SELECTED] = "#660000"
                base[SELECTED] = "#cc9900"
                font_name      = "monospace"
            }
            widget "*.gxmessage-textview" style  "gxmsg"
            widget "*.gxmessage-entry"    style  "gxmsg"

Gxmessage Specific Options

       The following options are specific to gxmessage and are not compatible with xmessage.

       -borderless
              Opens the gxmessage window without the usual window frame.

       -encodingCHARSET
              Specifies the encoding of the message text. By default, the message text is assumed to  match  the
              encoding of the current locale.

       -entry
              Adds  a  text entry box to the gxmessage window. When the window closes, any text in the entry box
              will be copied to stdout. This option can't be used at the same time as the -print option.

       -entrytextTEXT
              Same as -entry, but sets the default entry box contents to TEXT.

       -noescape
              Prevents the window closing if the ESC key is pressed. This option only  works  if  a  file  named
              /usr/share/gxmessage/allow_noescape exists.

       -nofocus
              Prevents the gxmessage window from receiving focus when it opens.

       -ontop
              Attempts to keep the gxmessage window in front of other windows.

       -sticky
              Causes the gxmessage window to appear on all workspaces.

       -version
              Displays the program's version number and Copyright details, then exits.

       -wrap
              Causes lines to wrap rather than exceed the width of the window.

Name

       gxmessage - a GTK-based xmessage clone

Options

gxmessage accepts any option xmessage would, although some (such as -bw and -xrm) are silently ignored.

       -bgCOLOR
              Sets the background color of the message to COLOR. Examples: red, "#c90", "#446a7e".

       -buttonsBUTTON_LIST
              Defines the buttons to be created. BUTTON_LIST is a comma-separated list of LABEL:VALUE pairs, one
              for each button. The LABEL is the text that appears on the button. The VALUE (0..255) is the  code
              the  program  will  exit  with  if  that button is pressed. Commas and colons can be escaped using
              backslashes (\). As well as ordinary text, the LABEL  can  specify  a  GTK  "stock"  button,  like
              "GTK_STOCK_CANCEL",  or  it  can  include  an underscore (_) to specify a keyboard accelerator. If
              VALUEs are omitted, they default to 101, 102, 103, etc., in order. If no -buttons option is given,
              BUTTON_LIST defaults to "okay:0".

                   gxmessage -buttons "Foo:42,Bar:63" "Example"
                   echo $?

                   gxmessage -buttons "_Foo,_Bar" "Example"
                   echo $?

                   gxmessage "Example"
                   echo $?

                   gxmessage -buttons "GTK_STOCK_OK:0" "Example"
                   echo $?

                   gxmessage -buttons "Hello\, world" "Example"

       -center
              Opens the gxmessage window in the middle of the screen.

       -defaultLABEL
              Opens the gxmessage window with input focused on the specified button.  LABEL is one of the LABELs
              in BUTTON_LIST (see -buttons, above).

       -displayDISPLAY
              Specifies the X display to use.

       -fgCOLOR
              Sets the message text color to COLOR.

       -fileFILENAME
              Causes the named file to be used as the message source.  If  a  dash  (-)  is  used  in  place  of
              FILENAME, the message will be read from stdin.

       -fn | -fontFONT
              Specifies  the  message  font,  using  GTK's  font specification system. For example, -font"serifitalic14". (GTK's font system is not compatible with xmessage.  See  the  Compatibility  section,
              below, for a workaround.)

       -geometryGEOMETRY
              Sets the window's size and/or position. Examples:

                   -geometry 400x200
                   -geometry 400x200+600+100
                   -geometry +600+100

       -help
              Displays basic usage information then exits.

       -iconic
              Opens the gxmessage window in its iconized (minimized) state.

       -nameNAME
              Sets the gxmessage window's name to NAME.

       -nearmouse
              Opens the gxmessage window near the mouse pointer.

       -print
              Writes the LABEL of the selected button to stdout.

       -timeoutSECONDS
              Automatically  closes  the  gxmessage window with an exit code of 0 if no button is pressed within
              SECONDS seconds. (The -entry and -entrytext options cause -timeout to be ignored.)

       -titleTITLE
              Sets the gxmessage window's title to TITLE.

See Also

xmessage(1), zenity(1), dialog(1)

       The GNU Info entry for gxmessage contains detailed information and examples.

Synopsis

gxmessage [OPTIONS] message ...
       gxmessage [OPTIONS] -file FILENAME

See Also