mate-desktop / marco

MATE default window manager
https://mate-desktop.org
GNU General Public License v2.0
199 stars 87 forks source link

With zenity >= 3.90.0 `xxx is not responding` window no longer shows #755

Open bobby285271 opened 1 year ago

bobby285271 commented 1 year ago

Expected behaviour

Support zenity >= 3.90.0

Actual behaviour

Not supporting zenity >= 3.90.0

Or e.g. when a program freeze the xxx is not responding window no longer shows, but I expect everything that uses zenity are probably affected but I haven't tried all of them.

Steps to reproduce the behaviour

  1. Have zenity >= 3.90.0 in PATH - repology shows openSUSE Tumbleweed and Fedora 38 should have this

  2. Build and run the following program:

    ```c #include static void on_activate (GtkApplication *app) { GtkWidget *window = gtk_application_window_new (app); GtkWidget *button = gtk_button_new_with_label ("Hello, World!"); g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_window_close), window); gtk_window_set_child (GTK_WINDOW (window), button); gtk_window_present (GTK_WINDOW (window)); // Yeah we add an inf loop here while(1); } int main (int argc, char *argv[]) { GtkApplication *app = gtk_application_new ("com.example.GtkApplication", G_APPLICATION_FLAGS_NONE); g_signal_connect (app, "activate", G_CALLBACK (on_activate), NULL); return g_application_run (G_APPLICATION (app), argc, argv); } ```
  3. Keep trying to close the app by constantly clicking the close button in the headerbar, this app should freeze when closing, this is expected

  4. Check journal journalctl -r and see This option is not available. Please see --help for all possible usages.

In zenity 3.44.x there should be a dialog like this but you don't see it with zenity >= 3.90.0:

MATE general version

1.26

Package version

1.26.2 but I guess this is not fixed on master also

Linux Distribution

NixOS unstable

Link to bugreport of your Distribution (requirement)

Hmmm, I package the recent zenity and mate updates in NixOS?


Here are some copy paste from https://github.com/linuxmint/muffin/issues/666:

In util.c we use zenity to show dialogs in command-line:

https://github.com/mate-desktop/marco/blob/2bdba6c22967496614b52bddf8186595f729a651/src/core/util.c#L554

With zenity >= 3.90.0 some of the options used are removed/deprecated, and we probably want to get rid of it.

Examples are:

https://github.com/mate-desktop/marco/blob/2bdba6c22967496614b52bddf8186595f729a651/src/core/util.c#L558

--class no longer working: zenity --info --class "marco-dialog" shows This option is not available. Please see --help for all possible usages.

See also

User of meta_show_dialog: https://github.com/search?q=org%3Amate-desktop%20meta_show_dialog&type=code, e.g. the xxx is not responding window: https://github.com/mate-desktop/marco/blob/2ee900546fd733374c99b4df3b9206655ab70ae0/src/core/delete.c#L109

Edit: ah also meta_show_entry_dialog: https://github.com/search?q=org%3Amate-desktop+meta_show_entry_dialog&type=code