# Settings Example `settings.json` file: ```json { "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: ```bash 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