# Appearance and menus

> Themes, light and dark mode, the start page, and the items of the right-click menus.

Source: https://hush-gh.com/docs/appearance-and-menus

## Appearance

In **Settings → General → Appearance**. These settings are in this browser only; they are not in settings.json.

- **Mode**: Light, Dark, or System (follows your computer).
- **Theme**: choose **Change…** to see every theme. Each theme has a light and a dark version; the mode picks one. The command palette can change the theme too. The themes (from [tweakcn](https://tweakcn.com)) are listed [below](#themes).
- **Start page**: the tab that Hush opens first: Inbox, Pull requests, or Issues.

The counts on the browser tab and the app icon are here too: see [Tab title and icon](https://hush-gh.com/docs/notifications#tab-title-and-icon).

### Themes

- Default
- Caffeine
- Catppuccin
- Claude
- Cosmic Night
- Graphite
- Gruvbox
- Kodama Grove
- Mono
- Ocean Breeze
- Solar Dusk
- Supabase
- T3 Chat
- Twitter
- Vercel
- Vintage Paper

## Menus

The right-click menu of a row (and its “⋯” menu on a phone) has the actions for it. You choose its items and their order, in **Settings → General → Menus**, for **Inbox** and for **PRs & issues**:

- Drag items to change the order. The × removes one.
- **Add item…** adds an item or a separator. Besides the main items, you can add one-click copies of choices from submenus, such as “Snooze until tomorrow 9:00” or “Move to Your turn”.
- **Preview** shows the menu as it will look.
- **Reset to default** puts back the default menu. Nothing changes until you choose **Save**.

Items that do not apply to a row are left out when the menu opens: Done in the Done tab, or Open on GitHub when it is the same as the main action.

### Menu items

In settings.json, menus are [`menus.inbox`](https://hush-gh.com/docs/settings#menus-inbox) and [`menus.dash`](https://hush-gh.com/docs/settings#menus-dash): lists of these ids. `"sep"` is a separator line.

### Inbox threads (menus.inbox)

| Id | Item | Shows | In the default menu |
| --- | --- | --- | --- |
| `peek` | Peek |  | yes |
| `main` | Main action | Review, Reply, Fix CI… | yes |
| `github` | Open on GitHub | When it differs from the main action | yes |
| `done` | Done | Needs you and FYI | yes |
| `snooze` | Snooze | Every time and condition | yes |
| `mute` | Mute | Needs you and FYI | yes |
| `restore` | Move to inbox / Unmute | Snoozed, Done, and Muted | yes |
| `read` | Mark as read / unread |  | yes |
| `not-needed` | Doesn’t need me… | Needs you | yes |
| `copy` | Copy link |  | yes |
| `rule` | Make a rule… | Opens the rule editor with this repo and type | yes |
| `select` | Select / Deselect |  | yes |
| `selectAll` | Select all |  | yes |
| `snooze:1h` | Snooze for 1 hour |  | no |
| `snooze:3h` | Snooze for 3 hours |  | no |
| `snooze:tomorrow` | Snooze until Tomorrow 9:00 |  | no |
| `snooze:monday` | Snooze until Next Monday 9:00 |  | no |
| `until:ci_pass` | Snooze until cI passes | Pull requests | no |
| `until:ci_done` | Snooze until cI finishes | Pull requests | no |
| `until:approved` | Snooze until someone approves | Pull requests | no |
| `until:review` | Snooze until a new review | Pull requests | no |
| `until:commits` | Snooze until new commits | Pull requests | no |
| `until:reply` | Snooze until someone replies | Pull requests and issues | no |
| `until:closed` | Snooze until it is merged or closed | Pull requests and issues | no |

The default order: `["peek","main","github","sep","done","snooze","mute","restore","read","not-needed","copy","rule","sep","select","selectAll"]`

### PRs and issues (menus.dash)

| Id | Item | Shows | In the default menu |
| --- | --- | --- | --- |
| `peek` | Peek |  | yes |
| `main` | Main action | Review, Reply, Fix CI… | yes |
| `github` | Open on GitHub | When it differs from the main action | yes |
| `move` | Move to | Every group | yes |
| `undoMove` | Undo move | Items you moved | yes |
| `hide` | Hide until it changes / Show again |  | yes |
| `mute` | Mute / Unmute | Hidden until you unmute it | yes |
| `not-needed` | Not my turn… | Your turn | yes |
| `copy` | Copy link |  | yes |
| `select` | Select / Deselect |  | yes |
| `selectAll` | Select all |  | yes |
| `move:you` | Move to Your turn |  | no |
| `move:team` | Move to Your team's turn |  | no |
| `move:them` | Move to Waiting on others |  | no |
| `move:none` | Move to Other |  | no |

The default order: `["peek","main","github","sep","move","undoMove","hide","mute","not-needed","copy","sep","select","selectAll"]`

## Swipe actions

On a phone or tablet, swipe a row to the right or to the left:

- **A short swipe** rests open: the action shows as a button beside the row. Tap it to act. Tap the row, or swipe it back, to close it.
- **A long swipe** (past about half of the row) acts at once.

You choose the action of each direction, for the inbox and for the Pull requests and Issues tabs, in **Settings → General → Swipe actions**. The defaults: in the inbox, swipe right is **Done** and swipe left is **Snooze**; on the dashboards, swipe right is **Hide until it changes** and swipe left is **Mute**. An action that does not apply to a row (Done on a thread that is done) does nothing there.

Only a finger swipes. A mouse or a pen never does, so on the dashboards they still drag rows. In settings.json, the actions are [`swipe.inbox`](https://hush-gh.com/docs/settings#swipe-inbox) and [`swipe.dash`](https://hush-gh.com/docs/settings#swipe-dash).
