Skip to content

Commit

Permalink
build based on 48f086d
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Oct 1, 2023
1 parent 55bede2 commit a15d255
Show file tree
Hide file tree
Showing 22 changed files with 30 additions and 30 deletions.
2 changes: 1 addition & 1 deletion dev/diff3to4/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/doc/GLib_reference/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/doc/constants_reference/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/doc/preferences/index.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Preference Settings · Gtk4.jl</title><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../../">Gtk4.jl</a></span></div><form class="docs-search" action="../../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../../">Home</a></li><li><span class="tocitem">Manual</span><ul><li><a class="tocitem" href="../../manual/gettingStarted/">Getting Started</a></li><li><a class="tocitem" href="../../manual/properties/">Properties</a></li><li><a class="tocitem" href="../../manual/methods/">Automatically generated methods</a></li><li><a class="tocitem" href="../../manual/layout/">Layout</a></li><li><a class="tocitem" href="../../manual/signals/">Signals and Callbacks</a></li><li><a class="tocitem" href="../../manual/builder/">Builder</a></li><li><a class="tocitem" href="../../manual/textwidgets/">Text Widgets</a></li><li><a class="tocitem" href="../../manual/combobox/">Dropdown widgets</a></li><li><a class="tocitem" href="../../manual/listtreeview/">List and Tree Widgets</a></li><li><a class="tocitem" href="../../manual/dialogs/">Dialogs</a></li><li><a class="tocitem" href="../../manual/keyevents/">Key Events</a></li><li><a class="tocitem" href="../../manual/canvas/">Drawing with Cairo</a></li></ul></li><li><span class="tocitem">Howto</span><ul><li><a class="tocitem" href="../../howto/nonreplusage/">Using Gtk4 outside the REPL</a></li><li><a class="tocitem" href="../../howto/async/">Asynchronous UI</a></li><li><a class="tocitem" href="../../howto/sysimage/">Gtk4 in a sysimage</a></li></ul></li><li><a class="tocitem" href="../../diff3to4/">Gtk.jl to Gtk4.jl</a></li><li><span class="tocitem">Reference</span><ul><li><a class="tocitem" href="../reference/">Gtk4 Reference</a></li><li><a class="tocitem" href="../GLib_reference/">GLib Reference</a></li><li><a class="tocitem" href="../constants_reference/">Constants</a></li><li class="is-active"><a class="tocitem" href>Preference Settings</a><ul class="internal"><li><a class="tocitem" href="#EGL-directories-(Linux-and-Wayland)"><span>EGL directories (Linux &amp; Wayland)</span></a></li><li><a class="tocitem" href="#UV-loop-integration"><span>UV loop integration</span></a></li></ul></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Reference</a></li><li class="is-active"><a href>Preference Settings</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Preference Settings</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/JuliaGtk/Gtk4.jl/blob/main/docs/src/doc/preferences.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Preference-Settings"><a class="docs-heading-anchor" href="#Preference-Settings">Preference Settings</a><a id="Preference-Settings-1"></a><a class="docs-heading-anchor-permalink" href="#Preference-Settings" title="Permalink"></a></h1><p>Here is a list of preferences for Gtk4 that can be set using Preferences.jl.</p><h2 id="EGL-directories-(Linux-and-Wayland)"><a class="docs-heading-anchor" href="#EGL-directories-(Linux-and-Wayland)">EGL directories (Linux &amp; Wayland)</a><a id="EGL-directories-(Linux-and-Wayland)-1"></a><a class="docs-heading-anchor-permalink" href="#EGL-directories-(Linux-and-Wayland)" title="Permalink"></a></h2><p>GTK4 has a few different rendering backends, and by default on Linux it uses one based on OpenGL. Gtk4.jl uses JLL based libraries rather than the ones that come with your Linux distribution, and on Wayland, unfortunately, unless you tell <code>libglvnd_jll</code> where to find libEGL, it will be unable to find an OpenGL provider. As a result, on Wayland a Cairo-based fallback backend will be used. This may work fine for you, but it means that <code>GtkGLArea</code> will not work. We can tell <code>libglvnd_jll</code> where to find libEGL by setting the environment variable <code>__EGL_VENDOR_LIBRARY_DIRS</code>. See <a href="https://gitlab.freedesktop.org/glvnd/libglvnd/-/blob/master/src/EGL/icd_enumeration.md">here</a> for details.</p><p>You can point <code>libglvnd_jll</code> to a libEGL location using the preference <code>&quot;EGL_vendorlib_dirs&quot;</code>:</p><pre><code class="language-julia hljs">using Gtk4
Gtk4.set_EGL_vendorlib_dirs(&quot;/usr/share/glvnd/egl_vendor.d&quot;)
[ Info: Setting will take effect after restarting Julia.</code></pre><p>where &quot;/usr/share/glvnd/egl_vendor.d&quot; is a typical location for Mesa&#39;s libEGL (this should be modified if it&#39;s somewhere else on your distribution). Other vendor-provided libraries may be in other locations, and a colon-separated list of directories can be used for that situation. <strong>Note that this has only been tested for the Mesa-provided libEGL on Fedora and Ubuntu.</strong></p><h2 id="UV-loop-integration"><a class="docs-heading-anchor" href="#UV-loop-integration">UV loop integration</a><a id="UV-loop-integration-1"></a><a class="docs-heading-anchor-permalink" href="#UV-loop-integration" title="Permalink"></a></h2><p>GTK relies on an event loop (provided by GLib) to process and handle mouse and keyboard events, while Julia relies on its own event loop (provided by libuv) for IO, timers, etc. Interactions between these event loops can cause REPL lag and can interfere with multithreading performance. Explicit integration of the two loops by creating a libuv event source in the GLib main loop is currently <a href="https://github.com/JuliaGraphics/Gtk.jl/pull/630">disabled</a> because it caused <a href="https://github.com/JuliaGraphics/Gtk.jl/issues/503">slowdowns in multithreaded code</a>. On some Macs, unfortunately, <a href="https://github.com/JuliaGtk/Gtk4.jl/issues/23">REPL lag</a> occurs without this explicit integration (explicit in the sense that libuv can insert events in the GLib main loop through its own GSource).</p><p>By default, explicit GLib loop integration is only turned on on Macs in an interactive session. You can override this using the preference <code>&quot;uv_loop_integration&quot;</code>. If it&#39;s set to &quot;enabled&quot;, the libuv GSource will be created. If it&#39;s set to &quot;disabled&quot;, the libuv GSource will not be created, even on Macs in an interactive session. The setting &quot;auto&quot; uses the default behavior. The functions <code>GLib.set_uv_loop_integration</code> and <code>GLib.get_uv_loop_integration</code> can be used to set and get the preference.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../constants_reference/">« Constants</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 24 September 2023 20:19">Sunday 24 September 2023</span>. Using Julia version 1.9.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
[ Info: Setting will take effect after restarting Julia.</code></pre><p>where &quot;/usr/share/glvnd/egl_vendor.d&quot; is a typical location for Mesa&#39;s libEGL (this should be modified if it&#39;s somewhere else on your distribution). Other vendor-provided libraries may be in other locations, and a colon-separated list of directories can be used for that situation. <strong>Note that this has only been tested for the Mesa-provided libEGL on Fedora and Ubuntu.</strong></p><h2 id="UV-loop-integration"><a class="docs-heading-anchor" href="#UV-loop-integration">UV loop integration</a><a id="UV-loop-integration-1"></a><a class="docs-heading-anchor-permalink" href="#UV-loop-integration" title="Permalink"></a></h2><p>GTK relies on an event loop (provided by GLib) to process and handle mouse and keyboard events, while Julia relies on its own event loop (provided by libuv) for IO, timers, etc. Interactions between these event loops can cause REPL lag and can interfere with multithreading performance. Explicit integration of the two loops by creating a libuv event source in the GLib main loop is currently <a href="https://github.com/JuliaGraphics/Gtk.jl/pull/630">disabled</a> because it caused <a href="https://github.com/JuliaGraphics/Gtk.jl/issues/503">slowdowns in multithreaded code</a>. On some Macs, unfortunately, <a href="https://github.com/JuliaGtk/Gtk4.jl/issues/23">REPL lag</a> occurs without this explicit integration (explicit in the sense that libuv can insert events in the GLib main loop through its own GSource).</p><p>By default, explicit GLib loop integration is only turned on on Macs in an interactive session. You can override this using the preference <code>&quot;uv_loop_integration&quot;</code>. If it&#39;s set to &quot;enabled&quot;, the libuv GSource will be created. If it&#39;s set to &quot;disabled&quot;, the libuv GSource will not be created, even on Macs in an interactive session. The setting &quot;auto&quot; uses the default behavior. The functions <code>GLib.set_uv_loop_integration</code> and <code>GLib.get_uv_loop_integration</code> can be used to set and get the preference.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../constants_reference/">« Constants</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Sunday 1 October 2023 16:04">Sunday 1 October 2023</span>. Using Julia version 1.9.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit a15d255

Please sign in to comment.