MCPcopy Create free account
hub / github.com/McYoloSwagHam/win3wm

github.com/McYoloSwagHam/win3wm @v1.0.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.4 ↗ · + Follow
3,011 symbols 5,665 edges 33 files 262 documented · 9% updated 4y agov1.0.4 · 2021-03-05★ 1,04923 open issues

Browse by type

Functions 1,961 Types & classes 1,050
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

WinWM

WinWM is a tiling window manager inspired by i3wm, it was initially private and commerical, but I decided to opensource it.

Manual

for the config options and explanations, and a tutorial on the luajit scripting. please check the page here

Documentation

Documentation

Architecture

  • twm - is the actual Tiling Window Manager logic, that handles the trees, layouts, Config, input, etc...
  • ForceResize - is the DLL that is to be injected in all applications to allow resizing a window past its limits
  • WinHook - is the DLL that is to be injected in all applications to notify the main application of window creation/destruction.
  • x86ipc - Due to WinAPI constraints, there needs to be a child process for interacting with x86 processes
  • WinWMGUI - was the C# gui that was to be used for licensing purposes.

## Building * Open Developer Command Prompt for vs2019 * Build.bat

Features

  • [x] Multi monitor support
  • [x] LuaJit Scripting
  • [x] Uses virtual desktops instead of just moving around windows
  • [x] Performance (happy enough with it, some optimizations could be done somehow for really heavy windows like file explorer)

TODO

  • [ ] focus switching on cursor movement and not hotkey
  • [ ] save tree layout and restore on restart.
  • [ ] CrashHandling (restart on crash)
  • [ ] Focus system similar to i3wm (current focus system is basic)
  • [ ] Handle disconnecting and reconnecting displays during runtime

Issues

feel free to ask questions or put suggestions by opening an issue. I'd be glad to discuss these things

Prerequisites

The task bar must be at the bottom of the screen and not on the sides, this is something that will hopefully be fixed soon

Showcase

Basic Showcase A basic image showing the status bar on the bottom left, the windows, the gapping functionality and the ability to remove titlebars from application (top right command prompt) and the yellow focus bar on the bottom of the current focused window.

Multimonitor Showcase A image showing the multimonitor version, a status bar for each monitor, with the active monitor having the color blue on the statusbar

Core symbols most depended-on inside this repo

Shape

Method 1,258
Class 1,028
Function 703
Enum 22

Languages

C++96%
TypeScript4%
C#1%
C1%

Modules by API surface

guitest/sol.hpp2,112 symbols
guitest/json.hpp535 symbols
guitest/wm.cpp172 symbols
docs/highlight.js71 symbols
guitest/Types.h33 symbols
docs/searcher.js19 symbols
docs/book.js17 symbols
guitest/ComInterface.h9 symbols
docs/clipboard.min.js6 symbols
guitest/statusbar.hpp5 symbols
docs/mark.min.js5 symbols
WinWMGUI/MainWindow.xaml.cs5 symbols

For agents

$ claude mcp add win3wm \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page