userthemes eingecheckt

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

userthemes eingecheckt

Beitrag von mb405 »

die liegen doch im root die dateien ??
wie soll man da noch eigene hinzufügen ?
ich hab gesehen, das ein var pfad drin ist, der aber auskommentiert ist ?
ich finde das geil so wies eingecheckt ist. endlich ist man nicht mehr auf vorgefertigte themes angewiesen :) klasse
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

So wie ich das sehe liegen die unter /var/tuxbox/config/themes ...

Grad compiliert ... ist auch so ... funktioniert !!!

Kroki
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

danke dir für den gegencheck :)
mgck
Einsteiger
Einsteiger
Beiträge: 115
Registriert: Samstag 17. Februar 2007, 17:57

Beitrag von mgck »

Hab auch gerade neu gebaut, geht 1A
Super Idee.

gruß mgck
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

mhhhh
irgendwie hab ich nen fehler drin :(
themes.cpp: In constructor `CThemes::CThemes()':
themes.cpp:59: error: `THEMESDIR' undeclared (first use this function)
themes.cpp:59: error: (Each undeclared identifier is reported only once for each function it appears in.)
themes.cpp:59: error: expected `;' before string constant
make[5]: *** [themes.o] Fehler 1
THEMESDIR ? wo wirde die declariert ?
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

gefunden :)
die acinclude.m4 hat gefehlt :)
hab ich garnic per meil bekommen die änderung. hehe
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Beitrag von JtG-Riker »

Ich würde drum bitten das die default-themes in share/tuxbox/neutrino/themes installiert und auch gefunden werden, ansonsten geht bei JTG YADI und Dietmars Updates ja kein Update mehr, da VAR ja nicht aktualisiert wird.,

Ich will ungerne deswegen ein neues Komplettimage erstellen, auch wen VAR mal crasht sind die themes hin, das is doch nicht so toll.

Alternativ kann man ja noch var/tuxbox/config/themes oder so mit einbauen, das da user-themes gespeichert werden wenn man sie selbst auf der Box erstellt, die default gehören nach share.

Gruß Riker
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

Riker hat recht. Und die einfachste Methode, das mit /var/ zusätzlich zu /share zu implementieren ist, einfach einen symlink von /share/... nach /var/.... zu legen. Beispielsweise so:

Code: Alles auswählen

Index: apps/acinclude.m4
===================================================================
RCS file: /cvs/tuxbox/apps/acinclude.m4,v
retrieving revision 1.31
diff -u -p -r1.31 acinclude.m4
--- a/apps/acinclude.m4 11 Nov 2007 04:28:47 -0000      1.31
+++ b/apps/acinclude.m4 11 Nov 2007 17:49:54 -0000
@@ -129,7 +129,7 @@ TUXBOX_APPS_DIRECTORY_ONE(plugindir,PLUG
 TUXBOX_APPS_DIRECTORY_ONE(ucodedir,UCODEDIR,localstatedir,/var,/tuxbox/ucodes,
        [--with-ucodedir=PATH    ],[where to find the ucodes])

-TUXBOX_APPS_DIRECTORY_ONE(themesdir,THEMESDIR,localstatedir,/var,/tuxbox/config/themes,
+TUXBOX_APPS_DIRECTORY_ONE(themesdir,THEMESDIR,datadir,/share,/tuxbox/themes,
        [--with-themedir=PATH    ],[where to find the themes])
 ])

Index: apps/tuxbox/neutrino/data/themes/Makefile.am
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/data/themes/Makefile.am,v
retrieving revision 1.1
diff -u -p -r1.1 Makefile.am
--- a/apps/tuxbox/neutrino/data/themes/Makefile.am      11 Nov 2007 04:12:51 -0000      1.1
+++ b/apps/tuxbox/neutrino/data/themes/Makefile.am      11 Nov 2007 17:49:54 -0000
@@ -4,3 +4,6 @@ install_DATA = \
        Classic.theme DarkBlue.theme DarkBrown.theme \
        DVB2000.theme VirginMedia.theme

+install-data-local:
+       install -d $(THEMESDIR)
+       ln -sf /var/tuxbox/config/themes $(THEMESDIR)/custom
Das ist nicht perfekt so, aber wenigstens funktioniert es überhaupt wieder.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Beitrag von dbt »

Ich würde das allerdings nicht nach /apps legen, sondern in die configure.ac nach apps/neutrino, da das eigentlich neutrino spezifisch ist und auch so weniger Aufwand wäre:

Code: Alles auswählen

Index: configure.ac
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/configure.ac,v
retrieving revision 1.40
diff -u -r1.40 configure.ac
--- configure.ac	11 Nov 2007 04:22:52 -0000	1.40
+++ configure.ac	11 Nov 2007 18:10:33 -0000
@@ -13,6 +13,11 @@
 	[  --with-boxtype=NAME box type [[dbox2,dm7000,dm500,dm56x0,dm600pvr...]]],
 	[BOXTYPE="$withval"],[BOXTYPE="dbox2"])
 
+AC_ARG_WITH(themesdir,
+	[  --with-themesdir=install directory for themes [[/var/share/tuxbox/neutrino/themes,/share/tuxbox/themes]]],
+	[THEMESDIR="$withval"],[THEMESDIR="/share/tuxbox/themes"])
+
+AC_SUBST(THEMESDIR)
 AC_SUBST(BOXTYPE)
 AM_CONDITIONAL(BOXTYPE_DBOX2, test "$BOXTYPE" = "dbox2")
 AM_CONDITIONAL(BOXTYPE_DREAMBOX, test "$BOXTYPE" != "dbox2")
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

Riker hat recht

also
/share/tuxbox/neutrino/themes
und
/var/share/tuxbox/neutrino/themes
wäre angebracht, da locale auch die ähnlichen pfade hat.
Zuletzt geändert von mb405 am Sonntag 11. November 2007, 19:51, insgesamt 1-mal geändert.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Beitrag von dbt »

mb405 hat geschrieben:also
/share/tuxbox/neutrino/themes
oder
/var/share/tuxbox/neutrino/themes
wäre angebracht, da locale auch die ähnlichen pfade hat.
Ja klar, das war von mir jetzt nur exemplarisch. Wenn, dann sind die Pfade am gängigsten, da schon mehrfach benutzt. :wink:
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

genau das finde ich am besten gelöst.
somit sind feste drin und jeder kann sich sein persönlich besten auch noch dazumachen.
nur das abspeichern geht dann in die hose, da die ja teilweise im squashfs liegen.
MTM
Foren-Moderator
Beiträge: 944
Registriert: Freitag 21. Januar 2005, 16:18

Beitrag von MTM »

Hallo,
/var/share/tuxbox/neutrino/themes ???

MfG,
MTM.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

@dbt: ich habe nur rudimentär Ahnung von autofoo, insofern hast du wahrscheinlich recht. Mein Diff war nur als Beispiel gemeint, ich habe das extra nicht eingecheckt. Aber so baut es bei mir wieder funktionsfähige Images :-)
@mb405: abspeichern geht schon, aber halt nur im "custom"-Ordner, der dann halt auf /var/... zeigt. Also ich habs jetzt nicht probiert, aber es müßte funktionieren / zum Funktionieren zu kriegen sein :-)
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Beitrag von dbt »

nur das abspeichern geht dann in die hose, da die ja teilweise im squashfs liegen.
Ist klar, dass muss dann wohl jeder selbst wissen
Aber an der Stelle sei gesagt, dass ich ja an so einer ähnlichen Sache gebastelt habe und ich auch hier und da gewisse Ähnlichkeiten festgestellt. Ein ein dickes Danke an flasher, dass er jetzt mal ein Konzept vorgelegt hat. Da war ich mir nämlich nicht so ganz sicher. Meine Idee ging dahin die bereits vorhandenen themes in besagtem Ordner /share/tuxbox/neutrino/themes fest installiert zu lassen, quasi als Standardauswahl. Der Rest ist in etwa schon so wie ich es mir gedacht hatte.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

nur dein vorschlag mit der configure.ac geht hier in die hose. da meckert der wieder das themesdir nicht definiert ist.
ansonsten stimme ich dir da voll zu.
evtl könnte man bei den einträgen die im squashfs liegen das abspeichern deaktivieren ?
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Beitrag von dbt »

hab ich hier bei mir schon soweit am laufen, das geht schon, war ja nur ein snippet. Im cdk Configure muss das natürlich noch gemacht werden.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

hehe :)
dank dir. ich dacht schon ich bin doof :)
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

Wenn wir uns auf einen festen Namen für den symlink ins /var/ einigen, dann kann das Speichern z.B. so gefixt werden:

Code: Alles auswählen

Index: themes.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/src/gui/themes.cpp,v
retrieving revision 1.1
diff -u -p -r1.1 themes.cpp
--- themes.cpp  11 Nov 2007 04:24:22 -0000      1.1
+++ themes.cpp  11 Nov 2007 19:33:50 -0000
@@ -129,7 +129,7 @@ void CThemes::Show()
        delete themes;

        if (strlen(file_name.c_str()) > 1) {
-               std::string userfile = Path.c_str() + file_name + FILE_PREFIX;
+               std::string userfile = Path + "/custom/" + file_name + FILE_PREFIX;
                saveFile((char*)userfile.c_str());
        }
 }
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Beitrag von dbt »

oder so, und warum legt man denn denn nicht den Pfad für THEMESDIR nicht gleich im Code fest, wüsste auch nicht wo das anders Sinn machen würde, also den Pfad einfach festlegen, so wie z:B die Icons. locale usw. und fertig. Alles Andere macht die Sache, denke ich, nur komplizierter als sie sein sollte.
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Beitrag von JtG-Riker »

dbt hat geschrieben:oder so, und warum legt man denn denn nicht den Pfad für THEMESDIR nicht gleich im Code fest, wüsste auch nicht wo das anders Sinn machen würde, also den Pfad einfach festlegen, so wie z:B die Icons. locale usw. und fertig. Alles Andere macht die Sache, denke ich, nur komplizierter als sie sein sollte.
ich denke auch feste Pfade reicht hier vollkommen

default share/tuxbox/neutrino/themes wo alle cvs themes reinkommen.

Als alternative var/tuxbox/config/themes, da auch dort die anderen neutrino dateien sind.

Wäre froh wenn das jemand umsetzt

Gruß Riker
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

Finde ich auch ok. Allerdings ist es bei der jetzigen Implementierung (mit Filebrowser) nicht einfach, ein Alternativverzeichnis einzubauen => meine Lösung mit Symlink funktioniert damit erstmal.
Wenn jemand das verbessern will, dann soll er den Filebrowser weglassen und stattdessen aus den gefundenen Namen einfach menüeinträge machen. Dann wird es auch relativ einfach, gleiche Namen in /var/ vor denen in /share zu bevorzugen etc. Und gespeichert wird einfach immer nach /var.
Ich mach das aber nicht, ich stell das Theme eh nur einmal ein (beim Imagebauen :-)
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Beitrag von dbt »

Wenn jemand das verbessern will, dann soll er den Filebrowser weglassen und stattdessen aus den gefundenen Namen einfach menüeinträge machen.
Da müsste wieder einiges umgestrickt werden, das wird aber auf die Schnelle nix. Dann wärs fast besser erst mal Deine Sache einzuchecken bis das geregelt ist und man erst mal bauen kann.
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

Wer die Funktion mal testen will und ein JtG-Image verwendet, kann sich hier mal einen Testsnap auf die Box laden und flashen.

Greetz von DrStoned :lol: :lol: :lol:
Greetz von DrStoned :lol: :lol: :lol:
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Beitrag von flasher »

Hi

So eine Diskussion hätte ich mir mal in DEV-Board gewünscht ;)
Da hätte man das meiste doch schon vor dem einchecken ändern können.
Vor allem im Bezug auf die angesprochenen Images.

Ok, ich war vieleicht auch etwas davon geblendet, dass ich eigentlich nur mit newmake baue und dann squashfs Images. Daher /var/tuxbox...

Ich habe in den nächsten Tagen wenig Zeit, sorry.
Es wäre aber Klasse wenn der eine oder andere die Ideen hier im Thread auch gleich ins CVS packt.

Man könnte auch gleich die --with-themedir Geschichte aus der acinclude.m4 schmeissen, da diese eh nicht funktioniert.
Das zieht dann auch eine Hardcodierung der Pfade mitsich da dadurch $THEMSDIR in der config.h wegfällt.

*EDIT*
Ich nochmal.

Ich habe da auch einen Vorschlag, der gerade compiled ;)

Um sich die Sache mit dem Symlink und auch der acinclude.m4 zu sparen habe ich folgendes gemacht.
In der themes.cpp wurden nun zwei Pfade festgelegt:
/share/tuxbox/neutrino/themes sowie /var/share/tuxbox/neutrino/themes
Das Thememenü habe ich erweitert. Dort gibt es nun zwei Punkte zum laden der Themes:
1: Benutzer-Themes laden
2: Standard-Themes laden

Bei (1) wird automatisch der Ordner in /var geöffnet und bei (2) der Ordner im root.

Beim Bau wird also alles in /share/... gepackt. Man braucht sich jetzt nur noch Gedanken darüber zu machen wie man den Ordner in /var anlegt.
Als if [ ! -d ... in der start_neutrino oder anderweitig?

Was wohl auf jeden Fall geändert werden muss ist die configure.ac in neutrino/, da sonst $THEMESDIR für die Makefile.am in themes/ nicht definiert ist.
Genaueres weiss ich dann wenn alles durchcompiled.

Gruß