Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Bash + Zenity + Kevin = Kevin applauncher  (gelezen 7484 keer)

Offline Kev

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Gepost op: 2008/06/29, 19:15:56 »
Hehe ik heb mezelve een beetje bezig gehouden met wat scripting in Bash en met dialoogschermpjes in Zenity.
Het resultaat is een scriptje dat met enkele klikken mijn apps opent, dus ik krijg een lijstvenster met selectievakjes waarmee ik elke applicatie open die ik vaak gebruik.
De code is niet om over naar huis te schrijven, maar het is nog werk in progress.
Zie hier de code:
#!/bin/sh

APP=`zenity --list \
--width=350 --height=300 \
--title="Kevin applauncher" \
--checklist \
--column="activeer hier" --column="applicatienaam" --column="categorie" \
firefox firefox browser \
epiphany epiphany browser \
thunderbird thunderbird mailclient \
winefile winefile wineapp \
gnome-sudoku gnome-sudoku game \
quodlibet quodlibet muziekspeler`
$APP
Met enkele tweaks zou je het kunnen gebruiken om een soort container te bouwen voor bijvoorbeeld al de scriptjes die je ontwikkelt hebt, aangezien dat deze wel dan in de path moeten staan.
Daarom dacht ik er over na om eerst een scherm te laten starten dat tijdelijk een export van je PATH variabele regelt.
BTW de applicaties die gestart worden zijn maar als testapplicaties ingegeven.
All Hail Lelouch, The 99th Emperor of Britannia
All Hail Lelouch! All Hail Lelouch!
Iedereen heeft het recht op mijn waarheid, zo wees geprezen.

pjvolders

  • Gast
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #1 Gepost op: 2008/06/30, 09:07:36 »
Handig!
Maar als ik meerdere apps tegelijk wil openen lukt het nog niet..

groetjes
PJ

Bash + Zenity + Kevin = Kevin applauncher
« Reactie #2 Gepost op: 2008/06/30, 15:06:27 »
Kleine verbetering:
#!/bin/sh
APPS=`zenity --list \
--width=350 --height=300 \
--title="Kevin applauncher" \
--checklist \
--column="activeer hier" --column="applicatienaam" --column="categorie" \
firefox firefox browser \
epiphany epiphany browser \
thunderbird thunderbird mailclient \
winefile winefile wineapp \
gnome-sudoku gnome-sudoku game \
quodlibet quodlibet muziekspeler`

IFS="|"

for APP in $APPS; do
  ${APP}
done
Nu kan je wel meer apps tegelijk openen.

Offline eendje

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #3 Gepost op: 2008/06/30, 20:42:44 »
Ben je een soort GNOME-Do aan het namaken?

https://wiki.ubuntu.com/GnomeDo
http://do.davebsd.com/
Een dag niets geleerd is een dag niet geleefd!
Ik blog dus ik besta!
__________________________________________________________
Een vraag? Heb je al eens gekeken op: http://wiki.ubuntu-nl.org/FAQ?

Offline Kev

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #4 Gepost op: 2008/06/30, 21:41:33 »
Neen eigenlijk had ik teveel tijd aan mijn handen en wou ik wel eens wat proberen ineen te knutselen.
Bedankt vlerk voor de nodige aanpassingen.
Het is wel de bedoeling aangezien de applicaties hardcoded zijn dat ze wel op je systeem draaien, als je weet hoe je applicatie aangeroepen word door ze op te zoeken in PATH dan kun je deze toevoegen of eventueel aanpassen naar jouw noden.
All Hail Lelouch, The 99th Emperor of Britannia
All Hail Lelouch! All Hail Lelouch!
Iedereen heeft het recht op mijn waarheid, zo wees geprezen.

Offline Kev

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #5 Gepost op: 2008/07/11, 14:03:18 »
Heeft er iemand een suggestie misschien, ik heb de aanpassingen die gesuggereerd zijn doorgevoerd maar de apps starten niet perfect synchroon met elkaar op. Er start eerst 1 app op en als ik die afsluit dan pas start het volgende op.
Iemand hier een oplossing voor, het is omdat ik moet experimenteren met bash-scripting op linux en ook met batch-scripting op Windows voor mijn stageplaats.
All Hail Lelouch, The 99th Emperor of Britannia
All Hail Lelouch! All Hail Lelouch!
Iedereen heeft het recht op mijn waarheid, zo wees geprezen.

Offline tabasco

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #6 Gepost op: 2008/07/11, 14:22:07 »
Als ik je script test krijg ik de volgende output in de terminal:
preloader: Warning: failed to reserve range 00000000-60000000
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
Overigens starten er wel 2 applicaties tegelijk

Offline Kev

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #7 Gepost op: 2008/07/11, 14:25:44 »
Je moet er wel rekening mee houden dat de applicaties beschikbaar moeten zijn.
Ik zal nog eens een controle uitvoeren om te zien waar het nu mis gaat.
Maar bij mij start die zonder conflicten op.
Geen foutmeldingen, maar de applicaties die niet mooi opstarten zijn firefox en thunderbird, de rest start wel gelijk op.
All Hail Lelouch, The 99th Emperor of Britannia
All Hail Lelouch! All Hail Lelouch!
Iedereen heeft het recht op mijn waarheid, zo wees geprezen.

Offline eendje

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #8 Gepost op: 2008/07/11, 14:34:29 »
Klinkt als een Wine probleem en niet een fout in het script van Hev. Zie ook: http://wiki.winehq.org/PreloaderPageZeroProblem
Een dag niets geleerd is een dag niet geleefd!
Ik blog dus ik besta!
__________________________________________________________
Een vraag? Heb je al eens gekeken op: http://wiki.ubuntu-nl.org/FAQ?

Offline Kev

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #9 Gepost op: 2008/07/11, 14:36:17 »
Citaat van: eendje
Klinkt als een Wine probleem en niet een fout in het script van Hev. Zie ook: http://wiki.winehq.org/PreloaderPageZeroProblem
Kan zijn want er zit een wine applicatie tussen, die ik vaak gebruik om in wine draaiende applicaties op te starten.
All Hail Lelouch, The 99th Emperor of Britannia
All Hail Lelouch! All Hail Lelouch!
Iedereen heeft het recht op mijn waarheid, zo wees geprezen.

Offline tabasco

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #10 Gepost op: 2008/07/11, 14:37:26 »
Ik startte firefox en winfile op en deze starten beide goed op (+ de terminal berichten)
De overige programma's heb ik niet aangevinkt.

Offline Kev

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #11 Gepost op: 2008/07/11, 14:38:30 »
Citaat van: tabasco
Ik startte firefox en winfile op en deze starten beide goed op (+ de terminal berichten)
De overige programma's heb ik niet aangevinkt.
Dan komen de fouten van winefile. Dit zijn typische wine debug messages.
All Hail Lelouch, The 99th Emperor of Britannia
All Hail Lelouch! All Hail Lelouch!
Iedereen heeft het recht op mijn waarheid, zo wees geprezen.

Offline tabasco

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #12 Gepost op: 2008/07/11, 14:41:25 »
Klopt, de link van eendje verwijst hiernaar...

Offline Kev

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #13 Gepost op: 2008/07/11, 14:43:01 »
Citaat van: tabasco
Klopt, de link van eendje verwijst hiernaar...
Maar de apps starten gelijk op als je er 2 selecteerd het probleem is met drie, dan doet hij het niet, raar.
Ik zal er zelf nog eens naar zoeken, heb juist van school een bash-reference meegekregen, ze hebben hem juist komen binnensmijten.
All Hail Lelouch, The 99th Emperor of Britannia
All Hail Lelouch! All Hail Lelouch!
Iedereen heeft het recht op mijn waarheid, zo wees geprezen.

Bash + Zenity + Kevin = Kevin applauncher
« Reactie #14 Gepost op: 2008/07/11, 15:01:58 »
Probeer eens:
#!/bin/sh
APPS=`zenity --list \
--width=350 --height=300 \
--title="Kevin applauncher" \
--checklist \
--column="activeer hier" --column="applicatienaam" --column="categorie" \
firefox firefox browser \
epiphany epiphany browser \
thunderbird thunderbird mailclient \
winefile winefile wineapp \
gnome-sudoku gnome-sudoku game \
quodlibet quodlibet muziekspeler`

IFS="|"

for APP in $APPS; do
  ${APP} &
done
- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline Kev

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #15 Gepost op: 2008/07/11, 16:30:00 »
Citaat van: SeySayux
Probeer eens:
#!/bin/sh
APPS=`zenity --list \
--width=350 --height=300 \
--title="Kevin applauncher" \
--checklist \
--column="activeer hier" --column="applicatienaam" --column="categorie" \
firefox firefox browser \
epiphany epiphany browser \
thunderbird thunderbird mailclient \
winefile winefile wineapp \
gnome-sudoku gnome-sudoku game \
quodlibet quodlibet muziekspeler`

IFS="|"

for APP in $APPS; do
  ${APP} &
done
- SeySayux
Het werkt de ampersand deed het.
All Hail Lelouch, The 99th Emperor of Britannia
All Hail Lelouch! All Hail Lelouch!
Iedereen heeft het recht op mijn waarheid, zo wees geprezen.

Offline tabasco

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #16 Gepost op: 2008/07/11, 17:01:59 »
Vreemd, ik kijk met je mee, en probeer het ook uit. Maar hier gebeurt er niets meer als ik de ampersand toevoeg. Wel heb ik opgemerkt dat als je verschillende toepassingen kiest, er soms meer en soms minder openen. Laat bijvoorbeeld gnome-sudoku weg en er openen meer.

Offline Kev

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #17 Gepost op: 2008/07/11, 17:59:23 »
Citaat van: tabasco
Vreemd, ik kijk met je mee, en probeer het ook uit. Maar hier gebeurt er niets meer als ik de ampersand toevoeg. Wel heb ik opgemerkt dat als je verschillende toepassingen kiest, er soms meer en soms minder openen. Laat bijvoorbeeld gnome-sudoku weg en er openen meer.
Raar met die weiziging kan ik dus letterlijk alle apps in het scherm tegelijk open zetten.
Op zich heeft het feit dat die - er staat eigenlijk niks te maken met de uitvoering ervan.
Heb je de volledige code gekopieerd zoals beschreven en bezit je de apps die er gebruikt worden?
All Hail Lelouch, The 99th Emperor of Britannia
All Hail Lelouch! All Hail Lelouch!
Iedereen heeft het recht op mijn waarheid, zo wees geprezen.

pjvolders

  • Gast
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #18 Gepost op: 2008/08/23, 09:15:43 »
Ik heb je script een beetje bewerkt, nu kan ik ook opties meegeven aan het command zoals bv evolution --component=calendar .
Het werkt nog niet helemaal, als je opties met haakjes zoals bv zenity --info --text "bla bla bla" wil toevoegen werkt het niet...

#!/bin/sh
APPS=$(zenity --list \
--width=350 --height=300 \
--title="Kevin applauncher" \
--checklist \
--column="activeer hier" --column="commandline" --column="applicatienaam" \
--hide-column=2 \
TRUE firefox firefox \
TRUE "evolution --component=calendar" evolution \
FALSE skype skype  \
TRUE pidgin pidgin \
FALSE "gksu displayconfig-gtk" displayconfig-gtk \
FALSE elisa elisa \
--separator='|')


IFS='|'
for APP in $APPS; do
IFS=' '
$APP &
done
groetjes
PJ

Offline Kev

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #19 Gepost op: 2008/08/23, 20:07:34 »
Nice dit waren nog aanpassingen die ik zelf ook nog heb willen uitvoeren aan mijn script, maar had er niet echt de tijd niet meer voor.
All Hail Lelouch, The 99th Emperor of Britannia
All Hail Lelouch! All Hail Lelouch!
Iedereen heeft het recht op mijn waarheid, zo wees geprezen.

pjvolders

  • Gast
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #20 Gepost op: 2008/08/23, 22:51:35 »
Jij bent bedankt om er me te beginnen, ik gebruik het hier vaak (start automatisch op als ik inlog). Stiekem heb ik het wel hernoemd naar PJ's applauncher ;-)

Offline Kev

  • Lid
Bash + Zenity + Kevin = Kevin applauncher
« Reactie #21 Gepost op: 2008/08/24, 16:02:40 »
Hehe ge moogt dat he, amaai mijn script heeft een mooie aanzet gegeven voor iets sjieks.
All Hail Lelouch, The 99th Emperor of Britannia
All Hail Lelouch! All Hail Lelouch!
Iedereen heeft het recht op mijn waarheid, zo wees geprezen.

Bash + Zenity + Kevin = Kevin applauncher
« Reactie #22 Gepost op: 2008/09/20, 03:31:07 »
Ik ben aan het serieuze werk met scripting bezig, en met plezier (natuurlijk)...
Kom ik afgelopen woensdag een behoorlijke probleem tegen. Jullie kennen misschien nis (Nautilus image script) wel.
Daarvoor ging het perfect om even zo'n paar honderd foto's te veranderen in een andere grootte.

Als ik nu nis opstart krig ik de volgende melding:
(zenity:15818): Gtk-CRITICAL **: gtk_file_chooser_default_set_current_name: assertion `impl->action == GTK_FILE_CHOOSER_ACTION_SAVE || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER' failed

Ik kan gewoon met nis wel een aantal bestanden aangeven, vervolgens kan ik ook nog een formaat aanklikken, daarna wordt een window  geopend waar het nieuwe bestand erin zou moeten staan, maar niets erin staat .

De foutmelding verschijnt op het moment als zenity wordt aangeroepen.

De source (een klein gedeelte):
==============================================================
#!/bin/bash

export TEXTDOMAIN="nis"
export TEXTDOMAINDIR=`dirname $0`"/.locale/"

MAXCPT=50000;

nb_images=0;
selection="";

txt_error="`gettext 'error'`"
#test if a file has been selected
if [ $# -eq 0 ]; then
   # zenity --error --title=$txt_error --text="`gettext 'You must select at least 1 file to process'`"
   here=`pwd`"/."
   files=`zenity --file-selection --multiple --separator="|" --filename="$here"`"|"
   #if $? != 0, user click on cancel button, so exit
   if [ "$?" != 0 ] ; then
      exit
   fi
   cpt=0
   # I put all filename in $selection here because I didn't managed to put filenames with whitespace in $*
   while [ ${#files} -gt 0 ]; do
      f="`echo $filesÂ
Soms ben je toe ....
aan Ubuntu