0

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

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();

但是,这仅当且仅当我不切换到 taskbar 中的任何其他任务时才有效。如果我这样做,窗口不会弹出来向我显示窗口,就好像我在任务栏上单击它一样。

无论主视图中显示什么其他应用程序窗口,我怎样才能让它弹出?

图形用户界面:KDE 等离子。操作系统:Debian 9.7。

4

0 回答 0