Giter VIP home page Giter VIP logo

captain's People

Contributors

muse avatar neeasade avatar ramblingenzyme avatar sector-f avatar ufunnxagpm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

captain's Issues

Spawning 100s of processes

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.

Captain

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.

Battery consumption.

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.

Repository description incorrect

"A dynamic lemonbar script written almost entirely in bash."

bash is not the scripting language, it is the shell. Recommend changing to 'bash script'

Multihead/geometry features

Dropping off some ideas to consider/interest gauge on your end (may be totes out of scope)

  • gaps setting (done-ish with the offset setting I noticed, and this could be done via -g flag as well)
  • optional geometry flag to pass along to -g in lemonbar in captainrc
  • ability to point at one or all monitors in captainrc and have it 'just werk'
  • an option to encapsulate sections with text or something(think powerline)
    • This could be done from the scripts, but what if I wanted to switch order around/sides without changing powerline arrow direction
    • edit: thoughts: would be in the bar section, something like <align><left|right>append. names are hard.

Space between scripts

As seen in the image below, there are spaces between scripts which makes powerline unusable if more than 1 script is used. A way to toggle/specify this would be nice (unless it's something to do with my setup).
2016-01-08-161719_1920x1080_scrot

Have command-triggered scripts run at least once

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.