Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dreamos82/uwm
Useless window manager - Not a window manager!!! Just window manager experiments...
https://github.com/dreamos82/uwm
Last synced: about 2 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 (about 11 years ago)
- Default Branch: master
- Last Pushed: 2021-12-02T11:28:25.000Z (about 3 years ago)
- Last Synced: 2024-05-11T09:32:42.586Z (9 months 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
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-devTo 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.