# pop-os/shell

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/pop-os-shell).**

5,226 stars · 287 forks · TypeScript · gpl-3.0

## Links

- GitHub: https://github.com/pop-os/shell
- awesome-repositories: https://awesome-repositories.com/repository/pop-os-shell.md

## Topics

`gnome-shell-extension` `pop-os` `tiling` `window-manager`

## Description

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 software covers comprehensive window management capabilities, including spatial focus navigation, grid-based positioning and resizing, and window stacking. It also supports workspace organization for transferring windows across virtual desktops, the removal of window decorations, and the definition of rule-based floating exceptions for specific applications.

## Tags

### Operating Systems & Systems Programming

- [Tiling Window Managers](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/tiling-window-managers.md) — Organizes application windows into a non-overlapping grid using a hierarchical tree structure and keyboard shortcuts. ([source](https://github.com/pop-os/shell/blob/master_noble/TESTING.md))
- [Floating Window Management](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/tiling-window-managers/floating-window-management.md) — Uses configuration rules for window classes and titles to bypass tiling for specific floating applications.
- [System and Window Search Launchers](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/tiling-window-managers/system-and-window-search-launchers.md) — Implements a searchable launcher for locating open windows, applications, and executing system commands. ([source](https://github.com/pop-os/shell/blob/master_noble/TESTING.md))
- [Spatial Focus Navigation](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/tiling-window-managers/window-switching-and-tiling/spatial-focus-navigation.md) — Implements focus switching logic based on the spatial proximity and direction of windows relative to the active one. ([source](https://github.com/pop-os/shell#readme))

### Programming Languages & Runtimes

- [Tree-Based Window Layouts](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/data-structure-type-helpers/data-structures/hierarchical-tree-structures/tree-based-window-layouts.md) — Organizes screen space by subdividing areas into a hierarchical structure of branches and stacks as applications open.

### Part of an Awesome List

- [Keyboard-Driven Positioning](https://awesome-repositories.com/f/awesome-lists/devtools/window-management/positioning-and-resizing/keyboard-driven-positioning.md) — Provides a dedicated positioning mode for moving and swapping windows via a keyboard-driven grid overlay. ([source](https://github.com/pop-os/shell#readme))

### Business & Productivity Software

- [Virtual Desktop Organizers](https://awesome-repositories.com/f/business-productivity-software/desktop-workspace-organizers/virtual-desktop-organizers.md) — Manages windows across virtual desktops and multiple monitors using hierarchical trees and stacking.
- [Cross-Workspace Transfers](https://awesome-repositories.com/f/business-productivity-software/desktop-workspace-organizers/macos-workspace-managers/multi-monitor-workspace-managers/virtual-workspace-managers/cross-workspace-transfers.md) — Transfers windows between different virtual desktops while maintaining tiling layout integrity. ([source](https://github.com/pop-os/shell/blob/master_noble/TESTING.md))

### Development Tools & Productivity

- [Desktop Extension Systems](https://awesome-repositories.com/f/development-tools-productivity/app-development-toolkits/desktop-environment-applets/desktop-extension-systems.md) — Hooks into the GNOME desktop environment to override window placement and decoration via a JavaScript-based extension system.
- [Desktop Interface Extensions](https://awesome-repositories.com/f/development-tools-productivity/desktop-interface-extensions.md) — Modifies the GNOME shell to provide keyboard-driven window positioning and a searchable application launcher.
- [Focus Navigation Controllers](https://awesome-repositories.com/f/development-tools-productivity/window-managers/focus-navigation-controllers.md) — Determines the next active window by calculating physical proximity and cardinal direction relative to the current focus.
- [Window Resizing Operations](https://awesome-repositories.com/f/development-tools-productivity/window-managers/interactive-window-manipulation/window-resizing-operations.md) — Implements keyboard-driven operations to manipulate window dimensions and placement. ([source](https://github.com/pop-os/shell/blob/master_noble/README.md))
- [Keyboard-Driven Control](https://awesome-repositories.com/f/development-tools-productivity/window-managers/keyboard-driven-control.md) — Controls window placement, focus, and resizing using shortcuts to navigate the desktop without relying on a mouse.
- [Multi-Monitor Window Management](https://awesome-repositories.com/f/development-tools-productivity/window-managers/multi-monitor-window-management.md) — Handles window placement and automatic re-tiling across multiple display outputs.
- [Binary Tree Layout Engines](https://awesome-repositories.com/f/development-tools-productivity/window-managers/split-screen-layouts/binary-tree-layout-engines.md) — Utilizes a hierarchical tree system to automatically subdivide screen space into branches and stacks. ([source](https://github.com/pop-os/shell#readme))
- [Window Stacking](https://awesome-repositories.com/f/development-tools-productivity/window-managers/window-stacking.md) — Groups multiple windows into a single shared space for swapping and navigation. ([source](https://github.com/pop-os/shell/blob/master_noble/TESTING.md))

### User Interface & Experience

- [Coordinate-Based Positioning](https://awesome-repositories.com/f/user-interface-experience/coordinate-based-positioning.md) — Maps screen real estate to a virtual coordinate system for precise window positioning and resizing via keyboard input.
- [Display-Driven Layout Recomputation](https://awesome-repositories.com/f/user-interface-experience/dynamic-layout-engines/display-driven-layout-recomputation.md) — Triggers a full recalculation of the window tree and dimensions whenever monitors are connected or disconnected.
- [Keyboard-Driven Window Orchestration](https://awesome-repositories.com/f/user-interface-experience/keyboard-driven-window-orchestration.md) — Allows moving, resizing, and swapping window locations using grid overlays and keyboard shortcuts.
- [Desktop Workspace Customizers](https://awesome-repositories.com/f/user-interface-experience/desktop-workspace-customizers.md) — Allows defining rules for floating windows and adjusting gaps between tiled applications to optimize the workspace.
- [Quick-Launch Application Interfaces](https://awesome-repositories.com/f/user-interface-experience/quick-launch-application-interfaces.md) — Provides an asynchronous, searchable interface for quickly finding and launching applications and system settings. ([source](https://github.com/pop-os/shell#readme))
- [Search-Based Application Launchers](https://awesome-repositories.com/f/user-interface-experience/search-based-application-launchers.md) — Provides a searchable, asynchronous command interface for quickly finding and starting software or system settings.
- [Node Snapping](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/css-layout-systems/grid-layout-systems/node-snapping.md) — Aligns windows to a configurable grid of rows and columns during movement or resizing. ([source](https://github.com/pop-os/shell#readme))
