@@ -1001,6 +1001,39 @@ void signal_length_propertieschanged(void)
1001
1001
g_clear_pointer (& invalidated_builder , g_variant_builder_unref );
1002
1002
}
1003
1003
1004
+ void signal_paused_propertieschanged (void )
1005
+ {
1006
+ if (!dbus_conn )
1007
+ return ;
1008
+
1009
+ struct dunst_status status = dunst_status_get ();
1010
+
1011
+ GVariantBuilder * builder = g_variant_builder_new (G_VARIANT_TYPE_VARDICT );
1012
+ GVariantBuilder * invalidated_builder = g_variant_builder_new (G_VARIANT_TYPE_STRING_ARRAY );
1013
+
1014
+ g_variant_builder_add (builder ,
1015
+ "{sv}" ,
1016
+ "paused" , g_variant_new_boolean (status .pause_level != 0 ));
1017
+ g_variant_builder_add (builder ,
1018
+ "{sv}" ,
1019
+ "pauseLevel" , g_variant_new_uint32 (status .pause_level ));
1020
+
1021
+ g_dbus_connection_emit_signal (dbus_conn ,
1022
+ NULL ,
1023
+ FDN_PATH ,
1024
+ PROPERTIES_IFAC ,
1025
+ "PropertiesChanged" ,
1026
+ g_variant_new ("(sa{sv}as)" ,
1027
+ DUNST_IFAC ,
1028
+ builder ,
1029
+ invalidated_builder ),
1030
+ NULL );
1031
+
1032
+ g_clear_pointer (& builder , g_variant_builder_unref );
1033
+ g_clear_pointer (& invalidated_builder , g_variant_builder_unref );
1034
+
1035
+ }
1036
+
1004
1037
static void dbus_cb_Notify (
1005
1038
GDBusConnection * connection ,
1006
1039
const gchar * sender ,
@@ -1207,27 +1240,8 @@ gboolean dbus_cb_dunst_Properties_Set(GDBusConnection *connection,
1207
1240
dunst_status_int (S_PAUSE_LEVEL , targetPauseLevel );
1208
1241
wake_up ();
1209
1242
1210
- GVariantBuilder * builder = g_variant_builder_new (G_VARIANT_TYPE_VARDICT );
1211
- GVariantBuilder * invalidated_builder = g_variant_builder_new (G_VARIANT_TYPE_STRING_ARRAY );
1212
- g_variant_builder_add (builder ,
1213
- "{sv}" ,
1214
- "paused" , g_variant_new_boolean (targetPauseLevel != 0 ));
1215
- g_variant_builder_add (builder ,
1216
- "{sv}" ,
1217
- "pauseLevel" , g_variant_new_uint32 (targetPauseLevel ));
1218
- g_dbus_connection_emit_signal (connection ,
1219
- NULL ,
1220
- object_path ,
1221
- PROPERTIES_IFAC ,
1222
- "PropertiesChanged" ,
1223
- g_variant_new ("(sa{sv}as)" ,
1224
- interface_name ,
1225
- builder ,
1226
- invalidated_builder ),
1227
- NULL );
1228
-
1229
- g_clear_pointer (& builder , g_variant_builder_unref );
1230
- g_clear_pointer (& invalidated_builder , g_variant_builder_unref );
1243
+ signal_paused_propertieschanged ();
1244
+
1231
1245
return true;
1232
1246
}
1233
1247
0 commit comments