I'm currently in the process of rewriting this in a different more suitable language, this will take some time since I have full-time study. The language of choice is Rust. I'll be reordering branches and keep the old bash version intact.
I'll be keeping a checklist with features I want to implement in the new captain, suggestions are welcome as always.
Configuration
[ ] Convert the configuration format to YAML.
Core section
[ ] Back- and foreground colors of the entire bar.
[ ] Simplistic formatting, very much like the existing one.
[ ] Setting (all) of geometry options in the flag.
[ ] Font(s).
[ ] Offset within the bar.
[ ] Force docking for not EWHM compliant window managers.
Miscellaneous sections
Originally I went for a simplistic look and flow in captain, but after having implemented manual mode I was really unsatisfied with the flow. It didn't feel right and kind of stood out. I'm hoping to find a better more... natural way of giving this freedom without going through too much hassle. For the time being I'm leaving this as a separate section with only a single check box before we move towards the specifics.
[ ] Think this through sigh.
Separate scripts
I'm quite pleased with the current approach, having the scripts nicely ordered in a separate directory. I did feel however they're a little disconnected still, and currently also quite limited due to only allowing bash. I think it will be quite easy to allow scripts of any language to be used. Another thing I consider is having to specify whether to template the file or not in a header variable or something. This will be the least work honestly.
[ ] Make a final decision on this.
These are my biggest concerns and thought currently. I'll likely update this post from time to time as my progress evolves and my mind expands. Below are a few things I want to quickly bring to mind regarding the biggest changes to Captain.
Dependencies
It's quite obvious, but I'm covering it anyway. The dependencies will change, they won't be bash & python, but Rust and Cargo (Lemonbar and Git are still dependencies... duh). This should be quite easy to install on most distributions.
Rust being a fast developing language, the Debian repositories will likely lack the most recent versions
Locating
It was kind of wacky currently, having users move their stuff in the right location manually. I do believe Cargo offers a feature to automate this, otherwise good 'ol Make will have to do. Just nothing that it will be simplified.
Do let me know what you think/feel about this and current captain, what would you want implemented or rethought.
I'm currently in the process of rewriting this in a different more suitable language, this will take some time since I have full-time study. The language of choice is Rust. I'll be reordering branches and keep the old bash version intact.
I'll be keeping a checklist with features I want to implement in the new captain, suggestions are welcome as always.
Configuration
Core section
Miscellaneous sections
Originally I went for a simplistic look and flow in captain, but after having implemented manual mode I was really unsatisfied with the flow. It didn't feel right and kind of stood out. I'm hoping to find a better more... natural way of giving this freedom without going through too much hassle. For the time being I'm leaving this as a separate section with only a single check box before we move towards the specifics.
Separate scripts
I'm quite pleased with the current approach, having the scripts nicely ordered in a separate directory. I did feel however they're a little disconnected still, and currently also quite limited due to only allowing bash. I think it will be quite easy to allow scripts of any language to be used. Another thing I consider is having to specify whether to template the file or not in a header variable or something. This will be the least work honestly.
These are my biggest concerns and thought currently. I'll likely update this post from time to time as my progress evolves and my mind expands. Below are a few things I want to quickly bring to mind regarding the biggest changes to Captain.
Dependencies
It's quite obvious, but I'm covering it anyway. The dependencies will change, they won't be bash & python, but Rust and Cargo (Lemonbar and Git are still dependencies... duh). This should be quite easy to install on most distributions.
Rust being a fast developing language, the Debian repositories will likely lack the most recent versions
Locating
It was kind of wacky currently, having users move their stuff in the right location manually. I do believe Cargo offers a feature to automate this, otherwise good 'ol Make will have to do. Just nothing that it will be simplified.
Do let me know what you think/feel about this and current captain, what would you want implemented or rethought.