Blame docs/reference/gdk/html/multihead.html

Packit Service fb6fa5
Packit Service fb6fa5
<html>
Packit Service fb6fa5
<head>
Packit Service fb6fa5
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit Service fb6fa5
<title>Multi-head Support Overview: GDK 2 Reference Manual</title>
Packit Service fb6fa5
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
Packit Service fb6fa5
<link rel="home" href="index.html" title="GDK 2 Reference Manual">
Packit Service fb6fa5
<link rel="up" href="reference.html" title="API Reference">
Packit Service fb6fa5
<link rel="prev" href="gdk2-General.html" title="General">
Packit Service fb6fa5
<link rel="next" href="GdkDisplay.html" title="GdkDisplay">
Packit Service fb6fa5
<meta name="generator" content="GTK-Doc V1.26.1 (XML mode)">
Packit Service fb6fa5
<link rel="stylesheet" href="style.css" type="text/css">
Packit Service fb6fa5
</head>
Packit Service fb6fa5
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Home
Packit Service fb6fa5
Up
Packit Service fb6fa5
Prev
Packit Service fb6fa5
Next
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5

Multi-head Support Overview

Packit Service fb6fa5

Multi-head Support Overview — Overview of GdkDisplay and GdkScreen

Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5

Overview

Packit Service fb6fa5

Packit Service fb6fa5
	Multihead support is based around two main object types:
Packit Service fb6fa5
	

Packit Service fb6fa5
    Packit Service fb6fa5
  • GdkDisplay

  • Packit Service fb6fa5
  • GdkScreen

  • Packit Service fb6fa5
    Packit Service fb6fa5

    Packit Service fb6fa5
          

    Packit Service fb6fa5

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

    Packit Service fb6fa5

    Packit Service fb6fa5
    	GdkScreen objects are the GDK
    Packit Service fb6fa5
    	representation of a physical screen. It is used throughout GDK and GTK+
    Packit Service fb6fa5
    	to specify which screen the top level windows are to be displayed on. 
    Packit Service fb6fa5
    	It is also used to query the screen specification and default settings such as 
    Packit Service fb6fa5
    	the default colormap (gdk_screen_get_default_colormap()),
    Packit Service fb6fa5
    	the screen width (gdk_screen_get_width()), etc.
    Packit Service fb6fa5
          

    Packit Service fb6fa5

    Packit Service fb6fa5
    	The following code samples demonstrate common usage of the objects described above.
    Packit Service fb6fa5
          

    Packit Service fb6fa5
    Packit Service fb6fa5

    Example 1. Testing the number of screen on the current display

    Packit Service fb6fa5
    Packit Service fb6fa5
      
    Packit Service fb6fa5
        
    Packit Service fb6fa5
          
    Packit Service fb6fa5
            
    1
    Packit Service fb6fa5
    2
    Packit Service fb6fa5
    3
    Packit Service fb6fa5
    4
    Packit Service fb6fa5
    5
    Packit Service fb6fa5
    6
    Packit Service fb6fa5
    7
    Packit Service fb6fa5
    8
    Packit Service fb6fa5
    9
    Packit Service fb6fa5
    10
    Packit Service fb6fa5
    11
    Packit Service fb6fa5
    12
    Packit Service fb6fa5
    13
    Packit Service fb6fa5
    14
    Packit Service fb6fa5
    15
    Packit Service fb6fa5
    16
    Packit Service fb6fa5
    17
    Packit Service fb6fa5
    18
    Packit Service fb6fa5
    19
    Packit Service fb6fa5
    20
    Packit Service fb6fa5
    21
    Packit Service fb6fa5
            
    gint num_screen = 0;
    Packit Service fb6fa5
    gchar *displayname = NULL;
    Packit Service fb6fa5
    GdkScreen **screen_list;
    Packit Service fb6fa5
    GdkDisplay *display;
    Packit Service fb6fa5
    Packit Service fb6fa5
    gtk_init (&argc, &argv);
    Packit Service fb6fa5
    Packit Service fb6fa5
    display = gdk_display_get_default ();
    Packit Service fb6fa5
    num_screen = gdk_display_get_n_screens (display);
    Packit Service fb6fa5
    displayname = gdk_display_get_name (display);
    Packit Service fb6fa5
    if (num_screen <= 1)
    Packit Service fb6fa5
      {
    Packit Service fb6fa5
        printf ("This Xserver (%s) manages only one screen. exiting...\n",
    Packit Service fb6fa5
                displayname);
    Packit Service fb6fa5
        exit (1);
    Packit Service fb6fa5
      }
    Packit Service fb6fa5
    else
    Packit Service fb6fa5
      {
    Packit Service fb6fa5
        printf ("This Xserver (%s) manages %d screens.\n", displayname,
    Packit Service fb6fa5
                num_screen);
    Packit Service fb6fa5
      }
    Packit Service fb6fa5
          
    Packit Service fb6fa5
        
    Packit Service fb6fa5
      
    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5

    Packit Service fb6fa5

    Example 2. Opening a second display

    Packit Service fb6fa5
    Packit Service fb6fa5
      
    Packit Service fb6fa5
        
    Packit Service fb6fa5
          
    Packit Service fb6fa5
            
    1
    Packit Service fb6fa5
    2
    Packit Service fb6fa5
    3
    Packit Service fb6fa5
    4
    Packit Service fb6fa5
    5
    Packit Service fb6fa5
    6
    Packit Service fb6fa5
    7
    Packit Service fb6fa5
    8
    Packit Service fb6fa5
    9
    Packit Service fb6fa5
    10
    Packit Service fb6fa5
    11
    Packit Service fb6fa5
    12
    Packit Service fb6fa5
    13
    Packit Service fb6fa5
    14
    Packit Service fb6fa5
    15
    Packit Service fb6fa5
    16
    Packit Service fb6fa5
    17
    Packit Service fb6fa5
    18
    Packit Service fb6fa5
    19
    Packit Service fb6fa5
    20
    Packit Service fb6fa5
    21
    Packit Service fb6fa5
    22
    Packit Service fb6fa5
            
    gchar *second_screen_name;
    Packit Service fb6fa5
    GdkDisplay *second_display;
    Packit Service fb6fa5
    GdkScreen *second_screen;
    Packit Service fb6fa5
    GtkWidget *window;
    Packit Service fb6fa5
    Packit Service fb6fa5
    gtk_init (&argc, &argv);
    Packit Service fb6fa5
    Packit Service fb6fa5
    /* screen2_name needs to be initialized before calling 
    Packit Service fb6fa5
    /* gdk_display_new() */
    Packit Service fb6fa5
    second_display = gdk_display_new (&argc, &argv, second_screen_name);
    Packit Service fb6fa5
    if (second_display)
    Packit Service fb6fa5
        second_screen = gdk_display_get_default_screen (second_display);
    Packit Service fb6fa5
    else 
    Packit Service fb6fa5
      {
    Packit Service fb6fa5
    	g_print ("Can't open display :\n\t%s\n\n",
    Packit Service fb6fa5
    		  second_screen_name);
    Packit Service fb6fa5
        exit (1);	
    Packit Service fb6fa5
      }
    Packit Service fb6fa5
    /* now GdkScreen can be assigned to GtkWindows */
    Packit Service fb6fa5
    Packit Service fb6fa5
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    Packit Service fb6fa5
    gtk_window_set_screen (window, second_screen);
    Packit Service fb6fa5
          
    Packit Service fb6fa5
        
    Packit Service fb6fa5
      
    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5

    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5

    See Also

    Packit Service fb6fa5

    Packit Service fb6fa5
    	

    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5

    GdkDisplay

    Packit Service fb6fa5

    the GDK Object used to represent and manipulate display

    Packit Service fb6fa5
    		related data

    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5

    GdkScreen

    Packit Service fb6fa5

    the GDK Object used to represent and query screen related

    Packit Service fb6fa5
    		data

    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5

    Packit Service fb6fa5
          

    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5
    Packit Service fb6fa5

    Generated by GTK-Doc V1.26.1
    Packit Service fb6fa5
    </body>
    Packit Service fb6fa5
    </html>