[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#61056] [PATCH v3 1/2] gnu: Add jwm.
From: |
tumashu |
Subject: |
[bug#61056] [PATCH v3 1/2] gnu: Add jwm. |
Date: |
Sun, 29 Jan 2023 19:12:48 +0800 |
From: Feng Shu <tumashu@163.com>
* gnu/packages/wm.scm (jwm): New variable.
---
gnu/packages/wm.scm | 88 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 88 insertions(+)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index a860ed1f93..d4c82fb2a3 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -2793,6 +2793,94 @@ (define-public hikari
capabilities. It is heavily inspired by the Calm Window manager(cwm).")
(license license:bsd-2)))
+(define-public jwm
+ (package
+ (name "jwm")
+ (version "2.4.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/joewing/jwm/releases/download/"
+ "v" version "/jwm-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1av7r9sp26r5l74zvwdmyyyzav29mw5bafihp7y33vsjqkh4wfzf"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ; no check target
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-example.jwmrc
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "example.jwmrc"
+ ;; Ignore existing menus in example.jwmrc.
+ (("<Menu ") "<!-- <Menu ")
+ (("</Menu>") "</Menu> -->")
+ ;; Adjust xterm path in terminal menu item.
+ ((">xterm</Program>")
+ (string-append
+ ">" (search-input-file inputs "/bin/xterm")
+ "</Program>"))
+ ;; Replace xscreensaver with xlock, which has been configured
+ ;; well by desktop-service.
+ (("xscreensaver-command -lock") "xlock")
+ ;; Adjust icons search paths.
+ (("/usr/local/share/jwm")
+ (string-append #$output "/share/jwm"))
+ (("/usr/local/share/icons")
+ "/run/current-system/profile/share/icons")
+ ;; Include menu created by mjwm command.
+ (("<RootMenu .*>" all)
+ (string-append
+ all "\n "
+ "<Program icon=\"jwm-red\" label=\"Update JWM Menu\">"
+ (search-input-file inputs "/bin/mjwm")
+ " --iconize --no-backup "
+ " --output-file $HOME/.jwmrc-mjwm-guix"
+ "</Program>\n "
+ "<Separator/>\n "
+ "<Include>$HOME/.jwmrc-mjwm-guix</Include>\n")))))
+ (add-after 'install 'install-xsession
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (xsessions (string-append out "/share/xsessions")))
+ (mkdir-p xsessions)
+ (call-with-output-file
+ (string-append xsessions "/jwm.desktop")
+ (lambda (port)
+ (format port "~
+ [Desktop Entry]~@
+ Name=jwm~@
+ Comment=Joe's Window Manager~@
+ Exec=~a/bin/jwm~@
+ Type=XSession~%" out))))
+ #t)))))
+ (native-inputs (list pkg-config))
+ (inputs
+ (list cairo
+ libjpeg-turbo
+ libpng
+ librsvg
+ libxext
+ libxinerama
+ libxmu
+ libxpm
+ libxrandr
+ libxt
+ mjwm
+ pango
+ xterm))
+ (home-page "http://joewing.net/projects/jwm")
+ (synopsis "Joe's Window Manager")
+ (description
+ "JWM is a light-weight window manager for the X11 Window System. it is
+written in C and uses only Xlib at a minimum. Because of its small footprint,
+it makes a good window manager for older computers and less powerful systems,
+such as the Raspberry Pi, though it is perfectly capable of running on modern
+systems.")
+ (license license:expat)))
+
(define-public devour
(package
(name "devour")
--
2.39.1
- [bug#61056] [PATCH] gnu: Add jwm., tumashu, 2023/01/25
- [bug#61056] [PATCH v2] gnu: Add jwm., tumashu, 2023/01/27
- [bug#61056] jwm version, Feng Shu, 2023/01/27
- [bug#61056] [PATCH] gnu: Add mjwm., tumashu, 2023/01/28
- [bug#61056] [PATCH v3 1/2] gnu: Add jwm.,
tumashu <=
- [bug#61056] [PATCH v4 1/2] gnu: Add jwm., Feng Shu, 2023/01/29
- [bug#61056] [PATCH v4 2/2] gnu: Add mjwm., Feng Shu, 2023/01/29