30 open-source projects similar to ianyh/amethyst, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Hammerspoon is a programmable automation engine for macOS that enables deep system-level control through a Lua scripting environment. By bridging high-level scripts with native Objective-C APIs, it allows users to interact with the operating system's accessibility tree, intercept hardware input streams, and manage the lifecycle of running applications. The project distinguishes itself through an event-driven architecture that registers asynchronous hooks for system notifications and hardware events. This allows for real-time automation, such as remapping keyboard and mouse inputs, managing wi
Awesome is a programmable tiling window manager for the X11 Window System. It functions as a dynamic window manager that automatically arranges application windows into non-overlapping tiles based on predefined layout rules to maximize screen space. The project provides a scriptable desktop environment where system behaviors and layouts are defined through an embedded Lua interpreter. This allows for the creation of a personalized interface and a keyboard-driven workflow for managing application windows. The system covers dynamic window layout management and the configuration of system behav
Glazewm is a tiling window manager and desktop automation framework designed to organize application windows into non-overlapping layouts. It functions as a keyboard-driven controller, allowing users to manage window focus, workspace navigation, and layout configurations entirely through custom keybindings. By intercepting system-level events, the software overrides default window placement and behavior to maximize screen space and maintain a structured workspace. The project distinguishes itself through a highly configurable environment that supports complex multi-monitor setups and dynamic
i3 is a configurable tiling window manager for the X11 window system. It organizes application windows into non-overlapping tiles to maximize screen real estate, utilizing a dynamic layout engine that removes the need for manual positioning or resizing. The system is designed for keyboard-driven desktop workflows, where window organization and behavior are defined through a plain text configuration file. It enables X11 desktop customization by allowing users to programmatically define layouts and keybindings. The manager provides inter-process communication via a Unix domain socket, allowing
bspwm is an X11 tiling window manager that organizes application windows into non-overlapping rectangular tiles using binary space partitioning. It treats the screen as a tree of rectangular regions to automatically manage window placement and is compliant with Extended Window Manager Hints. The project is distinguished by a socket-based window controller, which allows layout changes and configuration settings to be updated via a communication socket rather than through a built-in configuration file. It provides independent window tree management for each detected monitor, treating every dis
Yabai is a system-level utility for macOS that provides automated window management and workspace organization. It functions as a tiling window manager that uses binary space partitioning to arrange application windows into grid layouts, bypassing standard desktop constraints through direct interaction with the system window server. The project distinguishes itself by offering granular control over the graphical user interface via a socket-based command interface and event-driven system hooks. This allows for the programmatic manipulation of window states, display configurations, and virtual
This project is a collection of configuration files for managing a personalized Linux desktop environment. It provides a comprehensive bundle for a tiling window manager, a Zsh shell environment, and a Neovim editor setup to synchronize software settings across different machines. The configuration focuses on unified system theming, utilizing a cross-application theme suite to sync color palettes and visual styles across the terminal, browser, and system utilities. It includes a visual settings editor for immediate theme switching and wallpaper management without requiring session restarts.
This project is an automatic tiling window manager and a GNOME desktop interface extension. It functions as a keyboard-driven window orchestrator that organizes application windows into non-overlapping grids using a hierarchical tree structure to subdivide and rearrange screen space. The system provides a multi-monitor layout manager that handles window placement across multiple display outputs and automatically re-tiles when monitors are connected or disconnected. It includes a searchable, asynchronous interface for launching applications, system settings, and locating open windows. The sof
PaperWM is a tiling window manager and multi-monitor workspace manager implemented as a GNOME Shell extension. It organizes application windows into a non-overlapping, scrollable horizontal tiling layout, allowing users to manage more applications than can fit on a single screen. The system is distinguished by its scrollable-viewport tiling, which allows navigation through a sequence of windows via keyboard shortcuts and touchpad gestures. It also features a multi-monitor workspace organization model that assigns independent tiling instances to each physical display while synchronizing them t
yabai is a tiling window manager and workspace orchestrator for macOS. It uses a binary space partitioning algorithm to automatically arrange application windows into non-overlapping rectangular regions to maximize screen real estate. The project provides a command line interface for controlling windows, displays, and virtual spaces, enabling the creation of custom desktop automation scripts. It includes capabilities for managing virtual desktops and disabling system animations to increase navigation speed. The system also supports mouse-based window focus, which automatically shifts the act
Qtile is a programmable tiling window manager and compositor written and configured in Python. It organizes application windows into non-overlapping tiles or floating modes to maximize screen real estate and supports both X11 and Wayland display server protocols. The environment is defined by executing Python scripts, allowing the programmatic customization of keybindings, visual styles, and system behaviors. This approach enables a personalized workspace where the entire user interface and layout logic are managed through a script-based configuration. The project covers broad capability are
Niri is a Wayland compositor that provides a desktop environment for Linux. Its primary purpose is to implement a scrollable tiling window management system, which organizes application windows in a non-overlapping layout that allows horizontal scrolling to access content beyond the screen edge. The compositor features multi-monitor workspace coordination, managing window arrangements and fractional scaling across displays with different resolutions and pixel densities. It supports a dynamic workspace organization model where independent vertical workspace stacks are maintained per monitor.
This project is a configuration suite for the Hyprland Wayland compositor, providing a set of automated scripts and files to deploy a consistent desktop environment across Linux distributions. It functions as an automation tool that synchronizes system settings, software packages, and interface themes to ensure a uniform workspace state. The environment distinguishes itself through deep integration with language models, allowing users to access local or cloud-based AI assistants directly from the desktop interface for tasks such as text translation and content generation. Visual consistency i
AeroSpace is a tiling window manager for macOS that automatically arranges application windows into grid-based layouts. It functions as a keyboard-driven controller, allowing users to manage window positioning, workspace navigation, and display assignments entirely through customizable keyboard commands. The project distinguishes itself by operating as a background daemon that utilizes system-level accessibility frameworks and low-level window server hooks to enforce tiling behavior. It employs a declarative configuration system to define layout rules and maintains workspace consistency throu
Slate is a keyboard-driven window manager and tiling system for macOS. It functions as a JavaScript-configurable automation tool and workflow orchestrator, allowing users to resize and position application windows through custom keystroke bindings and predefined spatial configurations. The project distinguishes itself by using a scripting API to define complex window manipulation logic, system event callbacks, and custom input mappings. This allows for the creation of sequenced action chains and the execution of external shell commands tied to specific keyboard shortcuts. Its capabilities in
ShiftIt is a macOS window manager and tiling utility that enables the resizing and positioning of application windows through predefined keyboard shortcuts. It functions as a shortcut manager to automate window movement and workspace organization. The utility specializes in tiling windows into proportional widths and heights. It includes a dimension cycling feature that rotates window sizes through a set of predefined ratios using directional keyboard inputs.
Alt-tab-macos is a productivity utility designed to replace the default application switcher on macOS. It functions as a background application that aggregates active windows across all monitors and virtual desktops into a single, keyboard-driven interface, allowing users to navigate between applications, minimized windows, and hidden processes. The tool distinguishes itself by providing granular control over window states and visibility, enabling users to close, minimize, or toggle fullscreen modes directly from the switcher. It supports advanced navigation through customizable keyboard shor
chadwm is a tiling window manager for X11 written in C. It organizes application windows using dynamic tiling layouts and automated arrangement patterns to manage screen real estate. The project utilizes a patch-based extension system to integrate specific behaviors, such as Fibonacci tiling and vanity gaps. It employs a tagging system for workspace organization, allowing windows to be segmented into virtual desktops. The environment includes a modular widget framework for monitoring system metrics and hardware controls, alongside centralized configuration files for managing visual themes an
Sway is a Wayland compositor and tiling window manager for Linux. It functions as a display server that manages window placement and input handling, organizing application windows into logical grids to maximize screen space. The project is designed for a keyboard-driven workflow, allowing users to manage workspaces and window geometry without relying on a mouse. It provides a modular environment for desktop customization and includes translation layers to support legacy applications, facilitating the replacement of older window management systems. The compositor utilizes hardware-accelerated
Spectacle is a keyboard-driven window manager and organizer that uses system accessibility frameworks to manipulate window coordinates and dimensions. It allows for the arrangement, resizing, and movement of application windows across multiple displays using global keyboard shortcuts. The tool focuses on multi-monitor layout management, enabling users to shift active windows between connected displays and snap windows into predefined screen regions such as halves, thirds, or corners. It also provides the ability to center and maximize windows to optimize screen real estate without using a mou
Hyprland is a Wayland compositor and tiling window manager for Linux systems. It functions as a display server protocol implementation that coordinates communication between hardware and graphical applications, while automatically organizing open windows into non-overlapping layouts to maximize screen space. The project distinguishes itself through a dynamic tiling engine that utilizes a binary space partitioning algorithm to calculate window geometry in real time. It provides a highly customizable workspace platform where users define system behavior and visual aesthetics through declarative
Niri is a Wayland compositor and tiling window manager designed for Linux systems. It functions as a display server that organizes application windows into a scrollable, column-based layout, providing a structured environment for managing graphical sessions, input routing, and hardware output. The project distinguishes itself through a declarative configuration engine that enables live-reloading of settings, allowing users to modify window rules, input bindings, and visual appearance without restarting the session. It features a physics-based animation system that uses spring-based curves to
Rectangle is a desktop window manager that organizes open application windows into predefined layouts and grid positions. It functions as a background utility, allowing users to manipulate window frames through keyboard shortcuts or mouse gestures to improve multitasking and workspace efficiency. The application acts as a native interface extension, providing window snapping and tiling functionality that integrates directly with the operating system. It supports multi-monitor setups, enabling the distribution and alignment of windows across various displays. By utilizing the system accessibil
YASB is a customizable status bar framework and desktop shell component for Windows. It provides a toolkit for building personalized information bars using a modular class-based widget architecture and CSS-based styling. The framework distinguishes itself through deep integration with Windows tiling window managers, allowing users to display active workspaces, tiling layouts, and window focus states. It also features automated visual consistency by generating system color schemes based on the current desktop wallpaper. The project covers a wide range of capabilities, including real-time syst
Eureka is a framework for building structured data-entry interfaces and forms in Swift for iOS applications. It provides a declarative UI layout engine and a dynamic input interface to define fields, sections, and row layouts through a configuration layer. The system distinguishes itself through dynamic interface management, including conditional visibility and interaction control that reacts to real-time user changes. It supports complex input behaviors such as expandable row rendering, multivalued field management for inserting or deleting similar rows, and custom keyboard navigation that s
FreshRSS is an open-source, self-hosted web feed aggregator designed to collect, organize, and display content from multiple websites in a single, centralized interface. It functions as a comprehensive reader for standard syndication formats, allowing users to track updates from various sources while maintaining full control over their data and privacy. The platform supports multi-user environments, enabling individual account management and personalized reading experiences. The application distinguishes itself through its robust synchronization and extensibility capabilities. It provides a s
Robotgo is a cross-platform desktop automation framework for the Go programming language. It provides a comprehensive toolkit for programmatically interacting with graphical user interfaces, enabling developers to simulate human input, manage application windows, and monitor system-wide hardware events. The library distinguishes itself through its low-level system integration, utilizing a foreign function interface to interact directly with native operating system APIs. It employs pixel-buffer memory mapping and real-time screen capture to perform visual element identification, allowing for i
Awesome Emacs is a curated directory of community-driven resources, packages, and configurations designed to extend the functionality of the Emacs text editor. It serves as a comprehensive index for users seeking to transform their editor into a specialized development environment or a highly personalized productivity workspace. The collection highlights tools that enable deep customization of the Emacs experience, ranging from ergonomic key binding schemes and visual interface themes to advanced window management and navigation utilities. It provides a centralized reference for discovering e
Neovide is a cross-platform graphical frontend for the Neovim text editor. It provides a native windowed interface that preserves terminal-based functionality and keyboard-driven workflows while introducing a hardware-accelerated display layer. By utilizing GPU-accelerated rendering, the application ensures high-performance visual output across different desktop operating systems. The project distinguishes itself through an interpolated animation engine that provides fluid, frame-by-frame transitions for cursor movement and scrolling. It features an asynchronous input event loop to maintain i
This project is a comprehensive library of reusable React hooks designed to simplify browser API integration, state management, and component lifecycle tracking. It provides a declarative interface for managing complex browser interactions, allowing developers to encapsulate imperative logic into modular, composable functions that integrate directly with the component lifecycle. The library distinguishes itself by offering specialized utilities for asynchronous data orchestration, including built-in caching, retry logic, and loading state management. It also features advanced performance opti