Skip to content

Commit 88e868c

Browse files
committed
opt: simple printstatus signal
1 parent b9952f0 commit 88e868c

File tree

1 file changed

+5
-21
lines changed

1 file changed

+5
-21
lines changed

src/mango.c

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -226,9 +226,6 @@ typedef struct {
226226
uint32_t ui;
227227
uint32_t ui2;
228228
} Arg;
229-
struct mango_print_status_manager {
230-
struct wl_signal print_status;
231-
};
232229

233230
typedef struct {
234231
uint32_t mod;
@@ -878,6 +875,8 @@ struct Pertag {
878875
*ltidxs[LENGTH(tags) + 1]; /* matrix of tags and layouts indexes */
879876
};
880877

878+
static struct wl_signal mango_print_status;
879+
881880
static struct wl_listener print_status_listener = {.notify =
882881
handle_print_status};
883882
static struct wl_listener cursor_axis = {.notify = axisnotify};
@@ -4166,8 +4165,7 @@ void pointerfocus(Client *c, struct wlr_surface *surface, double sx, double sy,
41664165

41674166
// 修改printstatus函数,接受掩码参数
41684167
void printstatus(uint32_t event_mask) {
4169-
wl_signal_emit(&print_status_manager->print_status,
4170-
(void *)(uintptr_t)event_mask);
4168+
wl_signal_emit(&mango_print_status, (void *)(uintptr_t)event_mask);
41714169
}
41724170

41734171
void powermgrsetmode(struct wl_listener *listener, void *data) {
@@ -4891,22 +4889,8 @@ void create_output(struct wlr_backend *backend, void *data) {
48914889
#endif
48924890
}
48934891

4894-
// 创建函数
4895-
struct mango_print_status_manager *mango_print_status_manager_create() {
4896-
struct mango_print_status_manager *manager = calloc(1, sizeof(*manager));
4897-
if (!manager)
4898-
return NULL;
4899-
4900-
// 初始化 print_status 信号,不是 event_signal
4901-
wl_signal_init(&manager->print_status);
4902-
4903-
return manager;
4904-
}
4905-
49064892
// 修改信号处理函数,接收掩码参数
49074893
void handle_print_status(struct wl_listener *listener, void *data) {
4908-
struct mango_print_status_manager *manager =
4909-
wl_container_of(listener, manager, print_status);
49104894

49114895
uint32_t event_mask = (uintptr_t)data;
49124896
// 如果传入的是NULL(旧代码)或0,使用默认的所有事件
@@ -5025,8 +5009,8 @@ void setup(void) {
50255009
wlr_ext_data_control_manager_v1_create(dpy, 1);
50265010

50275011
// 在 setup 函数中
5028-
print_status_manager = mango_print_status_manager_create();
5029-
wl_signal_add(&print_status_manager->print_status, &print_status_listener);
5012+
wl_signal_init(&mango_print_status);
5013+
wl_signal_add(&mango_print_status, &print_status_listener);
50305014

50315015
/* Initializes the interface used to implement urgency hints */
50325016
activation = wlr_xdg_activation_v1_create(dpy);

0 commit comments

Comments
 (0)