Hallo. Nachdem Ralf mir die Antwort von Jan weitergeleitet hat, habe ich mich vorübergehend auf eurer Liste angemeldet.
Das Projekt, um das es geht, ist die nächste Version des PrivacyDongle des FoeBuD (http://www.foebud.org/privacydongle). Der Dongle soll auf Windows, Mac OS X und Linux laufen. Das habe ich auch erreicht. Zu meinem Hintergrund: Ich entwickele schon lange Software und habe nach Anfängen in der Schule mit C unter Unix viele Erfahrungen gesammelt, aber nie GUIs programmiert. Seit mehreren Jahren arbeite ich meistens in Java und mit Web-Programmierung, also wieder ohne "von Grund auf" entwickelte GUIs. Das fragliche Programm ist nur das Startprogramm, gestartet wird ein Firefox mit einem bestimmten Profil, das u.a. Tor enthält. Das Startprogramm soll in der Lage sein, den Firefox und das Tor-Binary zu aktualisieren. Dafür sind die Dialogboxen da. Ich brauche nur zwei ganz grundlegende, das Äquivalent zu alert und confirm in JavaScript - also eine mit Text und OK-Knopf und eine mit zusätzlich einem Cancel-Knopf und der Rückmeldung, welcher Knopf gedrückt wurde. Und das Ganze richtet sich an "unbedarfte" User und soll deshalb Dialoge benutzen, d.h. die xterm-Lösung wäre sehr unschön (obwohl ich auch schon selbst daran gedacht hatte). Deshalb trifft die folgende Bemerkung ... > Nein, im Ernst: > Entweder das Projekt macht Bunt&Grafik, dann nimm das Toolkit welches das > Projekt benutzt, oder lass es. Punkt. ... nicht ganz auf meine Situation zu, würde ich sagen. Ich habe per se kein Toolkit. > Aber da das ja nicht hip ist: > http://www.math.msu.su/~vvb/2course/Borisenko/CppProjects/GWindow/xintro.html Würde das mir zu einigermaßen "hübschen" Boxen verhelfen? Ich stelle mir vor, daß das Programm auf einem Linux läuft, auf dem auch ein graphischer Web-Browser eingesetzt wird. Aber ich weiß natürlich nicht, was für eine Fensteroberfläche auf dem System installiert ist. > Irgendwas auf den Bildschirm kleistern sollte in 200 Zeilen abgefruehstuckt > sein. > > Oder du must mal genauer beschreiben, was dieses Projekt machen soll. Es geht wirklich nur um diese beiden Typen von Dialogen. Zu realisieren als C++-Funktionen void alert(char*) und int confirm(char*). > Ja, er wollte eine Dialogbox. Was erwartest er denn? Windows und OSX > schummeln, da ist das ja auch schon alles gestartet. Laßt uns bitte nicht in eine OS-Diskussion und eine Verteidigungshaltung in Bezug auf die Komplexität der Situation gehen. Ich bin mit Windows und Linux grundsätzlich recht gut vertraut. Es geht nur um die Schwierigkeiten eines Programmierers, diese Dialogboxen herzustellen, ohne Wertung. Ich habe mir für Windows mingw32 installiert und ein bißchen Code aus dem Netz genommen und war sehr zufrieden, daß ich damit recht "normal" aussehende Boxen mit sehr wenig Aufwand bekam. Mir ist durchaus klar, daß unter Windows soviel einfacher ist. Aber ich kann den Overhead von mehreren gestarteten KDE-Prozessen oder beispielsweise einer zu startenden kompletten Java-VM nicht für dieses kleine Startprogramm vertreten. Aus Sicht eines Programmierers ist es wesentlich günstiger, daß das OS auch das Bauen von Dialogen und Fenstern mitdefiniert, das seht ihr hoffentlich auch. Ich kenne aber auch die Geschichte von Unix und Linux - als ich unter Unix anfing, gab es noch kein X - und verstehe, warum die GUI unter Linux nicht zum eigentlichen OS gehört. Wie gesagt, lassen wir bitte die Wertung raus und konzentrieren uns auf Problemlösungen. > Kein statisch gelinktes Binary. Vieleicht ein eigenes, das sich mit dem > X-Server > verbindet fuer ein bischen Fenster anzeigen, aber kein statisch gelinktes. Das ist für mich immer noch der zentrale Teil dieser Diskussion. Deshalb bitte ich hier um Gründe. Andre Landwehr schreibt "klassischer Fall von nicht verstanden" und hat natürlich recht, denn das ist für mich Neuland. Aber ich habe gesehen, daß Qt4 von vielen Cross-OS-Projekten als Grundlage genommen wird und bei einer kurzen Recherche gelesen, daß man damit auch statische Binaries herstellen kann. Auf dieser Grundlage erscheint mir dieser Lösungsansatz zur Zeit als der interessanteste. > Unter Unix kannst du nur von der libc&POSIX ausgehen. Alles andere ist > Optional, > ergo muss man dem Benutzer komunizieren, was da sein muss, oder eben die > Packetverwaltung benutzen. Darum will man die ja haben/benutzen. Wie gesagt, es geht hier um ein kleines "Anhängsel" (ein vorgeschaltetes) für einen Start von Firefox, dafür kann ich dem Nutzer auf keinen Fall abverlangen, daß er Dependencies überprüft und seine Paketverwaltung anwirft. Eine Frage zum Verständnis: wie schafft es eigentlich Firefox, daß es als .tar.bz2 heruntergeladen, ausgepackt und gestartet werden kann? Ich weiß, daß die Distributoren ihre eigenen Versionen anbieten, die man über die Paketverwaltung installiert, aber die auf der Firefox-Seite angebotenen Versionen funktionieren wahrscheinlich auch auf sehr vielen Linux-Installationen? Ich bin auch nur an solchen Installationen interessiert, weil ich eben so einen heruntergeladenen Firefox verwende. Danke schonmal Sebastian -- Linux mailing list [email protected] subscribe/unsubscribe: http://lug-owl.de/mailman/listinfo/linux Hinweise zur Nutzung: http://www.lug-owl.de/Mailingliste/hints.epo
