From fe0a8240022fb6c42e8b021d44b49a0e0638281b Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Sun, 25 Jan 2026 17:16:11 +0100 Subject: pkgs/swallow: Add This provides swallowing for river. --- pkgs/by-name/sw/swallow/package.nix | 25 +++++++++++++++++++++++++ pkgs/by-name/sw/swallow/swallow.sh | 23 +++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 pkgs/by-name/sw/swallow/package.nix create mode 100755 pkgs/by-name/sw/swallow/swallow.sh (limited to 'pkgs') diff --git a/pkgs/by-name/sw/swallow/package.nix b/pkgs/by-name/sw/swallow/package.nix new file mode 100644 index 00000000..16608143 --- /dev/null +++ b/pkgs/by-name/sw/swallow/package.nix @@ -0,0 +1,25 @@ +# nixos-config - My current NixOS configuration +# +# Copyright (C) 2025 Benedikt Peetz +# SPDX-License-Identifier: GPL-3.0-or-later +# +# This file is part of my nixos-config. +# +# You should have received a copy of the License along with this program. +# If not, see . +{ + writeShellApplication, + # Dependencies + river-classic, +}: +writeShellApplication { + name = "swallow"; + text = builtins.readFile ./swallow.sh; + + # We need to inherit the path, so that we can spawn stuff in a swallowed mode. + inheritPath = true; + + runtimeInputs = [ + river-classic + ]; +} diff --git a/pkgs/by-name/sw/swallow/swallow.sh b/pkgs/by-name/sw/swallow/swallow.sh new file mode 100755 index 00000000..922a21b3 --- /dev/null +++ b/pkgs/by-name/sw/swallow/swallow.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env dash +# Based on: https://codeberg.org/nirodhvana/reservoir/src/commit/2fa8c14877799a03bb927f048c2907dbb418fd68/dot-local/bin/gobble + +# Inspired by https://github.com/swindlesmccoop/not-just-dotfiles/blob/master/.local/bin/swallow + +swallow_tag=$((1 << 9)) +eat() { + riverctl set-view-tags $swallow_tag +} + +throwup() { + riverctl set-focused-tags $swallow_tag && + riverctl send-to-previous-tags && + riverctl focus-previous-tags +} + +if [ -z "$*" ]; then + printf "ERROR: No Arguments Supplied\n" +else + eat && "$@" + + throwup +fi -- cgit 1.4.1