https://github.com/dreamos82/uwm
Useless window manager - Not a window manager!!! Just window manager experiments...
https://github.com/dreamos82/uwm
Last synced: 4 months ago
JSON representation
Useless window manager - Not a window manager!!! Just window manager experiments...
- Host: GitHub
- URL: https://github.com/dreamos82/uwm
- Owner: dreamos82
- Created: 2013-11-21T22:51:21.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2021-12-02T11:28:25.000Z (almost 4 years ago)
- Last Synced: 2024-05-11T09:32:42.586Z (over 1 year ago)
- Language: C
- Homepage:
- Size: 115 KB
- Stars: 7
- Watchers: 2
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
- awesome-ricing - uwm - Useless window manager - Not a window manager!!! Just window manager experiments... (C) (Packages / window-managers)
README
USELESS Window Manager Experiments
==================================
Actually This is not a window manager :) . Hopefully one day it will be a minimalistic window manager.
It contains just experiments on xlib development.
Actually you can find experiments on:
1. Basic event handling
2. Basic keyboard handling
3. Window creation
4. Setting color background
5. Showing Text
6. Setting root window background image
7. Decorating window.
Dependencies
------------
In order to compile this program, you need the following packages installed:
* libx11-dev
* libimlib2-dev
To run correctly it also needs the following program installed:
* xterm
(since it is the only program launched by this useless window manager)
If you want to use Xephyr to test the window manager you need the package:
* xserver-xephyr (ubuntu)
installed.
Compile and launch
------------------
```console
cd src
make
```
You'll find a release-TAG folder with the binary inside \
And then you can launch it in two different ways:
### Using Xephyr
The first is using xephyr, a tool that launch a X server instance in a window. After installing it (check your distro documentation) type
```console
Xephyr -screen 1024x768 -br :1
```
Where -screen XxY is the desired resolution. And then you can launch the Window Manager with the following command:
```console
DISPLAY=:1 ./uwm [ background ]
```
This method is very useful if you want to debug the window manager.
### Launching Full screen
The second method is just launching a new server instance, using the following command:
```console
xinit ./uwm [ background ] -- :1
```
and then you can move between X instances using Ctrl + Alt + Fx
[ background ] is optional, and it specifies the background image. If you don't specify it, a default color will be used.
(Using that command a new X instance will be launched, and you don't need to close the running server)
Tested image formats:
* jpg
Please notice that the background argument is optional.
Usage instruction
-----------------
There are very few thing that you can do using this useless window manager, here a list of what you can do:
* Press 1 to launch xterm (and with xterm you can launch other programs)
* To close a program just right click on program window decoration.
Make sure to have a 30x30 default.bmp file in the main project folder (if you downloaded from github there should be one).
Also make sure that this line in src/definitions.h is up to date with the correct path of the icons:
```C
#define ICONS_BASE_PATH "../../"
```
TODO
----
* Basic configuration handling (background color/image and default terminal)
* Scale background image
* Finish work on text drawing functions
* Add better argument parsing.