aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/background-image.c8
-rw-r--r--common/cairo.c6
-rw-r--r--include/cairo.h12
-rw-r--r--include/sway/criteria.h2
-rw-r--r--include/sway/output.h2
-rw-r--r--include/sway/server.h6
-rw-r--r--include/sway/tree/root.h2
-rw-r--r--include/sway/tree/view.h12
-rw-r--r--meson.build24
-rw-r--r--sway/commands/swap.c4
-rw-r--r--sway/criteria.c20
-rw-r--r--sway/desktop/output.c6
-rw-r--r--sway/desktop/render.c6
-rw-r--r--sway/desktop/transaction.c2
-rw-r--r--sway/input/cursor.c2
-rw-r--r--sway/input/seat.c2
-rw-r--r--sway/ipc-json.c2
-rw-r--r--sway/server.c6
-rw-r--r--sway/tree/container.c2
-rw-r--r--sway/tree/root.c2
-rw-r--r--sway/tree/view.c10
-rw-r--r--swayidle/main.c8
-rw-r--r--swayidle/meson.build24
23 files changed, 85 insertions, 85 deletions
diff --git a/common/background-image.c b/common/background-image.c
index 5ede55e3..72f39a79 100644
--- a/common/background-image.c
+++ b/common/background-image.c
@@ -24,7 +24,7 @@ enum background_mode parse_background_mode(const char *mode) {
cairo_surface_t *load_background_image(const char *path) {
cairo_surface_t *image;
-#ifdef HAVE_GDK_PIXBUF
+#if HAVE_GDK_PIXBUF
GError *err = NULL;
GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file(path, &err);
if (!pixbuf) {
@@ -36,17 +36,17 @@ cairo_surface_t *load_background_image(const char *path) {
g_object_unref(pixbuf);
#else
image = cairo_image_surface_create_from_png(path);
-#endif //HAVE_GDK_PIXBUF
+#endif // HAVE_GDK_PIXBUF
if (!image) {
wlr_log(WLR_ERROR, "Failed to read background image.");
return NULL;
}
if (cairo_surface_status(image) != CAIRO_STATUS_SUCCESS) {
wlr_log(WLR_ERROR, "Failed to read background image: %s."
-#ifndef HAVE_GDK_PIXBUF
+#if !HAVE_GDK_PIXBUF
"\nSway was compiled without gdk_pixbuf support, so only"
"\nPNG images can be loaded. This is the likely cause."
-#endif //HAVE_GDK_PIXBUF
+#endif // !HAVE_GDK_PIXBUF
, cairo_status_to_string(cairo_surface_status(image)));
return NULL;
}
diff --git a/common/cairo.c b/common/cairo.c
index e8231484..f2ad54c1 100644
--- a/common/cairo.c
+++ b/common/cairo.c
@@ -1,7 +1,7 @@
#include <stdint.h>
#include <cairo/cairo.h>
#include "cairo.h"
-#ifdef HAVE_GDK_PIXBUF
+#if HAVE_GDK_PIXBUF
#include <gdk-pixbuf/gdk-pixbuf.h>
#endif
@@ -46,7 +46,7 @@ cairo_surface_t *cairo_image_surface_scale(cairo_surface_t *image,
return new;
}
-#ifdef HAVE_GDK_PIXBUF
+#if HAVE_GDK_PIXBUF
cairo_surface_t* gdk_cairo_image_surface_create_from_pixbuf(const GdkPixbuf *gdkbuf) {
int chan = gdk_pixbuf_get_n_channels(gdkbuf);
if (chan < 3) {
@@ -140,4 +140,4 @@ cairo_surface_t* gdk_cairo_image_surface_create_from_pixbuf(const GdkPixbuf *gdk
cairo_surface_mark_dirty(cs);
return cs;
}
-#endif //HAVE_GDK_PIXBUF
+#endif // HAVE_GDK_PIXBUF
diff --git a/include/cairo.h b/include/cairo.h
index 86530b60..f28c072f 100644
--- a/include/cairo.h
+++ b/include/cairo.h
@@ -1,8 +1,13 @@
#ifndef _SWAY_CAIRO_H
#define _SWAY_CAIRO_H
+
+#include "config.h"
#include <stdint.h>
#include <cairo/cairo.h>
#include <wlr/types/wlr_output.h>
+#if HAVE_GDK_PIXBUF
+#include <gdk-pixbuf/gdk-pixbuf.h>
+#endif
void cairo_set_source_u32(cairo_t *cairo, uint32_t color);
cairo_subpixel_order_t to_cairo_subpixel_order(enum wl_output_subpixel subpixel);
@@ -10,12 +15,11 @@ cairo_subpixel_order_t to_cairo_subpixel_order(enum wl_output_subpixel subpixel)
cairo_surface_t *cairo_image_surface_scale(cairo_surface_t *image,
int width, int height);
-#include "config.h"
-#ifdef HAVE_GDK_PIXBUF
-#include <gdk-pixbuf/gdk-pixbuf.h>
+#if HAVE_GDK_PIXBUF
cairo_surface_t* gdk_cairo_image_surface_create_from_pixbuf(
const GdkPixbuf *gdkbuf);
-#endif //WITH_GDK_PIXBUF
+
+#endif // HAVE_GDK_PIXBUF
#endif
diff --git a/include/sway/criteria.h b/include/sway/criteria.h
index 323ba01d..3eb583d5 100644
--- a/include/sway/criteria.h
+++ b/include/sway/criteria.h
@@ -25,7 +25,7 @@ struct criteria {
pcre *app_id;
pcre *con_mark;
uint32_t con_id; // internal ID
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
pcre *class;
uint32_t id; // X11 window ID
pcre *instance;
diff --git a/include/sway/output.h b/include/sway/output.h
index 5efe1660..43c1ab96 100644
--- a/include/sway/output.h
+++ b/include/sway/output.h
@@ -119,7 +119,7 @@ void output_layer_for_each_surface(struct sway_output *output,
struct wl_list *layer_surfaces, sway_surface_iterator_func_t iterator,
void *user_data);
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
void output_unmanaged_for_each_surface(struct sway_output *output,
struct wl_list *unmanaged, sway_surface_iterator_func_t iterator,
void *user_data);
diff --git a/include/sway/server.h b/include/sway/server.h
index 5fced224..a3233d66 100644
--- a/include/sway/server.h
+++ b/include/sway/server.h
@@ -14,7 +14,7 @@
#include <wlr/types/wlr_xdg_shell.h>
#include "config.h"
#include "list.h"
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
#include "sway/xwayland.h"
#endif
@@ -44,7 +44,7 @@ struct sway_server {
struct wlr_xdg_shell *xdg_shell;
struct wl_listener xdg_shell_surface;
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
struct sway_xwayland xwayland;
struct wl_listener xwayland_surface;
struct wl_listener xwayland_ready;
@@ -80,7 +80,7 @@ void handle_idle_inhibitor_v1(struct wl_listener *listener, void *data);
void handle_layer_shell_surface(struct wl_listener *listener, void *data);
void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data);
void handle_xdg_shell_surface(struct wl_listener *listener, void *data);
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
void handle_xwayland_surface(struct wl_listener *listener, void *data);
#endif
void handle_server_decoration(struct wl_listener *listener, void *data);
diff --git a/include/sway/tree/root.h b/include/sway/tree/root.h
index a2d464f9..ceccc920 100644
--- a/include/sway/tree/root.h
+++ b/include/sway/tree/root.h
@@ -16,7 +16,7 @@ struct sway_root {
struct wlr_output_layout *output_layout;
struct wl_listener output_layout_change;
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
struct wl_list xwayland_unmanaged; // sway_xwayland_unmanaged::link
#endif
struct wl_list drag_icons; // sway_drag_icon::link
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h
index 8f045c6a..4716c688 100644
--- a/include/sway/tree/view.h
+++ b/include/sway/tree/view.h
@@ -4,7 +4,7 @@
#include <wlr/types/wlr_surface.h>
#include <wlr/types/wlr_xdg_shell_v6.h>
#include "config.h"
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
#include <wlr/xwayland.h>
#endif
#include "sway/input/input-manager.h"
@@ -16,7 +16,7 @@ struct sway_xdg_decoration;
enum sway_view_type {
SWAY_VIEW_XDG_SHELL_V6,
SWAY_VIEW_XDG_SHELL,
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
SWAY_VIEW_XWAYLAND,
#endif
};
@@ -28,7 +28,7 @@ enum sway_view_prop {
VIEW_PROP_INSTANCE,
VIEW_PROP_WINDOW_TYPE,
VIEW_PROP_WINDOW_ROLE,
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
VIEW_PROP_X11_WINDOW_ID,
VIEW_PROP_X11_PARENT_ID,
#endif
@@ -100,7 +100,7 @@ struct sway_view {
union {
struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6;
struct wlr_xdg_surface *wlr_xdg_surface;
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
struct wlr_xwayland_surface *wlr_xwayland_surface;
#endif
struct wlr_wl_shell_surface *wlr_wl_shell_surface;
@@ -144,7 +144,7 @@ struct sway_xdg_shell_view {
struct wl_listener unmap;
struct wl_listener destroy;
};
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
struct sway_xwayland_view {
struct sway_view view;
@@ -323,7 +323,7 @@ struct sway_view *view_from_wlr_xdg_surface(
struct wlr_xdg_surface *xdg_surface);
struct sway_view *view_from_wlr_xdg_surface_v6(
struct wlr_xdg_surface_v6 *xdg_surface_v6);
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
struct sway_view *view_from_wlr_xwayland_surface(
struct wlr_xwayland_surface *xsurface);
#endif
diff --git a/meson.build b/meson.build
index 8327b763..bb60bc89 100644
--- a/meson.build
+++ b/meson.build
@@ -59,30 +59,18 @@ git = find_program('git', required: false)
conf_data = configuration_data()
+conf_data.set10('HAVE_XWAYLAND', get_option('enable-xwayland'))
if get_option('enable-xwayland')
- conf_data.set('HAVE_XWAYLAND', true)
xcb = dependency('xcb')
-else
- conf_data.set('HAVE_XWAYLAND', false)
-endif
-
-if gdk_pixbuf.found()
- conf_data.set('HAVE_GDK_PIXBUF', true)
endif
-if systemd.found()
- conf_data.set('SWAY_IDLE_HAS_SYSTEMD', true)
- swayidle_deps += systemd
-endif
-
-if elogind.found()
- conf_data.set('SWAY_IDLE_HAS_ELOGIND', true)
- swayidle_deps += elogind
-endif
+conf_data.set10('HAVE_GDK_PIXBUF', gdk_pixbuf.found())
+conf_data.set10('HAVE_SYSTEMD', systemd.found())
+conf_data.set10('HAVE_ELOGIND', elogind.found())
if not systemd.found() and not elogind.found()
- warning('The sway binary must be setuid when compiled without (e)logind')
- warning('You must do this manually post-install: chmod a+s /path/to/sway')
+ warning('The sway binary must be setuid when compiled without (e)logind')
+ warning('You must do this manually post-install: chmod a+s /path/to/sway')
endif
scdoc = find_program('scdoc', required: false)
diff --git a/sway/commands/swap.c b/sway/commands/swap.c
index de3f5c18..08860264 100644
--- a/sway/commands/swap.c
+++ b/sway/commands/swap.c
@@ -149,7 +149,7 @@ static bool test_con_id(struct sway_container *container, void *data) {
return container->node.id == *con_id;
}
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
static bool test_id(struct sway_container *container, void *data) {
xcb_window_t *wid = data;
return (container->view && container->view->type == SWAY_VIEW_XWAYLAND
@@ -184,7 +184,7 @@ struct cmd_results *cmd_swap(int argc, char **argv) {
char *value = join_args(argv + 3, argc - 3);
if (strcasecmp(argv[2], "id") == 0) {
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
xcb_window_t id = strtol(value, NULL, 0);
other = root_find_container(test_id, &id);
#endif
diff --git a/sway/criteria.c b/sway/criteria.c
index 1d404333..3393852c 100644
--- a/sway/criteria.c
+++ b/sway/criteria.c
@@ -21,7 +21,7 @@ bool criteria_is_empty(struct criteria *criteria) {
&& !criteria->app_id
&& !criteria->con_mark
&& !criteria->con_id
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
&& !criteria->class
&& !criteria->id
&& !criteria->instance
@@ -42,7 +42,7 @@ void criteria_destroy(struct criteria *criteria) {
pcre_free(criteria->shell);
pcre_free(criteria->app_id);
pcre_free(criteria->con_mark);
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
pcre_free(criteria->class);
pcre_free(criteria->instance);
pcre_free(criteria->window_role);
@@ -55,7 +55,7 @@ static int regex_cmp(const char *item, const pcre *regex) {
return pcre_exec(regex, NULL, item, strlen(item), 0, 0, NULL, 0);
}
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
static bool view_has_window_type(struct sway_view *view, enum atom_name name) {
if (view->type != SWAY_VIEW_XWAYLAND) {
return false;
@@ -140,7 +140,7 @@ static bool criteria_matches_view(struct criteria *criteria,
}
}
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
if (criteria->id) { // X11 window ID
uint32_t x11_window_id = view_get_x11_window_id(view);
if (!x11_window_id || x11_window_id != criteria->id) {
@@ -276,7 +276,7 @@ static bool generate_regex(pcre **regex, char *value) {
return true;
}
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
static enum atom_name parse_window_type(const char *type) {
if (strcasecmp(type, "normal") == 0) {
return NET_WM_WINDOW_TYPE_NORMAL;
@@ -308,7 +308,7 @@ enum criteria_token {
T_CON_ID,
T_CON_MARK,
T_FLOATING,
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
T_CLASS,
T_ID,
T_INSTANCE,
@@ -331,7 +331,7 @@ static enum criteria_token token_from_name(char *name) {
return T_CON_ID;
} else if (strcmp(name, "con_mark") == 0) {
return T_CON_MARK;
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
} else if (strcmp(name, "class") == 0) {
return T_CLASS;
} else if (strcmp(name, "id") == 0) {
@@ -402,7 +402,7 @@ static char *get_focused_prop(enum criteria_token token) {
snprintf(id_str, id_size, "%zu", id);
value = id_str;
break;
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
case T_CLASS:
value = view_get_class(view);
break;
@@ -474,7 +474,7 @@ static bool parse_token(struct criteria *criteria, char *name, char *value) {
case T_CON_MARK:
generate_regex(&criteria->con_mark, effective_value);
break;
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
case T_CLASS:
generate_regex(&criteria->class, effective_value);
break;
@@ -577,7 +577,7 @@ struct criteria *criteria_parse(char *raw, char **error_arg) {
++head;
struct criteria *criteria = calloc(1, sizeof(struct criteria));
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
criteria->window_type = ATOM_LAST; // default value
#endif
char *name = NULL, *value = NULL;
diff --git a/sway/desktop/output.c b/sway/desktop/output.c
index e8112bd9..d649100f 100644
--- a/sway/desktop/output.c
+++ b/sway/desktop/output.c
@@ -204,7 +204,7 @@ void output_layer_for_each_surface(struct sway_output *output,
}
}
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
void output_unmanaged_for_each_surface(struct sway_output *output,
struct wl_list *unmanaged, sway_surface_iterator_func_t iterator,
void *user_data) {
@@ -274,7 +274,7 @@ static void output_for_each_surface(struct sway_output *output,
for_each_surface_container_iterator(floater, &data);
}
}
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
output_unmanaged_for_each_surface(output, &root->xwayland_unmanaged,
iterator, user_data);
#endif
@@ -289,7 +289,7 @@ static void output_for_each_surface(struct sway_output *output,
workspace_for_each_container(workspace,
for_each_surface_container_iterator, &data);
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
output_unmanaged_for_each_surface(output, &root->xwayland_unmanaged,
iterator, user_data);
#endif
diff --git a/sway/desktop/render.c b/sway/desktop/render.c
index 93e196bb..8d4a701b 100644
--- a/sway/desktop/render.c
+++ b/sway/desktop/render.c
@@ -140,7 +140,7 @@ static void render_layer(struct sway_output *output,
render_surface_iterator, &data);
}
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
static void render_unmanaged(struct sway_output *output,
pixman_region32_t *damage, struct wl_list *unmanaged) {
struct render_data data = {
@@ -966,7 +966,7 @@ void output_render(struct sway_output *output, struct timespec *when,
render_floating_container(output, damage, floater);
}
}
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
render_unmanaged(output, damage, &root->xwayland_unmanaged);
#endif
} else {
@@ -986,7 +986,7 @@ void output_render(struct sway_output *output, struct timespec *when,
render_workspace(output, damage, workspace, workspace->current.focused);
render_floating(output, damage);
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
render_unmanaged(output, damage, &root->xwayland_unmanaged);
#endif
render_layer(output, damage,
diff --git a/sway/desktop/transaction.c b/sway/desktop/transaction.c
index 39cb641f..bf0038b4 100644
--- a/sway/desktop/transaction.c
+++ b/sway/desktop/transaction.c
@@ -380,7 +380,7 @@ static bool should_configure(struct sway_node *node,
}
struct sway_container_state *cstate = &node->sway_container->current;
struct sway_container_state *istate = &instruction->container_state;
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
// Xwayland views are position-aware and need to be reconfigured
// when their position changes.
if (node->sway_container->view->type == SWAY_VIEW_XWAYLAND) {
diff --git a/sway/input/cursor.c b/sway/input/cursor.c
index c81e9ab1..c6b7414c 100644
--- a/sway/input/cursor.c
+++ b/sway/input/cursor.c
@@ -63,7 +63,7 @@ static struct sway_node *node_at_coords(
struct sway_seat *seat, double lx, double ly,
struct wlr_surface **surface, double *sx, double *sy) {
// check for unmanaged views first
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
struct wl_list *unmanaged = &root->xwayland_unmanaged;
struct sway_xwayland_unmanaged *unmanaged_surface;
wl_list_for_each_reverse(unmanaged_surface, unmanaged, link) {
diff --git a/sway/input/seat.c b/sway/input/seat.c
index 54fdf40b..663c5140 100644
--- a/sway/input/seat.c
+++ b/sway/input/seat.c
@@ -92,7 +92,7 @@ static void seat_send_focus(struct sway_node *node, struct sway_seat *seat) {
node->sway_container->view : NULL;
if (view && seat_is_input_allowed(seat, view->surface)) {
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
if (view->type == SWAY_VIEW_XWAYLAND) {
struct wlr_xwayland *xwayland = server.xwayland.wlr_xwayland;
wlr_xwayland_set_seat(xwayland, seat->wlr_seat);
diff --git a/sway/ipc-json.c b/sway/ipc-json.c
index 110b958a..e3450df1 100644
--- a/sway/ipc-json.c
+++ b/sway/ipc-json.c
@@ -266,7 +266,7 @@ static void ipc_json_describe_view(struct sway_container *c, json_object *object
struct wlr_box geometry = {0, 0, c->view->natural_width, c->view->natural_height};
json_object_object_add(object, "geometry", ipc_json_create_rect(&geometry));
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
if (c->view->type == SWAY_VIEW_XWAYLAND) {
json_object_object_add(object, "window",
json_object_new_int(view_get_x11_window_id(c->view)));
diff --git a/sway/server.c b/sway/server.c
index f06173d1..cd3fcdf6 100644
--- a/sway/server.c
+++ b/sway/server.c
@@ -26,7 +26,7 @@
#include "sway/server.h"
#include "sway/tree/root.h"
#include "config.h"
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
#include "sway/xwayland.h"
#endif
@@ -94,7 +94,7 @@ bool server_init(struct sway_server *server) {
setenv("XCURSOR_THEME", cursor_theme, 1);
}
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
server->xwayland.wlr_xwayland =
wlr_xwayland_create(server->wl_display, server->compositor, true);
wl_signal_add(&server->xwayland.wlr_xwayland->events.new_surface,
@@ -164,7 +164,7 @@ bool server_init(struct sway_server *server) {
void server_fini(struct sway_server *server) {
// TODO: free sway-specific resources
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
wlr_xwayland_destroy(server->xwayland.wlr_xwayland);
#endif
wl_display_destroy_clients(server->wl_display);
diff --git a/sway/tree/container.c b/sway/tree/container.c
index 89d80e51..cf6f5b54 100644
--- a/sway/tree/container.c
+++ b/sway/tree/container.c
@@ -171,7 +171,7 @@ static struct sway_container *surface_at_view(struct sway_container *con, double
double _sx, _sy;
struct wlr_surface *_surface = NULL;
switch (view->type) {
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
case SWAY_VIEW_XWAYLAND:
_surface = wlr_surface_surface_at(view->surface,
view_sx, view_sy, &_sx, &_sy);
diff --git a/sway/tree/root.c b/sway/tree/root.c
index 9bda7c28..544d666a 100644
--- a/sway/tree/root.c
+++ b/sway/tree/root.c
@@ -31,7 +31,7 @@ struct sway_root *root_create(void) {
node_init(&root->node, N_ROOT, root);
root->output_layout = wlr_output_layout_create();
wl_list_init(&root->all_outputs);
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
wl_list_init(&root->xwayland_unmanaged);
#endif
wl_list_init(&root->drag_icons);
diff --git a/sway/tree/view.c b/sway/tree/view.c
index 18195467..d7110619 100644
--- a/sway/tree/view.c
+++ b/sway/tree/view.c
@@ -8,7 +8,7 @@
#include <wlr/types/wlr_server_decoration.h>
#include <wlr/types/wlr_xdg_decoration_v1.h>
#include "config.h"
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
#include <wlr/xwayland.h>
#endif
#include "list.h"
@@ -101,7 +101,7 @@ const char *view_get_instance(struct sway_view *view) {
}
return NULL;
}
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
uint32_t view_get_x11_window_id(struct sway_view *view) {
if (view->impl->get_int_prop) {
return view->impl->get_int_prop(view, VIEW_PROP_X11_WINDOW_ID);
@@ -136,7 +136,7 @@ const char *view_get_shell(struct sway_view *view) {
return "xdg_shell_v6";
case SWAY_VIEW_XDG_SHELL:
return "xdg_shell";
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
case SWAY_VIEW_XWAYLAND:
return "xwayland";
#endif
@@ -484,7 +484,7 @@ static struct sway_workspace *select_workspace(struct sway_view *view) {
// Check if there's a PID mapping
pid_t pid;
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
if (view->type == SWAY_VIEW_XWAYLAND) {
struct wlr_xwayland_surface *surf =
wlr_xwayland_surface_from_wlr_surface(view->surface);
@@ -802,7 +802,7 @@ struct sway_view *view_from_wlr_surface(struct wlr_surface *wlr_surface) {
wlr_xdg_surface_v6_from_wlr_surface(wlr_surface);
return view_from_wlr_xdg_surface_v6(xdg_surface_v6);
}
-#ifdef HAVE_XWAYLAND
+#if HAVE_XWAYLAND
if (wlr_surface_is_xwayland_surface(wlr_surface)) {
struct wlr_xwayland_surface *xsurface =
wlr_xwayland_surface_from_wlr_surface(wlr_surface);
diff --git a/swayidle/main.c b/swayidle/main.c
index 7d0f23f4..2b185949 100644
--- a/swayidle/main.c
+++ b/swayidle/main.c
@@ -18,10 +18,10 @@
#include "config.h"
#include "idle-client-protocol.h"
#include "list.h"
-#ifdef SWAY_IDLE_HAS_SYSTEMD
+#if HAVE_SYSTEMD
#include <systemd/sd-bus.h>
#include <systemd/sd-login.h>
-#elif defined(SWAY_IDLE_HAS_ELOGIND)
+#elif HAVE_ELOGIND
#include <elogind/sd-bus.h>
#include <elogind/sd-login.h>
#endif
@@ -66,7 +66,7 @@ static void cmd_exec(char *param) {
}
}
-#if defined(SWAY_IDLE_HAS_SYSTEMD) || defined(SWAY_IDLE_HAS_ELOGIND)
+#if HAVE_SYSTEMD || HAVE_ELOGIND
static int lock_fd = -1;
static int ongoing_fd = -1;
static struct sd_bus *bus = NULL;
@@ -414,7 +414,7 @@ int main(int argc, char *argv[]) {
}
bool should_run = state.timeout_cmds->length > 0;
-#if defined(SWAY_IDLE_HAS_SYSTEMD) || defined(SWAY_IDLE_HAS_ELOGIND)
+#if HAVE_SYSTEMD || HAVE_ELOGIND
if (state.lock_cmd) {
should_run = true;
setup_sleep_listener();
diff --git a/swayidle/meson.build b/swayidle/meson.build
index 6c3ac119..79d2c5c4 100644
--- a/swayidle/meson.build
+++ b/swayidle/meson.build
@@ -1,18 +1,26 @@
threads = dependency('threads')
+swayidle_deps = [
+ client_protos,
+ pixman,
+ wayland_client,
+ wayland_server,
+ wlroots,
+]
+
+if systemd.found()
+ swayidle_deps += systemd
+endif
+if elogind.found()
+ swayidle_deps += elogind
+endif
+
executable(
'swayidle', [
'main.c',
],
include_directories: [sway_inc],
- dependencies: [
- client_protos,
- pixman,
- wayland_client,
- wayland_server,
- wlroots,
- swayidle_deps,
- ],
+ dependencies: swayidle_deps,
link_with: [lib_sway_common, lib_sway_client],
install_rpath : rpathdir,
install: true