Hahahaha damn, thanks!
Mephistopheles is the colour scheme that I'm using here.
Links: Emacs + terminal theme and vim theme.
PS: I'm using spectrwm as my window manager
i personally never tried it but spectrwm tries to be a mix of xmonad and dwm but is configurable through a single text file, no need to compile or anything
it also has a openbsd-like manpage
rev stands for a revision, so you either put a tag or a commit hash there.
to get the actual sha256, you can use nix-prefetch-git
Here's how you would do it, although there are probably errors, but still should tell you enough to get it done
{ ... }: { ... nixpkgs.overlays = [ prev: final: { spectrwm-master = prev.spectrwm.overrideAttrs ( _: { src = super.fetchFromGitHub { url = "https://github.com/conformal/spectrwm"; rev = "5b7298872e00aa23ba9fe7eb9a219296a98760ac"; # latest commit sha256 = "0qa6al684gqavnlcgm2glydkzsgf7d63f1vp0j7p5r8964rppi0p"; # from nix-prefetch-git for that commit }; }) }; ]; ... environment.systemPackages = with pkgs;[ ... spectrwm-master ]; ... }
I'm a recent convert to i3/sway, after a solid decade using spectrwm (which has not been ported to Wayland, I'm afraid).
I am still learning how to fully exploit the i3/sway tree model, so I was a bit perplexed when I found this binding in the default config:
```
# Move focus to the parent container
bindsym $mod+a focus parent
```
I had tried the binding, but even though I saw its effects, I wasn't sure what was it good for.
After reading your question, something clicked in my mind. I think it is the answer you are looking for!
Hope that it helps.
Happy hacking,
´´´0x40000e "spectrwm": () 1x1+0+0 +0+0´´´
Gosh darn it..
This is supposedly fixed in the master branch, but there has been no release in over a year - I'll just set corner and shadow excludes and sit down. I'll notice when a new release is here :)
Thanks folks.
strncpy is an attempt to solve the safety issues but doesn't really go far enough.
OpenBSD's standard library has an alternative (strlcpy) that does a much better job. You can see a portable implementation here.
Though personally, for my day-to-day C (the stuff that is fairly boring and performance isn't really an issue) then I tend to use higher level objects or APIs. str*cpy is still very low level creating potential room for munging of the raw data.
ctrl+f and search what you want, like resize, resize center, master grow, etc
Yes, you need the git version. The formal release is prior to this commit,
https://github.com/conformal/spectrwm/commit/c84d46e82f0976eef60a734c63b4faafd55fb156
Prior to it SWM_CLASS was not defined for the bar.
After a half of year on i3, I decided to try something stack-based, because i3's way of organizing windows is inconvenient for me. I tried dwm, but it's configuration is nightmare for anyone who isn't C programmer. I tried StumpWM, because I absolutely love Common Lisp, but it took too much time to configure it properly to suit my needs, and it's not stack-based so I had to implement stacking myself. But finally, I saw SpectrWM. And it's a brilliant piece of software. It's minimal and has relatively simple configuration file, short but comprehensive manpage, that describes all aspects of configuration, and it's stack-based, so window navigation is very fast.
I used to use gnome (still love it) and beforehand that I used i3, awesome, dwm. Now I use spectrwm and it's easily the best DE/WM I've used; configuration is basically zero effort to get a really great looking system with a clean workflow. You seem like maybe you would enjoy playing with it, even if you don't stick with it, so you should check it out. r/spectrwm and GitHub if you're curious.
WM: spectrwm with some code modifications to the bar.
I have added the ability to
-show workspace names only.
-change the mark for current and urgent empty and active.
-Also the ability to change the Icons for the stacking algorithm indicator (not shown here).
OS: void
Colorscheme: Onedark
Status bar: bash scripts
Terminal: alacritty
Launcher: dmenu
Font: Hack Nerd Font + custom Icons I made for the layout indicator
Teminal Font: Code New Roman
GTK Theme: Nordic
Dotfiles: here
About the monitors configuration, you can use arandr to setup them the way you want.
About spectrwm, it doesn't have right now the ability to pin/clamp a specific workspace to a specific screen, although there's someone already working in it as you can see in their repo, but it may take sometime to become a feature.
As far as I know (which is not a lot) i3wm is the only wm that assigns workspaces to specific screens, I've been trying to get the same behavior in Qtile but I haven't been successful yet.
So whenever I have a two monitor setup I use i3wm, and when I only have one screen I sometimes use spectrwm or qtile until one of those can give the ability to pin workspaces.
most programs will have an example/default config laying around in /usr
, there's probably a flag you can pass pacman so it outputs files installed with the package
spectrwm is inspired by xmonad and dwm. From their github:
> It was largely inspired by xmonad and dwm. Both are fine products but suffer from things like: crazy-unportable-language-syndrome, silly defaults, asymmetrical window layout, "how hard can it be?" and good old NIH. Nevertheless dwm was a phenomenal resource and many good ideas and code was borrowed from it. On the other hand xmonad has great defaults, key bindings and xinerama support but is crippled by not being written in C.
Basically spectrwm is a rewrite of xmonad into C
. Worth a look if you want to get rid of haskell dependencies.
Tiling window managers are this but on steroids. If you want to try one out, I'd recommend Spectrwm.
For a simpler example there's terminal multiplexers, which do the same thing but only in the terminal. Screen and Tmux are the big ones, but I recommend using abduco+dvtm.
Also: some DEs can be extended to have nicer tiling properties.
We needed a less technical update notice to complement the DCP0004 and matheusd's report. Someone has stepped up and wrote it best way he imagined.
If you don't want that, do it better. Write a replacement 1.4 update notice and submit it right next to this one. If it's good it will be more popular.
The "makers of Scrotwm" (now Spectrwm) did not write this, they are busy scaling Politeia as we talk here. The developers of btcsuite are still here, they don't write these texts either.
In my view the intent of this post was to notify users to upgrade, because more technical infrastructure operators are already aware. The post serves its purpose despite being "not representative".
I do have my Xorg.0.log, if you'd like to see that..perhaps I missed an important informational message about the issue.
Since I'm on arch, I've tried reinstalling the spectrwm package (and its dependencies), but that still didn't work. How would I go about compiling spectrwm? Do I just download the source code (on GitHub) and make -> install it? Sorry, I'm not that familiar with manually compiling things.
EDIT: Reinstallation was done via pacman.