Move set_window_title to output

This commit is contained in:
Jente Hidskes 2019-02-16 00:54:04 +01:00
parent 2669c80803
commit 9d825d6dc7
No known key found for this signature in database
GPG key ID: 04BE5A29F32D91EA
5 changed files with 18 additions and 25 deletions

22
cage.c
View file

@ -18,8 +18,6 @@
#include <unistd.h>
#include <wayland-server.h>
#include <wlr/backend.h>
#include <wlr/backend/wayland.h>
#include <wlr/backend/x11.h>
#include <wlr/render/wlr_renderer.h>
#include <wlr/types/wlr_compositor.h>
#include <wlr/types/wlr_data_device.h>
@ -45,26 +43,6 @@
#include "xwayland.h"
#endif
void
set_window_title(struct cg_server *server, struct cg_view *view)
{
struct wlr_output *output = server->output->wlr_output;
bool is_wl = wlr_output_is_wl(output);
bool is_x11 = wlr_output_is_x11(output);
if (!is_wl && !is_x11) {
return;
}
char *title = view_get_title(view);
if (is_wl) {
wlr_wl_output_set_title(output, title);
} else if (is_x11) {
wlr_x11_output_set_title(output, title);
}
free(title);
}
static bool
spawn_primary_client(char *argv[], pid_t *pid_out)
{

View file

@ -14,6 +14,8 @@
#include <unistd.h>
#include <wayland-server.h>
#include <wlr/backend.h>
#include <wlr/backend/wayland.h>
#include <wlr/backend/x11.h>
#include <wlr/render/wlr_renderer.h>
#include <wlr/types/wlr_data_device.h>
#include <wlr/types/wlr_matrix.h>
@ -414,3 +416,15 @@ output_damage_drag_icon(struct cg_output *cg_output, struct cg_drag_icon *drag_i
damage_surface,
&data);
}
void
output_set_window_title(struct cg_output *output, const char *title)
{
struct wlr_output *wlr_output = output->wlr_output;
if (wlr_output_is_wl(wlr_output)) {
wlr_wl_output_set_title(wlr_output, title);
} else if (wlr_output_is_x11(wlr_output)) {
wlr_x11_output_set_title(wlr_output, title);
}
}

View file

@ -25,5 +25,6 @@ void handle_new_output(struct wl_listener *listener, void *data);
void output_damage_view_surface(struct cg_output *output, struct cg_view *view);
void output_damage_view_whole(struct cg_output *cg_output, struct cg_view *view);
void output_damage_drag_icon(struct cg_output *output, struct cg_drag_icon *icon);
void output_set_window_title(struct cg_output *output, const char *title);
#endif

4
seat.c
View file

@ -745,7 +745,9 @@ seat_set_focus(struct cg_seat *seat, struct cg_view *view)
}
view_activate(view, true);
set_window_title(server, view);
char *title = view_get_title(view);
output_set_window_title(server->output, title);
free(title);
struct wlr_keyboard *keyboard = wlr_seat_get_keyboard(wlr_seat);
if (keyboard) {

View file

@ -42,6 +42,4 @@ struct cg_server {
#endif
};
void set_window_title(struct cg_server *server, struct cg_view *view);
#endif