PatchworkOS  c9fea19
A non-POSIX operating system.
Loading...
Searching...
No Matches
dwm.h
Go to the documentation of this file.
1#pragma once
2
3#include "surface.h"
4
6#include <sys/io.h>
7#include <sys/list.h>
8
9/**
10 * @brief Desktop Window Manager.
11 * @defgroup programs_dwm Desktop Window Manager
12 * @ingroup programs
13 *
14 * The Desktop Window Manager (DWM) is the window manager for PatchworkOS. It is responsible for managing windows,
15 * panels, cursors, and other surfaces, as well as handling input events from the keyboard and mouse.
16 *
17 * @{
18 */
19
27
28void dwm_init(void);
29
30void dwm_deinit(void);
31
33
35
37
38void dwm_detach(surface_t* surface);
39
40void dwm_focus_set(surface_t* surface);
41
42void dwm_loop(void);
43
44/** @} */
static list_t clients
Definition dwm.c:26
report_flags_t
Report flags.
Definition event.h:34
uint64_t surface_id_t
Definition surface.h:53
void dwm_focus_set(surface_t *surface)
Definition dwm.c:322
uint64_t dwm_attach(surface_t *surface)
Definition dwm.c:206
void dwm_report_produce(surface_t *surface, client_t *client, report_flags_t flags)
Definition dwm.c:158
void dwm_detach(surface_t *surface)
Definition dwm.c:271
void dwm_loop(void)
Definition dwm.c:720
surface_t * dwm_surface_find(surface_id_t id)
Definition dwm.c:173
void dwm_init(void)
Definition dwm.c:84
void dwm_deinit(void)
Definition dwm.c:149
static const path_flag_t flags[]
Definition path.c:42
__UINT64_TYPE__ uint64_t
Definition stdint.h:17
pollfd_t mouse
Definition dwm.h:24
pollfd_t kbd
Definition dwm.h:23
pollfd_t data
Definition dwm.h:22
Poll file descriptor structure.
Definition io.h:276