gtk-sharp 0.0.0.0 neutral Gtk# is thread aware, but not thread safe; See the Gtk# Thread Programming for details. Toplevel which can contain other widgets. Toplevel which can contain other widgets. Gtk.Bin Atk.Implementor GLib.IWrapper GLib.IWrapper System.IDisposable Method System.Void Starts moving a . Mouse button that initiated the drag. X position where the user clicked to initiate the drag, in root window coordinates. Y position where the user clicked to initiate the drag. Timestamp from the click event that initiated the drag. This method is used if an application has window movement grips. When GDK can support it, the window movement will be done using the standard mechanism for the window manager or windowing system. Otherwise, GDK will try to emulate window movement, potentially not all that well, depending on the windowing system. Method System.Void Retrieves the dimensions of the frame window for this toplevel. Location to store the width of the frame at the left, or . Location to store the height of the frame at the top, or . Location to store the width of the frame at the returns, or . Location to store the height of the frame at the bottom, or . It will not return the size of the window border drawn by the window manager, which is the normal case when using a windowing system. See to get the standard window border extents.) See also , . Note: this is a special-purpose method intended for the framebuffer port; see . Method System.Void Asks to iconify (i.e. minimize) the specified . Note that you shouldn't assume the is definitely iconified afterward, because other entities (e.g. the user or window manager) could deiconify it again, or there may not be a window manager in which case iconification isn't possible, etc. But normally the will end up iconified. Just do not write code that crashes if not. You can track iconification via the event on . Method System.Void Asks to unstick , which means that it will appear on only one of the user's desktops. Note that you shouldn't assume the is definitely unstuck afterward, because other entities (e.g. the user or window manager) could stick it again. But normally the will end up stuck. Just do not write code that crashes if not. You can track stickiness via the event on . Method System.Void Asks to unmaximize . Note that you shouldn't assume the is definitely unmaximized afterward, because other entities (e.g. the user or window manager) could maximize it again, and not all window managers honor requests to unmaximize. But normally the will end up unmaximized. Just don't write code that crashes if not. You can track maximization via the event on Method System.Void Obtains the current size of . Return location for width, or . Return location for height, or . If is not onscreen, it returns the size GTK# will suggest to the window manager for the initial window size (but this is not reliably the same as the size the window manager will actually select). The size obtained by is the last size received in a GdkEventConfigure, that is, GTK# uses its locally-stored size, rather than querying the X server for the size. As a result, if you call then immediately call , the size would not have taken effect yet. After the window manager processes the resize request, GTK# receives notification that the size has changed via a configure event, and the size of the gets updated. Note 1: Nearly any use of this method creates a race condition, because the size of the may change between the time that you get the size and the time that you perform some action assuming that size is the current size. To avoid race conditions, connect to on the and adjust your size-dependent state to match the size delivered in the GdkEventConfigure. The following example will print the height and width of a called myWindow to the console. int height =0; int width = 0; myWindow.GetSize(out width , out height); Console.WriteLine("Width: {0}, Height: {1}" , width , height); Method System.Void Gets the default size of the . Location to store the default width, or . Location to store the default height, or . A value of -1 for the width or height indicates that a default size has not been explicitly set for that dimension, so the "natural" size of the will be used. Method System.Void Resizes the as if the user had done so, obeying geometry constraints. Width in pixels to resize the to. Height in pixels to resize the to. The default geometry constraint is that windows may not be smaller than their size request; to override this constraint, call to set the 's request to a smaller value. If is called before showing a for the first time, it overrides any default size set with . Windows may not be resized smaller than 1 by 1 pixels. Method System.Boolean Activates the current focused within the . if a got activated. Method System.Boolean Parses a standard X Window System geometry string. if string was parsed successfully. does work on all GTK# ports including Win32 but is primarily intended for an X environment. If either a size or a position can be extracted from the geometry string, returns and calls and/or to resize/move the . If returns , it will also set the and/or hints indicating to the window manager that the size/position of the was user-specified. This causes most window managers to honor the geometry. Note that for to work as expected, it has to be called when the has its "final" size, i.e. after calling on the contents and on the . Method System.Void Reverses the effects of . A . Method System.Void Asks to stick , which means that it will appear on all user desktops. Note that you shouldn't assume the is definitely stuck afterward, because other entities (e.g. the user or window manager) could unstick it again, and some window managers do not support sticking windows. But normally the will end up stuck. Just don't write code that crashes if not. You can track stickiness via the event on GtkWidget. It's permitted to call this method before showing a . Method System.Void For windows with frames (see ) this method can be used to change the size of the frame border. The width of the left border. The height of the top border. The width of the right border. The height of the bottom border. Note: this is a special-purpose method intended for the framebuffer port; see . It will have no effect on the window border drawn by the window manager, which is the normal case when using the X Window system. Method System.Void Adds a mnemonic to this . The mnemonic. The that gets activated by the mnemonic. Method System.Void Starts resizing a . Position of the resize control. Mouse button that initiated the drag. X position where the user clicked to initiate the drag, in root window coordinates. Y position where the user clicked to initiate the drag Timestamp from the click event that initiated the drag. This method is used if an application has window resizing controls. When GDK can support it, the resize will be done using the standard mechanism for the window manager or windowing system. Otherwise, GDK will try to emulate window resizing, potentially not all that well, depending on the windowing system. Method System.Void This method returns the position you need to pass to to keep in its current position. Return location for X coordinate of gravity-determined reference point. Return location for Y coordinate of gravity-determined reference point. If you haven't changed the window gravity, its gravity will be . This means that gets the position of the top-left corner of the window manager frame for the . sets the position of this same top-left corner. is not 100% reliable because the X Window System does not specify a way to obtain the geometry of the decorations placed on a by the window manager. Thus GTK# is using a "best guess" that works with most window managers. Moreover, nearly all window managers are historically broken with respect to their handling of window gravity. So moving a to its current position as returned by tends to result in moving the slightly. Window managers are slowly getting better over time. If a has gravity the window manager frame is not relevant, and thus will always produce accurate results. However you can't use static gravity to do things like place a in a corner of the screen, because static gravity ignores the window manager decorations. If you are saving and restoring your application's positions, you should know that it's impossible for applications to do this without getting it somewhat wrong because applications do not have sufficient knowledge of window manager state. The Correct Mechanism is to support the session management protocol (see the "GnomeClient" object in the GNOME libraries for example) and allow the window manager to save your sizes and positions. Method System.Void Asks to deiconify (i.e. unminimize) the specified . Note that you shouldn't assume the is definitely deiconified afterward, because other entities (e.g. the user or window manager) could iconify it again before your code which assumes deiconification gets to run. You can track iconification via the event on GtkWidget. Method System.Boolean Activates the targets associated with the mnemonic. The mnemonic. The modifiers. if the activation is done. Method System.Boolean Activates the default for the . if a is activated. That is unless the current focused has been configured to receive the default (see ) action in which case the case the focused is activated. Method System.Void Asks to maximize , so that it becomes full-screen. Note that you shouldn't assume the is definitely maximized afterward, because other entities (e.g. the user or window manager) could unmaximize it again, and not all window managers support maximization. But normally the will end up maximized. Just don't write code that crashes if not. You can track maximization via the event on . It's permitted to call this method before showing a , in which case the will be maximized when it appears onscreen initially. Method System.Void Removes a mnemonic from this . The mnemonic. The that gets activated by the mnemonic. Method System.Void Adds an X id number to the list of embedded windows. an object of type This is an advanced feature and is not used by typical code. The method adds the specified XID to a list of embedded windows that is maintained as object data on the Window object. This list is used for things like querying X rc settings. Method System.Void It sets the X Window System "class" and "name" hints for a . (Don't use this method.) Window name hint. Window class hint. According to the ICCCM, you should always set these to the same value for all windows in an application, and GTK# sets them to that value by default, so calling this method is sort of pointless. However, you may want to call on each in your application, for the benefit of the session manager. Setting the role allows the window manager to restore window positions when loading a saved session. Method System.Void Removes an X id number to the list of embedded windows. an object of type This is an advanced feature and is not used by typical code. The method removess the specified XID to a list of embedded windows that is maintained as object data on the Window object. This list is used for things like querying X rc settings. Method System.Void Sets the default size of an object, with the specified width and height arguments. Width in pixels, or -1 to unset the default width. Height in pixels, or -1 to unset the default height. If the 's "natural" size (its size request) is larger than the default, the default will be ignored. More generally, if the default size does not obey the geometry hints for the ( can be used to set these explicitly), the default size will be clamped to the nearest permitted size. Unlike which sets a size request for a and thus would keep users from shrinking the , this method only sets the initial size, just as if the user had resized the themselves. Users can still shrink the again as they normally would. Setting a default size of -1 means to use the "natural" default size (the size request of the ). For more control over a 's initial size and how resizing works, investigate . For some uses, is a more appropriate method. changes the current size of the , rather than the size to be used on initial display. always affects the itself, not the geometry widget. The default size of a only affects the first time a is shown; if a is hidden and re-shown, it will remember the size it had prior to hiding, rather than using the default size. Method System.Void Presents a to the user. This may mean raising the in the stacking order, deiconifying it, moving it to the current desktop, and/or giving it the keyboard focus, possibly dependent on the user's platform, window manager, and preferences. If is hidden, this method calls as well. This method should be used when the user tries to open a that's already open. Say for example the preferences dialog is currently open, and the user chooses Preferences from the menu a second time; use to move the already-open dialog where the user can see it. Method System.Void Hides , then reshows it, resetting the default size and position of the . Used by GUI builders only. Method System.Void Asks the window manager to move to the given position. X coordinate to move to. Y coordinate to move to. Window managers are free to ignore this; most window managers ignore requests for initial window positions (instead using a user-defined placement algorithm) and honor requests after the has already been shown. Note: the position is the position of the gravity-determined reference point for the . The gravity determines two things: first, the location of the reference point in root coordinates; and second, which point on the is positioned at the reference point. By default the gravity is so the reference point is simply the x, y supplied to . The top-left corner of the decorations (aka window frame or border) will be placed at , . Therefore, to position a at the top left of the screen, you want to use the default gravity (which is ) and move the to 0,0. To position a at the bottom right corner of the screen, you would set , which means that the reference point is at x + the width and y + the height, and the bottom-right corner of the window border will be placed at that reference point. Method System.Void Sets the position constraint for a . A position constraint. Is is used for placing the in some area, depending on the constraint. Method System.Void Associate with . A . Such that calling on will activate accelerators in . Method System.Void This method sets up hints about how a can be resized by the user. Widget the geometry hints will be applied to. Struct containing geometry information. Mask indicating which struct fields should be paid attention to. You can set a minimum and maximum size; allowed resize increments (e.g. for xterm, you can only resize by the size of a character); aspect ratios; and more. See . Method System.Void Disposes the resources associated with the object. Constructor Internal constructor. Pointer to the C object. An instance of Window, wrapping the C object. This is an internal constructor, and should not be used by user code. Constructor Creates a new Window object, based on the . A . A . Creates a new Window object, wich can be of type TopLevel ( most of the cases ) or PopUp. Take care with the use of PopUp type, since it is not controlled by the window manager. Constructor Creates a new TopLevel Window object, with as the title. A string. A . Creates a new TopLevel Window object, using as the title. You get the same if you use the public Window ( Gtk.WindowType type ) constructor and later set the string Title property. Property Gtk.Widget Sets or unsets the default for a about. Widget to be the default, or to unset the default for the toplevel. A . The default is the widget that's activated when the user presses Enter in a dialog (for example). When setting (rather than unsetting) the default it's generally easier to call on the . Before making a default , you must set the flag on the you'd like to make the default. Property System.Boolean If this function is called on a with setting of , before it is realized or showed, it will have a "frame" around widget->window, accessible in window->frame. Or it access the "frame" exterior to widget->window. A . if a frame has been added to the via . Using the event you can receive all events targeted at the frame. This method is used by the linux-fb port to implement managed windows, but it could concievably be used by X-programs that want to do their own window decorations. Note: This is a special-purpose method for the framebuffer port, this causes GTK# to draw its own window border. For most applications you want instead, which tells the window manager whether to draw the window border. Property Gdk.Gravity Sets or obtains the meaning of coordinates passed to . A window gravity. A window gravity. The default window gravity is which is typically "do what you mean". See and . Property Gdk.ModifierType Sets or obtains the mnemonic modifier for this . The modfier mask. The modifier mask used to activate mnemonics on this . Property Gdk.WindowTypeHint Sets or obtains the type hint for . The window type. The type hint for . By setting the type hint for the , you allow the window manager to decorate and handle the in a way which is suitable to the function of the in your application. This property should be called before the becomes visible. Property Gtk.Window Sets or obtains the transient parent window. Parent . Dialog windows should be transient for the main they were spawned from, this allows windows managers to e.g. keep the dialog on top of the main , or center the dialog over the main . On Windows(tm), this function will and put the child on top of the parent, much as the would have done in X. Property Gtk.Widget Sets a to be the focus widget for the if it is not the current focus widget, and its focusable, or retrieves the current focused within the . to be the new focus widget, or to unset any focus widget for the toplevel window. The currently focused , or if there is none. To set the focus to a particular in the toplevel, it is usually more convenient to use . Note: when retrieving the current focused is the that would have the focus if the toplevel focused; if the toplevel is not focused then will not be for the . Property System.String Sets or obtains the role of the . Unique identifier for the to be used when restoring a session. The role of the if set, or . The returned is owned by the widget and must not be modified or freed. This property is only useful on X11, not with other GTK# targets. In combination with the title, the role allows a window manager to identify "the same" when an application is restarted. So for example you might set the "toolbox" role on your app's toolbox , so that when the user restarts their session, the session manager can put the toolbox back in the same place. If a already has a unique title, you don't need to set the role, since the WM can use the title to identigy the when restoring the session. Property System.Boolean Sets or obtains whether the has been set to have decorations. to decorate the . if the has been set to have decorations. With this property you control if a will be decorated or not. By default, windows are decorated with a title bar and resize controls. Some window managers allow to disable these decorations, creating a borderless Window. If you set this property as false, Gtk# will try to convince the window manager not to decorate the . Property System.Boolean Sets or obtains whether a will be resizable by the user or not. if the user can resize this . if the user can resize the . By default, the are resizable, so you can change the size of them. But if you set this property to false, the user won't be able to change the size of them. Property Gtk.WindowPosition Property used for setting/getting the position. A position. See also . The position. See also . This property will alow you to define where a must be displayed on the screen. It work with the enum, so maybe you should check it before use it. Property System.Int32 Property used for setting or obtaining the default height of a . A height. The default height of the . This property will allow you to define the default height for your . It only define the default one, so if the is resized, it won't be able to do anything. Property System.Boolean Sets or obtains whether the transient parent of will also destroy itself an object of type an object of type This is useful for dialogs that shouldn't persist beyond the livefime of the main they're associated with, for example. Property System.Boolean Sets or obtains the modal status of . Whether the is modal. if the is set to be modal and establishes a grab when shown. Modal windows prevent interaction with other windows in the same application. To keep modal dialogs on top of main application windows, use to make the dialog transient for the parent; most window managers will then disallow lowering the dialog below the parent. There are two status: modal () and non-modal (). Property System.Boolean Sets or obtains if the can be resized to a larger size by the user. If the can be resized. if the can be resized. Property System.String Property used for setting the title. Title of the . The title of the , or if none has been set explicitely. The returned string is owned by the and must not be modified or freed. This property will allow you to set the title. The title of a will be displayed in its title bar. Since the title bar is rendered by the window managers on X Window System, the way it appears will depend on the user preferences. This title should help the users to distinguish a from others opened. A good title will have the application name an the actual document, for example. Property Gtk.WindowType The type of . The type. See also . Property System.Int32 Property used for setting or obtaining the default width of a . A . The default width of the . This property will allow you to define the default width for . It only define the default one, so if the is resized, it won't be able to do anything. Property Gdk.Pixbuf Property used for setting the icon for a . An icon. The default icon for . Property System.Boolean Sets or obtains if the has no mininum size. If the has no minimum size. if the has no minimum size. Setting this to is 99% of the time a bad idea. Event System.EventHandler KeysChanged event. This event is emited when the or mnemonic associated with the is changed. Event Gtk.MoveFocusHandler MoveFocus event. This event is emited when the focus is moved from one child to another. Event Gtk.SetFocusHandler SetFocus event. This event is emited when the focused widget is set. Event System.EventHandler DefaultActivated event. This event is emited when the keybinding for default widget activation is triggered. Event System.EventHandler FocusActivated event. This event is emited when the keybinding for focused widget activation is triggered. Event Gtk.FrameEventHandler FrameEvent event. This event is emited when has been set to true and an event occurs on the resulting frame. Property System.Boolean Property used for setting the automatic startup notification. If automatically do startup notification. if set to automatically do startup notification. By default, after showing the first for each , GTK# calls . Use this property to disable the automatic startup notification. You might do this if your first is a splash screen, and you want to delay notification until after your real main has been shown, for example. In that example, you would disable startup notification temporarily, show your splash screen, then re-enable it so that showing the main would automatically result in notification. Property Gdk.Screen Sets or obtains the where the is displayed. A . A . If the is already mapped, it will be unmapped, and then remapped on the new screen. Property System.Boolean Whether the toplevel is the current active . if the is the toplevel. Property System.Boolean Whether the input focus is within this . if the has the input focus. Property System.Boolean Whether the should not be in the pager. If then the will not be in the pager. if the should not be in the pager. Property System.Boolean Whether the should not be in the taskbar. If then the will not be in the taskbar. if the should not be in the taskbar. Method System.Boolean Sets an icon to be used as fallback for windows that haven't had called on them from a file on disk. Location of icon file. if setting the icon succeded. Method System.Void Asks to place in the fullscreen state. Note that you shouldn't assume the is definitely full screen afterward, because other entities (e.g. the user or window manager) could unfullscreen it again, and not all window managers honor requests to fullscreen windows. But normally the will end up restored to its normal state. Just don't write code that crashes if not. You can track the fullscreen state via the event on . Method System.Boolean Sets the icon for . Location of icon file. if setting the icon succeded. This method is equivalent to calling with pixbuf created by loading the image from . Method System.Void Asks to toggle off the fullscreen state for . Note that you shouldn't assume the is definitely not full screen afterward, because other entities (e.g. the user or window manager) could fullscreen it again, and not all window managers honor requests to unfullscreen windows. But normally the will end up restored to its normal state. Just don't write code that crashes if not. You can track the fullscreen state via the event on . Property System.IntPtr Raw Property a Returns the native object handle of this . Property GLib.GType GType Property a Returns the native GObject type for . Method System.Boolean Default handler for the event. a a Override this method in a subclass to provide a default handler for the event. Method System.Void Default handler for the event. Override this method in a subclass to provide a default handler for the event. Method System.Void Default handler for the event. Override this method in a subclass to provide a default handler for the event. Method System.Void Default handler for the event. a Override this method in a subclass to provide a default handler for the event. Method System.Void Default handler for the event. a Override this method in a subclass to provide a default handler for the event. Method System.Void Default handler for the event. Override this method in a subclass to provide a default handler for the event. Constructor Protected constructor. a a Chain to this constructor if you have manually registered a native GType for your subclass. Property Gdk.Pixbuf[] Sets or obtains the icon list to be used as fallback for windows that haven't had called on them to set up a window-specific icon list. An array of . An array of icons list. This method allows you to set up the icon for all windows in your app at once. Property Gdk.Pixbuf[] Sets or obtains the list of icons representing a . An array of s. An array of s. The icon is used when is minimized (also known as iconified). Some window managers or desktop environments may also place it in the window frame, or display it in other contexts. allows you to pass the same icon in several hand-drawn sizes. The list should contain the natural sizes your icon is available in; that is, don't scale the image before passing it to GTK#. Scaling is postponed unitl the last minute, when the desired final size is known, to allow best quality. By passing several sizes, you may improve the final image quality of the icon, by reducing or eliminating automatic image scaling. Recommended sizes to provide: 16x16, 32x32, 48x48 at minimum, and larger images (64x64, 128x128) if you have them). Note that transient windows (those who have been set transient for another using will inherit their icon from their transient parent. So there's no need to explicity set the icon on transient windows. When retrieving the list is copied, but the reference count on each won't be incremented. Method Gtk.Window[] Returns a list of all existing toplevel windows. An array of toplevel widgets. The widgets in the list are not individually referenced. Property Gdk.Size Sets or obtains the default size of . a A value of -1 for the size indicates that a default size has not been explicitly set for that dimension, so the "natural" size of the will be used. If the 's "natural" size (its size request) is larger than the default, the default will be ignored. More generally, if the default size does not obey the geometry hints for the ( can be used to set these explicitly), the default size will be clamped to the nearest permitted size. Unlike , which sets a size request for a and thus would keep users from shrinking the , this method only sets the initial size, just as if the user had resized the themselves. Users can still shrink the again as they normally would. Setting a default size of -1 means to use the "natural" default size (the size request of the ). For more control over a 's initial size and how resizing works, read . For some uses, is a more appropriate method. changes the current size of the , rather than the size to be used on initial display. always affects the itself, not the geometry widget. The default size of a only affects the first time a is shown; if a is hidden and re-shown, it will remember the size it had prior to hiding, rather than using the default size. Windows can't actually be 0x0 in size, they must be at least 1x1, but passing 0 is OK, resulting in a 1x1 default size. Property Gdk.Pixbuf Sets an icon to be used as fallback for windows that have not had called on them from a pixbuf. a Property System.Boolean Windows may set a hint asking the desktop environment not to receive the input focus. a to let this window receive input focus Property System.Boolean Asks to keep window below, so that it stays in bottom. a Note that you should not assume the window is definitely below afterward, because other entities (e.g. the user or window manager) could not keep it below, and not all window managers support putting windows below. But normally the window will be kept below. Just do not write code that crashes if not. It is permitted to call this function before showing a window, in which case the window will be kept below when it appears onscreen initially. You can track the below state via event. Note that, according to the Extended Window Manager Hints specification, the above state is mainly meant for user preferences and should not be used by applications e.g. for drawing attention to their dialogs. Property System.Boolean Asks to keep window above, so that it stays on top. a Note that you should not assume the window is definitely below afterward, because other entities (e.g. the user or window manager) could not keep it above, and not all window managers support putting windows below. But normally the window will be kept above. Just do not write code that crashes if not. It is permitted to call this function before showing a window, in which case the window will be kept above when it appears onscreen initially. You can track the below state via event. Note that, according to the Extended Window Manager Hints specification, the above state is mainly meant for user preferences and should not be used by applications e.g. for drawing attention to their dialogs. Method System.Boolean Activates mnemonics and accelerators for this window. a a This is normally called by the default KeyPressEvent handler for toplevel windows, however in some cases it may be useful to call this directly when overriding the standard key handling for a toplevel window. Method System.Void Changes how a toplevel window deals with its size request and user resize attempts. a a a The first policy is the default, that is, by default windows are designed to be resized by users. is deprecated and should not be used in newly-written code. Use instead. If set to , the allow_grow parameter allows the user to expand the window beyond the size request of its child widgets. If allow_grow is , be sure to check that your child widgets work properly as the window is resized. A toplevel window will always change size to ensure its child widgets receive their requested size. This means that if you add child widgets, the toplevel window will expand to contain them. However, normally the toplevel will not shrink to fit the size request of its children if it's too large; the auto_shrink parameter causes the window to shrink when child widgets have too much space. auto_shrink is normally used with the second of the two window policies mentioned above. That is, set auto_shrink to if you want the window to have a fixed, always-optimal size determined by your program. Note that auto_shrink does not do anything if allow_shrink and allow_grow are both set to . Neither of the two suggested window policies set the allow_shrink parameter to . If allow_shrink is , the user can shrink the window so that its children do not receive their full size request; this is basically a bad thing, because most widgets will look wrong if this happens. Furthermore Gtk has a tendency to re-expand the window if size is recalculated for any reason. The upshot is that allow_shrink should always be set to . Sometimes when you think you want to use allow_shrink, the real problem is that some specific child widget is requesting too much space, so the user can't shrink the window sufficiently. Perhaps you are calling gtk_widget_set_size_request() on a child widget, and forcing its size request to be too large. Instead of setting the child's usize, consider using gtk_window_set_default_size() so that the child gets a larger allocation than it requests. Method System.Boolean Propagate a key press or release event to the focus widget and up the focus container chain until a widget handles . a a This is normally called by the default KeyPressEvent and KeyReleaseEvent handlers for toplevel windows, however in some cases it may be useful to call this directly when overriding the standard key handling for a toplevel window. Method System.Void Destroys a Window. All toplevel windows must be explicitly destroyed.