quick start

start here!

installing

download the latest installer. workspacer automatically checks for updates.

configuring

by default, workspacer loads a default configuration, but you will likely want to customize this in order to do things like modify the widgets on the bar, add workspaces, switch workspace containers, or otherwise change the default behavior of workspacer.

a config file can be generated by right clicking the “workspacer” system tray icon, and selecting the option to create an example config in:

C:\Users\<username>\.workspacer\workspacer.config.csx

workspacer is configured in the C# language, using types and interfaces provided by workspacer itself. this means that while workspacer requires knowledge of programming to use, it’s configuration is extremely powerful, and allows you to modify, or even replace, most functionality that drives workspacer. for example, a common use case is to implement a custom layout engine (just define a class that satisfies the interface ILayoutEngine) entirely inside the config file, and then use it to define completely custom layout behavior, without needing to modify workspacer itself.

workspacer’s config file allows for type checking and intellisense! currently, only VSCode with the C# extension is supported. opening the .workspacer folder in your home directory inside VSCode with the C# extension installed will provide syntax highlighting, type checking, and autocomplete automatically because of the #r directives at the top of the config file (so don’t remove those, or else this won’t work!).

the config page lists a few examples and tips/tricks on how to customize your configuration to your liking.

learning

workspacer’s default configuration behaves like other tiling window managers, but deviates where not possible due to limitations in Win32 that prevent controlling windows in the same way a tiling window manager would be able to when controlling the actual management of windows like an X11 based window manager.

the keybindings page describes the default set of keybindings.

submit feedback!

if you run into any bugs, or want to suggest a feature, please feel free to open an issue!