From 96e2530eafb48882bd9facfd67d88664ae1f220c Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 18 Mar 2024 17:03:40 +0300 Subject: [PATCH] treewide: move patches to their respective categories --- patches/0001-foot-transparent.patch | 110 ------------------ .../patches/0001-patch-plugin-dir.patch | 1 + .../rofi-calc-wayland/default.nix | 2 +- .../rofi-emoji-wayland/default.nix | 2 +- .../nix/alejandra-no-ads/0001-no-ads.patch | 1 + pkgs/tools/nix/alejandra-no-ads/default.nix | 2 +- pkgs/top-level.nix | 4 +- 7 files changed, 7 insertions(+), 115 deletions(-) delete mode 100644 patches/0001-foot-transparent.patch rename patches/0002-patch-plugin-dir.patch => pkgs/applications/misc/rofi-plugins/patches/0001-patch-plugin-dir.patch (99%) rename pkgs/applications/misc/{ => rofi-plugins}/rofi-calc-wayland/default.nix (95%) rename pkgs/applications/misc/{ => rofi-plugins}/rofi-emoji-wayland/default.nix (96%) rename patches/0003-alejandra-remove-ads.patch => pkgs/tools/nix/alejandra-no-ads/0001-no-ads.patch (99%) diff --git a/patches/0001-foot-transparent.patch b/patches/0001-foot-transparent.patch deleted file mode 100644 index d17c652..0000000 --- a/patches/0001-foot-transparent.patch +++ /dev/null @@ -1,110 +0,0 @@ -diff --git a/CHANGELOG.md b/CHANGELOG.md -index 9ceab4d5..146e7992 100644 ---- a/CHANGELOG.md -+++ b/CHANGELOG.md -@@ -334,7 +334,8 @@ - instead of the one least recently. - * Starlight theme (the default theme) updated to [V4][starlight-v4] - * Background transparency (alpha) is now disabled in fullscreened -- windows ([#1416][1416]). -+ windows ([#1416][1416]) by default but can be enabled with -+ `fullscreen_alpha`. - * Foot server systemd units now use the standard - graphical-session.target ([#1281][1281]). - * If `$XDG_RUNTIME_DIR/foot-$WAYLAND_DISPLAY.sock` does not exist, -diff --git a/meson.build b/meson.build -index 719352bc..eb38c0f8 100644 ---- a/meson.build -+++ b/meson.build -@@ -73,6 +73,9 @@ add_project_arguments( - (get_option('b_pgo') == 'use' - ? ['-DFOOT_PGO_ENABLED=1'] - : []) + -+ (get_option('fullscreen_alpha') -+ ? ['-DFOOT_FULLSCREEN_ALPHA_ENABLED=1'] -+ : []) + - cc.get_supported_arguments( - ['-pedantic', - '-fstrict-aliasing', -@@ -374,6 +377,7 @@ summary( - 'Documentation': scdoc.found(), - 'Themes': get_option('themes'), - 'IME': get_option('ime'), -+ 'Fullscreen alpha': get_option('fullscreen_alpha'), - 'Grapheme clustering': utf8proc.found(), - 'utmp backend': utmp_backend, - 'utmp helper default path': utmp_default_helper_path, -diff --git a/meson_options.txt b/meson_options.txt -index ab7a07be..7919431e 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -7,6 +7,9 @@ option('themes', type: 'boolean', value: true, - option('ime', type: 'boolean', value: true, - description: 'IME (Input Method Editor) support') - -+option('fullscreen_alpha', type: 'boolean', value: false, -+ description: 'Enables transparency on fullscreen windows') -+ - option('grapheme-clustering', type: 'feature', - description: 'Enables grapheme clustering using libutf8proc. Requires fcft with harfbuzz support to be useful.') - -diff --git a/render.c b/render.c -index 91472027..847984a9 100644 ---- a/render.c -+++ b/render.c -@@ -525,6 +525,13 @@ render_cell(struct terminal *term, pixman_image_t *pix, pixman_region32_t *damag - } - - else if (cell->attrs.bg_src == COLOR_DEFAULT) { -+#if defined(FOOT_FULLSCREEN_ALPHA_ENABLED) && FOOT_FULLSCREEN_ALPHA_ENABLED -+ /* -+ * Note: I don't care about the stupid ass Wayland -+ * protocol I want transparent fullscreen windows. -+ */ -+ alpha = term->colors.alpha; -+#else - if (term->window->is_fullscreen) { - /* - * Note: disable transparency when fullscreened. -@@ -562,6 +569,7 @@ render_cell(struct terminal *term, pixman_image_t *pix, pixman_region32_t *damag - } else { - alpha = term->colors.alpha; - } -+#endif - } - } - -@@ -900,6 +908,10 @@ render_margin(struct terminal *term, struct buffer *buf, - const int bmargin = term->height - term->margins.bottom; - const int line_count = end_line - start_line; - -+#if defined(FOOT_FULLSCREEN_ALPHA_ENABLED) && FOOT_FULLSCREEN_ALPHA_ENABLED -+ uint32_t _bg = !term->reverse ? term->colors.bg : term->colors.fg; -+ pixman_color_t bg = color_hex_to_pixman_with_alpha(_bg, term->colors.alpha); -+#else - const uint32_t _bg = !term->reverse ? term->colors.bg : term->colors.fg; - uint16_t alpha = term->colors.alpha; - -@@ -909,6 +921,7 @@ render_margin(struct terminal *term, struct buffer *buf, - } - - pixman_color_t bg = color_hex_to_pixman_with_alpha(_bg, alpha); -+#endif - - pixman_image_fill_rectangles( - PIXMAN_OP_SRC, buf->pix[0], &bg, 4, -@@ -2817,8 +2830,14 @@ grid_render(struct terminal *term) - xassert(term->height > 0); - - struct buffer_chain *chain = term->render.chains.grid; -+ -+#if defined(FOOT_FULLSCREEN_ALPHA_ENABLED) && FOOT_FULLSCREEN_ALPHA_ENABLED -+ bool use_alpha = term->colors.alpha != 0xffff; -+#else - bool use_alpha = !term->window->is_fullscreen && - term->colors.alpha != 0xffff; -+#endif -+ - struct buffer *buf = shm_get_buffer( - chain, term->width, term->height, use_alpha); - diff --git a/patches/0002-patch-plugin-dir.patch b/pkgs/applications/misc/rofi-plugins/patches/0001-patch-plugin-dir.patch similarity index 99% rename from patches/0002-patch-plugin-dir.patch rename to pkgs/applications/misc/rofi-plugins/patches/0001-patch-plugin-dir.patch index eedd7a5..17ff666 100644 --- a/patches/0002-patch-plugin-dir.patch +++ b/pkgs/applications/misc/rofi-plugins/patches/0001-patch-plugin-dir.patch @@ -23,3 +23,4 @@ index 50edb74..639ee86 100644 -- 2.25.1 + diff --git a/pkgs/applications/misc/rofi-calc-wayland/default.nix b/pkgs/applications/misc/rofi-plugins/rofi-calc-wayland/default.nix similarity index 95% rename from pkgs/applications/misc/rofi-calc-wayland/default.nix rename to pkgs/applications/misc/rofi-plugins/rofi-calc-wayland/default.nix index ad884b7..06fd395 100644 --- a/pkgs/applications/misc/rofi-calc-wayland/default.nix +++ b/pkgs/applications/misc/rofi-plugins/rofi-calc-wayland/default.nix @@ -40,7 +40,7 @@ in ]; patches = [ - ../../patches/0002-patch-plugin-dir.patch + ../patches/0001-patch-plugin-dir.patch ]; postPatch = '' diff --git a/pkgs/applications/misc/rofi-emoji-wayland/default.nix b/pkgs/applications/misc/rofi-plugins/rofi-emoji-wayland/default.nix similarity index 96% rename from pkgs/applications/misc/rofi-emoji-wayland/default.nix rename to pkgs/applications/misc/rofi-plugins/rofi-emoji-wayland/default.nix index ccc7dcc..445687a 100644 --- a/pkgs/applications/misc/rofi-emoji-wayland/default.nix +++ b/pkgs/applications/misc/rofi-plugins/rofi-emoji-wayland/default.nix @@ -42,7 +42,7 @@ in ]; patches = [ - ../../patches/0002-patch-plugin-dir.patch + ../patches/0001-patch-plugin-dir.patch ]; postPatch = '' diff --git a/patches/0003-alejandra-remove-ads.patch b/pkgs/tools/nix/alejandra-no-ads/0001-no-ads.patch similarity index 99% rename from patches/0003-alejandra-remove-ads.patch rename to pkgs/tools/nix/alejandra-no-ads/0001-no-ads.patch index eccee96..76704fd 100644 --- a/patches/0003-alejandra-remove-ads.patch +++ b/pkgs/tools/nix/alejandra-no-ads/0001-no-ads.patch @@ -41,3 +41,4 @@ index fd49ce8..258f656 100644 mod find; mod verbosity; + diff --git a/pkgs/tools/nix/alejandra-no-ads/default.nix b/pkgs/tools/nix/alejandra-no-ads/default.nix index d9c7c1c..7148a4b 100644 --- a/pkgs/tools/nix/alejandra-no-ads/default.nix +++ b/pkgs/tools/nix/alejandra-no-ads/default.nix @@ -1,4 +1,4 @@ {alejandra, ...}: alejandra.overrideAttrs (prev: { - patches = (prev.patches or []) ++ [../patches/0003-alejandra-remove-ads.patch]; + patches = (prev.patches or []) ++ [./0001-no-ads.patch]; }) diff --git a/pkgs/top-level.nix b/pkgs/top-level.nix index a977e4d..c1e000c 100644 --- a/pkgs/top-level.nix +++ b/pkgs/top-level.nix @@ -8,8 +8,8 @@ # they can be updated via npins ani-cli = mkPackage ./applications/misc/ani-cli; rat = mkPackage ./applications/misc/rat; - rofi-calc-wayland = mkPackage ./applications/misc/rofi-calc-wayland; - rofi-emoji-wayland = mkPackage ./applications/misc/rofi-emoji-wayland; + rofi-calc-wayland = mkPackage ./applications/misc/rofi-plugins/rofi-calc-wayland; + rofi-emoji-wayland = mkPackage ./applications/misc/rofi-plugins/rofi-emoji-wayland; # static packages # need manual intervention with each update