GDK Reference Manual
<<< PrevHomeUpNext >>>

GdkDisplay

GdkDisplay — controls the keyboard/mouse pointer grabs and a set of GdkScreens

Synopsis


#include <gdk/gdk.h>


struct      GdkDisplay;
GdkDisplay* gdk_display_open                (const gchar *display_name);
GdkDisplay* gdk_display_get_default         (void);
G_CONST_RETURN gchar* gdk_display_get_name  (GdkDisplay *display);
gint        gdk_display_get_n_screens       (GdkDisplay *display);
GdkScreen*  gdk_display_get_screen          (GdkDisplay *display,
                                             gint screen_num);
GdkScreen*  gdk_display_get_default_screen  (GdkDisplay *display);
void        gdk_display_pointer_ungrab      (GdkDisplay *display,
                                             guint32 time);
void        gdk_display_keyboard_ungrab     (GdkDisplay *display,
                                             guint32 time);
gboolean    gdk_display_pointer_is_grabbed  (GdkDisplay *display);
void        gdk_display_beep                (GdkDisplay *display);
void        gdk_display_sync                (GdkDisplay *display);
void        gdk_display_close               (GdkDisplay *display);
GList*      gdk_display_list_devices        (GdkDisplay *display);
GdkEvent*   gdk_display_get_event           (GdkDisplay *display);
GdkEvent*   gdk_display_peek_event          (GdkDisplay *display);
void        gdk_display_put_event           (GdkDisplay *display,
                                             GdkEvent *event);
void        gdk_display_add_client_message_filter
                                            (GdkDisplay *display,
                                             GdkAtom message_type,
                                             GdkFilterFunc func,
                                             gpointer data);
void        gdk_display_set_double_click_time
                                            (GdkDisplay *display,
                                             guint msec);
void        gdk_display_get_pointer         (GdkDisplay *display,
                                             GdkScreen **screen,
                                             gint *x,
                                             gint *y,
                                             GdkModifierType *mask);
GdkWindow*  gdk_display_get_window_at_pointer
                                            (GdkDisplay *display,
                                             gint *win_x,
                                             gint *win_y);
struct      GdkDisplayPointerHooks;
GdkDisplayPointerHooks* gdk_display_set_pointer_hooks
                                            (GdkDisplay *display,
                                             const GdkDisplayPointerHooks *new_hooks);

Object Hierarchy


  GObject
   +----GdkDisplay

Signal Prototypes


"closed"    void        user_function      (GdkDisplay *gdkdisplay,
                                            gboolean arg1,
                                            gpointer user_data);

Description

GdkDisplay objects purpose are two fold:

  • To grab/ungrab keyboard focus and mouse pointer

  • To manage and provide information about the GdkScreen(s) available for this GdkDisplay

GdkDisplay objects are the GDK representation of the X Display which can be described as a workstation consisting of a keyboard a pointing device (such as a mouse) and one or more screens. It is used to open and keep track of various GdkScreen objects currently instanciated by the application. It is also used to grab and release the keyboard and the mouse pointer.

Details

struct GdkDisplay

struct GdkDisplay;

The GdkDisplay struct is the GDK representation of an X display. All its fields are private and should not be accessed directly.


gdk_display_open ()

GdkDisplay* gdk_display_open                (const gchar *display_name);

Opens a display.

display_name :

the name of the display to open

Returns :

a GdkDisplay, or NULL if the display could not be opened.


gdk_display_get_default ()

GdkDisplay* gdk_display_get_default         (void);

Gets the default GdkDisplay. This is a convenience function for:

  gdk_display_manager_get_default_display (gdk_display_manager_get())

Returns :

a GdkDisplay, or NULL if there is no default display.


gdk_display_get_name ()

G_CONST_RETURN gchar* gdk_display_get_name  (GdkDisplay *display);

Gets the name of the display.

display :

a GdkDisplay

Returns :

a string representing the display name. This string is owned by GDK and should not be modified or freed.


gdk_display_get_n_screens ()

gint        gdk_display_get_n_screens       (GdkDisplay *display);

Gets the number of screen managed by the display.

display :

a GdkDisplay

Returns :

number of screens.


gdk_display_get_screen ()

GdkScreen*  gdk_display_get_screen          (GdkDisplay *display,
                                             gint screen_num);

Returns a screen object for one of the screens of the display.

display :

a GdkDisplay

screen_num :

the screen number

Returns :

the GdkScreen object


gdk_display_get_default_screen ()

GdkScreen*  gdk_display_get_default_screen  (GdkDisplay *display);

Get the default GdkScreen for display.

display :

a GdkDisplay

Returns :

the default GdkScreen object for display


gdk_display_pointer_ungrab ()

void        gdk_display_pointer_ungrab      (GdkDisplay *display,
                                             guint32 time);

Release any pointer grab.

display :

a GdkDisplay.

time :

a timestap (e.g. GDK_CURRENT_TIME).


gdk_display_keyboard_ungrab ()

void        gdk_display_keyboard_ungrab     (GdkDisplay *display,
                                             guint32 time);

Release any keyboard grab

display :

a GdkDisplay.

time :

a timestap (e.g GDK_CURRENT_TIME).


gdk_display_pointer_is_grabbed ()

gboolean    gdk_display_pointer_is_grabbed  (GdkDisplay *display);

Test if the pointer is grabbed.

display :

a GdkDisplay

Returns :

: TRUE if an active X pointer grab is in effect


gdk_display_beep ()

void        gdk_display_beep                (GdkDisplay *display);

Emits a short beep on display

display :

a GdkDisplay


gdk_display_sync ()

void        gdk_display_sync                (GdkDisplay *display);

Flushes any requests queued for the windowing system and waits until all requests have been handled. This is often used for making sure that the display is synchronized with the current state of the program. Calling gdk_display_sync() before gdk_error_trap_pop() makes sure that any errors generated from earlier requests are handled before the error trap is removed.

This is most useful for X11. On windowing systems where requests are handled synchronously, this function will do nothing.

display :

a GdkDisplay


gdk_display_close ()

void        gdk_display_close               (GdkDisplay *display);

Closes the connection windowing system for the given display, and cleans up associated resources.

display :

a GdkDisplay


gdk_display_list_devices ()

GList*      gdk_display_list_devices        (GdkDisplay *display);

Returns the list of available input devices attached to display. The list is statically allocated and should not be freed.

display :

a GdkDisplay

Returns :

a list of GdkDevice


gdk_display_get_event ()

GdkEvent*   gdk_display_get_event           (GdkDisplay *display);

Gets the next GdkEvent to be processed for display, fetching events from the windowing system if necessary.

display :

a GdkDisplay

Returns :

the next GdkEvent to be processed, or NULL if no events are pending. The returned GdkEvent should be freed with gdk_event_free().


gdk_display_peek_event ()

GdkEvent*   gdk_display_peek_event          (GdkDisplay *display);

Gets a copy of the first GdkEvent in the display's event queue, without removing the event from the queue. (Note that this function will not get more events from the windowing system. It only checks the events that have already been moved to the GDK event queue.)

display :

a GdkDisplay

Returns :

a copy of the first GdkEvent on the event queue, or NULL if no events are in the queue. The returned GdkEvent should be freed with gdk_event_free().


gdk_display_put_event ()

void        gdk_display_put_event           (GdkDisplay *display,
                                             GdkEvent *event);

Appends a copy of the given event onto the front of the event queue for display.

display :

a GdkDisplay

event :

a GdkEvent.


gdk_display_add_client_message_filter ()

void        gdk_display_add_client_message_filter
                                            (GdkDisplay *display,
                                             GdkAtom message_type,
                                             GdkFilterFunc func,
                                             gpointer data);

Adds a filter to be called when X ClientMessage events are received.

display :

a GdkDisplay for which this message filter applies

message_type :

the type of ClientMessage events to receive. This will be checked against the message_type field of the XClientMessage event struct.

func :

the function to call to process the event.

data :

user data to pass to func.


gdk_display_set_double_click_time ()

void        gdk_display_set_double_click_time
                                            (GdkDisplay *display,
                                             guint msec);

Sets the double click time (two clicks within this time interval count as a double click and result in a GDK_2BUTTON_PRESS event). Applications should NOT set this, it is a global user-configured setting.

display :

a GdkDisplay

msec :

double click time in milliseconds (thousandths of a second)


gdk_display_get_pointer ()

void        gdk_display_get_pointer         (GdkDisplay *display,
                                             GdkScreen **screen,
                                             gint *x,
                                             gint *y,
                                             GdkModifierType *mask);

Gets the current location of the pointer and the current modifier mask for a given display.

display :

a GdkDisplay

screen :

location to store the screen that the cursor is on, or NULL.

x :

location to store root window X coordinate of pointer, or NULL.

y :

location to store root window Y coordinate of pointer, or NULL.

mask :

location to store current modifier mask, or NULL


gdk_display_get_window_at_pointer ()

GdkWindow*  gdk_display_get_window_at_pointer
                                            (GdkDisplay *display,
                                             gint *win_x,
                                             gint *win_y);

Obtains the window underneath the mouse pointer, returning the location of that window in win_x, win_y for screen. Returns NULL if the window under the mouse pointer is not known to GDK (for example, belongs to another application).

display :

a GdkDisplay

win_x :

return location for origin of the window under the pointer

win_y :

return location for origin of the window under the pointer

Returns :

the window under the mouse pointer, or NULL


struct GdkDisplayPointerHooks

struct GdkDisplayPointerHooks
{
  void (*get_pointer)              (GdkDisplay      *display,
				    GdkScreen      **screen,
				    gint            *x,
				    gint            *y,
				    GdkModifierType *mask);
  GdkWindow* (*window_get_pointer) (GdkDisplay      *display,
				    GdkWindow       *window,
				    gint            *x,
				    gint            *y,
				    GdkModifierType *mask);
  GdkWindow* (*window_at_pointer)  (GdkDisplay      *display,
				    gint            *win_x,
				    gint            *win_y);
};


gdk_display_set_pointer_hooks ()

GdkDisplayPointerHooks* gdk_display_set_pointer_hooks
                                            (GdkDisplay *display,
                                             const GdkDisplayPointerHooks *new_hooks);

This function allows for hooking into the operation of getting the current location of the pointer on a particular display. This is only useful for such low-level tools as an event recorder. Applications should never have any reason to use this facility.

display :

a GdkDisplay

new_hooks :

a table of pointers to functions for getting quantities related to the current pointer position, or NULL to restore the default table.

Returns :

the previous pointer hook table

Signals

The "closed" signal

void        user_function                  (GdkDisplay *gdkdisplay,
                                            gboolean arg1,
                                            gpointer user_data);

gdkdisplay :

the object which received the signal.

arg1 :

user_data :

user data set when the signal handler was connected.

<<< PrevHomeUpNext >>>
Multi-head Support OverviewGdkScreen