]> git.corax.cc Git - mwm/log
mwm
4 years agox, common: Add convenience functions and common types
Matthias Kruk [Mon, 3 May 2021 00:29:40 +0000 (09:29 +0900)]
x, common: Add convenience functions and common types

This commit adds convenience functions that wrap functionality provided
by Xlib. Further, it adds a structure that defines the geometry of an
object.

4 years agomwm: Implement monitor detection
Matthias Kruk [Mon, 3 May 2021 00:25:10 +0000 (09:25 +0900)]
mwm: Implement monitor detection

Monitors connected to the X Server have to be detected in order to
provide meaningful window manager functionality.
This commit implements dynamic detection of monitors and adds events
that a callback can be connected to, so that it will be executed when
a monitor has been added.

4 years agoarray: Make array_get() return an error if an element wasn't set
Matthias Kruk [Sun, 2 May 2021 11:39:05 +0000 (20:39 +0900)]
array: Make array_get() return an error if an element wasn't set

The array_get() function returns success when an entry is retrieved that
was never set. This makes it hard to distinguish uninitialized entries.
This commit changes array_get() to return an error if the caller is
attempting to retrieve an uninitialized entry.

4 years agomain: Instantiate and run mwm
Matthias Kruk [Sun, 2 May 2021 00:56:27 +0000 (09:56 +0900)]
main: Instantiate and run mwm

The main() function currently does nothing but parse teh commandline.
This commit changes the main() function so that it creates an mwm
instance and subsequently initializes and executes it.

4 years agomwm: Add datatype to manage global context
Matthias Kruk [Sun, 2 May 2021 00:53:37 +0000 (09:53 +0900)]
mwm: Add datatype to manage global context

This commit adds the mwm data type, which stores the global state of
the window manager, and will be used to handle events.

4 years agomonitor: Add data type for monitor management
Matthias Kruk [Sun, 2 May 2021 00:51:26 +0000 (09:51 +0900)]
monitor: Add data type for monitor management

To keep track of connected monitors, a data type is necessary.
This commit adds the monitor datatype that is used to keep track
of the size and position of a monitor.

4 years agoarray: Add dynamic array type
Matthias Kruk [Sun, 2 May 2021 00:48:18 +0000 (09:48 +0900)]
array: Add dynamic array type

For storage of monitors, a data type is needed that automatically
grows and shrinks as needed.
This commit adds a dynamic array implementation.

4 years agoInitial commit: Start with a minimal Makefile, manpage, and main.c master stable testing
Matthias Kruk [Sat, 1 May 2021 21:48:49 +0000 (06:48 +0900)]
Initial commit: Start with a minimal Makefile, manpage, and main.c

This commit adds a minimal Makefile, a short manpage, and a mwm
implementation that does nothing but print a help text.