|
PatchworkOS
|
Desktop Window Manager. More...
Data Structures | |
| struct | poll_ctx_t |
Functions | |
| void | dwm_init (void) |
| void | dwm_deinit (void) |
| void | dwm_report_produce (surface_t *surface, client_t *client, report_flags_t flags) |
| surface_t * | dwm_surface_find (surface_id_t id) |
| uint64_t | dwm_attach (surface_t *surface) |
| void | dwm_detach (surface_t *surface) |
| void | dwm_focus_set (surface_t *surface) |
| void | dwm_loop (void) |
Desktop Window Manager.
The Desktop Window Manager (DWM) is the window manager for PatchworkOS. It is responsible for managing windows, panels, cursors, and other surfaces, as well as handling input events from the keyboard and mouse.
Definition at line 215 of file dwm.c.
References cursor, dwm_send_event_to_all(), surface_t::dwmEntry, EALREADY, EINVAL, ERR, errno, focus, fullscreen, GEVENT_ATTACH, gevent_attach_t::info, list_push(), NULL, panels, printf(), SURFACE_CURSOR, SURFACE_FULLSCREEN, surface_get_info(), SURFACE_ID_NONE, SURFACE_PANEL, SURFACE_WALL, SURFACE_WINDOW, surface_t::type, wall, and windows.
Referenced by client_action_surface_new().
| void dwm_deinit | ( | void | ) |
| void dwm_detach | ( | surface_t * | surface | ) |
Definition at line 280 of file dwm.c.
References abort(), cursor, dwm_send_event_to_all(), surface_t::dwmEntry, focus, fullscreen, GEVENT_DETACH, gevent_detach_t::info, list_remove(), NULL, panels, prevCursorTarget, printf(), SURFACE_CURSOR, SURFACE_FULLSCREEN, surface_get_info(), SURFACE_ID_NONE, SURFACE_PANEL, SURFACE_WALL, SURFACE_WINDOW, surface_t::type, wall, and windows.
Referenced by client_action_surface_free(), and client_free().
| void dwm_focus_set | ( | surface_t * | surface | ) |
Definition at line 331 of file dwm.c.
References surface_t::client, dwm_report_produce(), surface_t::dwmEntry, surface_t::flags, focus, fullscreen, list_push(), list_remove(), NULL, REPORT_IS_FOCUSED, SURFACE_FOCUSED, SURFACE_WINDOW, surface_t::type, and windows.
Referenced by client_action_surface_focus_set(), client_action_surface_visible_set(), and dwm_handle_mouse_event().
| void dwm_init | ( | void | ) |
Definition at line 84 of file dwm.c.
References abort(), clientAmount, clients, close(), cursor, data, ERR, errno, focus, fullscreen, kbd, list_init(), MAX_NAME, memset(), mouse, NULL, open(), openf(), panels, pollCtx, prevCursorTarget, printf(), readfile(), strerror(), wall, windows, and writef().
Referenced by main().
| void dwm_loop | ( | void | ) |
| void dwm_report_produce | ( | surface_t * | surface, |
| client_t * | client, | ||
| report_flags_t | flags | ||
| ) |
Definition at line 167 of file dwm.c.
References client_send_event(), dwm_send_event_to_all(), EVENT_REPORT, event_report_t::flags, GEVENT_REPORT, surface_t::id, event_report_t::info, surface_get_info(), and SURFACE_ID_NONE.
Referenced by client_action_surface_move(), client_action_surface_report(), client_action_surface_visible_set(), and dwm_focus_set().
| surface_t * dwm_surface_find | ( | surface_id_t | id | ) |
Definition at line 182 of file dwm.c.
References fullscreen, surface_t::id, LIST_FOR_EACH_REVERSE, NULL, panels, wall, and windows.
Referenced by client_action_surface_focus_set(), client_action_surface_report(), and client_action_surface_visible_set().