Settings

Example settings.json file:

{
    "initial_source": {
        "target": null,
        "feed_type": "notifications",
        "params": {}
    },
    "page_limit": 10,
    "default_pds": null,
    "search_language": "en",
    "relative_dates": false,
    "show_footer": false,
    "notification_check_interval": 30,
    "feed_new_items_check_interval": 60,
    "feed_new_items_action": "alert",
    "subscribed_labels": true,
    "hide_metrics": false,
    "file_picker_location": ".",
    "open_cmds": {
        "images": "feh -F",
        "video": "mpv --terminal=no --fullscreen",
        "external_link": null
    }
}

Specifying settings location

By default skyter will create a settings file in its installation location under data/settings.json. To specify a different file location use skyter --config custom_config.json, skyter will create the file with default settings if it doesn’t already exist.

Using multiple settings files is a good way to launch multiplexed skyter sessions:

tmux \
    new-session  'skyter --config following.json' \; \
    split-window -h 'skyter --config news_feed.json' \; \
    split-window -h 'skyter --config notifications.json'

Editing Settings

You can edit the settings by editing the json directly or opening the settings modal from the command palette with ctrl+p -> Settings.

Settings options

  • initial_source: FeedSource loaded after logging in

    • feed_type: e.g., “timeline”, “user”, “search”, “notifications”, “saved_feeds”, “custom_feed”, “list_feed”, “follows”, “followers”

    • target: e.g., search query, user handle, feed URI, or null

    • params: optional parameters for specific feed types

      • search_type (search, optional): “top”, “latest”, “users”, or “feeds”

      • since (search, optional): query posts after date (MM-DD-YYYY)

      • until (search, optional): query posts before date (MM-DD-YYYY)

      • post_type (user, optional): “posts_with_replies” or “posts_and_author_threads”

      • reasons (notifications, optional): list of notification reasons to include, e.g., [“reply”, “quote”, “mention”, “follow”, “like”, “repost”]

  • page_limit: number of items to load per page

  • default_pds: optionally specify an alternate PDS as default on login screen

  • search_language: two-letter language code to use for search. If null, will return any language

  • relative_dates: if false, will show absolute dates

  • show_footer: if false, will hide footer showing bindings

  • notification_check_interval: frequency to check for new notifications. Setting to null will turn off header notification display

  • feed_new_items_check_interval: frequency to check for new feed items. Setting to null or setting feed_new_items_action to null will disable.

  • feed_new_items_action: action to perform if new items are available. Valid options are “alert”, “update”, or null

  • subscribed_labels: if false, will only display global and Bluesky moderation labels

  • hide_metrics: if true, will hide post and user metrics

  • file_picker_location: default directory to show when uploading media to posts

  • open_cmds: commands to launch when opening media. If null, will open in default browser

    • image: command to launch when opening images

    • video: command to launch when opening videos

    • external_link: command to launch when opening external links