Date: Mon, 24 Nov 2025 20:11:21 +0000 From: Alfonso S. Siciliano <asiciliano@FreeBSD.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org Subject: git: 154bef0234 - main - handbooks: Add Accessibility Handbook Message-ID: <6924bbe9.28df2.11de56c1@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by asiciliano: URL: https://cgit.FreeBSD.org/doc/commit/?id=154bef02348cf2ab52a8d7ae0eb1b51e2c768d58 commit 154bef02348cf2ab52a8d7ae0eb1b51e2c768d58 Author: Alfonso S. Siciliano <asiciliano@FreeBSD.org> AuthorDate: 2025-11-24 20:03:59 +0000 Commit: Alfonso S. Siciliano <asiciliano@FreeBSD.org> CommitDate: 2025-11-24 20:07:42 +0000 handbooks: Add Accessibility Handbook The Accessibility Handbook describes the assistive technologies available in the base system and in the Ports Collection. Currently, it covers features useful for visual impairments. Reviewed by: pauamma_gundo.com Approved by: carlavilla Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50894 --- .../content/en/books/accessibility/_index.adoc | 63 +++ .../en/books/accessibility/blindness/_index.adoc | 320 ++++++++++++++ .../content/en/books/accessibility/book.adoc | 88 ++++ .../en/books/accessibility/colors/_index.adoc | 490 +++++++++++++++++++++ .../en/books/accessibility/development/_index.adoc | 193 ++++++++ .../en/books/accessibility/help/_index.adoc | 89 ++++ .../en/books/accessibility/lowvision/_index.adoc | 393 +++++++++++++++++ .../content/en/books/accessibility/parti.adoc | 14 + .../content/en/books/accessibility/partii.adoc | 25 ++ .../en/books/accessibility/preface/_index.adoc | 92 ++++ .../accessibility/virtual-terminal/_index.adoc | 344 +++++++++++++++ 11 files changed, 2111 insertions(+) diff --git a/documentation/content/en/books/accessibility/_index.adoc b/documentation/content/en/books/accessibility/_index.adoc new file mode 100644 index 0000000000..2c8cada910 --- /dev/null +++ b/documentation/content/en/books/accessibility/_index.adoc @@ -0,0 +1,63 @@ +--- +title: FreeBSD Accessibility Handbook +authors: + - author: Alfonso S. Siciliano +copyright: 2025 The FreeBSD Foundation +trademarks: ["freebsd"] +description: Assistive technologies available in FreeBSD +tags: ["Accessibility", "Documentation", "FreeBSD", "Index"] +next: books/accessibility/preface +add_single_page_link: true +showBookMenu: true +weight: 10 +params: + path: "/books/accessibility/" +bookOrder: 50 +--- + += FreeBSD Accessibility Handbook +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/accessibility/ + +ifdef::env-beastie[] +ifdef::backend-html5[] +include::shared/authors.adoc[] +include::shared/mirrors.adoc[] +include::shared/releases.adoc[] +include::shared/attributes/attributes-{{% lang %}}.adoc[] +include::shared/{{% lang %}}/teams.adoc[] +include::shared/{{% lang %}}/mailing-lists.adoc[] +include::shared/{{% lang %}}/urls.adoc[] +endif::[] +ifdef::backend-pdf,backend-epub3[] +include::../../../../../shared/asciidoctor.adoc[] +endif::[] +endif::[] + +ifndef::env-beastie[] +include::../../../../../shared/asciidoctor.adoc[] +endif::[] + +// Split HTML view, sync with book.adoc +[.abstract-title] +Abstract + +Welcome to the Accessibility Handbook. +This book covers the assistive technologies available in FreeBSD. + +Accessibility is an ongoing effort, not a fixed destination. +As such, this handbook is a living document and continually evolving. +Contributions, suggestions, and feedback are highly encouraged. +If you are interested in contributing, please reach out to us via the https://lists.freebsd.org/subscription/freebsd-accessibility[FreeBSD accessibility mailing list]. + +You can download this book in various formats and compression options from the FreeBSD download server or one of its many mirror sites. + +''' diff --git a/documentation/content/en/books/accessibility/blindness/_index.adoc b/documentation/content/en/books/accessibility/blindness/_index.adoc new file mode 100644 index 0000000000..020adbef74 --- /dev/null +++ b/documentation/content/en/books/accessibility/blindness/_index.adoc @@ -0,0 +1,320 @@ +--- +title: Chapter 5. Blindness +part: Part II. Vision +prev: books/accessibility/lowvision +next: books/accessibility/development +description: Assistive technologies for blindness +tags: ["Accessibility", "Blindness", "Screen Reader"] +showBookMenu: true +weight: 8 +params: + path: "/books/accessibility/blindness/" +--- + +[[blindness]] += Blindness +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 5 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/accessibility/blindness/ + +ifdef::env-beastie[] +ifdef::backend-html5[] +:imagesdir: ../../../../images/{images-path} +endif::[] +ifndef::book[] +include::shared/authors.adoc[] +include::shared/mirrors.adoc[] +include::shared/releases.adoc[] +include::shared/attributes/attributes-{{% lang %}}.adoc[] +include::shared/{{% lang %}}/teams.adoc[] +include::shared/{{% lang %}}/mailing-lists.adoc[] +include::shared/{{% lang %}}/urls.adoc[] +toc::[] +endif::[] +ifdef::backend-pdf,backend-epub3[] +include::../../../../../shared/asciidoctor.adoc[] +endif::[] +endif::[] + +ifndef::env-beastie[] +toc::[] +include::../../../../../shared/asciidoctor.adoc[] +endif::[] + +[[blindness-intro]] +== Introduction + +This chapter describes assistive technologies for users who are blind, focusing primarily on screen readers and tools designed to work in conjunction with them. +The chapter deliberately contains no images and aims to minimize the use of elements other than plain text. + +[[screen-reader]] +== Screen Reader + +Currently, screen readers function only within the extref:{handbook}x11[X Window System] and are not supported in the crossref:virtual-terminal[virtual-terminal,Virtual Terminal]. +FreeBSD does not currently support Braille displays, so they rely exclusively on speech synthesizers. + +[[orca]] +=== Orca + +Orca is a widely used and well-known open source screen reader. +It offers a comprehensive set of features and is available on FreeBSD through the package:accessibility/orca[] package. + +[[orca-install]] +==== Installation + +To install it, execute: + +[source,shell] +.... +# pkg install orca +.... + +[[orca-launch]] +==== Launch + +Orca can be launched in several ways. +From a terminal, type: + +[source,shell] +.... +% orca +.... + +Some desktop environments provide a keyboard shortcut to launch Orca: + +- XFCE: `Super` + `Alt` + `s` +- GNOME `Super` + `Alt` + `S` + +[TIP] +==== +The Super key is usually labeled as Windows icon, Command icon, or "Super". +Refer to https://en.wikipedia.org/wiki/Super_key_(keyboard_button) for more information. +==== + +[[orca-usage]] +==== Usage + +Orca provides a manual page: man:orca[1]. +However, most of the documentation is available online. +The main reference is the starting point in the https://gnome.pages.gitlab.gnome.org/orca/help/[Orca Users Guide], which includes: + + - Getting Started + - Reading Documents and Web Pages + - Reviewing and Interacting with Screen Contents + +The screen reader includes many keyboard commands for navigation and interaction. +Refer to the https://gnome.pages.gitlab.gnome.org/orca/help/commands.html[Orca's Commands] page for a full list. + +[[orca-config]] +==== Configuration + +Orca can be configured through a graphical settings interface. To open it, run: + +[source,shell] +.... +% orca -s +.... + +Configuration options are documented on the https://gnome.pages.gitlab.gnome.org/orca/help/preferences.html[Orca's Preferences Dialogs] page. + +[[yasr]] +=== yasr + +The package:accessibility/yasr[] utility is a lightweight screen reader that operates exclusively in a terminal environment. +Yasr requires a speech synthesizer to work. +Its default configuration file is set up to use package:accessibility/eflite[]. + +To install both yasr and eflite, run: + +[source,shell] +.... +# pkg install yasr eflite +.... + +To start the screen reader, execute: + +[source,shell] +.... +% yasr +.... + +The global configuration file for yasr is located at [.filename]#/usr/local/share/yasr/yasr.conf#. +To create a user-specific configuration file, copy the global one to your home directory: + +[source,shell] +.... +% cp /usr/local/share/yasr/yasr.conf ~/.yasr.conf +.... + +For details on configuration options and keyboard shortcuts, refer to man:yasr[1]. + +[[blindness-ports]] +== Ports Collection + +FreeBSD provides the extref:{handbook}ports[Ports Collection], which offers a simple way to install applications. +Some ports allow you to configure options before building and installation. +By default, configuration is handled through a TUI menu not accessible by a screen reader. + +The package:ports-mgmt/portoptscli[] utility is a text-only tool specifically designed to configure ports using a screen reader. +To install it, run: + +[source,shell] +.... +# pkg install portoptscli +.... + +Then add to [.filename]#/etc/make.conf#: + +[.programlisting] +.... +DIALOG4PORTS=/usr/local/bin/portoptscli +.... + +From now on, the Ports framework will automatically invoke portoptscli whenever a port offers configurable options. + +For detailed information about its features and usage, refer to the manual page man:portoptscli[1] and consult the online https://gitlab.com/alfix/portoptscli/-/raw/main/README.txt[README]. + +[[blindness-editor]] +== Editor + +[[ed]] +=== ed + +The man:ed[1] utility is a line-oriented text editor used to create, view, and modify text files. +It is included by default in a standard FreeBSD installation. +To start the editor, run: + +[source,shell] +.... +% ed +.... + +ed is a powerful editor. +Refer to its manual page man:ed[1] for a complete overview of its features and command syntax. + +[WARNING] +==== +ed does not support multibyte characters and may not handle non-ASCII text correctly. +Alternatively, consider using crossref:blindness[edbrowse,edbrowse], which offers robust text editing features in addition to its browsing capabilities. +==== + +[[blindness-internet-web]] +== Internet and WEB + +[[edbrowse]] +=== Edbrowse + +Edbrowse is a text-based browser, editor, IRC chat client, and mail client, specifically designed for screen reader users. +Its interface is similar to man:ed[1], but with extended functionality. + +[[edbrowse-install]] +==== Installation + +To install package:www/edbrowse[], execute: + +[source,shell] +.... +# pkg install edbrowse +.... + +[[edbrowse-usage]] +==== Usage + +To launch Edbrowse, run: + +[source,shell] +.... +% edbrowse +.... + +The first time you run edbrowse, it will not find the configuration file [.filename]#~/.ebrc#. +It will automatically create a default configuration file, display a message, and exit: + +[source,shell] +.... +% edbrowse +Your edbrowse config file is missing; a default file has been created for you. +Before running edbrowse again, take the time to personalize your config file: +/home/yournickname/.ebrc +edbrowse -c to edit +% +.... + +You can now relaunch Edbrowse; it will use the default configuration file. +To customize it, either run: + +[source,shell] +.... +% edbrowse -c +.... + +Or use your preferred text editor, for example: + +[source,shell] +.... +% ed ~/.ebrc +.... + +[TIP] +==== +Example configuration files are provided in [.filename]#/usr/local/share/doc/edbrowse/#. +These include: + + - sample.ebrc: with comments in English + - sample_fr.ebrc: with comments in French + - sample_it.ebrc: with comments in Italian +==== + +[[edbrowse-doc]] +==== Documentation + +The utility provides a manual page: man:edbrowse[1]. +However, the main documentation is available online in the https://edbrowse.org/usersguide.html[User's Guide]. + +The package also installs a local copy of the documentation at [.filename]#/usr/local/share/doc/edbrowse/usersguide.html#. +To view it using edbrowse, run: + +[source,shell] +.... +% edbrowse /usr/local/share/doc/edbrowse/usersguide.html +.... + +Translated versions of the user guide are available in the same directory: + + - usersguide_es.html: Spanish + - usersguide_fr.html: French + - usersguide_pt_br.html: Brazilian Portuguese + +[[blindness-liblouis]] +== Liblouis + +package:devel/liblouis[] is a translator for many languages to and from Braille. +It provides a large number of conversion tables. +To install, execute: + +[source,shell] +.... +# pkg install liblouis +.... + +The package installs both libraries and utilities. +The translation utility is man:lou_translate[1]. + +The following example demonstrates how to transcribe the text `FreeBSD Accessibility Handbook` into Braille with English Grade 2 translation table and the unicode.dis display table. +The final output is Braille encoded as Unicode dot patterns. + +[source,shell] +.... +% echo "FreeBSD Accessibility Handbook" | lou_translate -f unicode.dis,en-us-g2.ctb +⠠⠋⠗⠑⠑⠠⠠⠃⠎⠙⠀⠠⠁⠒⠑⠎⠎⠊⠃⠊⠇⠰⠽⠀⠠⠓⠯⠃⠕⠕⠅ +.... + +Documentation and additional examples for this utility are available on the project website, specifically in the https://liblouis.io/documentation/liblouis.html#Testing-Translation-Tables-interactively[Testing Translation Tables interactively] section of the official documentation. diff --git a/documentation/content/en/books/accessibility/book.adoc b/documentation/content/en/books/accessibility/book.adoc new file mode 100644 index 0000000000..715a9b3ff6 --- /dev/null +++ b/documentation/content/en/books/accessibility/book.adoc @@ -0,0 +1,88 @@ +--- +title: FreeBSD Accessibility Handbook +authors: + - author: Alfonso S. Siciliano +copyright: 2025 The FreeBSD Foundation +description: Assistive technologies available in FreeBSD +trademarks: ["freebsd"] +tags: ["Accessibility", "Documentation", "FreeBSD", "Index"] +add_split_page_link: true +--- + += FreeBSD Accessibility Handbook +:doctype: book +:toc: macro +:toclevels: 2 +:icons: font +:sectnums: +:sectnumlevels: 6 +:partnums: +:source-highlighter: rouge +:experimental: +:book: true +:pdf: false +:images-path: books/accessibility/ + +ifdef::env-beastie[] +ifdef::backend-html5[] +include::shared/authors.adoc[] +include::shared/mirrors.adoc[] +include::shared/releases.adoc[] +include::shared/attributes/attributes-{{% lang %}}.adoc[] +include::shared/{{% lang %}}/teams.adoc[] +include::shared/{{% lang %}}/mailing-lists.adoc[] +include::shared/{{% lang %}}/urls.adoc[] +:chapters-path: content/{{% lang %}}/books/accessibility/ +endif::[] +ifdef::backend-pdf,backend-epub3[] +:chapters-path: +include::../../../../../shared/asciidoctor.adoc[] +endif::[] +endif::[] + +ifndef::env-beastie[] +:chapters-path: +include::../../../../../shared/asciidoctor.adoc[] +endif::[] + +// Single HTML view, sync with _index.adoc +[.abstract-title] +Abstract + +Welcome to the Accessibility Handbook. +This book covers the assistive technologies available in FreeBSD. + +Accessibility is an ongoing effort, not a fixed destination. +As such, this handbook is a living document and continually evolving. +Contributions, suggestions, and feedback are highly encouraged. +If you are interested in contributing, please reach out to us via the https://lists.freebsd.org/subscription/freebsd-accessibility[FreeBSD accessibility mailing list]. + +You can download this book in various formats and compression options from the FreeBSD download server or one of its many mirror sites. + +''' + +toc::[] + +:sectnums!: + +include::{chapters-path}preface/_index.adoc[leveloffset=+1] + +:sectnums: + +// Section one +include::{chapters-path}parti.adoc[] + +include::{chapters-path}help/_index.adoc[leveloffset=+1] + +// Section two +include::{chapters-path}partii.adoc[] + +include::{chapters-path}virtual-terminal/_index.adoc[leveloffset=+1] + +include::{chapters-path}colors/_index.adoc[leveloffset=+1] + +include::{chapters-path}lowvision/_index.adoc[leveloffset=+1] + +include::{chapters-path}blindness/_index.adoc[leveloffset=+1] + +include::{chapters-path}development/_index.adoc[leveloffset=+1] diff --git a/documentation/content/en/books/accessibility/colors/_index.adoc b/documentation/content/en/books/accessibility/colors/_index.adoc new file mode 100644 index 0000000000..6de26c0398 --- /dev/null +++ b/documentation/content/en/books/accessibility/colors/_index.adoc @@ -0,0 +1,490 @@ +--- +title: Chapter 3. Colors +part: Part II. Vision +prev: books/accessibility/virtual-terminal +next: books/accessibility/lowvision +description: Features to set up colors +tags: ["Accessibility", "High contrast", "Color blindness", "Theming"] +showBookMenu: true +weight: 6 +params: + path: "/books/accessibility/colors/" +--- + +[[colors]] += High Contrast +:doctype: book +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:sectnumoffset: 3 +:partnums: +:source-highlighter: rouge +:experimental: +:images-path: books/accessibility/colors/ + +ifdef::env-beastie[] +ifdef::backend-html5[] +:imagesdir: ../../../../images/{images-path} +endif::[] +ifndef::book[] +include::shared/authors.adoc[] +include::shared/mirrors.adoc[] +include::shared/releases.adoc[] +include::shared/attributes/attributes-{{% lang %}}.adoc[] +include::shared/{{% lang %}}/teams.adoc[] +include::shared/{{% lang %}}/mailing-lists.adoc[] +include::shared/{{% lang %}}/urls.adoc[] +toc::[] +endif::[] +ifdef::backend-pdf,backend-epub3[] +include::../../../../../shared/asciidoctor.adoc[] +endif::[] +endif::[] + +ifndef::env-beastie[] +toc::[] +include::../../../../../shared/asciidoctor.adoc[] +endif::[] + +[[colors-intro]] +== Introduction + +This chapter explains how to configure colors for on-screen elements, including: + +- Setting high-contrast color schemes in graphical environments. +- Adapting screen color temperature for optimal viewing in daylight and nighttime conditions. +- Selecting colors for configuration ports menus. + +[[high-contrast-theme]] +== High Contrast Theme + +Graphical Environments allow you to easily install and set up graphical themes. +This paragraph describes how to configure high contrast themes for windows. + +[[xfce-high-contrast]] +=== XFCE + +Download from https://www.xfce-look.org/p/2289345[High Contrast Windows 11 Themes]: + +- _Adwaita-Dusk.tar.bz2_ +- _Adwaita-Desert.tar.bz2_ +- _Adwaita-Aquatic.tar.bz2_ +- _Adwaita-NightSky.tar.bz2_ + +The example is for _NightSky_, but of course you can choose whichever theme you prefer. + +[source,shell] +.... +% tar xzvf Adwaita-NightSky.tar.bz2 <1> +% mkdir ~/.themes <2> +% cp -a Adwaita-NightSky ~/.themes/ <3> +% rm Adwaita-NightSky.tar.bz2 <4> +% xfconf-query -c xfwm4 -p /general/theme -s 'Adwaita-NightSky' <5> +% xfconf-query -c xsettings -p /Net/ThemeName -s 'Adwaita-NightSky' <6> +.... + +<.> Extract the downloaded theme archive. +<.> Create the [.filename]#~/.themes# directory if it does not already exist. +<.> Copy the extracted themes into [.filename]#~/.themes#. +<.> Optionally, delete the original compressed file to save space. +<.> Apply the Adwaita-NightSky theme for the XFCE desktop environment. +<.> Apply the Adwaita-NightSky theme for GTK applications. + +The theme selection steps (5 and 6) can also be performed using the graphical configuration dialogs in XFCE: + +[source,shell] +.... +% xfwm4-settings +% xfce4-appearance-settings +.... + +[[high-contrast-icon]] +== High Contrast Icons + +Graphical Environments allow you to easily install and set up icon themes. +This paragraph describes how to configure high contrast icons. + +[[xfce-icon-high-contrast]] +=== XFCE + +Run the following commands to use the _Treepata - High Contrast_ icons theme with XFCE. + +Download _Treepata.zip_ from https://www.xfce-look.org/p/1015854[Treepata - High contrast]. +Then execute: + +[source,shell] +.... +# pkg search zip <1> +% unzip Treepata.zip <2> +% mkdir ~/.icons <3> +% cp -a Treepata ~/.icons/ <4> +% rm Treepata.zip <5> +% xfconf-query -c xsettings -p /Net/IconThemeName -s Treepata <6> +.... + +<.> Install the package package:archivers/zip[]: +<.> Extract the downloaded archive file. +<.> Create the [.filename]#~/.icons# directory if it does not already exist. +<.> Copy the extracted theme into [.filename]#~/.icons#. +<.> Optionally, delete the downloaded archive file to free up space. +<.> Set the _Treepata_ icon theme. + +The icon theme (step 6 above) can also be set graphically via the `_Appearance_` dialog under the `_Icons_` tab. +To do so, open the dialog and select your preferred icon theme: + +[source,shell] +.... +% xfce4-appearance-settings +.... + +[NOTE] +==== +If you have icon theme problems, install package:misc/hicolor-icon-theme[] and package:graphics/gtk-update-icon-cache[]: + +[source,shell] +.... +# pkg install hicolor-icon-theme gtk-update-icon-cache +.... + +Run man:gtk-update-icon-cache[1] to create or update the icon cache: + +[source,shell] +.... +% gtk-update-icon-cache -f -t ~/.icons/treepata +.... + +==== + +[[colors-temperature]] +== Color temperature + +This paragraph explains various utilities that adjust screen colors based on temperature, day/night cycles, and gamma settings. +These utilities enable both interactive color adjustments and automatic changes based on the local time and geographical location. +Some utilities are compatible with the extref:{handbook}x11[X Window System], others support extref:{handbook}wayland[Wayland], and some work on both display servers. + +.Color Temperature Utilities +[options="header", cols="1,1,1,1"] +|=== +| Name | Auto Update | Environment | Package + +| darkman +| Yes +| X11 +| package:accessibility/darkman[] + +| gammastep +| Yes +| X11 +| package:accessibility/gammastep[] + +| redshift +| Yes +| X11, Wayland +| package:accessibility/redshift[] + +| sct +| No +| X11 +| package:accessibility/sct[] + +| sctd +| Yes +| X11 +| package:accessibility/sctd[] + +| wlsunset +| Yes +| Wayland +| package:accessibility/wlsunset[] + +|=== + +The rest of this section details the steps to install, configure, and launch the utilities. + +[[colors-darkman]] +=== darkman + +man:darkman[1] is a daemon that automatically manages transitions between dark mode and light mode. +It operates primarily in the background, switching the screen's color scheme based on the local time of the current location. +To install, run: + +[source,shell] +.... +# pkg install darkman +.... + +Create the file [.filename]#~/.config/darkman/config.yaml# and write your latitude and longitude. +Example: + +[.programlisting] +.... +lat: 37.52 +lng: 122.16 +.... + +The utility does not directly change the screen colors; instead, it calls external utilities to perform the color transitions. +Add scripts to be executed at sundown by placing them in [.filename]#$XDG_DATA_DIRS/dark-mode.d/# +and scripts to be executed at sunrise by placing them in [.filename]#XDG_DATA_DIRS/light-mode.d/#. +Several https://gitlab.com/WhyNotHugo/darkman/-/tree/main/examples[example scripts] are available in the project repository. + +To start darkman manually, run: + +[source,shell] +.... +% darkman run & +.... + +The utility also offers some interactive options; for more details refer to the man:darkman[1] manual page. + +[[gammastep]] +=== gammastep + +The man:gammastep[1] utility adjusts your screen’s color temperature automatically based on your location. +To install, run: + +[source,shell] +.... +# pkg install gammastep +.... + +The utility works out of the box without any configuration. +Simply start it by running: + +[source,shell] +.... +% gammastep & +.... + +[NOTE] +==== +If you encounter any issues, customize the configuration by adapting the link:https://gitlab.com/chinstrap/gammastep/-/blob/master/gammastep.conf.sample[gammastep.conf.sample] file and save it as [.filename]#~/.config/gammastep/conf.ini#. +Refer to the link:https://gitlab.com/chinstrap/gammastep/-/blob/master/README.md[README] for troubleshooting. +==== + +[[redshift]] +=== redshift + +The man:redshift[1] utility find your position and sets the color temperature accordingly. +To install, execute: + +[source,shell] +.... +# pkg install redshift +.... + +The redshift utility runs without any configuration. +To start it, simply execute: + +[source,shell] +.... +% redshift & +.... + +The utility might hang while trying to determine the location or the correct method to set the color. +In this case, specify them explicitly using `-l _latitude:longitude_` and `-m _method_`. +The available methods can be listed by running: `% redshift -m list`. + +Example of running redshift with an explicit location and method: + +[source,shell] +.... +% redshift -l 37.86:-122.27 -m randr & +.... + +To make this setting permanent, add the following lines to [.filename]#~/.config/redshift/redshift.conf# file: + +[.programlisting] +.... +[redshift] +adjustment-method=randr +location-provider=manual + +[manual] +lat=37.86 +lon=-122.27 +.... + +[NOTE] +==== +The project provides a default https://github.com/jonls/redshift/blob/master/redshift.conf.sample[redshift.conf.sample] configuration file. +For troubleshooting and additional information, please refer to the https://github.com/jonls/redshift/blob/master/README.md[README]. +==== + +[[sct]] +=== sct + +The man:sct[1] utility is a simple command-line tool for controlling screen color temperature. +It does not update automatically and must be run repeatedly to adjust the temperature over time. +To install, execute: + +[source,shell] +.... +# pkg install sct +.... + +The utility takes temperature values between 1000 and 10000, 6500 is the default. +To run sct, type: `sct _value_`: + +[source,shell] +.... +% sct 8000 +.... + +[TIP] +==== +The utility suggests 3 styles: + +1) Campfire style + +[source,shell] +.... +% sct 4500 +.... + +2) Dust storm on Mars style + +[source,shell] +.... +% sct 2000 +.... + +3) Coffee free all nighter style + +[source,shell] +.... +% sct 8000 +.... +==== + +[[sctd]] +=== sctd + +The sctd utility calculates sunrise and sunset times based on latitude and longitude, and adjusts the screen's color temperature accordingly. +To install, run: + +[source,shell] +.... +# pkg install sctd +.... + +To run sctd, specify your location using the `--latitude` and `--longitude` options: + +[source,shell] +.... +% sctd --latitude 40.55 --longitude 14.34 & +.... + +To reset the screen color to default, run: + +[source,shell] +.... +% sctd --reset +.... + +[[wlsunset]] +=== wlsunset + +The man:wlsunset[1] utility is a Day/Night gamma adjustments for Wayland compositors. + +To install, execute: + +[source,shell] +.... +# pkg install wlsunset +.... + +To start the utility type `wlsunset -l _latitude_ -L _longitude_`. +Example: + +[source,shell] +.... +% wlsunset -l 14.34 -L 40.55 & +.... + +[[colors-ports]] +== Ports Collection + +FreeBSD provides the extref:{handbook}ports[Ports Collection], which offers a simple way to install applications. +Some ports allow you to configure options before building and installation. +By default, configuration is handled through a TUI menu built by the package:ports-mgmt/portconfig[]. +The colors can be customized in several ways: + +. Terminal color capabilities. +. The $NO_COLOR environment variable. +. The $PORTCONFIG_THEMEFILE environment variable. +. The global [.filename]#/usr/local/etc/portconfig/theme.conf# file. + +[NOTE] +==== +These methods are listed in order of decreasing priority and are mutually exclusive, meaning only one can be active at a time. +==== + +*1. Terminal Colors* + +man:portconfig[1] automatically detects whether the terminal supports colors. +If not, it defaults to a black-and-white theme. + +*2. NO_COLOR* + +If the `$NO_COLOR` environment variable is set and not empty, portconfig forces the black-and-white theme + +.Example persistent setting `$NO_COLOR` +[example] +==== +[.filename]#/etc/make.conf# + +[.programlisting] +.... +export NO_COLOR=YES +.... +==== + +*3. PORTCONFIG_THEMEFILE* + +If the `$PORTCONFIG_THEMEFILE` environment variable is set and points to a valid theme file, it will be used. +Otherwise, the default theme is applied. + +..Example persistent setting `$PORTCONFIG_THEMEFILE` +[example] +==== +[.filename]#/etc/make.conf# + +[.programlisting] +.... +export PORTCONFIG_THEMEFILE=/home/foo/mytheme.conf +.... *** 1224 LINES SKIPPED ***help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6924bbe9.28df2.11de56c1>
