Far-Se / tabame

Tabame is an alternative to Windows Taskbar. It also contains great tools such as advanced Hotkeys, QuickRun, Trktivity and Wizardly.
MIT License
298 stars 10 forks source link
flutter taskbar windows

Tabame

promote

promote_dark

If you want updated code

You can clone "personal" branch for development. I will not update main branch because i've made enough personal changes that it won't fit general usage.

https://github.com/Far-Se/tabame/tree/personal

To clone:

git clone -b personal git@github.com:Far-Se/tabame.git

If you do not have ATL on Visual Studio, open Visual Studio Installer, press on Modify for VS 2019, go to Individual components, search for ATL and install last version for your processor architecture.

🤔 What is this app about?

Main purpose of this app is to be a replacement for the Taskbar, but in meanwhile I've added more features that can come in handy sometimes. It's not about the 30px you add on your screen, but to limit distraction that comes from flashes, badges, notifications and other apps Microsoft forcefully tries to push to their users.

Best way to use:

You can watch a small demo here:

📥 How to Install

Go to Release page. It is in right sidebar. Download either installer.ps1 or tabame.zip

Easiest way to install:

  1. Download installer.ps1
  2. Open your Downloads folder
  3. Right click and press "Run with PowerShell"
  4. Complete main setup and it's done 😄
image image

Manual Install:

  1. Download zip archive.
  2. Extract it in a folder you want.
  3. Open tabame.exe

📤 How to uninstall:

If you installed it with installer.ps1 Open file explorer, in address bar write %localappdata% then delete folder Tabame. If you manually installed it, delete the folder where you placed it.

🐛 If you encounter any errors or bugs:

Please submit a issue here, it will be very helpful. On my Computer it works, but each PC can be different.

Please also provide errors.log file. You can find it here: %localappdata%/Tabame. Open File Explorer and paste that in Address Bar.

Thanks to @elvinvandalen for helping me fix a bug where the app crashed on start because AudioPropertyStore was bugged for some users.

Known Issue: for a small amount of users Audio Module makes the app crash, if you experience crash on startup and still want to use Tabame, open folder %localappdata%/Tabame and create a file called disable_audio.txt then start Tabame again.

Make your own:

This project is open source, which means you can compile your own version.

  1. Install Flutter for Windows
  2. Open Visual Studio Installer, on Individual Components select ATL Dependencies and install.
  3. Open a console in Tabame folder and type flutter build windows
  4. The exe is in build\windows\runner\Release
  5. You can open vsCode and debug the app.

Written in Flutter

Which means it consumes very little resources and disk space.

On idle cpu is 0.0% and when in use is below 3%.

Ram usage is below 50 MB, usually around 40 MB.

It takes only 26.5 MB of space.

Works very fast, no interruptions

Main Features

🎛️ QuickMenu

🎚️ QuickRun

🎨 Theme

🎶 Audio

⌨️ Hotkeys

📕 Bookmarks

📝 Trktivity

📅 Tasks

✨ Wizardly

🧩 Views (v1.1)

🧰 QuickActionsMenu (v1.2)

📷 Fancyshot (v1.2)

🙃 Outro

🎛️ QuickMenu

This is the menu that will popup when you are pressing the main hotkey. It is divided in 3 sections:

Top bar

Contains audio control, volume control, quick actions, pinned apps, Desktop Button and settings button.

Audio Control

Volume Control

Quick Actions

Taskbar

Contains your opened windows, it shows the icon, if it makes sound, if it is pinned, Monitor Number, Title, Media Control and Close button.

You can right click a listed window to move it to right or left Desktop, pin or force close

You can drag to left or right to switch the app to a different Desktop

You can show QuickMenu at Taskbar Level or TopBar Level. You can order windows by monitor, activity, or only current monitor.

You can rewrite app titles using regex, example:

example

Bottom Bar

Main elements of bottom bar are the time and the weather. It also shows:

Tray icons

It shows a list of existing tray icons. You can hide/pin icons from settings. You can simulate click on the icon, or open icon's executable. Some apps do not listen to native clicks so you can set the second option!

PowerShell Scripts

You can pin PowerShell scripts for easy access, either write the code directly or make a .ps1 file and then set as command Invoke-Item path\to\script.ps1

System Information

Your CPU and RAM usage.

You can move pinned apps and tray icons on the same level at the bottom if the UI becomes too crowded.

You can change the icon and add a splash image above the menu if you brand it as your own or to add your company logo.

🎚️ QuickRun

QuickRun can be launched directly from QuickMenu, just start typing. You can also set a hotkey to open it specifically.

BE AWARE: shortcuts always have a space after letters. You can add regex as last parameter. Look at calculator or currency converter.

Consists of:

Converters

Processors

Utility

🎨 Theme

You can change the background color, text color and accent color. Also QuickMenu has a slight gradient in the middle, you can change the opacity as well.

You can pick between predefined colors or your own colors.

🎶 Audio

A main reason I've made this app is to easily manage Audio. You can easily switch between output devices, change volume from hotkeys by moving your mouse and modify specific app volume.

Another reason is to fix Spotify, that listen to all media trigger and acts upon them, I think this is a marketing strategy of "did you wanted music? we are your music". So I made this functions (that you need to enable from settings):

Each app that makes sound has dedicated media control and you can set default exes that will show them by default.

Also you can modify Volume OSD to hide media, make it thinner or hide it completely.

⌨️ Hotkeys

I've tried to make a complex system for hotkeys, with one button you can achieve more.

Actions can be:

Tabame Functions are:

You can set multiple Actions.

Example: With main hotkey, you can open tabame, show previous window, toggle taskbar, open start menu, open ALT+Z menu, open new chrome tab, show desktop, change volume level or switch desktops. You do not need to learn new hotkeys for each thing you need.

📕 Bookmarks

Here you can create bookmarks for your projects, docs and other items you need to quick access.

You can bookmark folders, links or commands.

You can create groups and that contains your bookmarks. You can set an emoji for each so you can differentiate between them later when you forgot which is which.

You can access Bookmarks from QuickMenu/Quickrun by typing b then name of the bookmark, like b tabame.

For example I've made a group Tabame where I saved command for vscode, release folder, install folder and github page. When I need to open one, rather the navigate manually, I open QuickRun and type b tabame and nagivate with arrows.

<img src="https://user-images.githubusercontent.com/20853986/200884861-d761c8bc-6885-43d2-86fe-119c1d6b60e3.png" align="right" width="250" height="auto" alt="Trktivity.">

📝 Trktivity

Trktivity tracks your activity 🧐. It records keystrokes, mouse pings each 3 seconds and active window exe and title (if you set filters for it).

You can view stats per day or a set of days. It generates a graph from 00:00 to 24:00.

It generates a timeline for executable you were focused and for Titles you've created filters for.

By default is disabled, you can enable it, all recorded information is stored locally on your Computer and it is not sent anywhere.

📅 Tasks

Tasks consists of Reminders and Page Watchers.

Reminders can be repetitive or one time per day. You can set which days of the week to be active and for repetitive reminders you can set interval when the reminder is active. You can set to receive Toast Notification or Audio Notification. You can use xNR to repeat the message, ex Workout x3.

v1.3:

Page watchers will check a link each to see if specific text exists or not. For example if you made a post on a obscure forum and want to know when you receive a reply, you can set the link, 60 second interval and \d+ Replies and when that string changes, you will be notified.

✨ Wizardly

Wizardly is a set of tools that works with folders. You can add it in Context Menu for easier access.

Find Text In Folder

You can search text in a folder, recursively. You can use regex, case sensitive or match the whole text only.

Important feature (and why I've made it): You can exclude files/folders, so if you do not want to see results from, for example node_modules you can set that in filters. For example Notepad++ and vsCode does not have this feature and it's annoying.

Project Overview

It counts lines of code and makes a summary. You can ignore folders or only show specific file types.

It shows code lines, non-code lines (lines with 1-2 chars line []{}()), comment lines and empty lines.

It also calculates how many books you could have written with same characters. It was surprising that this project is equivalent of 7 and a half books.

For example, at this time of writing this README.md, Tabame has 27,191 lines with 761,698 characters which is impressive in my opinion because I've written it by myself.

Rename Files

You can rename files in bulk, you can use regex but also Lists. This can be useful when you want to change from IMG_20220725_121728.jpg to 25 July 2022.jpg

Folder Size Scan

You can scan folders recursively and see each folder size, you can delete folders.

Hosts Editor (v1.3)

You can edit hosts files directly from Tabame! You need Admin Privileges to use this.

🧩 Views

Views is an alternative to PowerToys FancyZones. If presets are not what you need and you need more flexibility, you should try this feature.

It consists of a grid where you can change it's size using scroll wheel. Drag a window, press right click, move the window where you want, hold right click, select a region the release right and left click. When you move again the window, it will regain it's previous size.

This is not DPI aware. Use PowerToys if you changed your monitor DPI

Workspaces

With Workspaces you can save current position and size of specific windows, so you can load them easily from QuickMenu QuickActions.

Hooks

With Hooks you can hook multiple windows together, when you focus one, other will surface as well. You can access this feature by right clicking a window in QuickMenu.

Predefined Sizes (v1.2)

You can register predefined sizes and access then by right clicking a window in QuickMenu. This comes handy when you need specific window sizes such as mobile view or half screen.

Views in actions:

https://user-images.githubusercontent.com/20853986/200880366-2eaca57c-c4f3-4fe0-8b9c-e5729c3ca80b.mp4

🧰 QuickActionsMenu

You can bind Quick Actions Menu to a hotkey and access functions such as setting specific volume, spotify control, tabame functions, change audio output, and run commands. QuickActionsMenu now includes almost all QuickActions Buttons from QuickMenu.

📷 Fancyshot

With Fancyshot you can capture custom screenshots. You can set a background stock image, custom image, capture itself or transparency. Also you can change image padding or background padding and add a watermark.

You can create custom profiles.

You can bind Fancyshot on a hotkey or add it in QuickMenuActions.

Interface needs to open in order for the image to drawn.

1666548921040895

🙃 Outro

I've started this project to learn Dart and Flutter, in my mind I had only QuickMenu features/app, but while writing for it I got new ideas for it, and it ended up Tabame, random name I came up with.

If you find this app useful, you can buy me a coffee. It would be appreciated 😊.