tk_dialog man page
tk_dialog — Create modal dialog and wait for response
tk_dialog window title text bitmap default string string ...
This procedure is part of the Tk script library. It is largely deprecated by the tk_messageBox. Its arguments describe a dialog box:
Name of top-level window to use for dialog. Any existing window by this name is destroyed.
Text to appear in the window manager's title bar for the dialog.
Message to appear in the top portion of the dialog box.
If non-empty, specifies a bitmap (in a form suitable for Tk_GetBitmap) to display in the top portion of the dialog, to the left of the text. If this is an empty string then no bitmap is displayed in the dialog.
If this is an integer greater than or equal to zero, then it gives the index of the button that is to be the default button for the dialog (0 for the leftmost button, and so on). If less than zero or an empty string then there will not be any default button.
There will be one button for each of these arguments. Each string specifies text to display in a button, in order from left to right.
After creating a dialog box, tk_dialog waits for the user to select one of the buttons either by clicking on the button with the mouse or by typing return to invoke the default button (if any). Then it returns the index of the selected button: 0 for the leftmost button, 1 for the button next to it, and so on. If the dialog's window is destroyed before the user selects one of the buttons, then -1 is returned.
While waiting for the user to respond, tk_dialog sets a local grab. This prevents the user from interacting with the application in any way except to invoke the dialog box.
set reply [tk_dialog .foo "The Title" "Do you want to say yes?" \ questhead 0 Yes No "I'm not sure"]
bitmap, dialog, modal