# [risolto] [beryl] java

## makaveli87

//edit by lavish:

Il problema con java e' stato risolto, manca da risolvere quello con i video. Ho splittato il thread qui: https://forums.gentoo.org/viewtopic-t-549152.html visto che i due problemi non sono correlati.

Con l'avanzamento di beryl e la maggiore stabilità del programma sto utilizzandolo sempre più... ora anche perchè è abbinato al docker awn (che necessita di beryl attivato...).

Mi rimangono però due problemi principali (oltre allo scrolling lento delle pagine..)

1) I video sono neri. Se ci riesce parte per 5 secondi poi diventa nero anche se continua ad andare.

2) e molto più grave perchè non posso studiare java, quando lancio un programma java fatto da me non va...

Questo devo controllarlo ancora perchè eclipse funziona... solo i miei (per ora unico) applicativi non vanno... si apre la finestra ma dentro non compare niente...

Qualche idea a proposito ?? specialmente la seconda cosa.

Uso AIGLX con su un radeon 8500 (driver open)

EDIT:

Non capisco come mai..... solo il mio programma non va...

quello che ho scaricato del professore si....

Vabbè.. per ora lasciamo stare il punto 2... per i video sapete qualcosa??

----------

## LastHope

 *makaveli87 wrote:*   

> 
> 
> 2) e molto più grave perchè non posso studiare java, quando lancio un programma java fatto da me non va...
> 
> Questo devo controllarlo ancora perchè eclipse funziona... solo i miei (per ora unico) applicativi non vanno... si apre la finestra ma dentro non compare niente...
> ...

 

Forse per questo ti conviene postare il codice...

----------

## makaveli87

Ho fatto ancora prove.... un altro programma fatto da me va!

Solo quello...

beh.. questo è il "main" (vengo da C scusate la terminologia...)

```

import javax.swing.*;

import java.awt.*;

public class muovi {

   

   public static void pausa( long millisecondi ) {

        try {

          Thread.sleep( millisecondi );

        }

        catch (Exception e) { }

      }

   public static void main(String[] args) {

      JFrame frame=new JFrame();

      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      frame.setSize(650, 650);

      frame.setVisible(true);

         

      JTextArea txt=new JTextArea();

      

      frame.setLayout(new FlowLayout());

      txt.setSize(650, 650);

      

      automa pippo = new automa();

      

      String str = new String(pippo.toString());

      

      txt.setText(str);

      txt.setEnabled(false);

      txt.setBackground(new Color(150));

      frame.add(txt);

      while (pippo.next()) 

      {

         str = new String(pippo.toString());

         txt.setText(str);

         pausa(200);

         

      }   

   }

}

```

Se servono gli altri 3 file ditemelo.

Ho fatto questo e va:

```

import javax.swing.*;

public class Prova  {

   public static void main(String[] args) {

      JFrame frame = new JFrame();

      JTextArea txt = new JTextArea();

      txt.setText("aiiiiiiiiiicac\ndsadsasadsadasd\ndsdsadsadad");

      frame.add(txt);

      frame.setVisible(true);

      frame.setSize(300,200);

      

   }

  

} ///:~

```

----------

## LastHope

Beh, forse se ci spiegassi cosa fa esattamente la classe automa  :Smile:  ...

Hai controllato che non venga lanciata nessuna eccezione?

EDIT: nella gestione delle eccezioni, conviene sempre se lanci un e.printStackTrace(); ...

----------

## riverdragon

Per java preponi al comando che lancia l'applicazione AWT_TOOLKIT=MToolkit o esportalo con una riga in .bashrc.

----------

## makaveli87

 *riverdragon wrote:*   

> Per java preponi al comando che lancia l'applicazione AWT_TOOLKIT=MToolkit o esportalo con una riga in .bashrc.

 

In questo modo funziona!!

Mi puoi spiegare come mai?

Cosa fa quella linea?

Perchè lo fa solo con una applicazione e non con tutte?

@ lasthope....

il programma è proprio stupido... è il mio primo in java...

Fa muovere un "2" su un percorso generato a caso di 0 in una matrice riempita di 1.

Inoltre la gestione delle finestre è ancora "grezza" nel senso che dobbiamo ancora iniziarla nel corso...

----------

## riverdragon

Detta molto "alla carlona", beryl e compiz non riescono a disegnare i widget X quindi bisogna forzare i widget Motif.

----------

## makaveli87

Ok grazie..

Solo una cosa...

 :Embarassed:   :Embarassed: 

come si esporta in .bashrc??  :Embarassed: 

----------

## riverdragon

Aggiungi una riga con

```
export AWT_TOOLKIT=MToolkit
```

----------

## makaveli87

 *riverdragon wrote:*   

> Aggiungi una riga con
> 
> ```
> export AWT_TOOLKIT=MToolkit
> ```
> ...

 

Ok.. allora c'ero quasi... non sapevo se c'era qualche argomento per export... e non volevo combianre casini..

Questo è permanente ? (almeno per il mio user?) o devo farlo ad ogni avvio?

Comunque.. java è risolto...

Per i video nessuno ha il mio stesso problema?? Tutti fanno vedere filmati di beryl, con video in trasparenza, ma a me i video non vanno...

----------

## riverdragon

Se metti quella riga in bashrc verrà eseguita ogni volta che apri una console.

----------

## lavish

 *riverdragon wrote:*   

> Detta molto "alla carlona", beryl e compiz non riescono a disegnare i widget X quindi bisogna forzare i widget Motif.

 

Direi proprio di no. Il problema non e' di Beryl, ma della Sun, in quanto questo problema si verifica per tutti  i WM che non effettuano il reparenting, dwm incluso.

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6429775

----------

## lavish

Come richiesto, ho affettuato uno split della discussione qui: https://forums.gentoo.org/viewtopic-t-549152.html

----------

## FMulder

Vorrei anche io poter risolvere così, ma forzando MToolkit mi riavvia X, con qualsiasi software java  :Shocked:   :Shocked:   invece sul portatile installato a partire dai binari prodotti da questo pc funziona tutto perfettamente   :Shocked:   :Shocked: 

----------

## makaveli87

Guarda.... ho dovuto reintallare gentoo e ... questa volta ho messo compiz...

Usando il precedente trucco Java non va... anche se:

```

makaveli@gentoohost ~/Desktop $ env |grep AWT

AWT_Toolkit=MToolkit

```

Ora per programmare uso fluxbox...

----------

## FMulder

si ma la cosa strana è che su questo pc (fisso) settando AWT_TOOLKIT=MToolkit si riavvia il server grafico, sia X con AIGLX, sia XGL, sia con Beryl attivo, sia con Metacity.. in pratica.. si riavvia comunque a prescindere!

invece sul portatile, che è stato installato a partire dai binari generati dal pc fisso con l'opzione buildpkg, tutto funziona perfettamente anche con quel settaggio!! i file di configurazione sono pressochè identici... non so proprio dove metterci le mani   :Shocked: 

----------

