howm
howm
|
The portion of howm that interacts with the X server. Perhaps this could be conditionally included if we decide to use wayland as well. More...
#include <stdlib.h>
#include <string.h>
#include <xcb/randr.h>
#include <xcb/xcb.h>
#include <xcb/xcb_ewmh.h>
#include "client.h"
#include "helper.h"
#include "howm.h"
#include "location.h"
#include "workspace.h"
#include "xcb_help.h"
Functions | |
void | check_other_wm (void) |
Try to detect if another WM exists. More... | |
void | move_resize (xcb_window_t win, uint16_t x, uint16_t y, uint16_t w, uint16_t h) |
Change the dimensions and location of a window (win). More... | |
void | grab_buttons (client_t *c) |
Make a client listen for button press events. More... | |
void | set_border_width (xcb_window_t win, uint16_t w) |
Sets the width of the borders around a window (win). More... | |
void | elevate_window (xcb_window_t win) |
Move a window to the front of all the other windows. More... | |
void | get_atoms (const char **names, xcb_atom_t *atoms) |
Request all of the atoms that howm supports. More... | |
void | focus_window (xcb_window_t win) |
Focus the given window, so long as it isn't already focused. More... | |
void | delete_win (xcb_window_t win) |
Ask XCB to delete a window. More... | |
void | ewmh_process_wm_state (client_t *c, xcb_atom_t a, int action) |
Handle client messages that are related to WM_STATE. More... | |
void | setup_ewmh (void) |
Create the EWMH connection, request all of the atoms and set some sensible defaults for them. More... | |
void | setup_ewmh_geom (void) |
void | ewmh_set_current_workspace (void) |
xcb_randr_output_t * | randr_get_outputs (unsigned int *nr_outputs) |
xcb_rectangle_t | output_reply_to_rect (xcb_randr_get_output_info_reply_t *output) |
xcb_randr_output_t | randr_get_primary_output (void) |
void | warp_pointer (int16_t x, int16_t y) |
void | center_pointer (xcb_rectangle_t rect) |
The portion of howm that interacts with the X server. Perhaps this could be conditionally included if we decide to use wayland as well.
void center_pointer | ( | xcb_rectangle_t | rect | ) |
void check_other_wm | ( | void | ) |
Try to detect if another WM exists.
If another WM exists (this can be seen by whether it has registered itself with the X11 server) then howm will exit.
void delete_win | ( | xcb_window_t | win | ) |
Ask XCB to delete a window.
win | The window to be deleted. |
void elevate_window | ( | xcb_window_t | win | ) |
Move a window to the front of all the other windows.
win | The window to be moved. |
void ewmh_process_wm_state | ( | client_t * | c, |
xcb_atom_t | a, | ||
int | action | ||
) |
Handle client messages that are related to WM_STATE.
TODO: Add more WM_STATE hints.
c | The client that is to have its WM_STATE modified. |
a | The atom representing which WM_STATE hint should be modified. |
action | Whether to remove, add or toggle the WM_STATE hint. |
void ewmh_set_current_workspace | ( | void | ) |
void focus_window | ( | xcb_window_t | win | ) |
Focus the given window, so long as it isn't already focused.
win | A window that belongs to a client being managed by howm. |
void get_atoms | ( | const char ** | names, |
xcb_atom_t * | atoms | ||
) |
Request all of the atoms that howm supports.
names | The names of the atoms to be fetched. |
atoms | Where the returned atoms will be stored. |
void grab_buttons | ( | client_t * | c | ) |
Make a client listen for button press events.
c | The client that needs to listen for button presses. |
void move_resize | ( | xcb_window_t | win, |
uint16_t | x, | ||
uint16_t | y, | ||
uint16_t | w, | ||
uint16_t | h | ||
) |
Change the dimensions and location of a window (win).
win | The window upon which the operations should be performed. |
x | The new x location of the top left corner. |
y | The new y location of the top left corner. |
w | The new width of the window. |
h | The new height of the window. |
xcb_rectangle_t output_reply_to_rect | ( | xcb_randr_get_output_info_reply_t * | output | ) |
xcb_randr_output_t* randr_get_outputs | ( | unsigned int * | nr_outputs | ) |
xcb_randr_output_t randr_get_primary_output | ( | void | ) |
void set_border_width | ( | xcb_window_t | win, |
uint16_t | w | ||
) |
Sets the width of the borders around a window (win).
win | The window that will have its border width changed. |
w | The new width of the window's border. |
void setup_ewmh | ( | void | ) |
Create the EWMH connection, request all of the atoms and set some sensible defaults for them.
void setup_ewmh_geom | ( | void | ) |
void warp_pointer | ( | int16_t | x, |
int16_t | y | ||
) |