Viendo 9 entradas - de la 1 a la 9 (de un total de 9)
  • Autor
    Entradas
  • #31215
    Javier Ader
    Participante

    Buenas. Jugué un poco con los temas de interfaz de usuario (en preferencias); mi idea era cambiar digamos, el color de fondo dependiendo del perfil o algo por el estilo, con la intención de tener una referencia visual rápida de en que perfil estaba (como extraño a Linux con sus múltiples escritorios….) ya que por lo general abro varias instancias con distintos perfiles.
    Bueno, lo que me di cuenta (usando el cliente pesado) era que cambiando el tema (o el fondo) desde un perfil afectaba a todo los demás; así que supuse que era algo que se guardaba a nivel de usuario… pero después entre con System y también lo tenia cambiado… asi que supongo que ese tipo de preferencias se guardan localmente, ya que accediendolo desde otra maquina volvia al tema por defecto original.
    Como se maneja esto?

    #33830
    Federico Cristina
    Superadministrador

    Buenas,

    Tal como comentás; en el Libertya.properties que genera la aplicación con información de conexión a bbdd, login de usuario, almacén, etc. se almacena también este dato bajo la clave UILookFeel.

    Este archivo lo encontrás en el directorio personal del usuario logueado al sistema operativo:

    Windows: Documents & Settings / usuarioXXX
    Linux: home / usuarioXXX

    Saludos!

    #33831
    Javier Ader
    Participante

    haaaaaaaaa entoces se me va a complicar;a no ser que en me loquee como distintos usuarios o haga algunos scripcitos con “runas” haciendolo correr como otros usuarios de mi maquina…. pero lo veo medio complicado (y no se si me da para crear tantos usuarios).
    La otra, y esta puede ser interesante, es crear un scrip cmd que simplemente cambie las variables de entorno de la locacion del perfil de usuario con la esperaranza de que busque el libertya.properties en otro lado. *1

    El tema es que las ventanas de libertya solo muestran el nombre del usuario y no el perfil. El único “fix” (si se puede llamar asi) fue crear 4 o 5 usuarios libertya; uno llamado COMPRAS que solo tiene asociado el perfil Compras; uno VENTAS que tiene asociado el perfil VENTAS etc. Ahora al menos me va a a parecer en el “alt-tab” el nombre del perfil jaja. Ok, igual todavía no probé esta forma de usarlo así que no se si me va a ser muy útil.

    También intente cambiarle el icono visual que me muestra el “alt-tab” de libertya creandole un acceso directo y cambiandole el icono al acceso…. pero al alt-tab (e.d al explorer) no le importa ese icono; siempre termina asociandole el del exe final…
    La otra es bajarse algun programilla que anda por ahi que modifica los .exe cambiándoles el icono (la idea es tener 3 o 4 clientes livianos, cada uno con un icono diferente, uno para cada perfil) pero lo veo demasiado “sucio” y no encontré ninguno open source y ni siquiera free…

    libertya.exe no tendrá algún argumento para ir a buscar el .properties a otro lado? (me da fiaca mirar el código porque eclipse por alguna razón me esta tardando un siglo en cargarse; más tarde de última miro un poco)

    *1 probe con cosas como

    Code:
    set HOMEPATH=C:Documents and SettingsUsuariolibertyaSystem
    start libertya.exe

    con y sin start y usando la variable USERPROFILE …. y no anduvo.

    #33836

    Javier,
    Por un lado, Libertya tiene para cada perfil un menu diferente y si miras en la raiz del arbol de menu, verás que el nombre del “menu” es igual al nombre del perfil.
    Sin embargo, si lo que queres es que se cambie en la ventana, podrias mirar en la clase : /client/Src/org/openXpertya/apps/APanel.java , en el método: getTitle() esta la linea donde setea el titulo de las ventanas.
    Alli se hecha mano de las variables del “contexto” (por ejemplo: #AD_User_Name)
    Si modificas esa linea y recompilas, le podes poner lo que quieras. En particular, todas las variables del contexto pueden ser vistas en tiempo de ejecución desde la ventana accesible desde el menu de herramientas.

    No hay excusas con la lentitud del Eclipse: esa modificacion se puede hacer con VI, gedit, Jedit o lo que sea y luego compilar.sh -> Configurar.sh y listo! queda andando.

    Suerte!
    Antonio.

    #33832
    Javier Ader
    Participante

    Antonio, me parece o me estás queriendo hacer trabajar? jaja. Bueno, igual, si voy a compilar preferia compilar una versión (o varias) con un icono distinto (un icono distinto es mucho más visual en el alt-tab) y supongo que no tengo que cambiar código si no algún archivo en algún directorio llamado “imagenes” o algo por el estilo (igual, tal vez tambien haga lo que me decis, de curioso más que nada). La otra es compilar una versión que tome como parámetro el nombre del archivo a usar para guardar el profile (y/o que busque el icono a usar en algún lugar predefinido; he visto que hay un icono de open xpertya en el cliente pesado) y cambiarlo directamente en el “main” (supongo que se puede hacer).
    El tema es que he logrado “ejecutarlo” desde eclipse haciendo algunos cambios (solo algunas strings que aparecen en la pantalla de login, para probar más que nada), pero de ahi a compilarlo a un “exe” no se si es tan facíl (estoy casi seguro que el exe es básicamente solo un “launcher” pero bueno… no estoy muy canchero con eclipse).
    Si me dan una ayuda de como hacer el “build” al exe, se los agradecería (lo más probable es que sea un pavada y me termine dando cuenta solo, pero por la dudas pregunto de antemano).

    P.D : eclipse no anda en realidad tan lento; el tema es que mi máquina esta medio vieja y la primera vez que “importe” libertya lo hice en un workspace muy “poblado” (después use libertya en un workspace separado y anduvo más rápido).

    P.D 2: espero que tambíén exista un “compilar.bat” porque estoy en XP. Despues lo chequeo ya que los fuentes los tengo en otra maquina.

    #33848

    Javier,
    Como te contestas solo: el exe solo es un launcher. Unicamente es necesario tocarlo cuando se agregan JARs externos al proyecto ya que ahi va el classpath. Cuando compilas lo que cambia es el contenido de los JARs que estan el /lib

    Respecto del compilar.bat , existe y es la manera mas facil de compilar. De hecho, yo no programo, pero las veces que quiero tocar algo -no mas de una o dos lineas – lo hago con un editor cualquiera y luego ejecuto el compilar.sh. Cuando usaba Software propietario en mi notebook, usaba el .bat ;)

    Saludos
    Antonio

    #33833
    Javier Ader
    Participante

    bueno antonio, arranque por tu lado…pero algo raro esta pasando. Esta vez estoy ejecutando el compilar.bat (primero el que esta en tools… despues me di cuenta que tambien hay uno bajo client y pase a ese) desde la maaquina de mi hermana (2 nucleos, 4gb de ram… asi que por ahi no va la cosa) y esta compilando hace como 5 minutos, pero en eclipse desde mi maquina viejita me lo compilo muchísimo más rápido!!! Incluso redirige la saida a un archivo porque siempre tuve la sensación que la salidad por consola bajo Windows ralenta a cualquiera que la use mucho. Ok, no se por donde viene el tema pero me parece que este compilar.bat (cualquiera de ellos) termina disparando la compilación de todo, inclusive de las herramientas externas, cuando me parece que esto no es necesario.
    Después comento que paso.

    AGREGO: bueno…. es obvio que el problema viene por los paths con espacios (java esta en “Archivos de Programas” por ej). En el archivo de salida (en la consola iba tan rapido que no alcanzaba a leer) se ven cosas como

    “de” no se reconoce como un comando interno o externo,
    programa o archivo por lotes ejecutable.

    repetido varias veces al comienzo y despues entra en bucle infinito al intentar crear el “keytore” desde utils_devVariblesCompilacion.bat (que es lo primero que llama cualquier compilar.bat)…no hay keystore, la creamos, no hay keystore la creamos, y asi forever intercalando un “C:Achivos” comando no reconocido, que es cuando intenta ejecutar el keytool de java…). Así que no se, o reinstalo java en path sin espacio vuelvo a eclipse.
    También vi que el variableCompilación.bat inteta crear el C:ServidorOXP… la compilación me iba a pisar mi actual instalación???? si es asi me alegro de que haya fallado jaja (igual eso es solo cosa de cambiar una linea en variablesCompilacion.bat y listo).

    #33834
    Javier Ader
    Participante

    jaja me sali con la mía sin tocar una linea de código. Es una forma bastante sucia, pero puede que sirva para aquellos que no quieren o no pueden compilar y tienen el mismo problema (basicamente, muchas ventanas con distintos perfiles) asi que lo comparto (de todas maneras no lo recomiendo para usos en producción, ya que se rompen ciertas reglas de seguridad y de chequeos de integridad de código; solo es para los que están conociendo a libertya o haciendo pruebas):
    1) se agarra el cliente pesado; se lo descomprime en un directorio cualquiera
    2) se va al subdirecotrio lib
    3) se agarra el OXP.jar y se lo descomprime con cualquier descompresor de zip (7zip por ejemplo). Un .jar es un .zip normal solo con una estructura de directorios definida.
    4) se va al subdirectorio META-INF, y se edita el archivo MANIFEST.MF con cualquier editor de textos borrando todas las lineas que vienen despues de “Main-Class: org.openXpertya.OpenXpertya”
    (OBS: si no se hace esto el programa no va arrancar ya que va a detectar que hay archivos modificados; la otra forma es calcular los hash sha1 de las nuevas imagens y ponerlas en las entradas correspondientes con nombres “Name:”; esto es en realidad la parte “sucia” )
    5) se elimina el archivo LIBERTYA.SF por razones similares a las anteriores.
    6) ahora se va al subdirectorio orgopenXpertyaimages y se reemplaza el archivo OXP16.gif por cualquier gif con dimensiones 16×16 (google-> free icons y se encuentran a patadas), obviamente respentando el nombre del archivo.
    7 ) ahora se recrea el nuevo OXP.jar: se comprimen los directorios y archivos generados en la descompresión del paso 3 (en este caso en particular los directorios com, META-INF, openXpertya y org ) y se los comprime en un arhivo zip; digamos OXP.zip.
    8) se renombra OXP.zip por OXP.jar y se lo pone en lugar del OXP.jar orignal (el ogininal si quiern simplemente renombrelo por si algo falla; diamgoa por OXP-orig.jar)
    9) se ejecuta libertya.exe y listo

    Adjunto una imagen para que quede claro cual es la idea (lo mismo se ve cuando uno hace alt-tab)
    (versión grade: http://www.eltita.com.ar/libertya/libertya-icon-mod.jpg )

    P.D: el mismo procedimiento se puede hacer para otras imágenes, pero sinceramente no le veo mucha utilidad [img size=385]https://www.libertya.org/media/kunena/attachments/legacy/images/libertya_icon_mod2.JPG[/img]

    #33850

    je. Muy imaginativo lo tuyo… es una alternativa válida, aunque un tanto rebuscada.
    Para hacer eso de una manera “limpia”, se podría agregar una referencia al icono en la ventana perfil y que lo cambie al momento de iniciar la sesion.
    Lo que si, los iconos deben estar dentro del jar.

Viendo 9 entradas - de la 1 a la 9 (de un total de 9)
  • Debes estar registrado para responder a este debate.