From patchwork Thu Apr 3 22:41:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Ziltener X-Patchwork-Id: 41249 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 59A2927BBEA; Thu, 3 Apr 2025 23:43:15 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 96BB227BBE2 for ; Thu, 3 Apr 2025 23:43:13 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u0TH7-0001fd-K6; Thu, 03 Apr 2025 18:43:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u0TH5-0001fC-9D for guix-patches@gnu.org; Thu, 03 Apr 2025 18:43:03 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u0TH4-00007f-VQ for guix-patches@gnu.org; Thu, 03 Apr 2025 18:43:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:From:To:Subject; bh=GKsPsx2OhDvF1UnDGq200vgPfXzAzzw3ggk7oOvI6zI=; b=MVyDy9/bsiCVshnUgd5veP4LB5US2II94mhBfzd1DbNLOshf5BkzdEo4BKTS5fNRGYS0UTNvg1/afGPfaYjNw2k1uxN23ulza8FjGbw9e9VMovC6JFSdy033EsYizCXV/GwkOPWk+IrE2wJNtK9FRUe+G91ogypMZHpmYxeGBRI7PVc5Y/9ks85+gfa0t3JvKTdt2/imwPp4H32Ld62nIA7I6/b0EX2XpmaUlbEZk5JxawG6vPbtUEQGyaEAqm+QU0TFl7+Y+YgftYRvj2NZ/aFOFRLxK4bFPywmSx0ns+DUpAZSohL9pbc4/d35MMa80Y+HvBCyXNgfRNZeEbTM5g==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1u0TH4-0000f5-RM for guix-patches@gnu.org; Thu, 03 Apr 2025 18:43:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#77511] [PATCH] gnu: xdisorg: add the official hyprland plugins. Resent-From: Daniel Ziltener Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 03 Apr 2025 22:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 77511 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 77511@debbugs.gnu.org Cc: Daniel Ziltener X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.17437201502489 (code B ref -1); Thu, 03 Apr 2025 22:43:02 +0000 Received: (at submit) by debbugs.gnu.org; 3 Apr 2025 22:42:30 +0000 Received: from localhost ([127.0.0.1]:36099 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u0TGY-0000e4-0Y for submit@debbugs.gnu.org; Thu, 03 Apr 2025 18:42:30 -0400 Received: from lists.gnu.org ([2001:470:142::17]:47054) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u0TGV-0000dm-1R for submit@debbugs.gnu.org; Thu, 03 Apr 2025 18:42:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u0TGP-0001cx-OB for guix-patches@gnu.org; Thu, 03 Apr 2025 18:42:21 -0400 Received: from 195-15-241-199.dc3-a.pub1.etik-cloud.com ([195.15.241.199] helo=lyrion.ch) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u0TGN-0008VP-8e for guix-patches@gnu.org; Thu, 03 Apr 2025 18:42:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lyrion.ch; s=20230702; t=1743720133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=GKsPsx2OhDvF1UnDGq200vgPfXzAzzw3ggk7oOvI6zI=; b=ZpQrGabdDhpzgiIt5GdwLpzECF20UBcxDOwYDTtnIJ6N6XRXciirLwusRC/HF+onM+7Kit 4tLW4wQ1ifKjERvC5LMpMrLTpp3hI0e9nU31iGvGe9sy6bwO8veElMVxegsXoeZQK0AlP7 a0OCpr18D79fVN4XkGeodAY2ykRK2QdCfDIcdcaRbahcP2tND0fciHERD9W31h74vgNVZd BR20q/9LdWm4Zz5aSDZCUgMnJqS8biNmG2LLv7DN60TRJvUW7DY9nAbUjMbpSTwJxaGwVl 4Ml1BIcVoXN9uPdVS4cS9IuKm9RVnSX/zRnLwf/iQjWIEAdSFkV5ySZqzSXv1w== Received: from lyrion.ch (cf597899.dynamic.tele-ag.de [207.89.120.153]) by lyrion.ch (OpenSMTPD) with ESMTPSA id 5056a5fc (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Thu, 3 Apr 2025 22:42:13 +0000 (UTC) Date: Fri, 4 Apr 2025 00:41:27 +0200 Message-ID: <20250403224158.31213-1-dziltener@lyrion.ch> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Received-SPF: pass client-ip=195.15.241.199; envelope-from=dziltener@lyrion.ch; helo=lyrion.ch X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RDNS_DYNAMIC=0.982, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, TVD_RCVD_IP=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Daniel Ziltener X-ACL-Warn: , Daniel Ziltener via Guix-patches X-Patchwork-Original-From: Daniel Ziltener via Guix-patches via From: Daniel Ziltener Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches This adds the official hyprland plugins from the github.com/hyprwm/hyprland-plugins repository. --- gnu/packages/xdisorg.scm | 215 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 215 insertions(+) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 302c0434ca..cfb08361b7 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -3925,6 +3925,221 @@ (define-public hyprpicker "This package provides a @code{wlroots}-compatible Wayland color picker.") (license license:bsd-3))) +(define hyprland-official-plugin + (package + (name "hyprland-official-plugin") + (version "0.48.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hyprwm/hyprland-plugins") + (commit (string-append "v" version)))) + (sha256 + (base32 "0bmj1lwd3nfbmb3cvy600yxknxdb7rjcmbh0dwwywxjr8agggaxb")))) + (build-system meson-build-system) + (native-inputs (package-native-inputs hyprland)) + (inputs (modify-inputs (package-inputs hyprland) + (append hyprland))) + (home-page "https://github.com/hyprwm/hyprland-plugins") + (synopsis "A template for official hyprland plugins") + (description "A template for official hyprland plugins") + (license license:bsd-3))) + +(define-public hyprland-plugin-borders-plus-plus + (package + (inherit hyprland-official-plugin) + (name "hyprland-plugin-borders-plus-plus") + (arguments + (substitute-keyword-arguments (package-arguments hyprland-official-plugin) + ((#:phases oldphases + #~%standard-phases) + #~(modify-phases #$oldphases + (add-after 'unpack 'chdir + (lambda _ + (invoke "ls" "-la") + (chdir "./borders-plus-plus"))))))) + (synopsis + "Allows you to add one or two additional borders to your windows") + (description + "Allows you to add one or two additional borders to your windows. +The borders added are static. + +Example Config: + +@example +plugin { + borders-plus-plus { + add_borders = 1 # 0 - 9 + + # you can add up to 9 borders + col.border_1 = rgb(ffffff) + col.border_2 = rgb(2222ff) + + # -1 means " default + " as in the one defined in general:border_size + border_size_1 = 10 + border_size_2 = -1 + + # makes outer edges match rounding of the parent. Turn on / off to better understand. Default = on. + natural_rounding = yes + } +} +@end example +"))) + +(define-public hyprland-plugin-csgo-vulkan-fix + (package + (inherit hyprland-official-plugin) + (name "hyprland-plugin-csgo-vulkan-fix") + (arguments + (substitute-keyword-arguments (package-arguments hyprland-official-plugin) + ((#:phases oldphases + #~%standard-phases) + #~(modify-phases #$oldphases + (add-after 'unpack 'chdir + (lambda _ + (invoke "ls" "-la") + (chdir "./csgo-vulkan-fix"))))))) + (synopsis + "csgo-vulkan-fix is a way to force apps to a fake resolution without +them realizing it") + (description + "Originally meant for csgo / cs2, but can work with any app, really. + +csgo-vulkan-fix is a way to force apps to a fake resolution without them realizing it. + +If you want to play CS2, you're locked to your native res. Other resolutions +(especially not 16:9) are wonky. + +With this plugin, you aren't anymore."))) + +(define-public hyprland-plugin-hyprbars + (package + (inherit hyprland-official-plugin) + (name "hyprland-plugin-hyprbars") + (arguments + (substitute-keyword-arguments (package-arguments hyprland-official-plugin) + ((#:phases oldphases + #~%standard-phases) + #~(modify-phases #$oldphases + (add-after 'unpack 'chdir + (lambda _ + (invoke "ls" "-la") + (chdir "./hyprbars"))))))) + (synopsis "Adds simple title bars to windows") + (description "Allows you to add title bars to windows, and lets you +set the color, font, size, and more."))) + +(define-public hyprland-plugin-hyprexpo + (package + (inherit hyprland-official-plugin) + (name "hyprland-plugin-hyprexpo") + (arguments + (substitute-keyword-arguments (package-arguments hyprland-official-plugin) + ((#:phases oldphases + #~%standard-phases) + #~(modify-phases #$oldphases + (add-after 'unpack 'chdir + (lambda _ + (invoke "ls" "-la") + (chdir "./hyprexpo"))))))) + (synopsis "A desktop overview plugin") + (description + "This plugin lets you have an overview over your desktop, +like with similar functionality in Gnome, KDE, or wf. + +Example config: + +@example +bind = SUPER, grave, hyprexpo:expo, toggle # can be: toggle, off/disable or on/enable + +plugin { + hyprexpo { + columns = 3 + gap_size = 5 + bg_col = rgb(111111) + workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1 + + enable_gesture = true # laptop touchpad + gesture_fingers = 3 # 3 or 4 + gesture_distance = 300 # how far is the \"max\" + gesture_positive = true # positive = swipe down. Negative = swipe up. + } +} +@end example +"))) + +(define-public hyprland-plugin-hyprtrails + (package + (inherit hyprland-official-plugin) + (name "hyprland-plugin-hyprtrails") + (arguments + (substitute-keyword-arguments (package-arguments hyprland-official-plugin) + ((#:phases oldphases + #~%standard-phases) + #~(modify-phases #$oldphases + (add-after 'unpack 'chdir + (lambda _ + (invoke "ls" "-la") + (chdir "./hyprtrails"))))))) + (synopsis "A neat, but useless plugin to add trails behind windows") + (description "This neat, useless plugin adds trails behind windows. +It even lets you change the colors."))) + +(define-public hyprland-plugin-hyprwinwrap + (package + (inherit hyprland-official-plugin) + (name "hyprland-plugin-hyprwinwrap") + (arguments + (substitute-keyword-arguments (package-arguments hyprland-official-plugin) + ((#:phases oldphases + #~%standard-phases) + #~(modify-phases #$oldphases + (add-after 'unpack 'chdir + (lambda _ + (invoke "ls" "-la") + (chdir "./hyprwinwrap"))))))) + (synopsis "Clone of xwinwrap for Hyprland") + (description "A clone of xwinwrap for Hyprland. This lets you use any +program as your desktop background."))) + +(define-public hyprland-plugin-xtra-dispatchers + (package + (inherit hyprland-official-plugin) + (name "hyprland-plugin-xtra-dispatchers") + (arguments + (substitute-keyword-arguments (package-arguments hyprland-official-plugin) + ((#:phases oldphases + #~%standard-phases) + #~(modify-phases #$oldphases + (add-after 'unpack 'chdir + (lambda _ + (invoke "ls" "-la") + (chdir "./xtra-dispatchers"))))))) + (synopsis "Adds some additional dispatchers to Hyprland") + (description + "All dispatchers added are prefixed with @code{plugin:xtd:}. +The added dispatchers are: +@multitable @columnfractions .2 .6 .2 +@headitem name @tab description @tab params +@item moveorexec +@tab moves window to the current workspace, or executes if it's not found. +@code{WINDOW} cannot contain commas +@tab @code{WINDOW,CMD} +@item throwunfocused +@tab throws all unfocused windows on the current workspace to +the given workspace +@tab @code{WORKSPACE} +@item bringallfrom +@tab kinda inverse of throwunfocused. Bring all windows from +a given workspace to the current one. +@tab @code{WORKSPACE} +@item closeunfocused +@tab close all unfocused windows on the current workspace. +@tab none +@end multitable"))) + (define-public jumpapp (package (name "jumpapp")