Issue Layout

Issue Section Layout (issue)

You can define how an issue section displays items in its table by setting options for the available columns. You can define a column’s width, whether it grows to fill available space, and whether the column should be visible at all.

Note that if the length of a column’s text exceeds the defined column width, the view truncates the column’s text to two characters shorter than the column’s width. For example, if the width is 6, gh-dash displays as gh-d.

Column headings have their color defined by the theme.colors.text.primary setting.

JSON Schema

Definition
{
  "$id": "https://dlvhdr.github.io/gh-dash/configuration/layout/issue/schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "default": {
    "assignees": {
      "hidden": true,
      "width": 20
    },
    "creator": {
      "width": 10
    },
    "repo": {
      "width": 15
    },
    "updatedAt": {
      "width": 7
    }
  },
  "description": "Defines the columns an issue section displays in its table.\n\nhttps://dlvhdr.github.io/gh-dash/configuration/layout/issue/",
  "properties": {
    "assignees": {
      "default": {
        "hidden": true,
        "width": 20
      },
      "description": "Defines options for the assignees column in an issue section.\n\nhttps://dlvhdr.github.io/gh-dash/configuration/layout/issue/#assignees",
      "oneOf": [
        {
          "$ref": "https://dlvhdr.github.io/gh-dash/configuration/layout/options/schema.json"
        }
      ],
      "title": "Issue Assignees Column",
      "type": "object"
    },
    "comments": {
      "description": "Defines options for the comments column in an issue section.\n\nhttps://dlvhdr.github.io/gh-dash/configuration/layout/issue/#comments",
      "oneOf": [
        {
          "$ref": "https://dlvhdr.github.io/gh-dash/configuration/layout/options/schema.json"
        }
      ],
      "title": "Issue Comments Column",
      "type": "object"
    },
    "creator": {
      "default": {
        "width": 10
      },
      "description": "Defines options for the creator column in an issue section.\n\nhttps://dlvhdr.github.io/gh-dash/configuration/layout/issue/#creator",
      "oneOf": [
        {
          "$ref": "https://dlvhdr.github.io/gh-dash/configuration/layout/options/schema.json"
        }
      ],
      "title": "Issue Creator Column",
      "type": "object"
    },
    "reactions": {
      "description": "Defines options for the reactions column in an issue section.\n\nhttps://dlvhdr.github.io/gh-dash/configuration/layout/issue/#reactions",
      "oneOf": [
        {
          "$ref": "https://dlvhdr.github.io/gh-dash/configuration/layout/options/schema.json"
        }
      ],
      "title": "Issue Reactions Column",
      "type": "object"
    },
    "repo": {
      "default": {
        "width": 15
      },
      "description": "Defines options for the repo column in an issue section.\n\nhttps://dlvhdr.github.io/gh-dash/configuration/layout/issue/#repo",
      "oneOf": [
        {
          "$ref": "https://dlvhdr.github.io/gh-dash/configuration/layout/options/schema.json"
        }
      ],
      "title": "Issue Repo Column",
      "type": "object"
    },
    "state": {
      "description": "Defines options for the state column in an issue section.\n\nhttps://dlvhdr.github.io/gh-dash/configuration/layout/issue/#state",
      "oneOf": [
        {
          "$ref": "https://dlvhdr.github.io/gh-dash/configuration/layout/options/schema.json"
        }
      ],
      "title": "Issue State Column",
      "type": "object"
    },
    "title": {
      "description": "Defines options for the title column in an issue section.\n\nhttps://dlvhdr.github.io/gh-dash/configuration/layout/issue/#title",
      "oneOf": [
        {
          "$ref": "https://dlvhdr.github.io/gh-dash/configuration/layout/options/schema.json"
        }
      ],
      "title": "Issue Title Column",
      "type": "object"
    },
    "updatedAt": {
      "default": {
        "width": 7
      },
      "description": "Defines options for the updated at column in an issue section.\n\nhttps://dlvhdr.github.io/gh-dash/configuration/layout/issue/#updatedAt",
      "oneOf": [
        {
          "$ref": "https://dlvhdr.github.io/gh-dash/configuration/layout/options/schema.json"
        }
      ],
      "title": "Issue Updated At Column",
      "type": "object"
    }
  },
  "title": "Issue Section Layout",
  "type": "object"
}

Default Value

assignees:
  hidden: true
  width: 20
creator:
  width: 10
repo:
  width: 15
updatedAt:
  width: 7

By default, issue views display the following columns in the order they’re listed:

  1. updatedAt with a width of 7 columns.
  2. state with a width of 3 columns.
  3. repo with a width of 15 columns.
  4. title, set to grow to fill available space.
  5. creator with a width of 10 columns.
  6. comments with a width of 3 columns.
  7. reactions with a width of 3 columns.

Even though the state, title, comments, and reactions settings aren’t explicitly defined in your configuration file, they’re added to the table unless you set their hidden option to false.

Issue Updated At Column (updatedAt)

This column displays how recently the issue was updated. The entry shows the time elapsed since the last update, like 1h or 3d.

The heading for this column is .

Default Value

width: 7

Issue State Column (state)

This column displays the issue’s state. When an issue is open, the column displays the icon with the color set to #42a0fa. When an issue is closed, the column displays the icon with the color set to theme.colors.text.faint.

The heading for this column is .

Issue Repo Column (repo)

This column displays the name of the repository the issue is filed in. The entry shows the name of the repository without the owner, like gh-dash for the https://github.com/dlvhdr/gh-dash repository.

The heading for this column is .

Default Value

width: 15

Issue Title Column (title)

This column displays the issue’s number followed by its title. This column is always displayed unless you set hidden to false. By default, it grows to fill the available space in the terminal after accounting for other column widths.

The heading for this column is Title.

The theme.colors.text.primary setting defines the issue number’s color.

Issue Creator Column (creator)

This column displays the username for the person who created the issue.

The heading for this column is Creator.

Default Value

width: 10

Issue Assignees Column (assignees)

This column displays the usernames for the people assigned to the issue.

The heading for this column is Assignees.

Default Value

hidden: true
width: 20

Issue Comments Column (comments)

This column displays the count of comments on the issue as an integer.

The heading for this column is .

Issue Reactions Column (reactions)

This column ddisplays the count of all reactions on the issue as an integer.

The heading for this column is .