GithubHelp home page GithubHelp logo

tinywm's Introduction

TinyWM is written by Nick Welch <[email protected]> in 2005 & 2011.

This software is in the public domain and is provided AS IS, with NO WARRANTY.

TinyWM is a ridiculously tiny window manager implemented in nearly as few lines
of C as possible, without being obfuscated or entirely useless. It allows you
to move, resize, focus (sloppy), and raise windows -- that's it!  TinyWM's main
purpose is to serve as a quick example of some window manager programming
basics.

Files:

  Makefile: highly advanced build system
  tinywm.c: the code
  annotated.c: same, but with tons of rambling comments about everything
  tinywm.py: a python version (requires CVS python-xlib due to a bug)

Usage:

  Focus follows pointer.
  Alt+Button1, drag: interactive window move
  Alt+Button3, drag: interactive window resize
  Alt+F1: raise focused window

Misc:
  
  Another very small window manager is failsafewm.  Originally I started
  hacking on it, as there was quite a bit of stuff in it that I thought was
  unneeded.  I wound up rewriting it from scratch, with just the bare
  necessities, and that became TinyWM.

    http://freshmeat.net/projects/failsafewm/

  Yet another small -- but in comparison to TinyWM, big -- window manager is
  aewm.  It's a good example for learning about writing a window manager.

      http://www.red-bean.com/~decklin/aewm/

tinywm's People

Contributors

alexer avatar mackstann avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tinywm's Issues

Right mouse click in web browser

Hello!

Thank you for tinywm.

I would like to share that the Right mouse click in web browser is not working (chromium, firefox,...).
There is a little popup that last less than 0.5 sec and it vanishes.
Menu and options of the web browser give the same result.

Blackbox allows the popup to be there and available.

Kind regards,
SP.

Windows stop resizing when too narrow

Not sure if this is within the scope of TinyWM, but I modified TinyWM so that the windows when resizing with Mod+Secondary Click will flip over. Thus when resizing you don't "hit the border" when dragging right/up but rather the window is just flipped / continues to resize.

See my commit here:
mil@b71169f

Let me know if you want me to issue a pull request. By the way - thanks for TinyWM - huge fan!

[Discussion] - XCB instead of Xlib?

Will it be more efficient to make the project dependent on XCB instead of Xlib?

In terms of -

  1. Fewer lines of code
  2. Resource-consumption-wise

TinyWM Tiling Patch?

I love how small TinyWM is, but is there a patch that adds tiling instead of free floating windows?

TinyWM on Microcontroller?

I've noticed 50 lines of code, 0.2MB RAM- could this run on an MCU with 768KB-1.8MB SRAM? I've been gathering a number of components- hardware and software that could run a desktop-looking OS with userspace apps like a text editor & pdf reader. For proof of concept, this seems like it could work with uclinux. Ideally it will output to an e-paper but would like to test with any lcd via SPI initially like this:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.