Compare commits
249 Commits
gst-subpro
...
ebassi/iss
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6d3beaf955 | ||
|
|
1968a18edb | ||
|
|
cfe688f27e | ||
|
|
d37e9f708b | ||
|
|
fe66225189 | ||
|
|
46ed7540b2 | ||
|
|
3ad56a762f | ||
|
|
21a1a40555 | ||
|
|
849692b24b | ||
|
|
f3bf4e4876 | ||
|
|
46270d3dcd | ||
|
|
da6096faaf | ||
|
|
2a7b5a5156 | ||
|
|
233e662294 | ||
|
|
ae41697d83 | ||
|
|
e2fb59798e | ||
|
|
d0fc3e166d | ||
|
|
e4ce46e75f | ||
|
|
e2420f62fe | ||
|
|
6712106c25 | ||
|
|
5b55138729 | ||
|
|
1d9c581f10 | ||
|
|
6bfb57db16 | ||
|
|
f8f2f2944f | ||
|
|
aaf17fd3d0 | ||
|
|
678e6fc6d6 | ||
|
|
fcf39170e1 | ||
|
|
187072c3fa | ||
|
|
e6599c6c4f | ||
|
|
87a8ff90d6 | ||
|
|
4a76abffd4 | ||
|
|
715449695c | ||
|
|
d15b0afca9 | ||
|
|
0d6bbc035d | ||
|
|
9313d4b6b4 | ||
|
|
ed412f43d1 | ||
|
|
bfe4aea981 | ||
|
|
0caa28c1de | ||
|
|
d8ba4b4114 | ||
|
|
e7963945bb | ||
|
|
e4a6101ae0 | ||
|
|
5d0a3bd4cb | ||
|
|
1c2238cc2a | ||
|
|
2d7169fd5f | ||
|
|
885a6b8ebc | ||
|
|
9d81c129fc | ||
|
|
38c6fe2ce4 | ||
|
|
7fe7b7ac7d | ||
|
|
ae7f52d301 | ||
|
|
8b1fcb58e8 | ||
|
|
cce36ae701 | ||
|
|
2f0a02eecb | ||
|
|
07167fdf22 | ||
|
|
5710df685b | ||
|
|
62f10b1b8f | ||
|
|
d50d55228b | ||
|
|
288a5d4151 | ||
|
|
748b8497c9 | ||
|
|
303ff60d5e | ||
|
|
b79eb55b34 | ||
|
|
0ca573142a | ||
|
|
a1ece16143 | ||
|
|
2e18f1b6e3 | ||
|
|
6cf712591f | ||
|
|
b32cd5d328 | ||
|
|
2af99bd65e | ||
|
|
5b0ea70d1c | ||
|
|
d719a3d877 | ||
|
|
b0df8910ba | ||
|
|
5b8bf04035 | ||
|
|
58e44e296f | ||
|
|
0334d002c0 | ||
|
|
d731ce49ad | ||
|
|
a93614409e | ||
|
|
214e2d14be | ||
|
|
67ee6b2740 | ||
|
|
07a3fb833c | ||
|
|
1c419f762b | ||
|
|
8d6c7b81e9 | ||
|
|
fcaadf6724 | ||
|
|
ff38d8cdc0 | ||
|
|
900a4e4d31 | ||
|
|
ee63b84b6a | ||
|
|
2f1ff307da | ||
|
|
a8e8e04496 | ||
|
|
91bcf6f0ba | ||
|
|
a228b2de64 | ||
|
|
cb18437908 | ||
|
|
23dab885cd | ||
|
|
e7284c23da | ||
|
|
1e1f199b56 | ||
|
|
efb5e793a4 | ||
|
|
f2edf40e48 | ||
|
|
7cb99a0866 | ||
|
|
36da7c3075 | ||
|
|
a3b69f1101 | ||
|
|
9f2d1ff264 | ||
|
|
8d603dfe99 | ||
|
|
3ff04976e3 | ||
|
|
54ff4fd45f | ||
|
|
0d135d90f0 | ||
|
|
ffa9814dd0 | ||
|
|
a2fec9134b | ||
|
|
8caadaf404 | ||
|
|
469228fcd7 | ||
|
|
fd329e0ec5 | ||
|
|
7f4041ec30 | ||
|
|
5cb5bdc4eb | ||
|
|
08913deba5 | ||
|
|
aceeef47f4 | ||
|
|
ddda0ca1db | ||
|
|
00923615f4 | ||
|
|
63945bc408 | ||
|
|
076f79745b | ||
|
|
8e9effcc1e | ||
|
|
7f4522a3f1 | ||
|
|
f98abe4400 | ||
|
|
2ee8f676c3 | ||
|
|
7216f71825 | ||
|
|
0bf3e4c25b | ||
|
|
e964e176f9 | ||
|
|
8938b09bc9 | ||
|
|
3654bcfbe8 | ||
|
|
0dcf95b898 | ||
|
|
405fab8b36 | ||
|
|
ef455f5c85 | ||
|
|
05e4cd1579 | ||
|
|
0ea96e3b0c | ||
|
|
1e9e7bf0d9 | ||
|
|
d7a5dedd4f | ||
|
|
2e65416270 | ||
|
|
13c22e4e2f | ||
|
|
65a061f3c2 | ||
|
|
fc63e6856f | ||
|
|
94747d53eb | ||
|
|
b5df1299ec | ||
|
|
7bfff6c51e | ||
|
|
3fdedce8f6 | ||
|
|
6f62107656 | ||
|
|
f9457af128 | ||
|
|
94f0a4ef2c | ||
|
|
53e75936cb | ||
|
|
5f0fe09423 | ||
|
|
9e402fa064 | ||
|
|
d84440969a | ||
|
|
e7dc82fa32 | ||
|
|
f1b3492700 | ||
|
|
6c95fc7e87 | ||
|
|
f4cc9a47ad | ||
|
|
ccbbc2f2ba | ||
|
|
8bc2ee63eb | ||
|
|
68d634b31c | ||
|
|
d1c66f75e3 | ||
|
|
eba9cd8775 | ||
|
|
9606945ed8 | ||
|
|
d50d382032 | ||
|
|
5da3308572 | ||
|
|
fb48699ba4 | ||
|
|
56d37ceed0 | ||
|
|
622bb9186e | ||
|
|
b77e05ce37 | ||
|
|
ba4e66d189 | ||
|
|
2c33550048 | ||
|
|
3add99a9a8 | ||
|
|
d4ea2e848d | ||
|
|
4c06889243 | ||
|
|
ef544a8c3b | ||
|
|
6db9215dd1 | ||
|
|
8b64f0147c | ||
|
|
5847f75c57 | ||
|
|
ce2c3efc91 | ||
|
|
2599c5aed3 | ||
|
|
bca39e2605 | ||
|
|
ca0e1be03e | ||
|
|
6569a877d8 | ||
|
|
38fff37dae | ||
|
|
06be1f8b52 | ||
|
|
43a1641dd7 | ||
|
|
b21fba117f | ||
|
|
37d5f93610 | ||
|
|
52aea624a6 | ||
|
|
711acb6aa7 | ||
|
|
3e94c5afa4 | ||
|
|
a75c038e09 | ||
|
|
146069058f | ||
|
|
2d5dd7b3d7 | ||
|
|
0904dd29c2 | ||
|
|
279b9347fd | ||
|
|
2a2ae16894 | ||
|
|
3e1a8aa286 | ||
|
|
db126a19b6 | ||
|
|
ffa50f4c24 | ||
|
|
e1866d8fbe | ||
|
|
d24a0e9606 | ||
|
|
b8693cc4f4 | ||
|
|
5d5adf6ee7 | ||
|
|
dda69bd16d | ||
|
|
926b855d14 | ||
|
|
afc3de6e04 | ||
|
|
45f4090eec | ||
|
|
4cf69fbc5e | ||
|
|
0c6da97147 | ||
|
|
8994635d39 | ||
|
|
7644605dfc | ||
|
|
97a9e23b85 | ||
|
|
478ecf8db4 | ||
|
|
0e857862ab | ||
|
|
2bb4859031 | ||
|
|
7aef77a21a | ||
|
|
e7f9d56da5 | ||
|
|
34883b7142 | ||
|
|
23706a4a6d | ||
|
|
c52c944e33 | ||
|
|
8540bea65e | ||
|
|
8ea4721d1e | ||
|
|
e8a6b504f3 | ||
|
|
06ab8f2167 | ||
|
|
b5558f3e97 | ||
|
|
bdd281c9ea | ||
|
|
c9ab7c5750 | ||
|
|
01f4e5c8cd | ||
|
|
8a567d7932 | ||
|
|
dbcd24adf4 | ||
|
|
f6f07ba238 | ||
|
|
3ab07203ce | ||
|
|
70e26d12fb | ||
|
|
6ba414216c | ||
|
|
775b45ef57 | ||
|
|
23cb72875d | ||
|
|
5940de98dd | ||
|
|
4028bd5bce | ||
|
|
b5608e93d2 | ||
|
|
1ea2ea520f | ||
|
|
922b2683b3 | ||
|
|
6dcef28e12 | ||
|
|
08f68cce40 | ||
|
|
7849590a82 | ||
|
|
c9b312c860 | ||
|
|
6110980012 | ||
|
|
019855a27f | ||
|
|
cdfdf031b5 | ||
|
|
f131d68fef | ||
|
|
3014649455 | ||
|
|
2496ab0902 | ||
|
|
50d42093b5 | ||
|
|
44481d355e | ||
|
|
6f82408056 | ||
|
|
cc64dbafbc | ||
|
|
50b70298c0 |
@@ -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:v29"
|
||||
FLATPAK_IMAGE: "registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master"
|
||||
DOCS_IMAGE: "registry.gitlab.gnome.org/gnome/gtk/fedora-docs:v26"
|
||||
DOCS_IMAGE: "registry.gitlab.gnome.org/gnome/gtk/fedora:v29"
|
||||
|
||||
.only-default:
|
||||
only:
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
FROM fedora:33
|
||||
|
||||
RUN dnf -y install \
|
||||
adwaita-icon-theme \
|
||||
atk-devel \
|
||||
at-spi2-atk-devel \
|
||||
avahi-gobject-devel \
|
||||
cairo-devel \
|
||||
cairo-gobject-devel \
|
||||
ccache \
|
||||
clang \
|
||||
clang-analyzer \
|
||||
colord-devel \
|
||||
cups-devel \
|
||||
dbus-daemon \
|
||||
dbus-x11 \
|
||||
dejavu-sans-mono-fonts \
|
||||
desktop-file-utils \
|
||||
diffutils \
|
||||
elfutils-libelf-devel \
|
||||
fribidi-devel \
|
||||
gcc \
|
||||
gcc-c++ \
|
||||
gdk-pixbuf2-devel \
|
||||
gdk-pixbuf2-modules \
|
||||
gettext \
|
||||
git \
|
||||
glib2-devel \
|
||||
glib2-static \
|
||||
glibc-devel \
|
||||
glibc-headers \
|
||||
gnome-desktop-testing \
|
||||
gobject-introspection-devel \
|
||||
graphene-devel \
|
||||
gstreamer1-devel \
|
||||
gstreamer1-plugins-good \
|
||||
gstreamer1-plugins-bad-free-devel \
|
||||
gstreamer1-plugins-base-devel \
|
||||
gtk-doc \
|
||||
hicolor-icon-theme \
|
||||
iso-codes \
|
||||
itstool \
|
||||
json-glib-devel \
|
||||
lcov \
|
||||
libasan \
|
||||
libattr-devel \
|
||||
libcloudproviders-devel \
|
||||
libepoxy-devel \
|
||||
libffi-devel \
|
||||
libmount-devel \
|
||||
librsvg2 \
|
||||
libselinux-devel \
|
||||
libubsan \
|
||||
libXcomposite-devel \
|
||||
libXcursor-devel \
|
||||
libXcursor-devel \
|
||||
libXdamage-devel \
|
||||
libXfixes-devel \
|
||||
libXi-devel \
|
||||
libXinerama-devel \
|
||||
libxkbcommon-devel \
|
||||
libXrandr-devel \
|
||||
libXrender-devel \
|
||||
libXtst-devel \
|
||||
libxslt \
|
||||
mesa-dri-drivers \
|
||||
mesa-libEGL-devel \
|
||||
mesa-libGLES-devel \
|
||||
meson \
|
||||
ninja-build \
|
||||
pango-devel \
|
||||
pcre-devel \
|
||||
pcre-static \
|
||||
python3 \
|
||||
python3-jinja2 \
|
||||
python3-pip \
|
||||
python3-pygments \
|
||||
python3-wheel \
|
||||
redhat-rpm-config \
|
||||
sassc \
|
||||
systemtap-sdt-devel \
|
||||
vulkan-devel \
|
||||
wayland-devel \
|
||||
wayland-protocols-devel \
|
||||
weston \
|
||||
weston-libs \
|
||||
which \
|
||||
xorg-x11-server-Xvfb \
|
||||
&& dnf clean all
|
||||
@@ -1,17 +0,0 @@
|
||||
FROM registry.gitlab.gnome.org/gnome/gtk/fedora-base:v28
|
||||
|
||||
RUN dnf -y install \
|
||||
python3-jinja2 \
|
||||
python3-markdown \
|
||||
python3-pygments \
|
||||
python3-toml \
|
||||
python3-typogrify
|
||||
|
||||
ARG HOST_USER_ID=5555
|
||||
ENV HOST_USER_ID ${HOST_USER_ID}
|
||||
RUN useradd -u $HOST_USER_ID -ms /bin/bash user
|
||||
|
||||
USER user
|
||||
WORKDIR /home/user
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
@@ -1,4 +1,96 @@
|
||||
FROM registry.gitlab.gnome.org/gnome/gtk/fedora-base:v28
|
||||
FROM fedora:33
|
||||
|
||||
RUN dnf -y install \
|
||||
adwaita-icon-theme \
|
||||
atk-devel \
|
||||
at-spi2-atk-devel \
|
||||
avahi-gobject-devel \
|
||||
cairo-devel \
|
||||
cairo-gobject-devel \
|
||||
ccache \
|
||||
clang \
|
||||
clang-analyzer \
|
||||
colord-devel \
|
||||
cups-devel \
|
||||
dbus-daemon \
|
||||
dbus-x11 \
|
||||
dejavu-sans-mono-fonts \
|
||||
desktop-file-utils \
|
||||
diffutils \
|
||||
elfutils-libelf-devel \
|
||||
fribidi-devel \
|
||||
gcc \
|
||||
gcc-c++ \
|
||||
gdk-pixbuf2-devel \
|
||||
gdk-pixbuf2-modules \
|
||||
gettext \
|
||||
git \
|
||||
glib2-devel \
|
||||
glib2-static \
|
||||
glibc-devel \
|
||||
glibc-headers \
|
||||
gnome-desktop-testing \
|
||||
gobject-introspection-devel \
|
||||
graphene-devel \
|
||||
graphviz \
|
||||
gstreamer1-devel \
|
||||
gstreamer1-plugins-good \
|
||||
gstreamer1-plugins-bad-free-devel \
|
||||
gstreamer1-plugins-base-devel \
|
||||
gtk-doc \
|
||||
hicolor-icon-theme \
|
||||
iso-codes \
|
||||
itstool \
|
||||
json-glib-devel \
|
||||
lcov \
|
||||
libasan \
|
||||
libattr-devel \
|
||||
libcloudproviders-devel \
|
||||
libepoxy-devel \
|
||||
libffi-devel \
|
||||
libmount-devel \
|
||||
librsvg2 \
|
||||
libselinux-devel \
|
||||
libubsan \
|
||||
libXcomposite-devel \
|
||||
libXcursor-devel \
|
||||
libXcursor-devel \
|
||||
libXdamage-devel \
|
||||
libXfixes-devel \
|
||||
libXi-devel \
|
||||
libXinerama-devel \
|
||||
libxkbcommon-devel \
|
||||
libXrandr-devel \
|
||||
libXrender-devel \
|
||||
libXtst-devel \
|
||||
libxslt \
|
||||
mesa-dri-drivers \
|
||||
mesa-libEGL-devel \
|
||||
mesa-libGLES-devel \
|
||||
meson \
|
||||
ninja-build \
|
||||
pango-devel \
|
||||
pcre-devel \
|
||||
pcre-static \
|
||||
python3 \
|
||||
python3-jinja2 \
|
||||
python3-markdown \
|
||||
python3-pip \
|
||||
python3-pygments \
|
||||
python3-toml \
|
||||
python3-typogrify \
|
||||
python3-wheel \
|
||||
redhat-rpm-config \
|
||||
sassc \
|
||||
systemtap-sdt-devel \
|
||||
vulkan-devel \
|
||||
wayland-devel \
|
||||
wayland-protocols-devel \
|
||||
weston \
|
||||
weston-libs \
|
||||
which \
|
||||
xorg-x11-server-Xvfb \
|
||||
&& dnf clean all
|
||||
|
||||
# Enable sudo for wheel users
|
||||
RUN sed -i -e 's/# %wheel/%wheel/' -e '0,/%wheel/{s/%wheel/# %wheel/}' /etc/sudoers
|
||||
|
||||
50
NEWS
@@ -1,3 +1,53 @@
|
||||
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
|
||||
============================
|
||||
|
||||
|
||||
39
build-aux/meson/dist-data.py
Normal 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)
|
||||
@@ -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])
|
||||
@@ -279,3 +279,5 @@
|
||||
|
||||
/* Define if tracker3 is available */
|
||||
#mesondefine HAVE_TRACKER3
|
||||
|
||||
#mesondefine HAVE_F16C
|
||||
|
||||
@@ -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
demos/gtk-demo/frames.c
Normal 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
demos/gtk-demo/frames.ui
Normal 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>
|
||||
@@ -116,20 +116,25 @@ populate_emoji_text (void)
|
||||
GtkWidget *textview;
|
||||
GtkTextBuffer *buffer;
|
||||
GString *s;
|
||||
GtkTextIter iter;
|
||||
|
||||
s = g_string_sized_new (1000 * 30 * 4);
|
||||
s = g_string_sized_new (500 * 30 * 4);
|
||||
|
||||
for (int i = 0; i < 1000; i++)
|
||||
for (int i = 0; i < 500; i++)
|
||||
{
|
||||
if (i % 2)
|
||||
g_string_append (s, "x");
|
||||
g_string_append (s, "<span underline=\"single\" underline_color=\"red\">x</span>");
|
||||
for (int j = 0; j < 30; j++)
|
||||
g_string_append (s, "💓x");
|
||||
{
|
||||
g_string_append (s, "💓");
|
||||
g_string_append (s, "<span underline=\"single\" underline_color=\"red\">x</span>");
|
||||
}
|
||||
g_string_append (s, "\n");
|
||||
}
|
||||
|
||||
buffer = gtk_text_buffer_new (NULL);
|
||||
gtk_text_buffer_set_text (buffer, s->str, s->len);
|
||||
gtk_text_buffer_get_start_iter (buffer, &iter);
|
||||
gtk_text_buffer_insert_markup (buffer, &iter, s->str, s->len);
|
||||
|
||||
g_string_free (s, TRUE);
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -29,6 +29,7 @@ demos = files([
|
||||
'fishbowl.c',
|
||||
'fixed.c',
|
||||
'fontrendering.c',
|
||||
'frames.c',
|
||||
'gears.c',
|
||||
'gestures.c',
|
||||
'glarea.c',
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -635,6 +635,24 @@ export_image_cb (GtkWidget *button,
|
||||
gtk_widget_show (dialog);
|
||||
}
|
||||
|
||||
static void
|
||||
clip_image_cb (GtkWidget *button,
|
||||
NodeEditorWindow *self)
|
||||
{
|
||||
GdkTexture *texture;
|
||||
GdkClipboard *clipboard;
|
||||
|
||||
texture = create_texture (self);
|
||||
if (texture == NULL)
|
||||
return;
|
||||
|
||||
clipboard = gtk_widget_get_clipboard (GTK_WIDGET (self));
|
||||
|
||||
gdk_clipboard_set_texture (clipboard, texture);
|
||||
|
||||
g_object_unref (texture);
|
||||
}
|
||||
|
||||
static void
|
||||
testcase_name_entry_changed_cb (GtkWidget *button,
|
||||
GParamSpec *pspec,
|
||||
@@ -826,6 +844,7 @@ node_editor_window_class_init (NodeEditorWindowClass *class)
|
||||
gtk_widget_class_bind_template_callback (widget_class, open_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, save_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, export_image_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, clip_image_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, testcase_save_clicked_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, testcase_name_entry_changed_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, dark_mode_cb);
|
||||
|
||||
@@ -102,6 +102,7 @@
|
||||
<object class="GtkHeaderBar" id="header">
|
||||
<child type="start">
|
||||
<object class="GtkButton">
|
||||
<property name="focus-on-click">0</property>
|
||||
<property name="icon-name">document-open-symbolic</property>
|
||||
<property name="tooltip-text">Open node file</property>
|
||||
<signal name="clicked" handler="open_cb"/>
|
||||
@@ -109,6 +110,7 @@
|
||||
</child>
|
||||
<child type="start">
|
||||
<object class="GtkButton">
|
||||
<property name="focus-on-click">0</property>
|
||||
<property name="icon-name">document-save-symbolic</property>
|
||||
<property name="tooltip-text">Save to node file</property>
|
||||
<signal name="clicked" handler="save_cb"/>
|
||||
@@ -116,24 +118,30 @@
|
||||
</child>
|
||||
<child type="start">
|
||||
<object class="GtkButton">
|
||||
<property name="focus-on-click">0</property>
|
||||
<property name="icon-name">insert-image-symbolic</property>
|
||||
<property name="tooltip-text">Export to image</property>
|
||||
<signal name="clicked" handler="export_image_cb"/>
|
||||
</object>
|
||||
</child>
|
||||
<child type="start">
|
||||
<object class="GtkSeparator">
|
||||
<property name="orientation">vertical</property>
|
||||
<object class="GtkButton">
|
||||
<property name="focus-on-click">0</property>
|
||||
<property name="icon-name">edit-copy-symbolic</property>
|
||||
<property name="tooltip-text">Copy image to clipboard</property>
|
||||
<signal name="clicked" handler="clip_image_cb"/>
|
||||
</object>
|
||||
</child>
|
||||
<child type="start">
|
||||
<object class="GtkMenuButton">
|
||||
<property name="focus-on-click">0</property>
|
||||
<property name="label">Save Testcase</property>
|
||||
<property name="popover">testcase_popover</property>
|
||||
</object>
|
||||
</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>
|
||||
@@ -141,6 +149,7 @@
|
||||
</child>
|
||||
<child type="end">
|
||||
<object class="GtkToggleButton" id="dark_bg_button">
|
||||
<property name="focus-on-click">0</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="has-frame">0</property>
|
||||
<property name="icon-name">display-brightness-symbolic</property>
|
||||
|
||||
|
After Width: | Height: | Size: 234 B |
|
After Width: | Height: | Size: 231 B |
|
After Width: | Height: | Size: 184 B |
|
After Width: | Height: | Size: 159 B |
|
After Width: | Height: | Size: 165 B |
|
After Width: | Height: | Size: 165 B |
|
After Width: | Height: | Size: 159 B |
|
After Width: | Height: | Size: 119 B |
|
After Width: | Height: | Size: 104 B |
|
After Width: | Height: | Size: 115 B |
|
After Width: | Height: | Size: 117 B |
|
After Width: | Height: | Size: 266 B |
|
After Width: | Height: | Size: 129 B |
|
After Width: | Height: | Size: 200 B |
|
After Width: | Height: | Size: 160 B |
|
After Width: | Height: | Size: 319 B |
|
After Width: | Height: | Size: 263 B |
|
After Width: | Height: | Size: 265 B |
|
After Width: | Height: | Size: 226 B |
|
After Width: | Height: | Size: 157 B |
|
After Width: | Height: | Size: 262 B |
|
After Width: | Height: | Size: 144 B |
|
After Width: | Height: | Size: 283 B |
|
After Width: | Height: | Size: 187 B |
|
After Width: | Height: | Size: 287 B |
|
After Width: | Height: | Size: 358 B |
|
After Width: | Height: | Size: 298 B |
|
After Width: | Height: | Size: 284 B |
|
After Width: | Height: | Size: 223 B |
|
After Width: | Height: | Size: 296 B |
|
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 |
@@ -50,32 +50,19 @@ change_theme_state (GSimpleAction *action,
|
||||
GtkSettings *settings = gtk_settings_get_default ();
|
||||
const char *s;
|
||||
const char *theme;
|
||||
gboolean prefer_dark = FALSE;
|
||||
|
||||
g_simple_action_set_state (action, state);
|
||||
|
||||
s = g_variant_get_string (state, NULL);
|
||||
|
||||
if (strcmp (s, "adwaita") == 0)
|
||||
{
|
||||
theme = "Adwaita";
|
||||
prefer_dark = FALSE;
|
||||
}
|
||||
else if (strcmp (s, "adwaita-dark") == 0)
|
||||
{
|
||||
theme = "Adwaita";
|
||||
prefer_dark = TRUE;
|
||||
}
|
||||
else if (strcmp (s, "highcontrast") == 0)
|
||||
{
|
||||
theme = "HighContrast";
|
||||
prefer_dark = FALSE;
|
||||
}
|
||||
else if (strcmp (s, "highcontrast-inverse") == 0)
|
||||
{
|
||||
theme = "HighContrastInverse";
|
||||
prefer_dark = FALSE;
|
||||
}
|
||||
if (strcmp (s, "default") == 0)
|
||||
theme = "Default";
|
||||
else if (strcmp (s, "dark") == 0)
|
||||
theme = "Default-dark";
|
||||
else if (strcmp (s, "hc") == 0)
|
||||
theme = "Default-hc";
|
||||
else if (strcmp (s, "hc-dark") == 0)
|
||||
theme = "Default-hc-dark";
|
||||
else if (strcmp (s, "current") == 0)
|
||||
{
|
||||
gtk_settings_reset_property (settings, "gtk-theme-name");
|
||||
@@ -87,7 +74,7 @@ change_theme_state (GSimpleAction *action,
|
||||
|
||||
g_object_set (G_OBJECT (settings),
|
||||
"gtk-theme-name", theme,
|
||||
"gtk-application-prefer-dark-theme", prefer_dark,
|
||||
"gtk-application-prefer-dark-theme", FALSE,
|
||||
NULL);
|
||||
}
|
||||
|
||||
@@ -1886,6 +1873,7 @@ set_up_context_popover (GtkWidget *widget,
|
||||
gtk_widget_set_parent (popover, widget);
|
||||
gtk_popover_set_has_arrow (GTK_POPOVER (popover), FALSE);
|
||||
gesture = gtk_gesture_click_new ();
|
||||
gtk_event_controller_set_name (GTK_EVENT_CONTROLLER (gesture), "widget-factory-context-click");
|
||||
gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (gesture), GDK_BUTTON_SECONDARY);
|
||||
g_signal_connect (gesture, "pressed", G_CALLBACK (clicked_cb), popover);
|
||||
gtk_widget_add_controller (widget, GTK_EVENT_CONTROLLER (gesture));
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -15,24 +15,24 @@
|
||||
<attribute name="target">current</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Adwaita</attribute>
|
||||
<attribute name="label" translatable="yes">Default</attribute>
|
||||
<attribute name="action">win.theme</attribute>
|
||||
<attribute name="target">adwaita</attribute>
|
||||
<attribute name="target">default</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Adwaita dark</attribute>
|
||||
<attribute name="label" translatable="yes">Dark</attribute>
|
||||
<attribute name="action">win.theme</attribute>
|
||||
<attribute name="target">adwaita-dark</attribute>
|
||||
<attribute name="target">dark</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">High contrast</attribute>
|
||||
<attribute name="label" translatable="yes">Highcontrast</attribute>
|
||||
<attribute name="action">win.theme</attribute>
|
||||
<attribute name="target">highcontrast</attribute>
|
||||
<attribute name="target">hc</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">High contrast inverse</attribute>
|
||||
<attribute name="label" translatable="yes">Highcontrast inverse</attribute>
|
||||
<attribute name="action">win.theme</attribute>
|
||||
<attribute name="target">highcontrast-inverse</attribute>
|
||||
<attribute name="target">hc-dark</attribute>
|
||||
</item>
|
||||
</section>
|
||||
</submenu>
|
||||
@@ -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>
|
||||
|
||||
@@ -24,17 +24,17 @@ search_index = true
|
||||
[dependencies."Pango-1.0"]
|
||||
name = "Pango"
|
||||
description = "Text shaping and rendering"
|
||||
docs_url = "https://developer.gnome.org/pango/stable"
|
||||
docs_url = "https://docs.gtk.org/Pango/"
|
||||
|
||||
[dependencies."GdkWayland-4.0"]
|
||||
name = "GdkWayland"
|
||||
description = "GDK Wayland Backend"
|
||||
docs_url = "https://gnome.pages.gitlab.gnome.org/gtk/gdk4-wayland/"
|
||||
docs_url = "https://docs.gtk.org/gdk4-wayland/"
|
||||
|
||||
[dependencies."GdkX11-4.0"]
|
||||
name = "GdkX11"
|
||||
description = "GDK X11 Backend"
|
||||
docs_url = "https://gnome.pages.gitlab.gnome.org/gtk/gdk4-x11/"
|
||||
docs_url = "https://docs.gtk.org/gdk4-x11/"
|
||||
|
||||
[theme]
|
||||
name = "basic"
|
||||
|
||||
@@ -14,22 +14,22 @@ search_index = true
|
||||
[dependencies."GObject-2.0"]
|
||||
name = "GObject"
|
||||
description = "The base type system library"
|
||||
docs_url = "https://developer.gnome.org/gobject/stable"
|
||||
docs_url = "https://developer.gnome.org/gobject/stable/"
|
||||
|
||||
[dependencies."Graphene-1.0"]
|
||||
name = "Graphene"
|
||||
description = "A thin layer of mathematical types for 3D libraries"
|
||||
docs_url = "https://ebassi.github.io/graphene/docs"
|
||||
docs_url = "https://ebassi.github.io/graphene/docs/"
|
||||
|
||||
[dependencies."Pango-1.0"]
|
||||
name = "Pango"
|
||||
description = "Text shaping and rendering"
|
||||
docs_url = "https://developer.gnome.org/pango/stable"
|
||||
docs_url = "https://docs.gtk.org/Pango/"
|
||||
|
||||
[dependencies."Gdk-4.0"]
|
||||
name = "GDK"
|
||||
description = "The GTK windowing system abstraction"
|
||||
docs_url = "https://gnome.pages.gitlab.gnome.org/gtk/gdk4/"
|
||||
docs_url = "https://docs.gtk.org/gdk4/"
|
||||
|
||||
[theme]
|
||||
name = "basic"
|
||||
|
||||
@@ -3,27 +3,29 @@ Slug: broadway
|
||||
|
||||
## Using GTK with Broadway
|
||||
|
||||
The GDK Broadway backend provides support for displaying GTK
|
||||
applications in a web browser, using HTML5 and web sockets. To run
|
||||
your application in this way, select the Broadway backend by setting
|
||||
`GDK_BACKEND=broadway`. Then you can make your application appear in
|
||||
a web browser by pointing it at `http://127.0.0.1:8080`. Note that
|
||||
you need to enable web sockets in your web browser.
|
||||
The GDK Broadway backend provides support for displaying GTK applications in
|
||||
a web browser, using HTML5 and web sockets.
|
||||
|
||||
You can choose a different port from the default 8080 by setting
|
||||
the `BROADWAY_DISPLAY` environment variable to the port that you
|
||||
want to use.
|
||||
To run your application in this way, select the Broadway backend by setting
|
||||
`GDK_BACKEND=broadway`. Then you can make your application appear in a web
|
||||
browser by pointing it at `http://127.0.0.1:8080`. Note that you need to
|
||||
enable web sockets in your web browser.
|
||||
|
||||
It is also possible to use multiple GTK applications in the same
|
||||
web browser window, by using the Broadway server, `broadwayd`, that
|
||||
ships with GTK. To use broadwayd, start it like this:
|
||||
You can choose a different port from the default 8080 by setting the
|
||||
`BROADWAY_DISPLAY` environment variable to the port that you want to use.
|
||||
|
||||
It is also possible to use multiple GTK applications in the same web browser
|
||||
window, by using the Broadway server, `gtk4-broadwayd`, that ships with GTK.
|
||||
To start the Broadway server use:
|
||||
|
||||
```
|
||||
broadwayd :5
|
||||
gtk4-broadwayd :5
|
||||
```
|
||||
|
||||
Then point your web browser at `http://127.0.0.1:8085`.
|
||||
Start your applications like this:
|
||||
|
||||
Once the Broadway server is running, you can start your applications like
|
||||
this:
|
||||
|
||||
```
|
||||
GDK_BACKEND=broadway BROADWAY_DISPLAY=:5 gtk4-demo
|
||||
@@ -31,9 +33,13 @@ GDK_BACKEND=broadway BROADWAY_DISPLAY=:5 gtk4-demo
|
||||
|
||||
## Broadway-specific environment variables
|
||||
|
||||
### BROADWAY\_DISPLAY
|
||||
### `BROADWAY_DISPLAY`
|
||||
|
||||
Specifies the Broadway display number. The default display is 0.
|
||||
The display number determines the port to use when connecting
|
||||
to a Broadway application via the following formula:
|
||||
`port = 8080 + display`
|
||||
|
||||
The display number determines the port to use when connecting to a Broadway
|
||||
application via the following formula:
|
||||
|
||||
```
|
||||
port = 8080 + display
|
||||
```
|
||||
|
||||
@@ -24,17 +24,17 @@ search_index = true
|
||||
[dependencies."Pango-1.0"]
|
||||
name = "Pango"
|
||||
description = "Text shaping and rendering"
|
||||
docs_url = "https://developer.gnome.org/pango/stable"
|
||||
docs_url = "https://docs.gtk.org/Pango/"
|
||||
|
||||
[dependencies."Gdk-4.0"]
|
||||
name = "GDK"
|
||||
description = "The GTK windowing system abstraction"
|
||||
docs_url = "https://gnome.pages.gitlab.gnome.org/gtk/gdk4/"
|
||||
docs_url = "https://docs.gtk.org/gdk4/"
|
||||
|
||||
[dependencies."Gsk-4.0"]
|
||||
name = "GSK"
|
||||
description = "The GTK rendering abstraction"
|
||||
docs_url = "https://gnome.pages.gitlab.gnome.org/gtk/gsk4/"
|
||||
docs_url = "https://docs.gtk.org/gsk4/"
|
||||
|
||||
[theme]
|
||||
name = "basic"
|
||||
|
||||
@@ -349,7 +349,7 @@ gdk_content_provider_union_get_value (GdkContentProvider *provider,
|
||||
g_clear_error (&provider_error);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
return GDK_CONTENT_PROVIDER_CLASS (gdk_content_provider_union_parent_class)->get_value (provider, value, error);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -965,6 +965,7 @@ init (void)
|
||||
string_serializer,
|
||||
(gpointer) charset,
|
||||
NULL);
|
||||
g_free (mime);
|
||||
}
|
||||
gdk_content_register_serializer (G_TYPE_STRING,
|
||||
"text/plain",
|
||||
|
||||
@@ -1381,3 +1381,33 @@ gdk_device_has_bidi_layouts (GdkDevice *device)
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
gdk_device_set_timestamp (GdkDevice *device,
|
||||
guint32 timestamp)
|
||||
{
|
||||
device->timestamp = timestamp;
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_device_get_timestamp:
|
||||
* @device: a `GdkDevice`
|
||||
*
|
||||
* Returns the timestamp of the last activity for this device.
|
||||
*
|
||||
* In practice, this means the timestamp of the last event that was
|
||||
* received from the OS for this device. (GTK may occasionally produce
|
||||
* events for a device that are not received from the OS, and will not
|
||||
* update the timestamp).
|
||||
*
|
||||
* Returns: the timestamp of the last activity for this device
|
||||
*
|
||||
* Since: 4.2
|
||||
*/
|
||||
guint32
|
||||
gdk_device_get_timestamp (GdkDevice *device)
|
||||
{
|
||||
g_return_val_if_fail (GDK_IS_DEVICE (device), GDK_CURRENT_TIME);
|
||||
|
||||
return device->timestamp;
|
||||
}
|
||||
|
||||
@@ -117,6 +117,9 @@ GDK_AVAILABLE_IN_ALL
|
||||
GdkSurface * gdk_device_get_surface_at_position (GdkDevice *device,
|
||||
double *win_x,
|
||||
double *win_y);
|
||||
|
||||
GDK_AVAILABLE_IN_4_2
|
||||
guint32 gdk_device_get_timestamp (GdkDevice *device);
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GDK_DEVICE_H__ */
|
||||
|
||||
@@ -89,6 +89,8 @@ struct _GdkDevice
|
||||
|
||||
GdkSeat *seat;
|
||||
GdkDeviceTool *last_tool;
|
||||
|
||||
guint32 timestamp;
|
||||
};
|
||||
|
||||
struct _GdkDeviceClass
|
||||
@@ -189,6 +191,9 @@ gboolean gdk_device_get_axis (GdkDevice *device,
|
||||
GdkAxisUse gdk_device_get_axis_use (GdkDevice *device,
|
||||
guint index_);
|
||||
|
||||
void gdk_device_set_timestamp (GdkDevice *device,
|
||||
guint32 timestamp);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
||||
@@ -414,6 +414,9 @@ gdk_event_alloc (GdkEventType event_type,
|
||||
event->device = device != NULL ? g_object_ref (device) : NULL;
|
||||
event->time = time_;
|
||||
|
||||
if (device != NULL && time_ != GDK_CURRENT_TIME)
|
||||
gdk_device_set_timestamp (device, time_);
|
||||
|
||||
return event;
|
||||
}
|
||||
|
||||
|
||||
@@ -1299,12 +1299,11 @@ gdk_surface_schedule_update (GdkSurface *surface)
|
||||
|
||||
g_return_if_fail (surface);
|
||||
|
||||
surface->pending_phases |= GDK_FRAME_CLOCK_PHASE_PAINT;
|
||||
|
||||
if (surface->update_freeze_count ||
|
||||
gdk_surface_is_toplevel_frozen (surface))
|
||||
{
|
||||
surface->pending_phases |= GDK_FRAME_CLOCK_PHASE_PAINT;
|
||||
return;
|
||||
}
|
||||
return;
|
||||
|
||||
/* If there's no frame clock (a foreign surface), then the invalid
|
||||
* region will just stick around unless gdk_surface_process_updates()
|
||||
@@ -2248,13 +2247,18 @@ _gdk_windowing_got_event (GdkDisplay *display,
|
||||
GdkPointerSurfaceInfo *pointer_info = NULL;
|
||||
GdkDevice *device;
|
||||
GdkEventType type;
|
||||
guint32 timestamp;
|
||||
|
||||
_gdk_display_update_last_event (display, event);
|
||||
|
||||
device = gdk_event_get_device (event);
|
||||
timestamp = gdk_event_get_time (event);
|
||||
|
||||
if (device)
|
||||
{
|
||||
if (timestamp != GDK_CURRENT_TIME)
|
||||
gdk_device_set_timestamp (device, timestamp);
|
||||
|
||||
if (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD &&
|
||||
gdk_device_get_source (device) != GDK_SOURCE_TABLET_PAD)
|
||||
{
|
||||
|
||||
@@ -848,7 +848,12 @@ gdk_wayland_device_pad_get_n_groups (GdkDevicePad *pad)
|
||||
|
||||
data = gdk_wayland_seat_find_pad (GDK_WAYLAND_SEAT (seat),
|
||||
GDK_DEVICE (pad));
|
||||
#ifdef G_DISABLE_ASSERT
|
||||
if (data == NULL)
|
||||
return 0;
|
||||
#else
|
||||
g_assert (data != NULL);
|
||||
#endif
|
||||
|
||||
return g_list_length (data->mode_groups);
|
||||
}
|
||||
@@ -863,7 +868,12 @@ gdk_wayland_device_pad_get_group_n_modes (GdkDevicePad *pad,
|
||||
|
||||
data = gdk_wayland_seat_find_pad (GDK_WAYLAND_SEAT (seat),
|
||||
GDK_DEVICE (pad));
|
||||
#ifdef G_DISABLE_ASSERT
|
||||
if (data == NULL)
|
||||
return 0;
|
||||
#else
|
||||
g_assert (data != NULL);
|
||||
#endif
|
||||
|
||||
group = g_list_nth_data (data->mode_groups, n_group);
|
||||
if (!group)
|
||||
@@ -909,7 +919,12 @@ gdk_wayland_device_pad_get_feature_group (GdkDevicePad *pad,
|
||||
|
||||
data = gdk_wayland_seat_find_pad (GDK_WAYLAND_SEAT (seat),
|
||||
GDK_DEVICE (pad));
|
||||
#ifdef G_DISABLE_ASSERT
|
||||
if (data == NULL)
|
||||
return -1;
|
||||
#else
|
||||
g_assert (data != NULL);
|
||||
#endif
|
||||
|
||||
for (l = data->mode_groups, i = 0; l; l = l->next, i++)
|
||||
{
|
||||
@@ -4236,7 +4251,14 @@ tablet_pad_handle_button (void *data,
|
||||
wp_tablet_pad, button, state));
|
||||
|
||||
group = tablet_pad_lookup_button_group (pad, button);
|
||||
|
||||
#ifdef G_DISABLE_ASSERT
|
||||
if (group == NULL)
|
||||
return;
|
||||
#else
|
||||
g_assert (group != NULL);
|
||||
#endif
|
||||
|
||||
n_group = g_list_index (pad->mode_groups, group);
|
||||
|
||||
event = gdk_pad_event_new_button (state == ZWP_TABLET_PAD_V2_BUTTON_STATE_PRESSED
|
||||
|
||||
@@ -58,6 +58,19 @@
|
||||
|
||||
#include "gdk/gdk-private.h"
|
||||
|
||||
/* Keep g_assert() defined even if we disable it globally,
|
||||
* as we use it in many places as a handy mechanism to check
|
||||
* for non-NULL
|
||||
*/
|
||||
#ifdef G_DISABLE_ASSERT
|
||||
# undef g_assert
|
||||
# define g_assert(expr) G_STMT_START { \
|
||||
if G_LIKELY (expr) ; else \
|
||||
g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
|
||||
#expr); \
|
||||
} G_STMT_END
|
||||
#endif
|
||||
|
||||
/**
|
||||
* GdkWaylandDisplay:
|
||||
*
|
||||
@@ -488,26 +501,19 @@ gdk_registry_handle_global (void *data,
|
||||
}
|
||||
else if (strcmp (interface, "wl_seat") == 0)
|
||||
{
|
||||
SeatAddedClosure *closure;
|
||||
static const char *required_device_manager_globals[] = {
|
||||
"wl_compositor",
|
||||
"wl_data_device_manager",
|
||||
NULL
|
||||
};
|
||||
|
||||
if (has_required_globals (display_wayland,
|
||||
required_device_manager_globals))
|
||||
_gdk_wayland_display_add_seat (display_wayland, id, version);
|
||||
else
|
||||
{
|
||||
SeatAddedClosure *closure;
|
||||
|
||||
closure = g_new0 (SeatAddedClosure, 1);
|
||||
closure->base.handler = seat_added_closure_run;
|
||||
closure->base.required_globals = required_device_manager_globals;
|
||||
closure->id = id;
|
||||
closure->version = version;
|
||||
postpone_on_globals_closure (display_wayland, &closure->base);
|
||||
}
|
||||
closure = g_new0 (SeatAddedClosure, 1);
|
||||
closure->base.handler = seat_added_closure_run;
|
||||
closure->base.required_globals = required_device_manager_globals;
|
||||
closure->id = id;
|
||||
closure->version = version;
|
||||
postpone_on_globals_closure (display_wayland, &closure->base);
|
||||
}
|
||||
else if (strcmp (interface, "wl_data_device_manager") == 0)
|
||||
{
|
||||
@@ -586,8 +592,6 @@ gdk_registry_handle_global (void *data,
|
||||
|
||||
g_hash_table_insert (display_wayland->known_globals,
|
||||
GUINT_TO_POINTER (id), g_strdup (interface));
|
||||
|
||||
process_on_globals_closures (display_wayland);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -679,8 +683,13 @@ _gdk_wayland_display_open (const char *display_name)
|
||||
|
||||
display_wayland->wl_registry = wl_display_get_registry (display_wayland->wl_display);
|
||||
wl_registry_add_listener (display_wayland->wl_registry, ®istry_listener, display_wayland);
|
||||
if (wl_display_roundtrip (display_wayland->wl_display) < 0)
|
||||
{
|
||||
g_object_unref (display);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
_gdk_wayland_display_async_roundtrip (display_wayland);
|
||||
process_on_globals_closures (display_wayland);
|
||||
|
||||
/* Wait for initializing to complete. This means waiting for all
|
||||
* asynchronous roundtrips that were triggered during initial roundtrip. */
|
||||
@@ -1712,13 +1721,13 @@ static TranslationEntry translations[] = {
|
||||
{ FALSE, "org.gnome.desktop.privacy", "recent-files-max-age", "gtk-recent-files-max-age", G_TYPE_INT, { .i = 30 } },
|
||||
{ FALSE, "org.gnome.desktop.privacy", "remember-recent-files", "gtk-recent-files-enabled", G_TYPE_BOOLEAN, { .b = TRUE } },
|
||||
{ FALSE, "org.gnome.desktop.wm.preferences", "button-layout", "gtk-decoration-layout", G_TYPE_STRING, { .s = "menu:close" } },
|
||||
{ FALSE, "org.gnome.desktop.interface", "font-antialiasing", "gtk-xft-antialias", G_TYPE_NONE, { .i = 0 } },
|
||||
{ FALSE, "org.gnome.desktop.interface", "font-hinting", "gtk-xft-hinting", G_TYPE_NONE, { .i = 0 } },
|
||||
{ FALSE, "org.gnome.desktop.interface", "font-hinting", "gtk-xft-hintstyle", G_TYPE_NONE, { .i = 0 } },
|
||||
{ FALSE, "org.gnome.desktop.interface", "font-antialiasing", "gtk-xft-antialias", G_TYPE_NONE, { .i = 1 } },
|
||||
{ FALSE, "org.gnome.desktop.interface", "font-hinting", "gtk-xft-hinting", G_TYPE_NONE, { .i = 1 } },
|
||||
{ FALSE, "org.gnome.desktop.interface", "font-hinting", "gtk-xft-hintstyle", G_TYPE_NONE, { .i = 1 } },
|
||||
{ FALSE, "org.gnome.desktop.interface", "font-rgba-order", "gtk-xft-rgba", G_TYPE_NONE, { .i = 0 } },
|
||||
{ FALSE, "org.gnome.settings-daemon.plugins.xsettings", "antialiasing", "gtk-xft-antialias", G_TYPE_NONE, { .i = 0 } },
|
||||
{ FALSE, "org.gnome.settings-daemon.plugins.xsettings", "hinting", "gtk-xft-hinting", G_TYPE_NONE, { .i = 0 } },
|
||||
{ FALSE, "org.gnome.settings-daemon.plugins.xsettings", "hinting", "gtk-xft-hintstyle", G_TYPE_NONE, { .i = 0 } },
|
||||
{ FALSE, "org.gnome.settings-daemon.plugins.xsettings", "antialiasing", "gtk-xft-antialias", G_TYPE_NONE, { .i = 1 } },
|
||||
{ FALSE, "org.gnome.settings-daemon.plugins.xsettings", "hinting", "gtk-xft-hinting", G_TYPE_NONE, { .i = 1 } },
|
||||
{ FALSE, "org.gnome.settings-daemon.plugins.xsettings", "hinting", "gtk-xft-hintstyle", G_TYPE_NONE, { .i = 1 } },
|
||||
{ FALSE, "org.gnome.settings-daemon.plugins.xsettings", "rgba-order", "gtk-xft-rgba", G_TYPE_NONE, { .i = 0 } },
|
||||
{ FALSE, "org.gnome.desktop.interface", "text-scaling-factor", "gtk-xft-dpi" , G_TYPE_NONE, { .i = 0 } }, /* We store the factor as 16.16 */
|
||||
{ FALSE, "org.gnome.desktop.wm.preferences", "action-double-click-titlebar", "gtk-titlebar-double-click", G_TYPE_STRING, { .s = "toggle-maximize" } },
|
||||
@@ -1921,6 +1930,14 @@ init_settings (GdkDisplay *display)
|
||||
|
||||
g_variant_get (ret, "(a{sa{sv}})", &iter);
|
||||
|
||||
if (g_variant_n_children (ret) == 0)
|
||||
{
|
||||
g_debug ("Received no portal settings");
|
||||
g_clear_pointer (&ret, g_variant_unref);
|
||||
|
||||
goto fallback;
|
||||
}
|
||||
|
||||
while (g_variant_iter_loop (iter, "{s@a{sv}}", &schema_str, &val))
|
||||
{
|
||||
GVariantIter *iter2 = g_variant_iter_new (val);
|
||||
|
||||
@@ -45,7 +45,7 @@ xml = '''<?xml version='1.0' encoding='UTF-8'?>
|
||||
'''
|
||||
|
||||
for f in gl_source_shaders:
|
||||
xml += ' <file alias=\'glsl/{0}\'>resources/glsl/{0}</file>\n'.format(os.path.basename(f))
|
||||
xml += ' <file alias=\'gl/{0}\'>gl/resources/{0}</file>\n'.format(os.path.basename(f))
|
||||
|
||||
xml += '\n'
|
||||
|
||||
@@ -55,12 +55,12 @@ for f in ngl_source_shaders:
|
||||
xml += '\n'
|
||||
|
||||
for f in vulkan_compiled_shaders:
|
||||
xml += ' <file alias=\'vulkan/{0}\'>resources/vulkan/{0}</file>\n'.format(os.path.basename(f))
|
||||
xml += ' <file alias=\'vulkan/{0}\'>vulkan/resources/{0}</file>\n'.format(os.path.basename(f))
|
||||
|
||||
xml += '\n'
|
||||
|
||||
for f in vulkan_shaders:
|
||||
xml += ' <file alias=\'vulkan/{0}\'>resources/vulkan/{0}</file>\n'.format(os.path.basename(f))
|
||||
xml += ' <file alias=\'vulkan/{0}\'>vulkan/resources/{0}</file>\n'.format(os.path.basename(f))
|
||||
|
||||
xml += '''
|
||||
</gresource>
|
||||
|
||||