Getting Started
Requirements
Python 3.8+
xclip (if on Linux)
Optional dependencies
python-dotenv: run
pip install python-dotenvif you want to use an.envfile for credentialstextual’s prepackaged tree-sitter binaries for json syntax highlighting: run
pip install "textual[syntax]"terminal media viewers such as feh or mpv are recommended for opening post media
Install
pip install skyter
Set-up
Optional but strongly recommended: create an app password in the web client or app. You do not need to allow access to direct messages, as DMs are not yet supported. Password login is not supported for 2FA-enabled accounts
Optionally set
BSKY_LOGINandBSKY_APP_PASSWORD(andBSKY_PDS, if using an alternate PDS) environment variables to be logged in when the app is initialized and skip the login screen.Check your default settings by opening the command palette and going to settings:
ctrl+p->Settings, or configure thesettings.jsonfile manually. The file will be created automatically atdata/settings.jsonin the installed location the first time the app is opened. See Settings for more details.
Usage
Command palette
skyter includes keybindings for common actions which differ depending on what sort of feed is being used (e.g., viewing posts, threads, users, feeds), which will be displayed in the footer. However, many more actions are available via the command palette which is accessed via ctrl+p. For example, the Reply keybinding appears when viewing a thread and not when viewing a timeline feed, but you can reply directly from the timeline with the command palette via ctrl+p -> Reply. Other actions like Log out will only appear in the command palette.
Monitoring new posts
skyter can automatically update or alert (default) when new feed items become available. This behavior can be changed via the Toggle auto-updates command and adjusted in Settings.
“It’s too slow…”
You can speed up the app by adjusting the settings to reduce the amount of data being requested from the bsky servers at once. page_limit, subscribed_labels, feed_new_items_check_interval, and hide_metrics can impact responsiveness of the app.