You are not logged in.
I'm currently experimenting with changing the window decorations because now that I have a bigger monitor, I can afford to give up a small amount of screen real estate in exchange for a big improvement in the ease of seeing which of the windows on the screen is in focus. This is my best result so far;
# Window Decoration
border_width = 6
color_focus = rgb:7f/ff/00 #Chartreuse1
color_unfocus = rgb:2e/8b/57 #SeaGreen4
tile_gap = 4
I've also moved the bar to the top of the screen, changed the bar border colours to a darker colour, SeaGreen4 (the same as that of the unfocused window border) as this enables the window in focus to "stand out" more, and also the bar font;
# PLEASE READ THE MAN PAGE BEFORE EDITING THIS FILE #
# Important
# Mod key, (Windows key is Mod4) (Apple key on OSX is Mod2)
modkey = Mod4
# Workspaces and Layout
workspace_limit = 10 # I don't need more than this.
# Changes to Defaults
# The next two entries replace the default Mod+Space. Why? By default, this command cycles between the different layouts (vertical, horizontal, full screen). I seldom need to do this whereas I very frequently need to alternate the focus between main and stack. So I set Mod+Space to toggle focus_main and use Mod+c to cycle the layout.
bind[focus_main] = Mod+space
bind[cycle_layout] = Mod+c
# Other (minor) changes to defaults
bind[] = Mod+Shift+Delete # I don't need to lock the screen and I want to avoid doing so accidentally, so disable the default.
# Window Decoration
border_width = 6
color_focus = rgb:7f/ff/00 #Chartreuse1
color_unfocus = rgb:2e/8b/57 #SeaGreen4
tile_gap = 4
# Bar Settings
bar_enabled = 1
bar_border_width = 6
bar_border[1] = rgb:2e/8b/57 #SeaGreen4
bar_border_unfocus[1] = rgb:2e/8b/57 #SeaGreen4
bar_font_color[1] = whitesmoke
bar_font = Terminus:style=Regular:pixelsize=18:antialias=true
bar_format = %a %b %d %R +S +F +L +V
bar_at_bottom = 0
# Miscellaneous
iconic_enabled = 1 # occasionally useful
# Programs
program[term] = xterm
# Quirks
quirk[Xsane:xsane] = FLOAT + ANYWHERE
quirk[Gimp:gimp] = FLOAT + ANYWHERE
I can see why spectrwm is Anthony Campbell's favourite window manager; it's so easy both to configure and to apply a changed configuration on the fly.
Last edited by Colonel Panic (2022-03-16 18:46:34)
Offline
Further acquaintance with spectrwm has revealed a couple of snags and shortcomings compared to other tiling WMs. For example, the workspace tags aren't clickable as they are in dwm and i3, and when you move an application window to another workspace, any windows that you "spawn" from the application window will open in the original workspace that the application window was in rather than in the new workspace.
Still very usable though, and I will continue to use it; it's just that I won't be giving up on dwm, i3 or any other window manager for its sake. The search for the ideal tiling manager (if there is such a thing) goes on.
Last edited by Colonel Panic (2022-04-12 20:23:00)
Offline
I've been doing some more work on my spectrwm configuration file, and I've discovered that what I thought was a bug concerning windows spawning from the original workspace is in fact the result of a design decision rather than a bug as I thought (so sorry spectrwm devs for accusing you falsely). Here's the discussion that covers it;
https://github.com/conformal/spectrwm/issues/11
Thanks to Lord Reg in this discussion too, who mentions the solution;
quirk[.*] = IGNORESPAWNWS + IGNOREPID
I've also added a big list of keybindings which I found elsewhere on the Internet, after making a couple of small changes to suit my own preferences; it probably saved me hours of work. So thanks to Surya Manikhandan, aerospace engineering student at Purdue, for these.
I've kept Surya's original format for the time being because I'm more interested in how well it works than in how consistent the formatting is, but that may change when I have some more time (and energy); however, I've deleted some of the bindings that don't seem to work with my keyboard. I'm sorry if this is exhausting to read but trust me, I'm glad to have gotten to the end of editing it as well. I expect my arms will be sore tomorrow.
Here's the whole file;
# PLEASE READ THE MAN PAGE BEFORE EDITING THIS FILE #
# Important
# Mod key, (Windows key is Mod4) (Apple key on OSX is Mod2)
modkey = Mod4
# Workspaces and Layout
workspace_limit = 22 # This is the practical limit of the keyboard (0-9 and F1 - F12).
# Changes to Defaults
# The next two entries replace the default Mod+Space. Why? By default, this command cycles between the different layouts (vertical, horizontal, full screen). I seldom need to do this whereas I very frequently need to alternate the focus between main and stack. So I set Mod+Space to toggle focus_main and use Mod+c to cycle the layout.
bind[focus_main] = Mod+space
bind[cycle_layout] = Mod+c
# The next entry replaces the spectrwm default quit command with the i3 one;
bind[quit] = Mod+Shift+e
# Other (minor) changes to defaults
bind[] = Mod+Shift+Delete # I don’t need to lock the screen and I want to avoid doing so accidentally, so disable the default.
bind[] = Mod+Shift+Q # I want to avoid quitting the window manager accidentally.
# Window Decoration
border_width = 6
color_focus = rgb:7f/ff/00 #Chartreuse1
color_unfocus = rgb:2e/8b/57 #SeaGreen4
tile_gap = 4
# Bar Settings
bar_enabled = 1
bar_border_width = 6
bar_border[1] = rgb:2e/8b/57 #SeaGreen4
bar_border_unfocus[1] = rgb:2e/8b/57 #SeaGreen4
bar_font_color[1] = whitesmoke
bar_font = Terminus:style=Regular:pixelsize=18:antialias=true
bar_format = %a %b %d %R +S +F +L +V
bar_at_bottom = 0
# Miscellaneous
iconic_enabled = 1 # occasionally useful
# Programs
program[term] = xterm
# Quirks
quirk[.*] = IGNORESPAWNWS + IGNOREPID
quirk[Xsane:xsane] = FLOAT + ANYWHERE
quirk[Gimp:gimp] = FLOAT + ANYWHERE
# My key bindings, excepting a couple of changes, are with thanks to this guy;
#---------------------------------------#
# ___ ___ #
# /\__\ /\ \ #
# /:/ _/_ |::\ \ #
# /:/ /\ \ |:|:\ \ #
# /:/ /::\ \ __|:|\:\ \ #
# /:/_/:/\:\__\ /::::|_\:\__\ #
# \:\/:/ /:/ / \:\~~\ \/__/ #
# \::/ /:/ / \:\ \ #
# \/_/:/ / \:\ \ #
# /:/ / \:\__\ #
# \/__/ \/__/ #
# #
# ~SpectrWM Key Config~ #
# Feb. 04, 2022 #
# #
# Surya Manikhandan #
# Aerospace Eng. Student @ Purdue #
# #
# [E]:smanikha@purdue.edu #
# [In]:linkedin.com/in/aerospacesurya #
# [Git]: github.com/realsurya #
#---------------------------------------#
# My custom keybind config for SpectreWM
#####################################
# QUICK CONTROL & LAUNCH #
#####################################
bind[term] = MOD+Return
bind[restart] = MOD+r
bind[quit] = MOD+Shift+e
bind[menu] = MOD+d
bind[bar_toggle] = MOD+b
bind[bar_toggle_ws] = MOD+Shift+b
#####################################
# WINDOW SIZING & PLACEMENT #
#####################################
bind[float_toggle] = MOD+f
bind[width_grow] = MOD+Shift+l
bind[width_shrink] = MOD+Shift+j
bind[height_grow] = MOD+Shift+k
bind[height_shrink] = MOD+Shift+i
bind[move_up] = MOD+i
bind[move_down] = MOD+k
bind[move_left] = MOD+j
bind[move_right] = MOD+l
bind[wind_del] = MOD+q
bind[wind_kill] = MOD+Shift+q
bind[swap_next] = MOD+Shift+Right
bind[swap_prev] = MOD+Shift+Left
bind[focus_next] = MOD+Right
bind[focus_prev] = MOD+Left
bind[stack_dec] = MOD+Shift+Down
bind[stack_inc] = MOD+Shift+Up
bind[cycle_layout] = MOD+slash
################################
# WORKSPACE NAVIGATION #
################################
bind[ws_1] = MOD+1
bind[ws_2] = MOD+2
bind[ws_3] = MOD+3
bind[ws_4] = MOD+4
bind[ws_5] = MOD+5
bind[ws_6] = MOD+6
bind[ws_7] = MOD+7
bind[ws_8] = MOD+8
bind[ws_9] = MOD+9
bind[ws_10] = MOD+0
bind[ws_11] = MOD+F1
bind[ws_12] = MOD+F2
bind[ws_13] = MOD+F3
bind[ws_14] = MOD+F4
bind[ws_15] = MOD+F5
bind[ws_16] = MOD+F6
bind[ws_17] = MOD+F7
bind[ws_18] = MOD+F8
bind[ws_19] = MOD+F9
bind[ws_20] = MOD+F10
bind[ws_21] = MOD+F11
bind[ws_22] = MOD+F12
bind[mvws_1] = MOD+Shift+1
bind[mvws_2] = MOD+Shift+2
bind[mvws_3] = MOD+Shift+3
bind[mvws_4] = MOD+Shift+4
bind[mvws_5] = MOD+Shift+5
bind[mvws_6] = MOD+Shift+6
bind[mvws_7] = MOD+Shift+7
bind[mvws_8] = MOD+Shift+8
bind[mvws_9] = MOD+Shift+9
bind[mvws_10] = MOD+Shift+0
bind[mvws_11] = MOD+Shift+F1
bind[mvws_12] = MOD+Shift+F2
bind[mvws_13] = MOD+Shift+F3
bind[mvws_14] = MOD+Shift+F4
bind[mvws_15] = MOD+Shift+F5
bind[mvws_16] = MOD+Shift+F6
bind[mvws_17] = MOD+Shift+F7
bind[mvws_18] = MOD+Shift+F8
bind[mvws_19] = MOD+Shift+F9
bind[mvws_20] = MOD+Shift+F10
bind[mvws_21] = MOD+Shift+F11
bind[mvws_22] = MOD+Shift+F12
bind[ws_prior] = MOD+a
bind[initscr] = MOD+Shift+i
bind[button2] = MOD+v
bind[flip_layout] = MOD+Shift+backslash
bind[focus_main] = MOD+m
bind[focus_urgent] = MOD+u
bind[iconify] = MOD+w
bind[master_grow] = MOD+l
bind[master_shrink] = MOD+h
bind[maximize_toggle] = MOD+e
bind[name_workspace] = MOD+Shift+slash
bind[raise_toggle] = MOD+Shift+r
bind[search_win] = MOD+f
bind[search_workspace] = MOD+slash
bind[uniconify] = MOD+Shift+w
bind[version] = MOD+Shift+v
################################
# UNBOUND #
################################
# bind[stack_reset] = <keys>
# bind[master_add] = <keys>
# bind[master_del] = <keys>
Last edited by Colonel Panic (2023-01-19 08:03:59)
Offline
Here's a link to Surya's original keys configuration file, in case someone can get them all to work better (or more of them to work) than I was able to;
https://github.com/realsurya/spectrwm-c … _keys.conf
The 22 workspaces were Surya's idea btw, not mine; I don't need or want as many as that, though I'm keeping them for the time being. I also changed the "end session" key combination to Ctrl-Mod-e to bring it in line with i3, which I also use a lot and to stop me exiting the whole session by mistake when all I want to do is quit the application.
Last edited by Colonel Panic (2023-01-18 17:10:28)
Offline
Don't know if anyone cares but I'm back with Anthony Campbell's configuration (of spectrwm) again. It's more basic than the last one I posted here and perhaps a bit less pretty but it all works, which couldn't be said of that last one.
Small, incremental changes (if any) from now on. BTW, spectrwm's still a great tiling manager IMO; the only thing it lacks, as far as I can see (if anything) are clickable tags to take you straight to a given workspace.
Edit; here's the latest edition of the configuration file, with the respawning quirk in place, the i3 shutdown sequence and the full 18 workspaces;
# PLEASE READ THE MAN PAGE BEFORE EDITING THIS FILE #
# Important
# Mod key, (Windows key is Mod4) (Apple key on OSX is Mod2)
modkey = Mod4
# Workspaces and Layout
workspace_limit = 18 # I don't need more than this.
# Changes to Defaults
# The next two entries replace the default Mod+Space. Why? By default, this command cycles between the different layouts (vertical, horizontal, full screen). I seldom need to do this whereas I very frequently need to alternate the focus between main and stack. So I set Mod+Space to toggle focus_main and use Mod+c to cycle the layout.
bind[focus_main] = Mod+space
bind[cycle_layout] = Mod+c
# Other (minor) changes to defaults
bind[] = Mod+Shift+Delete # I don't need to lock the screen and I want to avoid doing so accidentally, so disable the default.
# Window Decoration
border_width = 6
color_focus = rgb:7f/ff/00 #Chartreuse1
color_unfocus = rgb:2e/8b/57 #SeaGreen4
tile_gap = 4
# Bar Settings
bar_enabled = 1
bar_border_width = 6
bar_border[1] = rgb:2e/8b/57 #SeaGreen4
bar_border_unfocus[1] = rgb:2e/8b/57 #SeaGreen4
bar_font_color[1] = whitesmoke
bar_font = Terminus:style=Regular:pixelsize=18:antialias=true
bar_format = %a %b %d %R +S +F +L +V
bar_at_bottom = 0
# Miscellaneous
iconic_enabled = 1 # occasionally useful
# Programs
program[term] = xterm
# Quirks
quirk[Xsane:xsane] = FLOAT + ANYWHERE
quirk[Gimp:gimp] = FLOAT + ANYWHERE
quirk[.*] = IGNORESPAWNWS + IGNOREPID
Last edited by Colonel Panic (2024-07-23 15:07:56)
Offline