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


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

Автор Тема: zenity --scale  (Прочитано 2012 раз)

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

Оффлайн victor00000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
zenity --scale
« : 23 Января 2014, 02:00:32 »
zenity --scale --min-value=0 --max-value=100
смотри видео
http://youtu.be/ZREcUzf7iKw
---------------------------
патч scale.c
fixed
h11p://paste.ubuntu.com/6799442/

 8)
« Последнее редактирование: 25 Января 2014, 06:32:43 от victor00000 »
Wars ~.o

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7215
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: zenity --scale
« Ответ #1 : 23 Января 2014, 05:34:55 »
victor00000, вроде без проблем работает в Ubuntu 13.10 x86-64 и без патча. Зачем патчил?
Согласно задумке возврат значения происходит только в момент нажатия кнопки ОК.
Видео с оригинальной версией zenity, без патчей.
Что там неправильно работает? То, что значения не постоянно меняются? Так зачем их нужно постоянно передавать? Скрипт обычно одно значение и должен получить - последнее.
« Последнее редактирование: 23 Января 2014, 05:56:59 от peregrine »

Оффлайн victor00000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: zenity --scale
« Ответ #2 : 23 Января 2014, 11:06:09 »
peregrine,
громкость
zenity --scale --min-value=0 --max-value=100 | while read a;do b=`echo "$a" | sed 's/^s //'`;amixer set PCM $b%;echo "|==========| $b |==============|";done----------------------------------
это
--print-partialмыш отпустить кнопка и печать, надо держать печатати.

Пользователь решил продолжить мысль 23 Января 2014, 13:56:46:
я добавлю --force  ;D
L~/c/b/zenity-2.30.0$ src/zenity --help-scale
Использование:
  zenity [ПАРАМЕТР...]

Параметры масштаба
  --scale                                       Отобразить диалог масштаба
  --text=ТЕКСТ                                  Задать текст диалога
  --value=ЗНАЧЕНИЕ                              Задать начальное значение
  --min-value=ЗНАЧЕНИЕ                          Задать минимальное значение
  --max-value=ЗНАЧЕНИЕ                          Задать максимальное значение
  --step=ЗНАЧЕНИЕ                               Задать шаг
  --force                                       Печатать частичные значения факт
  --print-partial                               Печатать частичные значения
  --hide-value                                  Скрыть величину

L~/c/b/zenity-2.30.0$
zenity --scale --min-value=0 --max-value=100 --force
патча надо?  ;D
« Последнее редактирование: 23 Января 2014, 13:56:46 от victor00000 »
Wars ~.o

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7215
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: zenity --scale
« Ответ #3 : 23 Января 2014, 16:21:39 »
victor00000, так хорошо. Надо разработчикам предложить.

Оффлайн victor00000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: zenity --scale
« Ответ #4 : 23 Января 2014, 18:22:52 »
пример
zenity --scale --min-value=0 --max-value=100 --print-partial | zenity --progressчтобы двигатель одинакого.
Wars ~.o

Оффлайн victor00000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: zenity --scale
« Ответ #5 : 25 Января 2014, 06:39:39 »
ну всё.
просто эти
    gtk_range_set_update_policy (GTK_RANGE (scale), GTK_UPDATE_CONTINUOUS);

патча scale.c
--- a/zenity-2.30.0/po/ru.po 2010-03-28 23:55:43.000000000 +0300
+++ b/zenity-2.30.0/po/ru.po 2014-01-23 11:49:41.866729682 +0200
@@ -480,6 +480,10 @@
 msgid "Print partial values"
 msgstr "Печатать частичные значения"
 
+#: ../src/option.c:793
+msgid "Print partial values force"
+msgstr "Печатать частичные значения факт"
+
 #: ../src/option.c:802
 msgid "Hide value"
 msgstr "Скрыть величину"
diff -uxp a/zenity-2.30.0/src/option.c b/zenity-2.30.0/src/option.c
--- a/zenity-2.30.0/src/option.c 2010-03-28 23:55:43.000000000 +0300
+++ b/zenity-2.30.0/src/option.c 2014-01-23 11:42:38.927228389 +0200
@@ -105,6 +105,7 @@
 static gint zenity_scale_max_value;
 static gint zenity_scale_step;
 static gboolean zenity_scale_print_partial;
+static gboolean zenity_scale_print_partial_force;
 static gboolean zenity_scale_hide_value;
 
 /* Miscelaneus Options */
@@ -784,6 +785,18 @@
     N_("Set step size"),
     N_("VALUE")
   },
+// force
+{
+    "force",
+    '\0',
+    0,
+    G_OPTION_ARG_NONE,
+    &zenity_scale_print_partial_force,
+    N_("Print partial values force"),
+    NULL
+  },
+
+// force
   {
     "print-partial",
     '\0',
@@ -1099,7 +1112,8 @@
   zenity_scale_max_value = 100;
   zenity_scale_step = 1;
   zenity_scale_print_partial = FALSE;
-  zenity_scale_hide_value = FALSE;
+  zenity_scale_print_partial_force = FALSE;
+zenity_scale_hide_value = FALSE;
 
   return TRUE;
 }
@@ -1459,6 +1473,7 @@
     results->scale_data->max_value = zenity_scale_max_value;
     results->scale_data->step = zenity_scale_step;
     results->scale_data->print_partial = zenity_scale_print_partial;
+    results->scale_data->force = zenity_scale_print_partial_force;
     results->scale_data->hide_value = zenity_scale_hide_value;
   }
 
diff -uxp a/zenity-2.30.0/src/scale.c b/zenity-2.30.0/src/scale.c
--- a/zenity-2.30.0/src/scale.c 2009-08-08 12:34:41.000000000 +0300
+++ b/zenity-2.30.0/src/scale.c 2014-01-25 04:18:04.567873464 +0200
@@ -85,6 +85,8 @@
   if (scale_data->print_partial)
     g_signal_connect (G_OBJECT (scale), "value-changed",
                       G_CALLBACK (zenity_scale_value_changed), data);
+  if (scale_data->force)
+    gtk_range_set_update_policy (GTK_RANGE (scale), GTK_UPDATE_CONTINUOUS);
   
   if (scale_data->hide_value)
     gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE);
diff -uxp a/zenity-2.30.0/src/zenity.h b/zenity-2.30.0/src/zenity.h
--- a/zenity-2.30.0/src/zenity.h 2010-03-28 23:55:43.000000000 +0300
+++ b/zenity-2.30.0/src/zenity.h 2014-01-23 11:23:39.263228220 +0200
@@ -71,6 +71,8 @@
   gint     max_value;
   gint     step;
   gboolean print_partial;
+// print_partial - force
+  gboolean force;
   gboolean hide_value;
 } ZenityScaleData;
Wars ~.o

Оффлайн Grigory Smirnov

  • Старожил
  • *
  • Сообщений: 1339
  • Дайте мне исходники, и я переверну Землю.
    • Просмотр профиля
    • Дафтер
Re: zenity --scale
« Ответ #6 : 26 Января 2014, 16:56:24 »
Не понял. Вообще ничего. Надеюсь, что кто-нибудь расскажет, что здесь к чему.

Оффлайн victor00000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: zenity --scale
« Ответ #7 : 26 Января 2014, 18:08:19 »
Grigory Smirnov,
пример
zenity --scale --min-value=0 --max-value=100 --print-partial | zenity --progressчтобы двигатель одинакого.
у тебя не работает.
только посто python
#!/usr/bin/env python

import gtk

class Scale:
    def __init__(self):
        window = gtk.Window()
        window.set_default_size(200, -1)
       
        adjustment = gtk.Adjustment(0, 0, 100, 5, 10, 0)
        self.scale = gtk.HScale(adjustment)
        self.scale.set_digits(0)
        self.scale.set_update_policy(gtk.UPDATE_CONTINUOUS)
       
        window.connect("destroy", lambda w: gtk.main_quit())
        self.scale.connect("value-changed", self.scale_moved)
       
        window.add(self.scale)
        window.show_all()

    def scale_moved(self, event):
        print self.scale.get_value()

Scale()
gtk.main()
Wars ~.o

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7215
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: zenity --scale
« Ответ #8 : 26 Января 2014, 18:40:22 »
victor00000, а у меня без патча работает (13.10).

Оффлайн victor00000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: zenity --scale
« Ответ #9 : 26 Января 2014, 21:17:02 »
peregrine,
zenity --scale --min-value=0 --max-value=100 --print-partial | zenity --progressровно идёт?
Wars ~.o

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7215
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: zenity --scale
« Ответ #10 : 26 Января 2014, 22:00:54 »
victor00000, почти ровно, хотя не совсем.
А после патча ровно?

Оффлайн victor00000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: zenity --scale
« Ответ #11 : 26 Января 2014, 22:29:50 »
    gtk_range_set_update_policy (GTK_RANGE (scale), GTK_UPDATE_CONTINUOUS);
для gtk-3.0 не реботает. http://www.linuxquestions.org/questions/programming-9/deprecated-gtk_range_set_update_policy-replacement-941641/


Пользователь решил продолжить мысль 26 Января 2014, 23:14:30:
peregrine,
извините, да работает 13.10 )))
уменя 10.04 гтк2, а второй компа 12.04 гтк-3 без проблема.))
« Последнее редактирование: 26 Января 2014, 23:14:30 от victor00000 »
Wars ~.o

Оффлайн viktand

  • Участник
  • *
  • Сообщений: 190
    • Просмотр профиля
Re: zenity --scale
« Ответ #12 : 27 Января 2014, 06:45:38 »
Не понял. Вообще ничего. Надеюсь, что кто-нибудь расскажет, что здесь к чему.

Тоже ничего не понимаю.

Оффлайн victor00000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: zenity --scale
« Ответ #13 : 27 Января 2014, 12:37:40 »
viktand,
пора
Wars ~.o

 

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