Bolzenbraus v5.47 – Handbuch
© 2026 Bernhard Lickert – Entwickelt mit Unterstützung von Claude (Anthropic)
Haftungsausschluss: Die Nutzung erfolgt vollständig auf eigene Gefahr. Es wird keinerlei Gewähr für Funktion, Eignung oder Fehlerfreiheit übernommen; eine Haftung für Schäden jeglicher Art ist – soweit gesetzlich zulässig – ausgeschlossen.
Beim Start erschien die Qt-Meldung „SetProcessDpiAwarenessContext() failed: Zugriff verweigert". Ursache war eine Änderung aus v5.46: Dort wurde versuchsweise eine eigene Windows-DPI-Awareness gesetzt. Qt 6 macht das aber bereits selbst – und zwar in der besseren Variante (
PER_MONITOR_AWARE_V2). Da Windows diese Einstellung nur
einmal pro Programmstart zulässt, verdrängte der eigene Aufruf Qts
bessere Variante und verursachte die Fehlermeldung. Der Aufruf wurde entfernt,
Qts Standardverhalten ist wiederhergestellt.Die eigentliche Ursache der zu großen Beschriftung war der in v5.46 behobene Schriftgrößen-Fehler in der Symbolleiste – vom Nutzer als behoben bestätigt. Zwei neue Tests verhindern, dass der DPI-Aufruf versehentlich wieder eingebaut wird. Das Testnetz umfasst nun 508 Tests.
Ältere Versionshinweise stehen gesammelt in der Versionshistorie am Ende dieses Handbuchs.
Was ist Bolzenbraus?
Bolzenbraus ist ein visueller Website-Editor für den Desktop – ein sogenannter WYSIWYG-HTML-Editor (What You See Is What You Get). Du gestaltest Webseiten direkt auf einer Zeichenfläche, siehst das Ergebnis in Echtzeit, und das Programm erzeugt daraus sauberes, fertiges HTML – das du direkt per FTP auf deinen Webserver hochladen kannst.
Das Besondere: Bolzenbraus läuft vollständig lokal auf deinem Rechner, braucht keine Internetverbindung zum Arbeiten, kein Abonnement, keinen Account und keine Cloud. Du behältst jederzeit volle Kontrolle über deine Daten und deinen Code.
Wofür eignet sich Bolzenbraus?
- Kleine bis mittelgroße Websites, Landingpages, Präsentationsseiten
- Schnelle HTML-Prototypen ohne Programmierkenntnisse
- Nutzer, die lieber visuell arbeiten als Code schreiben
- Entwickler, die einen schnellen visuellen Ausgangspunkt wollen, den sie dann im Code verfeinern
Was Bolzenbraus nicht ist
Kein Content-Management-System (kein WordPress, kein Drupal), keine Datenbank, kein Hosting. Bolzenbraus erstellt statische HTML-Dateien – du bist für Hosting und Serverinfrastruktur selbst verantwortlich.
Funktionsübersicht
🖼 Canvas – die Zeichenfläche
Alle Elemente werden frei auf dem Canvas platziert, verschoben, skaliert und gedreht. Das Raster und die Hilfslinien helfen beim präzisen Ausrichten. Mehrere Elemente lassen sich gemeinsam markieren und bearbeiten. Der Zoom funktioniert per Mausrad oder Tastatur.
📦 Element-Typen
| Element | Beschreibung |
|---|---|
| 📝 Textblock | Formatierter Text mit Schriftart, Größe, Farbe, Ausrichtung, Rahmen, Hintergrund |
| 🖼 Bild | Bilder aus lokalen Dateien, skalierbar, mit Alt-Text für SEO |
| </> HTML-Block | Freier HTML-Code – eingebettete Widgets, iframes, eigene Komponenten |
| ⬛ Form | Kontaktformular mit Versand via Formspree (kein Server) oder PHP-Mailer (eigener SMTP) |
| 🧭 Navigation | Frei platzierbarer Nav-Block mit Links, Burger-Menü auf Mobil/Tablet, Flexbox-Export |
| ⊞ Tabelle | Bearbeitbare Tabelle mit Zellfarben, Ausrichtung, colspan/rowspan |
| ▶ Video | Lokale Videodateien oder externe URLs einbinden |
| ◆ Form (Grafik) | Rechteck, Ellipse, Linie – mit Füllfarbe, Rahmen, Transparenz |
📱 Responsives Design
Drei Ansichten in einem Projekt: Desktop, Tablet und Mobil. Für jeden Breakpoint lassen sich Position, Größe und Sichtbarkeit der Elemente separat festlegen. Auf Mobil werden Elemente automatisch gestapelt (Auto-Stack). Der HTML-Export erzeugt vollständige Media Queries.
📄 Seitenverwaltung
Ein Projekt kann beliebig viele Seiten enthalten. Seiten lassen sich benennen, verschieben, duplizieren, importieren und als Vorlagen (Templates) markieren – neue Seiten können dann per Deepcopy auf einer Vorlage basieren. Masterseiten definieren gemeinsame Elemente (z. B. Header, Footer), die auf allen zugehörigen Seiten automatisch erscheinen.
🎨 Globale Designvariablen
Projektweite Farb- und Schrift-Variablen, die mit beliebig vielen Elementen verknüpft
werden können. Ändert sich eine Variable, aktualisieren sich alle verknüpften Elemente
sofort. Im HTML-Export erscheinen sie als CSS Custom Properties
(:root { --bb-name: value; }).
📤 Export und Veröffentlichung
- HTML exportieren (Strg+E): Erzeugt eine vollständige HTML-Datei pro Seite, inklusive eingebettetem CSS, Media Queries und JavaScript.
- FTP-Veröffentlichung (Strg+P): Direktes Hochladen auf einen Webserver aus dem Programm heraus – kein separates FTP-Programm nötig.
- Browser-Vorschau (Strg+Shift+P): Öffnet die aktuelle Seite im Standard-Browser für eine realistische Vorschau.
↩ Undo-Verlauf mit Jump-to-State
Alle Aktionen sind unbegrenzt rückgängig machbar (Strg+Z). Das Undo-Verlauf-Panel zeigt die komplette History als klickbare Liste – per Klick auf einen Eintrag springt die Seite direkt auf diesen Zustand zurück.
🔧 Anpassbare Oberfläche
Toolbars, das linke Werkzeuge-Panel und die Dock-Panels sind frei konfigurierbar: Buttons ein-/ausblenden, Reihenfolge per Drag & Drop ändern. Panel-Farben (Titelleisten, Inhaltsbereiche, Abschnittsüberschriften) sind unter Ansicht → Darstellungs-Einstellungen frei wählbar. Das 2-Spalten-Dock-Layout rechts (Eigenschaften + Tabs für Effekte, Design-Variablen, Undo-Verlauf) passt sich der Arbeitssituation an.
Weitere Features
- Smart Snap: Elemente rasten an Kanten, Mitten und Hilfslinien ein
- Raster (Strg+Shift+G): einblendbares Ausrichtungsgitter mit einstellbarer Schrittweite
- Format Painter (Strg+Shift+C): Stil eines Elements auf andere übertragen
- Suchen & Ersetzen (Strg+F): in Texten und Element-Namen
- Ebenen-Panel: Stapelreihenfolge, Sichtbarkeit, Sperren, Gruppen
- Duplizieren (Strg+D): Auswahl mit einem Tastendruck kopieren
- Google Fonts: Eigene Schriften direkt aus dem Eigenschaften-Panel
- Anker-Links: In-Page-Navigation mit
<a id="..."> - HTML-Quelltext-Editor: Globaler und pro-Element-JavaScript/CSS-Code
- Externe HTML-Seiten: Bestehende HTML-Dateien ins Projekt einbinden
- Multi-Select: Mehrere Elemente gemeinsam verschieben und skalieren
- Element-Ausrichten (Bearbeiten → Ausrichten): Mehrere markierte Elemente links/rechts/oben/unten ausrichten, horizontal/vertikal zentrieren oder gleichmäßig verteilen (mind. 2 Elemente auswählen). Shortcuts: Strg+Shift+←↑→↓ für Kanten, Strg+Alt+H / Strg+Alt+M für Zentrierung
Panel-Layout
2-Spalten-Anordnung rechts
Der rechte Dock-Bereich ist in zwei Spalten aufgeteilt:
| Linke Spalte | Rechte Spalte (Tabs) |
|---|---|
| Eigenschaften-Panel (immer sichtbar) |
Effekte & Animation 🎨 Design-Variablen ↩ Undo-Verlauf |
Die Tabs der rechten Spalte erscheinen oben. Beim ersten Start und nach „Panel-Layout zurücksetzen" (Ansicht-Menü) wird diese Anordnung automatisch wiederhergestellt.
Optionale Panels öffnen und schließen
Ansicht-Menü → 🎨 Design-Variablen oder ↩ Undo-Verlauf (Häkchen = sichtbar). Der Zustand wird sofort gespeichert und beim nächsten Start automatisch wiederhergestellt – auch nach Versions-Updates.
Undo-Verlauf-Panel
Das Undo-Verlauf-Panel zeigt alle gespeicherten Zustände der aktuellen Seite als klickbare Timeline an. Damit lässt sich jeder frühere Zustand direkt anspringen.
Panel öffnen
Ansicht-Menü → ↩ Undo-Verlauf (Häkchen = sichtbar).
Das Panel erscheint als Tab in der rechten Spalte neben Effekte & Animation.
Jump-to-State – Zustand direkt anspringen
Panel-Farben einstellen
Ansicht → 🎨 Darstellungs-Einstellungen… → Abschnitt Panel-Farben.
Verfügbare Farbwähler
| Gruppe | Farben |
|---|---|
| Linke Panels Masterseiten, Seiten, Ebenen |
Titel-Hintergrund · Titel-Text · Inhalt-Hintergrund |
| Rechte Panels Eigenschaften, Effekte, Design-Vars, Undo |
Titel-Hintergrund · Titel-Text · Inhalt-Hintergrund |
| Abschnitte Textkontur, Animation, Hover-Effekte … |
Hintergrund · Hover-Hintergrund · Hover-Text |
Autosave
Bolzenbraus speichert Projekte automatisch in regelmäßigen Abständen als Sicherheitskopie – falls das Programm unerwartet abstürzt oder der Rechner ausgeht.
Einstellungen
Einstellungen → 💾 Autosave…:
- Autosave aktiviert – ein/ausschalten
- Intervall – 1 bis 60 Minuten (Standard: 5 Minuten)
So funktioniert es
meinprojekt.bolzen.autosave
neben der Projektdatei abgelegt. In der Statusleiste erscheint kurz „💾 Autosave: …"..autosave-Datei automatisch gelöscht.Scroll-Schutz in Panels
Zahlenfelder (SpinBox), Dropdowns (ComboBox) und Schieberegler
(Slider) in allen Panels reagieren nicht auf das Mausrad,
solange sie keinen Tastaturfokus haben.
Wert ändern: Erst ins Feld klicken, dann Mausrad oder Tastatur benutzen.
Panel scrollen: Einfach über das Panel scrollen – kein Feld verändert sich.
Globale Designvariablen
Panel öffnen
Ansicht-Menü → 🎨 Design-Variablen (Häkchen = sichtbar).
Variable anlegen
Variable mit Element verknüpfen
Variable ändern → automatische Propagierung
Doppelklick auf eine Variable → Wert ändern → OK.
Alle verknüpften Elemente aktualisieren sich sofort auf dem Canvas.
Verknüpfung lösen
Element auswählen → Eigenschaft im Dropdown wählen → ✂ Trennen.
Das Element behält seinen aktuellen Farbwert, ist aber nicht mehr gebunden.
HTML-Export
:root {
--bb-primaerfarbe: #1a3d6b;
--bb-akzentfarbe: #ff6600;
}
<div style="background-color:var(--bb-primaerfarbe);">
Bindbare Eigenschaften
| Eigenschaft | Gilt für | CSS-Ausgabe |
|---|---|---|
| 🟥 Hintergrundfarbe | Text, Bild, HTML, Tabelle … | background-color: var(--bb-…) |
| 🔲 Rahmenfarbe | Text-Element | border: Xpx solid var(--bb-…) |
| 🔶 Füllfarbe (Form) | Form-Element | SVG-Füllung |
| 🔷 Form-Rahmenfarbe | Form-Element | border: Xpx solid var(--bb-…) |
Seiten-Template (Vorlagen)
Eine Seite kann als Vorlage markiert werden. Neue Seiten lassen sich dann auf dieser Vorlage basieren – alle Elemente und Seiteneinstellungen werden per Deepcopy übertragen, die neue Seite ist vollständig unabhängig.
Seite als Vorlage markieren
Neue Seite auf Basis einer Vorlage
Vorlage-Markierung aufheben
Rechtsklick auf die Vorlage-Seite → 📄 Vorlage aufheben.
| Anzeige | Bedeutung |
|---|---|
| 📄★ Name [Vorlage] | Als Vorlage markiert (lila) |
| Normaler Seitenname | Keine Vorlage |
Werkzeuge-Panel anpassen
Rechtsklick auf das linke Werkzeuge-Panel → „🔧 Werkzeuge anpassen…"
- Checkboxen: Buttons ein- oder ausblenden
- ⠿-Symbol: Reihenfolge per Drag & Drop ändern
- Einstellungen werden automatisch gespeichert
| Button | Funktion | Shortcut |
|---|---|---|
| 🎨 Format Painter | Stil zwischen Elementen übertragen | Strg+Shift+C |
| 📝 Text | Textblock einfügen | Strg+T |
| 🖼 Bild | Bild einfügen | Strg+I |
| 🌐 HTML | HTML-Block einfügen | Strg+H |
| ⊞ Tabelle | Tabelle einfügen | Strg+Shift+T |
| 👁 Vorschau | Browser-Vorschau öffnen | Strg+Shift+P |
| 🔍 Suchen | Suchen & Ersetzen | Strg+F |
Vollständige Shortcut-Übersicht
| Shortcut | Funktion |
|---|---|
| Strg+N | Neues Projekt |
| Strg+O | Projekt öffnen |
| Strg+S | Projekt speichern |
| Strg+Z | Rückgängig |
| Strg+Y | Wiederherstellen |
| Strg+C | Kopieren |
| Strg+X | Ausschneiden |
| Strg+V | Einfügen |
| Strg+D | Auswahl duplizieren (20 px versetzt) |
| Strg+T | Textblock einfügen |
| Strg+I | Bild einfügen |
| Strg+H | HTML-Block einfügen |
| Strg+Shift+T | Tabelle einfügen |
| Strg+Shift+V | Video einfügen |
| Strg+Shift+C | Format Painter (Stil kopieren) |
| Strg+Alt+V | Stil einfügen |
| Strg+G | Gruppe erstellen |
| Strg+Alt+G | Gruppe auflösen |
| Strg+Shift+G | Raster ein-/ausblenden |
| Strg+Shift+← | Ausrichten: Links |
| Strg+Shift+→ | Ausrichten: Rechts |
| Strg+Shift+↑ | Ausrichten: Oben |
| Strg+Shift+↓ | Ausrichten: Unten |
| Strg+Alt+H | Ausrichten: Horizontal zentrieren |
| Strg+Alt+M | Ausrichten: Vertikal zentrieren (Mitte) |
| Strg+F | Suchen & Ersetzen |
| Strg+E | HTML exportieren |
| Strg+P | Per FTP veröffentlichen |
| Strg+Shift+P | Browser-Vorschau |
| Strg+1/2/3 | Desktop/Tablet/Mobil-Layout |
| Esc | Format Painter abbrechen |
Versionshistorie
| Version | Highlights |
|---|---|
| v5.47 | Rücknahme des DPI-Teils aus v5.46: Der dort eingebaute Aufruf SetProcessDpiAwareness war ein Fehlgriff und wurde durch die Konsolenausgabe des Nutzers widerlegt („SetProcessDpiAwarenessContext() failed: Zugriff verweigert – Qt's default DPI awareness context is DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2"). Qt 6 setzt bereits selbst den besten Modus; da die Prozess-DPI-Awareness unter Windows nur einmal gesetzt werden kann, verdrängte der eigene Aufruf Qts besseren V2-Kontext durch den älteren v1 und erzeugte bei jedem Start eine Fehlermeldung. Aufruf entfernt, Qt-Standard wiederhergestellt. Die eigentliche Ursache der Nutzermeldung war der Toolbar-Schriftgrößen-Bug aus v5.46 – vom Nutzer als behoben bestätigt. Zwei neue Regressionstests (Test40NoManualDpiAwareness) verhindern den Wiedereinbau. 508 Tests |
| v5.46 | Toolbar-Button-Schrift war 1:1 an die Icon-Pixelgröße gekoppelt (immer ~1,8× zu groß gegenüber der 9pt-Programmschrift, screenshot-belegt) – jetzt proportional (pt = f(Icongröße), 9 pt bei Standardgröße), 4 neue Tests (Test41ToolbarFontSizeProportional). Zusätzlich testweise Windows-Prozess-DPI-Awareness gesetzt – siehe v5.47, dort wieder entfernt |
| v5.44 | Absturz bei Ansicht → Darstellungs-Einstellungen behoben: Der Dialog stürzte beim Öffnen sofort mit einem internen Programmierfehler ab (Variable 'work' wurde verwendet, bevor sie zugewiesen war – Rest einer Methoden-Extraktion aus v4.4). Fix: Rückgabewert wird jetzt korrekt entgegengenommen. Drei neue Regressionstests (Test39DisplaySettingsWorkBinding) verhindern ein Wiederauftreten (502 Tests) |
| v5.43 | Thread-Lifecycle-Fix im Link-Checker: Der Extern-Check-Worker wird beim Schließen des Dialogs kontrolliert beendet (requestInterruption + wait; hängende Threads werden geparkt statt vom GC zerstört – Absturz-Ursache). Callback gegen RuntimeError gekapselt, Doppelstart verhindert, offener Dialog wird per raise_()/activateWindow() wiederverwendet. VBS-Versionsstempel aktualisiert (neuer Konsistenz-Test), toter base64-Import entfernt. Neue Testklasse Test38LinkCheckerThreadLifecycle (499 Tests) |
| v5.42 | Build-Härtung + Paket-Vollständigkeit: bolzenbraus.ico ist fester Paketbestandteil; build-Skripte prüfen alle Voraussetzungen (Python, PyQt6, Pillow, PyInstaller, Icon), installieren fehlende pip-Pakete automatisch nach, nutzen 'python -m PyInstaller' und warnen bei zu kleiner EXE. Neuer Test (Test37PackageCompleteness) sichert die Paket-Vollständigkeit (486 Tests) |
| v5.41 | Code-Cleanup nach intensivem statischem Review: toter Import QTransform entfernt (nirgends verwendet), dazugehöriger wirkungsloser Test sowie drei doppelte, sich gegenseitig überschreibende Testmethoden bereinigt. Rein technisch, keine Funktionsänderung (484 Tests) |
| v5.40 | Doku-Kennzahlen dauerhaft abgesichert: Neue Testklasse (Test36DocMetricsConsistency) prüft bei jedem Testlauf, dass die in README und Programmbeschreibung genannten Metriken – Klassen-, Methoden-, Test- und Testklassenzahl – exakt mit dem Code übereinstimmen (Pendant zu check_renderer_scope.py für die Doku). Zuvor liefen die Zahlen still auseinander (README 454, Code 482). Alle Werte auf kanonische Zahlen korrigiert (72 Klassen, 746 Methoden); 3 neue Tests (485 gesamt) |
| v5.39 | Render-Zeitfenster strukturell gehärtet: Aufräumen nach Export/Vorschau/FTP/Quelltext in einer zentralen Methode (_restore_after_render) gebündelt – eine Quelle der Wahrheit. Schließt die Wurzel der v5.35/v5.36-Daten-Korruption, behebt eine Lücke in der In-App-Vorschau, Cleanup doppelter @staticmethod (482 Tests gesamt) |
| v5.38 | Master-Dekoration im Export korrekt im Hintergrund: Formen/Bilder/Texte der Masterseite lagen vor dem Seiteninhalt (Dreiecke über Navigation/Video). Master-Elemente werden im Export jetzt markiert → Dekoration hinter dem Inhalt, Navigation bleibt vorne. Test31 erweitert (475 gesamt) |
| v5.37 | Bugfix: Dekorative Formen (große/gedrehte Dreiecke) blockierten im Export darunterliegende Links wie die Navigation. Formen ohne Klick-Funktion/Hover sind jetzt klick-durchlässig (pointer-events:none). 3 neue Tests (472 gesamt) |
| v5.36 | Zweiter Daten-Korruptions-Pfad geschlossen: Autospeicher konnte während Export/Vorschau/FTP/Quelltext Master-Elemente fest in die Seite einbrennen. Zentrale Render-Sperre verhindert das. 5 neue Tests (469 gesamt) |
| v5.35 | Wichtiger Bugfix (Daten-Korruption): HTML-Quelltext-Ansicht stellte die Bearbeitungsansicht nicht wieder her → Master-Dekoration brannte sich beim Speichern fest in die Seite ein („Objekte kopieren sich von selbst"). Behoben + 6 neue Tests |
| v5.34 | Bugfix Masterseiten-Z-Reihenfolge: Master-Dekoration lag im Export/in der Vorschau vor dem Seiteninhalt; jetzt korrekt im Hintergrund, Master-Navigation weiterhin im Vordergrund |
| v5.28 | HTML-Datei-Texteditor (Einstellungen → „✏ HTML-Datei bearbeiten…"): externe .html-Dateien als Rohtext öffnen, bearbeiten und speichern; Suchen & Ersetzen mit Vorwärts/Rückwärts, Live-Treffer-Zähler, Groß-/Kleinschreibung und Ganz-Wort-Option |
| v3.63 | Suchen & Ersetzen: neue Checkbox „Alle Seiten" – durchsucht und ersetzt Text auf allen Projektseiten gleichzeitig |
| v3.62 | Bugfix: Sidebar-Nav bekam fälschlich width:100vw im Tablet-Breakpoint; jetzt nur noch bei horizontalen Navs |
| v3.61 | Bugfix: Deduplication von Masterelementen an korrekte Stelle in _build_html() verschoben |
| v3.60 | Bugfix: Nav-Element erschien dreifach im exportierten HTML durch Master-Page-Duplikate; Deduplication per elem_id |
| v3.59 | Bugfix: Export verwendete Mobil-Positionen statt Desktop wenn Projekt in Mobil-Modus gespeichert wurde |
| v3.58 | Bild-Optimierung (WebP) deaktiviert – Seiteneffekte auf Nav-Darstellung; Export wieder mit shutil.copy2 |
| v3.57 | Seiteneinstellungen: „Seite aus Navigation ausschließen" – 404-Seite automatisch ausgeblendet; gilt für NavCanvasItem und globale Navigation |
| v3.56 | Burger-Menü: Breakpoint von 1024 px auf 768 px gesenkt (aktiviert nur noch auf Smartphones) |
| v3.55 | Bild-Optimierung beim Export: WebP-Konvertierung + Skalierung auf max. 1920 px (Pillow); Fallback auf Copy wenn Pillow fehlt |
| v3.54 | Text-Editor: Dark Mode wird bei weißem/hellem Text automatisch aktiviert |
| v3.53 | Anker-Links: Dropdown im LinkDialog zeigt verfügbare Anker-IDs der aktuellen Seite |
| v3.52 | 404-Fehlerseite: Button im Seiten-Panel, automatisch noindex gesetzt; Handbuch: fixe Sidebar-Navigation mit Scrollspy und Zurück-nach-oben-Button |
| v3.51 | Responsive Vorschau: aktiver Viewport hervorgehoben, Auto-Sync mit Canvas-Breakpoint, Desktop-Reset-Bugfix |
| v3.50 | SEO-Felder pro Seite (Open Graph, Twitter Card, robots, lang, canonical); Datei → Projekt schließen; Seiteneinstellungen mit Scrollbalken; Favicon-Picker + Datei wird beim Export mitkopiert; OG-Bild wird beim Export mitkopiert; Toolbar: Seite/Export/FTP oben, Vorschau ganz rechts; Bugfixes: Export-Crash, modified-Flag bei Drag/Resize, export_dir NameError |
| v3.49 | Mastodon/Signal/Threema: URL-Feld leer vorbelegt statt Placeholder-Text; Fallback auf Plattform-Homepage wenn keine URL; Validierung vor Speichern |
| v3.48 | Social-Media-Buttons (15 Plattformen, Inline-SVG, kein CDN); Dark Mode; ZIP-Export (Projekt + Website); Signal + Threema |
| v3.47 | Cookie-Banner-Element (DSGVO, position:fixed, localStorage) |
| v3.46 | Sitemap priority pro Seite; Shortcut-Anpassung |
| v3.45 | Galerie/Slider mit Lightbox; In-App-Vorschau (WebEngine) |
| v3.44 | Bugfix: _check_optional_deps() blockierte den Start (3×60 s Timeout) → Programm scheinbar eingefroren; Handbuch-CSS-Bug (pre code) behoben |
| v3.43 | Bugfix: QRadioButton fehlte im PyQt6-Import → NameError beim Öffnen des FTP-Dialogs |
| v3.42 | Code-Review: 7 tote Methoden + 4 unbenutzte Imports entfernt; sinnloser for-pass-Loop entfernt; Globale Navigation (Legacy) im Einstellungen-Menü zugänglich gemacht |
| v3.41 | Modul-Docstring auf v3.41 aktualisiert (v3.36–v3.41 ergänzt); toter _apply_onclick-Stub in PropertiesPanel entfernt; redundanter QTimer-noqa-Reimport entfernt |
| v3.40 | EXE-Icon: bolzenbraus.ico mit 6 Größen (16–256px), PyInstaller-Spec aktualisiert |
| v3.39 | Undo über Seitenwechsel: Strg+Z wechselt bei Bedarf die Seite; Undo-Panel zeigt Seiten-Hinweis |
| v3.38 | Ausrichten-Shortcuts (Strg+Shift+Pfeil, Strg+Alt+H/M); Shortcut-Konflikt Strg+Shift+G gefixt; Import-Reihenfolge bereinigt |
| v3.37 | Über-Dialog: Versionshistorie + Kurzreferenz aktualisiert; closeEvent-Bug gefixt |
| v3.36 | Handbuch: EXE läuft ohne Python-Installation dokumentiert |
| v3.35 | PyInstaller-Spec Bugfix (version=None), Shell-Skripte Linux/macOS, Handbuch: Starten dokumentiert |
| v3.34 | Code-Review: Autosave Multi-Tab-Bug, doppelte Methoden, Imports konsolidiert, Copyright 2026 |
| v3.33 | Autosave konfigurierbar (Interval + Ein/Aus in Darstellungs-Einstellungen) |
| v3.33 | Seiteneinstellungen-Dialog breiter, Text umbrechend |
| v3.29 | Autosave: automatische Sicherheitskopie alle n Minuten |
| v3.28 | Legacy-Navigation aus Menü entfernt |
| v3.27 | Strg+D: Duplizieren; Strg+Shift+G: Raster ein-/ausblenden |
| v3.26 | Scroll-Schutz in allen Dialogen (BolzenDialog-Basisklasse) |
| v3.25 | Panel-Sichtbarkeit korrekt gespeichert (toggleViewAction + QTimer) |
| v3.22 | Dock-Reiter oben (setTabPosition North) |
| v3.21 | Panel-Farben in Darstellungs-Einstellungen konfigurierbar (9 Farbwähler) |
| v3.20 | GroupBox-Abschnitte dunkler (#d0d0d0), VERSION-Konstante gefixt |
| v3.19 | Panel-Titelfarben abgemildert (Stahlblau/Sandbeige), Panel-Sichtbarkeit persistiert |
| v3.18 | Scroll-Schutz endgültig: StrongFocus auf alle Eingabefelder |
| v3.17 | Panel-Titelleisten farblich klar unterscheidbar |
| v3.16 | Scroll-Schutz auf ComboBox und Slider ausgeweitet |
| v3.15 | Rechter Dock 2 Spalten, Seiten-Template, Undo-Verlauf-Panel |
| v3.14 | Globale Designvariablen, Werkzeuge-Panel anpassbar, Panel-Farben |
| v3.13 | Multi-Select Resize, Format Painter, Suchen & Ersetzen, Snap-Indikator |
| v3.10–v3.12 | Externe HTML, Auto-Stack Mobile, HTML-Quelltext-Editor, Smart Snap |
| v3.7–v3.9 | Freie Panel-Anordnung, Viewport-Vorschau, Tablet CSS-Zoom |
| v3.5–v3.6 | Toolbar anpassbar, skalierbare Icons |
| v3.0–v3.4 | Responsives Design, Breakpoints, Google Fonts, Drehung, Nav-Block, Formulare |
Systemvoraussetzungen & Starten
bolzenbraus_v5_47.exe
starten (siehe unten „▶ Empfohlen: Fertige EXE starten") – kein Python, kein PyQt6,
keine Installation nötig. Die Python-Voraussetzungen unten gelten nur für den
Quellcode-Start (z. B. unter Linux/macOS) oder wenn du die EXE selbst bauen willst.
- Python 3.10 oder neuer (nur für Quellcode-Start bzw. EXE-Build – nicht für die fertige EXE nötig)
- PyQt6 (
pip install PyQt6) (ebenfalls nur für Quellcode-Start bzw. Build) - Windows 10/11, Linux, macOS
▶ Empfohlen: Fertige EXE starten (Windows, kein Python nötig)
Die einfachste und sicherste Startart unter Windows: Doppelklick auf
bolzenbraus_v5_47.exe. Python und PyQt6 sind darin bereits vollständig
eingebettet – auf dem Rechner, auf dem die EXE läuft, muss nichts installiert
werden, kein Python, kein PyQt6, kein Terminal.
bolzenbraus_v5_47.exe in einen beliebigen Ordner legen (z. B. Eigene Dateien\Bolzenbraus).Alternative: Direkt aus dem Python-Quellcode starten
Sinnvoll unter Linux/macOS (dort gibt es keine EXE), oder für Entwickler, die am Code mitarbeiten. Setzt eine lokale Python- und PyQt6-Installation voraus (siehe Systemvoraussetzungen oben).
▶ Windows
Doppelklick auf start_bolzenbraus.bat – oder im Terminal:
python bolzenbraus.py
▶ Linux
Terminal öffnen, in den Programmordner wechseln:
cd /pfad/zum/ordner
python3 bolzenbraus.py
Oder das mitgelieferte Shell-Skript verwenden (einmalig ausführbar machen):
chmod +x start_bolzenbraus.sh
./start_bolzenbraus.sh
PyQt6 installieren falls nicht vorhanden:
pip3 install PyQt6
▶ macOS
Terminal öffnen (Spotlight: Cmd+Leertaste → „Terminal"):
cd /pfad/zum/ordner
python3 bolzenbraus.py
Oder Shell-Skript:
chmod +x start_bolzenbraus.sh
./start_bolzenbraus.sh
PyQt6 installieren:
pip3 install PyQt6
# Bei Homebrew-Python oder neuem macOS ggf.:
pip3 install --break-system-packages PyQt6
pip install --upgrade PyQt6
⚙ EXE erstellen (Windows, PyInstaller)
Für Entwickler/Ersteller – so entsteht die unter „▶ Empfohlen" beschriebene fertige EXE.
Die mitgelieferte bolzenbraus.ico wird automatisch als EXE-Icon verwendet (6 Größen: 16–256 px).
Doppelklick auf build_bolzenbraus.bat – oder im Terminal:
python -m PyInstaller bolzenbraus_v5_47.spec --noconfirm
Die fertige EXE liegt danach unter dist\bolzenbraus_v5_47.exe – diese Datei ist es,
die Endnutzer:innen anschließend einfach per Doppelklick starten (siehe oben).
bolzenbraus_v5_47.exe doppelklicken.
version_info.txt ermöglicht vollständige
Windows-EXE-Metadaten (Dateiversion, Produktname, Copyright im Eigenschaften-Dialog).
Um sie zu aktivieren, in der .spec-Datei die Zeileversion=Noneersetzen durch:
version='version_info.txt'
📱 Social-Media-Buttons v3.48
Mit dem Social-Media-Buttons-Element fügst du Profil-Links zu deinen Social-Media-Auftritten ein – als saubere Inline-SVG-Icons ohne externe Abhängigkeiten (kein CDN, kein Tracking).
Element einfügen
Klicke in der Toolbar auf 📱 Social. Der Einstellungen-Dialog öffnet sich sofort.
Verfügbare Plattformen
Alle Plattformen sind standardmäßig deaktiviert. Du wählst per Häkchen genau die aus, die du benötigst:
| Plattform | Standard-URL-Prefix |
|---|---|
| https://facebook.com/ | |
| https://instagram.com/ | |
| X (Twitter) | https://x.com/ |
| YouTube | https://youtube.com/@ |
| TikTok | https://tiktok.com/@ |
| https://linkedin.com/in/ | |
| https://wa.me/ | |
| Telegram | https://t.me/ |
| https://pinterest.com/ | |
| GitHub | https://github.com/ |
| https://xing.com/profile/ | |
| Mastodon | Feld leer – vollständige Profil-URL eingeben, z. B. https://mastodon.social/@deinnameoder https://fosstodon.org/@deinnameOhne URL: Link zur Mastodon-Startseite |
| Signal | Feld leer – Format: https://signal.me/#p/+49XXXXXXXXXXOhne Nummer: Link zur Signal-Website |
| Threema | Feld leer – Format: https://threema.id/ABCDEFGHOhne ID: Link zur Threema-Website |
| mailto: |
Stil-Optionen
- Form: Rund (Kreis) oder Eckig (abgerundetes Rechteck)
- Größe: Klein (28 px) · Mittel (40 px) · Groß (56 px)
- Farbe: Markenfarben (jede Plattform in ihrer offiziellen Farbe) · Monochrom (Dunkelgrau) · Eigene Farbe (freie Wahl)
- Anordnung: Horizontal (nebeneinander) oder Vertikal (untereinander)
- Beschriftung: Optional den Plattformnamen unter jedem Icon anzeigen
Export
Beim HTML-Export werden alle Icons als Inline-SVG direkt in die HTML-Datei eingebettet. Kein externer Font, kein CDN, kein Tracking-Request. Die Links öffnen in einem neuen Tab (target="_blank"), E-Mail-Links im selben Tab.
Hinweise
- Mastodon, Signal, Threema: Diese Felder sind leer vorbelegt – trage deine vollständige Profil-URL ein. Ohne URL verlinkt der Button auf die allgemeine Plattform-Startseite.
- WhatsApp: Nutze das internationale Format ohne + und Leerzeichen (z. B.
https://wa.me/491701234567) - Die Icons sind hover-animiert (leichte Transparenz beim Überfahren)
🌙 Dark Mode v3.48
Über Einstellungen → 🌙 Dark Mode lässt sich die App-Oberfläche auf ein dunkles Erscheinungsbild umschalten. Der Canvas selbst (die weiße Seite) bleibt dabei immer hell – Dark Mode betrifft nur die App-Chrome (Menüs, Panels, Dialoge, Toolbar).
Die Einstellung wird automatisch gespeichert und beim nächsten Start wiederhergestellt.
📦 ZIP-Export v3.48
Im Menü Datei stehen zwei ZIP-Export-Funktionen bereit:
📦 Projekt als ZIP sichern
Erstellt ein portables ZIP-Archiv mit der .bolzen-Projektdatei und dem kompletten images/-Ordner. Das ZIP kann auf einem anderen Rechner entpackt und direkt geöffnet werden – alle Bilder bleiben verknüpft.
🗜 Website als ZIP exportieren
Führt den HTML-Export durch und verpackt alle generierten Dateien (HTML-Seiten, Bilder, Sitemap) in ein ZIP-Archiv. Ideal zum Weitergeben oder direkten Hochladen auf den Webserver – einfach entpacken, fertig.
🔍 SEO-Felder pro Seite v3.50
Jede Seite kann jetzt mit vollständigen SEO-Meta-Tags versehen werden. Die Einstellungen findest du unter Datei → Seiteneinstellungen → SEO / Meta-Tags.
Verfügbare Felder
| Feld | Wirkung |
|---|---|
| Meta-Beschreibung | <meta name="description"> – Kurzbeschreibung für Suchmaschinen (120–160 Zeichen empfohlen) |
| Sprache (lang=) | <html lang="de"> – war vorher hardcodiert auf "de", jetzt pro Seite einstellbar |
| Robots | <meta name="robots"> – steuert ob Suchmaschinen die Seite indexieren sollen |
| OG-Titel | <meta property="og:title"> – Titel beim Teilen in Social Media (leer = Seitentitel) |
| OG-Beschreibung | <meta property="og:description"> – Beschreibung beim Teilen (leer = Meta-Beschreibung) |
| Kanonische URL | <link rel="canonical"> + <meta property="og:url"> |
| OG-Bild | <meta property="og:image"> – Vorschaubild beim Teilen (Empfehlung: 1200×630 px) |
Twitter Card
Wird automatisch aus den Open-Graph-Feldern befüllt – kein separater Aufwand nötig. Im Export erscheinen twitter:card, twitter:title, twitter:description und twitter:image.
Robots-Optionen
| Einstellung | Bedeutung |
|---|---|
| index, follow | Seite indexieren, Links folgen (Standard) |
| noindex, follow | Seite nicht indexieren (z. B. Danke-Seite nach Formular) |
| index, nofollow | Seite indexieren, Links nicht folgen |
| noindex, nofollow | Seite komplett aus Suchmaschinen ausschließen |
❌ Projekt schließen v3.50
Unter Datei → Projekt schließen lässt sich das aktive Projekt-Tab schließen. Bei ungespeicherten Änderungen erscheint eine Rückfrage. Wird das letzte Tab geschlossen, öffnet Bolzenbraus automatisch ein neues leeres Projekt.
Hinweis: Dasselbe war vorher nur über das ✕-Symbol direkt am Tab möglich.
🔧 Toolbar-Layout v3.50
Die obere Toolbar wurde neu geordnet. Häufig genutzte Aktionen sind jetzt direkt erreichbar:
| Position | Buttons |
|---|---|
| Toolbar oben links | ⬜ Neu · 📂 Öffnen · 💾 Speichern | ↩ Rückgängig · ↪ Wiederherstellen | ⚙ Seite · 📤 Export · 🌐 FTP |
| Toolbar oben rechts | 👁 Vorschau (ganz rechts, immer sichtbar) |
| Toolbar unten | Alle Element-Werkzeuge (Text, Bild, Galerie, …) |
Die Toolbar ist weiterhin vollständig anpassbar unter Ansicht → Toolbar anpassen – dort können Buttons per Drag & Drop umsortiert und ein- oder ausgeblendet werden.
🌐 Favicon v3.50
Das Favicon wird unter Datei → Seiteneinstellungen → Favicon per Datei-Explorer ausgewählt. Unterstützte Formate: .ico, .png, .svg, .gif, .jpg.
Beim Export wird die Favicon-Datei automatisch in das Export-Verzeichnis kopiert und im <head> als relativer Pfad eingetragen:
<link rel="icon" href="favicon.ico">
Hinweis: Empfohlen ist eine quadratische .ico- oder .png-Datei (32×32 oder 64×64 px). Browser zeigen das Favicon im Tab und in Lesezeichen an.
📱 Responsive Vorschau v3.51
Die In-App-Vorschau (Ansicht → In-App Vorschau oder Strg+Shift+P) zeigt die Seite direkt in Bolzenbraus – ohne externen Browser. Über die Viewport-Buttons kann die Breite live umgeschaltet werden:
| Button | Breite | Entspricht |
|---|---|---|
| 🖥 Desktop | volle Breite | normaler Bildschirm |
| ⬜ Tablet | 768 px | iPad / Tablet-Querformat |
| 📱 Mobil | 375 px | iPhone / Android-Hochformat |
Der aktive Modus wird blau hervorgehoben. Beim Öffnen der Vorschau wird automatisch der aktive Canvas-Breakpoint übernommen – wer also im Tablet-Modus arbeitet, sieht die Vorschau direkt bei 768 px.
Hinweis: Die Vorschau benötigt PyQt6-WebEngine. Falls der Button fehlt, muss das Paket manuell installiert werden: pip install PyQt6-WebEngine
🚫 404-Fehlerseite v3.52
Im Seiten-Panel gibt es den Button 404. Ein Klick legt eine neue Seite mit dem Dateinamen 404.html und dem Namen „404 – Seite nicht gefunden" an.
Die Seite wird beim Export wie jede andere Seite exportiert. Damit sie als Fehlerseite funktioniert, muss der Hoster entsprechend konfiguriert sein:
| Hoster / Server | Konfiguration |
|---|---|
| Apache | ErrorDocument 404 /404.html in .htaccess |
| Nginx | error_page 404 /404.html; in der Server-Konfiguration |
| Netlify / GitHub Pages | Automatisch – 404.html wird erkannt |
| Strato / IONOS | Im Hosting-Panel unter „Fehlerseiten" eintragen |
Hinweis: Die 404-Seite wird automatisch mit robots: noindex, nofollow versehen – sie soll nicht in Suchmaschinen erscheinen.