(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 (oni packages scsh)
  #: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 "deda13603d44e0a0aaab5a5f94f103864c64f257")
        (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 "12z44bk68pyiyl44hfhb1p85fy968p0x7qqjmzh8na0p8lah4x01"))
         (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+))))