Added clight configuration

This commit is contained in:
Tibo De Peuter 2022-06-10 10:20:55 +02:00
parent f73a8f3e95
commit 3184904b40
4 changed files with 373 additions and 7 deletions

View file

@ -11,12 +11,15 @@ Complete guide and configuration of my machine.
---
- Alacritty: Terminal ([GitHub](https://github.com/alacritty/alacritty))
- Clight: Anything screen related ([GitHub](https://github.com/FedeDP/Clight))
- FZF-Jump: Apps launcher and more ([GitHub](https://github.com/tdpeuter/fzf-jump))
- Swaylock-effects: Lockscreen ([GitHub](https://github.com/mortie/swaylock-effects))
- Waybar: (Menu) bar ([GitHub](https://github.com/Alexays/Waybar))
- Dunst: Notifications ([GitHub](https://github.com/dunst-project/dunst))
- Zshell: Shell
I also try to keep my [list of repos that I use on a daily basis](https://github.com/stars/tdpeuter/lists/fire-iu) up to date.
## Links
Read [the wiki](https://github.com/tdpeuter/sisyphus/wiki) for guides and related things.

360
config/clight.conf Normal file
View file

@ -0,0 +1,360 @@
#########################
# Clight conf file #
# ~/.config/clight.conf #
#########################
## Verbose mode, useful to report bugs:
## run clight in verbose mode,
## then open issue on github attaching log
# verbose = true;
## Delay in seconds before clight restarts working
## after system is resumed from suspend/hibernation.
## This may be needed because on some laptops on resume
## screen temp is not correctly applied, with warning in logs: "Failed to set gamma temperature."
## Clight is in fact too quick to act on resume, and it is resuming before X is fully resumed;
## thus failing to apply screen temperature.
## By default, it is disabled (0 seconds). Max value: 30seconds.
## Note: it requires systemd-logind (org.freedesktop.login1 dbus interface)
resumedelay = 30;
###################
# INHIBITION TOOL #
########################################################
# Requires DIMMER or DPMS enabled. Disabled otherwise. #
########################################################
inhibit:
{
## Uncomment to disable
# disabled = true;
## Uncomment to let Clight manage "Docked" laptop state
## as an inhibition (pausing DPMS and dimmer).
## Note that "Docked" state is only checked when
## laptop lid is closed or opened.
inhibit_docked = true;
## Uncomment to let Clight manage inhibition requests
## suppressing org.freedesktop.PowerManagement too
## (ie: preventing your laptop to suspend/hibernate)
# inhibit_pm = true;
## Uncomment to let Clight pause backlight module
## while any inhibition is active;
## this is useful eg: to pause backlight calibration
## while watching a movie.
inhibit_bl = true;
};
##############################
# BACKLIGHT CALIBRATION TOOL #
##############################
backlight:
{
## Uncomment to disable
# disabled = true;
## Uncomment to restore screen backlight on exit
# restore_on_exit = true;
## Uncomment to disable smooth transitions
# no_smooth_transition = true;
## Transition step in percentage
trans_step = 0.01;
## Transition timeout in ms
# trans_timeout = 500;
## When > 0, use a fixed transition duration (in ms),
## overriding trans_timeout and trans_step configs.
# trans_fixed = 5000;
## Timeouts between captures during day/night/event on AC
## Set any of these to <= 0 to disable captures
## in the corresponding day time.
# ac_timeouts = [ 600, 2700, 300 ];
## Timeouts between captures during day/night/event on BATT
## Set any of these to <= 0 to disable captures
## in the corresponding day time.
# batt_timeouts = [ 1200, 5400, 600 ];
batt_timeouts = [ 1, 60, 10];
## Set a threshold: if detected ambient brightness is below this threshold,
## capture will be discarded and no backlight change will be made.
## Very useful to discard captures with covered webcam.
# shutter_threshold = 0.175;
## Disables automatic calibration for screen backlight.
## Then, it can only be manually triggered by bus api.
# no_auto_calibration = true;
## Uncomment to let BACKLIGHT module pause automatic calibration when laptop lid is closed.
## Mostly useful when laptop gets docked and thus internal webcam
## would not be able to correctly capture ambient brightness.
pause_on_lid_closed = true;
## Uncomment to let BACKLIGHT module fire an automatic calibration when laptop lid gets opened.
capture_on_lid_opened = true;
};
###################
# SENSOR settings #
###################
sensor:
{
## Curves used to match ambient brightness to backlight level for each AC state.
## X axis: ambient brightness values (from 0 to 10)
## Y axis: desired backlight level for corresponding ambient brightness.
## Note: the array can be expanded up to 50 points for finer granularity.
ac_regression_points = [ 0.0, 0.15, 0.29, 0.45, 0.61, 0.74, 0.81, 0.88, 0.93, 0.97, 1.0 ];
# batt_regression_points = [ 0.0, 0.9, 0.15, 0.23, 0.36, 0.52, 0.59, 0.65, 0.71, 0.75, 0.78, 0.80 ];
batt_regression_points = [ 0.00, 0.05, 0.10, 0.10, 0.17, 0.25, 0.30, 0.35, 0.40, 0.45, 0.50, 0.55, 0.60, 0.65, 0.70, 0.75, 0.80, 0.85, 0.90, 0.95, 1.00 ];
## Sensor device to be used (Webcam or ALS device, eg: video0 or iio:device0).
## Leave this empty to let clight use first device it finds between supported ones,
## ie: webcams, ambient light sensors, or custom devices.
## Refer to Clightd wiki for more info: https://github.com/FedeDP/Clightd/wiki/Sensors
# devname = "";
## Sensor settings to be used. Leave empty/commented to use default values.
## This can be really useful to further customize your sensor behaviour (together with backlight_regression_points).
## Have a look at Clightd wiki for more info: https://github.com/FedeDP/Clightd/wiki/Sensors#settings-string.
## Example for Camera sensor, to set a manual exposure -> "10094849=1,10094850=166";
# settings = "";
## Number of frames or ALS device pollings to be captured on AC/on BATT.
## Must be between 1 and 20.
captures = [ 20, 5 ];
};
## Curves used to match reference backlight level (computed through sensor.regression_points curves),
## to backlight level for each AC state for specific monitors.
## This allows per-monitor backlight adjustment; it means eg:
## that a 0.7 backlight level for your internal laptop monitor,
## can be mapped to 0.8 backlight level for your external monitor.
## It is mostly useful for people with internal laptop + external monitors or multiple external monitors,
## as often their backlight level will not properly match (ie: a 50% level on internal laptop can be much brighter than external monitor).
## All monitors not specified below will use default reference values (specified by sensor.regression_points curves).
## X axis: default backlight level (from 0 to 10)
## Y axis: desired backlight level adjusted for specific monitor.
## Note: arrays can be expanded up to 50 points for finer granularity.
## Customize "intel_backlight" or "acpi_video0" or whatever using your monitors IDs.
## To find monitor IDs, use Clightd:
## busctl call org.clightd.clightd /org/clightd/clightd/Backlight org.clightd.clightd.Backlight GetAll "s" ""
##
## You might ask why using a backlight-to-backlight mapping for specific monitors, instead of using
## multiple ambient_brightness-to-backlight mapping curves; fact is that this way Clight is also able to
## set correct backlight for each monitor even when just asked to set the backlight, ie:
## when the request comes from eg: dbus API asking for a certain backlight level (IncBl, DecBl dbus methods).
## In this case, we wouldn't have an "ambient brightess" to be used to compute correct backlight level on each monitor;
## instead, we just set the requested backlight as default, and adjust to it for each monitor specified here below.
monitor_override:
(
{
# monitor_id = "intel_backlight"
# ac_regression_points = [ 0.0, 0.18, 0.22, 0.33, 0.55, 0.64, 0.71, 0.80, 0.90, 0.97, 1.0 ];
# batt_regression_points = [ 0.0, 0.15, 0.29, 0.45, 0.61, 0.74, 0.81, 0.88, 0.93, 0.97, 1.0 ];
},
{
# monitor_id = "acpi_video0"
# ac_regression_points = [ 0.0, 0.18, 0.22, 0.33, 0.55, 0.64, 0.71, 0.80, 0.90, 0.97, 1.0 ];
# batt_regression_points = [ 0.0, 0.15, 0.29, 0.45, 0.61, 0.74, 0.81, 0.88, 0.93, 0.97, 1.0 ];
}
);
##############################
# KEYBOARD BACKLIGHT TOOL #
##############################
keyboard:
{
## Uncomment to disable keyboard automatic calibration.
## It is automatically disabled anyway where not available.
disabled = true;
## Timeouts on AC/on BATT for keyboard auto dimming.
## Set any of these to <= 0 to disable kbd backlight
## in the corresponding AC state.
# timeouts = [ 15, 5 ];
## Curves used to match ambient brightness to keyboard backlight level for each AC state.
## X axis: ambient brightness values (from 0 to 10)
## Y axis: desired backlight level for corresponding ambient brightness.
## Note: the array can be expanded up to 50 points for finer granularity.
## Note also that most keyboard offers only 3 backlight levels (off, mid, high).
## Default curves are same as default backlight curves but upside down
## (ie: the lower the ambient brightness, the higer the keyboard backlight).
# ac_regression_points = [ 1.0, 0.97, 0.93, 0.88, 0.81, 0.74, 0.61, 0.45, 0.29, 0.15, 0.0 ];
# batt_regression_points = [ 0.80, 0.78, 0.75, 0.71, 0.65, 0.59, 0.52, 0.36, 0.23, 0.15, 0.0 ];
## Uncomment to switch off keyboard on dimming/dpms.
# dim = true;
};
##############
# GAMMA TOOL #
##############
gamma:
{
## Uncomment to disable gamma tool
# disabled = true;
## Uncomment to restore screen temperature on exit
restore_on_exit = true;
## Uncomment to disable gamma smooth transitions
# no_smooth_transition = true;
## Gamma transition step
# trans_step = 50;
## Gamma transition timeout in ms
# trans_timeout = 300;
## Gamma temperature during day and night
temp = [ 6500, 2500 ];
## Enable to let GAMMA smooth transitions last (2 * event_duration),
## in a redshift-like way.
## When enabling this, transition steps and timeouts are automatically computed
## given DAY-NIGHT temperature difference and (2 * event_duration) duration.
##
## Note that if clight is started outside of an event, correct gamma temperature
## will be immediately setted using normal parameters:
## no_smooth_gamma_transition, gamma_trans_step, gamma_trans_timeout
long_transition = true;
## Let screen temperature match ambient brightness, like monitor backlight.
## When enabled, screen temperature won't be changed time-based.
## Note that it uses same curve points as backlight.
## Note also that LOCATION is still needed to let BACKLIGHT module know current time of day.
## Finally, it requires BACKLIGHT module to be enabled, otherwise it gets disabled.
# ambient_gamma = true;
};
################
# DAYTIME TOOL #
################
########################################################
# Retrieves Sunrise and Sunset times for user location #
########################################################
daytime:
{
## Desired latitude for gamma support (sunrise/sunset in this location)
latitude = 50.5;
## Desired longitude for gamma support (sunrise/sunset in this location)
longitude = 4.00;
## Force set a sunrise time
# sunrise = "7:00";
## Force set a sunset time
# sunset = "19:00";
## Duration of an "event". Clight will enter "event" mode (more frequent screen recalibrations)
## from event_duration seconds before a sunrise/sunset, until event_duration seconds after.
# event_duration = 1800;
## Set an offset in seconds from sunrise;
## eg: a value of 600 would force Clight to manage sunrise event
## 10 minutes after the real event.
## You can use negative values too.
# sunrise_offset = 0;
## Set an offset in seconds from sunset;
## eg: a value of 600 would force Clight to manage sunset event
## 10 minutes after the real event.
## You can use negative values too.
# sunset_offset = 0;
};
###############
# DIMMER TOOL #
###############
###########################################
# Requires BACKLIGHT. Disabled otherwise. #
###########################################
dimmer:
{
## Uncomment to disable dimmer tool
# disabled = true;
## Uncomment to disable smooth transitions
## when entering/leaving dimmed state
# no_smooth_transition [ true, true ];
## Transition step in percentage.
## Entering dimmed state fade, and leaving fade
# trans_steps = [ 0.05, 0.05 ];
## Transition timeout in ms.
## Entering dimmed state fade, and leaving fade
# trans_timeouts = [ 30, 30 ];
## When > 0, use a fixed transition duration (in ms),
## for enter or leave, overriding trans_timeouts and trans_steps configs.
# trans_fixed = [ 1000, 1000 ];
## Timeouts on AC/on BATT.
## Set any of these to <= 0 to disable dimmer
## in the corresponding AC state.
timeouts = [ 600, 300 ];
## Change dimmed backlight level, in percentage
# dimmed_pct = 0.2;
};
#############
# DPMS TOOL #
#############
dpms:
{
## Uncomment to disable dpms management
disabled = true;
## Timeouts on AC/on BATT.
## Set any of these to <= 0 to disable dpms
## in the corresponding AC state.
# timeouts = [ 10, 10 ];
};
############################
# SCREEN COMPENSATION TOOL #
############################
###########################################
# Requires BACKLIGHT. Disabled otherwise. #
###########################################
screen:
{
##############################################################################################################
## Use this feature to provide screen-emitted brightness compensation to Clight. #
## The idea here is: #
## dark ambient -> higher monitor light contribution impact #
## bright ambient -> lower monitor light contribution impact #
## But, at the same time, obviously (as that is clight main feature): #
## dark ambient -> lower monitor backlight level -> lower monitor light contribution impact #
## high ambient -> high monitor backlight level -> higher monitor light contribution impact #
## We can assume these 2 contributions to zero each other, letting us just compute screen-emitted brightness #
## and linearly multiplying it for our guessed ambient-brightness screen contribution value. #
##############################################################################################################
## Uncomment to disable screen-emitted brightness compensation support
disabled = true;
## Screen timeouts on AC/on BATT.
## Set any of these to <= 0 to disable screen-emitted brightness compensation
## in the corresponding AC state.
## Disabled by default on BATT because it is quite an heavy operation,
## as it has to take a snapshot of your X desktop and compute its brightness.
# timeouts = [ 30, -1 ];
## How much does your screen-emitted brightness affect
## ambient brightness, in your setup, in percentage.
# contrib = 0.1;
## How many samples should be used to compute average
## screen-emitted brightness.
# num_samples = 10;
};

View file

@ -40,9 +40,9 @@ exec_always "~/.scripts/idle.sh"
exec dunst -verbosity crit
# Set warm colours at night
exec "~/.scripts/wlsunset.sh"
exec clight
# xwayland disable
xwayland disable
# I will keep using xwayland because it allows backwards compatibilty for a ton of apps that I use
# on a daily basis. It can be expensive on the memory sometimes but argh.
@ -316,6 +316,9 @@ bindsym $alt+end mode "$mode_preferences"
# Styling
# =======
# Decrease the height of the window bar thing.
font pango:monospace 1
bar {
swaybar_command /usr/bin/waybar
mode hide
@ -333,8 +336,8 @@ bindsym $alt+Prior border normal 2
# Mimic no titles
# Classi border backgr text indic. hild_border
client.focused #000000 #00897b #00897b #00897b #000000
client.focused_inactive #000000 #222222 #484e50 #484e50 #000000
client.unfocused #000000 #222222 #292d2e #292d2e #000000
client.focused_inactive #000000 #222222 #222222 #222222 #000000
client.unfocused #000000 #222222 #222222 #222222 #000000
client.urgent #ff0000 #ff0000 #ff0000 #ff0000 #ff0000
exec gsettings set org.gnome.desktop.interface icon-theme 'Win11-black'

View file

@ -6,9 +6,6 @@
pkill swayidle
swayidle -w \
timeout 300 \
"~/.scripts/wander.sh" \
resume 'brightnessctl -r' \
timeout 600 \
'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"' \
@ -17,3 +14,6 @@ swayidle -w \
before-sleep 'swaymsg "output * dpms on"; swaylock'
# Screen needs to be turned back on or you will get a black screen after waking up again.
# timeout 300 \
# "~/.scripts/wander.sh" \
# resume 'brightnessctl -r' \