Abstract - last modified 2020-08-07
ot-boomer helps to get back some better differentiation of windows and UI elements at the cinnamon desktop of linux mint 19.3, 20 or LMDE 4.
Use at your own risk - you have to read and accept the disclaimer
Motivation
There are several factors affecting the visual distinctness of ui-elements - which ot-boomer does address:
- With growing screen resolutions the window title bar and the including minimize/maximize/close button are visually getting smaller and are harder to use.
- Most current themes do not offer to adjust / increase the window title bar and -button icons.
- The visual feedback of minimize/maximize/close -button while hovering above them is limited.
- With many themes it's hard to spot the active window, as there are often only minimal differences between the active vs inactive windows. The "modern" flat design of current themes makes it makes harder to spot the borders of overlapping windows.
- With increasing screen-resolutions it will be harder to grab a window border for resizing. If windows overlap, one will more often click onto a lower window and activate it instead.
Remarks
ot-boomer is meant to be used with a cinnamon DE of linux mint 19.3, 20 or LMDE4 (based on ubuntu or debian respectively) only. Accordingly does ot-boomer test on startup the used desktop environment and denies running, if not being used at an expected setup.
There is no need to install or run any additional software to use the modifications afterwards, as ot-boomer does "only" adjust system-settings (which are not accessible using the regular gui-tools).
Although the panel-setting are reachable using the regular cinnamon gui, ot-boomer does offer related options in a more compact way (almost only to have related settings in one place).
On first run ot-boomer will save a copy of current system-values at ot-boomer-original.config Besides the binary version an additional human readable file ot-boomer-original.dump is created (for information purposes).
ot-boomer-original.config can be used to restore the original values via the command line if ever needed. Details about available command line options can be found at: command line options
run ot-boomer
To run ot-boomer without keeping a permanent version of it, just use:
python3 <(wget https://www.orcus.de/Entities/linux/ot-boomer.py -O - 2>/dev/null)
If you prefer, to keep a copy of ot-boomer use:
mkdir ~/bin cd ~/bin wget https://www.orcus.de/Entities/linux/ot-boomer.py --backups=1 chmod +x ot-boomer.py ./ot-boomer.py
Note: Many linux distributions will integrate ~/bin to your $PATH environment variable (on the next login/reboot).
Basic steps
To adjust most relevant settings, do :
- tab "themes" - Add orcus themes
- tab "window frame setup"
- select Preferred theme
- select Titlebar font size
- adjust Sizing area == the outside distance of the mouse cursor to switch to sizing-mode
- tab "panels setup"
- adjust panel height
- adjust right column values for
- colored icon size - individual value or 0 (==use panel optimal size)
- symbolic icon size - individual value only 10..50
- panel text size - individual value only 10..50 or 0 (==use theme defined size)
- tab "global setup"
- adjust global text scaling
- select mouse cursor size
Gui setup
Add orcus themes
As most available themes make it hard to spot the active window and window borders, ot-boomer does offer optional frame-window themes for download, which visually highlight the active window and draw a better visible window border.
To integrate with your preferred light- or dark-mode setup, the themes are available in three basic types.
The offered themes support scaling of the minimize-, maximize- and close-buttons based on the titelbar font size (which most other themes do not support at all, or only in an unpleasant way).
You can use ot-boomer to download and add additional orcus metacity window frame themes. At the moment there are 3 basic types of themes offered, coming in 2 flavors (with some larger or smaller gap at the window frame icons):
orcus-2-* themes are using smaller button sizes
- orcus-2-black
- orcus-2-dark
- orcus-2-light
orcus-3-* themes are using larger button sizes
- orcus-3-black
- orcus-3-dark
- orcus-3-light
Window frame setup
[click to enlarge]
Preferred theme
The shown window frame themes are filtered by ot-boomer to the ones, where implicit scaling of the minimize/maximize/close-buttons is supported.
The default linux-mint themes are cleanly detected, where only Mint-X does support a scalable window frame theme.
The general detection of "scaling" themes is far from being perfect, as there exist sadly multiple types/versions of theme-definitions. So - if you did download a theme - you might turn off the filter, to be able to select it for testing anyways.
(1) To select a new window frame theme, you just need to select the according row.
Titlebar font size
(2) If you are using a scalable window frame theme, selecting a different (larger) font-size, does affect the size of the titelbar and the size of the minimize/maximize/close-buttons.
Most "modern" flat themes - like Mint-Y - use a fixed value for the minimize/maximize/close-buttons and do not make use of a larger titlebar.
Sizing area
With higher resolutions it might be hard to catch the window frame borders for resizing windows.
(3) To address this, ot-boomer does allow to use adjust (increase) the resizable area , to make it easier to "catch" a window-borders or -corners for resizing.
Panels layout
The panels options used/described here can be reached using the regular gui-tool of cinnamon too. The options are added to ot-boomer to have them in one place. The main "advantages" editing the options this way are:
- bypass some limiting values of the regular gui
- showing layout options of all sections of multiple panels at the same time
[click to enlarge]
panel height
The shown icon- and text-sizes at the panel are determined by the used panel-heights and current values being used for the different item-types.
Note: There exist some "special" values, which turn on automatic adjustment of according items: sadly the related options are not handled consistently for all available element - just read on.
(1) Following values (value-ranges) affect the panel height
- 0 (zero): auto-adjust panel-height to screen-resolution
- 1 to 19 are ignored - resulting in using 0 (dconf-limit)
- 20 to screen height - height in pixel (do NOT try to use crazy large values like the actual screen-height)
colored icon size
(a), (b), (c) determine the size of the colored icons at the panel. The current panel height does either directly determine the sizes (auto-adjust) or limits the maximum usable value:
- -1 (negative 1): auto-adjust to the current panel-height without any gap around the icons
- 0 (zero): auto-adjust to the current panel-height leaving a gap around the icons
- 1 to panel-height: icon-size in pixel
- > panel-height: will be handled like using 0 = autadjuste with a gap
Note: With newer mint-versions the "grouped window-list" applet is used, which does reside at area a). If you are using an older mint-version, it's predecessor "window list applet", is using area b) of the panel as it's default-location.
Note: Area c) does cover the colored tray panel icons only - read below for the symbolic (black and white style) icons.
symbolic icon size
(3) The symbolic icon sizes affect the size of the panel tray icons (the black and white ones). There is no auto-adjust supported:
- 0 to 9: ignored by dconf - the minimum 10 pixel height is used instead
- 10 to 50: icon-size in pixel without applying a gap (additionally limited by the current panel-height)
- >50: will be caped to a maximum value of 50 (additionally limited by the current panel height)
panel text size
(4) At newer mint-versions there will normally only be the calendar (date/time) text visible at the right-section of the panel.
The newer "grouped window list" applet does by default reside at panel section a) and does not show an application title with the button label as default; if the button label option is turn on, the panel text size value of it's containing panel section is used.
The predecessor "window list" applet does reside at panel section b) by default and always displays the current running applications window title; the panel text size value of the containing panel section is used accordingly.
Using a custom icon for the main menu does additionally offer to add a static text next to it, where values for panel section a) apply accordingly.
The available panel text size (ranges) given in points (pt) are:
- 0 (zero): auto-adjust according current theme (with a default setup identical to a value of 10 pt)
- > 0 to < 6: will be ignored by dconf and a minimum value of 6 pt is used instead
- 6 to 16: text size in points (pt)
- > 16: will be ignored by dconf and the maximum value 16 pt is used instead
Global setup
Global options affect the entire gui and are not related to a specific gui element.
global text scaling
Using a different text scaling factor allows to adjust the gui size at a global level, which does affect the size of almost all gui elements.
As some applications calculate their layout during application startup only, you might need to restart the according ones after changes to fully adapt their layout.
Scaling values are offered in 0.05 increments
- 0.70 to 0.95: shrink gui
- 1.00: (default) no scaling
- 1.05 to 3.00: enlarge gui
select mouse cursor size
mouse cursor size
Using the mouse cursor size option allows to select a larger size for the mouse curson icon.
Besides the default 24 pixel height relevant values are
- 24 px: (default)
- 30, 42, 58, 82 px: enlarged mouse icon
command line options
To get a list of the available command line options of ot-boomer just run:
python3 <(wget https://www.orcus.de/Entities/linux/ot-boomer.py -O - ) --help
Which will output a current version information and a summary of available options, like this:
demo@lmde-4-cinnamon-64bit-beta:~$ python3 <(wget https://www.orcus.de/Entities/linux/ot-boomer.py -O - 2>/dev/null) --help ot-boomer (free) alpha V. 001#76 - 2020-05-12 sha256sum: 8785dd5e4f9db2e8975330b10a08207bdfa65c22a9533344a3e2ff332f86c913 about : Adjust cinnamon gui-options for people with visual limitations. license : This software is free for private and non-commercial use only. Commercial use of this software is prohibited and requires a licensed version. disclaimer: Use on your own risk - there is no guaranty given, that using this software does work for the intended purpose, or using this software would not affect your installed system in some negative way. parameters: --help : display (this) command line help and quit --accept-disclaimer: bypass disclaimer dialog and run application --no-window : to be used with --load or --reset to bypass the main configuration window = just load settings and terminate afterwards --dl-theme=<theme> : download latest version of an orcus metacity-theme from orcus website to the current directory; basic themes available are: orcus-2-black orcus-2-dark orcus-2-light orcus-3-black orcus-3-dark orcus-3-light --add-theme=<file> : install metacity theme for visible window borders, a scalable window title including used buttons, distinctable active window and hover-feedback on window frame-buttons for light-themes you could use orcus-2-light.tar.gz orcus-3-light.tar.gz for dark-themes you could use orcus-2-black.tar.gz orcus-2-dark.tar.gz orcus-3-black.tar.gz orcus-3-dark.tar.gz --dump : show currently used dconf-values (nothing will be modified) and quit --save=<file> : save current settings to the given file --load=<file> : load settings from given file and apply them --restore : restore the original values of the user setup as being backup'ed on the very first run --reset : reset settings to the default-values of a fresh installed linux mint and apply them (all panels) --set1 : use inbuilt defaults - slightly bigger items --set2 : use inbuilt defaults - bigger items --set3 : use inbuilt defaults - big items --set4 : use inbuilt defaults - huge items
parameter | description |
--accept-disclaimer |
bypass disclaimer dialog and run application; this is useful at shell-scripts, where you want to run without any gui showing up (but still does show that you are aware of the disclaimer) - see additionally: --no-window |
--no-window |
Do not show the main window; this is useful at shell-scripts, where you want to run without any gui showing up; likely to be used with: --accept-disclaimer |
--dl-theme=<theme> | download latest version of an orcus metacity-theme from orcus website to the current directory; available themes are: |
orcus-2-black orcus-2-dark orcus-2-light | |
orcus-3-black orcus-3-dark orcus-3-light | |
--add-theme=<file> | Install a theme from a tar.gz-file to the users ~/.themes-folder, if the ~/.themes-folder is missing, it will be created. Although being intended to install a downloaded orcus-theme, you can use any tar.gz-file (containing a theme). Themes named identically to the containing archive-file will be automatically selected as current theme. |
supplied light themes are: | |
orcus-2-light.tar.gz and orcus-3-light.tar.gz | |
supplied dark themes are: | |
orcus-2-black.tar.gz and orcus-2-dark.tar.gz | |
orcus-3-black.tar.gz and orcus-3-dark.tar.gz | |
--dump |
Show current used values in effect in human readable form and quit (the main-window will not show up); likely to be used with: --accept-disclaimer |
--restore |
ot-boomer will create a copy of the original settings being active on first run at ot-boomer-original.config, which can be restored this way. Notes: If you added or removed panels after creation of the file, this will not be detected or handled and ot-boomer will just restore the available settings at dconf without further checking. The same is true if you used a theme at the first run of ot-boomer, which you deleted afterwards - you could use in such cases --reset as an alternative. |
--save=<file> | Save current settings to the given file, which is useful for cases where you want to use your current/favorite setup at different a different machine, or just want to use different setups. |
--load=<file> |
Load settings from given file and apply them - the counterpart of ---save=<file> , which can be used to switch between several predefined setups without the need to use the gui, or to preset the gui with your favorite values. If you want to reuse your setup at a different machine, you likely want to create a short script for it and keep it with your favorite themes-files (tar.gz). |
--reset | Reset settings to the default-values of a fresh installed linux mint - this will cover the frame window related settings and all current available panels. |
[window frame] theme: "Mint-Y", title bar font: "Ubuntu Medium 10", draggable width: 10 pixel | |
[panel(s) height]: 40 | |
[panel(s) colored icon sizes]: left: 0, center: 0, right: 24 | |
[panel(s) symbolic icon sizes]: left: 28, center: 28, right: 16 | |
[panel(s) text sizes]: left: 0, center: 0, right: 0 | |
note for --set* | if you want to suppress display of the disclaimer-dialog and/or the main-window you could use additionally --accept-disclaimer --no-window |
--set1 | Use inbuilt defaults - slightly bigger items |
[window frame] theme: "Mint-X", title bar font: "Ubuntu Medium 12", draggable width: 20 pixel | |
[panel(s) height]: 40 | |
[panel(s) colored icon sizes]: left: 0, center: 0, right: 28 | |
[panel(s) symbolic icon sizes]: left: 28, center: 28, right: 24 | |
[panel(s) text sizes]: left: 0, center: 0, right: 12 | |
--set2 | use inbuilt defaults - bigger items |
[window frame] theme: "Mint-X", title bar font: "Ubuntu Medium 14", draggable width: 20 pixel | |
[panel(s) height]: 46 | |
[panel(s) colored icon sizes]: left: 0, center: 0, right: 30 | |
[panel(s) symbolic icon sizes]: left: 30, center: 30, right: 30 | |
[panel(s) text sizes]: left: 0, center: 0, right: 14 | |
--set3 | Use inbuilt defaults - big items |
[window frame] theme: "Mint-X", title bar font: "Ubuntu Medium 16", draggable width: 30 pixel | |
[panel(s) height]: 50 | |
[panel(s) colored icon sizes]: left: 0, center: 0, right: 32 | |
[panel(s) symbolic icon sizes]: left: 32, center: 32, right: 32 | |
[panel(s) text sizes]: left: 0, center: 0, right: 16 | |
--set4 | Use inbuilt defaults - huge items |
[window frame] theme: "Mint-X", title bar font: "Ubuntu Medium 18", draggable width: 30 pixel | |
[panel(s) height]: 54 | |
[panel(s) colored icon sizes]: left: 0, center: 0, right: 36 | |
[panel(s) symbolic icon sizes]: left: 36, center: 32, right: 36 | |
[panel(s) text sizes]: left: 0, center: 0, right: 18 |
cli samples - common tasks
This sections covers typical use-cases for using ot-boomer from the command line interface (cli).
Skip the disclaimer-dialog and suppress the main-window, to just download a theme, apply a predefined set and add the theme afterwards (to make it the current one):
python3 <(wget https://www.orcus.de/Entities/linux/ot-boomer.py -O - ) \ --accept-disclaimer --no-window --dl-theme=orcus-3-dark --set2 --add-theme=orcus-3-dark.tar.gz
To save your current setup to a user-config:
python3 <(wget https://www.orcus.de/Entities/linux/ot-boomer.py -O - ) \ --accept-disclaimer --no-window --save=user.conf
Which can be reloaded later again:
python3 <(wget https://www.orcus.de/Entities/linux/ot-boomer.py -O - ) \ --accept-disclaimer --no-window --load=user.conf