mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-25 22:25:58 +01:00
data-device: unexport wlr_seat_client_send_selection
This commit is contained in:
parent
1a2727cc38
commit
0040f7089f
4 changed files with 16 additions and 16 deletions
|
@ -33,5 +33,13 @@ struct wlr_seat_client *seat_client_from_data_device_resource(
|
||||||
bool seat_client_start_drag(struct wlr_seat_client *client,
|
bool seat_client_start_drag(struct wlr_seat_client *client,
|
||||||
struct wlr_data_source *source, struct wlr_surface *icon_surface,
|
struct wlr_data_source *source, struct wlr_surface *icon_surface,
|
||||||
struct wlr_surface *origin, uint32_t serial);
|
struct wlr_surface *origin, uint32_t serial);
|
||||||
|
/**
|
||||||
|
* Creates a new wl_data_offer if there is a wl_data_source currently set as
|
||||||
|
* the seat selection and sends it to the seat client, followed by the
|
||||||
|
* wl_data_device.selection() event. If there is no current selection, the
|
||||||
|
* wl_data_device.selection() event will carry a NULL wl_data_offer. If the
|
||||||
|
* client does not have a wl_data_device for the seat nothing will be done.
|
||||||
|
*/
|
||||||
|
void seat_client_send_selection(struct wlr_seat_client *seat_client);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -156,15 +156,6 @@ struct wlr_data_device_manager *wlr_data_device_manager_create(
|
||||||
*/
|
*/
|
||||||
void wlr_data_device_manager_destroy(struct wlr_data_device_manager *manager);
|
void wlr_data_device_manager_destroy(struct wlr_data_device_manager *manager);
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a new wl_data_offer if there is a wl_data_source currently set as
|
|
||||||
* the seat selection and sends it to the seat client, followed by the
|
|
||||||
* wl_data_device.selection() event. If there is no current selection, the
|
|
||||||
* wl_data_device.selection() event will carry a NULL wl_data_offer. If the
|
|
||||||
* client does not have a wl_data_device for the seat nothing * will be done.
|
|
||||||
*/
|
|
||||||
void wlr_seat_client_send_selection(struct wlr_seat_client *seat_client);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Requests a selection to be set for the seat.
|
* Requests a selection to be set for the seat.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -113,7 +113,7 @@ static void device_resource_send_selection(struct wl_resource *device_resource)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void wlr_seat_client_send_selection(struct wlr_seat_client *seat_client) {
|
void seat_client_send_selection(struct wlr_seat_client *seat_client) {
|
||||||
struct wlr_data_source *source = seat_client->seat->selection_source;
|
struct wlr_data_source *source = seat_client->seat->selection_source;
|
||||||
if (source != NULL) {
|
if (source != NULL) {
|
||||||
source->accepted = false;
|
source->accepted = false;
|
||||||
|
@ -174,7 +174,7 @@ void wlr_seat_set_selection(struct wlr_seat *seat,
|
||||||
struct wlr_seat_client *focused_client =
|
struct wlr_seat_client *focused_client =
|
||||||
seat->keyboard_state.focused_client;
|
seat->keyboard_state.focused_client;
|
||||||
if (focused_client) {
|
if (focused_client) {
|
||||||
wlr_seat_client_send_selection(focused_client);
|
seat_client_send_selection(focused_client);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (source) {
|
if (source) {
|
||||||
|
|
|
@ -2,17 +2,18 @@
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <time.h>
|
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
|
#include <time.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <wayland-server.h>
|
#include <wayland-server.h>
|
||||||
#include <wlr/types/wlr_data_device.h>
|
#include <wlr/types/wlr_data_device.h>
|
||||||
#include <wlr/types/wlr_input_device.h>
|
|
||||||
#include <wlr/types/wlr_gtk_primary_selection.h>
|
#include <wlr/types/wlr_gtk_primary_selection.h>
|
||||||
|
#include <wlr/types/wlr_input_device.h>
|
||||||
#include <wlr/util/log.h>
|
#include <wlr/util/log.h>
|
||||||
|
#include "types/wlr_data_device.h"
|
||||||
#include "types/wlr_seat.h"
|
#include "types/wlr_seat.h"
|
||||||
#include "util/signal.h"
|
|
||||||
#include "util/shm.h"
|
#include "util/shm.h"
|
||||||
|
#include "util/signal.h"
|
||||||
|
|
||||||
static void default_keyboard_enter(struct wlr_seat_keyboard_grab *grab,
|
static void default_keyboard_enter(struct wlr_seat_keyboard_grab *grab,
|
||||||
struct wlr_surface *surface, uint32_t keycodes[], size_t num_keycodes,
|
struct wlr_surface *surface, uint32_t keycodes[], size_t num_keycodes,
|
||||||
|
@ -271,8 +272,6 @@ void wlr_seat_keyboard_enter(struct wlr_seat *seat,
|
||||||
wl_keyboard_send_enter(resource, serial, surface->resource, &keys);
|
wl_keyboard_send_enter(resource, serial, surface->resource, &keys);
|
||||||
}
|
}
|
||||||
wl_array_release(&keys);
|
wl_array_release(&keys);
|
||||||
|
|
||||||
wlr_seat_client_send_selection(client);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// reinitialize the focus destroy events
|
// reinitialize the focus destroy events
|
||||||
|
@ -292,6 +291,8 @@ void wlr_seat_keyboard_enter(struct wlr_seat *seat,
|
||||||
// tell new client about any modifier change last,
|
// tell new client about any modifier change last,
|
||||||
// as it targets seat->keyboard_state.focused_client
|
// as it targets seat->keyboard_state.focused_client
|
||||||
wlr_seat_keyboard_send_modifiers(seat, modifiers);
|
wlr_seat_keyboard_send_modifiers(seat, modifiers);
|
||||||
|
|
||||||
|
seat_client_send_selection(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct wlr_seat_keyboard_focus_change_event event = {
|
struct wlr_seat_keyboard_focus_change_event event = {
|
||||||
|
|
Loading…
Reference in a new issue