Start > Algorithmik > TED

TED: Texteditor in C und GTK

TED dient als Vorlage für einen Linux-Editor. Wie der Windows-Editor ED ist TED in C geschrieben, aber nutzt statt Win-API GTK.

  1. Beschreibung
  2. Systemvoraussetzungen
  3. Download

Beschreibung

Im Gegensatz zu früheren GTK-Initialisierungen à la

int main(int argc, char *argv[])
  {
  GtkWidget *win;
  gtk_init(&argc, &argv);
  win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  g_signal_connect(win, "destroy", G_CALLBACK(gtk_main_quit), NULL);
  ...
  gtk_widget_show_all(win);
  gtk_main();
  return 0;
  }

nutzt TED GtkApplication:

int main(int argc, char **argv)
  {
  int ret;
  GtkApplication *app;
  app = gtk_application_new(NULL, G_APPLICATION_HANDLES_OPEN);
  ...
  ret = g_application_run(G_APPLICATION(app), argc, argv);
  g_object_unref(app);
  return ret;
  }

GtkApplication erledigt die Initiali­sierung von GTK (gtk_init), unterstützt die Mög­lich­keit, Programme bei Mehr­fach­start nur einmal im Speicher vorzu­halten, ein Sitzungs-Manage­ment, Desktop-Integra­tion, die Anmeldung beim D-Bus etc.

TED

In Abgrenzung zu diesem Entwick­lungs­trend verwendet TED jedoch nicht wie die neueren Gnome-Anwend­ungen ein Applikations­menü, sondern ein klassisches Menü und unter­stützt als SDI-Programm den Mehr­fach­start von Instanzen. Für 3 Dokumente werden also 3 Programm­instanzen aufgerufen. Dialog­basier­tes Laden und Speichern einer Datei, Drag and Drop von einem Datei-Manager wie z. B. Nautilus, ein Vollbild-Modus sowie das Laden einer Datei von der Kommando­zeile (G_APPLICATION_HANDLES_OPEN) sind implemen­tiert. Nicht implemen­tiert sind z. B. Druck, Such­funktionen oder benutzer­einstell­bare Fenster­farben. Da das Programm auf das GTK-eigene Textview-Widget (bzw. Control) zurück­greift, läßt sich das Erschei­nungs­bild jedoch durch das Setzen der Umgebungs­variable beim Start ändern:

$ GTK_THEME=Mint-Dark-Orange ted

Systemvoraussetzungen

Benötigt wird das Betriebs­system Linux. Getestet wurde die Einsatz­fähigkeit von TED unter Linux Mint 21 und 22. Die Lauffähigkeit unter WIN/GTK wurde nicht getestet.

Download

Der Quelltext ist als didaktische Vorlage mit ca. 300 Zeilen bewußt kurz: ted.c.

© 2024, 2024 asdala.de: Kon­takt & Daten­obhut