Wer sein System permanent überwacht, hat den Grundstein dafür gelegt Engpässe zu vermeiden und Fehler frühzeitig zu erkennen. Neben dem Platzhirsch Nagios ... (mehr)

Menüs

Wer will, kann der eigenen Curses::UI-Anwendung auch ein komplettes Menü spendieren, das sich auf modernen Systemen sogar meistens mit der Maus bedienen lässt. Dazu bauen Sie erst ein Menü aus einer Datenstruktur auf, in der ein Menü aus einem Array besteht, in dem Untermenüs als Arrayreferenzen eingebunden werden. Diese Datenstruktur übergeben Sie dann dem Konstruktor für die Klasse »Menubar« :

$ui->add(
 'menu', 'Menubar',
 -menu => $menu_data
);

Ein Beispiel für die Datenstruktur findet sich in der Dokumentation der Menubar-Klasse. Damit ein Menü ausklappt, muss es aktiviert werden, im Curses::UI-Jargon den sogenannten Focus erhalten. Dafür bietet sich zum Beispiel ein Hotkey an, den Sie etwa so festlegen:

$ui->set_binding(sub {$menu->focus()}, "\cM");

Die Aufzählung der enthaltenen Widgets ließe sich noch eine Zeit lang fortsetzen, so gibt es sogar ein GUI-Element, das Texteditor-Funktionen samt Scrollbars und so weiter bietet. Eine vollständige Liste finden Sie in der Curses::UI-Dokumentation.

Doku-Suche

Dokumentation für Perl-Curses::UI ist dünn gesät. Neben der offiziellen CPAN-Dokumentation gibt es nur noch einen Vortrag von Marcus Thiesen mit einem Überblick über das Modul [3] und vereinzelte Mailinglisten-Beiträge. Lohnenswert ist ein Blick in das Verzeichnis »examples« der Quellcode-Distribution, das für alle GUI-Elemente ausführliche und verständliche Beispiele enthält.

comments powered by Disqus
Mehr zum Thema

Analyzer für Webserver-Logdateien

Weblog-Analyzer geben einen Einblick in die Besucherströme einer Website, ihre meistbesuchte Seiten und eventuelle Einbruchsversuche. Deshalb gehören diese nützlichen Programme in den Werkzeugkasten eines jedes Webmasters. Ein kleiner Rundflug über die beliebtesten Tools hilft bei der Auswahl.
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023