[gnome/X] Inhoud van invulvak aanroepen als argument op prog

Pagina: 1
Acties:

  • dawuss
  • Registratie: Maart 2001
  • Laatst online: 01-02 20:46

dawuss

gadgeteer

Topicstarter
Beetje lastig om dit goed te omschrijven in de topictitel, maar ik zoek naar een heel simpel programma'tje dat het volgende doet:

- Opent een simpel scherm met 1 invulvakje en een OK + Cancel knop
- Na invullen van het vak, en klikken op de OK knop wordt een vooraf aangegeven programma aangeroepen, met de inhoud van het invulvak als argument.

Het liefst een beetje grafisch dus. Op de console is het redelijk eenvoudig te doen, maar het leek me leuk om hier een grafisch ding voor te hebben.

Ik heb zelf nog geen ervaring met programmeren voor GTK/QT/X en voorlopig gaat dat ook niet gebeuren.

Weet iemand van het bestaan van zoiets dergelijks af?

micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Of als je KDE gebruikt (en de dialog ook met KDE themes etc. wil hebben):

KDialog

Ik geloof overigens dat de commandline opties van KDialog gelijk zijn aan die van dialog (curses programma om hetzelfde te doen). Het lijkt me sterk dat de ontwikkelaars van Zenity daar ook niet op zijn gekomen, dus waarschijnlijk kun je aan het begin van je script nog kiezen tussen Zenity en KDialog, afhankelijk van de DE die de user draait.

"He took a duck in the face at two hundred and fifty knots."


  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 16:47

odysseus

Debian GNU/Linux Sid

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
<class>Form1</class>
<widget class="Dialog">
    <property name="name">
        <cstring>Form1</cstring>
    </property>
    <property name="geometry">
        <rect>
            <x>0</x>
            <y>0</y>
            <width>200</width>
            <height>44</height>
        </rect>
    </property>
    <property name="caption">
        <string>Form1</string>
    </property>
    <widget class="QLayoutWidget">
        <property name="name">
            <cstring>Layout1</cstring>
        </property>
        <property name="geometry">
            <rect>
                <x>10</x>
                <y>10</y>
                <width>181</width>
                <height>23</height>
            </rect>
        </property>
        <hbox>
            <property name="name">
                <cstring>unnamed</cstring>
            </property>
            <property name="margin">
                <number>0</number>
            </property>
            <property name="spacing">
                <number>6</number>
            </property>
            <widget class="LineEdit">
                <property name="name">
                    <cstring>parameter</cstring>
                </property>
                <property name="associations" stdset="0">
                    <stringlist>
                        <string>@widgetText</string>
                    </stringlist>
                </property>
            </widget>
            <widget class="ExecButton">
                <property name="name">
                    <cstring>exec</cstring>
                </property>
                <property name="text">
                    <string>Execute</string>
                </property>
                <property name="associations" stdset="0">
                    <stringlist>
                        <string>xmessage @parameter</string>
                    </stringlist>
                </property>
            </widget>
        </hbox>
    </widget>
</widget>
<layoutdefaults spacing="6" margin="11"/>
</UI>

Wijzig in deze code even "xmessage" naar het programma dat jij wilt hebben en je bent klaar...sla het bestand op als "kieswat.kmdr" en draai het met "kmdr-executor kieswat.kmdr". Op dit moment sluit het venster zichzelf overigens niet, maar daar zou ook wel iets voor te knutselen moeten zijn :).

Dit heb ik dus even snel in elkaar gedraaid met kmdr-editor...je kan er nog veel meer mee, maar eigenlijk hoor ik op dit moment tentamens te leren :P.

[ Voor 5% gewijzigd door odysseus op 26-11-2003 20:02 ]

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • dawuss
  • Registratie: Maart 2001
  • Laatst online: 01-02 20:46

dawuss

gadgeteer

Topicstarter
wow, bedankt voor alle snelle reacties!
Ben uiteindelijk voor de Zenity oplossing gegaan. Vooral leuk die file-selection.

met 2 regeltjes was ik klaar!

code:
1
2
3
#!/bin/sh
movie=`zenity --file-selection`
/usr/local/bin/playOnTV $movie

:D

Afbeeldingslocatie: http://www.theforumisdown.com/uploadfiles/0103/screenshot-file-selection.jpg

micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©


  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 16:47

odysseus

Debian GNU/Linux Sid

Niet meer nodig misschien, maar in die Kommander-file kan je ook heel eenvoudig een fileselector in plaats van een tekstveld plaatsen - wist niet dat je een bestand nodig had als parameter :).

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • dawuss
  • Registratie: Maart 2001
  • Laatst online: 01-02 20:46

dawuss

gadgeteer

Topicstarter
odysseus schreef op 26 november 2003 @ 22:01:
Niet meer nodig misschien, maar in die Kommander-file kan je ook heel eenvoudig een fileselector in plaats van een tekstveld plaatsen - wist niet dat je een bestand nodig had als parameter :).
eerlijk gezegd kon ik dat kmdr progje zo vlug niet vinden, en zenity wel :P
dit was ook meer een quick-fix. Dat "kmdr" lijkt me wel veel uitgebreider qua configuratie.

micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©


  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 16:47

odysseus

Debian GNU/Linux Sid

Kmdr-* is onderdeel van Kommander, wat weer geschreven is door de mensen van Quanta (quanta.sf.net). In feite gebruiken ze een stripped-down QT-Designer als interface-bouwer, met wat extra dialogs om te zorgen dat je makkelijk de uitvoer van het ene element in het andere element kunt stoppen. Best een mooie techniek, maar nog erg onbekend :).

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.

Pagina: 1