UNIXwork

Tags

c dav unix shell linux xattr solaris links x11 java rant fun webdav sync gnome apple benchmark network ldap oracle analytics xnedit macos windows graalvm bsd curl mac apache wtf virtualbox microsoft zfs sparc tomcat rhel freebsd arm

Glade: UI Builder und Powerpointer-Ersatz

20. September 2018

Und womit macht ihr so eure Präsentationen? Powerpoint, Impress oder LaTeX? Wieso nicht mit Glade, das Klickibunti-Tool um GTK-Interfaces zusammenzubasteln. Ein paar Slides, oder ein GUI, wo ist da der Unterschied.

Die spannende Frage ist, ob man dann irgendwann mit Powerpoint GUI-Anwendungen designen kann. Das wäre doch der absolute Durchbruch. Direkt aus einer Bullshit-Präsentation eine App generieren.

Aber mal ernsthaft, egal womit man seine Präsentation erstellt, ich bin der Meinung, dass das Ausgabeformat immer pdf sein sollte. Das maximiert zum einen die Wahrscheinlichkeit, dass man es auf jedem Gerät fehlerfrei anzeigen kann, zum anderen kommt man gar nicht erst in die Versuchung mit Animationen zu arbeiten.

Tearing-Problem unter Gnome

16. Dezember 2017

Es ist manchmal ein Trauerspiel mit Linux. Viel zu oft hab ich schon nerviges Tearing erlebt, mit verschiedenen Ursachen. Aktuell mit Intel iGPU und der Gnome Shell. Ich bin mir nicht sicher, ob das Problem auch mit anderen GPUs auftritt. Sicher bin ich mir dabei, dass bei mir die Gnome Shell der Schuldige ist.

Daher hier ein (temporärer) Fix für eins der vielen Tearing-Probleme.

  1. Öffnen des Gnome Shell Debugger (Looking Glass): Drücke Alt-F2 und gib lg ein

  2. Dort muss folgender Befehl eingegeben werden:

    Meta.disable_unredirect_for_screen(global.screen)

Eine Alternative ist diese Gnome Extension.

Gnome Dark-Theme-Fenster ohne GTK

17. Dezember 2016

Gnome 3 hat das nette Feature, dass ein GTK-Theme eine light und eine darkVariante hat, und einzelne GTK-Anwendungen können sich aussuchen, welche Theme-Variante sie nutzen wollen. Nutzt eine Anwendung jedoch nicht GTK, so gibt es trotzdem eine Möglichkeit zumindestens einen dunklen Fenster-Rahmen zu erhalten.

Welche Farbe ein Fenster hat, hängt nur von einer X-Property ab. Starten wir einfach mal xprop und klicken auf ein dark-theme-Fenster, dann gibt das Programm alle Properties aus. Darunter findet sich dann auch diese Zeile:

_GTK_THEME_VARIANT(UTF8_STRING) = "dark"

Man kann mit xprop auch Properties setzen:

xprop -f _GTK_THEME_VARIANT 8u -set _GTK_THEME_VARIANT "dark" 

Klickt man dann auf ein Fenster, müsste seine Titelleiste das dark theme nutzen.

Um das gleiche in C mit der xlib zu machen, reicht folgender Code:

void set_dark_theme(Display *dp, Window window) {
	Atom atom = XInternAtom(dp, "_GTK_THEME_VARIANT", False);
	Atom type = XInternAtom(dp, "UTF8_STRING", False);
	XChangeProperty(
	        dp, 
	        window, 
	        atom,
	        type,
	        8,
	        PropModeReplace,
	        (const unsigned char*)"dark",
	        4);
}

Gnome 3: Slideshow-Wallpaper

25. März 2016

Gnome 3 kann mehrere Hintergrundbilder als Slideshow anzeigen. Aber es wäre nicht Gnome, wenn die Einstellungsmöglichkeiten per GUI nicht völlig kastriert wären, denn im entsprechenden Dialog können nur vorgefertigte Slideshows ausgewählt werden.

Also muss man wieder einen Texteditor bemühen, glücklicherweise muss man nur 2 Dateien erstellen. Vorher erstellt man noch 2 Verzeichnisse, falls diese noch nicht existieren.

mkdir -p ~/.local/share/gnome-background-properties
mkdir -p ~/.local/share/backgrounds

Unter ~/.local/share/gnome-background-properties speichert man eine XML-Datei mit beliebigen Namen (z.B. myslideshow.xml) mit folgendem Inhalt:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
	<wallpaper>
		<name>My Slideshow</name>
		<filename>.local/share/backgrounds/myslideshow.xml</filename>
		<options>zoom</options>
	</wallpaper>
</wallpapers>

Dann erstellt man die Datei .local/share/backgrounds/myslideshow.xml in der die eigentlichen Bilder angegeben werden. Hier ein kleines Template dafür:

<?xml version="1.0" encoding="UTF-8"?
<background>
	<starttime>
		<year>2012</year>
		<month>01</month>
		<day>01</day>
		<hour>00</hour>
		<minute>00</minute>
		<second>00</second>
	</starttime>
	<static>
		<duration>1800.0</duration>
		<file>.local/share/backgrounds/image1.png</file>
	</static>
	<transition>
		<duration>5.0</duration>
		<from>.local/share/backgrounds/image1.png</from>
		<to>.local/share/backgrounds/image2.png</to>
	</transition>
	<static>
		<duration>1800.0</duration>
		<file>.local/share/backgrounds/image2.png</file>
	</static>
	<transition>
		<duration>5.0</duration>
		<from>.local/share/backgrounds/image2.png</from>
		<to>.local/share/backgrounds/image3.png</to>
	</transition>
	<static>
		<duration>1800.0</duration>
		<file>.local/share/backgrounds/image3.png</file>
	</static>
	<transition>
		<duration>5.0</duration>
		<from>.local/share/backgrounds/image3.png</from>
		<to>.local/share/backgrounds/image1.png</to>
	</transition>
</background>

Dürfte relativ selbsterklärend sein. Die Bilder werden in der Reihenfolge angezeigt, in der sie in der Datei gelistet sind. Die Pfade zu den einzelnen Bilddateien können beliebig gewählt werden. Mit einem static-Element gibt man ein Bild an, dass dann für die gewünschte Dauer angezeigt wird. Übergänge zwischen Bildern können mit den transition-Elementen gemacht werden.

Hat man alle Dateien wie gewünscht erstellt, kann die eigene Slideshow dann in den Einstellungen für Hintergrundbilder ausgewählt werden.

Meine Gnome Shell Extensions

10. Dezember 2014

Hier mal eine Liste der Extensions, die ich verwende:

  • AlternateTab Alt+Tab sieht besser aus und zeigt optional auch nur die Fenster des aktuellen Workspace an
  • TopIcons Für ein klassisches SysTray im oberen Panel
  • Minimized Windows List Fügt ein kleines Menü hinzu, dass eine Liste aller minimierten Fenster enthält
  • Show Desktop from Overview Damit kann man in der Fenster-Übersicht einfach auf eine freie Fläche klicken und dann wird der Desktop angezeigt
Weiter