Repository navigation
Themes
Settings > General > Appearance has the theme picker. The choice applies at once, with no restart, and is remembered.
- Dark is the default.
- Light is a full light look.
- Green, Amber and Purple are Dark with a different accent color.
- Abyssal is a deep-blue theme with a glowing background picture, and shows off the Corners card: a different shape for tags, buttons, cards and posters.
- Auto (follow Windows) uses Light or Dark to match Windows' app mode, and switches when Windows does.
- Any theme of your own appears below those, marked "(yours)".
Each theme has a background picture behind the pages, showing around the cards. Untick Show the theme's background picture to use the theme's plain background color instead. The picture is part of the theme, so switching themes switches it.
The title bars follow the theme too. A theme that is hard to read (text too close to its background) is still applied, with a line in Appearance saying which text is too faint.
Settings > General > Appearance has a Text size slider, from 90% to 150%. It makes all of TrayTrigger's text larger or smaller together, so headings stay larger than body text. It applies at once, is remembered, and is not changed by Reset Settings to Defaults. Type a number in the box for an exact size, or press Reset to 100%, the size the app was designed at.
That size is used for every theme, the built-in ones too. A theme can also set a size of its own: in the theme editor, untick From Settings next to Size on the Font and text size card and choose one. The editor's preview shows it before you save, and when the theme on screen has its own size, the Settings slider is greyed out with a note saying so, since it would show nothing until another theme is chosen.
The smallest text (the labels on badges) never goes below its normal size. Past 130%, some screens may clip text; the slider says so, and lowering the size fixes it. The tray menu's text follows it too; its icons keep their size.
In the theme file a theme's own size is one line, "textSize": 120. Leave it out to follow Settings.
Settings > General > Appearance also has a Font list. It sets the font for all of TrayTrigger's text. Any font installed on your computer can be chosen (symbol fonts such as Wingdings are left out, since they would turn every label into pictures), and each name is shown in its own face. It applies at once, is remembered, and is not changed by Reset Settings to Defaults. Segoe UI fills in anything the chosen font does not have, and Reset to Segoe UI puts the default back. Icons, and the code-style text in Help, keep their own fonts. Some fonts are taller or wider than Segoe UI, so a very wide one may clip text in places, as a large text size can.
Like the text size, a theme can set a font of its own: in the theme editor, untick From Settings next to Font on the Font and text size card and pick one. The editor's preview shows it before you save, and when the theme on screen has its own font, the Settings list is greyed out with a note saying so. If a theme's font is not installed on a computer, the font from Settings is used there. In the theme file it is one line, "font": "Georgia"; leave it out to follow Settings.
Press New theme from this... in Appearance while a built-in theme is chosen. A built-in theme cannot be changed, so it opens as a copy ("My Dark") that is saved as a theme of your own. With one of your own themes chosen the button reads Edit theme... and the theme opens as it is.
-
Colors. Seven colors make up a theme: Background, Surface (cards and panels), Text, Accent (buttons, the selected tab, links), Danger, and the optional Warning and Success. Click a swatch to pick a color: drag in the square (or use the arrow keys, with Shift for bigger steps), move the hue strip, or choose one of the suggested colors. Or type or paste
#RRGGBBin the box. The colors that go with them (hover, pressed, tints, dimmer text) are worked out for you. - Live preview. The Live preview > tab at the top right slides a preview out to the right of the window (the window gets wider; the editor keeps its size, and the window moves left if it would run off the screen). It shows your colors, corners, text size and font as you change them: the tab strip and buttons, a game row, three game cards at the size they have in the library (a card at rest, one under the mouse and one selected; they are your own most played games with a cover, or made-up games if the library has none), a text box in a dialog card, and a strip of how buttons and rows look when pressed, under the mouse, focused, disabled and selected. It starts closed. Nothing else changes until you press Save Changes, and Cancel leaves everything as it was. The Main colors card names any text that may be hard to read, and says nothing when all of it is fine.
- Corners. The Corners card sets how round everything is. Pick a shape from the list (Rounded, Leaf, Reverse leaf, Blade, Reverse blade, Ramp, Reverse ramp, Left cap, Right cap, Folder tab, Hanging, Speech bubble, Reverse speech bubble, One big corner or Pill; each is drawn beside its name) and set Roundness from 0 (square) to 16. 4 with Rounded is how TrayTrigger looks without a theme. Up to 8 the corners grow gently; past 8 each step is much larger and the number turns the warning color, because very round corners can clip text and art. A Pill is as round as it can be, so it has no roundness. Customize (open at first, Hide closes it) gives tags, controls, cards and posters a shape and a size each. Tags, controls, cards and posters are four separate rows: a row that says Default follows the shape and roundness above it (a poster says Follows cards: it follows the cards, one pixel less round; a library game card showing its poster has no background of its own and its outline follows the poster, so a very round poster is not left with a squarer card behind it). Change a row and it has its own shape and size; the arrow beside it puts it back to Default. The shape and roundness above always work: choosing a new shape sets every row to that shape, and moving the roundness makes every row rounder or squarer by the same amount, so the differences between rows stay. A theme with a different shape on every row can go back to one shape in a step (Cancel keeps what you had). Moving the roundness leaves each row's shape alone, and choosing a shape leaves each row's size alone. A theme file that sets a tag, control, card or poster shows that row as its own. Reset puts every corner back to TrayTrigger's own. Tags are badges and small chips, controls are buttons, boxes and list rows, cards are cards and panels, and posters are the cover art inside a game card.
- Picture. Change... chooses the theme's background picture and Remove takes it away; the slider sets how strongly it shows. Keep in view sets which part of the picture always stays on screen when the window is a different shape (Center, Left, Right, Top or Bottom). See below for what a picture has to be.
- Font and text size. The Font and text size card (left column, under Background picture) has a part for each. Each follows Settings while its From Settings box is ticked; untick it to give the theme its own: a font from the list, or a size from 90 to 150 (the slider, or a number in the box). Reset on the card puts both back to following Settings. Past 130% the card says some screens may clip text. Only the live preview changes until you save.
- Window size. The editor opens at the size you last left it. The live preview panel is not part of that size: it is added beside the window each time it opens.
- Randomize. Randomize (top right) fills the main colors, the corners, the text size, the font and (when the theme has a picture) how strongly the picture shows at random with a new starting point. The text size stays between 90% and 130%, the font is one that can write ordinary text, and the theme gets its own text size and font. The colors are built from one hue and their text is easy to read; the corners are ones where tags, controls, cards and posters often get a shape and size of their own, anywhere on the sliders (so a roll can be extreme; Undo and the next press are one click away). It is only a start: change any color, shape or size by hand afterwards. The small Randomize link on the Main colors card rolls only the colors, and the one on the Corners card only the corners. Press it again for another try, and Undo randomize (it appears after the first press) puts back what was there before the last one. The name, the picture, the Dark or Light start and any fine-tuning colors the file sets by hand are left alone. Reset on the Main colors card puts the main colors back to how they were when the window opened.
- Starts from. Dark or Light is where the colors you leave alone come from. Changing it starts the colors again from Dark or Light.
- Fine-tuning. About thirty more colors (hover shades, borders, badge colors) are not in the window. They are in the theme file: Open file shows it in Explorer. Open it in any text editor and change them there. The app follows each time you save the file: no restart, and no need to reselect it. If the file sets some of them itself, the window says so, because a color the file lists keeps its value when you change a main color.
Import theme... adds a theme made elsewhere: choose its .theme.json (or a plain .json) and, if it has one, its picture, in the same window. The theme is copied into your Themes folder and chosen at once. Nothing is overwritten: a name already in use becomes "Name (2)". A picture the theme names is found next to the file if you do not choose it.
Open themes folder goes to %AppData%\TrayTrigger\Themes any time. Theme files end in .theme.json; copy one to share it (and its pictures). A theme is known by its file name; the name inside it is only what the picker shows, so a copy of a file is a theme of its own.
To get rid of a theme of your own, select it and press the trash button beside the picker. TrayTrigger asks first. The theme file and the pictures made for it go to the Recycle Bin, so you can bring them back from there, and TrayTrigger returns to Dark. If the Recycle Bin is turned off for that drive, the question says the files will be deleted for good. Built-in themes cannot be deleted.
A theme file looks like this:
{
"schema": 1,
"name": "Forest",
"base": "dark",
"colors": {
"Accent": "#238636",
"Background": "#101412"
}
}
-
base is
darkorlight. It is the built-in theme that supplies every color the file does not list, and it sets whether the title bar is dark. -
colors lists only what you change (a file made by the editor also lists the rest as comments: remove the
//in front of one to set it yourself). Colors are#RRGGBB, or#AARRGGBBwhen they are partly see-through. - shape (optional) sets corner radii in pixels, and is covered in the next section.
- font (optional) is the name of an installed font used for all the text while the theme is on. Leave it out to use the font from Settings.
- textSize (optional) is how large all the text is while the theme is on, in percent, from 90 to 150. Leave it out to use the size from Settings.
- A color you do not list is worked out for you. Setting
Accentalso moves the hover, pressed and link colors that go with it; settingBackgroundmoves the card and border colors; settingTextPrimarymoves the dimmer text colors. Name a color yourself and yours is used.
The editor writes the corners as plain numbers in an optional shape block, and you can write them yourself:
"shape": { "RadiusCard": 20, "RadiusControl": [0, 12, 0, 12] }
- A number sets all four corners. Four numbers set the top-left, top-right, bottom-right and bottom-left. 0 is square.
-
RadiusSmall (tags and badges, 0 to 16), RadiusControl (buttons, boxes and rows, 0 to 48), RadiusCard (cards and panels, 0 to 64) and RadiusPoster (cover art, 0 to 96). The word
Radiusmay be left off ("Card": 20). - A radius you leave out is TrayTrigger's own. A poster you leave out is the card's radius less 1, corner by corner, so the art meets the card's outline.
- A larger number than the limit is held to the limit. A name TrayTrigger does not have, or a value that is not a number or four numbers, is skipped and listed in Appearance.
- A radius larger than half a wide control's height stretches it into a lens rather than a pill; 16 is plenty for a button. A poster is about 180 pixels wide, so 90 or more makes its top an arch.
- The editor shows numbers it did not draw as Custom (from the file) and leaves them exactly as they are until you pick a shape for that kind of corner. Saving a theme only changes the corners you changed.
In Edit theme..., Change... checks the picture and, when you save, copies it unchanged next to your theme file, numbered in the order you add them (Forest.theme.json gets Forest-1.jpg, then Forest-2.png), and sets it in the file. Nothing is ever deleted, so to go back to an earlier picture choose it again from the Themes folder.
A picture has to be:
- a JPG or PNG, at least 1280 x 720 (smaller looks blurry), and no larger than 8K (7680 x 4320) or 20 MB. TrayTrigger does not resize it: if it is too small or too large you are told what to change.
- any shape. The picture fills the window and the edges that do not fit are cropped, never squashed, so keep what matters near the middle. A picture that will be cropped a lot says so. A picture 1920 x 1080 is plenty; a bigger one is kept in memory shrunk to about 3.7 megapixels (2560 x 1440). A photo taken on its side is turned upright.
The picture is only held in memory while the window is open, not while TrayTrigger waits in the tray.
To do it by hand, put the picture in the same folder as the theme file and name it in the file:
"background": { "image": "forest.jpg", "strength": 0.6, "position": "center" }
-
image is the file name, in the Themes folder beside the theme file.
"none"turns the picture off for the theme. -
position is which part of the picture stays in view when the window is a different shape:
center(the default for a picture of your own),left,right,toporbottom. The built-in pictures are kept to theright, where the TT mark is, and a theme with no picture of its own takes its base theme's position along with its picture. -
strength is how much of the picture shows, from 0 to 1. The rest is covered by the theme's
Backgroundcolor, which keeps the text on the page readable whatever the picture is. A picture with no strength is shown at 0.6. - A theme with no
backgroundat all takes the picture of the built-in theme it is based on. - A picture put in the folder by hand may also be a BMP. If it cannot be used it is left out and Appearance says why.
- Copy the picture files along with the theme file to share a theme.
| Name | What it colors |
|---|---|
| Background | The window behind everything |
| Surface | Cards, the sidebar and menus |
| SurfaceHover | A row or button under the mouse |
| DialogCard | The cards inside dialogs and the text boxes |
| Border, BorderStrong | Thin lines, and the outline of a text box or button |
| BorderAccent | An accent-colored outline |
| Accent | Primary buttons and the selected tab |
| AccentHover, AccentPressed | The same buttons under the mouse, and pressed |
| AccentText | Links, section headings and icons in the accent color |
| AccentWash | A faint accent background (a selected row, an info badge) |
| Brand | The "Trigger" half of the name in the sidebar |
| InfoText | Text on an AccentWash |
| TextPrimary | Main text |
| TextSecondary, TextMuted, TextSoft, TextDisabled | Dimmer text, from nearly primary to hardly there |
| TextOnSolid | Text on a solid accent, danger or success fill: keep it light |
| ArtText, ArtTextSecondary, ArtTextMuted | Text drawn over a game's poster: keep these light, the poster fade is dark in every theme |
| Danger, DangerWash, DangerBorder, DangerSolid, DangerSolidHover | Errors and destructive buttons |
| Warning, WarningWash, WarningBorder, Highlight | Cautions, and the search highlight |
| SuccessText, SuccessWash, SuccessSolid | Things that are fine, or done |
| Gold | Favorite stars |
| BadgePurple, BadgePurpleWash | The GOG and Admin badges |
| Scrim | The dark panel over a poster (a play button, a category tag) |
| OverlayLine | The thin line around a badge |
Text and background pairs should differ enough to read: about 4.5 to 1 is the usual rule. Appearance tells you when a pair falls short.
- A file that is not valid, or from a newer TrayTrigger, is not loaded. Appearance names the file and why, and the app stays on Dark.
- A corner radius that is not a number or four numbers, and a radius name TrayTrigger does not have, are skipped and listed in Appearance; the rest of the file is still used.
- A color that is not written as
#RRGGBB, and a color name TrayTrigger does not have (a typo), are skipped and listed in Appearance; the rest of the file is still used. - A
fontthat is not a name is skipped and listed in Appearance. One that is not installed on this computer is listed too, and the theme shows in the font from Settings. - A
textSizethat is not a number is skipped and listed in Appearance, and the theme follows the size in Settings. One outside 90 to 150 is held to the nearest limit and listed too. - Choosing Dark (Default) in the picker puts the default back whatever state a theme is in.
Part of General. This page is the same text as the app's Learn more button, generated from Help/general/themes.md. To fix something, edit that file (or open an issue); wiki edits are overwritten on the next sync.
TrayTrigger | Download | Report a bug | Security policy | Free and open source (MIT)
Performance Tweaks
- How Performance Tweaks work
- AMD V-Cache optimizer
- Auto HDR
- Browser and chat apps holding video memory
- Core Isolation / Memory Integrity (HVCI)
- Disable Delivery Optimization
- Disable Diagnostic Telemetry Sweeps
- Disable Fullscreen Optimization Compatibility Shims
- Disable Game Bar Captures and Background Recording
- Disable MMCSS Network Throttling
- Disable Mouse Acceleration (Enhanced Pointer Precision)
- Disable Multiplane Overlay (MPO)
- Disable Nagle's Algorithm (TCP Send Delay)
- Disable Sticky, Filter, and Toggle Keys Shortcuts
- Disable Xbox Game Bar Overlay
- Exclude Drivers from Windows Update
- Foreground Priority Boost
- Hardware-Accelerated GPU Scheduling (HAGS)
- Intel Application Optimization (APO)
- Keep the DirectX Shader Cache
- Memory speed: XMP and EXPO
- NVIDIA Shader Cache: Unlimited
- Optimizations for Windowed Games (DirectFlip Model)
- Overlays: keep one
- Stutter Check
- System Restore points
- System Timer Resolution
- "Ultimate Plan - TrayTrigger" Power Plan (always on)
- Variable Refresh Rate for Windowed Games
- Windows Game Mode
- Windows Search is indexing
- Windows Visual Effects (Performance Mode)
Performance Profiles
- How Performance Profiles work
- 0.5 ms Timer Resolution Request
- Above Normal Process Priority (profile)
- CPU Cores
- Do Not Disturb While Playing
- Enable Auto HDR (profile)
- Enable HDR (profile)
- Exempt the Game From Power Throttling (profile)
- Frame Cap Just Under Your Refresh Rate (profile)
- MMCSS "Games" Task Priority (profile)
- NVIDIA: Prefer Maximum Performance (profile)
- Resizable BAR for Games NVIDIA Hasn't Decided On (profile)
- System Responsiveness (profile)
- "Ultimate Plan - TrayTrigger" Power Plan (profile)
- Unmute Speakers While Playing
- Windows Defender Exclusion for Game Files (profile)
- Windows High-Performance GPU Preference (profile)