Implemented idle-inhibit

Now all the protocols in ./protocol are actually being used
This commit is contained in:
Keith Bowes 2023-12-30 15:30:52 -05:00
parent 3687099182
commit b5f4055904
9 changed files with 77 additions and 8 deletions

View file

@ -4,6 +4,7 @@
#include <time.h>
#include "waybox/server.h"
#include <wlr/types/wlr_output_management_v1.h>
struct wb_output {
struct wlr_output *wlr_output;
@ -34,6 +35,6 @@ struct wb_output {
void handle_gamma_control_set_gamma(struct wl_listener *listener, void *data);
void output_frame_notify(struct wl_listener *listener, void *data);
void output_destroy_notify(struct wl_listener *listener, void *data);
void new_output_notify(struct wl_listener *listener, void *data);
void init_output(struct wb_server *server);
#endif /* output.h */

View file

@ -46,6 +46,7 @@ struct wb_server {
struct wlr_backend *backend;
struct wlr_compositor *compositor;
struct wlr_gamma_control_manager_v1 *gamma_control_manager;
struct wlr_idle_inhibit_manager_v1 *idle_inhibitor;
struct wlr_idle_notifier_v1 *idle_notifier;
struct wlr_output_layout *output_layout;
struct wlr_xdg_output_manager_v1 *output_manager;
@ -69,6 +70,8 @@ struct wb_server {
struct wlr_layer_shell_v1 *layer_shell;
struct wlr_xdg_shell *xdg_shell;
struct wlr_output_manager_v1 *wlr_output_manager;
struct wl_listener gamma_control_set_gamma;
struct wl_listener new_layer_surface;
struct wl_listener new_xdg_decoration;
@ -81,6 +84,7 @@ struct wb_server {
struct wl_listener new_input;
struct wl_listener new_output;
struct wl_listener output_configuration_applied;
struct wl_list outputs; /* wb_output::link */
};

View file

@ -20,9 +20,12 @@ struct wb_toplevel {
struct wl_listener request_minimize;
struct wl_listener request_move;
struct wl_listener request_resize;
struct wl_listener new_inhibitor;
struct wl_listener destroy_inhibitor;
struct wlr_box geometry;
struct wlr_box previous_geometry;
bool inhibited;
};
void init_xdg_shell(struct wb_server *server);