Skip to content

Codimow/aster-wm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aster Window Manager (Advanced System Tiling Environment Runtime)

A lightweight X11 window manager written in C, featuring workspace management, window focusing, and keyboard shortcuts.

Features

  • Workspace Management: 9 virtual workspaces to organize your windows
  • Window Management: Automatic window tracking, focusing, and stacking
  • Keyboard Shortcuts: Convenient shortcuts for common tasks
  • Minimal Resource Usage: Lightweight C implementation

Building from Source

Prerequisites

  • X11 development libraries (libx11-dev, libxcb, libxrandr, libxinerama, libxft)
  • CMake
  • C compiler (gcc/clang)
  • make

Building

mkdir -p build
cd build
cmake ..
make

Installation

sudo make install

Testing

The easiest way to test Aster WM is using the included test script, which launches a Xephyr nested X server:

# Make sure the script is executable
chmod +x run_test.sh

# Run the test script
./run_test.sh

This will open a Xephyr window where you can test Aster WM without affecting your main desktop session.

Usage

Keyboard Shortcuts

Shortcut Action
Alt+Enter Launch terminal
Alt+Tab Cycle through windows
Alt+1 to Alt+9 Switch to workspace 1-9
Alt+Shift+Q Quit window manager

Window Management

  • Windows are automatically managed when created
  • Each window gets a colored border (blue for focused, gray for unfocused)
  • Windows are automatically positioned to avoid stacking directly on top of each other
  • Windows can be organized into 9 separate workspaces

Starting Aster WM in your X session

To use Aster WM as your primary window manager with startx, add the following to your ~/.xinitrc:

exec aster-wm

Project Structure

  • src/: Source code
    • main.c: Main window manager setup and event loop
    • client.c: Window/client management functions
    • window.c: X window event handling functions
    • keyboard.c: Keyboard shortcuts handling
  • include/: Header files
    • aster.h: Main header with data structures and function declarations
  • build/: Build artifacts

Future Enhancements

Potential features for future development:

  • Mouse-based window moving and resizing
  • Window tiling capabilities
  • Configuration file support
  • System tray support
  • Multiple monitor support
  • Application launcher

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published