muse / captain Goto Github PK
View Code? Open in Web Editor NEWA dynamic lemonbar script written almost entirely in bash.
License: MIT License
A dynamic lemonbar script written almost entirely in bash.
License: MIT License
Dropping off some ideas to consider/interest gauge on your end (may be totes out of scope)
<align><left|right>append
. names are hard.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.
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.
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.
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
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.
Since I synced with master to try out the feature added in #10, having "captain &" at the end of my bspwmrc has caused it to create and destroy 100's of processes, leading to close to 100% CPU usage. I have just about no clue why, because killing all of the processes and launching "captain &" in a terminal did not cause this problem.
as the title said. While debugging my scripts I happened to have an empty captain.d folder what essentially killed my openbox session and didn't let me log back in.
Feature request
The improvements discussed in #8 are great - we can now have a script reload be triggered by the output of another script, like bscp monitor
, nmcli monitor
or /usr/sbin/alsactl monitor
. However, while bspc subscribe
will output the current status immediately upon executing the command, the others (and probably many more) only ever output something when there is a change to be reported. This leads to a situation where my volume and wifi scripts are only triggered once I change the volume or toggle the wifi off and on again.
What would be nice is to have an option to tell Captain to run those scripts at least once at startup, to get the initial status to be displayed. Maybe this could even be standard behavior, alternatively it could be an option, like init = true
.
"A dynamic lemonbar script written almost entirely in bash."
bash is not the scripting language, it is the shell. Recommend changing to 'bash script'
Hi,
When enabling the default scripts included with Captain powertop shows lemonbar consuming +- 2W... I have yet to check out what the actual cause is but because maybe someone else already has I created this issue.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.