从最小化到任务栏向用户可靠地显示GTK窗口

时间:2019-03-05 18:10:41

标签: linux debian gtk vala kde-plasma

我正在尝试修改此应用/源文件:

https://github.com/mank319/Go-For-It/blob/master/src/view/MainWindow.vala

此应用程序的工作是在计时器到期时显示GTK通知。我想做的是从最小化的当前窗口弹出给用户。

我已经对其进行了修改:

        try {
            this.deiconify();
            this.present();
            notification.show ();
        } catch (GLib.Error err){
            GLib.stderr.printf(
                "Error in notify! (break_active notification)\n");
        }
    }
    break_previously_active = break_active;
}

private void display_almost_over_notification (DateTime remaining_time) {
    int64 secs = remaining_time.to_unix ();
    Notify.Notification notification = new Notify.Notification (
        _("Prepare for your break"),
        _("You have %s seconds left").printf (secs.to_string ()), GOFI.EXEC_NAME);
    try {
        this.deiconify();
        this.present();
        notification.show ();
    } catch (GLib.Error err){
        GLib.stderr.printf(
            "Error in notify! (remaining_time notification)\n");
    }
}

即我已添加

this.deiconify();
this.present();

但是,只有当我不切换到任务栏上的任何其他任务时,这才有效。如果这样做,则不会弹出窗口,就像我在任务栏上单击该窗口一样。

无论主视图中显示了什么其他应用程序窗口,如何弹出它?

GUI:KDE等离子。 操作系统:Debian 9.7。

0 个答案:

没有答案