|
|
|
|
@ -283,6 +283,15 @@ void on_port_chosen_changed(GtkWidget *, monitor_edit_window *window){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int yon_string_compare(char **a, char **b){
|
|
|
|
|
gchar *key_a = g_utf8_collate_key(*a, -1);
|
|
|
|
|
gchar *key_b = g_utf8_collate_key(*b, -1);
|
|
|
|
|
gint result = strcmp(key_a, key_b);
|
|
|
|
|
g_free(key_a);
|
|
|
|
|
g_free(key_b);
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_monitor_configure(GtkWidget *,monitor_data *window){
|
|
|
|
|
if(window){
|
|
|
|
|
@ -349,6 +358,9 @@ void on_monitor_configure(GtkWidget *,monitor_data *window){
|
|
|
|
|
}
|
|
|
|
|
guint ports_size;
|
|
|
|
|
config_str ports = (config_str)g_hash_table_get_keys_as_array(main_config.ports_table,&ports_size);
|
|
|
|
|
// for (guint i=0;i<ports_size;i++){
|
|
|
|
|
qsort(ports,ports_size,sizeof(*ports),(int(*)(const void*,const void*))yon_string_compare);
|
|
|
|
|
// }
|
|
|
|
|
for (guint i=0;i<ports_size;i++){
|
|
|
|
|
int found = yon_char_parsed_check_exist(config_ports,config_size,ports[i]);
|
|
|
|
|
if (found==-1||(!yon_char_is_empty(target)&&!strcmp(target,ports[i]))||yon_config_get_status(XORG_MONITOR(ports[i]))==-1){
|
|
|
|
|
|