diff options
author | Havoc Pennington <hp@pobox.com> | 2002-01-19 18:51:48 +0000 |
---|---|---|
committer | Havoc Pennington <hp@src.gnome.org> | 2002-01-19 18:51:48 +0000 |
commit | 31283d57cabdf7de2d46352cd08eac57a23131cc (patch) | |
tree | 03d6465cf4210358fdddd452ca56fb10f8ddbbef /docs/reference/gtk/x11.sgml | |
parent | b292358479e87d0972f98ab0ab45e4211adfcdbf (diff) | |
download | gtk+-31283d57cabdf7de2d46352cd08eac57a23131cc.tar.gz |
link to new X11 section in a lot of places when mentioning the window
2002-01-19 Havoc Pennington <hp@pobox.com>
* gtk/gtkwindow.c: link to new X11 section in a lot of places when
mentioning the window manager.
* gtk/gtkwidget.c (gtk_widget_hide_on_delete): don't mention
window manager since we're portable.
2002-01-19 Havoc Pennington <hp@pobox.com>
* gtk/x11.sgml: add a mostly-empty X11 section
* gtk/framebuffer.sgml: make title consistent with windows section
* gtk/tmpl/gtkdrawingarea.sgml: couple of fixes
Diffstat (limited to 'docs/reference/gtk/x11.sgml')
-rw-r--r-- | docs/reference/gtk/x11.sgml | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/docs/reference/gtk/x11.sgml b/docs/reference/gtk/x11.sgml new file mode 100644 index 0000000000..9054e42a91 --- /dev/null +++ b/docs/reference/gtk/x11.sgml @@ -0,0 +1,103 @@ +<refentry id="gtk-x11" revision="17 Jan 2002"> +<refmeta> +<refentrytitle>Using GTK+ on the X Window System</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>GTK Library</refmiscinfo> +</refmeta> + +<refnamediv> +<refname>Using GTK+ on the X Window System</refname> +<refpurpose> +X11 aspects of using GTK+ +</refpurpose> +</refnamediv> + +<refsect1> +<title>GTK+ for the X Window System</title> + +<para> +On UNIX, the X backend is the default build for GTK+. So +you don't need to do anything special when compiling it, +and everything should "just work." +</para> + +<para> +To mix low-level Xlib routines into a GTK program, +see <link linkend="gdk-X-Window-System-Interaction">GDK X Window +System interaction</link> in the GDK manual. +</para> + +</refsect1> + +<refsect1 id="gtk-X11-arch"> +<title>Understanding the X11 architecture</title> + +<para> +People coming from a Windows or MacOS background often find certain +aspects of the X Window System surprising. This section introduces +some basic X concepts at a high level. For more details, the book most +people use is called the <citetitle pubwork="book">Xlib Programming +Manual</citetitle> by Adrian Nye; this book is volume one in the +O'Reilly X Window System series. +</para> +<para> +Standards are another important resource if you're poking in low-level +X11 details, in particular the ICCCM and the Extended Window Manager +Hints specifications. <ulink +url="http://www.freedesktop.org/standards/">freedesktop.org</ulink> +has links to many relevant specifications. +</para> +<para> +The GDK manual covers <link +linkend="gdk-X-Window-System-Interaction">using Xlib in a GTK +program</link>. +</para> + +<refsect2> +<title>Server, client, window manager</title> + +<para> +Other window systems typically put all their functionality in the +application itself. With X, each application involves three different +programs: the <firstterm>X server</firstterm>, the application (called +a <firstterm>client</firstterm> because it's a client of the X +server), and a special client called the <firstterm>window +manager</firstterm>. +</para> + +<para> +The X server is in charge of managing resources, processing drawing +requests, and dispatching events such as keyboard and mouse events to +interested applications. So client applications can ask the X server +to create a window, draw a circle, or move windows around. +</para> + +<para> +The window manager is in charge of rendering the frame or borders +around windows; it also has final say on the size of each window, +and window states such as minimized, maximized, and so forth. +On Windows and MacOS the application handles most of this. +On X11, if you wish to modify the window's state, or +change its frame, you must ask the window manager to do so on your +behalf, using an established <ulink +url="http://www.freedesktop.org/standards/">convention</ulink>. +</para> + +<para> +GTK+ has functions for asking the window manager to do various things; +see for example <link +linkend="gtk-window-iconify">gtk_window_iconify()</link> or <link +linkend="gtk-window-maximize">gtk_window_maximize()</link> or <link +linkend="gtk-window-set-decorated">gtk_window_set_decorated()</link>. +Keep in mind that <link +linkend="gtk-window-move">gtk_window_move()</link> and window sizing +are ultimately controlled by the window manager as well and most +window managers <emphasis>will</emphasis> ignore certain requests from +time to time, in the interests of good user interface. +</para> + +</refsect2> + +</refsect1> + +</refentry> |