mirror of
				https://github.com/rad4day/Waybar.git
				synced 2025-10-31 16:02:43 +01:00 
			
		
		
		
	fix(client): try to fix #20
This commit is contained in:
		| @@ -21,11 +21,12 @@ namespace waybar { | ||||
|     Gtk::Main gtk_main; | ||||
|  | ||||
|     Glib::RefPtr<Gdk::Display> gdk_display; | ||||
|     struct wl_display *wlDisplay; | ||||
|     struct wl_registry *registry; | ||||
|     struct zwlr_layer_shell_v1 *layer_shell; | ||||
|     struct zxdg_output_manager_v1 *xdg_output_manager; | ||||
|     struct wl_seat *seat; | ||||
|     struct wl_display *wlDisplay = nullptr; | ||||
|     struct wl_registry *registry = nullptr; | ||||
|     struct zwlr_layer_shell_v1 *layer_shell = nullptr; | ||||
|     struct zxdg_output_manager_v1 *xdg_output_manager = nullptr; | ||||
|     struct wl_seat *seat = nullptr; | ||||
|     struct wl_output *wlOutput = nullptr; | ||||
|     std::vector<std::unique_ptr<Bar>> bars; | ||||
|  | ||||
|     Client(int argc, char* argv[]); | ||||
|   | ||||
| @@ -46,10 +46,12 @@ void waybar::Client::_handle_global(void *data, struct wl_registry *registry, | ||||
|     o->layer_shell = (zwlr_layer_shell_v1 *)wl_registry_bind(registry, name, | ||||
|       &zwlr_layer_shell_v1_interface, version); | ||||
|   } else if (!strcmp(interface, wl_output_interface.name)) { | ||||
|     auto output = std::make_unique<struct wl_output *>(); | ||||
|     *output = (struct wl_output *)wl_registry_bind(registry, name, | ||||
|     o->wlOutput = (struct wl_output *)wl_registry_bind(registry, name, | ||||
|       &wl_output_interface, version); | ||||
|     o->bars.emplace_back(std::make_unique<Bar>(*o, std::move(output))); | ||||
|     auto output = std::make_unique<struct wl_output *>(); | ||||
|     *output = o->wlOutput; | ||||
|     if (o->xdg_output_manager) | ||||
|       o->bars.emplace_back(std::make_unique<Bar>(*o, std::move(output))); | ||||
|   } else if (!strcmp(interface, wl_seat_interface.name)) { | ||||
|     o->seat = (struct wl_seat *)wl_registry_bind(registry, name, | ||||
|       &wl_seat_interface, version); | ||||
| @@ -58,6 +60,11 @@ void waybar::Client::_handle_global(void *data, struct wl_registry *registry, | ||||
|       o->xdg_output_manager = | ||||
|         (struct zxdg_output_manager_v1 *)wl_registry_bind(registry, name, | ||||
|         &zxdg_output_manager_v1_interface, ZXDG_OUTPUT_V1_NAME_SINCE_VERSION); | ||||
|       if (o->wlOutput) { | ||||
|         auto output = std::make_unique<struct wl_output *>(); | ||||
|         *output = o->wlOutput; | ||||
|         o->bars.emplace_back(std::make_unique<Bar>(*o, std::move(output))); | ||||
|       } | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Alexis
					Alexis