Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как завершить программу через несколько секунд? (GTK2)  (Прочитано 1126 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн rvkdw

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
#!/usr/bin/env ruby
require 'gtk2'

icon = Gtk::StatusIcon.new
icon.icon_name = '123'
icon.tooltip = '123'
icon.signal_connect('popup-menu') {
  Gtk.main_quit
}

Gtk.main

Как сделать, чтобы программа завершилась через 5 секунд после открытия, а не при нажатии на значке правой кнопкой мыши?

Я пытался вызывать Gtk.main_quit после Gtk.main, а также эмитировать сигнал "popup-menu", но у меня ничего не получилось. Хочу сделать программу, которая на несколько секунд показывает уведомление в системном трее и потом закрывается.

Оффлайн Alie Alexandross

  • Старожил
  • *
  • Сообщений: 1576
    • Просмотр профиля
Если програма будет числится в списке  вывода top, то можно просто написать скрипт, который будет запускать приложение и через n секунд его килять по pid.
Подпись автора jillsmitt истинна...

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Я с руби и гтк дел никогда не имел, но ради общеобразовательных целей, немного погуглив, пришел к такому коду:
#!/usr/bin/env ruby
require 'gtk2'

icon = Gtk::StatusIcon.new
icon.icon_name = '123'
icon.tooltip = '123'
icon.signal_connect('popup-menu') {
  Gtk.main_quit
}
Thread.new { Gtk.main() }
sleep 5
А в общем вот тема для размышлений.

 

Страница сгенерирована за 0.016 секунд. Запросов: 22.