Introduction to GTK 4
        
        
          The GTK 4 package contains
          libraries used for creating graphical user interfaces for
          applications.
        
        
          This package is known to build and work properly using an LFS 12.2
          platform.
        
        
          Package Information
        
        
          
            - 
              
                Download (HTTP): 
                https://download.gnome.org/sources/gtk/4.14/gtk-4.14.5.tar.xz
               
- 
              
                Download MD5 sum: 4d7c8edbdd0aed4048053ca9f805ade4
               
- 
              
                Download size: 17 MB
               
- 
              
                Estimated disk space required: 711 MB (with docs; add 66 MB
                for tests)
               
- 
              
                Estimated build time: 1.3 SBU (using parallelism=4; with
                docs; add 1.3 SBU for tests)
               
 
        
          GTK 4 Dependencies
        
        
          Required
        
        
          FriBidi-1.0.15, gdk-pixbuf-2.42.12, graphene-1.10.8,
          ISO Codes-4.16.0, libepoxy-1.5.10,
          libxkbcommon-1.7.0, Pango-1.54.0, PyGObject-3.48.2, and wayland-protocols-1.36
        
        
          Recommended
        
        
          adwaita-icon-theme-46.2 (default for
          some gtk4 settings keys), gst-plugins-bad-1.24.7, gst-plugins-good-1.24.7 (runtime,
          built with libvpx-1.14.1), hicolor-icon-theme-0.18 (needed for
          tests and for defaults), and librsvg-2.58.3
        
        
          Recommended (Required if building GNOME)
        
        
          GLib-2.80.4 (with GObject Introspection)
        
        
          Optional
        
        
          colord-1.4.7, Cups-2.4.10, docutils-0.21.2, Gi-DocGen-2024.1, Highlight-4.13 (runtime, only used by
          gtk4-demo for syntax
          highlighting of demo source code), libcloudproviders-0.3.6, sassc-3.6.2, Tracker-3.7.3,
          Vulkan-Loader-1.3.294, cpdb,
          glslc, and sysprof
        
       
      
        
          Installation of GTK 4
        
        
          Install GTK 4 by running the
          following commands:
        
        mkdir build &&
cd    build &&
meson setup --prefix=/usr            \
            --buildtype=release      \
            -D broadway-backend=true \
            -D introspection=enabled \
            -D vulkan=disabled       \
            .. &&
ninja
        
          If you have Gi-DocGen-2024.1 installed and wish to build
          the API documentation for this package, issue:
        
        sed "s@'doc'@& / 'gtk-4.14.5'@" -i ../docs/reference/meson.build &&
meson configure -D documentation=true                            &&
ninja
        
          To run the tests, issue: dbus-run-session meson test --setup
          x11. If you are in a Wayland session, replace x11
          with wayland. Nine tests are known to fail if Cantrell
          fonts are not installed. Many tests will fail if ~/.config/gtk-4.0/settings.ini exists and the
          gtk-modules line is not commented out. On systems with NVIDIA
          graphics cards, the tests may take significantly longer than the
          above test time.
        
        
          Now, as the root user:
        
        ninja install
       
      
        
          Command Explanations
        
        
          --buildtype=release:
          Specify a buildtype suitable for stable releases of the package, as
          the default may produce unoptimized binaries.
        
        
          -D broadway-backend=true:
          This switch enables the HTML5 GDK backend.
        
        
          -D introspection=enabled:
          This switch enables using GObject Introspection to generate GIR
          bindings of this packages. These bindings are required by GNOME.
        
        
          -D cloudproviders=enabled: Use this
          switch if you have libcloudproviders-0.3.6 installed and
          wish to enable support for cloud providers in a file chooser
          window.
        
        
          -D tracker=enabled: Use this switch if
          you have Tracker-3.7.3 installed and wish to use search
          functionality when running a file chooser.
        
        
          -D colord=enabled: Use this switch if
          you have colord-1.4.7 installed and wish to use colord
          with the CUPS printing backend.
        
        
          -D man-pages=true: Use this switch if
          you have docutils-0.21.2 installed and wish to
          generate the man pages.
        
        
          -D sysprof=enabled: Use this switch if
          you have sysprof installed and
          wish to enable tracing support for GTK4-based applications.
        
        
          -D vulkan=enabled: Use this switch if
          you have Vulkan-Loader-1.3.294 installed and
          wish to build the experimental Vulkan backend. Note that you must
          have glslc
          installed if you decide to enable this option.
        
       
      
        
          Configuring GTK 4
        
        
          
            Config Files
          
          
            ~/.config/gtk-4.0/settings.ini and
            /usr/share/gtk-4.0/settings.ini
          
         
        
          
            Configuration Information
          
          
            GTK 4 themes change the way a
            GTK 4 application looks. An icon
            theme can be used to change the icons that appear on the
            application's toolbar. If you have installed a GTK 4 theme (e.g. the Adwaita theme built in
            GTK 4), an icon theme (such as
            oxygen-icons-6.0.0) and/or a font
            (Dejavu fonts), you can set your
            preferences in ~/.config/gtk-4.0/settings.ini, or the default
            system-wide configuration file (as the root user), in /usr/share/gtk-4.0/settings.ini. For the local
            user, an example is:
          
          mkdir -pv ~/.config/gtk-4.0
cat > ~/.config/gtk-4.0/settings.ini << "EOF"
[Settings]
gtk-theme-name = Adwaita
gtk-icon-theme-name = oxygen
gtk-font-name = DejaVu Sans 12
gtk-cursor-theme-size = 18
gtk-xft-antialias = 1
gtk-xft-hinting = 1
gtk-xft-hintstyle = hintslight
gtk-xft-rgba = rgb
gtk-cursor-theme-name = Adwaita
EOF
          
            There are many settings keys, some with default values. You can
            find them at Settings:
            GTK 4 Reference Manual.
          
         
       
      
        
          Contents
        
        
          
            
              Installed Programs:
              gtk4-broadwayd, gtk4-builder-tool,
              gtk4-demo, gtk4-demo-application, gtk4-encode-symbolic-svg,
              gtk4-icon-browser, gtk4-launch, gtk4-node-editor,
              gtk4-print-editor, gtk4-query-settings, gtk4-update-icon-cache,
              and gtk4-widget-factory
            
            
              Installed Libraries:
              libgtk-4.so
            
            
              Installed Directories:
              /usr/include/gtk-4.0, /usr/lib/gtk-4.0,
              and /usr/share/gtk-4.0
            
           
         
        
          
            Short Descriptions
          
          
            
              
              
            
            
              
                | 
                    gtk4-broadwayd
                   | 
                    provides support for displaying GTK 4 applications in a
                    web browser using HTML5 and web sockets
                   | 
              
                | 
                    gtk4-builder-tool
                   | 
                    performs various operations on GtkBuilder .ui files
                   | 
              
                | 
                    gtk4-demo
                   | 
                    is a simple program that demonstrates some of the tasks
                    that can be done with GTK 4
                   | 
              
                | 
                    gtk4-demo-application
                   | 
                    is a simple GTK 4 application which is useful for testing
                   | 
              
                | 
                    gtk4-encode-symbolic-svg
                   | 
                    converts symbolic SVG icons into special PNG files. GTK 4
                    can load and recolor these PNGs, just like original SVGs,
                    but loading them is much faster
                   | 
              
                | 
                    gtk4-icon-browser
                   | 
                    is a utility to explore the icons in the current icon
                    theme. It shows icons in various sizes, their symbolic
                    variants when available, as well as a description of the
                    icon and its context
                   | 
              
                | 
                    gtk4-launch
                   | 
                    launches an application using the given name. The name
                    should match the application .desktop file name (as seen
                    in /usr/share/applications), with or
                    without the '.desktop' extension | 
              
                | 
                    gtk4-node-editor
                   | 
                    is a utility to show and edit render node files. Such
                    render node files can be obtained e.g. from the GTK
                    inspector
                   | 
              
                | 
                    gtk4-print-editor
                   | 
                    is a simple program to demonstrate printing using GTK 4
                    applications
                   | 
              
                | 
                    gtk4-query-settings
                   | 
                    provides a complete listing of all settings related to
                    GTK 4
                   | 
              
                | 
                    gtk4-update-icon-cache
                   | 
                    is an icon theme caching utility that creates mmap()able
                    cache files for icon themes
                   | 
              
                | 
                    gtk4-widget-factory
                   | 
                    is a program to view GTK 4 themes and widgets
                   | 
              
                | 
                    libgtk-4.so | 
                    contains functions that provide an API to implement
                    graphical user interfaces
                   |