30 open-source projects similar to fikovnik/shiftit, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best ShiftIt alternative.
Phoenix is a macOS workspace automator and window manager that uses a JavaScript scripting engine to control system-level behaviors. It functions as an AppleScript automation bridge, allowing users to programmatically manipulate application states, window geometry, and desktop interactions. The project enables the creation of custom workflows by binding keyboard shortcuts to JavaScript functions. This allows for the automation of complex system actions, such as organizing application layouts across multiple screens and managing virtual spaces. Its capability surface covers window and applica
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
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
This project is a collection of Unix dotfiles and a custom desktop environment configuration for Linux. It provides a standardized set of configuration files to ensure consistent shell and application behavior, centering on a tiling window manager setup and a personalized user interface. The environment features a desktop dashboard with modular widgets and sidebars that display system performance, weather, and media controls. It includes a comprehensive keyboard shortcut map using global and mode-specific keybindings to launch applications and control system actions. The configuration covers
Material Shell is a tiling window manager and Linux desktop environment that replaces traditional window management with a grid-based organizer. It functions as a spatial layout engine that automatically arranges application windows into non-overlapping grids to maximize screen space. The system acts as a desktop session manager, recording and restoring window positions and workspace assignments to preserve the exact state of a previous session after a restart. It employs a coordinate-based layout engine to map applications to specific rows and cells for consistent placement. The project cov
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
Amethyst is a tiling window manager for macOS designed to automate the arrangement of application windows. It functions as a productivity utility that organizes windows into non-overlapping layouts, allowing users to manage their desktop environment through keyboard-driven controls rather than manual mouse interaction. The application distinguishes itself by providing a state-machine engine that calculates window geometry based on user-defined tiling patterns. It maintains an accurate representation of the desktop by monitoring system-level notifications for window events, enabling it to auto
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
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
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
Tilingshell is a window management extension for the GNOME desktop environment that organizes application windows into structured grid layouts. It functions as a desktop utility that automates window placement and provides tools for customizing the graphical interface of Linux systems. The project distinguishes itself through a constraint-based geometry engine that maintains alignment during resizing and a declarative rendering system that maps grid definitions to screen space. It supports workspace-scoped state management, allowing for independent tiling configurations across different virtu
Tinykeys is a lightweight JavaScript utility for mapping keyboard combinations, sequences, and regular expression patterns to specific callback functions. It serves as an input mapping utility that triggers actions based on simultaneous modifier key presses or chronological key sequences. The library distinguishes itself by supporting dynamic key pattern matching through regular expressions and state-based sequence tracking to execute actions after a specific series of presses. It also includes a keyboard event parser that converts human-readable shortcut strings into structured data. These
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
ShareX is a desktop utility designed for screen capture, image annotation, and automated file sharing. It provides a comprehensive suite of tools for capturing screen regions, windows, or scrolling content, and includes a layered image editor that allows users to manipulate, scale, and transform graphical elements and annotations directly on captured media. The application distinguishes itself through an event-driven post-capture pipeline that triggers automated workflows, such as image processing, external command execution, or file uploads, immediately after a capture event. Users can exten
Ollama provides a framework for running and managing local machine learning models. It includes a command-line interface for model lifecycle management, such as creation, embedding generation, and configuration, alongside a stable API for programmatic interaction across multiple programming languages. The platform supports the import of models and adapters in various formats, including GGUF and Safetensors. Users can define custom model behaviors, prompt templates, and system messages through a configuration file format. It also offers tools for fine-tuning models with LoRA adapters and apply
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
i3 is an X11 tiling window manager for Linux that organizes application windows into a non-overlapping grid to maximize screen space. It functions as a configurable window layout engine and a desktop environment component that interfaces with the X Window System to handle window placement and input events. The manager specifically provides the ability to add configurable visual spacing and gaps between windows and screen edges. It determines window borders and spacing by parsing a text configuration file at startup or during runtime. The system covers workspace layout optimization and interf
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
This project is a dynamic tiling window manager configuration and automated desktop installer for Linux. It provides a system for organizing application windows to maximize screen real estate and productivity, specifically centered around a Hyprland desktop configuration. The environment features an adaptive visual theme that extracts dominant hues from wallpapers to automatically update the global user interface colors. It also includes specialized optimizations for virtual machine environments to ensure system stability and performance. The project covers automated desktop deployment throu
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.
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
Hyprdots is a collection of configuration files and installation scripts designed to set up and customize a Hyprland tiling window manager environment on Linux. It provides an automated system for deploying a personalized desktop interface, including pre-configured themes, styles, and keyboard shortcuts. The project utilizes a modular dotfiles management workflow to organize system settings into discrete files for visual styles and keybindings. It employs shell-scripted installation to automate dependency deployment and uses symbolic links to map a centralized configuration directory to syste
Seelen-UI is a graphical shell and window management utility for Windows that provides a modular, keyboard-driven desktop environment. It enables users to organize application windows through automated tiling, stacking, and floating layouts, while offering a framework for creating interactive desktop widgets using web technologies. The project distinguishes itself by integrating a web-based rendering engine that bridges system-state data to HTML and CSS interfaces, allowing for highly customizable widgets and dynamic visual themes. It features real-time wallpaper analysis to automatically syn
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
skhd is a keyboard shortcut manager and hotkey daemon for macOS. It functions as an input remapper that maps custom keyboard shortcuts to shell commands and system actions via a plain text configuration file. The utility supports modal keyboard workflows, allowing groups of shortcuts to activate only when the system is in a specific operational mode. It also enables application-specific hotkeys and application blacklisting, ensuring shortcuts only trigger based on which application is currently in focus. Additional capabilities include the remapping of hardware media keys and the synthesis o
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
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
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
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