summaryrefslogtreecommitdiff
path: root/portage
diff options
context:
space:
mode:
Diffstat (limited to 'portage')
-rw-r--r--portage/etc/portage/package.accept_keywords/badwolf1
-rw-r--r--portage/etc/portage/package.accept_keywords/waypaper5
-rw-r--r--portage/etc/portage/package.use/libreoffice1
-rw-r--r--portage/etc/portage/package.use/qutebrowser1
-rw-r--r--portage/etc/portage/package.use/waypaper1
-rw-r--r--portage/etc/portage/package.use/zz-autounmask111
-rw-r--r--portage/etc/portage/savedconfig/www-client/badwolf-1.4.0-r2117
-rw-r--r--portage/etc/portage/savedconfig/www-client/surf-2.1-r3192
-rw-r--r--portage/etc/portage/savedconfig/x11-misc/dmenu-5.423
-rw-r--r--portage/etc/portage/savedconfig/x11-terms/st-0.9.3474
-rw-r--r--portage/var/lib/portage/world11
11 files changed, 934 insertions, 3 deletions
diff --git a/portage/etc/portage/package.accept_keywords/badwolf b/portage/etc/portage/package.accept_keywords/badwolf
new file mode 100644
index 0000000..dcf5199
--- /dev/null
+++ b/portage/etc/portage/package.accept_keywords/badwolf
@@ -0,0 +1 @@
+www-client/badwolf
diff --git a/portage/etc/portage/package.accept_keywords/waypaper b/portage/etc/portage/package.accept_keywords/waypaper
new file mode 100644
index 0000000..c8d3e43
--- /dev/null
+++ b/portage/etc/portage/package.accept_keywords/waypaper
@@ -0,0 +1,5 @@
+gui-apps/waypaper ~amd64
+dev-python/imageio ~amd64
+dev-python/imageio-ffmpeg ~amd64
+dev-python/imageio-ffmpeg ~amd64
+dev-python/screeninfo ~amd64
diff --git a/portage/etc/portage/package.use/libreoffice b/portage/etc/portage/package.use/libreoffice
new file mode 100644
index 0000000..eda0a78
--- /dev/null
+++ b/portage/etc/portage/package.use/libreoffice
@@ -0,0 +1 @@
+app-office/libreoffice l10n_ru
diff --git a/portage/etc/portage/package.use/qutebrowser b/portage/etc/portage/package.use/qutebrowser
new file mode 100644
index 0000000..a4db9cf
--- /dev/null
+++ b/portage/etc/portage/package.use/qutebrowser
@@ -0,0 +1 @@
+>=dev-python/pyqt6-6.11.0-r1 webchannel
diff --git a/portage/etc/portage/package.use/waypaper b/portage/etc/portage/package.use/waypaper
new file mode 100644
index 0000000..eb72065
--- /dev/null
+++ b/portage/etc/portage/package.use/waypaper
@@ -0,0 +1 @@
+gui-apps/waypaper python_targets_python3_12
diff --git a/portage/etc/portage/package.use/zz-autounmask b/portage/etc/portage/package.use/zz-autounmask
index 4b6f92b..622a6b5 100644
--- a/portage/etc/portage/package.use/zz-autounmask
+++ b/portage/etc/portage/package.use/zz-autounmask
@@ -7,6 +7,7 @@
# required by dev-qt/qtmultimedia-6.11.1::gentoo[qml]
# required by kde-apps/dolphin-26.04.3::gentoo
# required by kde-apps/dolphin (argument)
+>=dev-python/pyqt6-6.11.0-r1 quick
>=sys-libs/zlib-1.3.2-r1 minizip
# required by x11-libs/cairo-1.18.4-r1::gentoo
# required by media-libs/harfbuzz-12.3.2::gentoo[cairo]
@@ -476,3 +477,113 @@ x11-libs/libX11 abi_x86_32
x11-libs/libXext abi_x86_32
x11-libs/libGL abi_x86_32
media-libs/libglvnd abi_x86_32
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/pygobject-3.56.3 python_targets_python3_12
+# required by dev-python/imageio-2.37.4::gentoo
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/pillow-12.3.0 python_targets_python3_12
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/imageio-2.37.4 python_targets_python3_12
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/imageio-ffmpeg-0.6.0 python_targets_python3_12
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/screeninfo-0.8.1 python_targets_python3_12
+# required by dev-python/screeninfo-0.8.1::guru
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/poetry-core-2.4.1 python_targets_python3_12
+# required by dev-python/poetry-core-2.4.1::gentoo
+# required by dev-python/screeninfo-0.8.1::guru
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/fastjsonschema-2.21.2 python_targets_python3_12
+# required by dev-python/poetry-core-2.4.1::gentoo
+# required by dev-python/screeninfo-0.8.1::guru
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/lark-1.3.1 python_targets_python3_12
+# required by dev-python/imageio-2.37.4::gentoo
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/numpy-2.5.1 python_targets_python3_12
+# required by dev-python/numpy-2.5.1::gentoo
+# required by dev-python/imageio-2.37.4::gentoo
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/cython-3.2.8 python_targets_python3_12
+# required by dev-python/numpy-2.5.1::gentoo
+# required by dev-python/imageio-2.37.4::gentoo
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/meson-python-0.20.0 python_targets_python3_12
+# required by dev-python/meson-python-0.20.0::gentoo[-test]
+# required by dev-python/numpy-2.5.1::gentoo
+# required by dev-python/imageio-2.37.4::gentoo
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/pyproject-metadata-0.12.1 python_targets_python3_12
+# required by dev-python/pillow-12.3.0::gentoo
+# required by dev-python/imageio-2.37.4::gentoo
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/olefile-0.47 python_targets_python3_12
+# required by dev-python/pillow-12.3.0::gentoo
+# required by dev-python/imageio-2.37.4::gentoo
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/pybind11-3.0.4 python_targets_python3_12
+# required by dev-python/pybind11-3.0.4::gentoo
+# required by dev-python/pillow-12.3.0::gentoo
+# required by dev-python/imageio-2.37.4::gentoo
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/scikit-build-core-1.0.3 python_targets_python3_12
+# required by dev-python/scikit-build-core-1.0.3::gentoo
+# required by dev-python/pybind11-3.0.4::gentoo
+# required by dev-python/pillow-12.3.0::gentoo
+# required by dev-python/imageio-2.37.4::gentoo
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/pathspec-1.1.1 python_targets_python3_12
+# required by dev-python/scikit-build-core-1.0.3::gentoo
+# required by dev-python/pybind11-3.0.4::gentoo
+# required by dev-python/pillow-12.3.0::gentoo
+# required by dev-python/imageio-2.37.4::gentoo
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/hatch-vcs-0.5.0 python_targets_python3_12
+# required by dev-python/hatch-vcs-0.5.0::gentoo
+# required by dev-python/scikit-build-core-1.0.3::gentoo
+# required by dev-python/pybind11-3.0.4::gentoo
+# required by dev-python/pillow-12.3.0::gentoo
+# required by dev-python/imageio-2.37.4::gentoo
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/hatchling-1.31.0 python_targets_python3_12
+# required by dev-python/hatchling-1.31.0::gentoo
+# required by dev-python/hatch-vcs-0.5.0::gentoo
+# required by dev-python/scikit-build-core-1.0.3::gentoo
+# required by dev-python/pybind11-3.0.4::gentoo
+# required by dev-python/pillow-12.3.0::gentoo
+# required by dev-python/imageio-2.37.4::gentoo
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/editables-0.6 python_targets_python3_12
+# required by dev-python/hatchling-1.31.0::gentoo
+# required by dev-python/hatch-vcs-0.5.0::gentoo
+# required by dev-python/scikit-build-core-1.0.3::gentoo
+# required by dev-python/pybind11-3.0.4::gentoo
+# required by dev-python/pillow-12.3.0::gentoo
+# required by dev-python/imageio-2.37.4::gentoo
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/pluggy-1.6.0 python_targets_python3_12
+# required by dev-python/pygobject-3.56.3::gentoo[cairo]
+# required by gui-apps/waypaper-2.7-r1::guru
+# required by gui-apps/waypaper (argument)
+>=dev-python/pycairo-1.29.0-r1 python_targets_python3_12
diff --git a/portage/etc/portage/savedconfig/www-client/badwolf-1.4.0-r2 b/portage/etc/portage/savedconfig/www-client/badwolf-1.4.0-r2
new file mode 100644
index 0000000..c3d5177
--- /dev/null
+++ b/portage/etc/portage/savedconfig/www-client/badwolf-1.4.0-r2
@@ -0,0 +1,117 @@
+// SPDX-FileCopyrightText: 2019-2022 Badwolf Authors <https://hacktivis.me/projects/badwolf>
+// SPDX-License-Identifier: BSD-3-Clause
+
+#ifndef CONFIG_H_INCLUDED
+#define CONFIG_H_INCLUDED
+/* BADWOLF_TAB_POSITION: Position of the tab listing, can be one of:
+ * - GTK_POS_TOP
+ * - GTK_POS_BOTTOM
+ * - GTK_POS_RIGHT
+ * - GTK_POS_LEFT
+ *
+ * See https://docs.gtk.org/gtk3/enum.PositionType.html
+ */
+#define BADWOLF_TAB_POSITION GTK_POS_TOP
+
+/* BADWOLF_TAB_LABEL_CHARWIDTH: Amount of characters the tab label text fits
+ * Quite conflicts with BADWOLF_TAB_BOX_WIDTH, recommended to only define one
+ */
+#define BADWOLF_TAB_LABEL_CHARWIDTH 26
+
+/* BADWOLF_TAB_BOX_WIDTH: Requested width (in pixels) for the whole tab
+ * Quite conflicts with BADWOLF_TAB_LABEL_CHARWIDTH, recommended to only define one
+ */
+//#define BADWOLF_TAB_BOX_WIDTH 120
+
+// BADWOLF_TAB_HEXPAND: Should the tab try to fill the available horizontal space?
+#define BADWOLF_TAB_HEXPAND FALSE
+
+/* BADWOLF_TAB_LABEL_ELLIPSIZE: pango ellipsize mode of the tab label text, can be one of:
+ * - PANGO_ELLIPSIZE_NONE
+ * - PANGO_ELLIPSIZE_START
+ * - PANGO_ELLIPSIZE_MIDDLE
+ * - PANGO_ELLIPSIZE_END
+ *
+ * See https://docs.gtk.org/Pango/enum.EllipsizeMode.html
+ */
+#define BADWOLF_TAB_LABEL_ELLIPSIZE PANGO_ELLIPSIZE_MIDDLE
+
+// BADWOLF_BOX_PADDING: Amount of padding between browser’s box (tab child) elements
+#define BADWOLF_BOX_PADDING 0
+
+// BADWOLF_TOOLBAR_PADDING: Amount of padding between toolbar elements
+#define BADWOLF_TOOLBAR_PADDING 0
+
+// BADWOLF_TOOLBAR_PADDING: Amount of padding between toolbar elements
+#define BADWOLF_TOOLBAR_SEPARATOR_PADDING 4
+
+// BADWOLF_STATUSBAR_PADDING: Amount of padding between statusbar elements
+#define BADWOLF_STATUSBAR_PADDING 0
+
+// BADWOLF_DOWNLOAD_PADDING: Amount of padding between download list row-elements
+#define BADWOLF_DOWNLOAD_PADDING 5
+
+/* BADWOLF_DEFAULT_WIDTH / BADWOLF_DEFAULT_HEIGHT:
+ * Used to define the default width/height of the window,
+ * useful for floating Window Managers, probably useless in tiling ones
+ *
+ * See https://docs.gtk.org/gtk3/method.Window.set_default_size.html
+ */
+#define BADWOLF_DEFAULT_WIDTH 800
+#define BADWOLF_DEFAULT_HEIGHT 600
+
+/* BADWOLF_WEBKIT_SETTINGS:
+ * Used when creating a new view with webkit_settings_new_with_settings the usage is:
+ * setting-name, setting-value, setting-name, …, NULL
+ *
+ * See: https://webkitgtk.org/reference/webkit2gtk/stable/class.Settings.html#properties
+ */
+// clang-format off
+#define BADWOLF_WEBKIT_SETTINGS \
+ "default-charset", "utf-8", \
+ "enable-caret-browsing", FALSE, \
+ "enable-developer-extras", TRUE, \
+ "enable-dns-prefetching", FALSE, \
+ "enable-hyperlink-auditing", FALSE, \
+ "enable-java", FALSE, \
+ "enable-javascript-markup", FALSE, \
+ "enable-javascript", TRUE, \
+ "enable-plugins", FALSE, \
+ "javascript-can-access-clipboard", FALSE, \
+ "javascript-can-open-windows-automatically", FALSE, \
+ "media-playback-requires-user-gesture", TRUE, \
+ "minimum-font-size", 9, \
+ "allow-top-navigation-to-data-urls", FALSE, \
+ NULL
+// clang-format on
+
+/* BADWOLF_STATUSLABEL_ELLIPSIZE: pango ellipsize mode of the status bar label text, can be one of:
+ * - PANGO_ELLIPSIZE_NONE
+ * - PANGO_ELLIPSIZE_START
+ * - PANGO_ELLIPSIZE_MIDDLE
+ * - PANGO_ELLIPSIZE_END
+ *
+ * See https://docs.gtk.org/Pango/enum.EllipsizeMode.html
+ */
+#define BADWOLF_STATUSLABEL_ELLIPSIZE PANGO_ELLIPSIZE_MIDDLE
+
+/* BADWOLF_DOWNLOAD_FILE_PATH_ELLIPSIZE: pango ellipsize mode of the download destination path,
+ * can be one of:
+ * - PANGO_ELLIPSIZE_NONE
+ * - PANGO_ELLIPSIZE_START
+ * - PANGO_ELLIPSIZE_MIDDLE
+ * - PANGO_ELLIPSIZE_END
+ *
+ * See https://docs.gtk.org/Pango/enum.EllipsizeMode.html
+ */
+#define BADWOLF_DOWNLOAD_FILE_PATH_ELLIPSIZE PANGO_ELLIPSIZE_MIDDLE
+
+// BADWOLF_LOCATION_INLINE_SELECTION: show selected completion as a selection in location entry
+#define BADWOLF_LOCATION_INLINE_SELECTION TRUE
+
+// BADWOLF_MAN_HTML_CMD: Command to render manpages to HTML.
+// Needs to support `[section] name` as additional arguments.
+// Default one made for mandoc
+#define BADWOLF_MAN_HTML_CMD "man", "-Thtml", "-Oman=man:%N.%S", "-Otoc"
+
+#endif /* CONFIG_H_INCLUDED */
diff --git a/portage/etc/portage/savedconfig/www-client/surf-2.1-r3 b/portage/etc/portage/savedconfig/www-client/surf-2.1-r3
new file mode 100644
index 0000000..ef44721
--- /dev/null
+++ b/portage/etc/portage/savedconfig/www-client/surf-2.1-r3
@@ -0,0 +1,192 @@
+/* modifier 0 means no modifier */
+static int surfuseragent = 1; /* Append Surf version to default WebKit user agent */
+static char *fulluseragent = ""; /* Or override the whole user agent string */
+static char *scriptfile = "~/.surf/script.js";
+static char *styledir = "~/.surf/styles/";
+static char *certdir = "~/.surf/certificates/";
+static char *cachedir = "~/.surf/cache/";
+static char *cookiefile = "~/.surf/cookies.txt";
+
+/* Webkit default features */
+/* Highest priority value will be used.
+ * Default parameters are priority 0
+ * Per-uri parameters are priority 1
+ * Command parameters are priority 2
+ */
+static Parameter defconfig[ParameterLast] = {
+ /* parameter Arg value priority */
+ [AccessMicrophone] = { { .i = 0 }, },
+ [AccessWebcam] = { { .i = 0 }, },
+ [Certificate] = { { .i = 0 }, },
+ [CaretBrowsing] = { { .i = 0 }, },
+ [CookiePolicies] = { { .v = "@Aa" }, },
+ [DefaultCharset] = { { .v = "UTF-8" }, },
+ [DiskCache] = { { .i = 1 }, },
+ [DNSPrefetch] = { { .i = 0 }, },
+ [Ephemeral] = { { .i = 0 }, },
+ [FileURLsCrossAccess] = { { .i = 0 }, },
+ [FontSize] = { { .i = 12 }, },
+ [FrameFlattening] = { { .i = 0 }, },
+ [Geolocation] = { { .i = 0 }, },
+ [HideBackground] = { { .i = 0 }, },
+ [Inspector] = { { .i = 0 }, },
+ [Java] = { { .i = 1 }, },
+ [JavaScript] = { { .i = 1 }, },
+ [KioskMode] = { { .i = 0 }, },
+ [LoadImages] = { { .i = 1 }, },
+ [MediaManualPlay] = { { .i = 1 }, },
+ [PreferredLanguages] = { { .v = (char *[]){ NULL } }, },
+ [RunInFullscreen] = { { .i = 0 }, },
+ [ScrollBars] = { { .i = 1 }, },
+ [ShowIndicators] = { { .i = 1 }, },
+ [SiteQuirks] = { { .i = 1 }, },
+ [SmoothScrolling] = { { .i = 0 }, },
+ [SpellChecking] = { { .i = 0 }, },
+ [SpellLanguages] = { { .v = ((char *[]){ "en_US", NULL }) }, },
+ [StrictTLS] = { { .i = 1 }, },
+ [Style] = { { .i = 1 }, },
+ [WebGL] = { { .i = 0 }, },
+ [ZoomLevel] = { { .f = 1.0 }, },
+};
+
+static UriParameters uriparams[] = {
+ { "(://|\\.)suckless\\.org(/|$)", {
+ [JavaScript] = { { .i = 0 }, 1 },
+ }, },
+};
+
+/* default window size: width, height */
+static int winsize[] = { 800, 600 };
+
+static WebKitFindOptions findopts = WEBKIT_FIND_OPTIONS_CASE_INSENSITIVE |
+ WEBKIT_FIND_OPTIONS_WRAP_AROUND;
+
+#define PROMPT_GO "Go:"
+#define PROMPT_FIND "Find:"
+
+/* SETPROP(readprop, setprop, prompt)*/
+#define SETPROP(r, s, p) { \
+ .v = (const char *[]){ "/bin/sh", "-c", \
+ "prop=\"$(printf '%b' \"$(xprop -id $1 $2 " \
+ "| sed \"s/^$2(STRING) = //;s/^\\\"\\(.*\\)\\\"$/\\1/\")\" " \
+ "| dmenu -p \"$4\" -w $1)\" && xprop -id $1 -f $3 8s -set $3 \"$prop\"", \
+ "surf-setprop", winid, r, s, p, NULL \
+ } \
+}
+
+/* DOWNLOAD(URI, referer) */
+#define DOWNLOAD(u, r) { \
+ .v = (const char *[]){ "st", "-e", "/bin/sh", "-c",\
+ "curl -g -L -J -O -A \"$1\" -b \"$2\" -c \"$2\"" \
+ " -e \"$3\" \"$4\"; read", \
+ "surf-download", useragent, cookiefile, r, u, NULL \
+ } \
+}
+
+/* PLUMB(URI) */
+/* This called when some URI which does not begin with "about:",
+ * "http://" or "https://" should be opened.
+ */
+#define PLUMB(u) {\
+ .v = (const char *[]){ "/bin/sh", "-c", \
+ "xdg-open \"$0\"", u, NULL \
+ } \
+}
+
+/* VIDEOPLAY(URI) */
+#define VIDEOPLAY(u) {\
+ .v = (const char *[]){ "/bin/sh", "-c", \
+ "mpv --really-quiet \"$0\"", u, NULL \
+ } \
+}
+
+/* styles */
+/*
+ * The iteration will stop at the first match, beginning at the beginning of
+ * the list.
+ */
+static SiteSpecific styles[] = {
+ /* regexp file in $styledir */
+ { ".*", "default.css" },
+};
+
+/* certificates */
+/*
+ * Provide custom certificate for urls
+ */
+static SiteSpecific certs[] = {
+ /* regexp file in $certdir */
+ { "://suckless\\.org/", "suckless.org.crt" },
+};
+
+#define MODKEY GDK_CONTROL_MASK
+
+/* hotkeys */
+/*
+ * If you use anything else but MODKEY and GDK_SHIFT_MASK, don't forget to
+ * edit the CLEANMASK() macro.
+ */
+static Key keys[] = {
+ /* modifier keyval function arg */
+ { MODKEY, GDK_KEY_g, spawn, SETPROP("_SURF_URI", "_SURF_GO", PROMPT_GO) },
+ { MODKEY, GDK_KEY_f, spawn, SETPROP("_SURF_FIND", "_SURF_FIND", PROMPT_FIND) },
+ { MODKEY, GDK_KEY_slash, spawn, SETPROP("_SURF_FIND", "_SURF_FIND", PROMPT_FIND) },
+
+ { 0, GDK_KEY_Escape, stop, { 0 } },
+ { MODKEY, GDK_KEY_c, stop, { 0 } },
+
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_r, reload, { .i = 1 } },
+ { MODKEY, GDK_KEY_r, reload, { .i = 0 } },
+
+ { MODKEY, GDK_KEY_l, navigate, { .i = +1 } },
+ { MODKEY, GDK_KEY_h, navigate, { .i = -1 } },
+
+ /* vertical and horizontal scrolling, in viewport percentage */
+ { MODKEY, GDK_KEY_j, scrollv, { .i = +10 } },
+ { MODKEY, GDK_KEY_k, scrollv, { .i = -10 } },
+ { MODKEY, GDK_KEY_space, scrollv, { .i = +50 } },
+ { MODKEY, GDK_KEY_b, scrollv, { .i = -50 } },
+ { MODKEY, GDK_KEY_i, scrollh, { .i = +10 } },
+ { MODKEY, GDK_KEY_u, scrollh, { .i = -10 } },
+
+
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_j, zoom, { .i = -1 } },
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_k, zoom, { .i = +1 } },
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_q, zoom, { .i = 0 } },
+ { MODKEY, GDK_KEY_minus, zoom, { .i = -1 } },
+ { MODKEY, GDK_KEY_plus, zoom, { .i = +1 } },
+
+ { MODKEY, GDK_KEY_p, clipboard, { .i = 1 } },
+ { MODKEY, GDK_KEY_y, clipboard, { .i = 0 } },
+
+ { MODKEY, GDK_KEY_n, find, { .i = +1 } },
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_n, find, { .i = -1 } },
+
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_p, print, { 0 } },
+ { MODKEY, GDK_KEY_t, showcert, { 0 } },
+
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_a, togglecookiepolicy, { 0 } },
+ { 0, GDK_KEY_F11, togglefullscreen, { 0 } },
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_o, toggleinspector, { 0 } },
+
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_c, toggle, { .i = CaretBrowsing } },
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_f, toggle, { .i = FrameFlattening } },
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_g, toggle, { .i = Geolocation } },
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_s, toggle, { .i = JavaScript } },
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_i, toggle, { .i = LoadImages } },
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_b, toggle, { .i = ScrollBars } },
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_t, toggle, { .i = StrictTLS } },
+ { MODKEY|GDK_SHIFT_MASK, GDK_KEY_m, toggle, { .i = Style } },
+};
+
+/* button definitions */
+/* target can be OnDoc, OnLink, OnImg, OnMedia, OnEdit, OnBar, OnSel, OnAny */
+static Button buttons[] = {
+ /* target event mask button function argument stop event */
+ { OnLink, 0, 2, clicknewwindow, { .i = 0 }, 1 },
+ { OnLink, MODKEY, 2, clicknewwindow, { .i = 1 }, 1 },
+ { OnLink, MODKEY, 1, clicknewwindow, { .i = 1 }, 1 },
+ { OnAny, 0, 8, clicknavigate, { .i = -1 }, 1 },
+ { OnAny, 0, 9, clicknavigate, { .i = +1 }, 1 },
+ { OnMedia, MODKEY, 1, clickexternplayer, { 0 }, 1 },
+};
diff --git a/portage/etc/portage/savedconfig/x11-misc/dmenu-5.4 b/portage/etc/portage/savedconfig/x11-misc/dmenu-5.4
new file mode 100644
index 0000000..1edb647
--- /dev/null
+++ b/portage/etc/portage/savedconfig/x11-misc/dmenu-5.4
@@ -0,0 +1,23 @@
+/* See LICENSE file for copyright and license details. */
+/* Default settings; can be overriden by command line. */
+
+static int topbar = 1; /* -b option; if 0, dmenu appears at bottom */
+/* -fn option overrides fonts[0]; default X11 font or font set */
+static const char *fonts[] = {
+ "monospace:size=10"
+};
+static const char *prompt = NULL; /* -p option; prompt to the left of input field */
+static const char *colors[SchemeLast][2] = {
+ /* fg bg */
+ [SchemeNorm] = { "#bbbbbb", "#222222" },
+ [SchemeSel] = { "#eeeeee", "#005577" },
+ [SchemeOut] = { "#000000", "#00ffff" },
+};
+/* -l option; if nonzero, dmenu uses vertical list with given number of lines */
+static unsigned int lines = 0;
+
+/*
+ * Characters not considered part of a word while deleting words
+ * for example: " /?\"&[]"
+ */
+static const char worddelimiters[] = " ";
diff --git a/portage/etc/portage/savedconfig/x11-terms/st-0.9.3 b/portage/etc/portage/savedconfig/x11-terms/st-0.9.3
new file mode 100644
index 0000000..2cd740a
--- /dev/null
+++ b/portage/etc/portage/savedconfig/x11-terms/st-0.9.3
@@ -0,0 +1,474 @@
+/* See LICENSE file for copyright and license details. */
+
+/*
+ * appearance
+ *
+ * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html
+ */
+static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true";
+static int borderpx = 2;
+
+/*
+ * What program is execed by st depends of these precedence rules:
+ * 1: program passed with -e
+ * 2: scroll and/or utmp
+ * 3: SHELL environment variable
+ * 4: value of shell in /etc/passwd
+ * 5: value of shell in config.h
+ */
+static char *shell = "/bin/sh";
+char *utmp = NULL;
+/* scroll program: to enable use a string like "scroll" */
+char *scroll = NULL;
+char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400";
+
+/* identification sequence returned in DA and DECID */
+char *vtiden = "\033[?6c";
+
+/* Kerning / character bounding-box multipliers */
+static float cwscale = 1.0;
+static float chscale = 1.0;
+
+/*
+ * word delimiter string
+ *
+ * More advanced example: L" `'\"()[]{}"
+ */
+wchar_t *worddelimiters = L" ";
+
+/* selection timeouts (in milliseconds) */
+static unsigned int doubleclicktimeout = 300;
+static unsigned int tripleclicktimeout = 600;
+
+/* alt screens */
+int allowaltscreen = 1;
+
+/* allow certain non-interactive (insecure) window operations such as:
+ setting the clipboard text */
+int allowwindowops = 0;
+
+/*
+ * draw latency range in ms - from new content/keypress/etc until drawing.
+ * within this range, st draws when content stops arriving (idle). mostly it's
+ * near minlatency, but it waits longer for slow updates to avoid partial draw.
+ * low minlatency will tear/flicker more, as it can "detect" idle too early.
+ */
+static double minlatency = 2;
+static double maxlatency = 33;
+
+/*
+ * blinking timeout (set to 0 to disable blinking) for the terminal blinking
+ * attribute.
+ */
+static unsigned int blinktimeout = 800;
+
+/*
+ * thickness of underline and bar cursors
+ */
+static unsigned int cursorthickness = 2;
+
+/*
+ * bell volume. It must be a value between -100 and 100. Use 0 for disabling
+ * it
+ */
+static int bellvolume = 0;
+
+/* default TERM value */
+char *termname = "st-256color";
+
+/*
+ * spaces per tab
+ *
+ * When you are changing this value, don't forget to adapt the »it« value in
+ * the st.info and appropriately install the st.info in the environment where
+ * you use this st version.
+ *
+ * it#$tabspaces,
+ *
+ * Secondly make sure your kernel is not expanding tabs. When running `stty
+ * -a` »tab0« should appear. You can tell the terminal to not expand tabs by
+ * running following command:
+ *
+ * stty tabs
+ */
+unsigned int tabspaces = 8;
+
+/* Terminal colors (16 first used in escape sequence) */
+static const char *colorname[] = {
+ /* 8 normal colors */
+ "black",
+ "red3",
+ "green3",
+ "yellow3",
+ "blue2",
+ "magenta3",
+ "cyan3",
+ "gray90",
+
+ /* 8 bright colors */
+ "gray50",
+ "red",
+ "green",
+ "yellow",
+ "#5c5cff",
+ "magenta",
+ "cyan",
+ "white",
+
+ [255] = 0,
+
+ /* more colors can be added after 255 to use with DefaultXX */
+ "#cccccc",
+ "#555555",
+ "gray90", /* default foreground colour */
+ "black", /* default background colour */
+};
+
+
+/*
+ * Default colors (colorname index)
+ * foreground, background, cursor, reverse cursor
+ */
+unsigned int defaultfg = 258;
+unsigned int defaultbg = 259;
+unsigned int defaultcs = 256;
+static unsigned int defaultrcs = 257;
+
+/*
+ * Default shape of cursor
+ * 2: Block ("█")
+ * 4: Underline ("_")
+ * 6: Bar ("|")
+ * 7: Snowman ("☃")
+ */
+static unsigned int cursorshape = 2;
+
+/*
+ * Default columns and rows numbers
+ */
+
+static unsigned int cols = 80;
+static unsigned int rows = 24;
+
+/*
+ * Default colour and shape of the mouse cursor
+ */
+static unsigned int mouseshape = XC_xterm;
+static unsigned int mousefg = 7;
+static unsigned int mousebg = 0;
+
+/*
+ * Color used to display font attributes when fontconfig selected a font which
+ * doesn't match the ones requested.
+ */
+static unsigned int defaultattr = 11;
+
+/*
+ * Force mouse select/shortcuts while mask is active (when MODE_MOUSE is set).
+ * Note that if you want to use ShiftMask with selmasks, set this to an other
+ * modifier, set to 0 to not use it.
+ */
+static uint forcemousemod = ShiftMask;
+
+/*
+ * Internal mouse shortcuts.
+ * Beware that overloading Button1 will disable the selection.
+ */
+static MouseShortcut mshortcuts[] = {
+ /* mask button function argument release */
+ { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 },
+ { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} },
+ { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} },
+ { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} },
+ { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} },
+};
+
+/* Internal keyboard shortcuts. */
+#define MODKEY Mod1Mask
+#define TERMMOD (ControlMask|ShiftMask)
+
+static Shortcut shortcuts[] = {
+ /* mask keysym function argument */
+ { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} },
+ { ControlMask, XK_Print, toggleprinter, {.i = 0} },
+ { ShiftMask, XK_Print, printscreen, {.i = 0} },
+ { XK_ANY_MOD, XK_Print, printsel, {.i = 0} },
+ { TERMMOD, XK_Prior, zoom, {.f = +1} },
+ { TERMMOD, XK_Next, zoom, {.f = -1} },
+ { TERMMOD, XK_Home, zoomreset, {.f = 0} },
+ { TERMMOD, XK_C, clipcopy, {.i = 0} },
+ { TERMMOD, XK_V, clippaste, {.i = 0} },
+ { TERMMOD, XK_Y, selpaste, {.i = 0} },
+ { ShiftMask, XK_Insert, selpaste, {.i = 0} },
+ { TERMMOD, XK_Num_Lock, numlock, {.i = 0} },
+};
+
+/*
+ * Special keys (change & recompile st.info accordingly)
+ *
+ * Mask value:
+ * * Use XK_ANY_MOD to match the key no matter modifiers state
+ * * Use XK_NO_MOD to match the key alone (no modifiers)
+ * appkey value:
+ * * 0: no value
+ * * > 0: keypad application mode enabled
+ * * = 2: term.numlock = 1
+ * * < 0: keypad application mode disabled
+ * appcursor value:
+ * * 0: no value
+ * * > 0: cursor application mode enabled
+ * * < 0: cursor application mode disabled
+ *
+ * Be careful with the order of the definitions because st searches in
+ * this table sequentially, so any XK_ANY_MOD must be in the last
+ * position for a key.
+ */
+
+/*
+ * If you want keys other than the X11 function keys (0xFD00 - 0xFFFF)
+ * to be mapped below, add them to this array.
+ */
+static KeySym mappedkeys[] = { -1 };
+
+/*
+ * State bits to ignore when matching key or button events. By default,
+ * numlock (Mod2Mask) and keyboard layout (XK_SWITCH_MOD) are ignored.
+ */
+static uint ignoremod = Mod2Mask|XK_SWITCH_MOD;
+
+/*
+ * This is the huge key array which defines all compatibility to the Linux
+ * world. Please decide about changes wisely.
+ */
+static Key key[] = {
+ /* keysym mask string appkey appcursor */
+ { XK_KP_Home, ShiftMask, "\033[2J", 0, -1},
+ { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1},
+ { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1},
+ { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1},
+ { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0},
+ { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1},
+ { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1},
+ { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0},
+ { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1},
+ { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1},
+ { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0},
+ { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1},
+ { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1},
+ { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0},
+ { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1},
+ { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1},
+ { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0},
+ { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0},
+ { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0},
+ { XK_KP_End, ControlMask, "\033[J", -1, 0},
+ { XK_KP_End, ControlMask, "\033[1;5F", +1, 0},
+ { XK_KP_End, ShiftMask, "\033[K", -1, 0},
+ { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0},
+ { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0},
+ { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0},
+ { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0},
+ { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0},
+ { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0},
+ { XK_KP_Insert, ControlMask, "\033[L", -1, 0},
+ { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0},
+ { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0},
+ { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0},
+ { XK_KP_Delete, ControlMask, "\033[M", -1, 0},
+ { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0},
+ { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0},
+ { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0},
+ { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0},
+ { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0},
+ { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0},
+ { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0},
+ { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0},
+ { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0},
+ { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0},
+ { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0},
+ { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0},
+ { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0},
+ { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0},
+ { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0},
+ { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0},
+ { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0},
+ { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0},
+ { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0},
+ { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0},
+ { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0},
+ { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0},
+ { XK_Up, ShiftMask, "\033[1;2A", 0, 0},
+ { XK_Up, Mod1Mask, "\033[1;3A", 0, 0},
+ { XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0},
+ { XK_Up, ControlMask, "\033[1;5A", 0, 0},
+ { XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0},
+ { XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0},
+ { XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A", 0, 0},
+ { XK_Up, XK_ANY_MOD, "\033[A", 0, -1},
+ { XK_Up, XK_ANY_MOD, "\033OA", 0, +1},
+ { XK_Down, ShiftMask, "\033[1;2B", 0, 0},
+ { XK_Down, Mod1Mask, "\033[1;3B", 0, 0},
+ { XK_Down, ShiftMask|Mod1Mask,"\033[1;4B", 0, 0},
+ { XK_Down, ControlMask, "\033[1;5B", 0, 0},
+ { XK_Down, ShiftMask|ControlMask,"\033[1;6B", 0, 0},
+ { XK_Down, ControlMask|Mod1Mask,"\033[1;7B", 0, 0},
+ { XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0, 0},
+ { XK_Down, XK_ANY_MOD, "\033[B", 0, -1},
+ { XK_Down, XK_ANY_MOD, "\033OB", 0, +1},
+ { XK_Left, ShiftMask, "\033[1;2D", 0, 0},
+ { XK_Left, Mod1Mask, "\033[1;3D", 0, 0},
+ { XK_Left, ShiftMask|Mod1Mask,"\033[1;4D", 0, 0},
+ { XK_Left, ControlMask, "\033[1;5D", 0, 0},
+ { XK_Left, ShiftMask|ControlMask,"\033[1;6D", 0, 0},
+ { XK_Left, ControlMask|Mod1Mask,"\033[1;7D", 0, 0},
+ { XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0, 0},
+ { XK_Left, XK_ANY_MOD, "\033[D", 0, -1},
+ { XK_Left, XK_ANY_MOD, "\033OD", 0, +1},
+ { XK_Right, ShiftMask, "\033[1;2C", 0, 0},
+ { XK_Right, Mod1Mask, "\033[1;3C", 0, 0},
+ { XK_Right, ShiftMask|Mod1Mask,"\033[1;4C", 0, 0},
+ { XK_Right, ControlMask, "\033[1;5C", 0, 0},
+ { XK_Right, ShiftMask|ControlMask,"\033[1;6C", 0, 0},
+ { XK_Right, ControlMask|Mod1Mask,"\033[1;7C", 0, 0},
+ { XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0, 0},
+ { XK_Right, XK_ANY_MOD, "\033[C", 0, -1},
+ { XK_Right, XK_ANY_MOD, "\033OC", 0, +1},
+ { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0},
+ { XK_Return, Mod1Mask, "\033\r", 0, 0},
+ { XK_Return, XK_ANY_MOD, "\r", 0, 0},
+ { XK_Insert, ShiftMask, "\033[4l", -1, 0},
+ { XK_Insert, ShiftMask, "\033[2;2~", +1, 0},
+ { XK_Insert, ControlMask, "\033[L", -1, 0},
+ { XK_Insert, ControlMask, "\033[2;5~", +1, 0},
+ { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0},
+ { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0},
+ { XK_Delete, ControlMask, "\033[M", -1, 0},
+ { XK_Delete, ControlMask, "\033[3;5~", +1, 0},
+ { XK_Delete, ShiftMask, "\033[2K", -1, 0},
+ { XK_Delete, ShiftMask, "\033[3;2~", +1, 0},
+ { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0},
+ { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0},
+ { XK_BackSpace, XK_NO_MOD, "\177", 0, 0},
+ { XK_BackSpace, Mod1Mask, "\033\177", 0, 0},
+ { XK_Home, ShiftMask, "\033[2J", 0, -1},
+ { XK_Home, ShiftMask, "\033[1;2H", 0, +1},
+ { XK_Home, XK_ANY_MOD, "\033[H", 0, -1},
+ { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1},
+ { XK_End, ControlMask, "\033[J", -1, 0},
+ { XK_End, ControlMask, "\033[1;5F", +1, 0},
+ { XK_End, ShiftMask, "\033[K", -1, 0},
+ { XK_End, ShiftMask, "\033[1;2F", +1, 0},
+ { XK_End, XK_ANY_MOD, "\033[4~", 0, 0},
+ { XK_Prior, ControlMask, "\033[5;5~", 0, 0},
+ { XK_Prior, ShiftMask, "\033[5;2~", 0, 0},
+ { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0},
+ { XK_Next, ControlMask, "\033[6;5~", 0, 0},
+ { XK_Next, ShiftMask, "\033[6;2~", 0, 0},
+ { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0},
+ { XK_F1, XK_NO_MOD, "\033OP" , 0, 0},
+ { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0},
+ { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0},
+ { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0},
+ { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0},
+ { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0},
+ { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0},
+ { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0},
+ { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0},
+ { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0},
+ { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0},
+ { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0},
+ { XK_F3, XK_NO_MOD, "\033OR" , 0, 0},
+ { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0},
+ { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0},
+ { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0},
+ { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0},
+ { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0},
+ { XK_F4, XK_NO_MOD, "\033OS" , 0, 0},
+ { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0},
+ { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0},
+ { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0},
+ { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0},
+ { XK_F5, XK_NO_MOD, "\033[15~", 0, 0},
+ { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0},
+ { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0},
+ { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0},
+ { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0},
+ { XK_F6, XK_NO_MOD, "\033[17~", 0, 0},
+ { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0},
+ { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0},
+ { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0},
+ { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0},
+ { XK_F7, XK_NO_MOD, "\033[18~", 0, 0},
+ { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0},
+ { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0},
+ { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0},
+ { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0},
+ { XK_F8, XK_NO_MOD, "\033[19~", 0, 0},
+ { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0},
+ { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0},
+ { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0},
+ { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0},
+ { XK_F9, XK_NO_MOD, "\033[20~", 0, 0},
+ { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0},
+ { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0},
+ { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0},
+ { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0},
+ { XK_F10, XK_NO_MOD, "\033[21~", 0, 0},
+ { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0},
+ { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0},
+ { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0},
+ { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0},
+ { XK_F11, XK_NO_MOD, "\033[23~", 0, 0},
+ { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0},
+ { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0},
+ { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0},
+ { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0},
+ { XK_F12, XK_NO_MOD, "\033[24~", 0, 0},
+ { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0},
+ { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0},
+ { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0},
+ { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0},
+ { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0},
+ { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0},
+ { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0},
+ { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0},
+ { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0},
+ { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0},
+ { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0},
+ { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0},
+ { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0},
+ { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0},
+ { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0},
+ { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0},
+ { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0},
+ { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0},
+ { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0},
+ { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0},
+ { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0},
+ { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0},
+ { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0},
+ { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0},
+ { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0},
+ { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0},
+ { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0},
+};
+
+/*
+ * Selection types' masks.
+ * Use the same masks as usual.
+ * Button1Mask is always unset, to make masks match between ButtonPress.
+ * ButtonRelease and MotionNotify.
+ * If no match is found, regular selection is used.
+ */
+static uint selmasks[] = {
+ [SEL_RECTANGULAR] = Mod1Mask,
+};
+
+/*
+ * Printable characters in ASCII, used to estimate the advance width
+ * of single wide characters.
+ */
+static char ascii_printable[] =
+ " !\"#$%&'()*+,-./0123456789:;<=>?"
+ "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
+ "`abcdefghijklmnopqrstuvwxyz{|}~";
diff --git a/portage/var/lib/portage/world b/portage/var/lib/portage/world
index 8c665fd..92e4c1c 100644
--- a/portage/var/lib/portage/world
+++ b/portage/var/lib/portage/world
@@ -7,14 +7,11 @@ app-admin/sudo
app-admin/testdisk
app-crypt/gcr
app-editors/emacs
-app-editors/fresh
app-editors/micro
app-editors/neovim
app-editors/vis
app-eselect/eselect-repository
app-misc/dragon
-app-misc/fastfetch
-app-misc/hyfetch
app-misc/jq
app-misc/tmux
app-misc/yazi
@@ -29,7 +26,9 @@ app-shells/zoxide
app-shells/zsh
app-shells/zsh-autocomplete
app-text/evince
+app-xemacs/emerge
dev-debug/strace
+dev-libs/libxml2
dev-util/android-tools
dev-util/opencode-bin
dev-vcs/git
@@ -59,11 +58,14 @@ kde-apps/dolphin
kde-apps/kio-extras
media-fonts/corefonts
media-fonts/dejavu
+media-fonts/iosevka
media-fonts/jetbrains-mono
media-fonts/liberation-fonts
media-fonts/nerdfonts
media-fonts/noto
+media-fonts/noto-cjk
media-fonts/noto-emoji
+media-fonts/roboto
media-fonts/unifont
media-gfx/imagemagick
media-gfx/imv
@@ -73,6 +75,7 @@ media-sound/mpc
media-sound/mpd
media-sound/playerctl
media-sound/rmpc
+media-sound/teamspeak-client
media-sound/wiremix
media-video/ffmpeg
media-video/mpv
@@ -85,6 +88,7 @@ net-im/vesktop-bin
net-misc/dhcpcd
net-misc/yt-dlp
net-p2p/nicotine+
+net-p2p/qbittorrent
net-p2p/syncthing
net-proxy/Throne
net-wireless/blueman
@@ -100,6 +104,7 @@ sys-kernel/installkernel
sys-kernel/linux-firmware
sys-process/btop
www-client/helium-bin
+www-client/librewolf
www-client/waterfox-bin
x11-apps/xrdb
x11-drivers/nvidia-drivers