[[!meta title="Documentation/GTK Interface"]] [[!meta author="James Bursa"]] [[!meta date="2010-04-07T17:05:44Z"]] [[!toc]] This page describes the GTK interface, which lives in the **gtk** directory. This interface is used on Linux, BSD, and can be used on other platforms which have a port of GTK. Windows and Scaffolding ----------------------- A "scaffolding" is a top-level main window, which contains a toolbar, menu bar, and one or more tabs containing web pages. Each tab corresponds to a gui\_window (and each frame if frames are present). All the UI designs for the main window are in netsurf.glade. **wndBrowser** is a scaffolding. It contains a VBox containing a MenuBar, Toolbar, Toolbar for search (normally hidden), and Notebook. The **tabContents** GtkTable (in tabContentsWindow) is used for each tab. It contains a table with two rows and two columns, which contain (line 1) a Layout, VScrollbar, (line 2) HPaned, and Statusbar (used for resizing only). The HPaned contains the actual status bar (as a Label), and a HScrollbar. Tab creation is implemented in gui\_create\_browser\_window() in gtk/gtk\_window.c. The scrollbars are linked to the layout here. Frames are implemented as a ScrolledWindow containing a Layout, which is then placed on the parent's Layout. This is also in gui\_create\_browser\_window(). [[!inline raw=yes pages="Documentation"]]