设置 root 窗口鼠标样式
This commit is contained in:
2
src/wm.c
2
src/wm.c
@@ -26,6 +26,7 @@
|
|||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "xcursor.h"
|
#include "xcursor.h"
|
||||||
|
#include "xwindow.h"
|
||||||
|
|
||||||
static void wm_setup_signal(void);
|
static void wm_setup_signal(void);
|
||||||
static void wm_check_other_wm(void);
|
static void wm_check_other_wm(void);
|
||||||
@@ -284,6 +285,7 @@ static void wm_setup(void) {
|
|||||||
monitor_draw_bar(m);
|
monitor_draw_bar(m);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xwindow_change_cursor(wm.screen->root, cursor_normal);
|
||||||
xcb_flush(wm.xcb_conn);
|
xcb_flush(wm.xcb_conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -100,3 +100,8 @@ visual_t *xwindow_get_xcb_visual(bool prefer_alpha) {
|
|||||||
|
|
||||||
return visual;
|
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, ¶ms);
|
||||||
|
}
|
||||||
|
|||||||
@@ -3,9 +3,12 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <xcb/xproto.h>
|
#include <xcb/xproto.h>
|
||||||
|
|
||||||
|
#include "xcursor.h"
|
||||||
|
|
||||||
typedef struct visual_t {
|
typedef struct visual_t {
|
||||||
uint8_t depth;
|
uint8_t depth;
|
||||||
xcb_visualtype_t *visual;
|
xcb_visualtype_t *visual;
|
||||||
} visual_t;
|
} visual_t;
|
||||||
|
|
||||||
visual_t *xwindow_get_xcb_visual(bool prefer_alpha);
|
visual_t *xwindow_get_xcb_visual(bool prefer_alpha);
|
||||||
|
void xwindow_change_cursor(xcb_window_t window, cursor_t cursor);
|
||||||
|
|||||||
Reference in New Issue
Block a user