GitHub - jeremy46231/taut

3 min read Original article ↗

Taut

npx taut-cli - Client mod for Slack :D

Join #taut on the Hack Club Slack!

Setup:

  • Run npx taut-cli to install Taut
  • Open the Taut config directory, printed after installation, in your favorite code editor
    • Windows: %APPDATA%\taut
    • macOS: ~/Library/Application Support/taut
  • Edit files in the config directory, and Slack will hot reload with your changes!
  • Update Taut by running npx taut-cli again

Things to do:

  • Open devtools with Ctrl+Shift+I or Cmd+Option+I
  • Access the Taut settings tab in Preferences to see installed plugins and config info
  • Use plugins by setting "enabled": true in config.jsonc and saving the file
  • Write your own CSS to style Slack in user.css (updates in the app when you save)
  • See built-in plugins in the plugins/ directory and write your own in user-plugins/ (the plugins/ directory is overwritten on update)
Windows notes
  • The config directory is at %APPDATA%\taut
  • You'll need to accept the UAC prompt when running for the first time or after reinstalling Slack.
    • Slack is distributed as a MISX, which are installed by TrustedInstaller, so Taut runs windows-access.ps1 to give you write access to Slack's installation directory.
macOS notes
  • The config directory is at ~/Library/Application Support/taut
  • Taut is incompatible with the App Store version of Slack, uninstall it and download from Slack's website.
    • This is because the App Store version of Slack is sandboxed, preventing Taut from accessing the config directory.
  • If you uninstall and reinstall Taut, or rarely after certain Taut updates, Slack will prompt you for your password to restore its access to the keychain. Select "Always Allow".
    • This happens because, every time the Slack.app is modified, our ad-hoc code signature is different from the previous one and macOS treats it as a new app.
Linux notes
  • The config directory is at ~/.config/taut
  • In theory, Taut can support Linux, but nobody has tested and made it work. PRs welcome!

Development

PRs are very welcome! You should join the #taut channel on the Hack Club Slack (high school or younger only). I'm @Jeremy, say hi :D

The project uses Bun for development, but npm works too if you prefer it. After installing (bun i) and building the deps (bun run build), you can run the cli from source (bun taut-cli). It uses the same config directory, and if you're only editing plugins/, Taut will even hot reload them when you install!

# Also works with npm
bun i && bun run build

bun taut-cli install

Credits

License

MIT License