Skip to content

tucnakomet1/Linux-Power-Toys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoalInstallationUsageContributionLicenseOther similar projects

Linux PowerToys

Linux PowerToys logo

This repository is inspired by the Microsoft PowerToys project, which provides a collection of utilities to enhance the user experience on Windows. The Linux PowerToys project aims to bring similar functionality to Linux users by offering a set of tools and utilities to improve productivity and customization on Linux systems.

The entire project is written in Rust. Since there are many desktop environments (and GNOME already has many extensions), this project focuses primarily on Xfce.

Goal

The goal is to provide a tray icon with a menu that allows users to easily access and manage various utilities, such as:

Advanced Paste icon Advanced Paste Awake icon Awake Color Picker icon Color Picker
Crop and Lock icon Crop And Lock FancyZones icon FancyZones File Explorer Add-ons icon File Explorer Add-ons
File Locksmith icon File Locksmith Hosts File Editor icon Hosts File Editor Image Resizer icon Image Resizer
Keyboard Manager icon Keyboard Manager Light Switch icon Light Switch Mouse Utilities icon Mouse Utilities
Peek icon Peek PowerRename icon PowerRename Quick Accent icon Quick Accent
Screen Ruler icon Screen Ruler Shortcut Guide icon Shortcut Guide ZoomIt icon ZoomIt

Some utilities are provided by Linux distributions by default or have much better alternatives, so they won't be included in this project. For example, "Always on top" and "Workspaces" are native features in most WMs. Better alternatives exist for:

Utility Alternative
Command Not Found TheFuck command line utility + normal distribution package managers.
Command Palette + PowerToys Run Ulanucher and other application launchers.
New+ Native template options (such as thunar).

Then there are utilities that are not planned to be implemented:

Utility Reason
Enviroment Variables This utility is specific to Windows and its environment variable management. Linux has a different approach to environment variables, and there are already well-established tools for managing them, such as envdir.
Mouse Without Borders It would be hard to implement a cross-platform solution for this utility, and there are already good alternatives available, such as Barrier.
Registry Preview Registry is a Windows-specific feature, and there is no equivalent in Linux. Implementing a registry preview utility for Linux would not be relevant or useful for Linux users.
Text Extractor It would be hard to implement OCR functionality from scratch, and there are good alternatives available, such as gImageReader.

Installation

Note: This project is primarily focused on the Xfce desktop environment. While some features may work elsewhere, full compatibility is only guaranteed on Xfce.

Dependencies

First, ensure you have the required system dependencies installed:

sudo apt install ffmpeg xclip xdotool x11-xserver-utils

Install via Debian Package (.deb)

Download the latest .deb release from the Releases page.

Then, install the downloaded package:

sudo dpkg -i linux-power-toys_*.deb
sudo apt --fix-broken install # Resolves any missing background dependencies

Build from Source

Ensure you have Rust and Cargo installed.

Clone the repository and build the release binary:

git clone https://github.com/tucnakomet1/Linux-Power-Toys.git
cd Linux-Power-Toys
cargo build --release

The compiled executable will be located in the target/release/ directory. You can run it directly or move it to your /usr/local/bin/.

Usage

Once installed, you can launch Linux Power Toys from your application menu.

Light Mode Dark Mode
Light Mode Dark Mode

1. System Tray

Linux PowerToys is designed to run quietly in the background. Upon launching, it will minimize to your system tray.

  • Left-click / Double-click the tray icon to open the main settings dashboard.
  • Use the Tray Menu for quick access to individual utilities and to toggle the Awake states without opening the full application.

2. Main Dashboard

The main window serves as your control center. In the General tab, you can enable or disable individual utilities (like Color Picker, FancyZones, or Advanced Paste) to tailor the application to your needs. If a utility is disabled here, its background processes and shortcuts are completely suspended to save system resources.

3. Global Shortcuts

Most utilities are driven by global XFCE keyboard shortcuts. When a utility is enabled, its default shortcuts are automatically registered in your system.

  • Navigate to a specific utility's tab in the sidebar to learn its default shortcuts.
  • You can customize any shortcut by clicking the ✏️ (Edit) button next to it and pressing your desired key combination. The application will safely update the XFCE shortcut registry for you.

Default shortcuts after installation are:

Advanced Paste
Paste as plaintext
Shift+Alt+V
Ctrl+Shift+Alt+P
Color Picker Shift + Alt + C
FancyZones Ctrl + drag a window Quick Accent Shift + Alt + A
Screen Ruler Shift+Alt+M ZoomIt Zoom
ZoomIt Draw
ZoomIt DemoType
ZoomIt Break Timer
Shift + 1
Shift + 2
Shift + 3
Shift + 7

Since Linux distributions, unfortunately, do not have a standardized way to set global keyboard shortcuts across all environments, you need to set them manually in your desktop environment settings.

In this project, it is achieved by using the xfconf-query command to bind keys to specific Linux Power Toys modules, such as:

xfconf-query -c xfce4-keyboard-shortcuts -p "/commands/custom/<Alt><Shift>c" -n -t string -s "Linux-Power-Toys --color-picker"

4. File Manager Integration

Some tools integrate directly into your workflow. For example, the Image Resizer is available right from your file manager. Simply select one or more images, right-click, and choose "Resize with PowerToys" from the context menu.

Contributing

Do you want to participate on this project? Whether you want to fix a bug, add a new feature, or improve documentation, please check out the Contributing Guidelines to get started!

License

This project is licensed under MIT. See the LICENSE for more details.

Other similar projects

About

Linux based Microsoft's PowerToys utilities for XFCE desktop enviroment.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages