TweeseCake is a light-weight, multi-purpose, robust software suite,
for Windows and macOS. It can either be controlled entirely without a
window (Windows only), or from a handy, easy-to-use UI! Some highlights
include:
Supports Twitter, Telegram, Radio, and many more.
Allows you to navigate your file system without ever bringing up a
window, or in a very fast, no fuss window.
Customizable global keyboard shortcuts.
Very light on system resources.
Customizable soundpacks.
And a lot more!
Notes
The invisible interface is only available on Windows, and it will
probably remain that way (Apple doesn’t let us bind many shortcuts).
In addition, replace control with command and alt with option in
keyboard shortcuts on Mac.
It’s also worth noting that to get to a list of all possible commands
from within the UI, press alt+m. This is session specific, so it will
only show you what you need to know.
Getting started
Upon first launch, you will be asked for your TweeseCake username and
password. If you do not have an account already, go to TweeseCake.app to create one.
Once that’s done, you’ll need to find your config session if using
the window, or press Alt+Windows+Shift+Right arrow to get to the config
session. After that, to create a new session/account, use control shift
N if using the window, or Alt+Win+Shift+N if not. This will bring up the
session type chooser. Simply choose what type of session you want from
the list, and press OK.
Twitter
The Twitter login page will be opened in your browser. Once logged
into twitter, copy the code that twitter shows into the authorization
code window, and press enter.
Telegram
You will be asked for your phone number, this includes your country
code, and then for an authorization code that is sent directly to your
Telegram account. For example, an example US phone number would look
like this: +19998765433. Enter it, and you’re good to go.
If you are unable to log into telegram, please try downloading the Microsoft
Redistributable package and install it.
File Explorer
A new session will simply be created, no input required.
Radio
A new session will also just be created with no input required.
Mastodon
First, you’ll be asked for the mastodon instance you wish to log in
with. If you don’t know what this means, just press enter for the
default (currently mastodon.social).
The Mastodon login page will then be opened in your browser. Once logged
into Mastodon, copy the code that Mastodon shows into the authorization
code window, and press enter.
Mastodon disclaimer
The Mastodon session is incomplete and minimally maintained; the
integration may present a number of issues, or may not work at all.
While we do our best to add features and keep it running, it is not
fully supported. This may change in a future update. If you need
something that isn’t currently implemented, we suggest the Pinafore client.
Github
To log into Github, you need a personal access token. To get this
token, Go to Github’s
tokens page and generate a new token. Save this token in case you
need to log in again.
Note: When creating your token, Make sure the private repositories check
box is checked, if you’d like TweeseCake to be able to read your private
repositories.
Feeds
A new session will just be created, at which point you can just add
feeds to it.
Home Assistant
To log into your home assistant instance, you will need a URL (E.G:
http://homeassistant.local:8123) or an IP address on your local network.
You will also need a Long-Lived access token, which can be obtained from
your profile page:
Session types
Twitter
The Twitter session allows you to interact with Twitter. It contains
all the basic functionality, such as tweeting, replying, retweeting etc.
The default buffers are as follows:
Home: Contains all the tweets that particular account receives.
Direct messages: Shows direct messages you’ve received.
Sent direct messages: Shows direct messages you’ve sent.
Sent tweets: This buffer displays tweets you’ve sent.
Mentions: Displays all mentions you’ve received on that
account.
Interaction
Interact: Open URL (if any).
Secondary: Play audio on tweet buffers, open user timeline in user
buffers.
UI Keys
Control+N: Post a new tweet
Control+D: Send a new DM
Control+R: Reply to a tweet
Control+Shift+R: Retweet the currently focused tweet.
Control+K: Like the currently focused tweet.
Control+shift+K: Unlike the focused tweet.
Alt+V: View the current tweet in a dialog.
Control+shift+V: Open a timeline with info on the current
tweet.
Alt+Q: Quote the current tweet.
Control+L: Follow a user.
Control+Shift+L: Unfollow a user.
Control+Left Bracket: List your followers.
Control+Right Bracket: List your friends
Alt+L: Manage your lists.
Control+Shift+U: View a user profile.
Alt+A: Add a user to a list.
Alt+Shift+A: Remove a user from a list.
Control+Semicolon: Speak a user summary.
Control+G: View a conversation.
Control+Slash: Perform a search.
Control+Shift+Semicolon: Speak the tweet the focused tweet is in
reply to.
Control+C: Copy the focused tweet to your clipboard.
Control+O: Perform OCR.
Control+U: Open a user timeline
Alt+PageUp: Load previous tweets in the current timeline.
Control+alt+K: Spawn a user likes timeline.
Control+w: Open the focused Tweet on the Twitter website.
Control+shift+p: Update your profile.
Telegram
This session allows you to interact with Telegram. While it doesn’t
contain all of Telegrams functionality (e.g. calling), it contains quite
a good bit. The default buffers are as follows:
Chats: Displays a list of all your chats. You can open one with the
interact key, and you can also open a contacts buffer with the
Alt+Windows+C shortcut (by default).
Interaction
Interact: Conversation buffer - Open URL, play audio, open file.
Users/Chats buffer - open conversation.
Secondary: Conversation buffer - open conversation, open folder (if
media message). Users buffer - refresh list. Chats buffer - mark as
read.
UI Keys
Control+N: Send a new message to the focused chat from your chats
buffer, or to the current chat buffer.
Control+V: Send a voice message to the focused chat or chat
buffer.
Control+R: Reply to the focused chat in the buffer.
Control+Shift+R: Send a voice message as a reply to the focused
chat.
Control+shift+F: Send a file to the focused chat.
Control+Shift+C: Open your contacts list.
Control+Slash: Search Telegram.
Control+L: Join a telegram chat via a link.
Control+Semicolon: Speak info on the selected user.
Control+shift+semicolon: Speak the original message a message is in
reply to.
Alt+V: View the current message in a text dialog.
Delete: Delete the current message from Telegram, if possible.
Control+shift+M: View the members of a group or subscribers of a
channel.
Control+J: Join the current channel or group chat.
Control+Shift+J: Leave the current channel or group chat.
Control+M: Mute the current chat. Must be done from chats
buffer.
Control+Left Bracket: Slow down the currently playing voice
message.
Control+Right Bracket: Speed up the currently playing Voice
Message.
File explorer
This session allows you to explore your file system without needing a
window. The default buffers are as follows:
Drives: Displays all the drives you currently have connected
(including your main harddrive).
Shortcuts: This buffer contains items you’ve bookmarked for easy
access. It’s empty by default.
Bookmarks: This buffer allows you to store bookmarks to links
(e.g. tt:// links).
Interaction
Interact: Navigate.
Secondary: Open folder in new buffer.
UI Keys
Control+N: Open a buffer to a manually typed path
Backspace: Go back a directory in the current buffer
Control+Semicolon: Speak info on the current item.
Control+X, C, and V: Cut, Copy and Paste using the File Explorer
Clipboard.
Control+Shift+C: Copy a file to the Windows Explorer clipboard.
Delete: Delete the focused file, folder or shortcut.
Control+Shift+A: Add a shortcut to the focused folder or file.
Control+E: Open the currently focused file in Notepad.
Control+O: Open the current file in Windows Explorer.
Control+F: Find a file in the current folder.
Alt+C: Copy the currently focused file or folder’s path to your
clipboard.
Control+Shift+O: Attempt to open the current file in TweeseCake, if
possible.
Radio
The radio session allows you to listen to internet radio. The default
buffers by default are:
Control+Slash: Search for a station using the radio-browser.info
service.
Control+N: Add a custom URL to your favorites.
Delete: Delete a favorite.
Control+R: Play a random station from your favorites.
control+semicolon: Speak the URL of the focused station.
Control+shift+semicolon: Copy a playback URL of the currently
playing station to your clipboard.
Github
The Github session allows you to view your repositories, as well as
the files in that repository. It also allows you to view issues of
repositories, make new ones, and comment on existing ones. Finally, it
allows you to search github for repositories.
Interaction
Interact: Repository buffer - open file view in latest commit on the
default branch. Commits buffer - open statuses. Issues buffer - open
issue events.
Secondary: Repository buffer - open commits. Issues buffer - open
issue on the web.
UI keys
Backspace: Go back a directory in a contents buffer.
Control+I: Open an issues buffer for the focused repository.
Control+N: New Issue or comment on issue depending on the focused
buffer.
Control+Slash: Search Github for a repository.
Control+C: Copy the focused repository’s github URL.
alt+w: Watch/unwatch a repo.
control+s: Star/unstar a repo
Control+R: open a releases buffer for a repo.
Feeds
The feeds session allows you to listen to podcasts and view RSS feeds
all from one session! We’ve made it as easy to use as possible.
Interaction
Interact: Feeds buffer - open feed. Feed buffer - open content, play
podcast.
Secondary: Feed buffer - open URL.
UI Keys
Control+N: Add a new feed.
Delete: Remove a feed.
Home Assistant
The Home Assistant session allows you to view the state and interact
with your smart home from within the TweeseCake application.
Logbook: Shows the events from the logbook on your Home Assistant
instance.
Light, switch, sensor, ETC: These are your state buffers. They allow
you to interact with your smart home devices.
Interaction
Interact: Toggle, execute update, activate scene, open number value
dialog and open temperature dialog.
Secondary: Volume and brightness.
UI Keys
Control+[: Execute the previous action for an entity. E.G: previous
track on a media player.
Control+]: Execute the next action for an entity. E.G: next track on
a media player.
Control+S: Select a mode or source for an entity. E.G: Change source
input on a TV (media player).
Control+Page Up: Increase the value for an entity. E.G: brightness,
volume, ETC.
Control+Page Down: Decrease the value for an entity. E.G:
brightness, volume, ETC.
Control+Shift+S: Remove a domain from the ignored buffer domain
list. To ignore a domain, dismiss the buffer.
Config
You will already have a session by default called “TweeseCake:
Config”. This is your configuration / options session. It doesn’t
require any kind of setup; it’s just there by default. The default
buffer is general, and there is a second buffer called buffers. They
currently contain the following options:
General
Keymap: Interacting with this option will allow you to change your
keymap. Do note that the changes won’t take effect until you press
OK.
Seek time for playing media in seconds: This adjusts how far the
seek forward and back hotkeys jump by.
24-hour time: Toggles weather or not 24-hour time is used when
relative times is off.
Relative times: Toggles if you’ll hear something like, a minute ago,
not, 16:56:27 for timestamps.
Enter to submit multiline text dialogs: This option, if enabled,
allows you to press enter to accept multi line text dialogs (Such as the
new tweet dialog or the telegram new chat dialog.
Word wrap in text fields: Toggles if long lines in text fields will
split onto multiple lines.
Volume announcements (option ignored in silent sessions): This
option toggles if you hear percentage of volume when adjusting it with
the volume up and down keys in addition to the sound.
Ask for comfermation when exiting: This option toggles if you’re
asked if you want to exit when pressing the exit hotkey.
Version: This option tells you your current version, as well as if
there’s a new one.
Buffers
Auto-focus new buffers: This option let’s you toggle if buffers are
focused once they’re opened. For example, if opening a twitter
conversation will auto-focus it.
Buffer Template: Allows you to set what speaks when you move between
buffers with windows alt left or right arrow.
Reverse Timelines: Allows you to reverse the buffers to show the
oldest items on the top vs the bottom.
UI Keys
Control+C: Open the changelog in a buffer.
Interaction
Interact: Change option.
Mastodon
The Mastodon session type allows you to interact with Mastodon. It
doesn’t support absolutely everything you can do on mastodon for the
moment, but it can do quite a bit!
Interaction
Interact: Open URL (if any).
Secondary: Play audio on post buffers.
UI keys
Control+N: Compose a new Toot.
Control+shift+R: Boost the focused Toot.
Control+r: Reply to the focused Toot.
Control+L: Follow the currently focused user.
Control+shift+l: Unfollow the currently focused user.
Control+U: Open a user’s timeline.
Alt+V: View the Toot in a text field.
Control+shift+p: Restore your buffer position manually.
Control+alt+k: Open your likes.
Control+b: Block a user
Control+shift+b: Unblock a user
Misc UI keys
Control+Shift+N: New Session.
Control+Shift+Delete: Remove session.
Control+P: Open a configuration buffer for the selected
session.
Control+W: Hide the Window.
Control+Up: Sound volume up
Control+Down: Sound volume down
Control+Shift+Up: Media Volume Up
Control+Shift+Down: Media Volume Down
Control+Left: Buffer left (Shortcut)
Control+Right: Buffer Right (Shortcut)
Control+Apostrophe: Dismiss buffer.
Control+A: Toggle mute on a buffer.
Control+Shift+Left: Session Left (Shortcut)
Control+Shift+Right: Session Right (Shortcut)
Enter: Interact with focused item
Shift+Enter: Secondary interact with focused item
Invisible Keyboard shortcuts
Invisible Keyboard shortcuts are always being added and updated based
on your keymap or currently focused session. To get a current list of
keyboard shortcuts rellivent to the session you’re currently focused in,
press windows alt shift H from anywhere.
Creating custom keymaps
To create a custom keymap, create a new text file in the keymaps
folder, and rename it to the name of your keymap. After that, change the
extension from .txt to .keymap. If you get a warning about files
possibly becoming unusable, press yes.
Your file should contain this at the top of it.
[info]
name = Name of your keymap
desc = Description of what your keymap does.
author = Your name
[keymap]
Keys go here.
Do note that you don’t have to fill in all the keys, just the ones
you want to change. Any keys left out will be assigned to the
default.
Note
Currently, keymaps only work for global keys.
At the time of this writing, there’s no way to remap the UI keys.
Soundpacks
To create a soundpack, create a folder with the type of session you
want to support, followed by a dash (-), followed by the name of your
pack (e.g. twitter-mypack). Do note that names are not
case-sensative.
The currently available session types are:
twitter
telegram
fileExplorer
Github
Mastodon
Your packs need to contain the following files:
Twitter
close_timeline.wav: Sound played when a timeline is closed.
error.wav: Sound played when an error is encountered.
like.wav: Sound played when you like a Tweet.
likes.wav: The sound played when a likes timeline gets updated.
list.wav: This sound plays when a list gets updated.
max.wav: Sound played when you type over the character limit.
mention.wav: Sound played when you scroll over a mention directed at
you.
new_dm.wav: Sound played when you get a new direct message.
new_mention.wav: Sound played when you receive a mention.
new_search.wav: Sound for creating a new search.
new_tweet.wav: Sound played when you get a new tweet in your home
timeline.
open_timeline.wav: Sound played for opening a timeline.
search_updated.wav: Sound played when a search buffer updates.
send_dm.wav: Sound for when you send a direct message.
send_reply.wav: Sound played when you send a reply to someone.
send_retweet.wav: This sound plays when you retweet a tweet.
send_tweet.wav: Sound for when you send a tweet. Do note that this
doesn’t play if you send a reply.
unlike.wav: If you unlike a tweet, this sound plays.
user.wav: Sound played for a user timeline updating.
Telegram
new_channel_message.wav: Sound for receiving a channel message.
new_group_message.wav: Sound played when you get a messsage from a
group.
new_message.wav: Sound for receiving a new private message.
sent.wav: This sound plays when you send a message, no matter if
it’s to a group, a private conversation, or a channel.
fileExplorer
navigate.wav: Sound played when you navigate into or out of a
folder.
Github.
navigate.wav: Sound played if you navigate into and out of
repositories.
Mastodon.
close_timeline.wav: Sound played when you close a timeline.
error.wav: This sound plays if an error is encountered.
favorite.wav: Sound played if you favorite a toot.
favorites.wav: Sound played for your favorites updating.
max.wav: played if you hit the character limit.
new_mention.wav: played if you receive a mention.
new_toot.wav: played when you receive a toot.
open_timeline.wav: played when you open a timeline.
send_boost.wav: This sound plays if you boost a toot.
send_reply.wav: plays when you reply to someone
send_toot.wav: This sound plays if you send a toot.
unfavorite.wav: If you unfavorite a toot, this sound will play.
user.wav: Sound played for a user timeline updating.
Default Sounds.
Inside the sounds folder, you will find a folder named default. This
contains sounds that you don’t have to fill in, but you can on a
per-soundpack basis. If you don’t fill them in, the sounds in here will
play. It contains the following sounds:
boundary.wav: This is a globally available sound. It plays when you
hit the edge of a buffer or ajust the volume.
follow.wav: This sound only applies to Mastodon and Twitter. It
plays when you follow or unfollow a user.
media.wav: This sound plays when you scroll over playable
media.
mention.wav: This sound applies to Telegram, Mastodon and Twitter.
It plays when you scroll over a mention or a reply to you.
unfollow.wav: This sound applies to Twitter and Mastodon only. It
plays when you unfollow a user.
Portable mode.
To run TweeseCake in portable mode, create a folder called “userdata”
in the same folder (without the quotes). Alternatively, you can copy
your appdata TweeseCake folder, and rename it to userdata.
Getting support.
Need help? Have a question? Want to report a bug? You can contact us
and do just that, in one of the following ways: