Just downloaded it and I have some pretty specific/opinionated requests already :P
I like it when the config file is explicit - as in that there are no defaults outside of what is specified in the config file. This way it's very easy for a new user (like me) to edit things like keybinds, colors, etc. without having to basically recreate the default config to then edit it.
Also, since I'm an i3 user, I'd like if there was the possibility of navigating windows using directions instead of in a sequence, and to create layouts on the fly by doing splits and resizing. Maybe this is already possible by writing some code in the code though?
Nothing too important, but thought I'd voice my initial thoughts. Thanks for your work!
I'll go ahead and plug my dmenu equivalent[0], since that's also something I use when on Windows and which someone might find useful.
on default config: yeah, I'm not sure what the best story is here. I would like the out of the box experience to be nice, and I want to be able to configure anything, but I also want to be able to ship nice improvements to the defaults without making all users update their own config. For example, I just pushed a commit that adds a default ignore for a new start menu process in 1903. If I place that ignore in the "template" for the config file, then all users with a custom config will need to somehow diff their config with the default. I am 10000% open to suggestions on how to make this better.
On the fly layouts would be neat. Since layouts are just an instance of ILayoutEngine, you could probably just write a bunch of custom code to allow you to make splits however you want. I would be super interested in seeing what this looks like!
wlines is awesome! There is a feature in workspacer similar to dmenu called "menus", but there are a few bugs, mostly around it sometimes not showing up in focus, which is a pain. I have some config on my work machine that lets me press alt-shift-p and navigate to a bunch of work projects I maintain, only typing the first few characters of the project I'm looking for.
The way most software I've seen resolve this is to have a defaults config file and a user config file. defaults is defined by the application maintainers and the user config overrides any settings in the defaults.
So you can do updates to the defaults but if users wanted to specify specific customisations those would be preserved. Also users can browser the defaults config and copy/paste chunks of that config into the user config file.
Those files are often named differently and/or located in different parts of the file system hierarchy; but the concept is the same.
right now, configuring workspacer is a very imperative, mutable process, because you just setup instances of objects, and call functions that setup some state. some care would need to be taken to design an API that could be "layered" in that it could be easily overridden by the user. this is a good idea!
Might be just as easy as making sure that all of your defaults are documented in the doc-comments of relevant properties and encouraging people to use CSX editors that have good documentation tooltips for API exploration (like VS Code with OmniSharp)?
I like it when the config file is explicit - as in that there are no defaults outside of what is specified in the config file. This way it's very easy for a new user (like me) to edit things like keybinds, colors, etc. without having to basically recreate the default config to then edit it.
Also, since I'm an i3 user, I'd like if there was the possibility of navigating windows using directions instead of in a sequence, and to create layouts on the fly by doing splits and resizing. Maybe this is already possible by writing some code in the code though?
Nothing too important, but thought I'd voice my initial thoughts. Thanks for your work!
I'll go ahead and plug my dmenu equivalent[0], since that's also something I use when on Windows and which someone might find useful.
[0]: https://github.com/jerwuqu/wlines