mirror of
https://github.com/labwc/labwc.git
synced 2025-11-04 13:30:07 -05:00
parent
9e0846ea14
commit
1e1e90d0bb
3 changed files with 13 additions and 1 deletions
|
|
@ -119,6 +119,7 @@ void cursor_update_focus(struct server *server);
|
||||||
void cursor_update_image(struct seat *seat);
|
void cursor_update_image(struct seat *seat);
|
||||||
|
|
||||||
void cursor_init(struct seat *seat);
|
void cursor_init(struct seat *seat);
|
||||||
|
void cursor_load(struct seat *seat);
|
||||||
void cursor_emulate_move_absolute(struct seat *seat,
|
void cursor_emulate_move_absolute(struct seat *seat,
|
||||||
struct wlr_input_device *device,
|
struct wlr_input_device *device,
|
||||||
double x, double y, uint32_t time_msec);
|
double x, double y, uint32_t time_msec);
|
||||||
|
|
|
||||||
|
|
@ -1253,12 +1253,15 @@ cursor_frame(struct wl_listener *listener, void *data)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
cursor_init(struct seat *seat)
|
cursor_load(struct seat *seat)
|
||||||
{
|
{
|
||||||
const char *xcursor_theme = getenv("XCURSOR_THEME");
|
const char *xcursor_theme = getenv("XCURSOR_THEME");
|
||||||
const char *xcursor_size = getenv("XCURSOR_SIZE");
|
const char *xcursor_size = getenv("XCURSOR_SIZE");
|
||||||
uint32_t size = xcursor_size ? atoi(xcursor_size) : 24;
|
uint32_t size = xcursor_size ? atoi(xcursor_size) : 24;
|
||||||
|
|
||||||
|
if (seat->xcursor_manager) {
|
||||||
|
wlr_xcursor_manager_destroy(seat->xcursor_manager);
|
||||||
|
}
|
||||||
seat->xcursor_manager = wlr_xcursor_manager_create(xcursor_theme, size);
|
seat->xcursor_manager = wlr_xcursor_manager_create(xcursor_theme, size);
|
||||||
wlr_xcursor_manager_load(seat->xcursor_manager, 1);
|
wlr_xcursor_manager_load(seat->xcursor_manager, 1);
|
||||||
|
|
||||||
|
|
@ -1293,6 +1296,12 @@ cursor_init(struct seat *seat)
|
||||||
"Cursor theme is missing cursor names, using fallback");
|
"Cursor theme is missing cursor names, using fallback");
|
||||||
cursor_names = cursors_x11;
|
cursor_names = cursors_x11;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
cursor_init(struct seat *seat)
|
||||||
|
{
|
||||||
|
cursor_load(seat);
|
||||||
|
|
||||||
/* Set the initial cursor image so the cursor is visible right away */
|
/* Set the initial cursor image so the cursor is visible right away */
|
||||||
cursor_set(seat, LAB_CURSOR_DEFAULT);
|
cursor_set(seat, LAB_CURSOR_DEFAULT);
|
||||||
|
|
|
||||||
|
|
@ -529,6 +529,7 @@ seat_init(struct server *server)
|
||||||
|
|
||||||
seat->input_method_relay = input_method_relay_create(seat);
|
seat->input_method_relay = input_method_relay_create(seat);
|
||||||
|
|
||||||
|
seat->xcursor_manager = NULL;
|
||||||
seat->cursor = wlr_cursor_create();
|
seat->cursor = wlr_cursor_create();
|
||||||
if (!seat->cursor) {
|
if (!seat->cursor) {
|
||||||
wlr_log(WLR_ERROR, "unable to create cursor");
|
wlr_log(WLR_ERROR, "unable to create cursor");
|
||||||
|
|
@ -571,6 +572,7 @@ seat_reconfigure(struct server *server)
|
||||||
{
|
{
|
||||||
struct seat *seat = &server->seat;
|
struct seat *seat = &server->seat;
|
||||||
struct input *input;
|
struct input *input;
|
||||||
|
cursor_load(seat);
|
||||||
wl_list_for_each(input, &seat->inputs, link) {
|
wl_list_for_each(input, &seat->inputs, link) {
|
||||||
switch (input->wlr_input_device->type) {
|
switch (input->wlr_input_device->type) {
|
||||||
case WLR_INPUT_DEVICE_KEYBOARD:
|
case WLR_INPUT_DEVICE_KEYBOARD:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue