aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--oni/home/data/config.scm6
-rw-r--r--oni/packages/hlwm-run-or-raise.scm43
-rw-r--r--oni/packages/hlwm-switch-to-window.scm39
3 files changed, 86 insertions, 2 deletions
diff --git a/oni/home/data/config.scm b/oni/home/data/config.scm
index 8c12e30..005edf1 100644
--- a/oni/home/data/config.scm
+++ b/oni/home/data/config.scm
@@ -20,12 +20,14 @@
#:use-module (oni home services polybar)
#:use-module (oni home services kdeconnect)
#:use-module (oni home services cmst)
- #:use-module (oni home services syncthing))
+ #:use-module (oni home services syncthing)
+ #:use-module (oni packages hlwm-run-or-raise))
(home-environment
(packages (list (specification->package+output "glibc-locales")
(specification->package+output "font-fantasque-sans")
- (specification->package+output "font-comic-neue")))
+ (specification->package+output "font-comic-neue")
+ hlwm-run-or-raise))
(services
(list
diff --git a/oni/packages/hlwm-run-or-raise.scm b/oni/packages/hlwm-run-or-raise.scm
new file mode 100644
index 0000000..5083549
--- /dev/null
+++ b/oni/packages/hlwm-run-or-raise.scm
@@ -0,0 +1,43 @@
+(define-module (oni packages hlwm-run-or-raise)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system gnu)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages shells)
+ #:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages gawk)
+ #:use-module (oni packages hlwm-switch-to-window))
+
+(define-public hlwm-run-or-raise
+ (let ((commit "e2747a706d0653220e70246c925a60cd55b612d1")
+ (revision "0"))
+ (package
+ (name "hlwm-run-or-raise")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (uri (git-reference
+ (url "git://ryuslash.org/util/tom/hlwm-run-or-raise.git")
+ (commit commit)))
+ (method git-fetch)
+ (sha256
+ (base32 "11m8gj0dq9dpc6xl6y00mp5wzh5nck7cak4m5jvnznkqcxc4ahij"))
+ (file-name (git-file-name name version))))
+ (propagated-inputs
+ (list wmctrl gawk grep hlwm-switch-to-window scsh))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; There is no test suite.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "hlwm-run-or-raise" bin)))))))
+ (home-page "https://ryuslash.org/")
+ (synopsis "A simple script that either starts a program or switches to it with herbstluftwm.")
+ (description "Can be bound to a key to either switch to a program or start it up if it isn't running.")
+ (license license:gpl3+))))
diff --git a/oni/packages/hlwm-switch-to-window.scm b/oni/packages/hlwm-switch-to-window.scm
new file mode 100644
index 0000000..e3eb0f2
--- /dev/null
+++ b/oni/packages/hlwm-switch-to-window.scm
@@ -0,0 +1,39 @@
+(define-module (oni packages hlwm-switch-to-window)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system gnu)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages wm))
+
+(define-public hlwm-switch-to-window
+ (let ((commit "9001a3391f17aa71cc299be8bc8ffadbb9b9ac12")
+ (revision "0"))
+ (package
+ (name "hlwm-switch-to-window")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (uri (git-reference
+ (url "git://ryuslash.org/util/tom/hlwm-switch-to-window.git")
+ (commit commit)))
+ (method git-fetch)
+ (sha256
+ (base32 "153rw46012pvbq624hwmfdfv36wl12g7m87vdf1nv4kp91am1nkm"))
+ (file-name (git-file-name name version))))
+ (propagated-inputs
+ (list herbstluftwm))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "hlwm-switch-to-window" bin)))))))
+ (home-page "https://ryuslash.org/")
+ (synopsis "A simple script that checks which monitor to use to switch to a window before switching.")
+ (description "Can be bound to a key to make sure that when you switch to a window a specific monitor is always used.")
+ (license license:gpl3+))))