Ricerca tra la vecchia roba

Una giornata di ordinaria blasfemia

Posted: Gennaio 24th, 2008 | Author: | Filed under: Life, Programmazione | 2 Comments »

Guardo la televisione di sfuggita, è alle mie spalle, mentre scrivo al computer questa righe, scopro che quella figa di Giorgia Surina adesso recita in RIS su canale 5 (alla fine io ed il pierpy pur odiando le forze dell’ordine c’eravamo appassionati nelle prime due serie); oggi ho fatto un aggiornamento di un feisty per farla diventare una gutsy (oppure un soprammobile a seconda della fortuna che accompagna la mia persona) su un portatile montante una mitica (nel senso di non razionale) Radeon Mobility X700 che sul kernel linux usa il driver denominato fglrx (cazzo vorrà dire?). Sappiate che se qualcuno vi chiede di far funzionare una scheda ATI su un computer, adducete tutta una serie di scuse, tirando in ballo anche malattie veneree o fughe di gas in quanto, se non pienamente fortunati, la giornata si trasformerà in una giornata veramente produttiva dal punto di vista delle bestemmie.

Benché la ATI sembra sia interessata a invogliare lo sviluppo open source dei driver dei suoi prodotti, avendone rilasciato le specifiche, nella procedura di installazione dei suoi driver per le schede video c’è sempre qualcosa di "malato": leggasi "non funziona mai un cazzo se non leggendo almeno 5 istruzioni diverse in rete"; a ‘sto giro, pare che i driver non vengano più installati tramite module-assistant, ma fa tutto da solo, cancellando qua, cancellando là, ma assicurandosi di creare il file

~/.config/xgl-xserver/disable

in maniera da rendere inattivo il server XGL visto che questi nuovi gioielli  software dovrebber supportare AIGLX e quindi Compiz (inutile dire che non funziona) nativamente…

Se volete una guida completa, potete seguire questa

Poi spiegando come funzionano le GTK2.0 ad un mio friend, mi è venuta voglia di rispolverare l’uso delle libglade: permette di caricare una interfaccia GTK descritta tramite un file XML generato da un programma (glade o gazpacho); ma un esempio vale più di mille parole: ecco a voi gtk_with_glade.c

#include <gtk/gtk.h>
#include <glade/glade.h>
int main(int argc, char *argv[]) {
    GladeXML *xml;

    gtk_init(&argc, &argv);

    /* load the interface */
    xml = glade_xml_new("prova.glade", NULL, NULL);

    /* connect the signals in the interface */
    glade_xml_signal_autoconnect(xml);

    /* start the event loop */
    gtk_main();

    return 0;
}

mentre quello subito sotto è prova.glade

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
<!–*- mode: xml -*–>
<glade-interface>
  <widget class="GtkWindow" id="window1">
    <property name="visible">True</property>
    <property name="default_width">440</property>
    <property name="default_height">250</property>
    <signal name="delete_event" handler="gtk_main_quit"/>
    <child>
      <widget class="GtkNotebook" id="notebook1">
        <property name="visible">True</property>
        <child>
          <widget class="GtkVBox" id="vbox1">
            <property name="visible">True</property>
            <child>
              <widget class="GtkTextView" id="textview1">
                <property name="visible">True</property>
                <property name="is_focus">True</property>
              </widget>
            </child>
            <child>
              <widget class="GtkHBox" id="hbox1">
                <property name="visible">True</property>
                <child>
                  <widget class="GtkButton" id="button1">
                    <property name="visible">True</property>
                    <property name="label" translatable="yes" context="yes">button1</property>
                    <property name="response_id">0</property>
                    <signal name="clicked" handler="gtk_main_quit" object="NULL"/>
                  </widget>
                  <packing>
                    <property name="expand">False</property>
                    <property name="fill">False</property>
                  </packing>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
              </widget>
              <packing>
                <property name="expand">False</property>
                <property name="fill">False</property>
                <property name="position">1</property>
              </packing>
            </child>
          </widget>
        </child>
        <child>
          <placeholder/>
        </child>
        <child>
          <placeholder/>
        </child>
      </widget>
    </child>
  </widget>
</glade-interface>

Per compilare questo prodigio software potete usare il seguente comando

gcc -Wall gtk_with_glade.c -o gtk_with_glade `pkg-config –libs –cflags gtk+-2.0 libglade-2.0`

avendo installato le librerie di sviluppo per le gtk2.0 e libglade2.0.


2 Comments on “Una giornata di ordinaria blasfemia”

  1. 1 marco said at 10:41 pm on Gennaio 24th, 2008:

    e che nessuno lanci pkg-config –libs –cflags gtk+-2.0 libglade-2.0 senza gli apici, potrebbe rimanerci male !

  2. 2 packz said at 2:04 am on Marzo 1st, 2008:

    un po’ come lanciare seme senza goldone…