From bc15980ba58a696461aba7ad35c98cc27e3bd9fb Mon Sep 17 00:00:00 2001 From: Dawson Matthews Date: Fri, 5 Dec 2025 14:25:25 -0700 Subject: [PATCH] added a list of all kscreen attributes that could be added. not all are recorded in the json generated by kscreen-doctor though. need to find another way to get those values. --- .gitignore | 3 ++- all_attributes.md | 30 ++++++++++++++++++++++++++++++ load-display-profile.sh | 10 +++++++++- 3 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 all_attributes.md diff --git a/.gitignore b/.gitignore index 46b436a..bc6052a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -profiles/ \ No newline at end of file +profiles/ +*.json \ No newline at end of file diff --git a/all_attributes.md b/all_attributes.md new file mode 100644 index 0000000..eef69d2 --- /dev/null +++ b/all_attributes.md @@ -0,0 +1,30 @@ +# All Kscreen Doctor attributes + +- [x] primary +- [ ] priority +- [x] enable +- [x] disable +- [x] mode +- [x] position +- [x] scale +- [x] orientation / rotation +- [ ] overscan (0-100) +- [ ] vrrpolicy (never / always / automatic) +- [ ] rgbrange (automatic / full / limited) +- [ ] hdr (enable / disable / toggle) +- [ ] sdr-brightness (50-10000) +- [ ] wcg (enable / disable / toggle) +- [ ] iccprofile (path) +- [ ] sdrGamut (0-100) +- [ ] maxBrightnessOverride (disable / int) +- [ ] maxAverageBrightnessOverride (disable / int) +- [ ] minBrightnessOverride (disable / int) +- [ ] colorProfileSource (sRBG / ICC / EDID) +- [ ] brightness (0-100) +- [ ] colorPowerTradeoff (preferEfficiency / preferAccuracy) +- [ ] dimming (0-100) +- [ ] mirror ( none / output ) +- [ ] ddcCi (allow / disallow) +- [ ] maxbpc (automatic / 6-16) +- [ ] edrPolicy (never / always) +- [ ] sharpness (0 - 100) \ No newline at end of file diff --git a/load-display-profile.sh b/load-display-profile.sh index ab29820..bb1643a 100755 --- a/load-display-profile.sh +++ b/load-display-profile.sh @@ -93,10 +93,18 @@ function load_profile_to_outputs { height=$(echo "$out" | jq -r ".modes[] | select(.id == \"$mode_id\") | .size.height") width=$(echo "$out" | jq -r ".modes[] | select(.id == \"$mode_id\") | .size.width") mode="${width}x${height}@${refresh_rate}" + replication_source_id=$(echo "$out" | jq -r ".replicationSource") + log "[VAR] replication_source_id: $replication_source_id" + if [ $replication_source_id -neq 0 ]; then + replication_source_name=$(echo "$outputs.[] | select(.id == \"$replication_source_id\" | .name)" ) + log "[VAR] replication_source_name: $replication_source_name" + CMD="kscreen-doctor output.$" + done log "[VAR] mode: $mode" - priority=$(echo "$out" | jq -r '.priority') + # + # Mode (Resolution + refresh) # CMD="kscreen-doctor output.$name.mode.$mode" CMD="kscreen-doctor output.$name.mode.$mode"