设置 root 窗口鼠标样式

This commit is contained in:
2025-11-21 01:00:51 +08:00
parent 2aed03566c
commit bf595e6c8a
3 changed files with 10 additions and 0 deletions

View File

@@ -26,6 +26,7 @@
#include "types.h"
#include "utils.h"
#include "xcursor.h"
#include "xwindow.h"
static void wm_setup_signal(void);
static void wm_check_other_wm(void);
@@ -284,6 +285,7 @@ static void wm_setup(void) {
monitor_draw_bar(m);
}
xwindow_change_cursor(wm.screen->root, cursor_normal);
xcb_flush(wm.xcb_conn);
}

View File

@@ -100,3 +100,8 @@ visual_t *xwindow_get_xcb_visual(bool prefer_alpha) {
return visual;
}
void xwindow_change_cursor(xcb_window_t window, cursor_t cursor) {
xcb_params_cw_t params = {.cursor = xcursor_get_xcb_cursor(cursor)};
xcb_aux_change_window_attributes(wm.xcb_conn, window, XCB_CW_CURSOR, &params);
}

View File

@@ -3,9 +3,12 @@
#include <stdint.h>
#include <xcb/xproto.h>
#include "xcursor.h"
typedef struct visual_t {
uint8_t depth;
xcb_visualtype_t *visual;
} visual_t;
visual_t *xwindow_get_xcb_visual(bool prefer_alpha);
void xwindow_change_cursor(xcb_window_t window, cursor_t cursor);