Compare commits

...

1003 Commits

Author SHA1 Message Date
Chun-wei Fan 4ad550f341 gdkdrag-win32.c: Fix drag surface positioning
Determine the root_x and root_y coordinates of the drag surface by
relying on the coordinates of the surface where the drag is being
carried out, plus the coordinates that we receive from the drag event,
which is in-line with what the X11 backend does.

This will prevent the drag surface from being initially drawn at the
correct position, but jumping towards the top-left corner of the screen
shortly afterwards.

The DnD support will still need some more updates to function correctly
on Windows, but at least this is a small improvement.

Fixes issue #3798.


(cherry picked from commit e35490ba5b)
2021-06-19 03:18:01 +00:00
Matthias Clasen c1816408c0 Merge branch 'backports-for-4-2' into 'gtk-4-2'
Assorted bugfix backports

See merge request GNOME/gtk!3687
2021-06-19 01:38:51 +00:00
Matthias Clasen 5699e5ba71 gsk: Respect max element vertices limitation
We are pretty good at batching commands now, and we can easily
produce batches that exceed the maximum number of elements per
draw call that the hw can handle. Query that number, and respect
it when merging batches.

This fixes the rendering of the overview map in GtkSourceView.
2021-06-18 10:22:50 -07:00
Matthias Clasen 5356202ba3 listitemwidget: Claim gesture when activating
Claim the gesture when we are activating a list item.

Otherwise we end up with double activations in
columnviews: first GtkColumnViewCell handles
the event, and then GtkListItemWidget handles
it again.

Fixes: #4015
2021-06-18 10:19:54 -07:00
Matthias Clasen 15a574976e listitemwidget: Match activation conditions
Make the conditions used for activation in the single-
and double-click case properly match, so that it is
obvious that we won't trigger both of them.
2021-06-18 10:19:47 -07:00
Zhi f9c7b68853 fix: make the new nsview as the first responder.
Make the new view as the first responder(focused) so the new view can
accept events from input method.

Fixes #3968.
2021-06-18 10:19:29 -07:00
Matthias Clasen 741603c838 label: Fix mnemonic handling
We were not handling the case right in which we
want to use underlines, but not use markup. Since
we are now using pango_parse_markup for this case,
we need to escape the xml markup.

Fixes: #4041
2021-06-18 10:19:07 -07:00
Benjamin Otte 5ab6eca84d cellarea: Don't shrink area too much
Do not compute rectangles with negative width/height. This avoids
assertion failures further down when those rectangles were actually
checked.

https://bugzilla.redhat.com/show_bug.cgi?id=1962215


(cherry picked from commit 4ba89f25b8)
2021-06-18 10:18:27 -07:00
Matthias Clasen 024151fe2c treeviewcolumn: Clip header buttons
We don't want to overdraw when dragging a narrow column
around, and we also need the clipping to avoid picking
the wrong column, when a later column button overlaps
an earlier one.

Fixes: #4045
2021-06-18 10:17:49 -07:00
Matthias Clasen d5bfcdc218 Merge branch 'fix-3793-4-2' into 'gtk-4-2'
gdksurface-win32.c: Fix up popup placement (fix issue #3793 for gtk-4-2)

See merge request GNOME/gtk!3675
2021-06-18 17:17:01 +00:00
Chun-wei Fan 90bd5a04fd gdksurface-win32.c: Fix up popup placement
If we are undergoing a surface move, just apply the next_layout anyways,
even if we are not moving a toplevel surface.

Update the way how we obtain the x and y coordinates of a surface, if it
is a toplevel, apply the x and y coordinates from the results from we
obtained the underlying Win32 HWND, as we did before.  But if it is a
popup, use gdk_win32_surface_get_geometry() to obtain the correct x and
y coordinates to place our popup surface.

Also correct how we compute the shadow dimensions, and the final popup
rectangle as we attempt to layout the popup surface, since GDK-Win32
keeps track of the shadow dimensions in system (unscaled) units, not GDK
units.

Fixes issue #3793.
2021-06-18 10:18:56 +08:00
Chun-wei Fan 16da71f1ce gdksurface-win32.c: Fix formatting for popup functions 2021-06-18 10:18:56 +08:00
Hugo Carvalho 807537dd5d Update Portuguese translation 2021-06-17 14:44:36 +00:00
Daniel Mustieles b3fa74d1ac Updated Spanish translation 2021-06-15 13:04:34 +02:00
Daniel Mustieles dcb620e103 Updated Spanish translation 2021-06-15 13:04:26 +02:00
Matthias Clasen c573732ef1 Merge branch 'alatiera-gtk-4-2-patch-27279' into 'gtk-4-2'
NEWS: use the correct version for the header

See merge request GNOME/gtk!3657
2021-06-11 00:17:40 +00:00
Jordan Petridis 69e72341a2 NEWS: use the correct version for the header 2021-06-10 20:54:06 +00:00
Matthias Clasen 2a0a55ae97 Merge branch 'wip/carlosg/spin-button-swipe-gesture-4-2' into 'gtk-4-2'
spinbutton: Connect swipe gesture to the text entry

See merge request GNOME/gtk!3651
2021-06-08 17:07:53 +00:00
Carlos Garnacho 6df3296211 spinbutton: Mind the step in the swipe gesture
The swipe gesture forces values in the spin button that are
"impossible" according to the adjustment. This can break things
in creative ways.

Ensure the steps provided are always multiples of the adjustment
step value, and keep the remainder for further interaction.
2021-06-08 18:35:39 +02:00
Carlos Garnacho a00d3b107e spinbutton: Connect swipe gesture to the text entry
In the GTK3 days, the spin button was an entry, with buttons on
top, and the swipe gesture affected the input on the entry bits.
Now the spin button is a container, so this gesture in the capture
phase applies to all contained children (incl. buttons).

Attach this gesture to the entry itself, so the buttons are left
outside this business. The gesture is still in the capture phase
in order to prevent text selection/edition/etc to happen.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4008
2021-06-08 18:35:38 +02:00
Matthias Clasen 4ffcc9aa26 Merge branch 'wip/carlosg/no-early-popup-ungrabs-4-2' into 'gtk-4-2'
gdk/wayland: Break only implicit grabs on wl_pointer.leave w/ pressed buttons (4.2)

See merge request GNOME/gtk!3640
2021-06-06 12:31:59 +00:00
Carlos Garnacho e7fdb43499 gdk/wayland: Break only implicit grabs on wl_pointer.leave w/ pressed buttons
The releasing of grabs while a button is pressed (e.g. after starting dnd, or
dragging the window, or going to overview with a pressed button, etc...) was
generalized here in https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1879.

However we shouldn't break all grabs here. In the case of grabbing popups,
compositors will still emit crossing events between client surfaces (e.g.
popping up and selecting a menu item via press-drag-release), breaking all
grabs here means inconsistent client state, that was
https://gitlab.gnome.org/GNOME/gtk/-/issues/2746.

That was fixed in mutter, by essentially making implicit grabs
owner_events=FALSE, however that breaks the mentioned use pattern entirely.
Mutter is changing this behavior back, so GTK should handle these crossing
events.

The grab that we are interested in breaking here is the implicit pointer
one. Popups will be dismissed via other means if the compositor says their
active grab needs breaking. This still leaves dnd/move/resize drags in
one place, while not allowing #2746 to happen with popups.
2021-06-05 18:29:39 +02:00
Matthias Clasen 03be0994ad Merge branch 'imcontext-ignore-more-4-2' into 'gtk-4-2'
imcontext: Ignore more keysyms

See merge request GNOME/gtk!3635
2021-06-05 02:39:51 +00:00
Matthias Clasen 073c40c738 imcontext: Ignore more keysyms
It finally dawned on my that #3673 is just another
case of unexpected keysyms getting sent our way via
fringe XKB features.

Ignore them all!
2021-06-04 21:29:17 -04:00
Anders Jonsson b3d6202833 Update Swedish translation 2021-06-04 21:16:04 +00:00
Matthias Clasen bf09dc47fd docs: Assorted fixes
Fix all the link syntax errors, now that gi-docgen
reports them.
2021-06-01 18:01:14 -04:00
Matthias Clasen 4e031a9542 Merge branch 'notebook-critical-4-2' into 'gtk-4-2'
Fix a critical in notebook code

See merge request GNOME/gtk!3616
2021-06-01 18:08:59 +00:00
Caolán McNamara 8d263eed02 invalid cast from 'GtkButton' to 'GtkBox'
on adding a page to a GtkNotebook

(soffice): Gtk-CRITICAL **: gtk_box_remove: assertion 'GTK_IS_BOX (box)' failed
2021-06-01 12:39:17 -04:00
Matthias Clasen 5047f79218 Merge branch 'fix.vs2013.link.4-2' into 'gtk-4-2'
gtk/meson.build: Fix linking on Visual Studio 2013 (gtk-4-2 branch)

See merge request GNOME/gtk!3576
2021-05-26 14:43:40 +00:00
Matthias Clasen 54885d14bf Merge branch 'ignore-nosymbol-press-4-2' into 'gtk-4-2'
imcontext: Ignore NoSymbol key events

See merge request GNOME/gtk!3592
2021-05-25 18:14:52 +00:00
Matthias Clasen c231ce6a9f Merge branch 'fix-im-reset-4-2' into 'gtk-4-2'
imcontextsimple: Fix a possible problem

See merge request GNOME/gtk!3585
2021-05-25 17:29:30 +00:00
Matthias Clasen c12f1ebebb imcontext: Ignore NoSymbol key events
These can happen with some XKB options.

Fixes: #3973
2021-05-25 13:24:41 -04:00
Matthias Clasen 6c1f404e5a imcontextsimple: Fix a possible problem
We were forgetting to handle the compose sequence
case in reset().
2021-05-25 08:05:50 -04:00
Chun-wei Fan caa5fd0584 gtk/meson.build: Fix linking on Visual Studio 2013
Visual Studio 2013's linker does not suport `/WHOLEARCHIVE:`, just
explicitly extract the objects from the static libraries that will
form the final GTK DLL.
2021-05-24 10:32:48 +08:00
Matthias Clasen d883b0a383 Merge branch 'cherry-pick-7db87a88' into 'gtk-4-2'
Merge !3565 into gtk-4-2

See merge request GNOME/gtk!3566
2021-05-21 16:19:12 +00:00
Matthias Clasen ffcbc44c7f Merge branch 'ci-image-4-2' into 'gtk-4-2'
ci: Stop using a separate docs image

See merge request GNOME/gtk!3573
2021-05-21 03:08:19 +00:00
Matthias Clasen 633d59fff9 build: Fix default options for gdk-pixbuf
The gdk-pixbuf subproject api changed (options changed
from boolean to feature). Adapt to that.
2021-05-20 22:05:20 -04:00
Matthias Clasen 939a254e28 ci: Stop using a separate docs image
No longer needed with gi-docgen.
2021-05-20 21:49:26 -04:00
Benjamin Otte 06a0265efa Merge branch 'fix-gst-media-file' into 'master'
gtkgstmediafile: Remove media-info-updated callback

Closes #3913

See merge request GNOME/gtk!3565

(cherry picked from commit 7db87a8889)

12a9a0fa gtkgstmediafile: Remove media-info-updated callback
2021-05-19 16:51:53 +00:00
Matthias Clasen f639fda994 Merge branch 'pixbuf-fix-for-4-2' into 'gtk-4-2'
Meson: gdk-pixbuf jpeg/png options changed to feature

See merge request GNOME/gtk!3532
2021-05-07 21:14:51 +00:00
Xavier Claessens 26805edcff Meson: gdk-pixbuf jpeg/png options changed to feature 2021-05-07 15:34:52 -04:00
Matthias Clasen d5db409c44 Merge branch 'wip/carlosg/map-emulated-moveresize-window-4.2' into 'gtk-4-2'
gdk/x11: Ensure to map the non-ewmh moveresize emulation window before use

See merge request GNOME/gtk!3530
2021-05-07 19:32:46 +00:00
Carlos Garnacho b6a4ffef36 gdk/x11: Ensure to map the non-ewmh moveresize emulation window before use
Otherwise, we don't deem it as able to be grabbed, which we intend to do
immediately after.
2021-05-07 16:28:07 +02:00
Matthias Clasen ba44668478 4.2.1 2021-05-03 21:37:09 -04:00
Matthias Clasen 2f921ab667 dragsource: Keep the source alive long enough
When a drop causes the event controller to be finalized
(directly or indirectly), we end up segfaulting while
trying to wrap up the drag operation. So, keep a reference
on the GtkDragSource from when the drag begins to when
it is done.

This fixes a crash in gnome-todo when dragging tasks.
2021-05-03 21:20:54 -04:00
Matthias Clasen d9784df92e inspector: Improve monitor information display
Avoid a nested listbox, show the connector,
don't show information we don't have. Also,
disconnect all signal handlers from the display
when the inspector is going away.
2021-05-03 21:20:08 -04:00
Matthias Clasen 6a5f93ff95 shortcuts: Ignore consumed modifiers for mnemonics
This is necessary to make mnemonics like Alt-1 work in
layouts where numeric keys are shifted, like AZERTY.

Fixes: #3912
2021-05-03 21:19:43 -04:00
Matthias Clasen 7578a18cd6 contentdeserializer: Fix an oversight
The argument passed with string_deserializer must be
a charset name. Passing the mimetype there does not
make sense.
2021-05-03 21:19:28 -04:00
Ivan Molodetskikh a5895b5995 gtkgstmediafile: Fix callback argument type 2021-05-03 21:19:14 -04:00
Matthias Clasen 37582c6bf9 wayland: Rewrite shm format debug spew
Rewrite this in a way that doesn't depend on kernel
header defines at the time the wayland scanner was run.

This was causing the build to break on Centos 8, where
a bunch of fourcc formats are missing.
2021-05-03 21:19:07 -04:00
Matthias Clasen 84f02c633c Check for root being a GtkWindow in a few places
These things were showing up as crashes during DND,
when the root is a GtkDragIcon. I'm sure there's more.
2021-05-03 21:18:59 -04:00
Bilal Elmoussaoui fdb2776577 gdk: add zero-terminated annotation to content_formats_get_gtypes 2021-05-03 21:18:48 -04:00
Bilal Elmoussaoui 94539d469c gdk: fix content_formats_get_mime_types annotation 2021-05-03 21:18:42 -04:00
Chun-wei Fan f6a2d8148b gdkglcontext-win32.c: Fix running with Mesa drivers
Some GL drivers such as Mesa-D3D12 do not allow one to call SetPixelFormat() on
a given HDC if one pixel format has been already set for it, so first check the
HDC with GetPixelFormat() to see whether a pixel format has already been set
with the HDC, and only attempt to acquire the pixel format if one has not been
set.

This will fix running with GL/NGL on Windows using the Mesa drivers.
2021-05-03 21:18:26 -04:00
Geyslan G. Bem 35e3eaf8cb gtkplacessidebar.c: fix coding style
Signed-off-by: Geyslan G. Bem <geyslan@gmail.com>
2021-05-03 21:18:20 -04:00
Emmanuele Bassi 2bc7b64004 docs: Add missing extra files for gdk4 sub-references
The Wayland and X11 references need the gtk-logo.svg and the urlmap.js
extra files.

Fixes: #3905
2021-05-03 21:18:03 -04:00
David Lechner 2df07f0564 gdk/wayland/cursor/os-compatibility: fix build when memfd_create is not available
When building for homebrew/linuxbrew on Ubuntu 16.04, memfd_create() is
not available and causes the build to fail.

This adds a proper check for the function.
2021-05-03 21:17:53 -04:00
Geyslan G. Bem 2d747cca3c gtkplacessidebar.c: add bookmark null checking
This fixes nautilus crash and perhaps other callers issues.
Nautilus (and sometimes glib) crashes with malformed URI inside of the
bookmarks file .config/gtk-3.0/bookmarks when it has no LABEL.

This is result from the closed glib MR #2065 analysis and agreement.
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2065#note_1091979

Signed-off-by: Geyslan G. Bem <geyslan@gmail.com>
2021-05-03 21:17:48 -04:00
Matthias Clasen f795a75d2b x11: Try harder to find the right monitor
If we deal with a panel, we end up with no monitor,
and crash, which isn't great and isn't necessary.

Fixes: #3900
2021-05-03 21:17:37 -04:00
Benjamin Otte 8748d9511b clipboard: Fix reading of files
Make sure writing a terminating null byte actually works and we don't
just ignore the error message.
2021-05-03 21:17:27 -04:00
Benjamin Otte 0fe3a26122 clipboard: Make sure G_TYPE_STRING is nul-terminated
When reading text, we need to check we terminate the G_TYPE_STRING
string with a null byte, because the clipboard does not guarantee one.

So just append a \0 to the stream.

Fixes #3899
2021-05-03 21:17:21 -04:00
Matthias Clasen 9145365331 window: Don't let solid-csd linger
Just from reading the code, it seems that we
should unset .csd and .solid-csd at the same
time, since the are mutually exclusive and
we unset them here so realize() can set one
of them again.
2021-05-03 21:17:03 -04:00
Matthias Clasen 84295147fd Simplify shadow conditions
The code in gtkwindow.c for dealing with the various
combinations of client-side decorations and client-side
shadows is entirely too complicated.

This commit does not really clean it up, but simplifies
one of the shadow conditions far enough to make some
sense.

With this change, I get the expected decorations in
all the cases I can easily reproduce locally.
2021-05-03 21:16:55 -04:00
Matthias Clasen 7ec50b1dd3 x11: Fix shadows
Commit a2cd21cab6 changed a condition and inadvertedly
broke client-side shadows on X11. Change this back.

Fixes: #3896
2021-05-03 21:16:44 -04:00
Matthias Clasen a5b4c2bb48 a11y: Don't sent redundant property changes
We were sending a property changed event for every set
property whenever we were sending any updates.
2021-05-03 21:16:35 -04:00
Matthias Clasen d26a3c28d0 gdk: Avoid synthetic motion confusion
Don't emit a synthetic motion event on a surface
that is grab-shadowed by a popup. This has been
known to confuse GTK, at times.

Fixes: #3439
2021-05-03 21:16:22 -04:00
Matthias Clasen e75df3dcd3 window: Make resize border size independent
Deriving the resize border size from the shadows
carries the risk that we might end up with uneven
resize borders (or none at all, on some sides).

So, justs enforce that we have a big enough shadow
width on all sides.
2021-05-03 21:12:16 -04:00
Ulli Kehrle db5eef5a81 imcontextsimple: Ignore more modifiers in compose
Previously it was impossible to compose characters on higher levels of
some keyboard layouts as pressing the level selection key would just
exit compose mode.

Examples for affected keyboard layouts include the Latvian
apostrophe-variant "lv(apostrophe)" (latched third level), the extended
German keyboard layout "de(e1)" (latched fifth level) as well as the
multilingual Canadian keyboard layout "ca(multix)" and the German
neo-layout "de(neo)" and its descendants (shifted fifth level).

To reproduce, set a compose key and select the Latvian apostrophe layout.
Notice that you now can input [ by pressing first the ' and then the 8-key.
Then pressing <compose>'8'8 should produce ⟦, but prior to this patch it
did not.
2021-05-03 21:12:07 -04:00
Matthias Clasen 0b0d7d3877 window: Tweak resize borders
Make windows resizable in the padding and border
area of the css box as well. This naturally makes
solid-csd borders work again.
2021-05-03 21:12:01 -04:00
Matthias Clasen 10b302ac29 window: Fix up resize borders
The invisible resize borders have been wider than they
should, for a while. Go back to a size close to what
we have in GTK3.

To summarize: resize borders will be at most 12 pixels
on each size, but never wider than the windows shadow.
The resize corners have 'legs' of 24 pixels where you
still get a corner resize cursor.

Fixes: #3856
2021-05-03 21:11:53 -04:00
John Renner f1bfbeba45 Allow repeated selection extension on gktlistbox 2021-05-03 21:11:46 -04:00
Emmanuele Bassi ca405f1060 a11y: Update the labelled-by relation of GtkTreeExpander
Whenever we change the :child property, we need to update the
labelled-by relation.
2021-05-03 21:11:36 -04:00
Emmanuele Bassi 4baec1ef22 a11y: Set state on the GtkTreeExpander widget
Instead of setting it on its internal child.
2021-05-03 21:11:21 -04:00
Matthias Clasen d35e069436 imcontext: Fix cursor positions
gtk_im_context_get_preedit_string is documented to
return the cursor position as a character offset,
not a byte count. So return that.

Fixed: #3885
2021-05-03 21:11:12 -04:00
Emmanuele Bassi 6a95ca6995 a11y: Pair window:activate with window:deactivate signal
Orca needs both events in order to decide whether or not to subscribe to
other event/state changes in a window.
2021-05-03 21:11:01 -04:00
Matthias Clasen 268c174506 x11: Don't beep on untrusted displays
This can trigger BadAccess, and we don't
want that.

Fixes: #3862
2021-05-03 21:10:56 -04:00
Matthias Clasen 7e3493b15e a11y: Realize notebook tabs when switching
We're not moving focus here, so we can't rely
on that to conjure the a11y objects into existence.
2021-05-03 21:10:46 -04:00
Alberts Muktupāvels be65bab5f6 theme: fix solid-csd style
Move .solid-csd style out of .csd parent and adjust it so windows
look similar / same to GTK 3 windows:
- 4px padding.
- extra shadow.

https://gitlab.gnome.org/GNOME/gtk/-/issues/3879#note_1086351
https://gitlab.gnome.org/GNOME/gtk/-/issues/3879#note_1086377
2021-05-03 21:10:39 -04:00
Matthias Clasen c04139405a a11y: Avoid spurious selection changed events
Only send selection-changed events when we either
had a non-empty selection before, or have one now.

This should help orca speak the right things, and
not the wrong things.

Related: #3549
2021-05-03 21:10:29 -04:00
Emmanuele Bassi 5fc008024b a11y: Emit window:activate event
Orca uses the window:activate event type to track top levels, and avoid
being spammed by events coming from non-focused windows.
2021-05-03 21:10:24 -04:00
Matthias Clasen f6bec2edf2 stackswitcher: Set accessible label properties
This makes the tabs in about dialogs come out as
'About', 'Credits', and 'System', instead of
'Tab', 'Tab', 'Tab'.
2021-05-03 21:10:14 -04:00
Matthias Clasen c1e68f6044 a11y: Emit focus events
Orca relies on these to keep track of the focus location,
ignoring the focused state. With this change, orca can
once again speak text in entries as I type.
2021-05-03 21:10:08 -04:00
Matthias Clasen 549e5a8e3a a11y: Make things appear on focus in
We are starting with a pretty empty a11y object tree,
and we want orca to bring more of it into existence
by navigating the tree. But that only happens when we
send it events. Primarily focus events, which come in
from GTK via the platform_change mechanism. So realize
the context when we are sending platform_changes,
otherwise, orca never gets the mesage.
2021-05-03 21:10:03 -04:00
Matthias Clasen 5783d8af91 Fix a possible crash in gtk_show_uri
g_file_get_basename can return NULL.
Deal with it somehow.

Fixes: #3883
2021-05-03 21:09:54 -04:00
Matthias Clasen 1926d91e1d a11y: Actually set accessible roles
With most context realization happening inside
GtkAtspiContext in response to D-Bus calls, the
code in gtk_widget_realize_at_context that sets
the role is not executed for most accessibles,
causing them to be stuck with the 'filler' role
that makes orca ignore them.

To fix this, split gtk_widget_realize_at_context
into the actual context realization (getting on
the bus) and the setting of widget-specific
properties, and do the latter part when the
widget is rooted.

This makes accerciser report proper roles for
entries and buttons. Orca still has an issue
with getting the hierarchy populated.
2021-05-03 21:08:11 -04:00
Matthias Clasen 0441101786 a11y: Track window states more closely
Orca ignores events unless the object is inside an object
with role window and states ACTIVE and SHOWING. To arrange
for this, introduce a new ACTIVE platform state, and set it
for windows when they are active.

This gets orca to be a lot more talkative.
2021-05-03 21:07:53 -04:00
Matthias Clasen eb8fce3645 a11y: Add the root object to the cache
Not 100% sure this is necessary, but maybe it helps
to get orca up to speed.
2021-05-03 21:06:36 -04:00
Matthias Clasen 016294ba6e atspicontext: Remove an unused field
We don't make any use of the cache field, so drop it.
2021-05-03 21:06:31 -04:00
Jason Francis b9ce81b912 meson: check for madvise() 2021-05-03 21:06:03 -04:00
Matthew Garrett a9d0563085 gtksecurememory: Request that secure memory not be dumped to disk
Linux 3.4 added support for the MADV_DONTDUMP option to madvise(), which
requests that the covered memory not be included in coredumps. It makes
sense to use this to prevent cases where application crashes could
result in secrets being persisted to disk or included in dumps that are
uploaded to remote servers for analysis. I've avoided making this fatal
since there's a chance this code could be built on systems that have
MADV_DONTDUMP but run on systems that don't.
2021-05-03 21:05:57 -04:00
Matthias Clasen e6bab9b64c placesview: Fix server mount feedback
We weren't properly resetting the in-entry progress.
2021-05-03 21:05:44 -04:00
Matthias Clasen 513aa20f76 placesview: Fix mounting remote locations
This was broken by a stupid copy-paste error.
2021-05-03 21:05:37 -04:00
Matthias Clasen 83b38e55c0 window: Fix deferred focus unsetting
In commit 4a76abffd4, we deferred unsetting focus
and default until after the next draw, overlooking the
case where the focus is set to another widget before we
ever get to the unsetting.

Fixes: #3413
2021-05-03 21:05:14 -04:00
Chun-wei Fan 22b23a6d19 GTK: Fix builds against latest stable GLib with MSVC
GLib-2.68.x now considers warning C4098 ('void' function returning a value) as
an error, so avoid doing that.
2021-05-03 21:05:04 -04:00
Chun-wei Fan 908f5dc142 GSK: Fix builds against latest stable GLib with MSVC
GLib-2.68.x now considers warning C4098 ('void' function returning a value) as
an error, so avoid doing that.
2021-05-03 21:04:58 -04:00
Chun-wei Fan 7ef493ec88 GDK: Fix builds against latest stable GLib with MSVC
GLib-2.68.x now considers warning C4098 ('void' function returning a value) as
an error, so avoid doing that.
2021-05-03 21:04:51 -04:00
Matthias Clasen 6edfd29df0 imcontext: Eat key events during preedit
Avoid passing through random key press or release
events while we are showing preedit. That prevents
'accidents' like typing Ctrl-. bringing up the
Emoji chooser during preedit, or hitting Ctrl-a
after the Compose key moving the 'dot' around in
vim in terminals.
2021-05-03 21:04:38 -04:00
nana-4 eabbc0ef30 theme: Use -gtk-icon-filter for full-color icons
Not for symbolic icons.

Don't apply `-gtk-icon-filter: opacity(0.5);` to the symbolic icons as
they already have the "gray" colors indicating the disabled state.
Symbolic icons can be styled using the `color` property.

Also remove the obsolete comment.
2021-05-03 21:04:26 -04:00
Eli Schwartz bfcd5f4881 meson: only build demo manpages when demos are enabled
Installing them even when manpages are enabled, but the demos are
disabled, produces manpages for unavailable programs...
2021-05-03 21:04:13 -04:00
Matthias Clasen 201fc28a67 x11: Be quiet on exit by default
The condition we check for to catch X servers going away
may not be accurate anymore, and the warning shows up in
logs, causing customers to be concerned. So, be quiet by
default, unless the user explicitly asked for a message.
2021-05-03 21:04:02 -04:00
Ondrej Holy 0026f74dbe placesview: Open location even if mount was not found
Some locations have to be mounted, but their mounts are not user-visible
(e.g. smb-browse). Though this is maybe a bit weird, it is how it works
for years. The problem is that the commit 267ea755, which tries to get the
default location for opening, caused regression as it doesn't expect such
possibility. Before this commit, such locations were opened without any
issue, but nothing happens currently after clicking to "Connect" except of
clearing the "Connect to Server" entry. Let's fallback to the original
location if the mount was not found to fix this regression.

Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/1811
2021-05-03 21:03:56 -04:00
Matthias Clasen d116ba348f ngl: Fix a rare assertion violation
When we clean up the uniform allocations after a frame,
it can happen that our space requirements actually increase,
due to padding that depends on the order of allocations.

Instead of asserting that it doesn't happen, just make
it work by growing our allocation.

Fixes: #3853
2021-05-03 21:03:40 -04:00
Matthias Clasen 06c0012dd4 togglebutton: Fix expected group behavior
The expectation is that a grouped button stays
active when you click it. Grouped check buttons
behave this way, and grouped toggle buttons should
too.
2021-05-03 21:02:53 -04:00
Matthias Clasen 7b84ffd378 icon browser: Make header buttons not steal focus
This is rarely useful, and is confusing when it
happens as side-effect of dragging the window.
2021-05-03 21:02:45 -04:00
Matthias Clasen cc5d2f24e8 widget-factory: Make header buttons not steal focus
This is rarely useful, and is confusing when it
happens as side-effect of dragging the window.
2021-05-03 21:02:38 -04:00
Matthias Clasen c06462aec0 gtk-demo: Make header buttons not steal focus
This is rarely useful, and is confusing when it
happens as side-effect of dragging the window.
2021-05-03 21:02:32 -04:00
Matthias Clasen a4aaab2e5b menubutton: Propagate focus-on-click
Propagate the focus-on-click setting to the button
inside, so that setting menubuttons as !focus-on-click
works as expected. This helps for menubuttons in
header bars, where dragging on the button will otherwise
steal focus from the content.
2021-05-03 21:02:26 -04:00
Matthias Clasen fe237c4030 roundedrect: Speed up contains_rect and friends
gsk_rounded_rect_contains_rect was calling
gsk_rounded_rect_contains_point, which potentially
checks all four corners, for a total of up to 16
corner/point checks. But there is no need to do
more than 4 such checks to answer the question.
2021-05-03 21:02:08 -04:00
Matthias Clasen ff8f32bf10 nodeeditor: Make the help window wide enough
Make the help window wide enough to show the
tables without wrapping.
2021-05-03 21:01:54 -04:00
Matthias Clasen 8a8edde78d media: Fix a memory leak
This was introduced in e7dc82fa32.
2021-05-03 21:01:46 -04:00
Matthias Clasen 3852512446 gsk: Don't overshadow
Reduce the cairo shadows to the same size as their GL brethren.
2021-05-03 21:01:39 -04:00
Matthias Clasen c926f9491a window: Defer focus setting until after paint
Commit 3dbf5038fa tried to defer focus changes
until after rendering is done. But it failed to do so, since
the toplevel ::render handler is still before rendering of
popups that are attached to that toplevel. To do this
properly, we need to do it in the AFTER_PAINT frame clock
phase.

Fixes: #3725
2021-05-03 21:01:28 -04:00
Matthias Clasen 03176fe23c scrolledwindow: Stop using scroll cursors
We used to override cursor to use all-scroll while the
content is being scrolled. Unfortunately, there is several
problems with this:
- It is really only expected certain devices, and we don't
  have the device information on Wayland
- With the way cursor setting works in GTK4, non-NULL cursors
  of the content (eg the text views ibeam) win, making the
  scroll cursor not show up
- Under X11, we seem to miss scroll end events and then
  the scroll cursor gets stuck
Therefore, just remove this feature.
2021-05-03 21:01:13 -04:00
Matthias Clasen d0cb76fff4 ngl: Fix an oversight
All the rest of debug spew goes to stderr here.
2021-05-03 21:00:57 -04:00
Matthias Clasen d76e106382 wayland: Improve font setting fallback more
We may get a response from the portal that contains
no useful settings at all. In that case, we should
fallback as well.

Fixes: #3838
2021-05-03 21:00:32 -04:00
Carlos Garnacho f7ab0b19c7 surface: Always set PHASE_PAINT as pending when updates are scheduled
At times (most often when closing subsurfaces that are scheduling
relayouts) the PHASE_PAINT handling gets broken with the following
sequence:

1. Surface receives wl_callback.done for the previous frame.
   Surface is thawed.
2. A new update on the surface is scheduled. PHASE_PAINT is
   requested directly on the frame clock. priv->pending_phase is
   left unset in the surface.
3. Surface gets frozen
4. Frame clock processes the update scheduled at 2. The surface
   is frozen, so paint is prevented. PHASE_PAINT is considered
   handled.
5. Compositor emits wl_callback.done again. Surface is thawed.
6. At this point the machinery is off
   - The surface didn't paint but has pending update regions
   - priv->draw_needed is set in the toplevel and other portions
     of the widget tree
   - So queueing redraws is ineffective at eventually calling
     gdk_surface_schedule_update() again on the toplevel surface.
   - We don't paint anymore, so this broken state is not flushed
     until other subsurface changes manage to schedule the missing
     update.

To fix this, always set PHASE_PAINT in priv->pending_phase when
doing gdk_surface_schedule_update(). If the frame clock turns
around before the surface is thawed, it will still be waiting to
be processed the next iteration.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3750
2021-05-03 21:00:19 -04:00
Emmanuele Bassi b50df28e38 Install documentation in the appropriate place
We're already installing each reference into its own namespaced
directory, so we don't need to add further path elements.

Additionally, with the changes in:

  https://gitlab.gnome.org/GNOME/devhelp/-/merge_requests/20
  https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/54

we can browse the GTK API references in DevHelp.
2021-05-03 21:00:06 -04:00
Matthias Clasen f97d32e253 wayland: Improve font setting fallback
When we don't get stettings from the portal, the current
fallback is 'awful fonts'. There is no need for that. Instead,
set the fallback values to grayscale antialiasing with slight
hinting.
2021-05-03 20:59:46 -04:00
Matthias Clasen b7a0744324 modelbutton: Avoid a crash
We may not have a popover menu ancestor. The check for
this was forgotten in one of the branches here.

Fixes: #3831
2021-05-03 20:59:32 -04:00
Matthias Clasen 3ef8ff2a43 window: Actually enable the inspector by default
427d216081 changed the default in the schema,
but didn't handle cases where the schema isn't found.
2021-05-03 20:59:25 -04:00
Matthias Clasen b4844e2ace ngl: Fix an oversight
We were special-casing 2D affine transforms,
but overlooked even simpler transforms.
2021-05-03 20:59:16 -04:00
Matthias Clasen 610f5ce75c settings: Make font-size changes apply immediately
We need to invalidate the style when font-size changes,
because we propagate this value through the initial
value of the CSS font-size property, and it will not
be recomputed otherwise.
2021-05-03 20:58:20 -04:00
Matthias Clasen 3c4c7896fc immulticontext: Unset client widget on delegate change
Forgetting to do so was causing the Wayland im context
to leave behind a dead event controller. This was showing
up as a crash when closing the inspector after changing
the im-module property of a GtkText widget. The crash
was delayed until closing the inspector because the
inspector keeps a ref on the event controllers of the
currently shown widget.
2021-05-03 20:58:13 -04:00
Matthias Clasen 686752a852 comboboxtext: Remove misleading docs
The entry is no longer accessible.
The docs were outdated.

Fixes: #3824
2021-05-03 20:57:38 -04:00
Matthias Clasen 8bb1b8da57 ngl: Avoid huge intermediate textures
Instead of rendering the unclipped child to a texture
(and risking blowing the texture size limit, and bad
downscaling), just render the clipped region, and live
with the fact that we can't cache the rendered texture.

This avoid bad artifacts when scrolling long textviews
in rounded clips.
2021-05-03 20:57:16 -04:00
Matthias Clasen 1b81af591d ngl: Plug a memory leak
This was introduced in f9457af128.
2021-05-03 20:57:10 -04:00
Matthias Clasen 88a8287c1d ngl: Fix downscaled textures
It is not pretty, but at least it works now.
2021-05-03 20:57:05 -04:00
Chris Mayo 8cc2dbe6f8 button: Style .keyboard-activating on frameless buttons
The use of the keyboard-activating CSS class for buttons was added
in [1], but the style did not apply to buttons with has-frame=FALSE.

[1] 00923615f4 ("button: Add back visual feedback for keynav", 2021-04-01)
2021-05-03 20:56:56 -04:00
Matthias Clasen aec29503bf fontchooser: Fix initial font selection
The change in 740559a54f to populate the list incrementally
broke initial font selection. Fix that, by trying to select
until the incremental filling is done.

Fixes: #3687
2021-05-03 20:56:36 -04:00
Matthias Clasen 1506a41448 button: Add back visual feedback for keynav
We lost the visual feedback for activating a button
via Space or Enter when the :active pseudo-state became
managed. Bring it back with a style class.

Fixes: #3813
2021-05-03 20:56:01 -04:00
Matthias Clasen 63622923f0 Add one more compose test 2021-05-03 20:55:56 -04:00
Matthias Clasen 59c87b8387 Add more compose tests
Test the sequences whose demise made people
unhappy.
2021-05-03 20:55:46 -04:00
Matthias Clasen fdf71e13c4 Revert Compose sequence changes
This was breaking muscle memory of people with
the us intl keyboard layout, for important keys
such as '. The unfortunate side-effect is that
our handling of <dead_acute> is a bit hampered
by sequences that don't fit the pattern. But
such is life.

Fixes: #3807
2021-05-03 20:55:32 -04:00
Chris Mayo 5d49dabade docs: Escape tags in GtkBuilder description
Fixes the tags and the rest of the gi-docgen created HTML page not being
visible in a browser.
2021-05-03 20:55:24 -04:00
Benjamin Otte 405fab8b36 Merge branch 'wip/otte/for-master' into 'master'
snapshot: scale border widths when appending border nodes

Closes #3819

See merge request GNOME/gtk!3384
2021-04-01 15:10:50 +00:00
Benjamin Otte ef455f5c85 snapshot: Move sanity checks to a better place
Fixes cases where the sanity checks would reject valid code, like when
using GL shaders on a scaled transform.

Fixes #3819
2021-04-01 16:53:33 +02:00
Benjamin Otte 05e4cd1579 snapshot: scale border widths when appending border nodes
Found by Matthias on IRC while arguing about GtkSnapshot being too
complicated.
2021-04-01 16:37:43 +02:00
Matthias Clasen 0ea96e3b0c Merge branch 'filechooser-signal-disconnect' into 'master'
filechooserwidget: Disconnect settings signal on dispose

See merge request GNOME/gtk!3383
2021-04-01 14:25:08 +00:00
Carlos Garnacho 1e9e7bf0d9 Merge branch 'wip/exalm/overshoot-changes' into 'master'
scrolledwindow: Cancel overshoot on dimension changes

Closes #3752

See merge request GNOME/gtk!3300
2021-04-01 12:11:15 +00:00
Alexander Mikhaylenko d7a5dedd4f scrolledwindow: Cancel overshoot on dimension changes
If we scroll down in a list that's still being filled, we hit the edge and
initiate overshoot, and then the adjustment's upper value increases. This
leads to an unwanted bounce back.

Additionally, if in a similar situation the upper value decreases, the
overscroll glow gets stuck.

Update kinetic scrolling upper and lower value on changes, and immediately
cancel it if dimensions on that side change.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3752
2021-04-01 16:37:30 +05:00
Rafał Dzięgiel 2e65416270 filechooserwidget: Reduce code duplication for disconnecting settings signal
Instead of getting current display before calling settings signal removal,
do it inside remove function and only if there is a signal connection to remove.
2021-04-01 09:36:23 +02:00
Rafał Dzięgiel 13c22e4e2f filechooserwidget: Disconnect settings signal on dispose
Settings signal was not being disconnected on dispose causing
application crash when user changed icon theme after dialog disposal.
2021-04-01 09:28:37 +02:00
Matthias Clasen 65a061f3c2 Merge branch 'ebassi/broadway-docs' into 'master'
docs: Update the Broadway instructions

See merge request GNOME/gtk!3380
2021-03-31 21:42:59 +00:00
Matthias Clasen fc63e6856f Merge branch 'ebassi/docs-links' into 'master'
docs: Update the links to the docs of GTK dependencies

Closes #3817

See merge request GNOME/gtk!3381
2021-03-31 21:42:49 +00:00
Matthias Clasen 94747d53eb Merge branch 'offscreen-fixes' into 'master'
Offscreen fixes

See merge request GNOME/gtk!3379
2021-03-31 21:27:18 +00:00
Matthias Clasen b5df1299ec gsk: Add another test
Compare clipped repeat nodes. Must skip cairo here
since it blurred the child by scaling after rendering.

Also skip the gl renderer, since it hasn't been fixed
for this yet. ngl passes this test.
2021-03-31 16:49:31 -04:00
Emmanuele Bassi 7bfff6c51e docs: Update the links to the docs of GTK dependencies
Use docs.gtk.org where appropriate.

Fixes: #3817
2021-03-31 20:51:27 +01:00
Emmanuele Bassi 3fdedce8f6 docs: Update the Broadway instructions
The Broadway server binary is now versioned, and it's not compatible
with the GTK3 server.
2021-03-31 20:06:54 +01:00
Matthias Clasen 6f62107656 testsuite: Rename next to ngl
Use specific names for renderers in the gsk tests.
Otherwise the tests may use the wrong renderer, or
the same renderer twice.
2021-03-31 14:59:43 -04:00
Matthias Clasen f9457af128 ngl: Fix offscreen rendering with transforms
There was confusion here about the handling of the
modelview transform. The modelview transform we are
getting is already set up for rendering the node
we are given, so keep it - except for possible adding
an extra scale on top when the texture would otherwise
be too big.
2021-03-31 14:36:24 -04:00
Matthias Clasen 94f0a4ef2c ngl: Be explicit about offscreen clipping
Explicitly set all the input arguments.
This makes it clearer what is going on.
2021-03-31 14:34:16 -04:00
Matthias Clasen 53e75936cb ngl: Add sonme comments
The GskNglRenderOffscreen struct is a mix of in and
out arguments. Better annotate that a little bit.
2021-03-31 14:32:47 -04:00
Matthias Clasen 5f0fe09423 Merge branch 'ebassi/for-master' into 'master'
Update the gi-docgen repository

See merge request GNOME/gtk!3352
2021-03-31 11:34:56 +00:00
Benjamin Otte 9e402fa064 Merge branch 'wip/otte/for-master' into 'master'
gstmedia: Properly detect stream metadata when preparing

See merge request GNOME/gtk!3377
2021-03-30 21:54:57 +00:00
Emmanuele Bassi d84440969a Merge branch 'ebassi/docs-ci' into 'master'
ci: Add missing graphviz dependency

See merge request GNOME/gtk!3376
2021-03-30 20:44:51 +00:00
Benjamin Otte e7dc82fa32 gstmedia: Properly detect stream metadata when preparing
We can look at the GstPlayerMediaInfo to get all the info we care about.
2021-03-30 22:26:26 +02:00
Emmanuele Bassi f1b3492700 ci: Add missing graphviz dependency
We generate the hierarchy graph for GTK types, and in order to do so, we
need the dot utility from graphviz in the CI image.
2021-03-30 21:08:43 +01:00
Anders Jonsson 6c95fc7e87 Update Swedish translation 2021-03-30 17:13:11 +00:00
Matthias Clasen f4cc9a47ad Merge branch 'docs' into 'master'
docs: Cover corner-case of @line_number = total lines in buffer

See merge request GNOME/gtk!3373
2021-03-30 16:09:34 +00:00
Matthias Clasen ccbbc2f2ba 4.2.0 2021-03-30 11:00:55 -04:00
Matthias Clasen 8bc2ee63eb Actually build docs for releases 2021-03-30 11:00:54 -04:00
Matthias Clasen 68d634b31c Disable the border-image-url reftest
It seems to make assumptions about text positioning that
are not holding with subpixel positioning. I'm not 100%
sure how that leads to exactly the artifacts that are seen
here, but I am just disabling the test until that is fully
understood.
2021-03-30 11:00:54 -04:00
Matthias Clasen d1c66f75e3 Disable flaky focus tests 2021-03-30 11:00:54 -04:00
Matthias Clasen eba9cd8775 Disable the label-background reftest
It makes assumptions about text positioning that are
not holding with subpixel positioning. There is no
guarantee that the next word in a multi-word text
starts on an even pixel boundary, as it does when
you break the text into multiple, separately rendered
blocks.
2021-03-30 11:00:54 -04:00
Matthias Clasen 9606945ed8 Fix tests for new version 2021-03-30 11:00:54 -04:00
Matthias Clasen d50d382032 Merge branch 'ebassi/dist-docs' into 'master'
build: Dist the API references

See merge request GNOME/gtk!3375
2021-03-30 14:58:53 +00:00
Emmanuele Bassi 5da3308572 build: Dist the API references
Copy them into the dist root from the build root, so that they will be
available in the release archive.
2021-03-30 15:42:40 +01:00
Jonas Ådahl fb48699ba4 Merge branch 'issue3791-gtk4' into 'master'
gdk/wayland: Defer processing of globals closures

Closes #3791

See merge request GNOME/gtk!3374
2021-03-30 14:06:33 +00:00
Robert Mader 56d37ceed0 gdk/wayland: Defer processing of globals closures
... until all globals have been received.

The dependency tracking introduced in 4e9be39518 only allows to
specify required globals and processes the closures as soon as
the requirements have been met. There are, however, also optional
dependencies - most notably the primary_selection protocol.
Currently we rely on the fact that compositors like Mutter announce
it before `wl_seat`, even though the order is not specified in
the spec.

Process globals closures only after all globals have been announced,
so optional dependencies can be accommodated.

Closes https://gitlab.gnome.org/GNOME/gtk/-/issues/3791
2021-03-30 15:20:00 +02:00
Avinash Sonawane 622bb9186e docs: Cover corner-case of @line_number = total lines in buffer 2021-03-30 17:00:33 +05:30
Matthias Clasen b77e05ce37 Merge branch 'ngl-text-tweaks' into 'master'
Ngl text tweaks

See merge request GNOME/gtk!3367
2021-03-30 11:15:13 +00:00
Matthias Clasen ba4e66d189 ngl: Avoid a goto
Reshuffle the code slightly, so we can use a continue
instead.
2021-03-30 00:34:52 -04:00
Matthias Clasen 2c33550048 gsk: Avoid empty glyphs early
Strip out PANGO_GLYPH_EMPTY when text nodes are
constructed. Then we don't have to check this special
case in the inner loop in visit_text_node.
2021-03-30 00:34:52 -04:00
Matthias Clasen 3add99a9a8 ngl: Speed up glyph loop
Move some work out of the loop in visit_text_node.
This takes advantage of the fact that the yoffset
of most glyphs is zero, so yphase generally does
not change in a line of text.
2021-03-30 00:19:28 -04:00
Matthias Clasen d4ea2e848d ngl: We only need two bits for phases
We use 4 phases, so 2 bits are enough.
2021-03-30 00:19:28 -04:00
Matthias Clasen 4c06889243 Updates 2021-03-30 00:18:48 -04:00
Matthias Clasen ef544a8c3b Merge branch 'ngl-trivia' into 'master'
Ngl trivia

See merge request GNOME/gtk!3372
2021-03-30 04:16:00 +00:00
Matthias Clasen 6db9215dd1 Merge branch 'video-player-images' into 'master'
gtk-demo: Allow opening images in video player

See merge request GNOME/gtk!3371
2021-03-30 03:54:13 +00:00
Matthias Clasen 8b64f0147c gtk-demo: Allow opening images in video player
It works, so why not.
2021-03-29 23:40:17 -04:00
Matthias Clasen 5847f75c57 ngl: Cosmetics
Remove a local variable in gsk_render_job_visit_text_node.
2021-03-29 15:17:20 -04:00
Matthias Clasen ce2c3efc91 ngl: Improve packing
Pack texture cache entries slightly better.

There was a 4 byte hole here.
2021-03-29 15:17:10 -04:00
Matthias Clasen 2599c5aed3 gsk: Typo fix 2021-03-29 15:16:44 -04:00
Matthias Clasen bca39e2605 ngl: Typo fix 2021-03-29 15:16:25 -04:00
Matthias Clasen ca0e1be03e Merge branch 'frame-rate-benchmark' into 'master'
Add a frame benchmark

See merge request GNOME/gtk!3364
2021-03-29 15:52:51 +00:00
Benjamin Otte 6569a877d8 Merge branch 'wip/otte/for-master' into 'master'
Wip/otte/for master

Closes #3810

See merge request GNOME/gtk!3366
2021-03-29 15:41:55 +00:00
Benjamin Otte 38fff37dae mediastream: Insist streams are prepared when they start playing
Applications expect that behavior, so don't let implementations get away
without preparing the stream.
2021-03-29 17:08:34 +02:00
Benjamin Otte 06be1f8b52 gstmedia: Ensure we prepare files without duration
In particular this fixes playback of images.

Fixes #3810
2021-03-29 17:08:34 +02:00
Matthias Clasen 43a1641dd7 Add a frame benchmark
This can be used to gauge what fps we can hope for
in the best case, on a given system.
2021-03-29 08:27:43 -04:00
Yosef Or Boczko b21fba117f Update Hebrew translation
(cherry picked from commit 1beb550830)
2021-03-28 22:34:55 +00:00
Yosef Or Boczko 37d5f93610 Update Hebrew translation
(cherry picked from commit 4a7e08bb8e)
2021-03-28 21:31:44 +00:00
Matthias Clasen 52aea624a6 Merge branch 'text-node-tweak' into 'master'
textview: Tweak render nodes

See merge request GNOME/gtk!3362
2021-03-28 17:25:36 +00:00
Matthias Clasen 711acb6aa7 Merge branch 'smarter-diff' into 'master'
Smarter diff

See merge request GNOME/gtk!3361
2021-03-28 17:24:23 +00:00
Hugo Carvalho 3e94c5afa4 Update Portuguese translation
(cherry picked from commit ef7cbad45d)
2021-03-28 16:35:59 +00:00
Matthias Clasen a75c038e09 textview: Tweak render nodes
Arrange for the contents to be in a single transform
node that is updated as we scroll. This makes the job
of the render node differ a lot easier, since it does
not have to compare to big containers one-by-one.
2021-03-28 10:59:55 -04:00
Matthias Clasen 146069058f Add some tests for node diffing
Nothing deep yet, but more can be added.
2021-03-28 10:45:40 -04:00
Matthias Clasen 2d5dd7b3d7 gsk: Make rendernode diffing smarter
Allow comparing container nodes to any other
node, by pretending the other node is a single
child container (if it isn't one already).

This fixes a glitch where we redraw the full
entry text when the blinking cursor goes to
opacity 0, since GskSnapshot then optimizes
away first the opacity node, and then the
single-child container.
2021-03-28 10:26:06 -04:00
Matthias Clasen 0904dd29c2 gsk: Use floorf for floats 2021-03-28 10:26:06 -04:00
Matthias Clasen 279b9347fd gsk: Cosmetics 2021-03-28 10:26:02 -04:00
Matthias Clasen 2a2ae16894 ngl: Cosmetics
Remove a commented out line that snuck in with
a recent commit.
2021-03-28 10:26:02 -04:00
Matthias Clasen 3e1a8aa286 Merge branch 'fix-memleaks' into 'master'
Fix memleaks

See merge request GNOME/gtk!3360
2021-03-28 14:23:35 +00:00
Matthias Clasen db126a19b6 Plug a test memleak 2021-03-27 21:52:49 -04:00
Matthias Clasen ffa50f4c24 Plug a memory leak in an error path 2021-03-27 21:44:19 -04:00
Matthias Clasen e1866d8fbe Ignore pthread allocations in valgrind 2021-03-27 21:43:59 -04:00
Matthias Clasen d24a0e9606 tests: Plug a memory leak 2021-03-27 21:13:25 -04:00
Matthias Clasen b8693cc4f4 tests: Make the pixbuf test use TAP
Otherwise, meson just considers this test skipped.
2021-03-27 21:03:43 -04:00
Matthias Clasen 5d5adf6ee7 asan: Ignore leaks from librsvg
Turns out that there are some leaks from librsvg.
2021-03-27 21:03:43 -04:00
Matthias Clasen dda69bd16d tests: Plug memory leaks
This one was pointed out by asan.
2021-03-27 21:03:43 -04:00
Matthias Clasen 926b855d14 Merge branch 'fix-memleaks' into 'master'
Fix memleaks

See merge request GNOME/gtk!3359
2021-03-27 23:47:05 +00:00
Matthias Clasen afc3de6e04 notebook: Don't leak the pages property
We were misuing a transfer-full getter here.
2021-03-27 19:11:56 -04:00
Matthias Clasen 45f4090eec stack: Don't leak the pages property
We were misusing a transfer-full getter here.
2021-03-27 19:11:56 -04:00
Matthias Clasen 4cf69fbc5e builder: Plug a small memory leak
We were forgetting to free expression info
objects in one place.
2021-03-27 19:11:56 -04:00
Matthias Clasen 0c6da97147 builder: Add an assertion
This case is clearly not meant to happen.
Assert that it doesn't.
2021-03-27 19:11:56 -04:00
Matthias Clasen 8994635d39 settings: Plug a memory leak
It is rare that settings are finalized, but we
still shouldn't leak in that case.
2021-03-27 19:11:56 -04:00
Matthias Clasen 7644605dfc Plug a small memory leak 2021-03-27 19:11:56 -04:00
Matthias Clasen 97a9e23b85 bookmarklist: Avoid an invalid read
This shows up when running the objects-finalize
test under valgrind.
2021-03-27 19:11:56 -04:00
Matthias Clasen 478ecf8db4 Merge branch 'ngl-uninitialized-matrix' into 'master'
Ngl uninitialized matrix

See merge request GNOME/gtk!3358
2021-03-27 20:59:54 +00:00
Anders Jonsson 0e857862ab Update Swedish translation
(cherry picked from commit 86f3c11d1e)
2021-03-27 20:43:39 +00:00
Matthias Clasen 2bb4859031 ngl: Fix an uninitialized read
We were using the wrong matrix here.
valgrind pointed this point.
2021-03-27 16:32:58 -04:00
Matthias Clasen 7aef77a21a reftests: Plug a few memory leaks
Noticed in passing.
2021-03-27 16:25:28 -04:00
Matthias Clasen e7f9d56da5 ngl: Fix an uninitialized read
We were using the wrong matrix here.
valgrind pointed this point.
2021-03-27 16:23:40 -04:00
Matthias Clasen 34883b7142 reftests: Plug a few memory leaks
Noticed in passing.
2021-03-27 16:23:17 -04:00
Matthias Clasen 23706a4a6d release: Actually include docs 2021-03-27 14:22:19 -04:00
Matthias Clasen c52c944e33 Updates 2021-03-27 14:21:04 -04:00
Matthias Clasen 8540bea65e Merge branch 'file-chooser-fixes' into 'master'
File chooser fixes

See merge request GNOME/gtk!3356
2021-03-27 14:23:15 +00:00
Matthias Clasen 8ea4721d1e filechooser: Make / work as shortcut again
Typing / is meant to open the location entry, so
prevent search from capturing that key.
2021-03-27 09:57:00 -04:00
Matthias Clasen e8a6b504f3 filechooser: Fix fallout from GtkText
Ever since the GtkText split, the focus is no longer
on an entry, but inside it. The filechooser was never
updated for that.
2021-03-27 09:54:20 -04:00
Matthias Clasen 06ab8f2167 filechooser: Make Ctrl-L work again
Prevent search from preempting the Ctrl-L shortcut
that is meant to show the location entry.
2021-03-27 09:53:43 -04:00
Matthias Clasen b5558f3e97 layout: Be quiet about trivialities
Commit 8b82993dde added a noisy warning
to gtk_distribute_natural_allocation to quiet a
compiler warning. It turn out that the file chooser
managed to trigger this warning, so make it a quiet
return.
2021-03-27 08:59:21 -04:00
Matthias Clasen bdd281c9ea release: Update included subprojects 2021-03-27 08:55:51 -04:00
Matthias Clasen c9ab7c5750 Merge branch 'double-dead-keys' into 'master'
Double dead keys

See merge request GNOME/gtk!3355
2021-03-27 01:22:41 +00:00
Matthias Clasen 01f4e5c8cd Add some more compose tests
These tests changes to the algorithmic dead key
matching.
2021-03-26 20:38:45 -04:00
Matthias Clasen 8a567d7932 imcontext: Tweak dead key handling
Reshuffle things to allow for a limited amount of
dead key 'chaining'. We keep up to 2 dead keys in
the preedit, so you can type
<dead_acute> <dead_cedilla> <c>
to produce ḉ, while still getting ```c with
<dead_grave> <dead_grave> <dead_grave> <c>.
2021-03-26 20:38:45 -04:00
Matthias Clasen dbcd24adf4 composetable: Limit algorithmic checking
Only check for combinations of up to 2 dead keys with
a base character. We don't want to spend ages generating
all permutations of long sequences.
2021-03-26 20:27:55 -04:00
Matthias Clasen f6f07ba238 Merge branch 'icon-fallback' into 'master'
Icon fallback

See merge request GNOME/gtk!3353
2021-03-26 19:33:13 +00:00
Matthias Clasen 3ab07203ce widget-factory: Add missing icons
This removes all the cases where we were showing a missing-image
when running with the hicolor icontheme.
2021-03-26 14:34:40 -04:00
Emmanuele Bassi 70e26d12fb Update the gi-docgen repository
Do not use my personal workspace.
2021-03-26 17:41:58 +00:00
Matthias Clasen 6ba414216c widget-factory: Drop two icons from the iconview
This avoids the scrollbar by default, which is nice.
2021-03-26 13:30:46 -04:00
Matthias Clasen 775b45ef57 icons: Add text-x-generic
The file chooser needs at least one icon that we can
fall back to for non-directories. text-x-generic is
that icon.
2021-03-26 13:17:51 -04:00
Matthias Clasen 23cb72875d filechooser: Check that icons exist
Otherwise we end up showing missing-image in the
file chooser, and thats sad.
2021-03-26 13:17:51 -04:00
Matthias Clasen 5940de98dd icontheme: Add gtk_icon_theme_has_gicon
Add a utility function to check whether the icontheme
will produce something better than missing-image for
a GIcon. Obviously, we can only answer this question
if the GIcon is a themed icon the begin with.
2021-03-26 13:17:51 -04:00
Matthias Clasen 4028bd5bce widget-factory: Add emblem-shared-symbolic icon
We use it, so include it.
2021-03-26 11:59:37 -04:00
Matthias Clasen b5608e93d2 icons: Sync color-select-symbolic with Adwaita
This icon changed a bit since we incorporated it.
2021-03-26 11:59:01 -04:00
Matthias Clasen 1ea2ea520f icons: Add system-run-symbolic
This is used by Adwaita for devel headers, so include it.
2021-03-26 11:42:09 -04:00
Matthias Clasen 922b2683b3 Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master

See merge request GNOME/gtk!3351
2021-03-26 15:30:51 +00:00
Matthias Clasen 6dcef28e12 icon: Add a printer icon
This showed up as missing icon in the print dialog when
used with the hicolor icontheme.
2021-03-26 11:30:14 -04:00
Matthias Clasen 08f68cce40 gdk: Add an arg check to gdk_device_get_timestamp
Pointed out by Emmanuele Bassi.
2021-03-26 11:09:50 -04:00
Matthias Clasen 7849590a82 gdk: Add gdk_device_get_timestamp
Give each device a timestamp that reflects the last
user activity with that device, as reflected in the
events that are produced for this device.
2021-03-26 11:09:05 -04:00
Matthias Clasen c9b312c860 icons: Add icons that are used in the inspector
These were showing up as missing icons when opening
the Inspector with the hicolor icontheme:

system-search-symbolic
go-previous-symbolic
go-next-symbolic
display-brightness-symbolic
2021-03-26 11:00:01 -04:00
Matthias Clasen 6110980012 Merge branch 'device-timestamp' into 'master'
Device timestamp

Closes #3792

See merge request GNOME/gtk!3350
2021-03-26 14:51:37 +00:00
Matthias Clasen 019855a27f textview: Use device timestamps for obscured cursors
Stash away the device timestamp when obscuring
the pointer, and compare it when we decice whether
to unobscure it. This fixes a problem where synthetic
motion events would make the cursor reappear
prematurely.

Fixes: #3792
2021-03-26 10:30:33 -04:00
Matthias Clasen cdfdf031b5 text: Use device timestamps for obscured cursors
Stash away the device timestamp when obscuring
the pointer, and compare it when we decice whether
to unobscure it. This fixes a problem where synthetic
motion events would make the cursor reappear
prematurely.
2021-03-26 10:30:33 -04:00
Matthias Clasen f131d68fef gdk: Add gdk_device_get_timestamp
Give each device a timestamp that reflects the last
user activity with that device, as reflected in the
events that are produced for this device.
2021-03-26 10:30:33 -04:00
Matthias Clasen 3014649455 Merge branch 'pixbuf-loader-check' into 'master'
Make testsuite fail if we lack pixbuf loaders

See merge request GNOME/gtk!3348
2021-03-26 11:29:47 +00:00
Matthias Clasen 2496ab0902 Be explicit when building gdk-pixbuf subproject
We require png and jpeg loaders.
2021-03-25 22:52:30 -04:00
Matthias Clasen 50d42093b5 Make testsuite fail if we lack pixbuf loaders
Add a test that requires that we have png and jpeg
loaders.
2021-03-25 21:23:11 -04:00
Matthias Clasen 44481d355e Make testsuite fail if we lack pixbuf loaders
Add a test that requires that we have png and jpeg
loaders.
2021-03-25 21:22:23 -04:00
Matthias Clasen 6f82408056 Add logging for icon fallback
Add GTK_DEBUG=iconfallback which prints out what icon names
we fall back to image-missing for.
2021-03-25 17:26:15 -04:00
Matthias Clasen cc64dbafbc Merge branch 'carlosgc/clipboard-crash' into 'master'
clipboard: Fix a crash when GdkContentProviderUnion doesn't support the given data format

See merge request GNOME/gtk!3346
2021-03-25 20:48:28 +00:00
Carlos Garcia Campos 50b70298c0 clipboard: Fix a crash when GdkContentProviderUnion doesn't support the given data format
After iterating all the providers, all of them returning unsupported
error, gdk_content_provider_union_get_value() returns FALSE without
filing the given GError. Then gdk_clipboard_read_value_internal()
assumes there's a GError when FALSE is returned and
g_task_return_error() fails. We can just chain up to parent
implementation to ensure the GError is filled with unsupported error.
2021-03-25 15:10:00 +01:00
Matthias Clasen bd7df4b816 Merge branch 'shader' into 'master'
ngl: Fix crash with intel driver on Windows when compiling shaders

Closes #3783

See merge request GNOME/gtk!3344
2021-03-25 12:37:12 +00:00
Xavier Claessens 086e1ed39f ngl: Fix crash with intel driver on Windows when compiling shaders
Fixes #3783.
2021-03-25 08:20:30 -04:00
Matthias Clasen fa57f20b87 Merge branch 'wip/fix-stack-get-item' into 'master'
stack: Fix some list model issues

See merge request GNOME/gtk!3345
2021-03-24 20:34:47 +00:00
Mohammed Sadiq e211740da6 stack: Fix check if page is selected
When there is no visible child, gtk_selection_model_is_selected()
was returning TRUE for any invalid position.

So check if the page is non-NULL and match
2021-03-24 20:23:09 +05:30
Mohammed Sadiq 0351bc766c stack: Increase reference only if page is non-NULL
g_list_nth_data() may return NULL if position is off the end
2021-03-24 20:21:13 +05:30
Matthias Clasen 5531906973 Merge branch 'gles-fallback' into 'master'
gdkglcontext-wayland: Fallback to GLES 2.0 after legacy failed

See merge request GNOME/gtk!3327
2021-03-24 11:21:21 +00:00
Matthias Clasen 9d6190bc3c Merge branch 'gdkmacosglcontext-fix' into 'master'
gdkmacosglcontext: fix compilation error

See merge request GNOME/gtk!3342
2021-03-24 11:09:51 +00:00
Tom Schoonjans d5de73fb9d gdkmacosglcontext: fix compilation error
See https://developer.apple.com/documentation/appkit/nsopenglpixelformat/1436219-initwithattributes?language=occ
2021-03-24 10:08:11 +00:00
Matthias Clasen b539c92312 Merge branch 'builder-tool-placeholder-crash' into 'master'
gtk-builder-tool: Avoid a crash with <placeholder/>

Closes #3781

See merge request GNOME/gtk!3339
2021-03-23 21:02:39 +00:00
Matthias Clasen 272d8a6800 Merge branch 'wip/chergert/ngl-fix-windows-intel-driver' into 'master'
ngl: move uniform key mapping into uniform state

Closes #3780

See merge request GNOME/gtk!3340
2021-03-23 21:02:11 +00:00
Christian Hergert f8a6a09896 ngl: move uniform key mapping into uniform state
Previously, we translated the uniform key (an enum) into a location within
the shader program in GskNglProgram. A number of performance improvements
were focused around having low nubers for the uniform locations. Generally
this is the case, but some drivers such as old Intel drivers on Windows
may use rather large numbers for those.

To combat this, we can push the translation of uniform keys into locations
at the GskNglUniformState level so that we work with unranslated keys
through the process until applying them.

Fixes #3780
2021-03-23 13:44:26 -07:00
Matthias Clasen 6a66ccd3e6 gtk-builder-tool: Avoid a crash with <placeholder/>
Not sure we can do much with a ui file that has
<placeholder/> elements littered throughout. But
at least we can avoid crashing while trying to
convert it.

Fixes: #3781
2021-03-23 15:25:53 -04:00
Emmanuele Bassi 1f6b556972 Merge branch 'ebassi/for-master' into 'master'
Ebassi/for master

See merge request GNOME/gtk!3338
2021-03-23 15:39:47 +00:00
Emmanuele Bassi 3668541eaa docs: Add a side bar to the docs.gtk.org landing page
Make it look like the API references hosted on docs.gtk.org.
2021-03-23 14:58:03 +00:00
Emmanuele Bassi a6727326e3 docs: Update the Cairo reference link 2021-03-23 14:49:20 +00:00
Emmanuele Bassi 1507099dc7 Merge branch 'ebassi/for-master' into 'master'
Publish docs for Pango and GdkPixbuf

See merge request GNOME/gtk!3337
2021-03-23 13:39:18 +00:00
Emmanuele Bassi 2bc7abceae docs: Drop the external class for links to docs.gtk.org 2021-03-23 13:13:53 +00:00
Emmanuele Bassi a9a5622214 docs: Link Pango and GdkPixbuf on docs.gtk.org 2021-03-23 13:13:53 +00:00
Emmanuele Bassi 0560397aa8 ci: Build Pango and GdkPixbuf's docs
We want to publish them alongside GTK's own API reference.
2021-03-23 13:13:53 +00:00
Matthias Clasen 4e06787a1b Merge branch 'bilelmoussaoui/expressions-annotations' into 'master'
Add missing nullable annotations to BoolFilter/StringFilter

See merge request GNOME/gtk!3334
2021-03-23 00:49:54 +00:00
Matthias Clasen 610ba0e764 Merge branch 'issue3715-gtk4' into 'master'
[gtk4] x11/dnd: Ignore XErrors from the COW

Closes #3715

See merge request GNOME/gtk!3336
2021-03-22 15:09:42 +00:00
Olivier Fourdan 80ba38a0b3 x11/dnd: Ignore XErrors from the COW
The DnD code for X11 adds the composite overlay window (aka COW) to the
cache.

Yet the X11 requests to get and release the COW may trigger XErrors that
we ought to ignore otherwise the client will abort.

Fixes: #3715
2021-03-22 15:38:58 +01:00
Chun-wei Fan 5d3af346dd Merge branch 'really-fix-3581' into 'master'
GDK-Win32: Remove extraneous call to _gdk_win32_append_event() (really fix issue #3581)

Closes #3581

See merge request GNOME/gtk!3306
2021-03-22 14:18:44 +00:00
Matthias Clasen d882def373 Merge branch 'meson-install-script' into 'master'
Meson: Use gnome.install_script()

See merge request GNOME/gtk!3135
2021-03-22 12:45:45 +00:00
Bilal Elmoussaoui 3761dbba8b gtk: add missing nullable annotations to StringFilter 2021-03-22 12:42:19 +01:00
Bilal Elmoussaoui ae7b19c760 gtk: add missing nullable annotations to BoolFilter 2021-03-22 12:42:13 +01:00
Matthias Clasen 157218c507 Merge branch 'wip/baedert/for-master' into 'master'
ngl: Remove unused function

See merge request GNOME/gtk!3332
2021-03-22 11:17:58 +00:00
Matthias Clasen 60325df7db Merge branch 'better-dead-keys' into 'master'
Better dead keys

See merge request GNOME/gtk!3329
2021-03-22 02:37:14 +00:00
Matthias Clasen 64a62ebcfb Regenerate compose sequence file
Update our compose sequences based on the current
update xorg Compose.pre file. Beyond that, remove
some deadkey sequences that we are now handling
(better) in code.
2021-03-21 21:48:03 -04:00
Matthias Clasen a42a133a18 Move compose related tooling to a subdir
This reduces the clutter in gtk/.
2021-03-21 21:48:03 -04:00
Matthias Clasen a41cd9b1fa compose-parse: Add a negative lookaside
Make this script parse gtk-compose-remove.txt for
sequences to remove from the xorg Compose file.
This will be used for removing some deadkey combinations
that we can handle better in code.

Also, make this script explicitly python2. I tried
porting it to python3, but gave up in the end.
2021-03-21 21:48:03 -04:00
Matthias Clasen 8bfc6afe33 imcontext: Improve dead key handling more
For sequences like ``, we want to commit the first
deadkey and then continue preedit with the second.

The alternative is to do chained deadkeys, where
entering ~~a yields ̃̀̃̃a. But we don't do that, and
I think that would be more controversial.
2021-03-21 21:48:03 -04:00
Matthias Clasen 5b67e6817c imcontext: Improve dead key handling
For sequences like `x, where we don't have a compose
sequence, we still want to commit "`x", and not silently
eat the keys.
2021-03-21 21:48:01 -04:00
Matthias Clasen 48f87c1eea Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master

See merge request GNOME/gtk!3328
2021-03-21 20:48:04 +00:00
Emmanuel Gil Peyrot aced6030ee gdkglcontext-wayland: Fallback to GLES 2.0 after legacy failed
This lets the NGL backend be selected instead of the Cairo backend on
devices which expose both GL and GLES, but have better support of GLES.

Tested on a PinePhone.
2021-03-21 20:37:04 +00:00
Matthias Clasen c5aa35f8ef inspector: Allow inspecting Unicode
Add a way to show text as a Unicode sequence.
This can be helpful in understanding what is
happening with text.
2021-03-21 16:05:10 -04:00
Matthias Clasen 7a56aa910e ngl: Fix a rounding error in subpixel positioning
1024 / 4 is 256, not 250.
2021-03-21 16:05:10 -04:00
Matthias Clasen bd0df03248 gl: Fix a rounding error in subpixel positioning
1024 / 4 is 256, not 250.
2021-03-21 16:05:10 -04:00
Matthias Clasen df4b564d69 build: Disable g_assert in release builds
The ngl renderer is heavily using g_assert, and it
is written with the assumption that these assertions
will be compiled out in release builds.
2021-03-21 16:05:10 -04:00
Matthias Clasen 9640bfb3fe calendar: Typo fix 2021-03-21 16:05:10 -04:00
Matthias Clasen 2e69273922 ngl: Remove an unused field
We are ignoring the debug nodes, so the
debug_groups string chunk is unused.
2021-03-21 16:05:10 -04:00
Matthias Clasen 1e014f4291 ngl: Always populate the glyph front cache
There is no reason not to do this also in the
case when we upload the glyph.
2021-03-21 16:05:10 -04:00
Matthias Clasen fbe47106e7 ngl: Use floorf consistently 2021-03-21 16:05:10 -04:00
Timm Bäder ea93c40644 ngl: Remove unused function 2021-03-21 18:00:10 +01:00
Piotr Drąg 1a3f2acb95 Update Polish translation 2021-03-20 15:41:34 +01:00
Emmanuele Bassi fb8592952d Merge branch 'ebassi/for-master' into 'master'
Ebassi/for master

See merge request GNOME/gtk!3324
2021-03-20 12:31:10 +00:00
Emmanuele Bassi 216a262651 docs: Put core deps below UI links
We assume people will be more interested in GTK if they get to
docs.gtk.org.
2021-03-20 12:18:42 +00:00
Emmanuele Bassi 0178cdbdf2 docs: Fix typo in the docs landing page 2021-03-20 12:18:26 +00:00
Yuri Chornoivan b84d959d31 Update Ukrainian translation 2021-03-20 08:54:01 +00:00
Yuri Chornoivan 3eca28e4b5 Update Ukrainian translation 2021-03-20 08:51:46 +00:00
Emmanuele Bassi 98a91a3290 Merge branch 'a11y-strdup' into 'master'
a11y: Don't copy attribute names in attribute sets

See merge request GNOME/gtk!3323
2021-03-19 22:31:37 +00:00
Matthias Clasen 3cfe69d711 a11y: Don't copy attribute names in attribute sets
We only need these names when serializing a11y information
for tests. And copying these strings is entirely unnecessary.
So, just pass a callback instead.
2021-03-19 17:01:28 -04:00
Matthias Clasen b9da74590b Merge branch 'ngl-glyph-cache' into 'master'
Ngl glyph cache

See merge request GNOME/gtk!3322
2021-03-19 18:59:33 +00:00
Matthias Clasen b253aca883 ngl: Improve the glyph front cache
The effectiveness of the front cache is limited by
subpixel positioning making it very likely that we
will meet the same glyph in  different x phases inside
a single line of text.

Factoring the xphase into the front cache key makes things
better. For the string eeeeeeeeeeeeeeeeeee

before: 0% front cache hits
after: >90% front cache hits
2021-03-19 14:32:03 -04:00
Matthias Clasen 5ac7f7c2f6 ngl: Drop an unused struct member
GskNglGlyphLibrary.hash_table wasn't used.
2021-03-19 14:05:15 -04:00
Matthias Clasen 9981f19409 texttag: A few typo fixes 2021-03-19 14:04:27 -04:00
Emmanuele Bassi dae59112d7 Merge branch 'ebassi/for-master' into 'master'
Ebassi/for master

See merge request GNOME/gtk!3321
2021-03-19 17:57:42 +00:00
Emmanuele Bassi f25beff7a6 docs: Restructure the list of UI libraries
Put GTK at the top.
2021-03-19 17:23:46 +00:00
Emmanuele Bassi 130ed3d5e5 docs: Fix typo in the docs landing page 2021-03-19 17:23:29 +00:00
Matthias Clasen 830efa6ce2 Revert "ngl: Remove duplicate check"
This reverts commit 1fd534ef1e.

This change revealed that we are not treating damage regions
correctly, and we regularly end up with
2021-03-19 13:17:02 -04:00
Emmanuele Bassi a33e32ef60 Merge branch 'ebassi/for-master' into 'master'
Fix the landing page structure

See merge request GNOME/gtk!3320
2021-03-19 14:55:12 +00:00
Emmanuele Bassi aaffd902fd Fix the landing page structure 2021-03-19 14:36:34 +00:00
Emmanuele Bassi 972a06c038 Merge branch 'pages-index' into 'master'
Add a landing page for the GitLab pages root

See merge request GNOME/gtk!3319
2021-03-19 14:14:46 +00:00
Emmanuele Bassi 1763ede9ce Add a landing page for the GitLab pages root
Right now, we land inside a 404 if we go to:

  https://gnome.pages.gitlab.gnome.org/gtk/

as we have all our API references in a sub-level. We should have a
landing page for the root, similar to developer.gnome.org/references/.
2021-03-19 13:54:32 +00:00
Matthias Clasen f5fb8a95f4 Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master

See merge request GNOME/gtk!3317
2021-03-19 05:44:39 +00:00
Matthias Clasen 948e032072 text tag: Typo fix 2021-03-18 22:53:37 -04:00
Matthias Clasen 21aa8ae29f Cosmetics
Remove a stale comment.
2021-03-18 22:53:37 -04:00
Matthias Clasen 4fce3ceffc Cosmetics
Pack the GtkTextAttributes struct better.
2021-03-18 22:53:37 -04:00
Matthias Clasen 95a5e7b438 release script: Include gi-docgen
This lets us say 'you don't need to package this'
about gi-docgen.
2021-03-18 22:53:27 -04:00
Matthias Clasen 8fdedbd73b Merge branch 'ngl-by-default' into 'master'
gsk: Make ngl the default OpenGL renderer

See merge request GNOME/gtk!3313
2021-03-19 02:01:34 +00:00
Matthias Clasen b962a0f166 Merge branch 'wip/chergert/fix-ngl-cache-eviction' into 'master'
fix ngl cache eviction

Closes #3771

See merge request GNOME/gtk!3316
2021-03-19 01:59:29 +00:00
Christian Hergert 0f0ee97e1e ngl: clear Glyph front cache at the beginning of a frame
We don't want to be responsible for duplicating the effort of the hash
table, we just want to speed up subsequent lookups. Otherwise, we risk
not marking glyph usage when tracking usage for compaction.
2021-03-18 18:00:04 -07:00
Christian Hergert af80f3a976 ngl: implement atlas compaction
This required finishing up the begin_frame/end_frame semantics for
GskNglTextureLibraryw which was apparently overlooked.

The driver was changed to provide more information to the library when
beginning frames. We do not need to use end_frame so that was removed.

The frame age is the same as GL (60) but I do wonder if that is based
on seconds if we should be using something longer for situations where
we have higher frame rates.

Fixes #3771
2021-03-18 17:59:56 -07:00
Matthias Clasen 1536f6a59c Merge branch 'matthiasc/for-master' into 'master'
inspector: Respect GDK_DEBUG=vulkan-disable

Closes #3748

See merge request GNOME/gtk!3312
2021-03-18 21:43:14 +00:00
Matthias Clasen 574b0bf48a Merge branch 'bilelmoussaoui/4.2-annotations' into 'master'
IMContext: add since annotations to the new APIs

See merge request GNOME/gtk!3315
2021-03-18 21:42:35 +00:00
Bilal Elmoussaoui 0b100229e3 IMContext: add since annotations to the new APIs 2021-03-18 22:25:38 +01:00
Matthias Clasen 19d9c78514 gsk: Make ngl the default OpenGL renderer
We will keep the original GL renderer around for
a while, to have an alternative. But we want to
get wider testing of the new renderer.
2021-03-18 15:00:39 -04:00
Matthias Clasen 140b7f0a61 Merge branch 'wip/chergert/fix-3770' into 'master'
ngl: ensure vertices buffer allocates enough vertices

Closes #3770

See merge request GNOME/gtk!3314
2021-03-18 17:55:26 +00:00
Christian Hergert 56daad9c35 ngl: ensure vertices buffer allocates enough vertices
It's not guaranteed that a single power of two growth will be enough.

Fixes #3770
2021-03-18 10:43:24 -07:00
Matthias Clasen eaf09a4625 Cosmetics
Pango lets us pass NULL for the font desc and language
in pango_context_get_font_metrics() to use the context
values.
2021-03-18 07:52:03 -04:00
Matthias Clasen a576bd190b inspector: Respect GDK_DEBUG=vulkan-disable
Respect the debug settings for disabling Vulkan or GL,
and do not try to initialize those contexts. This can
be necessary to work around crashes.

Fixes: #3748
2021-03-17 23:19:08 -04:00
Matthias Clasen 2ce92085e1 Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master

Closes #3765

See merge request GNOME/gtk!3311
2021-03-18 00:31:10 +00:00
Matthias Clasen e6b1443fbb label: Fix tooltips on links
Fix pointed out by Timm Baeder.

Fixes: #3765
2021-03-17 19:46:02 -04:00
Matthias Clasen 60ccae000b media: Always use GL with gstreamer
As long as we can create a GL context, pass one to
gstreamer. This at least gets us GL textures with
the ngl renderer, the previous code was arbitrarily
refusing that.
2021-03-17 16:28:12 -04:00
Timm Bäder 7ecd004d50 Merge branch 'gsk-border-node-diff-fix-typo' into 'master'
Fix a typo in gsk_border_node_diff

See merge request GNOME/gtk!3310
2021-03-17 16:04:57 +00:00
Andrey Kozlovskiy 6b48fb767d Fix a typo in gsk_border_node_diff
Typo was introduced in !3278 and results in an incorrect handling of different uniformity.
2021-03-17 15:38:01 +00:00
Emmanuele Bassi 6d4f93bb7f Merge branch 'select-list-model-null' into 'master'
gtk: Allow selection models to take null list model during construction

See merge request GNOME/gtk!3309
2021-03-17 14:09:37 +00:00
Matthias Clasen cfe8c0e187 Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master

Closes #3763

See merge request GNOME/gtk!3308
2021-03-17 12:32:45 +00:00
Matthias Clasen 6d5657eee7 lpr: Fix various compiler warnings
gcc 11 is warning about some const mixups here.
Fix them.
2021-03-17 07:56:07 -04:00
Matthias Clasen 600cbdb7ba treestore: Initialize some local variables
gcc 11 is warning that these might be used uninitialized
otherwise.
2021-03-17 07:51:27 -04:00
Matthias Clasen 8b82993dde sizerequest: Avoid a corner case
gcc 11 warns that the code isn't safe when
n_requested_sizes is 0. Add a precondition check
to make it clear that that never happens.
2021-03-17 07:50:24 -04:00
Matthias Clasen ea185cbdda cssshadowvalue: Handle error condition propertly
We were parsing off the end of our array before noticing
that we've gone too far. gcc 11 warns about this.
2021-03-17 07:49:06 -04:00
Matthias Clasen ee837dfc12 checkbutton: Add a warning about cyclic groups
Setting up check or toggle button group relationships
in a cycle will lead to lockups. Add a warning about
this, and catch the simplest case with a precondition
check.

Fixes: #3763
2021-03-17 07:38:57 -04:00
Matthias Clasen 1d888bff43 Drop the gtk-doc subproject
No longer used.
2021-03-17 07:28:31 -04:00
Chun-wei Fan 38ad068d9b GDK-Win32: Remove extraneous call to _gdk_win32_append_event()
Apparently, by comparing with the other backends, we should not call
_gdk_win32_append_event() after calling gdk_scroll_event_new() but we should
call it after calling gdk_scroll_event_new_discrete(), which was why we didn't
restore the cursor after we scroll using the mouse wheel and didn't manage to
remove the shade that appears after we scrolled to the very top or very bottom.

Also, as suggested by the reporter, use IDC_SIZEALL for the system cursor that
we fall back to if no cursor theme is installed, as with other Windows
programs.

This should really fix issue #3581.
2021-03-17 11:22:23 +08:00
Balázs Úr 45c8c6c77f Update Hungarian translation 2021-03-16 23:49:27 +00:00
Matthias Clasen ceed7d1ba4 Merge branch 'matthiasc/for-master' into 'master'
dnd: Add some warnings to the docs

See merge request GNOME/gtk!3305
2021-03-16 19:12:05 +00:00
Matthias Clasen 74e2bb4cf1 dnd: Add some warnings to the docs
Add some warnings about pitfalls of the async dnd api.
2021-03-16 14:48:44 -04:00
Matthias Clasen cc6bb13242 Merge branch 'kjellahl/cairo-subproject' into 'master'
Fix build when cairo is a subproject

See merge request GNOME/gtk!3304
2021-03-16 11:43:06 +00:00
Kjell Ahlstedt 50beae7541 meson: Find libcairo-script-interpreter when cairo is a subproject
If cairo is a subproject, it's not necessarily installed when gtk
is built. In the build tree, libcairo-script-interpreter is not stored
in the same directory as other cairo libraries.
2021-03-16 11:47:28 +01:00
Kjell Ahlstedt 0f6b91109e gdkglcontext-x11: Don't assume that cairo-xlib.h is in cairo directory
If cairo is a subproject, it's not necessarily installed when gtk
is built. In the source tree, cairo's headers are not stored in
a directory called 'cairo'.
2021-03-16 11:47:16 +01:00
Matthias Clasen f279c7b1c2 Merge branch 'fix-3581' into 'master'
gdkcursor-win32.c: Add cursor map for all-scroll (issue #3581)

Closes #3581

See merge request GNOME/gtk!3298
2021-03-15 22:32:23 +00:00
Matthias Clasen 08b27848e1 Merge branch 'fix-wayland-layout-changes' into 'master'
Fix wayland layout changes

See merge request GNOME/gtk!3303
2021-03-15 22:31:08 +00:00
Matthias Clasen e3dcc3d369 wayland: Fix cross-layout accelerators
GTK traditionally lets you activate keyboard shortcuts
even if they are for a non-active layout. But it is meant
to only activate with a keysym from a non-active layout
when that symbol is not present in the current layout.
That last condition was lost when key event handling
was redone for GTK4. Bring it back.
2021-03-15 17:14:49 -04:00
Matthias Clasen 568fe2e97b wayland: Add debug spew for active keyboard layouts
Print out what we think the active keyboard layout is,
when it changes, with GDK_DEBUG=input.
2021-03-15 17:14:49 -04:00
Jason Francis cd77485193 gtk: Allow selection models to take null list model during construction
This brings it in line with the documentation, and with the respective
set_model() functions.
2021-03-15 15:55:47 -04:00
Matthias Clasen ec0e76dabd Merge branch 'issue-3757' into 'master'
docs: Update annotations for WidgetClass.query_action()

Closes #3757

See merge request GNOME/gtk!3301
2021-03-15 19:28:17 +00:00
Matthias Clasen 1eebf0ebd1 wayland: Emit keys-changed on layout changes
We were forgetting to do this in when layout changes are
communicated via handle_modifiers.
2021-03-15 12:34:23 -04:00
Emmanuele Bassi 0a7af75639 docs: Update annotations for WidgetClass.query_action()
The parameter_type and property_name out arguments can be set to NULL.

Fixes: #3757
2021-03-15 13:48:35 +00:00
Milo Casagrande 72012113fd Update Italian translation
(cherry picked from commit affeff5472)
2021-03-15 09:25:36 +00:00
Chun-wei Fan 54b3048584 gdkcursor-win32.c: Add cursor map for all-scroll
This makes sure that we don't have cursors disappearing on Windows upon
scrolling because we can't find a cursor that exists on the system during
a scroll, and unlike GTK-3.x, we do not default to the arrow pointer on GTK4.

Just mimic what we have on X11 and Wayland: the trusty standard arrow pointer.

Fixes issue #3581.
2021-03-15 17:16:33 +08:00
Matthias Clasen 3daad8fe87 release-script: Actually compress the docs tarball
Somehow an x got lot and the tarball got very big. Oops...
2021-03-14 23:33:10 -04:00
Benjamin Otte a1c1ad317b Merge branch 'wip/otte/for-master' into 'master'
Wip/otte/for master

See merge request GNOME/gtk!3297
2021-03-15 02:31:45 +00:00
Benjamin Otte dbd19bf27a x11: Don't call _gdk_surface_update_size() all the time
We were calling _gdk_surface_update_size() every frame, even if the
window size didn't change. This would cause us to discard all cached
buffers and redraw the whole screen.

This was BAD.
2021-03-15 03:16:50 +01:00
Benjamin Otte 97fad45237 surface: Remove unused gdk_surface_get_unscaled_size()
Also remove unscaled_width/height members in the win32 backend.

Both of those are unused.
2021-03-15 02:56:28 +01:00
Matthias Clasen cbda61d3fb 4.1.2 2021-03-14 21:48:48 -04:00
Matthias Clasen afe195a862 Update release script
With gi-docgen based docs, we can try to go back to
including the docs in the main release tarball.
2021-03-14 21:48:46 -04:00
Matthias Clasen e6adee2403 Merge branch 'menubar-accel' into 'master'
window: Add a way to disable F10 shortcut

Closes #3727

See merge request GNOME/gtk!3296
2021-03-15 01:27:45 +00:00
Benjamin Otte 1fd534ef1e ngl: Remove duplicate check
We check the extents, so there's no need to check overlap before.
2021-03-15 01:30:34 +01:00
Matthias Clasen cfc91b62b0 window: Add a way to disable F10 shortcut
This is needed for terminal emulators.

Fixes: #3727
2021-03-14 19:47:06 -04:00
Matthias Clasen 24ec2cc6a6 Merge branch 'ngl-less-shaders' into 'master'
Assorted ngl improvements

See merge request GNOME/gtk!3295
2021-03-14 21:04:37 +00:00
Matthias Clasen 28de2eecc9 ngl: Special-case css backgrounds
Recognize a common pattern: A rounded clip with
a color node, followed by a border node, with the
same outline. This is what CSS backgrounds frequently
produce, and we can render it more efficiently with
a combined shader.
2021-03-14 16:49:31 -04:00
Matthias Clasen ed3f0012b1 ngl: Don't bother with uniform border nodes
Now that colors aren't uniforms anymore, we don't
win much by using the inset_shadow shader. The fragment
shaders of inset_shadow and border are identical. And
the regular border setup does nine-slicing.
2021-03-14 16:49:31 -04:00
Matthias Clasen 51074ca5df ngl: Small shader improvements
Add a variant of gskSetOutputColor that saves a
few multiplications, and use it where possible.
2021-03-14 16:49:31 -04:00
Matthias Clasen 8aac574d63 ngl: Improve the coloring shader
Since we are now passing a float anyway, we can avoid
the branch in the fragment shader.
2021-03-14 16:49:31 -04:00
Matthias Clasen c1f98d6837 ngl: Improve the gradient shaders
Use a define for MAX_COLOR_STOPS, and give the loop
a fixed limit.
2021-03-14 16:49:31 -04:00
Matthias Clasen 3f60c39de4 ngl: Rewrite gsk_ngl_render_job_visit_text_node
Make this more compact, and thus easier to read.
2021-03-14 16:49:31 -04:00
Matthias Clasen 4aa570ba88 ngl: Drop gsk_ngl_render_job_set_color
Colors are not state that we carry across draw ops,
so setting the color on the render job doesn't make
much sense. Instead, pass the color to the various
draw calls. Add a few new ones for that purpose.

Also, shorten the names of some by going from
'load_vertices_from_offscreen' to 'draw_offscreen'.
2021-03-14 16:49:31 -04:00
Matthias Clasen 233969e9e4 ngl: Refactor gsk_ngl_render_job_visit_border_node
With color sorting out of the picture, this can
be much simpler.
2021-03-14 16:49:31 -04:00
Matthias Clasen 19e3a6af5d ngl: Consistently use gsk_scaled_premultiply
Its not going to make much of a difference, but we
can just as well be consistent.
2021-03-14 16:49:31 -04:00
Matthias Clasen 29501f5398 ngl: Fix up uniform enums
This got messed up when color was changed from
a uniform to an attribute in 06d5c8e72d.
2021-03-14 16:49:31 -04:00
Jiri Grönroos 3408240ba6 Update Finnish translation
(cherry picked from commit f5a34b53af)
2021-03-14 17:03:07 +00:00
Guillaume Bernard e6725aa16f Update French translation
(cherry picked from commit 21039681d6)
2021-03-14 13:38:24 +00:00
Piotr Drąg f34c0f4a99 Update Polish translation 2021-03-14 13:30:26 +01:00
Marek Černocký 52c7fd166b Updated Czech translation 2021-03-14 09:28:17 +01:00
Matthias Clasen 346b29ad8f Merge branch 'gles-coloring' into 'master'
ngl: Fix the coloring shader on GLES 2.0

See merge request GNOME/gtk!3294
2021-03-13 22:27:04 +00:00
Emmanuel Gil Peyrot 064947356a ngl: Fix the coloring shader on GLES 2.0
Integer varyings didn’t exist in GLSL ES 1.00, neither did the flat
attribute.
2021-03-13 22:00:54 +00:00
Kjartan Maraas d2258fb316 Update Norwegian Bokmål translation
(cherry picked from commit 70ee21db71)
2021-03-13 16:05:15 +00:00
Matthias Clasen dda66d580f Merge branch 'ebassi/for-master' into 'master'
docs: Fix the dependencies links

See merge request GNOME/gtk!3284
2021-03-13 12:36:56 +00:00
Matthias Clasen 1d773df9f2 Merge branch 'ngl-textview-cursor' into 'master'
Ngl textview cursor

See merge request GNOME/gtk!3292
2021-03-13 12:33:15 +00:00
Matthias Clasen 9be2f130f0 textview: Fix blinking block cursors
When we have a block cursor, we need to discard the
cached node of the line containing the cursor, in order
to get a blinking cursor.
2021-03-12 21:50:07 -05:00
Matthias Clasen e345f9a4db textview: Fix blinking block cursors
When we have a block cursor, we need to discard the
cached node of the line containing the cursor, in order
to get a blinking cursor.
2021-03-12 19:44:31 -05:00
Matthias Clasen 3a928c8980 textlayout: Render cursors at the end
Don't place the insertion cursor render nodes in the
middle of the text nodes for all the text. This helps
the renderer batching the text draw calls together.
2021-03-12 19:28:36 -05:00
Matthias Clasen 42dfc21b2d ngl: Fix up some debug printouts 2021-03-12 18:26:15 -05:00
Matthias Clasen daed57c30e Merge branch 'wip/chergert/fewer-uniforms' into 'master'
ngl: apply fewer uniforms

See merge request GNOME/gtk!3289
2021-03-12 22:55:00 +00:00
Matthias Clasen de0860c1bf Merge branch 'pgriffis/readme-fixes' into 'master'
readme: Fix broken doc links

See merge request GNOME/gtk!3291
2021-03-12 22:51:16 +00:00
Patrick Griffis 4fbc63f50a readme: Fix broken doc links 2021-03-12 22:02:55 +00:00
Matthias Clasen 3e1524fade Merge branch 'ngl-vertex-attributes' into 'master'
Ngl vertex attributes

See merge request GNOME/gtk!3290
2021-03-12 21:26:52 +00:00
Matthias Clasen ebe30d851b ngl: Identify shaders
Add a comment with a name to each shader. That makes
identifying the shaders in apitrace much easier.
2021-03-12 15:35:40 -05:00
Christian Hergert f97ce21e59 ngl: reintroduce comparison checks
This reduces how many changes we make when recording uniform state, which
increases the chances that the data offset will be the same when applying
uniforms.
2021-03-12 11:47:15 -08:00
Christian Hergert 0b7d8e19c3 ngl: add front cache to reduce uniform changes
Since we make full snapshots when recording uniform state of batches, we
need to perform some deduplication to avoid so many repeated uniform calls.

This uses a closed hashtable to determine if we are likely changing the
value to something new.

This does not currently compare values, it instead only compares that we
are going to point at a new offset into the uniform buffer. We could go
further if we compare upon updating values (we did that early on in the
prototype) so that offsets are less likely to be changed.
2021-03-12 11:22:59 -08:00
Matthias Clasen 0ee6868b7f gtk-demo: Add a test for scrolling with Emoji
Make a text with lots of Emoji and text. This
is exercising the GL renderers switching between
different shaders for color and plain glyphs.
2021-03-12 13:19:37 -05:00
Matthias Clasen 6a30c6b01c ngl: Make the coloring shader more versatile
When the color passed is transparent black, use
the color from the texture as source, instead of
as mask. This lets use use the coloring program
both for regular and color glyphs, avoiding
program changes in text with Emoji.
2021-03-12 13:19:37 -05:00
Matthias Clasen 06d5c8e72d ngl: Set color as vertex attribute
Instead of using uniforms for color used in multiple
programs, pass it as vertex attributes. This will let
us batch more draw calls, since we don't have to change
uniforms so often. In particular, for syntax-highlighted
text.
2021-03-12 13:18:47 -05:00
Matthias Clasen 3252f1e301 gsk: Give ngl its own shader sources
We may want to change the interface between the
shaders and the renderer for ngl, and therefore,
sharing the shaders between gl and ngl will not
be practical, going forward.
2021-03-12 13:18:47 -05:00
Matthias Clasen 7f292d34bd Merge branch 'fix-3704' into 'master'
gdksurface-win32.c: Fix window menu positioning (issue #3704)

Closes #3704

See merge request GNOME/gtk!3286
2021-03-12 14:06:33 +00:00
Emmanuele Bassi 7c29847fbf build: Install the API references
We are building them, but not installing them.
2021-03-12 11:32:09 +00:00
Emmanuele Bassi 66f0547ebf docs: Fix the dependencies links
Use the GitLab pages location until we can link to a proper space on
developer.gnome.org.
2021-03-12 11:18:37 +00:00
Chun-wei Fan e941e2be7d gdksurface-win32.c: Fix window menu positioning
We ought to get the coordinates of where the window menu should be
displayed using gdk_win32_surface_get_root_coords(), instead of rounding
the position that we obtained with gdk_event_get_position().

Also rename items a bit in the same function, and call
gdk_event_get_event_type() for consistency with the other backends.

Fixes issue #3704.
2021-03-12 18:45:43 +08:00
Changwoo Ryu 28e33bc26c Update Korean translation
(cherry picked from commit 7774d5d85e)
2021-03-12 08:51:03 +00:00
Emmanuele Bassi 372513a5e2 Merge branch 'bilelmoussaoui/shortcuts-annotation' into 'master'
g-i: fix gtk_shortcut_label_new annotation

See merge request GNOME/gtk!3285
2021-03-11 18:40:32 +00:00
Bilal Elmoussaoui 5c505aefc4 g-i: fix gtk_shortcut_label_new annotation 2021-03-11 18:21:56 +00:00
Emmanuele Bassi 9b3ca7f6b1 Merge branch 'ebassi/gidocgen' into 'master'
Move API reference to gi-docgen

See merge request GNOME/gtk!3222
2021-03-11 17:11:57 +00:00
Emmanuele Bassi c5ddf5b381 docs: Add URL maps for cross links 2021-03-11 16:46:02 +00:00
Emmanuele Bassi 61712bfb3b docs: Enable search 2021-03-11 16:37:38 +00:00
Emmanuele Bassi c3eb3f2943 docs: Update the "running GTK apps" section
Style the content a bit better, and use the appropriate links.
2021-03-11 16:37:38 +00:00
Matthias Clasen d13e592dbf Small updates to the coding and documentation style
Mention summary sentences, and a few other things.
2021-03-11 16:37:38 +00:00
Emmanuele Bassi 686f65f267 build: Add missing variable definition 2021-03-11 16:37:38 +00:00
Emmanuele Bassi bb2ee71cd8 build: Add a GIR dependency to PangoCairo
This is not strictly needed from an introspection perspective, but:

 - GTK strictly depends on PangoCairo internally
 - we want to integrate the GDK docs with PangoCairo's

So even though we don't have an explicit dependency on PangoCairo types
in our ABI, we do assume that people will be able to use the PangoCairo
API with GTK.
2021-03-11 16:37:38 +00:00
Emmanuele Bassi 816383e9ef Handle static inline GtkOrdering function
The introspection scanner does not handle `static inline` functions:
they are not in the shared library, so cannot be dlsym() out of it; and
the `static` keyword tells g-ir-scanner to skip the function declaration
entirely.

We can trick the scanner into thinking the gtk_ordering_from_cmpfunc()
symbol is a real, public one, by declaring and defining a regular
function under the `__GI_SCANNER__` guard; the symbol does not appear
when actually building GTK, or any code using GTK, so we don't risk
collisions.
2021-03-11 16:37:38 +00:00
Emmanuele Bassi 90cf6bb686 docs: Show class hierarchy in the API references 2021-03-11 16:37:38 +00:00
Matthias Clasen e930433800 label: Fix some external links
I had put in a bunch of [class@Pango.Attribute],
but it needs to be [struct@Pango.Attribute].

Know your dependencies` type hierarchy!
2021-03-11 16:37:38 +00:00
Matthias Clasen a6b2994f8b text: Fix some copy-paste mishap
A bunch of occurrances of "the self" looked like
absurdist short fiction:

"...the self scrolled off the screen to the left"
2021-03-11 16:37:38 +00:00
Matthias Clasen 8d7103116a widget: Fix up some links
Fix up some links to vfuncs and to sections, as well as class methods.
2021-03-11 16:37:38 +00:00
Matthias Clasen 9d95c5a26d shortcuttrigger: Convert docs 2021-03-11 16:37:38 +00:00
Matthias Clasen 9fbe61e01f shortcutlabel: Convert docs 2021-03-11 16:37:38 +00:00
Matthias Clasen 7c442c1736 shortcutcontroller: Convert docs 2021-03-11 16:37:38 +00:00
Matthias Clasen 48a3b4e7cd shortcutaction: Convert docs 2021-03-11 16:37:38 +00:00
Matthias Clasen 90ecf58a9c shortcut: Convert docs 2021-03-11 16:37:38 +00:00
Matthias Clasen 0a966e59e6 sizegroup: Convert docs 2021-03-11 16:37:38 +00:00
Matthias Clasen acb78afc2d testutils: Convert docs 2021-03-11 16:37:38 +00:00
Matthias Clasen d0ed62e747 snapshot: Convert docs 2021-03-11 16:37:38 +00:00
Matthias Clasen 44e977ef35 tooltip: Convert docs 2021-03-11 16:37:38 +00:00
Matthias Clasen f93f975e42 settings: Convert docs 2021-03-11 16:37:38 +00:00
Matthias Clasen 9fa8b446cc recentmanager: Convert docs 2021-03-11 16:37:38 +00:00
Matthias Clasen e065b28d1a mountoperation: Convert docs 2021-03-11 16:37:37 +00:00
Matthias Clasen 6108759d63 menutrackeritem: Remove SECTION
This is private
2021-03-11 16:37:37 +00:00
Matthias Clasen 4e315b81cc menutracker: Remove SECTION
This is private.
2021-03-11 16:37:37 +00:00
Matthias Clasen 802c976d07 treesortable: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen a5018ed029 treeselection: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen 1a09c361f5 treemodelsort: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen 58f64c85ca treemodelfilter: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen 9a6886e5e2 treemodel: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen deef6425b3 treednd: Add summaries 2021-03-11 16:37:37 +00:00
Matthias Clasen 9e3df3fac1 treestore: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen 03e21fc957 liststore: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen 3ed729e1d7 treeviewcolumn: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen 1cde6a2e08 treeview: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen f937fe4a87 windowgroup: Convert docs 2021-03-11 16:37:37 +00:00
Matthias Clasen 190292a7da listbox: Convert docs 2021-03-11 16:37:37 +00:00
Matthias Clasen 86d2a44850 iconview: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen ef429c587b constraintsolver: Remove SECTION
This is private
2021-03-11 16:37:37 +00:00
Matthias Clasen f9cb67b32c cellview: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen f6932b885d cellrenderertoggle: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen b1ba7f4380 cellrenderertext: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen 2eae3e8e78 cellrendererspinner: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen 077fe55d81 cellrendererspin: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen e92e14c845 cellrendererprogress: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen 8b7f39ead8 cellrendererpixbuf: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen 48a94ccbfc celleditable: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen a9b163cd7f cellrenderercombo: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen 3236b1d1c9 cellrendereraccel: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen d85fa8854e cellrenderer: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen 522ae8d02f celllayout: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen 7173223df5 cellareacontext: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen 186d2c2964 cellareabox: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen ccb40688ec cellarea: Add a summary 2021-03-11 16:37:37 +00:00
Matthias Clasen 8d888203f0 actionobserver: Drop SECTION
This is private.
2021-03-11 16:37:37 +00:00
Matthias Clasen a63223b25b actionobservable: Drop SECTION
This is private.
2021-03-11 16:37:37 +00:00
Matthias Clasen 3cccb00f51 actionmuxer: Drop SECTION
This is private.
2021-03-11 16:37:37 +00:00
Matthias Clasen cc0df3c315 accessiblevalue: Drop SECTION
This is private.
2021-03-11 16:37:37 +00:00
Matthias Clasen 7b08e9b5d3 cssdataurl: Drop SECTION
This is private
2021-03-11 16:37:37 +00:00
Matthias Clasen b019cabd0c bloomfilter: Drop the SECTION
This is private, no need.
2021-03-11 16:37:37 +00:00
Matthias Clasen 260a4db854 accelgroup: Convert docs
Drop an unused SECTION, and convert links.
2021-03-11 16:37:37 +00:00
Matthias Clasen 8497f285c4 scrollbar: Tweak docs 2021-03-11 16:37:37 +00:00
Matthias Clasen 6925843221 placesview: Remove SECTION
Its private, no need.
2021-03-11 16:37:37 +00:00
Matthias Clasen a6a7799dc5 placessidebar: Remove SECTION
Its private, no need.
2021-03-11 16:37:37 +00:00
Matthias Clasen 3205cc79a7 modelbutton: Remove SECTION
Its private, no need.
2021-03-11 16:37:37 +00:00
Matthias Clasen 71fce93088 filechooserwidget: Convert docs 2021-03-11 16:37:37 +00:00
Matthias Clasen 537d6e5e65 treelistmodel: Convert docs 2021-03-11 16:37:37 +00:00
Matthias Clasen d0b1e2f7de treeexpander: Convert docs 2021-03-11 16:37:37 +00:00
Matthias Clasen eb675e3e7e shortcuttrigger: Tweak docs 2021-03-11 16:37:37 +00:00
Matthias Clasen 3f201aeb21 selectionmodel: Convert docs 2021-03-11 16:37:37 +00:00
Matthias Clasen da6b6d44c1 multiselection: Convert docs 2021-03-11 16:37:37 +00:00
Matthias Clasen b873b83691 listlistmodel: Remove SECTION
Private, no point.
2021-03-11 16:37:37 +00:00
Matthias Clasen 19f649ec1d noselection: Convert docs 2021-03-11 16:37:37 +00:00
Matthias Clasen a786af0c19 selectionfiltermodel: Convert docs 2021-03-11 16:37:37 +00:00
Matthias Clasen 42e9cf88cf immulticontext: Convert docs 2021-03-11 16:37:37 +00:00
Matthias Clasen 33d7aff67e imcontextsimple: Convert docs 2021-03-11 16:37:37 +00:00
Matthias Clasen 4e4050813a gestureswipe: Convert docs 2021-03-11 16:37:37 +00:00
Matthias Clasen 2d55e3343a papersize: Convert docs 2021-03-11 16:37:37 +00:00
Matthias Clasen 8d8fd63b93 gesturestylus: Convert docs 2021-03-11 16:37:37 +00:00
Matthias Clasen e2cab4d406 imcontext: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 3eeaef0834 widgetpaintable: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 4921497904 singleselection: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 71ce79bfb8 slicelistmodel: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen c76bd17ddd gesturesingle: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen ecd8d7596b maplistmodel: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 97fd0fe889 scrollable: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 96fe1218f2 overlaylayout: Add docs for GtkOverlayLayoutChild 2021-03-11 16:37:36 +00:00
Matthias Clasen 14c45be89c gesturerotate: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen d5d0cf61b9 padcontroller: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 7606329617 gesturezoom: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 7a1da45fff mediafile: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 4905f5e722 mediastream: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen ca3363466f gesturepan: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 207c4cd9e1 propertylookuplistmodel: Remove SECTION
This is private, no need.
2021-03-11 16:37:36 +00:00
Matthias Clasen 6221d1b407 version: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen f6ff03bf09 viewport: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen ae315c1106 stringlist: Add docs to GtkStringObject 2021-03-11 16:37:36 +00:00
Matthias Clasen 8164cbbc5f listbase: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 2d76ce829c gesturelongpress: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen e604c3b77c gesturedrag: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen d4f2121bc2 infobar: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen f328e5ecc1 gestureclick: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 19df22f784 icontheme: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 3556b605c9 gesture: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen c26ac6b695 flowbox: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 9f08c50791 flattenlistmodel: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 95b2107728 filefilter: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 2915c72a26 eventcontrollerscroll: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 207a45b7e0 eventcontrollermotion: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 32b3386d23 eventcontrollerlegacy: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 094d5d5260 eventcontrollerkey: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 8b26894759 eventcontrollerfocus: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen f4ad0f32f8 expander: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen ca74f46b3e spinner: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen d7e0af62e3 eventcontroller: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 21f2a824ad entrycompletion: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 6bd46779fc editable: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen b3f6e95d62 droptargetasync: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 39dac1ff22 droptarget: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 30236be2fd dragsource: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen a9d4b6a61c dragicon: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen c1e10473fb builder: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen e8bba52190 border: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 1a504feab9 accessible: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 406e4a6928 csssection: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen f89e1bce90 csslocation: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen d1b472c1c8 windowcontrols: Tweak docs 2021-03-11 16:37:36 +00:00
Matthias Clasen cabe2f5f20 treelistrowsorter: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 970ae74cd5 texttag: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 50139ad184 textview: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen d74666de58 texttagtable: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen e0df1b3fd9 textmark: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen bf978ba5a6 textiter: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 05b13dca55 textchild: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 720f6e7a17 textbuffer: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 71649fce29 text: Convert docs 2021-03-11 16:37:36 +00:00
Matthias Clasen 42aa2edf19 styleprovider: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen b66c74767f stylecontext: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 39394da850 stringsorter: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen da9a320a40 sortlistmodel: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 5bdcd66117 sorter: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 930912fd0d revealer: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 5ebd0edf72 numericsorter: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen dda6458142 multisorter: Tweak docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 5568025f1d listview: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 5189d3b485 listitem: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 901f60bc54 gridview: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 9f90100019 fixedlayout: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 8db6d6750c fixed: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 36f6a76272 filterlistmodel: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 8696b78e59 expression: Tweak docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 493d773c18 enums: Tweak docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 9247460c2f entrybuffer: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen ebadece27b dropcontrollermotion: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen f4b498031a dragsource: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen eb77ff9696 dragicon: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen c11ec03642 directorylist: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 7744be938f customsorter: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 646a6726a8 customlayout: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 460955d578 cssprovider: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 2e1114c9fa customfilter: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen a814c3b3c4 constraintlayout: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 5e41ea1d2f constraintguide: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 350a775963 Constraint: Tweak docs 2021-03-11 16:37:35 +00:00
Matthias Clasen c0da6b935d columnviewcolumn: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen a9162d2218 columnview: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 102884faf1 docs: Remove anchors from list overview
Our markdown doesn't support this.
2021-03-11 16:37:35 +00:00
Matthias Clasen 497a399372 windowcontrols: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen 292643890b window: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen c46480fe7e textview: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen 29f2e5f84e switch: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen 9ab40d2899 stringlist: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen cc03ca9df1 spinbutton: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen bcb0b36238 searchentry: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen 7e7c81c5d2 searchbar: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen d7ce5c55c8 scrollbar: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen 59c0bee4b8 scalebutton: Convert docs 2021-03-11 16:37:35 +00:00
Matthias Clasen 33f611a596 scale: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen 495c3d9c44 progressbar: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen b4ad1fa44f popovermenubar: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen b093900e48 popover: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen 27b338a90b passwordentry: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen ca51d6dfd9 paned: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen 47c1b50eba cursor: Use a table for cursor names
This gets all the names into view at the same time.
2021-03-11 16:37:35 +00:00
Matthias Clasen 5d68a23b55 menubutton: Put images in a table 2021-03-11 16:37:35 +00:00
Matthias Clasen 9f6e4e60d0 label: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen 7a60c66940 headerbar: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen 31245353d5 frame: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen c91e141a6c fontbutton: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen 87c0363cd5 expander: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen 71bad39f5a entry: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen 40574f9ca3 emojichooser: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen 752477b1ae editablelabel: Use markdown for css tree 2021-03-11 16:37:35 +00:00
Matthias Clasen ad9849bf26 dropdown: Small doc tweak 2021-03-11 16:37:35 +00:00
Matthias Clasen 9bfe163cf1 comboboxtext: Use markdown for css tree 2021-03-11 16:37:34 +00:00
Matthias Clasen 22f072faea combobox: Use markdown for css tree 2021-03-11 16:37:34 +00:00
Matthias Clasen 57c7d77cdf colorbutton: Use markdown for css tree 2021-03-11 16:37:34 +00:00
Matthias Clasen 7ac7bb9543 checkbutton: Use markdown for css tree 2021-03-11 16:37:34 +00:00
Matthias Clasen c82b5b8d8a centerbox: Small docs tweak 2021-03-11 16:37:34 +00:00
Matthias Clasen 15aa7de547 calendar: Use markdown for css tree 2021-03-11 16:37:34 +00:00
Matthias Clasen ee62d19115 button: Small docs tweak 2021-03-11 16:37:34 +00:00
Matthias Clasen cdcabb7fb7 atcontext: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 494bdad887 contentprovider: Convert some more markup 2021-03-11 16:37:34 +00:00
Matthias Clasen ef09696ee5 stringfilter: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 8da60587e1 stackswitcher: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 3a7e9a28d3 stacksidebar: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 3535b582a1 stack: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 07573ef2a6 overlaylayout: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 92838f9972 printdialog: Add an example image 2021-03-11 16:37:34 +00:00
Matthias Clasen ca5f66b368 multifilter: Docs tweaks. 2021-03-11 16:37:34 +00:00
Matthias Clasen af6af482c4 pagesetupdialog: Add an example image 2021-03-11 16:37:34 +00:00
Matthias Clasen c65239155f notebook: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 12f0d963d9 levelbar: Docs tweaks 2021-03-11 16:37:34 +00:00
Matthias Clasen 6ab8ca4669 headerbar: Add example image 2021-03-11 16:37:34 +00:00
Matthias Clasen d65a98f828 gridlayout: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 79417d8d40 centerlayout: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 8bdb2ea667 overlay: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 8e887fbbf4 listitemfactory: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen dc42dcf962 signallistitemfactory: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 68cd66b210 builderlistitemfactory: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 39a9bea066 builderscope: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 0776f645fd builder: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen b408dc0706 boxlayout: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 626ee40970 boolfilter: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen f86c8f2077 bookmarklist: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 1a501e3d53 binlayout: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen c611fcc709 assistant: Small doc tweak 2021-03-11 16:37:34 +00:00
Matthias Clasen de1101df19 aspectframe: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen aca07954af applicationwindow: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 06a51c045c application: Tweak docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 7f7231038d adjustment: Small docs tweak 2021-03-11 16:37:34 +00:00
Matthias Clasen fd6faabe16 actionable: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 26ca77d01b aboutdialog: Small docs tweak 2021-03-11 16:37:34 +00:00
Matthias Clasen b983133675 Include low-level printing in the gir
We add the sources, but not the headers. Oops.
2021-03-11 16:37:34 +00:00
Matthias Clasen 02fc352bfb windowhandle: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 180de1041b shortcutmanager: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen ded9903a83 root: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 921e8e02f4 printoperationpreview: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 9d536b9aef printunixdialog: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen d11b263ac2 printsettings: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen a710e64bad printeroperation: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen b257a58417 printjob: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen eca14b763c printer: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 5225a0f253 printcontext: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 60b3effce3 pagesetupdialog: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen b3e7e31bb0 pagesetup: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 3ab954882d layoutmanager: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 7dd436ab17 filter: Add sections for AnyFilter and EveryFilter 2021-03-11 16:37:34 +00:00
Matthias Clasen 085b0b7c08 adjustment: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 76fa6dcef6 shortcutmanager: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen dde3de34c9 popovermenubar: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen e88f0d4b77 popovermenu: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 172ab2f20a native: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 0ca97cd218 emojichooser: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 645c951fb6 mediacontrols: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 4bed24a816 windowcontrols: Convert docs 2021-03-11 16:37:34 +00:00
Matthias Clasen 9104420c87 shortcutswindow: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen 0d238f4c99 range: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen 9b9c9ae8d4 popover: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen 1f06cfd5d8 headerbar: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen ddcb76ac2d appchooserwidget: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen e21156b30b appchooserdialog: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen 166edeed91 appchooser: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen 465aca029e Add some more widgets to the gallery
We already have images for menus, menubars and emoji chooser.
Use them.
2021-03-11 16:37:33 +00:00
Matthias Clasen 86604d8e01 nativedialog: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen bb393f6496 fontchooserwidget: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen 7a099604c9 fontchooserdialog: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen 92009413f2 fontchooser: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen 7763fc55bb filechoosernative: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen 042af94048 filechooserdialog: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen d91fb26409 filechooser: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen 3124a784fe searchbar: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen 936a2c2c59 colorchooserdialog: Fixup 2021-03-11 16:37:33 +00:00
Matthias Clasen 53d3b46d4a actionbar: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen fc55478890 paned: Convert docs
Convert links, add example image, clean things up.
2021-03-11 16:37:33 +00:00
Matthias Clasen d41c3e3c2d colorchooser: Convert docs
Convert link syntax.
2021-03-11 16:37:33 +00:00
Matthias Clasen 886ba1680d colorchooserwidget: Convert docs
Convert links, and clean things up.
2021-03-11 16:37:33 +00:00
Matthias Clasen 11c5523142 colorchooserdialog: Convert docs
Convert link syntax, add example image, clean things up.
2021-03-11 16:37:33 +00:00
Matthias Clasen c0be9c5b97 colorbutton: Small doc tweaks 2021-03-11 16:37:33 +00:00
Matthias Clasen ad2dad6612 assistant: Convert docs
Convert link syntax, an example image, clean things up.
2021-03-11 16:37:33 +00:00
Matthias Clasen 5950bcd754 frame: Convert docs
Convert link syntax, add an example image, add property
annotations.
2021-03-11 16:37:33 +00:00
Matthias Clasen 067b43fb5b aboutdialog: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen b39160243f aboutdialog: Improve example image
Use our logo, and update the copyright years.
2021-03-11 16:37:33 +00:00
Matthias Clasen b460ffd120 dialog: Convert docs
Convert links, add an example image, generally clean up docs.
2021-03-11 16:37:33 +00:00
Matthias Clasen a61c677a0d docs: Add dialogs to the gallery 2021-03-11 16:37:33 +00:00
Matthias Clasen 7afc1291a8 window: Convert docs
Convert link format, add an example image, add
property annotations. General cleanup.
2021-03-11 16:37:33 +00:00
Matthias Clasen cc2d9f0cb5 scrollable: Convert docs
Convert link format, add property annotations. General cleanup.
2021-03-11 16:37:33 +00:00
Matthias Clasen 73b66428a7 viewport: Convert docs
Convert link format, add property annotations. General cleanup.
2021-03-11 16:37:33 +00:00
Matthias Clasen 3a62b28344 scrolledwindow: Convert docs
Convert link format, add property annotations. General cleanup.
2021-03-11 16:37:33 +00:00
Matthias Clasen f3b16d0e9d messagedialog: Convert docs
Convert link format, add an example image, add
property annotations. General cleanup.
2021-03-11 16:37:33 +00:00
Matthias Clasen e999773566 grid: Convert docs
Convert link format, add an example image, add
property annotations. General cleanup.
2021-03-11 16:37:33 +00:00
Matthias Clasen 6aaa98f669 expander: Convert docs
Convert link format, add an example image, add
property annotations. General cleanup.
2021-03-11 16:37:33 +00:00
Matthias Clasen f800178e7f centerbox: Convert docs
Convert link format, add an example image, add
property annotations. General cleanup.
2021-03-11 16:37:33 +00:00
Matthias Clasen 07a2b60f45 box: Convert docs
Convert link format, add an example image, add
property annotations. General cleanup.
2021-03-11 16:37:33 +00:00
Matthias Clasen f5fe5c1fa6 appchooserbutton: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen e353cf38ec colorbutton: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen 947ebee7d4 dropdown: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen d4eb11142a fontbutton: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen e4054d62fe switch: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen 37855e2b53 spinbutton: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen 08371b25dc menubutton: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen 26100ad5d1 lockbutton: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen 69427e98d5 editablelabel: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen d3e8607f58 combobox: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen cf6f57b41c passwordentry: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen d5a024c7f8 linkbutton: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen 67fdc0491a checkbutton: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen 5d69584a53 togglebutton: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen ef5b781e0c entry: Minor docs fixes 2021-03-11 16:37:33 +00:00
Matthias Clasen 72505acb9e searchentry: Minor docs tweaks 2021-03-11 16:37:33 +00:00
Matthias Clasen d7b55cfd0c editable: Convert docs 2021-03-11 16:37:33 +00:00
Matthias Clasen 7803a09f31 entry: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Emmanuele Bassi 4f36509e5f Mark padding fields as private
And mention that they should be removed in the next version of GTK.
Padding fields in interfaces are unnecessary, as they don't contribute
to the ABI.
2021-03-11 16:37:33 +00:00
Emmanuele Bassi 198c0be5e7 flowbow: Mark private fields as private 2021-03-11 16:37:33 +00:00
Matthias Clasen c0bd352c88 scale: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen 3a62913a97 entry: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:33 +00:00
Matthias Clasen abb951daf1 button: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:32 +00:00
Matthias Clasen 4131cb4c7b bitset: Convert docs 2021-03-11 16:37:32 +00:00
Matthias Clasen 7450427757 gsktransform: Convert docs 2021-03-11 16:37:32 +00:00
Matthias Clasen b836707979 gskroundedrect: Convert docs 2021-03-11 16:37:32 +00:00
Matthias Clasen 70f805cdfe rendernode: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:32 +00:00
Matthias Clasen 458bc5500c gskrenderer: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:32 +00:00
Matthias Clasen 22b375534e glshader: Add property annotations
Connect properties, getters, and setters with annotations
2021-03-11 16:37:32 +00:00
Emmanuele Bassi e60afc6011 docs: Remove stray backtick 2021-03-11 16:37:32 +00:00
Matthias Clasen 30073de932 widget: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen b674bba155 video: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 50df5e0ec2 textview: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 693f3d6b41 separator: Add property annotations
Connect properties, getters, and setters with annotations.t
2021-03-11 16:37:32 +00:00
Matthias Clasen e78302c4e5 scrollbar: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 0559e9e763 scale: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 8eacbc3a20 picture: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 3fd3187d8f orientable: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 723d979be2 infobar: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 0c56522de1 image: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 8db308be4d glarea: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 30d32a1f9d drawingarea: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 08509acc04 claendar: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 6ff78c99fa accessible: Annotate properties 2021-03-11 16:37:32 +00:00
Matthias Clasen 34443546a8 visual index: Reorder some widgets
This improves the alignment a bit.
2021-03-11 16:37:32 +00:00
Matthias Clasen d5e9e10d0a toplevel: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen d262f740b2 texture: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen d886ab9229 surface: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 6be66205cc seat: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen abb6fe326f popup: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen d6c763f2ae monitor: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 34533b544a glcontext: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen d92647a92b drop: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 553a959102 drawcontext: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 9a33a1852a drag: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen ce83a0e5bb displaymanager: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen d724ea294d display: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 038006d582 devicetool: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 4a4301be38 device: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 50fe533246 cursor: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 11022fc485 contentprovider: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen c51585bab1 clipboard: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 701ebd55c7 applaunchcontext: Add property annotations
Connect properties and getters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 4c50c312c1 statusbar: Remove SECTION 2021-03-11 16:37:32 +00:00
Matthias Clasen 55f1ed171a infobar: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 97c4e46e39 progressbar: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen 3ed2e94f29 levelbar: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen e98ea46d87 spinner: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Matthias Clasen a8a15d48ad label: Add property annotations
Connect properties, getters, and setters with annotations.
2021-03-11 16:37:32 +00:00
Emmanuele Bassi 6bc69a12cc docs: Update the documentation style guide 2021-03-11 16:37:32 +00:00
Emmanuele Bassi c6b23f8f89 constraint: Port to the new docs format
- Drop the "SECTION".
 - Add attributes annotations for properties and getter methods.
 - Remove excessive linking and redundant types
2021-03-11 16:37:32 +00:00
Emmanuele Bassi be93dd98f7 Hide GtkSettingsValue
This is a private type that has no public API, and no business being in
a public header.
2021-03-11 16:37:32 +00:00
Emmanuele Bassi a8f36b8381 Hide GtkTextBTree's typedef
It's a private type, and has no business in a public header.
2021-03-11 16:37:32 +00:00
Emmanuele Bassi 1fb5824e1e treemodel: Update the description format
Also add a description for GtkTreePath.
2021-03-11 16:37:32 +00:00
Emmanuele Bassi 35e438a62e treeview: Update the description format 2021-03-11 16:37:32 +00:00
Emmanuele Bassi cf707cbfaa expression: Update docs format
And add documentation stanzas for GtkExpression sub-types.
2021-03-11 16:37:32 +00:00
Emmanuele Bassi 1eb9d699b5 Box GtkExpressionWatch
Otherwise bindings won't know how to deal with memory management.
2021-03-11 16:37:32 +00:00
Emmanuele Bassi da94b461e0 csssection: Update docs syntax 2021-03-11 16:37:32 +00:00
Emmanuele Bassi ec32ff04b8 application: Convert docs
Drop mentions of command line arguments parsed by gtk_init(), and of the
GDK lock.
2021-03-11 16:37:32 +00:00
Emmanuele Bassi 8d12dce174 docs: Fix property annotation 2021-03-11 16:37:32 +00:00
Matthias Clasen 63dc97fb29 spinbutton: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen 6c315b1b8a searchentry: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen 231a19abb9 passwordentry: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen 99a3dbef00 editablelabel: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen 9934f9c43b constrainttarget: Convert docs 2021-03-11 16:37:31 +00:00
Matthias Clasen c4e43c1cd5 buildable: Convert docs
Change link syntax.
2021-03-11 16:37:31 +00:00
Matthias Clasen 3549914d0f accessible: Convert docs
Change link syntax.
2021-03-11 16:37:31 +00:00
Matthias Clasen e034046724 widget: Convert docs
Some work toward converting the docs to markdown.

More work needed, in particular around vfuncs and
class functions.
2021-03-11 16:37:31 +00:00
Matthias Clasen c975216f47 entry: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen 18e5192a58 switch: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen dc8ee5a992 volumebutton: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen e75c3d0380 fontbutton: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen 47cb0771f5 colorbutton: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen 6884a1a5c6 dropdown: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen d028f7ed9a appchooserbutton: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen fc6f16cb61 lockbutton: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen 1692b41b30 comboboxtext: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen 8e6b6ae26e combobox: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Emmanuele Bassi 9a16b1b971 docs: Remove duplicate documentation stanzas 2021-03-11 16:37:31 +00:00
Emmanuele Bassi 895aa1d3ab docs: Fix typos 2021-03-11 16:37:31 +00:00
Emmanuele Bassi da6861188b docs: Fix value annotation
Drop the `:`.
2021-03-11 16:37:31 +00:00
Emmanuele Bassi 1dd240974b docs: Fix copy-paste error in GdkDevice 2021-03-11 16:37:31 +00:00
Emmanuele Bassi b6b30c9bcf docs: Fix the MenuButton direction property links 2021-03-11 16:37:31 +00:00
Matthias Clasen 47b9a554ac menubutton: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen 3d8c810ab7 checkbutton: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen dfb68fb13d docs: Split images for check and radio buttons
Its the same widget, but two images fit better in the gallery,
and will be easier to use as example images in the docs.
2021-03-11 16:37:31 +00:00
Matthias Clasen f854136676 linkbutton: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen 18f525f7b4 docs: Improve the togglebutton image
Make it actually show toggles.
2021-03-11 16:37:31 +00:00
Matthias Clasen 4ee4c88e43 wayland: Fix a link
gi-docgen currently can't handle links without namespace
in the Wayland docs.
2021-03-11 16:37:31 +00:00
Matthias Clasen ec78bf3309 togglebutton: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Matthias Clasen 4bf7bfb41a button: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:31 +00:00
Emmanuele Bassi 538f935d44 docs: Fix the annotation for GtkTextView:justification 2021-03-11 16:37:31 +00:00
Emmanuele Bassi 952fc31dbc docs: Fix up the 3-to-4 migration guide 2021-03-11 16:37:31 +00:00
Matthias Clasen 93326164e2 docs: Add backend links to the gdk docs
These are placeholders for when we know how to
link across namespaces.
2021-03-11 16:37:31 +00:00
Matthias Clasen b78895e449 docs: Add separate toml files for gdk backends
Reusing the same one duplicates the standalone
docs, which doesn't quite seem right.
2021-03-11 16:37:31 +00:00
Matthias Clasen 205a13eaa0 docs: Brush up the Wayland backend docs
Add some content here.
2021-03-11 16:37:31 +00:00
Matthias Clasen a9dd352986 gdk: Some more tweaks of the docs 2021-03-11 16:37:31 +00:00
Matthias Clasen e82d090bf5 docs: Add some links to the pango chapter 2021-03-11 16:37:31 +00:00
Matthias Clasen 9132f1831c docs: Rework the gdk docs
Convert links, make things more concise.
2021-03-11 16:37:31 +00:00
Matthias Clasen 3d04c0f4be docs: Move GdkEvent docs inline
This is not really worth a chapter of its own.
2021-03-11 16:37:31 +00:00
Matthias Clasen ca3120919f docs: Improve gsk docs
Convert link formats, add summaries, and make
a few missing things show up in the docs.
2021-03-11 16:37:31 +00:00
Matthias Clasen e5bed812f5 docs: Tweak X11 section
Remove unsupported heading anchors.
2021-03-11 16:37:31 +00:00
Matthias Clasen d88a4629f9 docs: Tweaks Windows section
Remove unsupported heading anchors.
2021-03-11 16:37:31 +00:00
Matthias Clasen 24c04b5bb9 docs: Tweak Wayland section
Remove unsupported heading anchors.
2021-03-11 16:37:31 +00:00
Matthias Clasen 4c3ea25745 docs: Tweak a11y section
Convert link syntax.
2021-03-11 16:37:31 +00:00
Matthias Clasen 231814a595 docs: Tweak running chapter
Remove unsupported heading anchors, fix definition
list use.
2021-03-11 16:37:31 +00:00
Matthias Clasen 820f37be0b docs: Tweak input overview
Remove unsupported heading anchors.
2021-03-11 16:37:31 +00:00
Matthias Clasen 02ec00dc5a docs: Tweak drawing model overview
Fix link syntax, remove gtk-doc markup.
2021-03-11 16:37:30 +00:00
Matthias Clasen 4d2e4309f0 docs: Tweak css properties section
Fix the use of definition lists.
2021-03-11 16:37:30 +00:00
Matthias Clasen d2ba09ec98 docs: Tweak the actions overview
Fix use of definition lists, and remove some gtk-doc
markup.
2021-03-11 16:37:30 +00:00
Matthias Clasen 41ddce152a building: Minor tweaks
Remove unsupported anchors from headings.
2021-03-11 16:37:30 +00:00
Matthias Clasen df9c469acd video: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:30 +00:00
Matthias Clasen 8cf04b3345 glarea: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:30 +00:00
Matthias Clasen 1072b56970 drawingarea: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:30 +00:00
Matthias Clasen f94fc28eb5 textview: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:30 +00:00
Matthias Clasen 3b42440805 picture: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:30 +00:00
Matthias Clasen dcf53bced2 scale: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:30 +00:00
Matthias Clasen 76e9a7bbb4 image: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:30 +00:00
Matthias Clasen 12ccc68c99 separator: Convert docs
Change link syntax and add an example image.
2021-03-11 16:37:30 +00:00
Matthias Clasen 834295dde0 calendar: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:30 +00:00
Matthias Clasen b7f4f5d234 scrollbar: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:30 +00:00
Matthias Clasen 61d85f32a2 infobar: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:30 +00:00
Emmanuele Bassi 6d489a9e81 docs: Generate the DevHelp file for our namespaces 2021-03-11 16:37:30 +00:00
Emmanuele Bassi 85774d2bcd docs: Update the "Getting Started" page
Drop the Pandoc stuff, add the gi-docgen links, and remove a stray
docbook element.
2021-03-11 16:37:30 +00:00
Matthias Clasen 03c5b680ec statusbar: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:30 +00:00
Matthias Clasen 8de0a2c7c6 infobar: Convert docs
Change link syntax, add an example image, generally clean things up.
2021-03-11 16:37:30 +00:00
Matthias Clasen d58655b4ae progressbar: Convert docs
Change link syntax, add an example image, generally clean
things up.
2021-03-11 16:37:30 +00:00
Matthias Clasen f2b482ef65 levelbar: Convert docs
Change link syntax, add an example image, generally
clean things up.
2021-03-11 16:37:30 +00:00
Matthias Clasen a2e8bd24ca spinner: Convert docs
Change link syntax and add an example image.
2021-03-11 16:37:30 +00:00
Matthias Clasen 584e978840 aboutdialog: tweak the docs
Add a short summary.
2021-03-11 16:37:30 +00:00
Matthias Clasen f00f900224 label: Convert docs
Change link syntax, add singl-line summaries,
add missing property docs.
2021-03-11 16:37:30 +00:00
Matthias Clasen b9a02b0c24 docs: Bring the widget gallery back
We have all the images, lets put them to use.
2021-03-11 16:37:30 +00:00
Emmanuele Bassi af8d8113eb docs: Remove the last few remaining '+' from GTK 2021-03-11 16:37:30 +00:00
Emmanuele Bassi e8b6e6cad0 docs: Clean up the first paragraph for various symbols
The documentation engine will use the first paragraph as the summary for
a type or constant.
2021-03-11 16:37:30 +00:00
Emmanuele Bassi 701f1b837b docs: Show summary in the namespace index 2021-03-11 16:37:30 +00:00
Emmanuele Bassi 6781de96a5 docs: Start porting GtkImage to the new style 2021-03-11 16:37:30 +00:00
Emmanuele Bassi 4fef62c38d docs: Port GtkAboutDialog to the new syntax
We should also clean up the annotations, while we're at it.
2021-03-11 16:37:30 +00:00
Emmanuele Bassi 3ef95b4065 build: Quiet down gi-docgen
We are only interested in the warnings and errors.
2021-03-11 16:37:30 +00:00
Emmanuele Bassi d621a37a60 docs: Fix up the style of the X11 content file 2021-03-11 16:37:30 +00:00
Emmanuele Bassi 6f93e63d21 docs: Move detached sections into their own content file 2021-03-11 16:37:30 +00:00
Emmanuele Bassi 04fb95ce9f docs: Split GdkDrag and GdkDrop sections
This way we have a section for each class.
2021-03-11 16:37:30 +00:00
Emmanuele Bassi 548280da9f docs: Rename GdkTexture section
The name needs to match the class.
2021-03-11 16:37:30 +00:00
Emmanuele Bassi b9f0cf1c8b docs: Move gdkcairo section to an external file 2021-03-11 16:37:30 +00:00
Emmanuele Bassi abb33bd65f docs: Move the gtkmain section to its own document
The introspection data does not handle unattached sections like gtk-doc
does, so we need to move what was gtkmain into its own Markdown
document.
2021-03-11 16:37:30 +00:00
Emmanuele Bassi 542b959933 docs: Use new link syntax 2021-03-11 16:37:30 +00:00
Emmanuele Bassi b2a99642a9 docs: Begin porting GtkWidget to the new format 2021-03-11 16:37:30 +00:00
Emmanuele Bassi 6f7e933713 doc: Port GtkConstraint to the new format 2021-03-11 16:37:30 +00:00
Emmanuele Bassi 3c0f047597 docs: De-indent GtkRecentInfo.get_applications() return value
Otherwise the four spaces will be treated as a pre-formatted block by
Markdown.
2021-03-11 16:37:30 +00:00
Emmanuele Bassi a6da2db4ea docs: Start porting GtkConstraintLayout to the new doc format
Drop the old gtk-doc'isms, and use the gi-docgen links instead.
2021-03-11 16:37:30 +00:00
Emmanuele Bassi f85b847410 docs: Add metadata preamble to GTK's content files 2021-03-11 16:37:30 +00:00
Emmanuele Bassi a6ee0dd8aa docs: Drop gtk-doc files
We don't use gtk-doc to generate our API reference, so we don't need its
files lying around any more.
2021-03-11 16:37:30 +00:00
Emmanuele Bassi 0ba2a3a191 Generate GTK API reference(s) with gi-docgen
Stop using gtk-doc, and switch to gi-docgen.

The gi-docgen tool generates API references through the introspection
data, which has various benefits:

 - it does not parse C code
 - it does not generate and run C code to introspect types at build time
 - it does not present a different API from the one we're exporting

Additionally, gi-docgen:

 - does not generate DocBook XML in order to generate HTML
 - does not go through xsltproc
 - parses proper Markdown

Which makes it markedly faster than gtk-doc has ever been.
2021-03-11 16:37:30 +00:00
Emmanuele Bassi 761c327ac5 Add gi-docgen as a subproject
While we're developing gi-docgen it's better to have it as part of our
build.
2021-03-11 16:37:30 +00:00
Emmanuele Bassi 3760051169 ci: Update the fedora-docs Docker image
Use the latest base image.
2021-03-11 16:37:29 +00:00
Emmanuele Bassi 787830d360 ci: Update the CI image for docs building
We don't use Pandoc any more, but we need a bunch of Python modules for
gi-docgen.
2021-03-11 16:37:29 +00:00
Emmanuele Bassi 4018417ceb ci: Update the reference job 2021-03-11 16:37:29 +00:00
Emmanuele Bassi 386256a424 Rename base version argument in run-docker.sh
The `--base-version` argument trips up everyone. Might as well rename it
to `--version`.
2021-03-11 16:37:29 +00:00
Matthias Clasen f3701ff961 Merge branch 'fix-menubutton-tooltips' into 'master'
Limit tooltip queries to the same native

Closes #3719

See merge request GNOME/gtk!3283
2021-03-11 14:25:53 +00:00
Matthias Clasen 27295bc555 Limit tooltip queries to the same native
Without this, the menubuttons tooltip pops up
when hovering the popover, which is suprising
and unintended.

Fixes: #3719
2021-03-11 08:56:56 -05:00
Matthias Clasen e62f9e33a1 Merge branch 'gdk-win32-use-window-from-point-for-master' into 'master'
GdkWin32: Fix mouse events in presence of transparent windows on the desktop

Closes #370, #417, and gimp#1082

See merge request GNOME/gtk!2800
2021-03-11 01:09:39 +00:00
Matthias Clasen fe45f283af Merge branch 'matthiasc/for-master' into 'master'
inspector: Fix surface transform regression

See merge request GNOME/gtk!3280
2021-03-09 23:59:05 +00:00
Matthias Clasen 5556907194 inspector: Fix surface transform regression
Ever since we added surface-to-widget transforms,
the autofading of the fps overlay did not work anymore,
since it was given the transient transform node, most
of the time.

Fix this by passing both the root of the node tree and
the node for the toplevel widget to prepare_render, and
hande the widget node to the overlays. Update the
affected overlays that need to have their positioning
adjusted.
2021-03-09 18:27:04 -05:00
Мирослав Николић 9d51821e84 Update Serbian translation
(cherry picked from commit f33a2febc7)
2021-03-09 21:23:22 +00:00
Benjamin Otte c696385130 Merge branch 'wip/otte/for-master' into 'master'
Wip/otte/for master

See merge request GNOME/gtk!3279
2021-03-09 19:11:09 +00:00
Benjamin Otte 0a9d075b47 wayland: Fix memleaks when rendering with Cairo
We were leaking buffers. This wasn't caught by valgrind and friends
because it was shared memory (with the compositor), but top(1) would
instantly see memory consumption of the app and the shell go through the
roof.
2021-03-09 19:52:59 +01:00
Benjamin Otte b63c4d6722 wayland: Don't call _gdk_surface_update_size() all the time
We were calling _gdk_surface_update_size() every frame, even if the
window size didn't change. This would cause us to discard all cached
buffers and redraw the whole screen.

This was BAD.
2021-03-09 19:50:56 +01:00
Matthias Clasen 221825394f Merge branch 'ngl-rect-borders' into 'master'
Speed up border rendering

See merge request GNOME/gtk!3278
2021-03-09 17:56:57 +00:00
Matthias Clasen 124f60593b nodeparser: Print debug message before child
This puts the message up top, where it can be seen,
and not at the other end of an endless tree of children.

Update tests to match.
2021-03-09 12:15:25 -05:00
Matthias Clasen 09af40faeb ngl: Render simple borders simply
Use 4 color commands for uniform, rectilinear
borders. Most of our borders are rounded with
Adwaita, but there are still some of these.
2021-03-09 12:15:25 -05:00
Matthias Clasen bf59ddd01d gsk: Add gsk_border_node_get_uniform_color
Maintain this bit of information separately,
it will be useful in the next commit.
2021-03-09 12:15:25 -05:00
Benjamin Otte fea67dea6a vulkan: Improve rounded rect clipping
Handle the case where the inner rounded rect is fully contained
within the outer rounded rect.
2021-03-09 17:43:28 +01:00
Benjamin Otte 9f18c138d1 vulkan: Fix invalid read
Look at the right rect to compute circularness
2021-03-09 17:43:28 +01:00
Matthias Clasen bfa68223e1 Merge branch 'meson-override-dep' into 'master'
meson: override gtk4 dependency

See merge request GNOME/gtk!3277
2021-03-09 03:00:18 +00:00
Xavier Claessens 629e70f89d Meson: Use gnome.post_install()
See https://github.com/mesonbuild/meson/pull/8272 and
https://github.com/mesonbuild/meson/issues/8268.
2021-03-08 21:19:09 -05:00
Xavier Claessens 405dc7f557 meson: override gtk4 dependency
This allows applications that depends on gtk4 to build it as subproject
without hardcoding 'gtk_dep' variable name in their build definition.
2021-03-08 21:06:33 -05:00
Matthias Clasen cba8c40aa0 Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master

See merge request GNOME/gtk!3276
2021-03-09 00:12:11 +00:00
Matthias Clasen 98b13933d9 Merge branch 'bilelmoussaoui/size-request-annotations' into 'master'
g-i: update distribute_natural_allocation annotation

See merge request GNOME/gtk!3271
2021-03-08 23:07:18 +00:00
Matthias Clasen 062383bfd3 node-format: Small docs fixes 2021-03-08 17:49:21 -05:00
Matthias Clasen 91e94556ad spinbutton: Interpret localized digits
Interpret input where the characters have numeric values.

See #3387
2021-03-08 17:49:21 -05:00
Matthias Clasen 07ca46e92c Merge branch 'ngl-clip-classification' into 'master'
Ngl clip classification

See merge request GNOME/gtk!3274
2021-03-08 20:20:50 +00:00
Matthias Clasen 57e354c297 glsl: Make rounded rect clipping cheaper
Add early acceptance checks for non-corner cases.
2021-03-08 14:41:48 -05:00
Matthias Clasen fb0814602e Merge branch 'matthiasc/for-master' into 'master'
Revert "ngl: Remove a few redundant checks"

See merge request GNOME/gtk!3273
2021-03-08 13:38:12 +00:00
Matthias Clasen 5f664dbbbb Revert "ngl: Remove a few redundant checks"
This reverts commit 4375f8e382.

These were not redundant after all, as pointed out by Timm.
2021-03-08 08:10:35 -05:00
Matthias Clasen 5d30569575 Add some more rounded rect tests 2021-03-07 21:28:19 -05:00
Matthias Clasen 46d1fc1c24 gsk: Use clip defines in shaders
Use the NO_CLIP and RECT_CLIP defines to make
simpler shaders for these cases.

Note: This does not work yet.
2021-03-07 20:30:45 -05:00
Matthias Clasen 2c05b758c7 ngl: Add infrastructure for clip-variants of shaders
Make ngl compile each shader three times.
Once with #define NO_CLIP 1
once with #define RECT_CLIP 1
and once as before.
2021-03-07 20:30:45 -05:00
Matthias Clasen 5788338a14 ngl: Classify clips
Maintain the 'fully contained' information in the clip
stack. This will let us pick simpler shaders in the future.
2021-03-07 20:30:45 -05:00
Matthias Clasen d786e1d614 Merge branch 'ebassi/iface-macros' into 'master'
Remove invalid class macros

See merge request GNOME/gtk!3270
2021-03-07 20:22:14 +00:00
Matthias Clasen c60a316e22 Move gtk_rounded_rect_scale_affine to the right place
This function should live with the rest of the
GskRoundedRect code in gskroundedrect.c.
2021-03-07 15:17:32 -05:00
Matthias Clasen b73c9e992f imcontext: Fix a docs mishap 2021-03-07 15:16:59 -05:00
Bilal Elmoussaoui 4980f620f9 g-i: update distribute_natural_allocation annotation 2021-03-07 20:59:01 +01:00
Matthias Clasen 87b800c11d Merge branch 'bilelmoussaoui/gi-annotations' into 'master'
g-i: add missing since annotations for 4.2

See merge request GNOME/gtk!3268
2021-03-07 19:46:59 +00:00
Bilal Elmoussaoui 6e903e13a5 g-i: add missing since annotations for 4.2 2021-03-07 19:50:32 +01:00
Matthias Clasen 83c466dcd1 Merge branch 'scalable-svg' into 'master'
icons: Rename two icons which had the wrong extension

See merge request GNOME/gtk!3269
2021-03-07 18:43:50 +00:00
Emmanuele Bassi 676ea489cc docs: Remove invalid macros 2021-03-07 18:34:53 +00:00
Emmanuele Bassi 70fbfd8ede treesortable: Remove class check macro 2021-03-07 18:26:31 +00:00
Emmanuele Bassi 6234ccc974 orientable: Remove class macros 2021-03-07 18:25:55 +00:00
Emmanuele Bassi 0cfe3d45f5 celleditable: Remove class cast check macro 2021-03-07 18:25:07 +00:00
Emmanuele Bassi 41371ccae6 buildable: Remove "class" macro 2021-03-07 18:23:23 +00:00
Emmanuel Gil Peyrot 5807fee893 icons: Rename two icons which had the wrong extension
Fixes two warnings when opening the inspector on my PinePhone, these two
files were attempted to be loaded as PNG (as per the extension) instead
of SVG.

Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
2021-03-07 18:59:04 +01:00
Christian Hergert b2c1d6bc9b Merge branch 'ngl-misc-fixes' into 'master'
Ngl misc fixes

See merge request GNOME/gtk!3267
2021-03-07 15:59:59 +00:00
Rūdolfs Mazurs 5fd22e5981 Update Latvian translation
(cherry picked from commit 1d62020a19)
2021-03-07 15:26:30 +00:00
Matthias Clasen d0dce4cfa1 ngl: Treat radial gradients like others
Handle colorstop overflow for radial gradients
the same way we do for linear and conic gradients.
2021-03-07 10:18:47 -05:00
Matthias Clasen 4375f8e382 ngl: Remove a few redundant checks
We bail early on invisible nodes. No need to
repeat that check in individual visit functions.
2021-03-07 10:18:47 -05:00
Matthias Clasen 42b515a1e5 Merge branch 'matthiasc/for-master' into 'master'
Revert "flatpak: No need to build sassc anymore"

See merge request GNOME/gtk!3266
2021-03-07 14:59:57 +00:00
Matthias Clasen 6ab779cd06 roundedrect: Remove unclear language from the docs
The various intersection function for rounded rects are
precise. No need to add wordy disclaimers about the handling
of the corners.
2021-03-07 09:04:43 -05:00
Matthias Clasen a261e9fca2 Revert "flatpak: No need to build sassc anymore"
This reverts commit 9a540841fd.
2021-03-06 16:03:41 -05:00
Matthias Clasen 50ccab487f Merge branch 'matthiasc/for-master' into 'master'
vulkan: Add visible fallback rendering

See merge request GNOME/gtk!3264
2021-03-06 19:29:50 +00:00
Guillaume Bernard ddd5e5717d Update French translation
(cherry picked from commit 5b18df9b5e)
2021-03-06 18:49:41 +00:00
Мирослав Николић 390a278606 Update Serbian translation
(cherry picked from commit b9a451423f)
2021-03-06 18:43:51 +00:00
Changwoo Ryu 00423c54b5 Update Korean translation
(cherry picked from commit 60a714a25f)
2021-03-06 18:11:58 +00:00
Jordi Mas f8f90d85ad Update Catalan translation 2021-03-06 09:44:50 +01:00
Benjamin Otte 91932ada63 vulkan: Handle simple transforms in the clipping code
Requires pushing the GskTransform into the clipping code so that we
can actually look at its category.
2021-03-05 19:36:36 -05:00
Matthias Clasen dbb264dfc9 vulkan: Add visible fallback rendering
Hook up the "Show fallback rendering" switch for Vulkan.

This brings home the sobering truth that the Vulkan renderer
is doing *all* fallback, since we switched from offset nodes
to transform nodes.
2021-03-05 18:42:04 -05:00
Matthias Clasen 3aa89efcf4 Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master

See merge request GNOME/gtk!3263
2021-03-05 20:30:54 +00:00
Matthias Clasen 82f40a92c1 searchentry: Typo fix 2021-03-05 15:07:02 -05:00
Matthias Clasen ae1a950a93 flatpak: Fix the gtk4-demo build
This was overlooked in 8e7e821033.
2021-03-05 15:06:20 -05:00
Matthias Clasen 2228181b35 Merge branch 'wip/exalm/window-shadow-dark-4' into 'master'
Adwaita: Use transparent black for window border in dark too

See merge request GNOME/gtk!3261
2021-03-05 19:41:39 +00:00
Matthias Clasen 7357120c81 Merge branch 'wip/jimmac/fix-flatpak-build' into 'master'
Flatpak: Update build manifests

See merge request GNOME/gtk!3259
2021-03-05 19:11:36 +00:00
Alexander Mikhaylenko 0942e863f2 Adwaita: Use transparent black for window border in dark too
Avoid smear when the background behind the window is dark. Adjust opacity
to make it appear roughly the same as before on white background.
2021-03-05 22:59:25 +05:00
Matthias Clasen 08f3618a47 Merge branch 'wip/jimmac/sidebar-focus' into 'master'
Adwaita: Regular focus ring for sidebar rows

Closes #3708

See merge request GNOME/gtk!3258
2021-03-05 17:17:04 +00:00
Jakub Steiner 8e7e821033 Flatpak: Update build manifests
- point to the upstream repo for wayland
- disable disabling of sassc
- switch wayland from autotools to meson
2021-03-05 18:00:17 +01:00
Jakub Steiner 11d6f2ddd0 Adwaita: Regular focus ring for sidebar rows
- style sidebar rows as regular items like buttons wrt focus
- define transition as part of the focus-ring(),
  only animate outline related properties rather than `all`

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3708
2021-03-05 17:45:58 +01:00
Kukuh Syafaat 490384c69f Update Indonesian translation
(cherry picked from commit e54dc87a15)
2021-03-05 11:53:01 +00:00
Matthias Clasen 468242b13b Merge branch 'iconbrowser-fix' into 'master'
iconbrowser: fix search<>category interaction

Closes #3717

See merge request GNOME/gtk!3257
2021-03-05 01:11:11 +00:00
Matthias Clasen d3d49ce7f1 iconbrowser: fix search<>category interaction
Make search act like a separate, filtered view of
all icons. This is how it worked in gtk3, and how
it should be.

Fixes: #3717
2021-03-04 19:30:02 -05:00
Matthias Clasen c303ec1553 Merge branch 'preedit-selection-fix' into 'master'
Preedit selection fix

Closes #1123

See merge request GNOME/gtk!3255
2021-03-04 22:48:25 +00:00
Matthias Clasen d28df0b87e textview: Delete selection when preedit starts
This prevents confusing misrendering when the preedit text
pushes the selection text out of the rendered selection.

Fixes: #1123
2021-03-04 15:18:30 -05:00
Matthias Clasen d1fbfb9c4e textview: Send anchor with surrounding
We have the api to do it now.
2021-03-04 15:18:30 -05:00
Matthias Clasen ccae0e1732 text: Optimize away 0-change insertions and deletions
We can short-circuit insert and delete calls that are
not causing any change.
2021-03-04 15:18:30 -05:00
Matthias Clasen 447203ce52 text: Delete selection when preedit starts
This prevents confusing misrendering when the preedit text
pushes the selection text out of the rendered selection.

Fixes: #1123
2021-03-04 15:18:30 -05:00
Matthias Clasen feccdad9d2 text: Send anchor with surrounding
We have the api to do it now.
2021-03-04 15:18:30 -05:00
Matthias Clasen 35fceca157 imwayland: Pass anchor with surrounding
This was missing in the initial implementation since
GtkIMContext did not have it in its api, but it was
added now, so we can send the information.
2021-03-04 15:18:30 -05:00
Matthias Clasen 97db959305 immulticontext: Implement [gs]et_surrounding_with_selection
This is the recommended api, going forward.
2021-03-04 15:18:30 -05:00
Matthias Clasen 4b9aeaf9e3 imcontext: Add [gs]et_surrounding_with_selection
The Wayland text protocol expects to get both ends
of the selection with its surrounding call, so make
that available via GtkIMContext. We add this as new
api and vfuncs, and fall back, so that existing
implementations keep working.
2021-03-04 15:18:30 -05:00
Matthias Clasen 053d7cfe9f Merge branch 'wip/chergert/remove-zero-suffix-array' into 'master'
ngl: remove unnecessary suffix array

See merge request GNOME/gtk!3254
2021-03-03 21:53:27 +00:00
Jordi Mas 2959f219e4 Update Catalan translation 2021-03-03 22:31:04 +01:00
Christian Hergert b368d3abde ngl: remove unnecessary suffix array
We didn't end up using this in the final version, so we can just delete
it and avoid MSVC issues.
2021-03-03 13:03:24 -08:00
Matthias Clasen b533bba3f3 Merge branch 'bilelmoussaoui/annotations-fix' into 'master'
update annotation of gtk_single_selection_get_selected_item

See merge request GNOME/gtk!3253
2021-03-03 15:11:00 +00:00
Bilal Elmoussaoui aae67b8fbd gtk: update annotation of gtk_single_selection_get_selected_item 2021-03-03 14:19:45 +01:00
Matthias Clasen d79354dbf5 Merge branch 'wip/exalm/headerbar-css' into 'master'
Header bar CSS tweaks

See merge request GNOME/gtk!3252
2021-03-03 13:11:22 +00:00
Alexander Mikhaylenko aa693159dc adwaita: Remove the nested headerbars hack
We clip the window now, it's not necessary anymore.
2021-03-03 17:35:15 +05:00
Alexander Mikhaylenko 5fef637e84 adwaita: Remove headerbar sheen on backdrop
It's gone from active windows since c9807f5afe,
but was still there in backdrop.
2021-03-03 17:34:22 +05:00
Matthias Clasen 208a53fa39 Merge branch 'label-mnemonic-fix' into 'master'
label: Fix markup parsing interactions

See merge request GNOME/gtk!3250
2021-03-03 12:00:37 +00:00
Matthias Clasen 875a92b95f label: Fix markup parsing interactions
We were not handling mnemonics vs markup right
in all cases. Rewrite the _-stripping code to
do it during the link parsing, instead of as
a separate function. This avoids the issue of
stripping _ from attribute names in markup.

Add tests.

Fixes: 3706
2021-03-02 23:25:01 -05:00
Matthias Clasen c23848c03e Merge branch 'fix-glyph-serialization' into 'master'
rendernode: Fix glyph serialization

Closes #3710

See merge request GNOME/gtk!3248
2021-03-02 20:31:09 +00:00
Matthias Clasen 96ac85038b rendernode: Fix glyph serialization
We serializing to a string of ASCII, we need to
escape some chars, such as '\' and '"'.

Fixes: #3710
2021-03-02 11:32:29 -05:00
Baurzhan Muftakhidinov 69f051798e Update Kazakh translation
(cherry picked from commit 62e9dff536)
2021-03-02 03:35:10 +00:00
Matthias Clasen 1c6da51000 Merge branch 'wip/chergert/fix-ngl-gles' into 'master'
ngl: fix typo from NGL rename

See merge request GNOME/gtk!3246
2021-03-02 00:37:00 +00:00
Christian Hergert d6694a4408 ngl: fix typo from NGL rename 2021-03-01 10:28:26 -08:00
Matthias Clasen 0ccca910df Merge branch 'submodules' into 'master'
Allow GTK4 to be added as a subproject

See merge request GNOME/gtk!3242
2021-03-01 16:01:25 +00:00
Matthias Clasen fd2909abb2 Merge branch 'broadway-guint32' into 'master'
broadway: Restore guint32 type for memory size

Closes #3702

See merge request GNOME/gtk!3244
2021-02-27 23:16:28 +00:00
Rafał Dzięgiel d586410416 broadway: Restore guint32 type for memory size
guint32 is used as part of the protocol in broadway backend.
Memory size declared with it was mistakenly replaced with size_t type
which does not guarantee being 32bit on all platforms, leading to a crash.
2021-02-27 23:43:12 +01:00
Jiri Grönroos 4721e760e7 Update Finnish translation
(cherry picked from commit 3cb5a831e3)
2021-02-26 12:10:10 +00:00
BogDan Vatra 72700d1644 Allow GTK4 to be added as a subproject 2021-02-26 09:27:02 +02:00
Emin Tufan Çetin c274c35583 Update Turkish translation 2021-02-25 14:28:49 +00:00
Emin Tufan Çetin d2c3f8f496 Update Turkish translation 2021-02-25 14:02:50 +00:00
Matthias Clasen bffb666914 Merge branch 'matthiasc/for-master' into 'master'
imcontext: Fixes to the state machine

See merge request GNOME/gtk!3238
2021-02-25 12:25:02 +00:00
Matthias Clasen ab615104f5 Merge branch 'wip/carlosg/touchpad-gesture-devices' into 'master'
gdk/wayland: Assign logical pointer to touchpad gesture events

See merge request GNOME/gtk!3240
2021-02-25 12:23:26 +00:00
Jiri Grönroos 9c2674ee1e Update Finnish translation
(cherry picked from commit 0fd0b00ec9)
2021-02-25 10:46:56 +00:00
Carlos Garnacho 68ced9b553 gdk/wayland: Assign logical pointer to touchpad gesture events
These events don't make sense on physical devices (for starters, they
are relative to the logical pointer position). Use this device for
those events, also happens to be what the upper parts expect of them.
2021-02-25 01:08:07 +01:00
Matthias Clasen 177f6b377d Merge branch 'bilelmoussaoui/gdk-draw-context' into 'master'
gdk: drop the latest mention of DrawingContext

See merge request GNOME/gtk!3232
2021-02-24 22:28:47 +00:00
Matthias Clasen 55f871c193 imcontext: Fixes to the state machine
It turns out that we we were sometimes emitting
preedit-end multiple times, and sometimes not at
all. Same for preedit-start. To fix this up, introduce
a in_compose_sequence flag, maintain it, and use it
in the right places.

After these changes, both

C-S-u 1 2 3 Enter
Compose a e

generate the right signals:

preedit-start, preedit-changed,..., preedit-end, commit
2021-02-24 13:31:31 -05:00
Carlos Garnacho ce2835265b Merge branch 'wip/carlosg/mark-settings-valid-again' into 'master'
gdk/wayland: Make more matched settings from the portal as valid

See merge request GNOME/gtk!3236
2021-02-24 16:12:13 +00:00
Carlos Garnacho 75ae0e04e1 gdk/wayland: Make more matched settings from the portal as valid
Commit 97b5fad131 was a forward port from a gtk3 patch, but the hunk
was applied on the wrong bits of code.

Ensure the initialization paths also do mark settings read from the
portal as valid, so the checks for optional/newer settings actually have
the expected result. It is also desirable to mark settings as valid
after configuration changes (as that patch did effectively do), but not
enough to fix all situations.
2021-02-24 16:41:13 +01:00
Bilal Elmoussaoui adf9377b61 gdk: drop the latest mention of DrawingContext 2021-02-22 22:15:14 +00:00
Luca Bacci aec87a3514 GdkWin32: Fix mouse events in presence of transparent windows on the desktop
In gdkdevice-win32.c we are interested in knowing which window
receives mouse input at a specific location.

Only WindowFromPoint is the right API for the task, other API's
(such as (Real)ChildWindowFromPoint(Ex)) have shortcomings because
they are really designed for other purposes. For example, only
WindowFromPoint is able to look through transparent layered windows.

So even if we want to find a direct child we have to use
WindowFromPoint and then walk up the hierarchy.

Fixes: #370, #417
See: !2800
2020-11-11 12:46:52 +01:00
775 changed files with 102437 additions and 91086 deletions
+19 -8
View File
@@ -24,9 +24,9 @@ variables:
BACKEND_FLAGS: "-Dx11-backend=true -Dwayland-backend=true -Dbroadway-backend=true"
FEATURE_FLAGS: "-Dvulkan=enabled -Dcloudproviders=enabled"
MESON_TEST_TIMEOUT_MULTIPLIER: 3
FEDORA_IMAGE: "registry.gitlab.gnome.org/gnome/gtk/fedora:v28"
FEDORA_IMAGE: "registry.gitlab.gnome.org/gnome/gtk/fedora:v31"
FLATPAK_IMAGE: "registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master"
DOCS_IMAGE: "registry.gitlab.gnome.org/gnome/gtk/fedora-docs:v25"
DOCS_IMAGE: "registry.gitlab.gnome.org/gnome/gtk/fedora:v31"
.only-default:
only:
@@ -287,14 +287,24 @@ reference:
stage: docs
needs: []
variables:
EXTRA_MESON_FLAGS: "--buildtype=release"
EXTRA_MESON_FLAGS: "--buildtype=release --force-fallback-for=gdk-pixbuf,pango"
script:
- meson ${COMMON_MESON_FLAGS} ${EXTRA_MESON_FLAGS} -Dgtk_doc=true _build
- ninja -C _build gdk4-doc gsk4-doc gtk4-doc
- meson ${COMMON_MESON_FLAGS} ${EXTRA_MESON_FLAGS} -Dgtk_doc=true -Dgdk-pixbuf:gtk_doc=true -Dpango:gtk_doc=true _build
- meson compile -C _build
- mkdir -p _reference/
- mv _build/docs/reference/gdk/html/ _reference/gdk/
- mv _build/docs/reference/gsk/html/ _reference/gsk/
- mv _build/docs/reference/gtk/html/ _reference/gtk/
- mv _build/docs/reference/gdk/gdk4/ _reference/gdk4/
- mv _build/docs/reference/gdk/gdk4-x11/ _reference/gdk4-x11/
- mv _build/docs/reference/gdk/gdk4-wayland/ _reference/gdk4-wayland/
- mv _build/docs/reference/gsk/gsk4/ _reference/gsk4/
- mv _build/docs/reference/gtk/gtk4/ _reference/gtk4/
- mv _build/subprojects/pango/docs/Pango/ _reference/Pango/
- mv _build/subprojects/pango/docs/PangoCairo/ _reference/PangoCairo/
- mv _build/subprojects/pango/docs/PangoFc/ _reference/PangoFc/
- mv _build/subprojects/pango/docs/PangoFT2/ _reference/PangoFT2/
- mv _build/subprojects/pango/docs/PangoOT/ _reference/PangoOT/
- mv _build/subprojects/pango/docs/PangoXft/ _reference/PangoXft/
- mv _build/subprojects/gdk-pixbuf/docs/gdk-pixbuf/ _reference/gdk-pixbuf/
- mv _build/subprojects/gdk-pixbuf/docs/gdk-pixdata/ _reference/gdk-pixdata/
artifacts:
paths:
- _reference
@@ -304,6 +314,7 @@ pages:
needs: ['reference']
script:
- mv _reference/ public/
- cp .gitlab-ci/pages/* public/
artifacts:
paths:
- public
+4 -4
View File
@@ -17,8 +17,8 @@ branch, as well as their available versions.
### Checklist for Updating a CI image
- [ ] Update the `${image}.Dockerfile` file with the dependencies
- [ ] Run `./run-docker.sh build --base ${image} --base-version ${number}`
- [ ] Run `./run-docker.sh push --base ${image} --base-version ${number}`
- [ ] Run `./run-docker.sh build --base ${image} --version ${number}`
- [ ] Run `./run-docker.sh push --base ${image} --version ${number}`
once the Docker image is built; you may need to log in by using
`docker login` or `podman login`
- [ ] Update the `image` keys in the `.gitlab-ci.yml` file with the new
@@ -30,8 +30,8 @@ branch, as well as their available versions.
- [ ] Write a new `${image}.Dockerfile` with the instructions to set up
a build environment
- [ ] Add the `pip3 install meson` incantation
- [ ] Run `./run-docker.sh build --base ${image} --base-version ${number}`
- [ ] Run `./run-docker.sh push --base ${image} --base-version ${number}`
- [ ] Run `./run-docker.sh build --base ${image} --version ${number}`
- [ ] Run `./run-docker.sh push --base ${image} --version ${number}`
- [ ] Add the new job to `.gitlab-ci.yml` referencing the image
- [ ] Open a merge request with your changes and let it run
+8 -2
View File
@@ -1,6 +1,12 @@
FROM registry.gitlab.gnome.org/gnome/gtk/fedora-base:v25
FROM registry.gitlab.gnome.org/gnome/gtk/fedora-base:v28
RUN dnf -y install pandoc
RUN dnf -y install \
graphviz \
python3-jinja2 \
python3-markdown \
python3-pygments \
python3-toml \
python3-typogrify
ARG HOST_USER_ID=5555
ENV HOST_USER_ID ${HOST_USER_ID}
+154
View File
@@ -0,0 +1,154 @@
/*
* SPDX-FileCopyrightText: 2021 GNOME Foundation
*
* SPDX-License-Identifier: LGPL-2.1-or-later
*/
/**
* RedHat Fonts taken from https://github.com/RedHatOfficial/RedHatFont
* License: SIL Open Font License 1.1 http://scripts.sil.org/OFL
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,400;0,700;1,400;1,700&family=Red+Hat+Display:ital,wght@0,400;0,500;0,700;0,900;1,400;1,500;1,700;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&display=swap');
@font-face {
font-family: "RedHatDisplayWeb";
src: local('RedHatDisplayWeb'),
url("RedHatDisplay-Regular.woff2") format("woff2"),
url("RedHatDisplay-Regular.woff") format("woff");
font-style: normal;
font-weight: 400;
font-display: fallback;
}
@font-face {
font-family: "RedHatDisplayWeb";
src: local('RedHatDisplayWeb'),
url("RedHatDisplay-RegularItalic.woff2") format("woff2"),
url("RedHatDisplay-RegularItalic.woff") format("woff");
font-style: italic;
font-weight: 400;
font-display: fallback;
}
@font-face {
font-family: "RedHatDisplayWeb";
src: local('RedHatDisplayWeb'),
url("RedHatDisplay-Medium.woff2") format("woff2"),
url("RedHatDisplay-Medium.woff") format("woff");
font-style: normal;
font-weight: 500;
font-display: fallback;
}
@font-face {
font-family: "RedHatDisplayWeb";
src: local('RedHatDisplayWeb'),
url("RedHatDisplay-MediumItalic.woff2") format("woff2"),
url("RedHatDisplay-MediumItalic.woff") format("woff");
font-style: italic;
font-weight: 500;
font-display: fallback;
}
@font-face {
font-family: "RedHatDisplayWeb";
src: local('RedHatDisplayWeb'),
url("RedHatDisplay-Bold.woff2") format("woff2"),
url("RedHatDisplay-Bold.woff") format("woff");
font-style: normal;
font-weight: 700;
font-display: fallback;
}
@font-face {
font-family: "RedHatDisplayWeb";
src: local('RedHatDisplayWeb'),
url("RedHatDisplay-BoldItalic.woff2") format("woff2"),
url("RedHatDisplay-BoldItalic.woff") format("woff");
font-style: italic;
font-weight: 700;
font-display: fallback;
}
@font-face {
font-family: "RedHatDisplayWeb";
src: local('RedHatDisplayWeb'),
url("RedHatDisplay-Black.woff2") format("woff2"),
url("RedHatDisplay-Black.woff") format("woff");
font-style: normal;
font-weight: 900;
font-display: fallback;
}
@font-face {
font-family: "RedHatDisplayWeb";
src: local('RedHatDisplayWeb'),
url("RedHatDisplay-BlackItalic.woff2") format("woff2"),
url("RedHatDisplay-BlackItalic.woff") format("woff");
font-style: italic;
font-weight: 900;
font-display: fallback;
}
@font-face {
font-family: "RedHatTextWeb";
src: local('RedHatTextWeb'),
url("RedHatText-Regular.woff2") format("woff2"),
url("RedHatText-Regular.woff") format("woff");
font-style: normal;
font-weight: 400;
font-display: fallback;
}
@font-face {
font-family: "RedHatTextWeb";
src: local('RedHatTextWeb'),
url("RedHatText-RegularItalic.woff2") format("woff2"),
url("RedHatText-RegularItalic.woff") format("woff");
font-style: italic;
font-weight: 400;
font-display: fallback;
}
@font-face {
font-family: "RedHatTextWeb";
src: local('RedHatTextWeb'),
url("RedHatText-Medium.woff2") format("woff2"),
url("RedHatText-Medium.woff") format("woff");
font-style: normal;
font-weight: 700;
font-display: fallback;
}
@font-face {
font-family: "RedHatTextWeb";
src: local('RedHatTextWeb'),
url("RedHatText-MediumItalic.woff2") format("woff2"),
url("RedHatText-MediumItalic.woff") format("woff");
font-style: italic;
font-weight: 700;
font-display: fallback;
}
@font-face {
font-family: "RedHatTextWeb";
src: local('RedHatTextWeb'),
url("RedHatText-Bold.woff2") format("woff2"),
url("RedHatText-Bold.woff") format("woff");
font-style: normal;
font-weight: 900;
font-display: fallback;
}
@font-face {
font-family: "RedHatTextWeb";
src: local('RedHatTextWeb'),
url("RedHatText-BoldItalic.woff2") format("woff2"),
url("RedHatText-BoldItalic.woff") format("woff");
font-style: italic;
font-weight: 900;
font-display: fallback;
}
+138
View File
@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
id="svg6843"
sodipodi:version="0.32"
inkscape:version="0.92.4 5da689c313, 2019-01-14"
version="1.0"
sodipodi:docname="gtk-logo.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:export-filename="/home/ebassi/Pictures/gtk-logo-256.png"
inkscape:export-xdpi="192"
inkscape:export-ydpi="192">
<defs
id="defs6845">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="-50 : 600 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="700 : 600 : 1"
inkscape:persp3d-origin="300 : 400 : 1"
id="perspective13" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="2.8284271"
inkscape:cx="69.874353"
inkscape:cy="64.313526"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:document-units="px"
inkscape:grid-bbox="true"
width="128px"
height="128px"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1920"
inkscape:window-height="1016"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid7947" />
</sodipodi:namedview>
<metadata
id="metadata6848">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
<dc:date />
<dc:creator>
<cc:Agent>
<dc:title />
</cc:Agent>
</dc:creator>
<dc:rights>
<cc:Agent>
<dc:title />
</cc:Agent>
</dc:rights>
<dc:publisher>
<cc:Agent>
<dc:title />
</cc:Agent>
</dc:publisher>
<dc:identifier />
<dc:source />
<dc:relation />
<dc:language />
<dc:subject>
<rdf:Bag />
</dc:subject>
<dc:coverage />
<dc:description />
<dc:contributor>
<cc:Agent>
<dc:title />
</cc:Agent>
</dc:contributor>
<cc:license
rdf:resource="" />
</cc:Work>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<path
sodipodi:nodetypes="ccccc"
id="path6976"
d="M 20.88413,30.82696 L 53.816977,55.527708 L 107.33282,39.060543 L 70.587303,17.177763 L 20.88413,30.82696 z"
style="fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.12364459;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
<path
id="path6978"
d="M 22.94243,82.287118 L 20.88413,30.82696 L 53.816977,55.527708 L 53.816977,111.10486 L 22.94243,82.287118 z"
style="fill:#e40000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.12364459;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
<path
id="path6980"
d="M 53.816977,111.10486 L 103.21619,90.5207 L 107.33282,39.060543 L 53.816977,55.527708 L 53.816977,111.10486 z"
style="fill:#7fe719;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.12364459;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
<path
sodipodi:nodetypes="ccc"
id="path6982"
d="M 23.216626,81.319479 L 70.48573,67.361442 L 103.38422,90.444516"
style="opacity:1;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
id="path6984"
d="M 70.434539,17.875593 L 70.434539,66.984877"
style="opacity:1;fill:#babdb6;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

+149
View File
@@ -0,0 +1,149 @@
<!--
SPDX-FileCopyrightText: 2021 GNOME Foundation
SPDX-License-Identifier: LGPL-2.1-or-later
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>GTK Documentation</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8" />
<meta property="og:site_name" content="https://docs.gtk.org"/>
<meta property="og:title" content="GTK Documentation"/>
<meta property="og:url" content="https://docs.gtk.org"/>
<meta property="og:type" content="website"/>
<meta property="og:description" content="API reference for GTK"/>
<meta name="twitter:title" content="GTK Documentation"/>
<meta name="twitter:url" content="https://docs.gtk.org"/>
<meta name="twitter:card" content="summary"/>
<link rel="canonical" href="https://docs.gtk.org"/>
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="main.js"></script>
<!--[if IE]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>
<body>
<div id="body-wrapper" tabindex="-1">
<nav class="sidebar">
<div class="section">
<img src="gtk-logo.svg" class="logo"/>
</div>
<div class="section">
<h5>Sections</h5>
<div class="links">
<a href="#user-interface">User interface</a>
<a href="#core-libraries">Core libraries</a>
</div>
</div>
</nav>
<button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>
<section id="main" class="content">
<header>
<h1>GTK Documentation</h1>
</header>
<div class="toggle-wrapper">
<h4 id="user-interface">
User interface
<a href="#user-interface" class="anchor"></a>
</h4>
<div class="docblock">
<h5 id="gdk">GTK</h5>
<p>GTK is the primary library used to construct user interfaces. It
provides user interface controls and signal callbacks to respond to
user actions.</p>
<p><a href="https://docs.gtk.org/gtk4/">GTK API reference</a></p>
</div>
<div class="docblock">
<h5 id="gdk">GSK</h5>
<p>An intermediate layer which provides a rendering API implemented using Cairo, OpenGL or Vulkan.</p>
<p><a href="https://docs.gtk.org/gsk4/">GSK API reference</a></p>
</div>
<div class="docblock">
<h5 id="gdk">GDK</h5>
<p>An intermediate layer which isolates GTK from the details of the windowing system.</p>
<p><a href="https://docs.gtk.org/gdk4/">GDK API reference</a></p>
</div>
<div class="docblock">
<h5 id="pango">Pango</h5>
<p>Pango is the core text and font handling library used in GTK
applications. It has extensive support for the different writing
systems used throughout the world.</p>
<p><a href="https://docs.gtk.org/Pango/">Pango API reference</a></p>
</div>
<div class="docblock">
<h5 id="gdk-pixbuf">GdkPixbuf</h5>
<p>GdkPixbuf is a library for image loading and manipulation.</p>
<p><a href="https://docs.gtk.org/gdk-pixbuf/">GdkPixbuf API reference</a></p>
</div>
<div class="docblock">
<h5 id="cairo">Cairo</h5>
<p>Cairo is a 2D graphics library with support for multiple output
devices. It is designed to produce consistent, high quality output
on all media.</p>
<p><a href="https://www.cairographics.org/manual/" class="external">Cairo API reference</a></p>
</div>
</div>
<div class="toggle-wrapper">
<h4 id="core-libraries" style="display:flex;">
Core libraries
<a href="#core-libraries" class="anchor"></a>
</h4>
<div class="docblock">
<h5 id="glib">GLib</h5>
<p>GLib provides the core application building blocks for libraries
and applications written in C. It provides common data types
used in GTK, the main loop implementation, and a large set of
utility functions for strings and general portability across
different platforms.</p>
<p><a href="https://developer.gnome.org/glib/" class="external">GLib API reference</a></p>
</div>
<div class="docblock">
<h5 id="gobject">GObject</h5>
<p>GObject provides the object system used by GTK.</p>
<p><a href="https://developer.gnome.org/gobject/" class="external">GObject API reference</a></p>
</div>
<div class="docblock">
<h5 id="gio">GIO</h5>
<p>GIO provides a portable, modern and easy-to-use file system
abstraction API for accessing local and remote files; a set of
low and high level abstractions over the <a href="https://www.freedesktop.org/wiki/Software/dbus/" class="external">DBus</a>
IPC specification; an application settings API; portable networking
abstractions; and additional utilities for writing asynchronous
operations without blocking the user interface of your application.</p>
<p><a href="https://developer.gnome.org/gio/" class="external">GIO API reference</a></p>
</div>
</div>
</section>
<footer>
</footer>
</div>
</body>
</html>
+140
View File
@@ -0,0 +1,140 @@
// SPDX-FileCopyrightText: 2021 GNOME Foundation
//
// SPDX-License-Identifier: LGPL-2.1-or-later
// eslint-disable-next-line no-unused-vars
function hasClass(elem, className) {
return elem && elem.classList && elem.classList.contains(className);
}
// eslint-disable-next-line no-unused-vars
function addClass(elem, className) {
if (!elem || !elem.classList) {
return;
}
elem.classList.add(className);
}
// eslint-disable-next-line no-unused-vars
function removeClass(elem, className) {
if (!elem || !elem.classList) {
return;
}
elem.classList.remove(className);
}
function insertAfter(newNode, referenceNode) {
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}
function onEach(arr, func, reversed) {
if (arr && arr.length > 0 && func) {
var length = arr.length;
var i;
if (reversed !== true) {
for (i = 0; i < length; ++i) {
if (func(arr[i]) === true) {
return true;
}
}
} else {
for (i = length - 1; i >= 0; --i) {
if (func(arr[i]) === true) {
return true;
}
}
}
}
return false;
}
function onEachLazy(lazyArray, func, reversed) {
return onEach(
Array.prototype.slice.call(lazyArray),
func,
reversed);
}
// eslint-disable-next-line no-unused-vars
function hasOwnProperty(obj, property) {
return Object.prototype.hasOwnProperty.call(obj, property);
}
window.addEventListener("load", function() {
"use strict;"
var main = document.getElementById("main");
var btnToTop = document.getElementById("btn-to-top");
function labelForToggleButton(isCollapsed) {
if (isCollapsed) {
return "+";
}
return "\u2212";
}
function createToggle(isCollapsed) {
var toggle = document.createElement("a");
toggle.href = "javascript:void(0)";
toggle.className = "collapse-toggle";
toggle.innerHTML = "[<span class=\"inner\">"
+ labelForToggleButton(isCollapsed)
+ "</span>]";
return toggle;
}
function toggleClicked() {
if (hasClass(this, "collapsed")) {
removeClass(this, "collapsed");
this.innerHTML = "[<span class=\"inner\">"
+ labelForToggleButton(false)
+ "</span>]";
onEachLazy(this.parentNode.getElementsByClassName("docblock"), function(e) {
removeClass(e, "hidden");
});
} else {
addClass(this, "collapsed");
this.innerHTML = "[<span class=\"inner\">"
+ labelForToggleButton(true)
+ "</span>]";
onEachLazy(this.parentNode.getElementsByClassName("docblock"), function(e) {
addClass(e, "hidden");
});
}
}
onEachLazy(document.getElementsByClassName("toggle-wrapper"), function(e) {
let sectionHeader = e.querySelector(".section-header");
let fragmentMatches = sectionHeader !== null && location.hash === "#" + sectionHeader.getAttribute('id');
collapsedByDefault = hasClass(e, "default-hide") && !fragmentMatches;
var toggle = createToggle(collapsedByDefault);
toggle.onclick = toggleClicked;
e.insertBefore(toggle, e.firstChild);
if (collapsedByDefault) {
addClass(toggle, "collapsed");
onEachLazy(e.getElementsByClassName("docblock"), function(d) {
addClass(d, "hidden");
});
}
});
function scrollBackTop(e) {
e.preventDefault();
window.scroll({
top: 0,
behavior: 'smooth',
});
}
function toggleScrollButton() {
if (window.scrollY < 400) {
addClass(btnToTop, "hidden");
} else {
removeClass(btnToTop, "hidden");
}
}
window.onscroll = toggleScrollButton;
btnToTop.onclick = scrollBackTop;
}, false);
+747
View File
@@ -0,0 +1,747 @@
/*
* SPDX-FileCopyrightText: 2021 GNOME Foundation
*
* SPDX-License-Identifier: LGPL-2.1-or-later
*/
@import url("fonts.css");
/*********************************
* LIGHT THEME
*********************************/
:root {
/* colors */
--text-color: #333;
--text-color-muted: #999;
--primary: rgb(28, 118, 228);
--body-bg: #fff;
--sidebar-primary: rgb(144, 194, 255);
--sidebar-bg: #151515;
--sidebar-selected-bg: var(--primary);
--sidebar-text-color: #fafafa;
--sidebar-padding: 1.5em;
/* boxes, e.g. code blocks */
--box-bg: rgba(135, 135, 135, 0.085);
--box-radius: 0.35rem;
--box-padding: 0.75rem;
--box-margin: 0.75rem 0;
--box-text-color: #111;
/* typography */
--body-font-family: "Noto Serif",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
--body-font-scale: 0.95;
--body-font-size: calc(var(--body-font-scale) * clamp(16px, 1vw, 20px));
--body-font-weight: normal;
--monospace-font-family: "Source Code Pro", monospace;
--monospace-font-size: calc(0.86 * var(--body-font-size)); /* Monospace fonts are very different in terms of font-sizes. Adjust this value to scale it */
--heading-font-family: "Red Hat Display", var(--body-font-family);
--heading-weight: 900;
--heading-font-scale: 1.05;
--heading-small-font-family: var(--heading-font-family);
--heading-small-weight: 600;
--heading-small-font-scale: 1;
--heading-table-font-family: var(--heading-font-family);
--heading-table-weight: 600;
--heading-docblock-color: #6d6d6d; /* docblocks have headings from source comments. we want them to differ.*/
--heading-docblock-scale: 0.9; /* docblocks have headings from source comments. we want them to differ.*/
--symbol-font-family: var(--heading-font-family);
--symbol-font-weight: 500;
--symbol-font-scale: 1;
--table-font-size: 0.92em; /* Tables often contain lots information. It's better to scale them down a big to get more sutff fitted inside */
/* misc */
--prefered-content-width: 90ch; /* The preferred width for the readable content */
--anchor-sign: "#";
}
/*********************************
* DARK THEME (overrides)
*********************************/
@media (prefers-color-scheme: dark) {
:root {
--primary: rgb(144, 194, 255);
--text-color: #f6f6f6;
--text-color-muted: #686868;
--body-bg: #121212;
--sidebar-primary: rgb(144, 194, 255);
--sidebar-bg: #1e1e1e;
--sidebar-selected-bg: rgb(17, 112, 228);
--sidebar-text-color: #fafafa;
--box-bg: rgba(135, 135, 135, 0.1);
--box-text-color: #fff;
--heading-docblock-color: #b7b7b7;
}
/* fix dark theme syntax highlighting with a filter (for now) */
.highlight pre span {
filter: brightness(6);
}
}
/*********************************
* GENERAL STYLING
*********************************/
*,
*:before,
*:after {
box-sizing: border-box;
}
::-moz-selection {
color: white;
background: var(--primary);
}
::selection {
color: white;
background: var(--primary);
}
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-thumb {
border-radius: 10px;
background: rgba(128, 128, 128, 0.6);
}
::-webkit-scrollbar-thumb:hover {
background: rgba(128, 128, 128, 1);
}
::-webkit-scrollbar-track {
background: rgba(128, 128, 128, 0.15);
}
* {
scrollbar-width: initial;
}
body {
font: 16px/1.5 var(--body-font-family);
font-weight: var(--body-font-weight);
font-size: var(--body-font-size);
margin: 0;
padding: 0;
position: relative;
-webkit-font-feature-settings: "kern", "liga";
-moz-font-feature-settings: "kern", "liga";
font-feature-settings: "kern", "liga";
color: var(--text-color);
background: var(--body-bg);
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--heading-font-family);
font-weight: var(--heading-weight);
margin: 1.75em 0 0.75em 0;
display: flex;
align-items: center;
}
h1 {
font-size: calc(1.75em * var(--heading-font-scale));
}
header h1 {
margin-top: 0;
}
h2 {
font-size: calc(1.4em * var(--heading-font-scale));
}
h3 {
font-size: calc(1.2em * var(--heading-font-scale));
}
header h3 {
color: var(--text-color-muted);
margin-bottom: 0;
}
h4, h5 {
font-size: calc(1em * var(--heading-font-scale));
}
h6 {
font-size: calc(1em * var(--heading-small-font-scale));
font-family: var(--heading-small-font-family);
font-weight: var(--heading-small-weight);
}
ol, ul {
padding-left: 1rem;
}
ul ul, ol ul, ul ol, ol ol {
margin-bottom: .6em;
}
p {
margin: 0 0 .6em 0;
}
a {
color: var(--primary);
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
summary {
outline: none;
}
blockquote {
border-left: 3px solid var(--primary);
background: var(--box-bg);
padding: var(--box-padding);
border-radius: var(--box-radius);
margin: var(--box--margin);
}
code,
pre {
font-family: var(--monospace-font-family);
font-size: var(--monospace-font-size);
color: var(--box-text-color);
}
pre {
background: var(--box-bg);
padding: var(--box-padding);
border-radius: var(--box-radius);
overflow: auto;
}
code {
background: var(--box-bg);
padding: 0 0.35em;
border-radius: 0.35rem;
word-break: break-word;
}
a > code {
color: var(--primary);
}
pre pre,
pre code {
padding: 0;
margin: 0;
font-size: 1em;
background: none;
color: inherit;
}
h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
font-family: inherit;
font-weight: inherit;
font-size: 0.85em;
}
strong, b {
font-weight: 600;
}
/* fix unwanted margins in tables, code, lists and blockquotes */
li > *:first-child,
li > *:first-child > *:first-child,
li > *:first-child > *:first-child > *:first-child,
td > *:first-child,
td > *:first-child > *:first-child,
td > *:first-child > *:first-child > *:first-child,
pre > *:first-child,
pre > *:first-child > *:first-child,
pre > *:first-child > *:first-child > *:first-child,
blockquote > *:first-child,
blockquote > *:first-child > *:first-child,
blockquote > *:first-child > *:first-child > *:first-child {
margin-top: 0;
}
li > *:last-child,
li > *:last-child > *:last-child,
li > *:last-child > *:last-child > *:last-child,
td > *:last-child,
td > *:last-child > *:last-child,
td > *:last-child > *:last-child > *:last-child,
pre > *:last-child,
pre > *:last-child > *:last-child,
pre > *:last-child > *:last-child > *:last-child,
blockquote > *:last-child,
blockquote > *:last-child > *:last-child,
blockquote > *:last-child > *:last-child > *:last-child {
margin-bottom: 0;
}
/*********************************
* PAGE STRUCTURE
*********************************/
#body-wrapper {
display: flex;
flex-wrap: nowrap;
flex-direction: row;
}
#body-wrapper:focus {
outline: none;
}
#main {
position: relative;
flex-grow: 1;
min-width: 0;
box-shadow: 0 0 134px rgba(0, 0, 0, 0.1);
}
footer {
width: 100%;
display: none;
}
/*********************************
* Button
*********************************/
#btn-to-top {
position: fixed;
bottom: 12px;
right: 32px;
z-index: 1000;
border-radius: 50%;
width: 42px;
height: 42px;
border: 1px solid var(--primary);
background: var(--box-bg);
color: var(--text-color);
cursor: pointer;
text-transform: none;
}
#btn-to-top > .up-arrow:after {
content: "🡅"
}
/*********************************
* SIDEBAR
*********************************/
.sidebar {
scrollbar-width: thin;
background: var(--sidebar-bg);
border-right: 1px solid var(--sidebar-bg);
min-width: 40ch;
padding: var(--sidebar-padding);
color: var(--sidebar-text-color);
position: sticky;
top: 0;
z-index: 2;
height: 100vh;
overflow-y: auto;
}
.sidebar a,
.sidebar a:hover {
text-decoration: none;
}
.sidebar .logo {
display: block;
margin: 2rem auto 0 auto;
width: 70%;
}
.sidebar .section > ul > li {
margin-right: -10px;
}
.sidebar .section h3, .sidebar .section h5 {
text-align: left;
padding-left: 0.5rem;
padding-right: 0.5rem;
font-weight: var(--heading-weight);
}
.sidebar .section h5 {
font-size: 1em;
margin-bottom: 0.5em;
}
.sidebar .namespace > h3 {
margin-bottom: 0;
padding: 0;
font-size: 1.5em;
text-transform: uppercase;
font-weight: 900;
}
.sidebar .namespace > p {
font-size: 0.9em;
opacity: 0.8;
padding-left: 0.5rem;
}
.sidebar .section {
padding-left: 0.5rem;
padding-right: 0.5rem;
}
.sidebar .links {
margin-bottom: 1rem;
}
.sidebar .section a {
display: block;
text-overflow: ellipsis;
overflow: hidden;
transition: background-color 150ms ease;
color: var(--sidebar-primary);
border-radius: var(--box-radius);
padding: 0.2rem 0.5rem;
margin-bottom: 0.15rem;
}
.sidebar .section a:hover {
background-color: rgba(127, 127, 127, 0.2);
color: var(--sidebar-text-color);
}
.sidebar .section a.current {
background-color: var(--sidebar-selected-bg);
color: white;
}
.sidebar .search {
box-sizing: border-box;
text-align: center;
}
.sidebar .search input[type="text"] {
border-color: transparent;
width: 100%;
border: 1px solid #ccc;
border-radius: 50px;
padding: 6px 12px;
display: inline-block;
font-size: 80%;
box-shadow: inset 0 1px 3px #ddd;
transition: border .3s linear;
}
/*********************************
* ANCHORS & TOGGLERS
*********************************/
.anchor,
.md-anchor {
position: relative;
z-index: 1;
text-decoration: none;
padding: 0 0.5em;
color: var(--text-color-muted);
}
.anchor:hover,
.md-anchor:hover {
color: var(--primary);
}
.anchor:not([href]),
.md-anchor:not([href]) {
display: none;
}
.anchor:before,
.md-anchor:before {
content: var(--anchor-sign); /*'§'*/
}
.toggle-wrapper {
position: relative;
}
.collapse-toggle {
position: absolute;
right: 0;
left: -2em;
white-space: nowrap;
text-decoration: none;
font-size: 0.8em;
color: transparent;
}
.collapse-toggle > .inner {
width: 1rem;
height: 1rem;
border-radius: calc(0.75 * var(--box-radius));
display: inline-flex;
justify-content: center;
align-items: center;
text-align: center;
vertical-align: middle;
color: var(--box-text-color);
position: relative;
left: -0.25rem;
font-family: monospace;
font-size: 0.7rem;
font-weight: bold;
background: var(--box-bg);
}
/*********************************
* UTILITY
*********************************/
.deprecated > h6 > a {
opacity: 0.65;
}
.hidden {
display: none !important;
}
/*********************************
* CONTENT STYLING
*********************************/
.content {
padding: 2em 4em;
overflow: visible;
max-width: calc(var(--prefered-content-width) + 8em);
}
.content table:not(.table-display) {
border-spacing: 0 0.25rem;
}
.content td {
vertical-align: top;
}
.content td:first-child {
padding-right: 1rem;
}
.content td p:first-child {
margin-top: 0;
}
.content td h1, .content td h2 {
margin-left: 0;
font-size: 1.1em;
}
.content tr:first-child td {
border-top: 0;
}
kbd {
display: inline-block;
padding: 3px 5px;
font: 15px monospace;
line-height: 10px;
vertical-align: middle;
border: solid 1px;
border-radius: 3px;
box-shadow: inset 0 -1px 0;
cursor: default;
}
.content tr:first-child {
border-bottom: 1px solid rgba(0, 0, 0, 0.35);
}
.content td {
vertical-align: top;
}
.content td:first-child {
padding-right: 1rem;
}
.content td p:first-child {
margin-top: 0;
}
.content td h4, .content td h5 {
margin-left: 0;
font-size: 1.1em;
}
.content tr:first-child td {
border-top: 0;
}
.srclink {
color: var(--text-color-muted);
font-size: 1rem;
font-weight: var(--body-font-weight);
flex-grow: 0;
text-decoration: none;
margin-left: auto;
position: relative;
z-index: 1;
}
.meta tr > td:not(:first-child) {
width: 100%;
}
.meta tr > td:first-child {
white-space: nowrap;
}
/*********************************
* DOCBLOCK STYLING
*********************************/
.docblock {
position: relative;
text-align: left;
}
.docblock h1 {
font-size: calc(1.3em * var(--heading-docblock-scale) * var(--heading-font-scale));
}
.docblock h2 {
font-size: calc(1.2em * var(--heading-docblock-scale) * var(--heading-font-scale));
}
.docblock h3 {
font-size: calc(1.1em * var(--heading-docblock-scale) * var(--heading-font-scale));
}
.docblock h4 {
font-size: calc(1.05em * var(--heading-docblock-scale) * var(--heading-font-scale));
}
.docblock h1,
.docblock h2,
.docblock h3,
.docblock h4,
.docblock h5,
.docblock h6 {
color: var(--heading-docblock-color)
}
.docblock table {
margin: .25em 0;
max-width: 100%;
font-size: var(--table-font-size);
}
.docblock table td {
padding: .25em;
}
.docblock table th {
padding: .25em;
text-align: left;
font-family: var(--heading-table-font-family);
font-weight: var(--heading-table-weight);
}
.docblock table tr th:first-child,
.docblock table tr td:first-child {
padding-left: 0;
}
.docblock table tr th:last-child,
.docblock table tr td:last-child {
padding-right: 0;
}
table.enum-members,
table.results {
border-radius: var(--box-radius);
border: 1px solid var(--text-color-muted);
border-spacing: 0 0 !important;
font-size: 80%;
}
table.enum-members tr th,
table.results tr th {
border-top-color: var(--body-bg);
background-color: var(--box-bg);
border-bottom: 1px solid var(--text-color-muted);
}
table.enum-members tr th:first-child,
table.enum-members tr td:first-child {
min-width: 25em;
padding-left: .5em;
}
table.results tr th:first-child,
table.results tr td:first-child {
padding-left: .5em;
}
table.enum-members tr th:last-child,
table.enum-members tr td:last-child,
table.results tr th:last-child,
table.results tr td:last-child {
max-width: 35em;
padding-right: .5em;
}
table.results tr td code {
font-size: 100%;
}
.docblock ul li,
.docblock ol li {
padding-top: 0.15rem;
padding-bottom: 0.15rem;
}
.docblock ul.type {
list-style: none;
}
.docblock ul.type li::before {
content: "»";
color: var(--text-color);
display: inline-block;
width: 1em;
margin-left: -1em;
}
/**************************
RESPONSIVENESS
**************************/
@media (max-width: 700px) {
body {
padding-top: 0px;
}
#body-wrapper {
flex-direction: column;
overflow: hidden;
}
#main {
width: 100%;
padding: 2rem;
}
.sidebar {
position: static;
height: initial;
order: 1;
}
}
+1 -1
View File
@@ -32,7 +32,7 @@ while (($# > 0)); do
list) list=1;;
help) print_help=1;;
--base|-b) read_arg base "$@" || shift;;
--base-version) read_arg base_version "$@" || shift;;
--version|-v) read_arg base_version "$@" || shift;;
--no-login) no_login=1;;
*) echo -e "\e[1;31mERROR\e[0m: Unknown option '$1'"; exit 1;;
esac
+181
View File
@@ -1,3 +1,184 @@
Overview of Changes in 4.2.1
============================
* GtkVideo:
- Detect stream metadata when using gstreamer
* GtkFileChooser:
- Fix a crash
* GtkButton:
- Add back visual feedback for keynav activation
* GtkFontChooser:
- Fix initial font selection
* Text widgets:
- Support translucent selections
* GtkScrolledWindow:
- Stop using scroll cursors
* GtkMenuButton:
- Make focus-on-click work
* GtkToggleButton:
- Make grouped buttons mutually exclusive
* GtkPasswordEntry:
- Use MADV_DONTDUMP for secure memory
* GtkListBox:
- Allow repeated selection extension for MULTIPLE
* Themes:
- Fix resize border sizing
- Fix solid-csd window decorations
* Input:
- Revert some Compose sequence changes (mainly around dead
acute and apostrophe)
- Consume all key events during preedit, to avoid unexpected
interactions
- Ignore more modifiers during preedit, to allow using 3rd and
5th level choosers
- Fix handling of cursor positions in non-ASCII preedit text
- Fix a problem with deferred focus setting
* GdkClipboard:
- Ensure strings are nul-terminated
* GSK:
- Improvements to the ngl renderer
- Fix offscreen rendering with transforms
- Fix downscaled textures
- Avoid huge intermediate textures
- Make shadow rendering match across renderers
* Accessibility:
- Various fixes to get Orca to speak (still a work in progress)
* Wayland:
- Improve font settings fallback
- Avoid unintentional rendering freezes with popovers
* X11:
- Don't beep on untrusted displays
- Don't crash when popovers are outside the workarea
* Windows:
- Fix using GL rendering with Mesa drivers
* Inspector:
- Enable the inspector by default, in all cases
- Improve monitor information
Overview of Changes in 4.2.0
============================
* GtkFileChooser: Make the location entry work again
* GtlLabel: Fix tooltips on links
* GtkTextView: Make scrolling work better with renderers
* X11:
- Fix damage handling
- Trap errors from the COW
* Windows:
- Use a visible scroll cursor
- Include more icons for icon-theme-less situations
* Wayland: Fix key event matching with mismatched layouts.
This was causing keyboard accelerators to trigger unexpectedly
* Inspector: Allow inspecting Unicode
* Input:
- Improve dead key handling
- Regenerate compose sequence table
* gsk:
- Fix a crash in the ngl renderer
- Fix a rounding error in subpixel glyph positioning
- ngl: Implement glyph cache eviction
- ngl: Improve the glyph cache effectiveness
- ngl: Fix uniform key mapping on Windows
- Make the ngl renderer the default
* build:
- Fix build with cairo as subproject
- Disable g_assert in release builds
- Include gi-docgen as subproject
- Include generated docs
* Translation updates:
Hebrew
Hungarian
Italian
Polish
Portuguese
Swedish
Ukrainian
Overview of Changes in 4.1.2
============================
* Input:
- Ensure preedit-start and preedit-end
are emitted properly
- Support the Wayland text protocol better
- Delete the selection when preedit starts
* Label: Fix a small issue with markup parsing
and mnemonics
* Spinbutton: Interpret localized digits
* Textview: Fix blinking block cursors
* Tooltips: Don't pop up erroneous on popovers
* Window: Add a way to disable F10 handling
* Theme:
- Use a regular focus ring for sidebar rows
* GSK
- ngl: Performance improvements
- vulkan: Add visible fallback rendering
- vukan: Handle simple transforms when clipping
* Wayland:
- Don't force a full redraw for every frame
- Don't leak buffers when rendering with cairo
* Demos:
- iconbrowser: Make search more useful
* Documentation:
- Switch to building docs from gir files with gi-docgen
* build:
- Allow GTK to be used as meson subproject
* Translation updates
Catalan
Czech
Finnish
French
Indonesian
Kazakh
Latvian
Norwegian Bokmål
Polish
Serbian
Turkish
Overview of Changes in 4.1.1
============================
+3 -3
View File
@@ -32,9 +32,9 @@ Discussion forum
- https://discourse.gnome.org/c/platform/core/
Nightly documentation can be found at
- Gtk: https://gnome.pages.gitlab.gnome.org/gtk/gtk/
- Gdk: https://gnome.pages.gitlab.gnome.org/gtk/gdk/
- Gsk: https://gnome.pages.gitlab.gnome.org/gtk/gsk/
- Gtk: https://gnome.pages.gitlab.gnome.org/gtk/gtk4/
- Gdk: https://gnome.pages.gitlab.gnome.org/gtk/gdk4/
- Gsk: https://gnome.pages.gitlab.gnome.org/gtk/gsk4/
Building and installing
-----------------------
+33 -4
View File
@@ -35,15 +35,15 @@
"modules" : [
{
"name" : "wayland",
"buildsystem" : "autotools",
"buildsystem" : "meson",
"builddir" : true,
"config-opts" : [
"--disable-documentation"
"-Ddocumentation=false"
],
"sources" : [
{
"type" : "git",
"url" : "https://github.com/wayland-project/wayland.git"
"url" : "https://gitlab.freedesktop.org/wayland/wayland.git"
}
]
},
@@ -63,6 +63,36 @@
}
]
},
{
"name" : "libsass",
"buildsystem" : "meson",
"builddir" : true,
"config-opts" : [
"--libdir=/app/lib"
],
"sources" : [
{
"type" : "git",
"url" : "https://github.com/lazka/libsass.git",
"branch" : "meson"
}
]
},
{
"name" : "sassc",
"buildsystem" : "meson",
"builddir" : true,
"config-opts" : [
"--libdir=/app/lib"
],
"sources" : [
{
"type" : "git",
"url" : "https://github.com/lazka/sassc.git",
"branch" : "meson"
}
]
},
{
"name" : "gtk",
"buildsystem" : "meson",
@@ -70,7 +100,6 @@
"config-opts" : [
"--libdir=/app/lib",
"-Denable_vulkan=no",
"-Dsassc=disabled",
"-Dbuildtype=debugoptimized",
"-Dprofile=devel"
],
+33 -4
View File
@@ -35,15 +35,15 @@
"modules" : [
{
"name" : "wayland",
"buildsystem" : "autotools",
"buildsystem" : "meson",
"builddir" : true,
"config-opts" : [
"--disable-documentation"
"-Ddocumentation=false"
],
"sources" : [
{
"type" : "git",
"url" : "https://github.com/wayland-project/wayland.git"
"url" : "https://gitlab.freedesktop.org/wayland/wayland.git"
}
]
},
@@ -63,6 +63,36 @@
}
]
},
{
"name" : "libsass",
"buildsystem" : "meson",
"builddir" : true,
"config-opts" : [
"--libdir=/app/lib"
],
"sources" : [
{
"type" : "git",
"url" : "https://github.com/lazka/libsass.git",
"branch" : "meson"
}
]
},
{
"name" : "sassc",
"buildsystem" : "meson",
"builddir" : true,
"config-opts" : [
"--libdir=/app/lib"
],
"sources" : [
{
"type" : "git",
"url" : "https://github.com/lazka/sassc.git",
"branch" : "meson"
}
]
},
{
"name" : "gtk",
"buildsystem" : "meson",
@@ -70,7 +100,6 @@
"config-opts" : [
"--libdir=/app/lib",
"-Denable_vulkan=no",
"-Dsassc=disabled",
"-Dbuildtype=debugoptimized",
"-Dprofile=devel"
],
+33 -4
View File
@@ -35,15 +35,15 @@
"modules" : [
{
"name" : "wayland",
"buildsystem" : "autotools",
"buildsystem" : "meson",
"builddir" : true,
"config-opts" : [
"--disable-documentation"
"-Ddocumentation=false"
],
"sources" : [
{
"type" : "git",
"url" : "https://github.com/wayland-project/wayland.git"
"url" : "https://gitlab.freedesktop.org/wayland/wayland.git"
}
]
},
@@ -63,6 +63,36 @@
}
]
},
{
"name" : "libsass",
"buildsystem" : "meson",
"builddir" : true,
"config-opts" : [
"--libdir=/app/lib"
],
"sources" : [
{
"type" : "git",
"url" : "https://github.com/lazka/libsass.git",
"branch" : "meson"
}
]
},
{
"name" : "sassc",
"buildsystem" : "meson",
"builddir" : true,
"config-opts" : [
"--libdir=/app/lib"
],
"sources" : [
{
"type" : "git",
"url" : "https://github.com/lazka/sassc.git",
"branch" : "meson"
}
]
},
{
"name" : "gtk",
"buildsystem" : "meson",
@@ -70,7 +100,6 @@
"config-opts" : [
"--libdir=/app/lib",
"-Denable_vulkan=no",
"-Dsassc=disabled",
"-Dbuildtype=debugoptimized",
"-Dprofile=devel"
],
+39
View File
@@ -0,0 +1,39 @@
#!/usr/bin/env python3
import os
import shutil
import subprocess
from pathlib import PurePath
stylesheets = [
'gtk/theme/Adwaita/Adwaita.css',
'gtk/theme/Adwaita/Adwaita-dark.css',
'gtk/theme/HighContrast/HighContrast.css',
'gtk/theme/HighContrast/HighContrast-dark.css',
]
references = [
'docs/reference/gtk/gtk4',
'docs/reference/gsk/gsk4',
'docs/reference/gdk/gdk4',
'docs/reference/gdk/gdk4-wayland',
'docs/reference/gdk/gdk4-x11',
]
sourceroot = os.environ.get('MESON_SOURCE_ROOT')
buildroot = os.environ.get('MESON_BUILD_ROOT')
distroot = os.environ.get('MESON_DIST_ROOT')
for stylesheet in stylesheets:
stylesheet_path = PurePath(stylesheet)
src = PurePath(sourceroot, stylesheet_path.with_suffix('.scss'))
dst = PurePath(distroot, stylesheet_path)
subprocess.call(['sassc', '-a', '-M', '-t', 'compact', src, dst])
for reference in references:
src_path = os.path.join(buildroot, reference)
if os.path.isdir(src_path):
dst_path = os.path.join(distroot, reference)
shutil.copytree(src_path, dst_path)
-19
View File
@@ -1,19 +0,0 @@
#!/usr/bin/env python3
import os
from pathlib import PurePath
import subprocess
stylesheets = [ 'gtk/theme/Adwaita/Adwaita.css',
'gtk/theme/Adwaita/Adwaita-dark.css',
'gtk/theme/HighContrast/HighContrast.css',
'gtk/theme/HighContrast/HighContrast-dark.css' ]
sourceroot = os.environ.get('MESON_SOURCE_ROOT')
distroot = os.environ.get('MESON_DIST_ROOT')
for stylesheet in stylesheets:
stylesheet_path = PurePath(stylesheet)
src = PurePath(sourceroot, stylesheet_path.with_suffix('.scss'))
dst = PurePath(distroot, stylesheet_path)
subprocess.call(['sassc', '-a', '-M', '-t', 'compact', src, dst])
+3
View File
@@ -76,6 +76,9 @@
/* Define to 1 if you have a working `mmap' system call. */
#mesondefine HAVE_MMAP
/* Define to 1 if you have a working `madvise' system call. */
#mesondefine HAVE_MADVISE
/* Define to 1 if you have the `posix_fallocate' function. */
#mesondefine HAVE_POSIX_FALLOCATE
+4
View File
@@ -128,6 +128,9 @@
<file>gtkfishbowl.c</file>
<file>gtkfishbowl.h</file>
</gresource>
<gresource prefix="/frames">
<file>frames.ui</file>
</gresource>
<gresource prefix="/gears">
<file>gtkgears.c</file>
<file>gtkgears.h</file>
@@ -276,6 +279,7 @@
<file>fishbowl.c</file>
<file>fixed.c</file>
<file>flowbox.c</file>
<file>frames.c</file>
<file>font_features.c</file>
<file>fontplane.c</file>
<file>fontrendering.c</file>
+165
View File
@@ -0,0 +1,165 @@
/* Benchmark/Frames
*
* This demo is intentionally as simple as possible, to see what
* framerate the windowing system can deliver on its own.
*
* It does nothing but change the drawn color, for every frame.
*/
#include <gtk/gtk.h>
typedef struct
{
GtkWidget parent_instance;
GdkRGBA color1;
GdkRGBA color2;
guint64 time2;
float t;
guint tick_cb;
} ColorWidget;
typedef struct
{
GtkWidgetClass parent_class;
} ColorWidgetClass;
G_DEFINE_TYPE (ColorWidget, color_widget, GTK_TYPE_WIDGET)
#define TIME_SPAN (3.0 * G_TIME_SPAN_SECOND)
static gboolean
change_color (GtkWidget *widget,
GdkFrameClock *frame_clock,
gpointer data)
{
ColorWidget *color = (ColorWidget *)widget;
gint64 time;
time = gdk_frame_clock_get_frame_time (frame_clock);
if (time >= color->time2)
{
color->time2 = time + TIME_SPAN;
color->color1 = color->color2;
color->color2.red = g_random_double_range (0, 1);
color->color2.green = g_random_double_range (0, 1);
color->color2.blue = g_random_double_range (0, 1);
color->color2.alpha = 1;
}
color->t = 1 - (color->time2 - time) / TIME_SPAN;
gtk_widget_queue_draw (widget);
return G_SOURCE_CONTINUE;
}
static void
color_widget_snapshot (GtkWidget *widget,
GtkSnapshot *snapshot)
{
ColorWidget *color = (ColorWidget *)widget;
float w, h;
GdkRGBA c;
w = gtk_widget_get_width (widget);
h = gtk_widget_get_height (widget);
c.red = (1 - color->t) * color->color1.red + color->t * color->color2.red;
c.green = (1 - color->t) * color->color1.green + color->t * color->color2.green;
c.blue = (1 - color->t) * color->color1.blue + color->t * color->color2.blue;
c.alpha = 1;
gtk_snapshot_append_color (snapshot, &c, &GRAPHENE_RECT_INIT (0, 0, w, h));
}
static void
color_widget_init (ColorWidget *color)
{
gtk_widget_add_tick_callback (GTK_WIDGET (color), change_color, NULL, NULL);
gtk_widget_set_hexpand (GTK_WIDGET (color), TRUE);
gtk_widget_set_vexpand (GTK_WIDGET (color), TRUE);
}
static void
color_widget_class_init (ColorWidgetClass *class)
{
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
widget_class->snapshot = color_widget_snapshot;
}
GtkWidget *
color_widget_new (void)
{
return g_object_new (color_widget_get_type (), NULL);
}
static gboolean
update_fps_label (gpointer data)
{
GtkWidget *label = GTK_WIDGET (data);
GdkFrameClock *frame_clock;
frame_clock = gtk_widget_get_frame_clock (label);
if (frame_clock)
{
char *fps;
fps = g_strdup_printf ("%.2f fps", gdk_frame_clock_get_fps (frame_clock));
gtk_label_set_label (GTK_LABEL (label), fps);
g_free (fps);
}
else
gtk_label_set_label (GTK_LABEL (label), "");
return G_SOURCE_CONTINUE;
}
static void
remove_id (gpointer data)
{
guint id = GPOINTER_TO_UINT (data);
g_source_remove (id);
}
GtkWidget *
do_frames (GtkWidget *do_widget)
{
static GtkWidget *window = NULL;
if (!window)
{
GtkBuilder *builder;
GtkWidget *box;
GtkWidget *label;
guint id;
builder = gtk_builder_new_from_resource ("/frames/frames.ui");
window = GTK_WIDGET (gtk_builder_get_object (builder, "window"));
g_object_add_weak_pointer (G_OBJECT (window), (gpointer *)&window);
gtk_window_set_display (GTK_WINDOW (window),
gtk_widget_get_display (do_widget));
label = GTK_WIDGET (gtk_builder_get_object (builder, "fps"));
box = GTK_WIDGET (gtk_builder_get_object (builder, "box"));
gtk_box_append (GTK_BOX (box), color_widget_new ());
id = g_timeout_add (500, update_fps_label, label);
g_object_set_data_full (G_OBJECT (label), "tick_cb",
GUINT_TO_POINTER (id), remove_id);
}
if (!gtk_widget_get_visible (window))
gtk_widget_show (window);
else
gtk_window_destroy (GTK_WINDOW (window));
return window;
}
+24
View File
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkWindow" id="window">
<property name="resizable">1</property>
<property name="default-width">600</property>
<property name="default-height">400</property>
<property name="title">Frames</property>
<child type="titlebar">
<object class="GtkHeaderBar" id="header">
<child type="end">
<object class="GtkLabel" id="fps">
<attributes>
<attribute name="font-features" value="tnum=1"/>
</attributes>
</object>
</child>
</object>
</child>
<child>
<object class="GtkBox" id="box">
</object>
</child>
</object>
</interface>
+44 -4
View File
@@ -13,7 +13,7 @@ static GtkWidget *window = NULL;
static GtkWidget *scrolledwindow;
static int selected;
#define N_WIDGET_TYPES 7
#define N_WIDGET_TYPES 8
static int hincrement = 5;
@@ -110,6 +110,41 @@ populate_text (gboolean highlight)
gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (scrolledwindow), textview);
}
static void
populate_emoji_text (void)
{
GtkWidget *textview;
GtkTextBuffer *buffer;
GString *s;
s = g_string_sized_new (1000 * 30 * 4);
for (int i = 0; i < 1000; i++)
{
if (i % 2)
g_string_append (s, "x");
for (int j = 0; j < 30; j++)
g_string_append (s, "💓x");
g_string_append (s, "\n");
}
buffer = gtk_text_buffer_new (NULL);
gtk_text_buffer_set_text (buffer, s->str, s->len);
g_string_free (s, TRUE);
textview = gtk_text_view_new ();
gtk_text_view_set_buffer (GTK_TEXT_VIEW (textview), buffer);
hincrement = 0;
vincrement = 5;
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow),
GTK_POLICY_NEVER,
GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (scrolledwindow), textview);
}
static void
populate_image (void)
{
@@ -224,21 +259,26 @@ set_widget_type (int type)
break;
case 3:
gtk_window_set_title (GTK_WINDOW (window), "Scrolling text with Emoji");
populate_emoji_text ();
break;
case 4:
gtk_window_set_title (GTK_WINDOW (window), "Scrolling a big image");
populate_image ();
break;
case 4:
case 5:
gtk_window_set_title (GTK_WINDOW (window), "Scrolling a list");
populate_list ();
break;
case 5:
case 6:
gtk_window_set_title (GTK_WINDOW (window), "Scrolling a columned list");
populate_list2 ();
break;
case 6:
case 7:
gtk_window_set_title (GTK_WINDOW (window), "Scrolling a grid");
populate_grid ();
break;
+3
View File
@@ -25,6 +25,7 @@
<object class="GtkButton">
<property name="valign">center</property>
<property name="action-name">win.run</property>
<property name="focus-on-click">0</property>
<property name="label" translatable="yes">Run</property>
</object>
</child>
@@ -32,6 +33,7 @@
<object class="GtkToggleButton">
<property name="icon-name">edit-find-symbolic</property>
<property name="valign">center</property>
<property name="focus-on-click">0</property>
<property name="active" bind-source="searchbar" bind-property="search-mode-enabled" bind-flags="bidirectional|sync-create"/>
<accessibility>
<property name="label" translatable="yes">Search</property>
@@ -41,6 +43,7 @@
<child type="end">
<object class="GtkMenuButton" id="gear_menu_button">
<property name="valign">center</property>
<property name="focus-on-click">0</property>
<property name="menu-model">gear_menu</property>
<property name="icon-name">open-menu-symbolic</property>
<accessibility>
+1
View File
@@ -29,6 +29,7 @@ demos = files([
'fishbowl.c',
'fixed.c',
'fontrendering.c',
'frames.c',
'gears.c',
'gestures.c',
'glarea.c',
+15
View File
@@ -41,11 +41,26 @@ open_clicked_cb (GtkWidget *button,
"_Open",
"_Cancel");
filter = gtk_file_filter_new ();
gtk_file_filter_add_pattern (filter, "*");
gtk_file_filter_set_name (filter, "All Files");
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
g_object_unref (filter);
filter = gtk_file_filter_new ();
gtk_file_filter_add_mime_type (filter, "image/*");
gtk_file_filter_set_name (filter, "Images");
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
g_object_unref (filter);
filter = gtk_file_filter_new ();
gtk_file_filter_add_mime_type (filter, "video/*");
gtk_file_filter_set_name (filter, "Video");
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (dialog), filter);
g_object_unref (filter);
gtk_native_dialog_set_modal (GTK_NATIVE_DIALOG (dialog), TRUE);
g_signal_connect (dialog, "response", G_CALLBACK (open_dialog_response_cb), video);
gtk_native_dialog_show (GTK_NATIVE_DIALOG (dialog));
+29
View File
@@ -14,8 +14,10 @@ struct _IconBrowserWindow
GtkWidget *searchbar;
GListModel *icon_filter_model;
GListStore *icon_store;
GListModel *context_model;
GListStore *context_store;
GtkFilter *name_filter;
GtkFilter *search_mode_filter;
GtkWidget *details;
GtkWidget *image1;
GtkWidget *image2;
@@ -354,6 +356,28 @@ setup_scalable_image_dnd (GtkWidget *image)
gtk_widget_add_controller (image, GTK_EVENT_CONTROLLER (source));
}
static void
search_mode_toggled (GtkSearchBar *searchbar,
GParamSpec *pspec,
IconBrowserWindow *win)
{
if (gtk_search_bar_get_search_mode (searchbar))
gtk_single_selection_set_selected (GTK_SINGLE_SELECTION (win->context_model), GTK_INVALID_LIST_POSITION);
else if (gtk_single_selection_get_selected (GTK_SINGLE_SELECTION (win->context_model)) == GTK_INVALID_LIST_POSITION)
gtk_single_selection_set_selected (GTK_SINGLE_SELECTION (win->context_model), 0);
gtk_filter_changed (win->search_mode_filter, GTK_FILTER_CHANGE_DIFFERENT);
}
static void
selected_name_changed (GtkSingleSelection *selection,
GParamSpec *pspec,
IconBrowserWindow *win)
{
if (gtk_single_selection_get_selected (selection) != GTK_INVALID_LIST_POSITION)
gtk_search_bar_set_search_mode (GTK_SEARCH_BAR (win->searchbar), FALSE);
}
static void
icon_browser_window_init (IconBrowserWindow *win)
{
@@ -380,6 +404,9 @@ icon_browser_window_init (IconBrowserWindow *win)
win->name_filter = GTK_FILTER (gtk_custom_filter_new (filter_by_icon_name, NULL, NULL));
gtk_multi_filter_append (GTK_MULTI_FILTER (filter), g_object_ref (win->name_filter));
g_signal_connect (win->searchbar, "notify::search-mode-enabled", G_CALLBACK (search_mode_toggled), win);
g_signal_connect (win->context_model, "notify::selected", G_CALLBACK (selected_name_changed), win);
}
static void
@@ -409,6 +436,7 @@ icon_browser_window_class_init (IconBrowserWindowClass *class)
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, searchbar);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, icon_store);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, icon_filter_model);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, context_model);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, context_store);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, details);
@@ -422,6 +450,7 @@ icon_browser_window_class_init (IconBrowserWindowClass *class)
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, image8);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, label8);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, description);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, search_mode_filter);
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), item_activated);
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), copy_to_clipboard);
+30 -13
View File
@@ -25,12 +25,14 @@
</style>
<child>
<object class="GtkToggleButton" id="normal_radio">
<property name="focus-on-click">0</property>
<property name="label" translatable="yes">Normal</property>
<property name="active">1</property>
</object>
</child>
<child>
<object class="GtkToggleButton" id="symbolic_radio">
<property name="focus-on-click">0</property>
<property name="label" translatable="yes">Symbolic</property>
<property name="group">normal_radio</property>
<signal name="notify::active" handler="symbolic_toggled" swapped="yes" after="yes"/>
@@ -40,6 +42,7 @@
</child>
<child type="end">
<object class="GtkMenuButton" id="gear_menu_button">
<property name="focus-on-click">0</property>
<property name="valign">center</property>
<property name="menu-model">gear_menu</property>
<property name="icon-name">open-menu-symbolic</property>
@@ -47,6 +50,7 @@
</child>
<child type="end">
<object class="GtkToggleButton" id="search">
<property name="focus-on-click">0</property>
<style>
<class name="image-button"/>
</style>
@@ -151,19 +155,32 @@
</object>
</child>
<child>
<object class="GtkStringFilter">
<property name="ignore-case">0</property>
<property name="match-mode">exact</property>
<property name="expression">
<lookup name="context" type="IbIcon"/>
</property>
<binding name="search">
<lookup name="id" type="IbContext">
<lookup name="selected-item" type="GtkSingleSelection">
context_model
</lookup>
</lookup>
</binding>
<object class="GtkAnyFilter">
<child>
<object class="GtkBoolFilter" id="search_mode_filter">
<property name="expression">
<lookup name="search-mode-enabled">
searchbar
</lookup>
</property>
</object>
</child>
<child>
<object class="GtkStringFilter">
<property name="ignore-case">0</property>
<property name="match-mode">exact</property>
<property name="expression">
<lookup name="context" type="IbIcon"/>
</property>
<binding name="search">
<lookup name="id" type="IbContext">
<lookup name="selected-item" type="GtkSingleSelection">
context_model
</lookup>
</lookup>
</binding>
</object>
</child>
</object>
</child>
</object>
+2 -2
View File
@@ -2,8 +2,8 @@
<interface>
<object class="GtkWindow" id="window">
<property name="title" translatable="yes">Help</property>
<property name="default-width">720</property>
<property name="default-height">520</property>
<property name="default-width">920</property>
<property name="default-height">600</property>
<child>
<object class="GtkScrolledWindow">
<child>
+4 -4
View File
@@ -42,9 +42,9 @@ Creates a node like `gsk_blur_node_new()` with the given properties.
| property | syntax | default | printed |
| -------- | ---------------- | ---------------------- | ----------- |
| color | `<color>{1,4}` | black | non-default |
| colors | `<color>{1,4}` | black | non-default |
| outline | `<rounded-rect>` | 50 | always |
| width | `<number>{1,4}` | 1 | non-default |
| widths | `<number>{1,4}` | 1 | non-default |
Creates a node like `gsk_border_node_new()` with the given properties.
@@ -121,7 +121,7 @@ Creates a node like `gsk_conic_gradient_node_new()` with the given properties.
| property | syntax | default | printed |
| -------- | ---------------- | ---------------------- | ----------- |
| end | `<node>` | color { } | always |
| mode | `<number>` | 0.5 | non-default |
| progress | `<number>` | 0.5 | non-default |
| start | `<node>` | color { } | always |
Creates a node like `gsk_cross_fade_node_new()` with the given properties.
@@ -246,7 +246,7 @@ Creates a node like `gsk_rounded_clip_node_new()` with the given properties.
| property | syntax | default | printed |
| -------- | ---------------- | ---------------------- | ----------- |
| child | `<node>` | color { } | always |
| shadow | `<shadow>` | black 1 1 | always |
| shadows | `<shadow>` | black 1 1 | always |
Creates a node like `gsk_shadow_node_new()` with the given properties.
Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M10.994 2c-.554 0-1 .446-1 1v3c0 .554.446 1 1 1h.711a6.972 6.972 0 01-4.71 4.71V11c0-.554-.447-1-1-1h-3c-.555 0-1 .446-1 1v1.5a2.5 2.5 0 002.5 2.5h.5c5.504 0 10-4.495 10-10v-.5a2.5 2.5 0 00-2.5-2.5z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal;marker:none" color="#000" font-weight="400" font-family="sans-serif" overflow="visible" fill="#2e3436"/></svg>

After

Width:  |  Height:  |  Size: 788 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16.006" height="16"><path d="M14.242 11.715a.979.979 0 01-1.387 0l-1.04-1.04-1.041-1.04a.979.979 0 010-1.388l.493-.493a6.838 6.838 0 00-6.534 0l.493.493a.979.979 0 010 1.387l-1.04 1.04-1.04 1.04a.979.979 0 01-1.388 0l-1.04-1.04a2.452 2.452 0 010-3.467l.347-.347c3.818-3.818 10.052-3.818 13.87 0l.347.347c.957.958.957 2.51 0 3.468z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal;marker:none" color="#000" font-weight="400" font-family="sans-serif" overflow="visible" fill="#2e3436"/></svg>

After

Width:  |  Height:  |  Size: 895 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#000" font-weight="400" font-family="sans-serif" fill="#2e3436"><path d="M9 12v2h6v-2h-5z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1;marker:none" overflow="visible"/><path d="M3 1a1 1 0 00-1 1v13a1 1 0 001 1h5v-2H4V3h5.586L12 5.414V9h2V5a1 1 0 00-.293-.707l-3-3A1 1 0 0010 1z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1" overflow="visible" fill-rule="evenodd"/><path d="M11 10v6h2v-6z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1;marker:none" overflow="visible"/></g></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#bebebe" fill="#474747"><path d="M8 3h5v2H8zm0 4h6v2H8zm-6 4h7v2H2z" style="marker:none" overflow="visible"/><path d="M2 3v1c0 .257.13.528.312.719L3.594 6 2.312 7.281C2.13 7.471 2 7.743 2 8v1h1c.31 0 .552-.09.75-.281L6.406 6 3.75 3.281C3.552 3.091 3.31 3 3 3z" style="line-height:normal;-inkscape-font-specification:'Bitstream Vera Sans';text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" font-weight="400" font-family="Bitstream Vera Sans" overflow="visible"/></g></svg>

After

Width:  |  Height:  |  Size: 583 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#bebebe" fill="#474747"><path d="M7 3H2v2h5zm1 4H2v2h6zm6 4H7v2h7z" style="marker:none" overflow="visible"/><path d="M14 3v1c0 .257-.13.528-.312.719L12.406 6l1.282 1.281c.182.19.312.462.312.719v1h-1c-.31 0-.552-.09-.75-.281L9.594 6l2.656-2.719c.198-.19.44-.281.75-.281z" style="line-height:normal;-inkscape-font-specification:'Bitstream Vera Sans';text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" font-weight="400" font-family="Bitstream Vera Sans" overflow="visible"/></g></svg>

After

Width:  |  Height:  |  Size: 593 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#bebebe" fill="#474747"><path d="M7 3H2v2h5zm1 4H2v2h6zm6 4H7v2h7z" style="marker:none" overflow="visible"/><path d="M14 3v1c0 .257-.13.528-.312.719L12.406 6l1.282 1.281c.182.19.312.462.312.719v1h-1c-.31 0-.552-.09-.75-.281L9.594 6l2.656-2.719c.198-.19.44-.281.75-.281z" style="line-height:normal;-inkscape-font-specification:'Bitstream Vera Sans';text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" font-weight="400" font-family="Bitstream Vera Sans" overflow="visible"/></g></svg>

After

Width:  |  Height:  |  Size: 593 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#bebebe" fill="#474747"><path d="M8 3h5v2H8zm0 4h6v2H8zm-6 4h7v2H2z" style="marker:none" overflow="visible"/><path d="M2 3v1c0 .257.13.528.312.719L3.594 6 2.312 7.281C2.13 7.471 2 7.743 2 8v1h1c.31 0 .552-.09.75-.281L6.406 6 3.75 3.281C3.552 3.091 3.31 3 3 3z" style="line-height:normal;-inkscape-font-specification:'Bitstream Vera Sans';text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" font-weight="400" font-family="Bitstream Vera Sans" overflow="visible"/></g></svg>

After

Width:  |  Height:  |  Size: 583 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M4 3h8v2H4zM3 7h10v2H3zm3 4h4v2H6z" style="marker:none" overflow="visible" color="#bebebe" fill="#474747"/></svg>

After

Width:  |  Height:  |  Size: 185 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M3 3h10v2H3zm0 4h10v2H3zm0 4h10v2H3z" style="marker:none" overflow="visible" color="#bebebe" fill="#474747"/></svg>

After

Width:  |  Height:  |  Size: 187 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M3 3h8v2H3zm0 4h10v2H3zm0 4h4v2H3z" style="marker:none" overflow="visible" color="#bebebe" fill="#474747"/></svg>

After

Width:  |  Height:  |  Size: 185 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M5 3h8v2H5zM3 7h10v2H3zm6 4h4v2H9z" style="marker:none" overflow="visible" color="#bebebe" fill="#474747"/></svg>

After

Width:  |  Height:  |  Size: 185 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15.982"><g font-weight="400" fill="#474747"><path d="M11.001 11.986h-1a1.21 1.21 0 00-.719.261l-1.281 1.07-1.281-1.07a1.202 1.202 0 00-.72-.26H5v.835c0 .258.09.461.282.626l2.741 2.534 2.697-2.534a.78.78 0 00.281-.626v-.836z" style="line-height:normal;-inkscape-font-specification:'Bitstream Vera Sans';text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" color="#bebebe" font-family="Bitstream Vera Sans" overflow="visible"/><path d="M9.804 4.04a.936 1.01 0 00.185 1.997h4.937a.936 1.01 0 100-1.997H9.989a.936 1.01 0 00-.185 0zm-8.991 0c-.45.102-.789.599-.743 1.088.046.49.47.904.93.91h4.916c.535.085 1.084-.42 1.084-1 0-.578-.549-1.084-1.084-.998H1a.834.834 0 00-.187 0zM6.059.964a2.492 2.492 0 00-1.907 1.468 2.686 2.686 0 00-.156.532H12c-.026-.126-.054-.263-.094-.375A2.467 2.467 0 009.563.964h-3.13c-.126 0-.252-.019-.374 0zm-2.063 6c.236 1.132 1.24 2 2.438 2h3.129c1.197 0 2.202-.868 2.437-2z" style="line-height:normal;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" color="#000" font-family="Sans" overflow="visible"/></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#bebebe" fill="#474747"><path d="M9.625 11h-3.25a.374.374 0 00-.375.375v1.25c0 .208.167.375.375.375h3.25a.374.374 0 00.375-.375v-1.25A.374.374 0 009.625 11zm0-11h-3.25A.374.374 0 006 .375v1.25c0 .208.167.375.375.375h3.25A.374.374 0 0010 1.625V.375A.374.374 0 009.625 0zm0 14h-3.25a.374.374 0 00-.375.375v1.25c0 .208.167.375.375.375h3.25a.374.374 0 00.375-.375v-1.25A.374.374 0 009.625 14zm0-11h-3.25A.374.374 0 006 3.375v1.25c0 .208.167.375.375.375h3.25A.374.374 0 0010 4.625v-1.25A.374.374 0 009.625 3z" style="marker:none" overflow="visible" opacity=".35"/><path d="M14 7H2v2h12z" style="marker:none" overflow="visible"/></g></svg>

After

Width:  |  Height:  |  Size: 706 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#bebebe" fill="#474747"><path d="M0 1v13h6c.176 0 .535.14.822.332.288.192.467.371.467.371l.719.727.711-.735S9.615 14 10 14h6V1h-6c-.901 0-1.572.353-2.043.701-.025-.017-.018-.018-.045-.035C7.452 1.362 6.828 1 6 1zm2 2h4c.138 0 .515.138.813.334.297.196.492.385.492.385l.717.693.695-.715S9.619 3 10 3h4v9h-4c-.89 0-1.562.348-2.033.693-.018-.012-.013-.013-.031-.025C7.476 12.36 6.836 12 6 12H2z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal;marker:none" font-weight="400" font-family="sans-serif" overflow="visible"/><path d="M5.625 5h-2.25A.374.374 0 003 5.375v1.25c0 .207.167.375.375.375h2.25A.374.374 0 006 6.625v-1.25A.374.374 0 005.625 5zm0 3h-2.25A.374.374 0 003 8.375v1.25c0 .208.167.375.375.375h2.25A.374.374 0 006 9.625v-1.25A.374.374 0 005.625 8zm7-3h-2.25a.374.374 0 00-.375.375v1.25c0 .208.167.375.375.375h2.25A.374.374 0 0013 6.625v-1.25A.374.374 0 0012.625 5zm0 3h-2.25a.374.374 0 00-.375.375v1.25c0 .208.167.375.375.375h2.25A.374.374 0 0013 9.625v-1.25A.374.374 0 0012.625 8z" style="marker:none" overflow="visible" opacity=".35"/></g></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#000" fill="#474747"><path d="M1.984 8.986A1 1 0 001 10v4a1 1 0 001 1h4a1 1 0 100-2H3v-3a1 1 0 00-1.016-1.014z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal;marker:none" font-weight="400" font-family="sans-serif" overflow="visible"/><path d="M6.48 8.49a1 1 0 00-.687.303l-4.5 4.5a1 1 0 101.414 1.414l4.5-4.5A1 1 0 006.48 8.49z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal;marker:none" font-weight="400" font-family="sans-serif" overflow="visible"/><path d="M1 14h1v1H1z" style="marker:none" overflow="visible"/><path d="M10 1a1 1 0 100 2h3v3a1 1 0 102 0V2a1 1 0 00-1-1z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal;marker:none" font-weight="400" font-family="sans-serif" overflow="visible"/><path d="M14 1h1v1h-1z" style="marker:none" overflow="visible"/><path d="M13.984.99a1 1 0 00-.69.301l-4.5 4.469a1 1 0 101.411 1.418l4.5-4.469a1 1 0 00-.72-1.719z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal;marker:none" font-weight="400" font-family="sans-serif" overflow="visible"/><path d="M1 9h1v1H1zm5 5h1v1H6zm8-8h1v1h-1zM9 1h1v1H9z" style="marker:none" overflow="visible"/></g></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M3.384 3h3.231c.213 0 .385.224.385.502v2.996C7 6.776 6.828 7 6.615 7h-3.23C3.17 7 3 6.776 3 6.498V3.502C3 3.224 3.17 3 3.384 3zm6 0h3.231c.213 0 .385.224.385.502v2.996c0 .278-.172.502-.385.502h-3.23C9.17 7 9 6.776 9 6.498V3.502C9 3.224 9.17 3 9.384 3zm-6 6h3.231c.213 0 .385.224.385.502v2.996c0 .278-.172.502-.385.502h-3.23C3.17 13 3 12.776 3 12.498V9.502C3 9.224 3.17 9 3.384 9zm6 0h3.231c.213 0 .385.224.385.502v2.996c0 .278-.172.502-.385.502h-3.23C9.17 13 9 12.776 9 12.498V9.502C9 9.224 9.17 9 9.384 9z" style="marker:none" overflow="visible" color="#000" fill="#474747"/></svg>

After

Width:  |  Height:  |  Size: 654 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#bebebe" fill="#474747"><path d="M1 0v13h12V0zm2 2h8v9H3z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal;marker:none" font-weight="400" font-family="sans-serif" overflow="visible"/><path d="M14 3v11H4v2h12V3z" style="line-height:normal;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" font-weight="400" font-family="Sans" overflow="visible"/><path d="M8.625 4h-3.25A.374.374 0 005 4.375v1.25c0 .208.167.375.375.375h3.25A.374.374 0 009 5.625v-1.25A.374.374 0 008.625 4zm0 3h-3.25A.374.374 0 005 7.375v1.25c0 .208.167.375.375.375h3.25A.374.374 0 009 8.625v-1.25A.374.374 0 008.625 7z" style="marker:none" overflow="visible" opacity=".35"/></g></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g fill="#474747"><path d="M3.988 9.106c.948-.277 1.953.294 2.253 1.282l.675 2.226c.3.988-.224 2.006-1.172 2.283-.949.278-1.954-.294-2.253-1.282l-.675-2.226c-.3-.987.223-2.006 1.172-2.283z"/><path d="M7.969 1C4.663 1 1.945 4.008 2 6.719c.048 2.365.809 4.695 1 5.281h1.526c-1.162-2.292-1.05-5.156-1.05-5.156 0-2.373 2.007-4.313 4.493-4.313 2.485 0 4.5 1.827 4.492 4.282-.024 1.674-.172 2.658-1.006 5.187h1.571c.225-.645.974-3.19.974-5.281C14 3.889 11.274 1 7.969 1z"/><path d="M12.012 9.139c-.948-.278-1.953.294-2.253 1.282l-.675 2.226c-.3.987.224 2.006 1.172 2.283.949.277 1.954-.294 2.253-1.282l.675-2.226c.3-.988-.223-2.006-1.172-2.283z"/></g></svg>

After

Width:  |  Height:  |  Size: 714 B

@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
<path d="m 40,328 c -1.662,0 -3,1.338 -3,3 v 5 c 0,1.662 1.338,3 3,3 1.662,0 3,-1.338 3,-3 v -5 c 0,-1.662 -1.338,-3 -3,-3 z m -6,6 v 2.00977 c 0,2.96574 2.165383,5.4238 5,5.90039 V 344 h 2 v -2.08984 c 2.834617,-0.47659 5,-2.93465 5,-5.90039 V 334 h -1.5 v 2.00977 c 0,2.50009 -1.993312,4.49023 -4.5,4.49023 -2.506688,0 -4.5,-1.99014 -4.5,-4.49023 V 334 Z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1" color="#000" font-weight="400" font-family="sans-serif" overflow="visible" fill="#2e3436" transform="translate(-32 -328)"/>
</svg>

After

Width:  |  Height:  |  Size: 1016 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16.063"><g fill="#2e3436"><path d="M1 5.063h2.484l2.97-3L7 2.078v12l-.475.001-3.04-3.016H1z" style="marker:none" color="#bebebe" overflow="visible"/><path d="M8 5.063V3.64L11.367.282c.404-.41 1.063-.346 1.412.023.332.351.375.988-.03 1.392L9.392 5.063zM8 11v1.422l3.367 3.358c.404.412 1.063.347 1.412-.022a1.016 1.016 0 00-.03-1.392L9.392 11zm0-3.937v2h6c.75 0 .999-.501 1-1.002 0-.5-.25-.998-1-.998z"/></g></svg>

After

Width:  |  Height:  |  Size: 471 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M6 2c-.55 0-1 .45-1 1v1H2c-.552 0-1 .45-1 1v8c0 .55.448 1 1 1h12c.552 0 1-.45 1-1V5c0-.55-.448-1-1-1h-3V3c0-.55-.45-1-1-1zm2 3a4 4 0 110 8 4 4 0 010-8zm0 2a2 2 0 100 4 2 2 0 000-4z" style="marker:none" color="#bebebe" overflow="visible" fill="#474747"/></svg>

After

Width:  |  Height:  |  Size: 331 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M6 4h8c.554 0 1 .446 1 1v7c0 .554-.446 1-1 1H6c-.554 0-1-.446-1-1V5c0-.554.446-1 1-1zM5 8.47L1.53 5H1v7h.5z" style="marker:none" overflow="visible" color="#bebebe" fill="#474747"/></svg>

After

Width:  |  Height:  |  Size: 258 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g fill="#474747"><path d="M2.5 1A2.495 2.495 0 000 3.5v8C0 12.885 1.115 14 2.5 14v-2a.499.499 0 01-.5-.5V10h12v1.5c0 .277-.223.5-.5.5v2c1.385 0 2.5-1.115 2.5-2.5v-8C16 2.115 14.885 1 13.5 1z"/><path d="M2.875 11.039c0 2.69 2.299 4.904 5.116 4.904 2.817 0 5.134-2.213 5.134-4.904h-2.017c0 1.652-1.387 2.977-3.117 2.977s-3.099-1.325-3.099-2.977z" style="line-height:normal;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" color="#bebebe" font-weight="400" font-family="Sans" overflow="visible"/><path d="M6 11c0 1.099.902 2 2 2 1.099 0 2-.901 2-2H9c0 .558-.442 1-1 1s-1-.442-1-1z" style="line-height:normal;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" color="#bebebe" font-weight="400" font-family="Sans" overflow="visible"/></g></svg>

After

Width:  |  Height:  |  Size: 951 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g fill="#474747"><path d="M0 11h5v4.938H0zm10 0h5v5h-5z" style="marker:none" color="#bebebe" overflow="visible"/><path d="M2.03 8v3.531h1V9H12v2.531h1V8z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal" color="#000" font-weight="400" font-family="sans-serif" overflow="visible"/><path d="M7 5v3.5h1V5z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal" color="#000" font-weight="400" font-family="sans-serif" overflow="visible"/><path d="M5 1h5v5H5z" style="marker:none" color="#bebebe" overflow="visible"/></g></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><defs><clipPath id="a"><path style="marker:none" color="#bebebe" overflow="visible" fill="#bebebe" stroke-width="2" d="M26.85 220.75h3.825v6.375H26.85z"/></clipPath><clipPath id="b"><path style="marker:none" color="#bebebe" overflow="visible" fill="#bebebe" stroke-width="2" d="M26.966 221.282h2.898v5.313h-2.898z"/></clipPath><clipPath id="c"><path style="marker:none" color="#bebebe" overflow="visible" fill="#bebebe" stroke-width="2" d="M26.999 221.502h1.876v4.878h-1.876z"/></clipPath></defs><g fill="#474747"><path transform="matrix(0 -.78431 .94118 0 -202.765 31.059)" clip-path="url(#a)" d="M27.18 220.508a1.164 1.164 0 00-.81 1.998c.379.38.59.894.59 1.432 0 .537-.211 1.051-.59 1.431a1.164 1.164 0 101.644 1.645 4.352 4.352 0 001.275-3.077c0-1.153-.46-2.26-1.275-3.076a1.164 1.164 0 00-.834-.353z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal" color="#000" font-weight="400" font-family="sans-serif" overflow="visible"/><path transform="matrix(0 -1.72549 1.88219 0 -413.493 54.529)" clip-path="url(#b)" d="M27.186 221.123a.555.555 0 00-.387.953 2.632 2.632 0 010 3.723.555.555 0 10.785.785 3.743 3.743 0 000-5.293.555.555 0 00-.398-.168z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal" color="#000" font-weight="400" font-family="sans-serif" overflow="visible"/><path transform="matrix(0 -2.66667 2.86852 0 -634.374 78)" clip-path="url(#c)" d="M27.188 221.318a.362.362 0 00-.252.621 2.825 2.825 0 010 3.997.362.362 0 10.511.511 3.55 3.55 0 000-5.02.362.362 0 00-.26-.109z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal" color="#000" font-weight="400" font-family="sans-serif" overflow="visible"/><path d="M10 13a2 2 0 01-2 2 2 2 0 01-2-2 2 2 0 012-2 2 2 0 012 2z"/></g></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#000" fill="#2e3436"><path d="M4 0C2.993.005 3 1 3 1v13c0 2 2.003 2 2.003 2h7c2 0 2-2 2-2V4s0-2-2-2h-6.75c-.25 0-.25-.25-.25-.25L5 1S4.99.006 4 0zm1.003 4.25c0-.25.25-.25.25-.25h6.5s.25 0 .25.25v9.5c0 .25-.25.25-.25.25h-6.5c-.25 0-.252-.277-.252-.277z" style="marker:none" overflow="visible"/><path d="M6.003 5.25c0-.25.25-.25.25-.25h4.5s.25 0 .25.25v2.5c0 .25-.25.25-.25.25h-4.5C6.003 8 6 7.723 6 7.723zM6.253 9h1.5a.25.25 0 01.25.25v.5a.25.25 0 01-.25.25h-1.5a.25.25 0 01-.25-.25v-.5a.25.25 0 01.25-.25zm3 0h1.5a.25.25 0 01.25.25v.5a.25.25 0 01-.25.25h-1.5a.25.25 0 01-.25-.25v-.5a.25.25 0 01.25-.25zm-3 2h1.5a.25.25 0 01.25.25v.5a.25.25 0 01-.25.25h-1.5a.25.25 0 01-.25-.25v-.5a.25.25 0 01.25-.25zm3 0h1.5a.25.25 0 01.25.25v.5a.25.25 0 01-.25.25h-1.5a.25.25 0 01-.25-.25v-.5a.25.25 0 01.25-.25z" style="marker:none" overflow="visible"/></g></svg>

After

Width:  |  Height:  |  Size: 922 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#bebebe" font-weight="400" font-family="Sans" fill="#474747"><path d="M6.815 1.107C3.519 1.672.992 4.548.992 8c0 3.854 3.148 7 7.002 7a6.96 6.96 0 004.58-1.723C8.8 12.295 5.992 8.86 5.992 4.785a8.69 8.69 0 01.823-3.678z" style="line-height:normal;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" overflow="visible"/><path d="M7.994 1c-.402 0-.795.042-1.18.107a8.69 8.69 0 00-.822 3.678c0 4.075 2.807 7.51 6.582 8.492A6.983 6.983 0 0014.994 8c0-3.854-3.146-7-7-7z" style="line-height:normal;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" overflow="visible" opacity=".35"/></g></svg>

After

Width:  |  Height:  |  Size: 806 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g fill="#474747"><path d="M9.5 10A2.5 2.5 0 007 12.5c0 .218.041.423.094.625A1.549 1.549 0 006.5 13a1.5 1.5 0 100 3h8a1.5 1.5 0 100-3 2 2 0 00-2-2c-.316 0-.61.088-.875.219A2.47 2.47 0 009.5 10z" style="marker:none" color="#000" overflow="visible"/><path d="M6.82 1.107C3.526 1.672.999 4.548.999 8c0 2.33 1.155 4.394 2.916 5.668.311-.813 1.064-1.394 1.942-1.639A3.806 3.806 0 017.37 9.475a8.69 8.69 0 01-1.373-4.69c0-1.314.3-2.556.823-3.678z" style="line-height:normal;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" color="#bebebe" font-weight="400" font-family="Sans" overflow="visible"/><path d="M8 1c-.402 0-.795.042-1.18.107a8.69 8.69 0 00-.822 3.678 8.69 8.69 0 001.373 4.69 3.567 3.567 0 012.13-.715c.997 0 1.82.484 2.486 1.125.18-.035.315-.125.513-.125.775 0 1.474.288 2.02.756.305-.782.48-1.628.48-2.516 0-3.854-3.146-7-7-7z" style="line-height:normal;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" color="#bebebe" font-weight="400" font-family="Sans" overflow="visible" opacity=".35"/></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16.014" height="16"><path d="M3.33.994c-.623 0-1 .33-1.273.594-.273.265-.482.543-.676.793a6.48 6.48 0 01-.484.582c-.114.11-.122.031.115.031a.997.997 0 10-.002 1.994c.624 0 1.003-.329 1.276-.593.272-.265.48-.543.673-.793a7.56 7.56 0 01.372-.444c.108.121.223.253.37.444.194.25.402.53.674.794.273.265.652.594 1.276.594.623 0 1-.329 1.273-.594.273-.264.483-.542.676-.792a7.64 7.64 0 01.37-.444c.107.121.223.253.37.444.194.25.401.53.674.794.273.265.652.594 1.276.594.623 0 1-.329 1.273-.594.273-.264.482-.543.676-.793.147-.19.26-.324.369-.445.108.121.223.254.371.445.193.25.401.53.674.795s.652.594 1.275.594a.997.997 0 100-1.994c.237 0 .23.08.115-.031a6.55 6.55 0 01-.486-.582c-.193-.25-.401-.53-.674-.795-.272-.265-.65-.594-1.273-.594-.624 0-1.003.33-1.276.594-.272.264-.48.543-.673.793a8.56 8.56 0 01-.371.443 7.546 7.546 0 01-.372-.443c-.193-.25-.4-.53-.673-.795S8.595.996 7.97.996c-.623 0-1.002.33-1.275.594-.273.265-.48.543-.674.793a7.56 7.56 0 01-.371.443 7.55 7.55 0 01-.371-.443c-.194-.25-.401-.53-.674-.795S3.954.994 3.331.994zm0 5.002c-.623 0-1 .33-1.273.594-.273.265-.482.543-.676.793a6.48 6.48 0 01-.484.582c-.114.11-.122.031.115.031A.997.997 0 101.01 9.99c.624 0 1.003-.329 1.276-.594.272-.264.48-.542.673-.792.148-.191.264-.323.372-.444.108.121.223.253.37.444.194.25.402.53.674.794.273.265.652.594 1.276.594.623 0 1-.329 1.273-.594.273-.264.483-.543.676-.793a7.64 7.64 0 01.37-.443c.107.121.223.253.37.443.194.25.401.53.674.795s.652.594 1.276.594c.623 0 1-.329 1.273-.594.273-.264.482-.543.676-.793.147-.19.26-.324.369-.445.108.121.223.254.371.445.193.25.401.53.674.795s.652.594 1.275.594a.997.997 0 100-1.994c.237 0 .23.08.115-.031a6.55 6.55 0 01-.486-.582c-.193-.25-.401-.53-.674-.795-.272-.265-.65-.594-1.273-.594-.624 0-1.003.33-1.276.594-.272.264-.48.543-.673.793a8.56 8.56 0 01-.371.443 7.546 7.546 0 01-.372-.443c-.193-.25-.4-.53-.673-.795s-.65-.594-1.274-.594c-.623 0-1.002.33-1.275.594-.273.264-.48.543-.674.793a7.56 7.56 0 01-.371.443 7.55 7.55 0 01-.371-.443c-.194-.25-.401-.53-.674-.795s-.652-.594-1.275-.594zm0 5.002c-.623 0-1 .33-1.273.594-.273.264-.482.543-.676.793-.193.25-.37.471-.484.582-.114.11-.122.03.115.031a.997.997 0 10-.002 1.994c.624 0 1.003-.329 1.276-.594.272-.264.48-.543.673-.793.148-.19.264-.322.372-.443.108.121.223.253.37.443.194.25.402.53.674.795.273.265.652.594 1.276.594.623 0 1-.329 1.273-.594.273-.264.483-.543.676-.793a7.3 7.3 0 01.37-.443c.107.12.223.253.37.443.194.25.401.53.674.795s.652.594 1.276.594c.623 0 1-.33 1.273-.594.273-.264.482-.543.676-.793.147-.19.26-.324.369-.445.108.121.223.254.371.445.193.25.401.53.674.795s.652.594 1.275.594a.997.997 0 100-1.994c.237 0 .23.08.115-.031a6.55 6.55 0 01-.486-.582c-.193-.25-.401-.529-.674-.793-.272-.265-.65-.596-1.273-.596-.624 0-1.003.329-1.276.594-.272.264-.48.543-.673.793a8.56 8.56 0 01-.371.443 7.545 7.545 0 01-.372-.443c-.193-.25-.4-.53-.673-.795S8.595 11 7.97 11c-.623 0-1.002.33-1.275.594-.273.264-.48.543-.674.793-.147.19-.263.322-.371.443a7.549 7.549 0 01-.371-.443c-.194-.25-.401-.53-.674-.795s-.652-.594-1.275-.594z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal" overflow="visible" opacity=".5" color="#000" font-weight="400" font-family="sans-serif" fill="#474747"/></svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#000" fill="#2e3436"><path d="M8.5 9A2.5 2.5 0 006 11.5c0 .218.041.423.094.625A1.549 1.549 0 005.5 12a1.5 1.5 0 100 3h8a1.5 1.5 0 100-3 2 2 0 00-2-2c-.316 0-.61.088-.875.219A2.47 2.47 0 008.5 9z" style="marker:none" overflow="visible"/><path d="M9.5 2a2.49 2.49 0 00-2.469 2.219C6.705 4.097 6.37 4 6.001 4a3 3 0 00-3 3c0 .098.021.185.03.281A2.013 2.013 0 002.001 7a2 2 0 100 4H5.1c.25-1.68 1.655-3 3.4-3 .98 0 1.786.49 2.416 1.143.199-.047.361-.143.584-.143 1.262 0 2.19.874 2.604 2h.396a1.5 1.5 0 100-3c-.207 0-.414.05-.594.125A2.44 2.44 0 0014 7.5c0-1.23-.893-2.228-2.062-2.437A2.5 2.5 0 009.5 2zm-1 8c-.663 0-1.207.414-1.41 1h2.838l-.16-.266C9.498 10.285 9.052 10 8.5 10z" style="marker:none" overflow="visible"/></g></svg>

After

Width:  |  Height:  |  Size: 799 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M9.5 2a2.49 2.49 0 00-2.469 2.219C6.704 4.097 6.37 4 6 4a3 3 0 00-3 3c0 .098.022.185.031.281A2.014 2.014 0 002 7a2 2 0 100 4h5V8.875C7 7.865 7.865 7 8.875 7h5.062a2.499 2.499 0 00-2-1.938A2.5 2.5 0 009.5 2z" style="marker:none" color="#000" overflow="visible" fill="#2e3436"/><path class="warning" d="M8.875 8A.863.863 0 008 8.875v6.25c0 .492.383.875.875.875h6.25a.863.863 0 00.875-.875v-6.25A.863.863 0 0015.125 8zM11 9h2v2.5s0 .5-.5.5h-1c-.5 0-.5-.5-.5-.5zm.5 4h1c.277 0 .5.223.5.5v1c0 .277-.223.5-.5.5h-1a.499.499 0 01-.5-.5v-1c0-.277.223-.5.5-.5z" style="marker:none" color="#bebebe" overflow="visible" fill="#f57900"/></svg>

After

Width:  |  Height:  |  Size: 701 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#000" fill="#474747"><path d="M9.465 0C8.192 0 7.158.973 7.017 2.219 6.693 2.097 6.361 2 5.994 2 4.351 2 3.02 3.343 3.02 5c0 .098.022.185.031.281A1.983 1.983 0 002.028 5 1.992 1.992 0 00.044 7c0 1.105.888 2 1.984 2h12.396c.821 0 1.487-.672 1.487-1.5S15.245 6 14.424 6c-.206 0-.411.05-.589.125.052-.202.093-.407.093-.625 0-1.23-.886-2.228-2.045-2.438.041-.18.062-.368.062-.562 0-1.38-1.11-2.5-2.48-2.5z" style="marker:none" overflow="visible"/><path d="M2.49 9.992a.496.496 0 00-.48.404l-1 4.92a.496.496 0 10.973.198l1-4.918a.496.496 0 00-.493-.604zm2.004.004a.496.496 0 00-.48.404l-1.002 4.916a.496.496 0 10.973.198L4.987 10.6a.496.496 0 00-.493-.604zm2-.004a.496.496 0 00-.48.404l-1.002 4.92a.496.496 0 10.973.198l1.002-4.918a.496.496 0 00-.493-.604zm2.002 0a.496.496 0 00-.48.404l-1.002 4.92a.496.496 0 10.973.198l1-4.918a.496.496 0 00-.49-.604zm2 0a.496.496 0 00-.48.404l-1 4.92a.496.496 0 10.972.198l1-4.918a.496.496 0 00-.492-.604zm2.002 0a.496.496 0 00-.48.404l-1 4.92a.496.496 0 10.97.198l1.002-4.918a.496.496 0 00-.492-.604z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal" font-weight="400" font-family="sans-serif" overflow="visible"/></g></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><g transform="translate(-332 -88)"><path id="a" d="M339.492 88.492A.5.5 0 00339 89v1.533l-1.252-.717a.5.5 0 10-.496.868l1.748 1v8.683l-1.746.987a.5.5 0 10.492.87l1.254-.708V103a.5.5 0 101 0v-1.484l1.254.709a.5.5 0 10.492-.871l-1.746-.987v-8.683l1.748-1a.5.5 0 10-.496-.868l-1.252.717V89a.5.5 0 00-.508-.508z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal;marker:none" color="#000" font-weight="400" font-family="sans-serif" overflow="visible" fill="#2e3436" stroke-linecap="round"/><use height="100%" xlink:href="#a" transform="rotate(-60 339.5 96)" width="100%"/><use height="100%" xlink:href="#a" transform="rotate(-120 339.5 96)" width="100%"/></g></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -10,30 +10,107 @@
<file preprocess="xml-stripblanks">help-overlay.ui</file>
</gresource>
<gresource prefix="/org/gtk/WidgetFactory4">
<file>icons/16x16/actions/call-start-symbolic.symbolic.png</file>
<file>icons/16x16/actions/call-stop-symbolic.symbolic.png</file>
<file>icons/16x16/actions/document-new-symbolic.symbolic.png</file>
<file>icons/16x16/actions/document-new.png</file>
<file>icons/16x16/actions/document-save.png</file>
<file>icons/16x16/actions/edit-find.png</file>
<file>icons/16x16/actions/insert-image.png</file>
<file>icons/16x16/actions/send-to-symbolic.symbolic.png</file>
<file>icons/16x16/actions/view-fullscreen-symbolic.symbolic.png</file>
<file>icons/16x16/actions/document-send-symbolic.symbolic.png</file>
<file>icons/16x16/actions/edit-find.png</file>
<file>icons/16x16/actions/format-indent-less-symbolic-rtl.symbolic.png</file>
<file>icons/16x16/actions/format-indent-less-symbolic.symbolic.png</file>
<file>icons/16x16/actions/format-indent-more-symbolic-rtl.symbolic.png</file>
<file>icons/16x16/actions/format-indent-more-symbolic.symbolic.png</file>
<file>icons/16x16/actions/format-justify-center-symbolic.symbolic.png</file>
<file>icons/16x16/actions/format-justify-fill-symbolic.symbolic.png</file>
<file>icons/16x16/actions/format-justify-left-symbolic.symbolic.png</file>
<file>icons/16x16/actions/format-justify-right-symbolic.symbolic.png</file>
<file>icons/16x16/actions/insert-image.png</file>
<file>icons/16x16/actions/insert-link-symbolic.symbolic.png</file>
<file>icons/16x16/actions/send-to-symbolic.symbolic.png</file>
<file>icons/16x16/actions/star-new-symbolic.symbolic.png</file>
<file>icons/16x16/actions/view-continuous-symbolic.symbolic.png</file>
<file>icons/16x16/actions/view-dual-symbolic.symbolic.png</file>
<file>icons/16x16/actions/view-fullscreen-symbolic.symbolic.png</file>
<file>icons/16x16/actions/view-grid-symbolic.symbolic.png</file>
<file>icons/16x16/actions/zoom-in.png</file>
<file>icons/16x16/actions/view-paged-symbolic.symbolic.png</file>
<file>icons/16x16/actions/zoom-in-symbolic.symbolic.png</file>
<file>icons/16x16/actions/zoom-original.png</file>
<file>icons/16x16/actions/zoom-in.png</file>
<file>icons/16x16/actions/zoom-original-symbolic.symbolic.png</file>
<file>icons/16x16/actions/zoom-out.png</file>
<file>icons/16x16/actions/zoom-original.png</file>
<file>icons/16x16/actions/zoom-out-symbolic.symbolic.png</file>
<file>icons/16x16/actions/zoom-out.png</file>
<file>icons/16x16/apps/preferences-desktop-locale-symbolic.symbolic.png</file>
<file>icons/16x16/devices/audio-headphones-symbolic.symbolic.png</file>
<file>icons/16x16/devices/audio-input-microphone-symbolic.symbolic.png</file>
<file>icons/16x16/devices/audio-speakers-symbolic.symbolic.png</file>
<file>icons/16x16/devices/camera-photo-symbolic.symbolic.png</file>
<file>icons/16x16/devices/camera-web-symbolic.symbolic.png</file>
<file>icons/16x16/devices/drive-optical-symbolic.symbolic.png</file>
<file>icons/16x16/devices/network-wired-symbolic.symbolic.png</file>
<file>icons/16x16/devices/network-wireless-symbolic.symbolic.png</file>
<file>icons/16x16/devices/phone-symbolic.symbolic.png</file>
<file>icons/16x16/emblems/emblem-default-symbolic.symbolic.png</file>
<file>icons/16x16/emblems/emblem-shared-symbolic.symbolic.png</file>
<file>icons/16x16/emotes/face-monkey-symbolic.symbolic.png</file>
<file>icons/16x16/status/appointment-soon-symbolic.symbolic.png</file>
<file>icons/16x16/status/microphone-sensitivity-muted-symbolic.symbolic.png</file>
<file>icons/16x16/status/microphone-sensitivity-high-symbolic.symbolic.png</file>
<file>icons/16x16/status/microphone-sensitivity-low-symbolic.symbolic.png</file>
<file>icons/16x16/status/microphone-sensitivity-medium-symbolic.symbolic.png</file>
<file>icons/16x16/status/microphone-sensitivity-high-symbolic.symbolic.png</file>
<file>icons/16x16/status/microphone-sensitivity-muted-symbolic.symbolic.png</file>
<file>icons/16x16/status/weather-clear-night-symbolic.symbolic.png</file>
<file>icons/16x16/emotes/face-monkey-symbolic.symbolic.png</file>
<file>icons/16x16/apps/preferences-desktop-locale-symbolic.symbolic.png</file>
<file>icons/16x16/status/weather-few-clouds-night-symbolic.symbolic.png</file>
<file>icons/16x16/status/weather-fog-symbolic.symbolic.png</file>
<file>icons/16x16/status/weather-overcast-symbolic.symbolic.png</file>
<file>icons/16x16/status/weather-severe-alert-symbolic.symbolic.png</file>
<file>icons/16x16/status/weather-showers-symbolic.symbolic.png</file>
<file>icons/16x16/status/weather-snow-symbolic.symbolic.png</file>
<file>icons/scalable/actions/call-start-symbolic.svg</file>
<file>icons/scalable/actions/call-stop-symbolic.svg</file>
<file>icons/scalable/actions/document-new-symbolic.svg</file>
<file>icons/scalable/actions/format-indent-less-symbolic-rtl.svg</file>
<file>icons/scalable/actions/format-indent-less-symbolic.svg</file>
<file>icons/scalable/actions/format-indent-more-symbolic-rtl.svg</file>
<file>icons/scalable/actions/format-indent-more-symbolic.svg</file>
<file>icons/scalable/actions/format-justify-center-symbolic.svg</file>
<file>icons/scalable/actions/format-justify-fill-symbolic.svg</file>
<file>icons/scalable/actions/format-justify-left-symbolic.svg</file>
<file>icons/scalable/actions/format-justify-right-symbolic.svg</file>
<file>icons/scalable/actions/insert-link-symbolic.svg</file>
<file>icons/scalable/actions/star-new-symbolic.svg</file>
<file>icons/scalable/actions/view-continuous-symbolic.svg</file>
<file>icons/scalable/actions/view-dual-symbolic.svg</file>
<file>icons/scalable/actions/view-paged-symbolic.svg</file>
<file>icons/scalable/actions/view-fullscreen-symbolic.svg</file>
<file>icons/scalable/actions/view-grid-symbolic.svg</file>
<file>icons/scalable/actions/zoom-in-symbolic.svg</file>
<file>icons/scalable/actions/zoom-original-symbolic.svg</file>
<file>icons/scalable/actions/zoom-out-symbolic.svg</file>
<file>icons/scalable/devices/audio-headphones-symbolic.svg</file>
<file>icons/scalable/devices/audio-speakers-symbolic.svg</file>
<file>icons/scalable/devices/audio-input-microphone-symbolic.svg</file>
<file>icons/scalable/devices/camera-photo-symbolic.svg</file>
<file>icons/scalable/devices/camera-web-symbolic.svg</file>
<file>icons/scalable/devices/drive-optical-symbolic.svg</file>
<file>icons/scalable/devices/network-wired-symbolic.svg</file>
<file>icons/scalable/devices/network-wireless-symbolic.svg</file>
<file>icons/scalable/devices/phone-symbolic.svg</file>
<file>icons/scalable/status/weather-clear-night-symbolic.svg</file>
<file>icons/scalable/status/weather-few-clouds-night-symbolic.svg</file>
<file>icons/scalable/status/weather-fog-symbolic.svg</file>
<file>icons/scalable/status/weather-overcast-symbolic.svg</file>
<file>icons/scalable/status/weather-severe-alert-symbolic.svg</file>
<file>icons/scalable/status/weather-showers-symbolic.svg</file>
<file>icons/scalable/status/weather-snow-symbolic.svg</file>
</gresource>
<gresource prefix="/org/gtk/WidgetFactory4">
<file>gtk-logo.webm</file>
+1 -6
View File
@@ -311,9 +311,6 @@ Suspendisse feugiat quam quis dolor accumsan cursus.</property>
<row>
<col id="0">camera-photo-symbolic</col>
</row>
<row>
<col id="0">camera-video-symbolic</col>
</row>
<row>
<col id="0">camera-web-symbolic</col>
</row>
@@ -329,9 +326,6 @@ Suspendisse feugiat quam quis dolor accumsan cursus.</property>
<row>
<col id="0">drive-harddisk-symbolic</col>
</row>
<row>
<col id="0">drive-multidisk-symbolic</col>
</row>
<row>
<col id="0">drive-optical-symbolic</col>
</row>
@@ -444,6 +438,7 @@ Suspendisse feugiat quam quis dolor accumsan cursus.</property>
<child type="end">
<object class="GtkMenuButton" id="gear_menu_button">
<property name="valign">center</property>
<property name="focus-on-click">0</property>
<property name="popover">
<object class="GtkPopoverMenu" id="gear_menu">
<property name="menu-model">gear_menu_model</property>
+26 -19
View File
@@ -696,27 +696,29 @@ Public macros should not be used unless they evaluate to a constant.
### Symbol visibility
Any symbol that is not explicitly annotated using a `GDK_AVAILABLE_IN_*`
macro is considered internal, and not exported in the shared library.
or `GDK_DEPRECATED_IN_*` macro is considered internal, and not exported
in the shared library.
Never export variables as public API, since this is cumbersome on some
platforms. It is always preferable to add getters and setters instead.
Non-exported functions that are needed in more than one source file
should be declared in a private header file.
should be declared in a private header file with a name that ends in
`private.h`.
Non-exported functions that are only needed in one source file
should be declared static.
### Documentation
All public APIs must have gtk-doc comments. For functions, these should
All public APIs must have doc comments. For functions, these should
be placed in the source file, directly above the function.
```c
/* valid */
/**
* gtk_get_flow:
* @widget: a #GtkWidget
* @widget: a `GtkWidget`
*
* Gets the flow of a widget.
*
@@ -736,29 +738,34 @@ be placed in the source file, directly above the function.
Doc comments for macros, function types, class structs, etc should be
placed next to the definitions, typically in headers.
Section introductions should be placed in the source file they describe,
after the license header:
The main content of the doc comments uses markdown, which can include
inline formatting, sections, tables, images, links. For links to
symbols/classes/etc, we use a markdown extension syntax like this:
[class@Gtk.Widget], [method@Gtk.ListView.get_factory],...
Every doc comment should start with a single-sentence paragraph that
can serve as a summary of sorts (it will often be placed next to a
link pointing to the full documentation for the symbol/class/etc).
The summary should not include links.
Long-form documentation for classes should be included in the doc
comment for the struct, typically at the top of the source file,
after the license header and includes:
```c
/* valid */
/**
* SECTION:gtksizerequest
* @Short_Description: Height-for-width geometry management
* @Title: GtkSizeRequest
* GtkSizeRequest:
*
* The GtkSizeRequest interface is GTK's height-for-width geometry
* geometry management system.
*
* # Geometry management
*
* The GtkSizeRequest interface is GTK's height-for-width (and
* width-for-height) geometry management system.
* ...
*/
```
To properly document a new function, macro, function type or struct,
it needs to be listed in the `sections.txt` file.
To properly document a new class, it needs to be given its own section
in the sections.txt, needs to be included in the `docs.xml` file, and the
`get_type` function needs to listed in the `.types` file.
For more information on the documentation style and contribution guidelines,
please [follow the corresponding contribution guide](./reference/README.md).
+83 -74
View File
@@ -6,40 +6,41 @@ The GTK documentation is divided in two major components:
source code
- static pages that provide an overview of specific sections of the API
In both cases, the contents are parsed, converted into DocBook format, and
cross-linked in order to match types, functions, signals, and properties.
From the DocBook output, we generate HTML, which can be used to read the
documentation both offline and online.
In both cases, the contents are parsed as markdown and cross-linked in order
to match types, functions, signals, and properties. Ultimatively, we generate
HTML, which can be used to read the documentation both offline and online.
In both cases, contributing to the GTK documentation requires modifying
files tracked in the source control repository, and follows the same steps
as any other code contribution as outlined in the GTK [contribution
guide][contributing]. Please, refer to that document for any further
question on the mechanics of contributing to GTK.
Contributing to the GTK documentation requires modifying files tracked in the
source control repository, and follows the same steps as any other code
contribution as outlined in the GTK [contribution guide][contributing].
Please, refer to that document for any further question on the mechanics
of contributing to GTK.
GTK uses [gtk-doc][gtkdoc] to generate its documentation. Please, visit the
gtk-doc website to read the project's documentation.
GTK uses [gi-docgen][gidocgen] to generate its documentation. Please, visit
the gi-docgen website to read the project's documentation.
[contributing]: ../../CONTRIBUTING.md
[gtkdoc]: https://wiki.gnome.org/DocumentationProject/GtkDoc
[gi-docgen]: https://gitlab.gnome.org/ebassi/gi-docgen
## Contributing to the API reference
Whenever you need to add or modify the documentation of a type or a
function, you will need to edit a `gtk-doc` comment stanza, typically right
function, you will need to edit a comment stanza, typically right
above the type or function declaration. For instance:
```c
/**
* gtk_foo_set_bar:
* @self: a #GtkFoo
* @bar: a #GtkBar
* @self: a foo widget
* @bar: (nullable): the bar to set
*
* Sets the given #GtkBar instance on a #GtkFoo widget.
* Sets the given `GtkBar` instance on a foo widget.
*
* Returns: `TRUE` if the bar was set
*/
void
gboolean
gtk_foo_set_bar (GtkFoo *self,
GtkBar *bar)
GtkBar *bar)
{
...
```
@@ -51,31 +52,14 @@ Or, for types:
* GtkFoo:
*
* A foo widget instance.
*
* The contents of this structure are private and should never
* be accessed directly.
*/
struct _GtkFoo
{
/*< private >*/
GtkWidget parent_instance;
};
```
Each public function and type in the GTK API reference must be listed in the
`sections.txt` file for the specific namespace to which it belongs: GDK,
GSK, or GTK. For instance, if you add a function named `gtk_foo_set_bar()`,
you will need to:
1. open `docs/reference/gtk/gtk4-sections.txt`
1. find the section that lists the symbols of the `GtkFoo` type
1. add `gtk_foo_set_bar` to the list
New classes require:
1. a new section in the `sections.txt` file
1. the `get_type` function added to the `.types` file
1. an `xinclude` element in the `docs.xml` file
The GTK documentation also contains a number of 'freestanding' chapters
for which the source is in .md files in docs/reference/gtk.
@@ -90,49 +74,61 @@ unrelated reasons.
### Syntax
The input syntax for GTK documentation is markdown, in a flavor that is
similar to what you see on gitlab or github. The markdown support for
fragments that are extracted from sources is more limited than for
The input syntax for GTK documentation is Markdown, in a flavor that is
similar to what you see on GitLab or GitHub. The markdown support for
fragments that are extracted from sources is identical to the one for
freestanding chapters. As an exception, man pages for tools are currently
maintained in docbook, since the conversion from markdown to docbook is
losing too much of the expected formatting.
In addition to typical markdown formatting such as \*emphasis\* or \_italics\_,
gtk-doc supports a few abbreviations for cross-references and formatting:
the GTK documentation supports additional link formats, like:
`#ClassName`
`[class@Namespace.ClassName]`
: Creates a link to the docs for a class
`function()`
: Creates a link to the docs for a function
`[method@Namespace.Method.name]`
: Creates a link to the docs for a method in a class
`%constant`
: Generates suitable markup for enum values or constants
`[func@Namespace.function]`
: Creates a link to the docs for a global function
### Sections
For more information on the available link formats, see the gi-docgen
documentation.
- The "section" of each type must contain a name, to be referenced in the
`sections.txt` file; a title; and a short description. For instance:
Every doc comment should start with a single-sentence paragraph that
can serve as a summary of sorts (it will often be placed next to a
link pointing to the full documentation for the symbol/class/etc).
The summary should not include links.
```c
/**
* SECTION:gtkshortcut
* @Title: GtkShortcut
* @Short_desc: A key shortcut
*
* ...
```
### Introspection annotations
For classes, the title should be the name of the class. While it's
possible to add section titles directly to the `sections.txt` file, this
is considered deprecated, and should not be done for newly written code.
- For classes, the long description should contain an overview of the type;
what it does; typical use cases; and idiomatic examples of its use.
- For widget classes, the long description of a section should also contain:
- special XML elements and attributes parsed by the class, in case of a
custom GtkBuildable implementation
- the CSS element name to be used by selectors
- the CSS selector hierarchy for children, in case of a composite widget
The purpose of the annotations for function arguments, properties, signals,
etc., is to describe the API in a machine readable way. The annotations
are consumed by language bindings and by the documentation tools.
For more information about the annotations used by GTK, you should refer to
the [GObject Introspection documentation][gi-annotations].
[gi-annotations]: https://gi.readthedocs.io/en/latest/annotations/giannotations.html
### Type description
Each type should be annotated with a description of what the type does.
For classes, the description should contain an overview of the type;
what it does; typical use cases; and idiomatic examples of its use.
For widget classes, the description should also contain:
- special XML elements and attributes parsed by the class, in case of a
custom GtkBuildable implementation
- the CSS element name to be used by selectors
- the CSS selector hierarchy for children, in case of a composite widget
- the accessible role of the class
Each section in a type description can have a heading; it's preferred to use
second and third level headings only.
### Functions
@@ -155,17 +151,26 @@ Checks whether the widget is set to be visible or not.
- Methods are special functions whose first argument is always the instance
of a certain class. The instance argument for newly written code should be
called `self`.
- If a method is a setter or a getter for an object property, link the
property in the methods's description.
- If a method is a setter or a getter for an object property, you should
add an `(attributes org.gtk.Method.set_property=property-name)` or a
an `(attributes org.gtk.Method.get_property=property-name)` annotation
to the method's identifier
- If a method changes one or more properties as side effect, link those
properties in the method's description
- If a method is a signal emitter, link the signal in the method's
description.
- If a method is a signal emitter, you should use the
`(attributes org.gtk.Method.signal=signal-name)` annotation in
the method's identifier
### Arguments and return values
- Arguments should be descriptive, but short
- There is no need to mention the type of the argument
- Always annotate nullability, direction, and ownership transfer
### Signals
- While GObject can introspect argument and return types for signals,
you should *always* document them with an explicit gtk-doc stanza.
you should *always* document them with an explicit documentation stanza.
- The syntax for signal stanzas is similar to functions:
```c
@@ -181,12 +186,15 @@ Checks whether the widget is set to be visible or not.
- While GObject properties contain text that can be extracted
programmatically in order to build their documentation, you should
*always* document them with an explicit gtk-doc stanza. The text
*always* document them with an explicit documentation stanza. The text
associated to the property is short and meant to be used when
programmatically building user interfaces, and not for documentation
purposes.
- Always note if setting a property has side effects, like causing another
property to change state.
- If the property has public accessors you should annotate it with
the `(attributes org.gtk.Property.set=setter_function)` and
`(attributes org.gtk.Property.get=getter_function)` attributes
- The syntax for property documentation is:
```c
@@ -198,8 +206,9 @@ Checks whether the widget is set to be visible or not.
### Actions
- Actions are new in GTK 4, and gtk-doc had to learn a new syntax
to document them:
- Actions are new in GTK 4, and describe an action associated to
a widget class
- The syntax for action documentation is:
```
/**c
+18
View File
@@ -0,0 +1,18 @@
----
Title: Cairo interaction
----
## Functions to support using cairo
[Cairo](http://cairographics.org) is a graphics library that supports vector
graphics and image compositing that can be used with GTK.
GDK does not wrap the Cairo API; instead it allows to create Cairo
drawing contexts which can be used to draw on [class@Gdk.Surface]s.
Additional functions allow use [struct@Gdk.Rectangle]s with Cairo
and to use [struct@Gdk.RGBA], `GdkPixbuf`, and [class@Gdk.Surface]
instances as sources for drawing operations.
For more information on Cairo, please see the
[Cairo API reference](https://www.cairographics.org/manual/).
-89
View File
@@ -1,89 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>GDK 4 Reference Manual</title>
<releaseinfo>
This document is for the GDK 4 library, version &version;.
The latest versions can be found online at
<ulink role="online-location" url="https://developer.gnome.org/gdk4/">https://developer.gnome.org/gdk4/</ulink>.
If you are looking for the older GDK 3 series of libraries,
see <ulink role="online-location" url="https://developer.gnome.org/gdk3/">https://developer.gnome.org/gdk3/</ulink>.
</releaseinfo>
</bookinfo>
<chapter>
<title>API Reference</title>
<xi:include href="xml/general.xml" />
<xi:include href="xml/gdkdisplaymanager.xml" />
<xi:include href="xml/gdkdisplay.xml" />
<xi:include href="xml/gdkseat.xml" />
<xi:include href="xml/gdkdevice.xml" />
<section>
<xi:include href="xml/gdkdevicepad.xml" />
</section>
<xi:include href="xml/gdkmonitor.xml" />
<xi:include href="xml/regions.xml" />
<xi:include href="xml/textures.xml" />
<xi:include href="xml/gdkpaintable.xml" />
<xi:include href="xml/rgba_colors.xml" />
<xi:include href="xml/cursors.xml" />
<xi:include href="xml/gdksurface.xml" />
<xi:include href="xml/gdktoplevel.xml" />
<section>
<xi:include href="xml/gdktoplevellayout.xml" />
<xi:include href="xml/gdktoplevelsize.xml" />
</section>
<xi:include href="xml/gdkpopup.xml" />
<section>
<xi:include href="xml/gdkpopuplayout.xml" />
</section>
<xi:include href="xml/gdkframeclock.xml" />
<section>
<xi:include href="xml/gdkframetimings.xml" />
</section>
<xi:include href="xml/gdkdrawcontext.xml" />
<section>
<xi:include href="xml/gdkglcontext.xml" />
<xi:include href="xml/gdkvulkancontext.xml" />
<xi:include href="xml/gdkcairocontext.xml" />
</section>
<xi:include href="xml/events.xml" />
<xi:include href="xml/keys.xml" />
<xi:include href="xml/gdkclipboard.xml" />
<xi:include href="xml/dnd.xml" />
<xi:include href="xml/gdkcontentformats.xml" />
<xi:include href="xml/gdkcontentprovider.xml" />
<xi:include href="xml/gdkcontentserializer.xml" />
<xi:include href="xml/gdkcontentdeserializer.xml" />
<xi:include href="xml/pixbufs.xml" />
<xi:include href="xml/pango_interaction.xml" />
<xi:include href="xml/cairo_interaction.xml" />
</chapter>
<chapter>
<title>GDK Platform Support</title>
<xi:include href="xml/gdkapplaunchcontext.xml" />
<xi:include href="xml/x_interaction.xml" />
<xi:include href="xml/wayland_interaction.xml" />
</chapter>
<index id="api-index-full">
<title>Index of all symbols</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-4-2" role="4.2">
<title>Index of new symbols in 4.2</title>
<xi:include href="xml/api-index-4.2.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-deprecated" role="deprecated">
<title>Index of deprecated symbols</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>
-25
View File
@@ -1,25 +0,0 @@
<MACRO>
<NAME>GDK_WINDOWING_X11</NAME>
#define GDK_WINDOWING_X11
</MACRO>
<MACRO>
<NAME>GDK_WINDOWING_WIN32</NAME>
#define GDK_WINDOWING_WIN32
</MACRO>
<MACRO>
<NAME>GDK_WINDOWING_MACOS</NAME>
#define GDK_WINDOWING_MACOS
</MACRO>
<MACRO>
<NAME>GDK_WINDOWING_WAYLAND</NAME>
#define GDK_WINDOWING_WAYLAND
</MACRO>
<MACRO>
<NAME>GDK_DISABLE_DEPRECATION_WARNINGS</NAME>
#define GDK_DISABLE_DEPRECATION_WARNINGS
</MACRO>
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More