From: Feng Shu <tumashu@163.com>
To: 61056@debbugs.gnu.org
Subject: [bug#61056] [PATCH v8 1/2] gnu: Add jwm.
Date: Mon, 13 Feb 2023 18:49:09 +0800 [thread overview]
Message-ID: <87v8k5on6i.fsf@163.com> (raw)
In-Reply-To: <20230125111514.5194-1-tumashu@163.com>
From 455305ffd5f4e0bca239c8fc0f65f0a1f36ba8d0 Mon Sep 17 00:00:00 2001
From: Feng Shu <tumashu@163.com>
Date: Sat, 11 Feb 2023 10:55:47 +0800
Subject: [PATCH v8 1/2] gnu: Add jwm.
* gnu/packages/wm.scm (jwm): New variable.
---
gnu/packages/wm.scm | 107 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 107 insertions(+)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 37fbf88e99..14dc3a0988 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -2904,6 +2904,113 @@ read and write, and compatible with JSON.")
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 "
+ "<Dynamic icon=\"folder\" label=\"Applications\">"
+ "$HOME/.jwmrc-mjwm-guix"
+ "</Dynamic>\n")))))
+ (add-after 'install 'install-tango-icon-files
+ ;; Copy icon files used by example.jwm to share/jwm dir, this way
+ ;; may be better than adding tango-icon-theme to inputs.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((icon-dir (search-input-directory
+ inputs "share/icons/Tango/scalable"))
+ (icon-install-dir (string-append #$output "/share/jwm")))
+ (for-each
+ (lambda (icon)
+ (for-each (lambda (icon-file)
+ (install-file icon-file icon-install-dir))
+ (find-files icon-dir (string-append "^" icon "\\.svg$"))))
+ '("calc" "email" "exit" "folder" "font" "help-browser"
+ "image" "info" "lock" "reload" "sound"
+ "system-file-manager" "utilities-terminal"
+ "web-browser" "gnome-settings" "applications-.*"))
+ (with-directory-excursion icon-install-dir
+ ;; tango-icon-theme have no applications-science icon.
+ (copy-file "help-browser.svg" "applications-science.svg")))))
+ (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)))))))))
+ (native-inputs (list pkg-config tango-icon-theme))
+ (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.30.2
--
next prev parent reply other threads:[~2023-02-13 10:50 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-25 11:15 [bug#61056] [PATCH] gnu: Add jwm tumashu
2023-01-27 11:05 ` [bug#61056] [PATCH v2] " tumashu
2023-01-27 11:07 ` [bug#61056] jwm version Feng Shu
2023-01-28 11:37 ` [bug#61056] [PATCH] gnu: Add mjwm tumashu
2023-01-29 11:12 ` [bug#61056] [PATCH v3 1/2] gnu: Add jwm tumashu
2023-01-29 11:12 ` [bug#61056] [PATCH v3 2/2] gnu: Add mjwm tumashu
2023-01-29 11:12 ` [bug#61056] [PATCH v4 1/2] gnu: Add jwm Feng Shu
2023-01-29 11:12 ` [bug#61056] [PATCH v4 2/2] gnu: Add mjwm Feng Shu
2023-02-11 2:30 ` [bug#61056] [PATCH v5 1/2] gnu: Add jwm tumashu
2023-02-11 2:30 ` [bug#61056] [PATCH v5 2/2] gnu: Add mjwm tumashu
2023-02-11 2:55 ` [bug#61056] [PATCH v6 1/2] gnu: Add jwm tumashu
2023-02-11 2:55 ` [bug#61056] [PATCH v6 2/2] gnu: Add mjwm tumashu
2023-02-13 7:16 ` [bug#61056] [PATCH v7 1/2] gnu: Add jwm Feng Shu
2023-02-13 7:17 ` [bug#61056] [PATCH v7 2/2] gnu: Add mjwm Feng Shu
2023-02-13 10:45 ` [bug#61056] [PATCH v8 1/2] gnu: Add jwm Feng Shu
2023-02-13 10:45 ` [bug#61056] [PATCH v8 2/2] gnu: Add mjwm Feng Shu
2023-02-13 10:49 ` Feng Shu [this message]
2023-02-13 10:49 ` Feng Shu
2023-02-13 10:56 ` [bug#61056] Please review v8 version of jwm/mjwm patch Feng Shu
2023-03-06 7:46 ` [bug#61056] [PATCH] gnu: Add jwm 宋文武 via Guix-patches via
2023-03-06 8:04 ` 宋文武 via Guix-patches via
2023-03-06 12:11 ` Feng Shu
2023-03-07 1:08 ` bug#61056: " 宋文武 via Guix-patches via
2023-02-28 22:04 ` [bug#61056] " Feng Shu
2023-03-06 7:47 ` [bug#61056] [PATCH 1/2] " iyzsong--- via Guix-patches via
2023-03-06 7:47 ` [bug#61056] [PATCH 2/2] gnu: Add mjwm iyzsong--- via Guix-patches via
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87v8k5on6i.fsf@163.com \
--to=tumashu@163.com \
--cc=61056@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.