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 Mastodon, Telegram, Radio, Github, RSS Feeds, 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. On a mac, press option+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.
Below are instructions for setting up each session type.
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.
After you enter your phone number, you will be sent a log-in code
via Telegram itself if you already have an account, otherwise SMS. Enter
this code into the input field that comes up.
If you have a 2FA password set, you will be asked for this
next.
After you do these steps, you’re all set and Telegram will load in
your chats! 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 tweesecake.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; the integration may present a
number of issues, or may not work at all. This is always being improved
with each update. If you need something that isn’t currently
implemented, we suggest the Semaphore client. Alternatively,
get in touch. Our mastodon username is @app@tweesecake.social
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 specific
documentation
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+E: Edit the focused message.
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.
Control+B: Block user
Control+Shift+B: Unblock user.
Alt+P: Pin currently focused message.
Control+Shift+V: View pinned 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.
Control+B: Add URL bookmark to bookmarks buffer.
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.
Control+H: Show song playback history.
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.
Alt+L: Create a new list for favorite entities.
Alt+A: Add the selected entity to a favorites list.
Alt+Shift+A: Remove the selected entity from a favorites list.
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.
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.
Open URL if there is only one: This option allows TweeseCake to
bypass the select URL dialog and automatically open a URL if interacting
with a post or message that contains a URL and only one URL is
present.
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.
Send longer items directly to the screen reader when navigating in
the GUI: This option will send longer items that would normally be
truncated in the GUI directly to the screen reader after a small delay
of focusing them.
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 Mastodon
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.
Sound
Output Device: Allows you to change TweeseCake’s output device.
Input Device: Allows you to change TweeseCake’s input device, for
recording voice messages in Telegram.
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.
Seek time for playing media in seconds: This adjusts how far the
seek forward and back hotkeys jump by.
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).
On follower request notifications, interact with the follower
request in order to confirm or deny it.
Secondary: Play audio on post buffers.
UI keys
Control+N: Compose a new post.
Control+E: Edit the focused post.
Control+r: Reply to the focused post.
Control+shift+R: Boost (Reblog) the focused post.
Control+F: Favorite the focused post.
Control+Shift+F: Unfavorite the focused post.
Alt+B: Bookmark the selected post.
Alt+Shift+B: Unbookmark the selected post.
Control+C: Copy the current post to your clipboard.
Control+Shift+Semicolon: Speak the referencing post (The post the
current post is a reply to, or the original post if it is a
boost/reblog)
Alt+V: View the post along with other info about it in a
dialog.
Control+Shift+V: View information about the currently focused post
in a buffer.
Alt+W: Open the focused post on the web.
Delete: Delete the focused post.
Control+G: Get post thread or conversation.
Alt+PageUp: Load previous posts in the focused timeline, if
possible.
Control+Semicolon: Get details on the user or users in the focused
post.
Control+L: Follow the currently focused user.
Control+shift+l: Unfollow the currently focused user.
Control+D: Send a direct post to a user.
Control+Shift+H: Hide boosts for the focused user.
Control+H: Unhide boosts for the focused user.
Control+U: Open a user’s timeline.
Control+Shift+U: Open a user’s full profile.
Control+b: Block a user
Control+shift+b: Unblock a user
Alt+N: Set a user’s custom nickname.
Control+shift+p: Restore your buffer position manually.
Control+alt+k: Open your favorites.
Control+Alt+B: Open your bookmarks
Control+Left Bracket: List your followers
Control+Right Bracket: List your friends
Control+Shift+Left Bracket: List another user’s followers
Control+Shift+Right Bracket: List another user’s friends
Control+Backslash: List mastodon follow suggestions.
Control+Shift+Backslash: View the profile directory for your
instance.
Control+I: View information on your Mastodon instance.
Alt+P: View federated timeline
Alt+L: View local timeline
Control+Slash: Search mastodon for posts, users or hashtags
Control+T: View trending hashtags.
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+Page Up: Move up by the configured jump amount of items in
the buffer.
Control+Page Down: Move down by the configured jump amount of items
in the buffer.
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
Control+Numbers: Focus a specific buffer numerically.
Control+Shift+Numbers: Focus a specific session numerically.
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 relevant 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. mastodon-mypack). Do note that names are not
case-sensative.
The currently available session types are:
telegram
fileExplorer
Github
Mastodon
Your packs need to contain the following files:
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.
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_dm.wav: Played if you receive a new DM
new_mention.wav: played if you receive a mention.
new_notification.wav: Played when you receive a new
notification.
new_search.wav: Played when you open a new search
new_toot.wav: played when you receive a toot.
open_timeline.wav: played when you open a timeline.
search_updated.wav: Played when you receive new search results in a
search buffer.
send_boost.wav: This sound plays if you boost a toot.
send_dm.wav: Played when you send a direct mention.
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.
close_timeline.wav: Sound played when you close a buffer.
error.wav: Sound played when TC encounters an error.
follow.wav: This sound only applies to Mastodon. 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. It plays when
you scroll over a mention or a reply to you.
unfollow.wav: This sound applies to 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: