Config

Tut is configurable, so you can change things like the colors, the default timeline, what image viewer to use and some more.

You find it in XDG_CONFIG_HOME/tut/config.toml on Linux which usally equals to ~/.config/tut/config.toml.. If you don't run Linux it will use the path of os#UserConfigDir. But if you move the tut folder to XDG_CONFIG_HOME/tut/ and have set the environment variable $XDG_CONFIG_HOME it will look there instead of the standard place.

In the git-repo you can find a example.config.toml. It contains the default values. And can be good to look at for reference.

General config

Section [general] in your config

editor

What editor to use. TUT_USE_INTERNAL will use the editor that comes with tut. If you want you can set this to $EDITOR to use your environment variable or vim if you want to specify the program directly.

default="TUT_USE_INTERNAL"

confirmation

You need to press yes in a confirmation dialog before favoriting, boosting, etc.

default=true

mouse-support

Enable mouse support in tut.

default=false

date-format

The date format to be used. See Go time#Constants

default="2006-01-02 15:04"

date-tody-format

Format for dates the same day. See date-format for more info.

default="15:04"

date-relative

This displays relative dates instead for statuses that are one day or older the output is 1y2m1d (1 year 2 months and 1 day)

The value is an integer

-1 = don't use relative dates

0 = always use relative dates, except for dates < 1 day

1 - ∞ = number of days to use relative dates

Value: 28 will display a relative date for toots that are between 1-28 days old. Otherwise it will use the short or long format.

default=-1

max-width

The max with of text before it wraps when displaying a toot.

default=0

list-placement

The placement of your panes.

valid: left, right, top, bottom

default="left"

list-split

How should panes be split?

valid: row, column

default="row"

list-proportion

The proportion of panes vs. content. 1 on this and 3 on content below results in content taking up 3 times more space.

default=1

content-proportion

See previous.

default=2

notifications-to-hide

Hide notifications of this type in your notification timelines.

valid: mention, status, boost, follow, follow_request, favorite, poll, edit

default=[]

quote-reply

Always include a quote of the message you're replying to.

default=false

show-icons

If you want to show icons in timelines.

default=true

short-hints

If you only want to you the letter of keys instead of the full hint.

default=false

show-filter-phrase

If you want to display the filter that filtered a toot.

default=true

show-help

Display a message in the commandbar on how to access the help text.

default=true

stick-to-top

Always jump to the newest post. May ruin your reading experience.

default=false

show-boosted-user

Display the username of the person being boosted instead of the person that boosted.

default=false

commands-in-new-pane

Open a new pane when you run a command like :timeline home.

default=true

dynamic-timeline-name

Set a default name for the timeline if the name is empty. So if you run :tag linux the title of the pane will be set to #linux

default=true

terminal-title

0 = No terminal title

1 = Show title in terminal and top bar

2 = Only show terminal title, and no top bar in tut

3 = No terminal title and no top bar in tut.

valid: 0, 1, 2, 3

default=0

redraw-ui

If you don't want the whole UI to update, and only update the text content you can disable this. This will lead to some artifacts being left on the screen when emojis are present.

default=true

leader-key

The leader is used as a shortcut to run commands as you can do in Vim. By default this is disabled and you enable it by setting a key here. It can only consist of one char, so set it to something like a comma.

default=""

leader-timeout

Number of milliseconds before the leader command resets. So if you tap the leader-key by mistake or are to slow it empties all the input after X milliseconds.

default=1000

Timelines config

Section [[general.timelines]] in your config. You can have multiple of them.

Timelines adds panes of feeds. You can customize the number of feeds, what they should show and the key to activate them.

Example:

[[general.timelines]]

name="home"

type="home"

hide-boosts=false

hide-replies=false

[[general.timelines]]

name="Notifications"

type="notifications"

keys=["n", "N"]

closed=true

on-creation-closed="new-pane"

on-focus="focus-self"

name

The name to display above the timeline

default=""

type

The type of the timeline

valid: home, direct, local, federated, bookmarks, saved, favorited, notifications, lists, mentions, tag

default=""

data

Used for the tag type, so here you set the tag. If you have multiple you separate them with a space.

default=""

keys

A list of keys to give this timeline focus. See under the input section to learn more about keys.

default=[]

special-keys

A list of special-keys to give this timeline focus. See under the input section to learn more about special-keys.

default=[]

shortcut

A shortcut to give this timeline focus with your leader-key + this shortcut.

default=""

hide-boosts

Hide boosts in this timeline.

default="false"

hide-replies

Hide replies in this timeline.

default="false"

closed

Don't open this timeline when you start tut. Use your keys or shortcut to open it.

default="false"

on-creation-closed

Don't open this timeline when you start tut. Use your keys or shortcut to open it.

valid: new-pane, current-pane

default="new-pane"

on-focus

Don't open this timeline when you start tut. Use your keys or shortcut to open it.

valid: focus-pane, focus-self

default="focus-pane"

Leader-Actions config

Section [[general.leader-actions]] in your config. You can have multiple of them.

You set actions leader-key with one or more leader-actions.

The shortcuts are up to you, but keep them quite short and make sure they don't collide. If you have one shortcut that is "f" and an other one that is "fav", the one with "f" will always run and "fav" will never run.

Some special actions that requires data to be set:

pane is special as it's a shortcut for switching between the panes you've set under general and they are zero indexed. pane 0 = your first timeline, pane 1 = your second and so on.

list-placement as it takes the argument top, right, bottom or left

list-split as it takes the argument column or row

proportions takes the arguments [int] [int], where the first integer is the list and the other content, e.g. proportions 1 3. See list-proportion above for more information.

Example:

[[general.leader-actions]]

type="close-pane"

shortcut="q"

[[general.leader-actions]]

type="list-split"

data="row"

shortcut="r"

[[general.leader-actions]]

type="list-split"

data="column"

shortcut="c"

type

The action you want to run.

valid: blocking, boosts, clear-notifications, close-pane, compose, edit, favorited, favorites, followers, following, history, list-placement, list-split, lists, move-pane-left, move-pane-right, move-pane-up, move-pane-down, move-pane-home, move-pane-end, muting, newer, pane, preferences, profile, proportions, refetch, stick-to-top, tags

default=""

data

Data to pass to the action.

default=""

shortcut

A shortcut to run this action with your leader-key + this shortcut.

default=""

Media config

Section [media] in your config

delete-temp-files

Media files will be removed directly after they've been opened. Some programs doesn't like this, so if your media doesn't open, try set this to false. Tut will remove all files once you close the program.

default=true

Image config

Section [media.image] in your config

program

The program to open images. TUT_OS_DEFAULT equals xdg-open on Linux, open on MacOS and start on Windows.

default="TUT_OS_DEFAULT"

args

Arguments to pass to the program.

default=""

terminal

If the program runs in the terminal set this to true.

default=false

single

If the program should be called multiple times when there is multiple files. If set to false all files will be passed as an argument, but not all programs support this.

default=true

reverse

If the files should be passed in reverse order. This will make some programs display the files in the correct order.

default=false

Video config

Section [media.video] in your config

program

The program to open videos. TUT_OS_DEFAULT equals xdg-open on Linux, open on MacOS and start on Windows.

default="TUT_OS_DEFAULT"

args

Arguments to pass to the program.

default=""

terminal

If the program runs in the terminal set this to true.

default=false

single

If the program should be called multiple times when there is multiple files. If set to false all files will be passed as an argument, but not all programs support this.

default=true

reverse

If the files should be passed in reverse order. This will make some programs display the files in the correct order.

default=false

Audio config

Section [media.audio] in your config

program

The program to open audio. TUT_OS_DEFAULT equals xdg-open on Linux, open on MacOS and start on Windows.

default="TUT_OS_DEFAULT"

args

Arguments to pass to the program.

default=""

terminal

If the program runs in the terminal set this to true.

default=false

single

If the program should be called multiple times when there is multiple files. If set to false all files will be passed as an argument, but not all programs support this.

default=true

reverse

If the files should be passed in reverse order. This will make some programs display the files in the correct order.

default=false

Link config

Section [media.link] in your config

program

The program to open links. TUT_OS_DEFAULT equals xdg-open on Linux, open on MacOS and start on Windows.

default="TUT_OS_DEFAULT"

args

Arguments to pass to the program.

default=""

terminal

If the program runs in the terminal set this to true.

default=false

Desktop-Notification config

Section [desktop-notification] in your config

followers

Enable notifications when someone follows you.

default=false

favorite

Enable notifications when one of your toots gets favorited.

default=false

mention

Enable notifications when someone mentions you.

default=false

update

Enable notifications when a post you have interacted with gets edited.

default=false

boost

Enable notifications when one of your toots gets boosted.

default=false

poll

Enable notifications when a poll ends.

default=false

posts

Enable notifications for new posts.

default=false

Open-Custom config

Section [open-custom] in your config

Example:

[[open-custom.programs]]

program = 'chromium'

terminal = false

hint = "[C]hrome"

keys = ["c", "C"]

[[open-custom.programs]]

program = 'imv'

terminal = false

hint = "[I]mv"

keys = ["i", "I"]"

Programs config

Section [[open-custom.programs]] in your config. You can have multiple of them.

program

The program to open the file with.

default=""

args

Arguments to pass to the program.

default=""

terminal

If the program runs in the terminal set this to true.

default=false

hint

What should the key hint in tut be for this program. See under the input section to learn more about hint.

default=""

keys

A list of keys to to open files with this program. See under the input section to learn more about keys.

default=[]

special-keys

A list of special-keys to open files with this program. See under the input section to learn more about special-keys.

default=[]

Open-Pattern config

Section [open-pattern] in your config

Programs config

Section [[open-pattern.programs]] in your config. You can have multiple of them.

matching

Here you can set your own glob patterns for opening matching URLs in the program you want them to open up in. You could for example open Youtube videos in your video player instead of your default browser. To see the syntax for glob pattern you can follow this URL https://github.com/gobwas/glob#syntax.

default=""

program

The program to open the file with.

default=""

args

Arguments to pass to the program.

default=""

terminal

If the program runs in the terminal set this to true.

default=false

Style config

Section [style] in your config

All styles can be represented in their HEX value like #ffffff or with their name, so in this case white. The only special value is "default" which equals to transparent, so it will be the same color as your terminal.

You can also use xrdb colors like this xrdb:color1 The program will use colors prefixed with an * first then look for URxvt or XTerm if it can't find any color prefixed with an asterisk. If you don't want tut to guess the prefix you can set the prefix yourself. If the xrdb color can't be found a preset color will be used. You'll have to set theme="none" for this to work.

theme

The theme to use. You can use some themes that comes bundled with tut. Check out the themes available on the URL below. If a theme is named nord.toml you just write theme="nord".

./tut/config/themes

You can also create a theme file in your config directory e.g. ~/.config/tut/themes/foo.toml and then set theme=foo.

If you want to use your own theme but don't want to create a new file, set theme="none" and then you can create your own theme below.

default="default"

xrdb-prefix

The xrdb prefix used for colors in .Xresources.

default="guess"

background

The background color used on most elements.

default=""

text

The text color used on most of the text.

default=""

subtle

The color to display subtle elements or subtle text. Like lines and help text.

default=""

warning-text

The color for errors or warnings

default=""

text-special-one

This color is used to display username.

default=""

text-special-two

This color is used to display username and key hints.

default=""

top-bar-background

The color of the bar at the top

default=""

top-bar-text

The color of the text in the bar at the top.

default=""

status-bar-background

The color of the bar at the bottom

default=""

status-bar-text

The color of the text in the bar at the bottom.

default=""

status-bar-view-background

The color of the bar at the bottom in view mode.

default=""

status-bar-view-text

The color of the text in the bar at the bottom in view mode.

default=""

command-text

The color of the text in the command bar at the bottom.

default=""

list-selected-background

Background of selected list items.

default=""

list-selected-text

The text color of selected list items.

default=""

list-selected-inactive-background

The background color of selected list items that are out of focus.

default=""

list-selected-inactive-text

The text color of selected list items that are out of focus.

default=""

controls-text

The main color of the text for key hints

default=""

controls-highlight

The highlight color of for key hints

default=""

autocomplete-background

The background color in drop-downs and autocompletions

default=""

autocomplete-text

The text color in drop-downs at autocompletions

default=""

autocomplete-selected-background

The background color for selected value in drop-downs and autocompletions

default=""

autocomplete-selected-text

The text color for selected value in drop-downs and autocompletions

default=""

button-color-one

The background color on selected button and the text color of unselected buttons

default=""

button-color-two

The text color on selected button and the background color of unselected buttons

default=""

timeline-name-background

The background on named timelines.

default=""

timeline-name-text

The text color on named timelines

default=""

Input config

Section [input] in your config

In this section you set the keys to be used in tut.

The hint option lets you set which part of the hint that will be highlighted in tut. E.g. [F]avorite results in a highlighted F and the rest of the text is displayed normally.

Some of the options can be in two states, like favorites, so there you can set the hint-alt option to something like Un[F]avorite.

Examples:

"[D]elete" = Delete with a highlighted D

"Un[F]ollow" = UnFollow with a highlighted F

"[Enter]" = Enter where everything is highlighted

"Yan[K]" = YanK with a highlighted K

The keys option lets you define what key that should be pressed. This is limited to on character only and they are case sensitive.

Example:

keys=["j","J"]

You can also set special-keys and they're for keys like Escape and Enter. To find the names of special keys you have to go to the following site and look for "var KeyNames = map[Key]string{"

gdamore/tcell/key.go.

Global-Down config

Section [input.global-down] in your config

Keys for moving down

keys

default=["j","J"]

special-keys

default=["Down"]

Global-Up config

Section [input.global-up] in your config

Keys for moving down

keys

default=["k","K"]

special-keys

default=["Up"]

Global-Enter config

Section [input.global-enter] in your config

To select items

special-keys

default=["Enter"]

Global-Back config

Section [input.global-back] in your config

To go back

hint

default="[Esc]"

special-keys

default=["Esc"]

Global-Exit config

Section [input.global-exit] in your config

To go back or exit

hint

default="[Q]uit"

keys

default=["q","Q"]

Main-Home config

Section [input.main-home] in your config

Move to the top

keys

default=["g"]

special-keys

default=["Home"]

Main-End config

Section [input.main-end] in your config

Move to the bottom

keys

default=["G"]

special-keys

default=["End"]

Main-Prev-Feed config

Section [input.main-prev-feed] in your config

Go to previous feed

keys

default=["h","H"]

special-keys

default=["Left"]

Main-Next-Feed config

Section [input.main-next-feed] in your config

Go to next feed

keys

default=["l","L"]

special-keys

default=["Right"]

Main-Prev-Pane config

Section [input.main-prev-pane] in your config

Focus on the previous feed pane

special-keys

default=["Backtab"]

Main-Next-Pane config

Section [input.main-next-pane] in your config

Focus on the next feed pane

special-keys

default=["Tab"]

Main-Next-Account config

Section [input.main-next-account] in your config

Focus on the next account

special-keys

default=["Ctrl-N"]

Main-Prev-Account config

Section [input.main-prev-account] in your config

Focus on the previous account

special-keys

default=["Ctrl-P"]

Main-Compose config

Section [input.main-compose] in your config

Compose a new toot

keys

default=["c","C"]

Status-Avatar config

Section [input.status-avatar] in your config

Open avatar

hint

default="[A]vatar"

keys

default=["a","A"]

Status-Boost config

Section [input.status-boost] in your config

Boost a toot

hint

default="[B]oost"

keys

default=["b","B"]

Status-Edit config

Section [input.status-edit] in your config

Edit a toot

hint

default="[E]dit"

keys

default=["e","E"]

Status-Delete config

Section [input.status-delete] in your config

Delete a toot

hint

default="[D]elete"

keys

default=["d","D"]

Status-Favorite config

Section [input.status-favorite] in your config

Favorite a toot

hint

default="[F]avorite"

keys

default=["f","F"]

Status-Media config

Section [input.status-media] in your config

Open toots media files

hint

default="[M]edia"

keys

default=["m","M"]

Status-Links config

Section [input.status-links] in your config

Open links

hint

default="[O]pen"

keys

default=["o","O"]

Status-Poll config

Section [input.status-poll] in your config

Open poll

hint

default="[P]oll"

keys

default=["p","P"]

Status-Reply config

Section [input.status-reply] in your config

Reply to toot

hint

default="[R]eply"

keys

default=["r","R"]

Status-Bookmark config

Section [input.status-bookmark] in your config

Save/bookmark a toot

hint

default="[S]ave"

hint-alt

default="Un[S]ave"

keys

default=["s","S"]

Status-Thread config

Section [input.status-thread] in your config

View thread

hint

default="[T]hread"

keys

default=["t","T"]

Status-User config

Section [input.status-user] in your config

Open user profile

hint

default="[U]ser"

keys

default=["u","U"]

Status-View-Focus config

Section [input.status-view-focus] in your config

Open the view mode

hint

default="[V]iew"

keys

default=["v","V"]

Status-Yank config

Section [input.status-yank] in your config

Yank the url of the toot

hint

default="[Y]ank"

keys

default=["y","Y"]

Status-Toggle-Cw config

Section [input.status-toggle-cw] in your config

Show the content in a content warning

hint

default="Press [Z] to toggle cw"

keys

default=["z","Z"]

Status-Show-Filtered config

Section [input.status-show-filtered] in your config

Show the content of a filtered toot

hint

default="Press [Z] to view filtered toot"

keys

default=["z","Z"]

User-Avatar config

Section [input.user-avatar] in your config

View avatar

hint

default="[A]vatar"

keys

default=["a","A"]

User-Block config

Section [input.user-block] in your config

Block the user

hint

default="[B]lock"

hint-alt

default="Un[B]lock"

keys

default=["b","B"]

User-Follow config

Section [input.user-follow] in your config

Follow user

hint

default="[F]ollow"

hint-alt

default="Un[F]ollow"

keys

default=["f","F"]

User-Follow-Request-Decide config

Section [input.user-follow-request-decide] in your config

Follow user

hint

default="Follow [R]equest"

hint-alt

default="Follow [R]equest"

keys

default=["r","R"]

User-Mute config

Section [input.user-mute] in your config

Mute user

hint

default="[M]ute"

hint-alt

default="Un[M]ute"

keys

default=["m","M"]

User-Links config

Section [input.user-links] in your config

Open links

hint

default="[O]pen"

keys

default=["o","O"]

User-User config

Section [input.user-user] in your config

View user profile

hint

default="[U]ser"

keys

default=["u","U"]

User-View-Focus config

Section [input.user-view-focus] in your config

Open view mode

hint

default="[V]iew"

keys

default=["v","V"]

User-Yank config

Section [input.user-yank] in your config

Yank the user URL

hint

default="[Y]ank"

keys

default=["y","Y"]

List-Open-Feed config

Section [input.list-open-feed] in your config

Open list

hint

default="[O]pen"

keys

default=["o","O"]

List-User-List config

Section [input.list-user-list] in your config

List all users in a list

hint

default="[U]sers"

keys

default=["u","U"]

List-User-Add config

Section [input.list-user-add] in your config

Add user to list

hint

default="[A]dd"

keys

default=["a","A"]

List-User-Delete config

Section [input.list-user-delete] in your config

Delete user from list

hint

default="[D]elete"

keys

default=["d","D"]

Link-Open config

Section [input.link-open] in your config

Open URL

hint

default="[O]pen"

keys

default=["o","O"]

Link-Yank config

Section [input.link-yank] in your config

Yank the URL

hint

default="[Y]ank"

keys

default=["y","Y"]

Tag-Open-Feed config

Section [input.tag-open-feed] in your config

Open tag feed

hint

default="[O]pen"

keys

default=["o","O"]

Tag-Follow config

Section [input.tag-follow] in your config

Toggle follow on tag

hint

default="[F]ollow"

hint-alt

default="Un[F]ollow"

keys

default=["f","F"]

Compose-Edit-Cw config

Section [input.compose-edit-cw] in your config

Edit content warning text on new toot

hint

default="[C]W text"

keys

default=["c","C"]

Compose-Edit-Text config

Section [input.compose-edit-text] in your config

Edit the text on new toot

hint

default="[E]dit text"

keys

default=["e","E"]

Compose-Include-Quote config

Section [input.compose-include-quote] in your config

Include a quote when replying

hint

default="[I]nclude quote"

keys

default=["i","I"]

Compose-Media-Focus config

Section [input.compose-media-focus] in your config

Focus on adding media to toot

hint

default="[M]edia"

keys

default=["m","M"]

Compose-Post config

Section [input.compose-post] in your config

Post the new toot

hint

default="[P]ost"

keys

default=["p","P"]

Compose-Toggle-Content-Warning config

Section [input.compose-toggle-content-warning] in your config

Toggle content warning on toot

hint

default="[T]oggle CW"

keys

default=["t","T"]

Compose-Visibility config

Section [input.compose-visibility] in your config

Edit the visibility on new toot

hint

default="[V]isibility"

keys

default=["v","V"]

Compose-Language config

Section [input.compose-language] in your config

Edit the language of a toot

hint

default="[L]ang"

keys

default=["l","L"]

Compose-Poll config

Section [input.compose-poll] in your config

Switch to creating a poll

hint

default="P[O]ll"

keys

default=["o","O"]

Media-Delete config

Section [input.media-delete] in your config

Delete media file

hint

default="[D]elete"

keys

default=["d","D"]

Media-Edit-Desc config

Section [input.media-edit-desc] in your config

Edit the description on media file

hint

default="[E]dit desc"

keys

default=["e","E"]

Media-Add config

Section [input.media-add] in your config

Add a new media file

hint

default="[A]dd"

keys

default=["a","A"]

Vote-Vote config

Section [input.vote-vote] in your config

Vote on poll

hint

default="[V]ote"

keys

default=["v","V"]

Vote-Select config

Section [input.vote-select] in your config

Select item to vote on

hint

default="[Enter] to select"

special-keys

default=["Enter"]

Poll-Add config

Section [input.poll-add] in your config

Add a new poll option

hint

default="[A]dd"

keys

default=["a","A"]

Poll-Edit config

Section [input.poll-edit] in your config

Edit a poll option

hint

default="[E]dit"

keys

default=["e","E"]

Poll-Delete config

Section [input.poll-delete] in your config

Delete a poll option

hint

default="[D]elete"

keys

default=["d","D"]

Poll-Multi-Toggle config

Section [input.poll-multi-toggle] in your config

Toggle voting on multiple options

hint

default="Toggle [M]ultiple"

keys

default=["m","M"]

Poll-Expiration config

Section [input.poll-expiration] in your config

Change the expiration of poll

hint

default="E[X]pires"

keys

default=["x","X"]

Preference-Name config

Section [input.preference-name] in your config

Change display name

hint

default="[N]ame"

keys

default=["n","N"]

Preference-Visibility config

Section [input.preference-visibility] in your config

Change default visibility of toots

hint

default="[V]isibility"

keys

default=["v","V"]

Preference-Bio config

Section [input.preference-bio] in your config

Change bio in profile

hint

default="[B]io"

keys

default=["b","B"]

Preference-Save config

Section [input.preference-save] in your config

Save your preferences

hint

default="[S]ave"

keys

default=["s","S"]

Preference-Fields config

Section [input.preference-fields] in your config

Edit profile fields

hint

default="[F]ields"

keys

default=["f","F"]

Preference-Fields-Add config

Section [input.preference-fields-add] in your config

Add new field

hint

default="[A]dd"

keys

default=["a","A"]

Preference-Fields-Edit config

Section [input.preference-fields-edit] in your config

Edit current field

hint

default="[E]dit"

keys

default=["e","E"]

Preference-Fields-Delete config

Section [input.preference-fields-delete] in your config

Delete current field

hint

default="[D]elete"

keys

default=["d","D"]

Editor-Exit config

Section [input.editor-exit] in your config

Exit the editor

hint

default="[Esc] when done"

special-keys

default=["Esc"]

-- Config --