Сайт | Скачать | Видео | Wiki

Автор Тема: Скрипт диалога с пользователем  (Прочитано 12981 раз)

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

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2220
  • Репутация: +25/-0
Re: Скрипт диалога с пользователем
« Ответ #45 : 03 Июнь 2019, 18:14:02 »
live@prar-1811:~/notify-gtk2/usr/bin$ mc

live@prar-1811:~/notify-gtk2/usr/bin$ ./notify-gtk2
Ошибка сегментирования
Для продолжения нажмите любую клавишу...

(запускал из MC )
------------------
правда почему - prar-1811 - незнаю - вроде 6408 ( пробовал на скору руку - еще посмотрю...)
=========
upd
Код
  live@prar-1811:/usr/bin$ mc

live@prar-1811:/usr/bin$ ./notify-send
No summary specified.
Для продолжения нажмите любую клавишу...

live@prar-1811:/usr/bin$ ./notify-gtk2
Ошибка сегментирования
Для продолжения нажмите любую клавишу...
« Последнее редактирование: 03 Июнь 2019, 18:19:57 от knn »
Samsung RV510: intel pent.T4500; чипсет intel Gl40; ATI mob. Radeon HD 5145, RAM=3Gb; hd1 - Grub2; hd2 - Gr4D.
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8502
  • Репутация: +185/-2
  • Автор темы
  • Старый чайник
Re: Скрипт диалога с пользователем
« Ответ #46 : 03 Июнь 2019, 18:35:41 »
Код
live@prar-1811:/usr/bin$ ./notify-gtk2
Ошибка сегментирования
Да, эту защиту забыл сделать, но notify-gtk2 --help можно было посмотреть? Почему из mc, а не из консоли?
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2220
  • Репутация: +25/-0
Re: Скрипт диалога с пользователем
« Ответ #47 : 03 Июнь 2019, 18:38:53 »
--help можно было посмотреть? Почему из mc, а не из консоли?
- добрался до компьютера :) ; увидел-скачал-подключил ; попробовал на скору руку.
  Пока по этой Теме вообще "неподкован" -  буду ознакамливаться по-возможности
Samsung RV510: intel pent.T4500; чипсет intel Gl40; ATI mob. Radeon HD 5145, RAM=3Gb; hd1 - Grub2; hd2 - Gr4D.
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8502
  • Репутация: +185/-2
  • Автор темы
  • Старый чайник
Re: Скрипт диалога с пользователем
« Ответ #48 : 05 Июнь 2019, 11:48:39 »
 Добавил ключ -p|--pix для добавления иконки из /usr/share/pixmaps/ по имени. Получилось до безобразия криво. Иконку показывает в натуральный размер.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1546
  • Репутация: +24/-1
Re: Скрипт диалога с пользователем
« Ответ #49 : 05 Июнь 2019, 12:43:52 »
Иконку показывает в натуральный размер.
смаштабировать? под размер окошка
код можно глянуть? крытиковать не буду  :)
« Последнее редактирование: 05 Июнь 2019, 12:45:32 от k0l0p0k »
1.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)
2.core2duo,4Gb,Radeon HD7850 (DDR01, ubuntu+openBox+LXPanel)

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8502
  • Репутация: +185/-2
  • Автор темы
  • Старый чайник
Re: Скрипт диалога с пользователем
« Ответ #50 : 05 Июнь 2019, 13:03:21 »
смаштабировать? под размер окошка
Не получается. GtkWidget *image масштабируется, но если иконка больше, показывает только часть.
код можно глянуть? крытиковать не буду
Можно. Критики не боюсь.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1546
  • Репутация: +24/-1
Re: Скрипт диалога с пользователем
« Ответ #51 : 05 Июнь 2019, 13:15:13 »
if (argc == 1) exit(1);

if (argc == 1) { usage(); exit(1); }

?
1.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)
2.core2duo,4Gb,Radeon HD7850 (DDR01, ubuntu+openBox+LXPanel)

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8502
  • Репутация: +185/-2
  • Автор темы
  • Старый чайник
Re: Скрипт диалога с пользователем
« Ответ #52 : 05 Июнь 2019, 13:29:18 »
if (argc == 1) { usage(); exit(1); }
?
"Птичка не вылетает", в смысле, не показывает usage.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1546
  • Репутация: +24/-1
Re: Скрипт диалога с пользователем
« Ответ #53 : 05 Июнь 2019, 14:15:09 »
int opt, t=3000, yesno;// дефолтное время показа - 3 сек

появится возможность n не указывать, ну и указывать можно конечно ..
можно эти 3000 куда-нибудь в константу,
или инициализировать t из конфиг-файла, если ключа n нет
"Птичка не вылетает", в смысле, не показывает usage.
не понял
у меня "вылетает"
« Последнее редактирование: 05 Июнь 2019, 14:22:59 от k0l0p0k »
1.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)
2.core2duo,4Gb,Radeon HD7850 (DDR01, ubuntu+openBox+LXPanel)

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8502
  • Репутация: +185/-2
  • Автор темы
  • Старый чайник
Re: Скрипт диалога с пользователем
« Ответ #54 : 05 Июнь 2019, 16:54:29 »
int opt, t=3000, yesno;// дефолтное время показа - 3 сек
Было, потом убрал, когда экспериментировал с yesno. Думаю, можно убрать yesno, совпадает с t == 0;
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8502
  • Репутация: +185/-2
  • Автор темы
  • Старый чайник
Re: Скрипт диалога с пользователем
« Ответ #55 : 05 Июнь 2019, 17:03:30 »
Код
if (argc == 1) { usage(); exit(1); }
Переместил ниже, иначе ошибается при одном аргументе - пустом ключе:
Код
	argc -= optind;
argv += optind;
optind = 0;

if (argc == 0) { usage(); exit(1); }
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8502
  • Репутация: +185/-2
  • Автор темы
  • Старый чайник
Re: Скрипт диалога с пользователем
« Ответ #56 : 08 Июнь 2019, 08:58:07 »
Выложил на Github.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8502
  • Репутация: +185/-2
  • Автор темы
  • Старый чайник
Re: Скрипт диалога с пользователем
« Ответ #57 : 09 Июнь 2019, 12:24:12 »
 Запуск с ключом -p ( --pix - иконка из /usr/share/pixmaps/ по выбору). Недостаток: не получается resize выбранной иконки.
Ключ -s | --start "не вытанцовывается" :(
« Последнее редактирование: 09 Июнь 2019, 12:26:35 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8502
  • Репутация: +185/-2
  • Автор темы
  • Старый чайник
Re: Скрипт диалога с пользователем
« Ответ #58 : 12 Июнь 2019, 17:46:55 »
Ключ -s | --start "не вытанцовывается"
Получается только отдельной программой
Код
	switch(pid=fork()) {
case -1:
exit(1); // Если ошибка
case 0:
system (run); // Запускаем отслеживаемую программу
kill(getppid(),15); // Убиваем окно
raise(15);
default:
gtk_init(&argc, &argv); // Запускаем окно
/*Здесь идёт описание окна */
gtk_main();
}
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8502
  • Репутация: +185/-2
  • Автор темы
  • Старый чайник
Re: Скрипт диалога с пользователем
« Ответ #59 : 13 Июнь 2019, 08:30:04 »
Получается только отдельной программой
Встроил код в notify-gtk2. Sfs, теперь критикуй (функционал, дока) ;)
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64