Comments (6)
There's some work-in-progress code in the anim branch, I think there are a few concurrency left to be resolved.
from brightnessctl.
Sure! It's an awesome idea. I'll definitely merge a PR.
If you're up to it, I'd be glad to discuss the implementation with you.
from brightnessctl.
I would be happy to try and help with this—it would be my first c
-based PR. Would you care to provide any implementation tips here or in e-mail? Cheers!
from brightnessctl.
Great!
You will roughly need to do the following:
- Add an option for transition duration (0 by default)
- An example of a way to implement smooth transition would be: when the transition duration is non-zero, you can split the duration into equal chunks (|
d->curr_brightness - new
| chunks to be precise, https://github.com/Hummer12007/brightnessctl/blob/master/brightnessctl.c#L325) , and increment/decrement the brightness, writing the new value on each chunk.
I'd also like you to consider what would happen if a user executes multiple instances of smooth transition concurrently, and how/whether we'd need to handle that.
from brightnessctl.
FWIW my project brillo implements this feature. Most of the functionality to enable it is concentrated in this file (note: this is 0BSD now).
Some tips from my experience:
- You need to decide on a sleep interval at which to write to the brightness file, and if it is too rapid udevd will eat up a lot of resources. I used 100 writes per second; you may not need this many.
- You will need to write at each interval, then flush the write data (if applicable), then sleep the remaining time in the interval.
- You will need to check the clock before and after each write. The write may take some time, so you will need to subtract the difference from the sleep interval duration.
Best of luck!
from brightnessctl.
This would be a really nice feature. Unfortunately my C skills are very limited, so I can not provide a PR. However, I wrote this short BASH script that does the job:
I=0
while [ $I -lt 10 ]; do
brightnessctl -c backlight -q s 2%-
sleep 0.05
((I = I + 1));
done
Adjust the values to fit your needs.
from brightnessctl.
Related Issues (20)
- Improving speed HOT 6
- How to restore last set brightness after reboot? HOT 1
- `--min-value` not working? HOT 2
- Feature request: Configure brightness of external monitors HOT 6
- set brightness on AMD APU pip vs apt HOT 1
- Brightness goes from 1 to 2 when asking for 10% dimmer. HOT 1
- Installing on gentoo HOT 1
- --min-value prevents all value changes HOT 5
- Need Help: max brighness at 10% HOT 1
- Current brightness % reported is wrong when using exponant HOT 1
- Working vs not working(?!)
- It doesn't work for Ubuntu 23.04 now!
- not working in a shell script in a crontab
- wildcard doesn't work HOT 2
- Prevent brightnessctl from auto saving brightness value? HOT 1
- please update new version , is long times HOT 3
- Dell backlit :: Is it possible to keep the light always on HOT 1
- wish ;) control leds color HOT 1
- Basu support is broken
- Inconsequential error in loop control logic
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from brightnessctl.