I’ve spent quite a while of my spare time writing a X11 window manager over the past couple weeks, as a fun side project.
It is:
reparenting (draws titlebars)
floating (a tiling layout is also planned)
IPC based
has tags (right now they only function like workspaces, but it’s very trivial to add IPC commands for more complicated use-cases)
written in pure Rust (later rewritten in Nim)
Check it out!
34 Likes
Looks pretty interesting! This won’t show up as an option at login or under an icon one has to click to start it at login, will it?
1 Like
manuel
October 2, 2021, 10:22am
4
@codic12
Are you planning to write a PKGBUILD for it?
2 Likes
if you need more screenshots for this, i can help you
1 Like
I’m on it
Edit : @moson did it. Thanks!
4 Likes
Thanks, I have no idea how
1 Like
well, it can by constructing a simple worm.desktop file and putting it in /usr/share/xsessions:
[Desktop Entry]
Encoding=UTF-8
Name=Worm
Comment=Floating, tag based window manager
Exec=worm
Type=XSession
(here worm should be in the global path, or otherwise you can change the Exec= line to point to it).
I’ll add these instructions to the readme too.
1 Like
moson
October 2, 2021, 3:40pm
10
PKGBUILD
_pkgbase='worm'
pkgname='worm-git'
pkgdesc="A floating, tag-based window manager written in Rust"
pkgver=0.1.0.7.g15c2d00
pkgrel=1
arch=('x86_64')
url="https://github.com/codic12/worm"
license=('unknown')
makedepends=('cargo')
source=("$_pkgbase::git+$url.git")
sha256sums=('SKIP')
pkgver() {
cd "$_pkgbase"
echo "$(grep '^version =' Cargo.toml|head -n1|cut -d\" -f2|cut -d\- -f1).$(git rev-list --count HEAD).g$(git rev-parse --short HEAD)"
}
build(){
cd "$_pkgbase"
cargo build --release --locked
}
package() {
cd "$_pkgbase"
install -D -m755 "target/release/worm" "$pkgdir/usr/bin/worm"
install -D -m755 "target/release/wormc" "$pkgdir/usr/bin/wormc"
}
Not sure what to put as deps though. xorg obviously.
I’m just getting a black screen when I run worm though
@codic12 You may want to add a license.
I can publish it to the AUR if you want.
7 Likes
I’m just getting a black screen when I run worm though
yeah, I haven’t added an autostart script yet, so that’s expected; you can go to another tty and do DISPLAY=:1 someapp
(or if you don’t have another wm running somewhere else, set DISPLAY to :0
). I’ll get to the autostart script later today, that should be fairly trivial.
Thanks for packaging! Added a MIT license, I think the xorg dep is enough for runtime.
Feel free to publish it to the AUR!
5 Likes
I’ve just added support for autostarting. You can make an executable ~/.config/worm/autostart and it will run.
5 Likes
moson
October 2, 2021, 4:58pm
13
Github is good with timezones lol
3 Likes
My laptop’s timezone is broken and I never bothered to fix it; probably from that
moson
October 2, 2021, 5:32pm
15
Here’s the AUR package:
https://aur.archlinux.org/packages/worm-git/
testers are welcome.
12 Likes
Thanks a lot!
I’ve added a link to the README. The package works perfectly on my system.
4 Likes
Will test as soon as I can! Thank you for your work!
1 Like
moson
October 2, 2021, 6:26pm
18
If you want to make versioned releases at some point, let me know.
Then we can add a “normal”/versioned -worm- package as well.
5 Likes
This is fantastic. Great work @codic12 !
3 Likes
Congrats grate work.
I’m just out of curiosity. The worm is like a tiling WM but with tiling? And tags, are they the numbers that show up in the Awesome bar? or is it something else?
1 Like