aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2021-07-01 07:23:02 +0000
committerJan Beich <jbeich@FreeBSD.org>2021-07-01 13:21:59 +0000
commit123b1571faa645e3e06e74c27e5bd92ec5b6bda0 (patch)
treebee476023139ecc225f495013896c77b849396c0
parentea3170c51fd458d6f3bc90bfea7f194ec9e22cca (diff)
downloadports-123b1571faa645e3e06e74c27e5bd92ec5b6bda0.tar.gz
ports-123b1571faa645e3e06e74c27e5bd92ec5b6bda0.zip
x11/swayr: add new port
Swayr consists of a demon, and a client. The demon swayrd records window/workspace creations, deletions, and focus changes using sway's JSON IPC interface. The client swayr offers subcommands, see swayr --help, and sends them to the demon which executes them. Right now, there are these subcommands: * next-window focuses the next window in depth-first iteration order of the tree. * prev-window focuses the previous window in depth-first iteration order of the tree. * switch-window displays all windows in the order urgent first, then last-recently-used, focused last and focuses the selected. * quit-window displays all windows and quits the selected one. * switch-to-urgent-or-lru-window switches to the next window with urgency hint (if any) or to the last recently used window. * switch-workspace displays all workspaces in LRU order and switches to the selected one. * switch-workspace-or-window displays all workspaces and their windows and switches to the selected workspace or window. * quit-workspace-or-window displays all workspaces and their windows and allows to quit either the selected workspace (all its windows) or the selected window. * execute-swaymsg-command displays most swaymsg which don't require additional input and executes the selected one. That's handy especially for less often used commands not bound to a key. * execute-swayr-command displays all commands above and executes the selected one. (This is useful for accessing swayr commands which are not bound to a key.) WWW: https://sr.ht/~tsdh/swayr/
-rw-r--r--x11/Makefile1
-rw-r--r--x11/swayr/Makefile66
-rw-r--r--x11/swayr/distinfo95
-rw-r--r--x11/swayr/pkg-descr30
4 files changed, 192 insertions, 0 deletions
diff --git a/x11/Makefile b/x11/Makefile
index 8e57835f604a..28897f840117 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -339,6 +339,7 @@
SUBDIR += swayidle
SUBDIR += swaylock
SUBDIR += swaylock-effects
+ SUBDIR += swayr
SUBDIR += sxhkd
SUBDIR += sxpc
SUBDIR += tabbed
diff --git a/x11/swayr/Makefile b/x11/swayr/Makefile
new file mode 100644
index 000000000000..b7d9b37a4743
--- /dev/null
+++ b/x11/swayr/Makefile
@@ -0,0 +1,66 @@
+PORTNAME= swayr
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.4.4
+CATEGORIES= x11
+MASTER_SITES= https://git.sr.ht/~tsdh/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/
+# XXX Teach USES=cargo to not override default DISTFILES
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= Urgent-first/LRU window switcher for sway
+
+LICENSE= GPLv3+
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= cargo
+PLIST_FILES= bin/${PORTNAME} \
+ bin/${PORTNAME}d
+
+CARGO_CRATES= atty-0.2.14 \
+ autocfg-1.0.1 \
+ bitflags-1.2.1 \
+ cfg-if-1.0.0 \
+ clap-3.0.0-beta.2 \
+ clap_derive-3.0.0-beta.2 \
+ directories-3.0.2 \
+ dirs-sys-0.3.6 \
+ getrandom-0.2.3 \
+ hashbrown-0.11.2 \
+ heck-0.3.3 \
+ hermit-abi-0.1.19 \
+ indexmap-1.7.0 \
+ itoa-0.4.7 \
+ lazy_static-1.4.0 \
+ libc-0.2.97 \
+ os_str_bytes-2.4.0 \
+ proc-macro-error-1.0.4 \
+ proc-macro-error-attr-1.0.4 \
+ proc-macro2-1.0.27 \
+ quote-1.0.9 \
+ redox_syscall-0.2.9 \
+ redox_users-0.4.0 \
+ ryu-1.0.5 \
+ serde-1.0.126 \
+ serde_derive-1.0.126 \
+ serde_json-1.0.64 \
+ strsim-0.10.0 \
+ swayipc-3.0.0-alpha.3 \
+ swayipc-types-1.0.0-alpha.3 \
+ syn-1.0.73 \
+ termcolor-1.1.2 \
+ textwrap-0.12.1 \
+ thiserror-1.0.25 \
+ thiserror-impl-1.0.25 \
+ toml-0.5.8 \
+ unicode-segmentation-1.7.1 \
+ unicode-width-0.1.8 \
+ unicode-xid-0.2.2 \
+ vec_map-0.8.2 \
+ version_check-0.9.3 \
+ wasi-0.10.2+wasi-snapshot-preview1 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-util-0.1.5 \
+ winapi-x86_64-pc-windows-gnu-0.4.0
+
+.include <bsd.port.mk>
diff --git a/x11/swayr/distinfo b/x11/swayr/distinfo
new file mode 100644
index 000000000000..fb8a72c2683c
--- /dev/null
+++ b/x11/swayr/distinfo
@@ -0,0 +1,95 @@
+TIMESTAMP = 1624869614
+SHA256 (swayr-v0.4.4.tar.gz) = 48ed36b6404763a25bed4a2fee654b463677b54f307632ecb923504549e2c709
+SIZE (swayr-v0.4.4.tar.gz) = 121927
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
+SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
+SHA256 (rust/crates/bitflags-1.2.1.crate) = cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693
+SIZE (rust/crates/bitflags-1.2.1.crate) = 16745
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/clap-3.0.0-beta.2.crate) = 4bd1061998a501ee7d4b6d449020df3266ca3124b941ec56cf2005c3779ca142
+SIZE (rust/crates/clap-3.0.0-beta.2.crate) = 141105
+SHA256 (rust/crates/clap_derive-3.0.0-beta.2.crate) = 370f715b81112975b1b69db93e0b56ea4cd4e5002ac43b2da8474106a54096a1
+SIZE (rust/crates/clap_derive-3.0.0-beta.2.crate) = 23425
+SHA256 (rust/crates/directories-3.0.2.crate) = e69600ff1703123957937708eb27f7a564e48885c537782722ed0ba3189ce1d7
+SIZE (rust/crates/directories-3.0.2.crate) = 15593
+SHA256 (rust/crates/dirs-sys-0.3.6.crate) = 03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780
+SIZE (rust/crates/dirs-sys-0.3.6.crate) = 10626
+SHA256 (rust/crates/getrandom-0.2.3.crate) = 7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753
+SIZE (rust/crates/getrandom-0.2.3.crate) = 26261
+SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
+SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
+SHA256 (rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c
+SIZE (rust/crates/heck-0.3.3.crate) = 10260
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/indexmap-1.7.0.crate) = bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5
+SIZE (rust/crates/indexmap-1.7.0.crate) = 50363
+SHA256 (rust/crates/itoa-0.4.7.crate) = dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736
+SIZE (rust/crates/itoa-0.4.7.crate) = 12099
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/libc-0.2.97.crate) = 12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6
+SIZE (rust/crates/libc-0.2.97.crate) = 517712
+SHA256 (rust/crates/os_str_bytes-2.4.0.crate) = afb2e1c3ee07430c2cf76151675e583e0f19985fa6efae47d6848a3e2c824f85
+SIZE (rust/crates/os_str_bytes-2.4.0.crate) = 14657
+SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
+SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
+SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
+SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
+SHA256 (rust/crates/proc-macro2-1.0.27.crate) = f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038
+SIZE (rust/crates/proc-macro2-1.0.27.crate) = 38625
+SHA256 (rust/crates/quote-1.0.9.crate) = c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7
+SIZE (rust/crates/quote-1.0.9.crate) = 25042
+SHA256 (rust/crates/redox_syscall-0.2.9.crate) = 5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee
+SIZE (rust/crates/redox_syscall-0.2.9.crate) = 23533
+SHA256 (rust/crates/redox_users-0.4.0.crate) = 528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64
+SIZE (rust/crates/redox_users-0.4.0.crate) = 13023
+SHA256 (rust/crates/ryu-1.0.5.crate) = 71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e
+SIZE (rust/crates/ryu-1.0.5.crate) = 49570
+SHA256 (rust/crates/serde-1.0.126.crate) = ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03
+SIZE (rust/crates/serde-1.0.126.crate) = 75138
+SHA256 (rust/crates/serde_derive-1.0.126.crate) = 963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43
+SIZE (rust/crates/serde_derive-1.0.126.crate) = 54189
+SHA256 (rust/crates/serde_json-1.0.64.crate) = 799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79
+SIZE (rust/crates/serde_json-1.0.64.crate) = 115138
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/swayipc-3.0.0-alpha.3.crate) = 9cd9a688c43e93f1e1d2b2366a5403815b8017dd5f9cdaf51ae8ae9ae8fba5d0
+SIZE (rust/crates/swayipc-3.0.0-alpha.3.crate) = 3705
+SHA256 (rust/crates/swayipc-types-1.0.0-alpha.3.crate) = e125745767953fbbea5ba38caede26c89e4aeaf741afff7eb655967611b695d6
+SIZE (rust/crates/swayipc-types-1.0.0-alpha.3.crate) = 5648
+SHA256 (rust/crates/syn-1.0.73.crate) = f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7
+SIZE (rust/crates/syn-1.0.73.crate) = 232706
+SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4
+SIZE (rust/crates/termcolor-1.1.2.crate) = 17287
+SHA256 (rust/crates/textwrap-0.12.1.crate) = 203008d98caf094106cfaba70acfed15e18ed3ddb7d94e49baec153a2b462789
+SIZE (rust/crates/textwrap-0.12.1.crate) = 23964
+SHA256 (rust/crates/thiserror-1.0.25.crate) = fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6
+SIZE (rust/crates/thiserror-1.0.25.crate) = 16690
+SHA256 (rust/crates/thiserror-impl-1.0.25.crate) = 8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d
+SIZE (rust/crates/thiserror-impl-1.0.25.crate) = 13364
+SHA256 (rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
+SIZE (rust/crates/toml-0.5.8.crate) = 54219
+SHA256 (rust/crates/unicode-segmentation-1.7.1.crate) = bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796
+SIZE (rust/crates/unicode-segmentation-1.7.1.crate) = 93066
+SHA256 (rust/crates/unicode-width-0.1.8.crate) = 9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3
+SIZE (rust/crates/unicode-width-0.1.8.crate) = 16732
+SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
+SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
+SHA256 (rust/crates/vec_map-0.8.2.crate) = f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191
+SIZE (rust/crates/vec_map-0.8.2.crate) = 14466
+SHA256 (rust/crates/version_check-0.9.3.crate) = 5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe
+SIZE (rust/crates/version_check-0.9.3.crate) = 12547
+SHA256 (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6
+SIZE (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = 27505
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
+SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
diff --git a/x11/swayr/pkg-descr b/x11/swayr/pkg-descr
new file mode 100644
index 000000000000..0647140a559e
--- /dev/null
+++ b/x11/swayr/pkg-descr
@@ -0,0 +1,30 @@
+Swayr consists of a demon, and a client. The demon swayrd records
+window/workspace creations, deletions, and focus changes using sway's
+JSON IPC interface. The client swayr offers subcommands, see swayr
+--help, and sends them to the demon which executes them.
+
+Right now, there are these subcommands:
+* next-window focuses the next window in depth-first iteration order of the
+ tree.
+* prev-window focuses the previous window in depth-first iteration order of
+ the tree.
+* switch-window displays all windows in the order urgent first, then
+ last-recently-used, focused last and focuses the selected.
+* quit-window displays all windows and quits the selected one.
+* switch-to-urgent-or-lru-window switches to the next window with urgency
+ hint (if any) or to the last recently used window.
+* switch-workspace displays all workspaces in LRU order and switches to the
+ selected one.
+* switch-workspace-or-window displays all workspaces and their windows and
+ switches to the selected workspace or window.
+* quit-workspace-or-window displays all workspaces and their windows and
+ allows to quit either the selected workspace (all its windows) or the
+ selected window.
+* execute-swaymsg-command displays most swaymsg which don't require
+ additional input and executes the selected one. That's handy especially for
+ less often used commands not bound to a key.
+* execute-swayr-command displays all commands above and executes the selected
+ one. (This is useful for accessing swayr commands which are not bound to a
+ key.)
+
+WWW: https://sr.ht/~tsdh/swayr/