Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
5dc92fc
Fix home-relative images in Snap
albert-gee Jul 22, 2026
57c4b3f
Add document outline support and improve heading ID generation
albert-gee Jul 25, 2026
d8dc1d9
Refactor theme color handling and improve accent color resolution. Ad…
albert-gee Jul 26, 2026
77d1211
Add titlebar overlay and modal scrim. Add contained control backgroun…
albert-gee Jul 29, 2026
56683bf
Add GitHub Actions workflow for Flutter Linux build and verification
albert-gee Jul 30, 2026
282dfe9
Add locale management for BusyMark with support for multiple languages
albert-gee Jul 30, 2026
b5a8f01
Add modal barrier depth management and improve visibility handling
albert-gee Jul 30, 2026
c6b764c
Improve modal barrier handling and add sidebar header styling
albert-gee Jul 30, 2026
4228b2c
Add modal barrier color customization and improve header menu behavio…
albert-gee Jul 30, 2026
1accf05
Add accelerator key management for model buttons and menu items. Enha…
albert-gee Jul 30, 2026
7d8c890
Add native menu support with shortcut handling and session management…
albert-gee Jul 30, 2026
11cb717
Add icon support for model buttons in native menus. Enhance button pr…
albert-gee Jul 30, 2026
c673e3c
Add header menu shadow color and native popover styling. Introduce ne…
albert-gee Jul 30, 2026
95ef6ca
Enhance settings screen with initial page handling and sidebar naviga…
albert-gee Jul 31, 2026
2897f2d
Refactor settings screen to use BusyMarkPopupSelector for theme mode,…
albert-gee Jul 31, 2026
f978c6d
Remove unused native menu state CSS generation to streamline code and…
albert-gee Jul 31, 2026
a14df12
Add dynamic CSS generation for native menu hover states to enhance UI…
albert-gee Jul 31, 2026
8a26ced
Enhance tooltip styling and integration across the application. Intro…
albert-gee Jul 31, 2026
70e123f
Update localization descriptions for discard buttons to clarify funct…
albert-gee Jul 31, 2026
5879480
Refactor WYSIWYG editor and workspace controller to improve file hand…
albert-gee Jul 31, 2026
c22e8ff
Bump version to 0.2.3 and update metadata across application files. E…
albert-gee Jul 31, 2026
8bc7fc5
Add BusyMarkDestructiveButtonStyle for consistent styling of destruct…
albert-gee Jul 31, 2026
69eeb47
Refactor gesture handling in WYSIWYG editor and related components to…
albert-gee Jul 31, 2026
0b279ba
Disable highlight when menu is open in workspace screen for improved …
albert-gee Jul 31, 2026
cdae0ef
Disable highlight when menu is open in workspace screen for improved …
albert-gee Jul 31, 2026
b88e7a6
Refactor WYSIWYG editor to use ScrollablePositionedList for improved …
albert-gee Jul 31, 2026
5603351
Refactor native menu handling to improve structure and add input laye…
albert-gee Aug 2, 2026
18a8cc8
Refactor markdown parsing and source editor components for improved p…
albert-gee Aug 2, 2026
a46ab64
Refactor native menu handling. Refactor header bar configuration to r…
albert-gee Aug 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions .github/workflows/flutter-linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Flutter Linux

on:
pull_request:
branches: [main]
push:
branches: [main]

jobs:
verify:
runs-on: ubuntu-latest

steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Install Linux build dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
clang \
cmake \
ninja-build \
pkg-config \
libgtk-3-dev \
libhandy-1-dev

- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: stable
cache: true

- name: Enable Linux desktop
run: flutter config --enable-linux-desktop

- name: Resolve dependencies
run: flutter pub get

- name: Generate localizations
run: flutter gen-l10n

- name: Verify generated files are committed
run: git diff --exit-code

- name: Check formatting
run: dart format --set-exit-if-changed .

- name: Analyze
run: flutter analyze

- name: Test
run: flutter test

- name: Build Linux release
run: flutter build linux --release
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,11 @@ Store listing translations are managed outside `snap/snapcraft.yaml`.

## Build Linux Locally

Source builds require the libhandy development headers. Packaged users receive
the runtime library with BusyMark and do not install development packages.

```bash
sudo apt-get install libhandy-1-dev
flutter build linux
```

Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/app_ar.arb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"@appTitle": {
"description": "Application name."
},
"appSubtitle": "محرر وثائق متوافق مع Markdown وWriterside.",
"appSubtitle": "محرر لملفات Markdown ومشاريع التوثيق المتوافقة مع Writerside.",
"@appSubtitle": {
"description": "Short application description."
},
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/app_de.arb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"@appTitle": {
"description": "Application name."
},
"appSubtitle": "Markdown- und Writerside-kompatibler Dokumentationseditor.",
"appSubtitle": "Editor für Markdown-Dateien und Writerside-kompatible Dokumentationsprojekte.",
"@appSubtitle": {
"description": "Short application description."
},
Expand Down
6 changes: 3 additions & 3 deletions lib/l10n/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"@@locale": "en",
"appTitle": "BusyMark",
"@appTitle": {"description": "Application name."},
"appSubtitle": "Markdown and Writerside-compatible documentation editor.",
"appSubtitle": "Editor for Markdown files and Writerside-compatible documentation projects.",
"@appSubtitle": {"description": "Short application description."},
"aboutBusyMark": "About BusyMark",
"@aboutBusyMark": {"description": "Menu item and tooltip for the About dialog."},
Expand Down Expand Up @@ -106,7 +106,7 @@
"delete": "Delete",
"@delete": {"description": "Delete command label."},
"discard": "Discard",
"@discard": {"description": "Discard unsaved changes button label."},
"@discard": {"description": "Destructive button that throws away unsaved editor changes. Translate it distinctly from Cancel."},
"editor": "Editor",
"@editor": {"description": "Editor view label."},
"file": "File",
Expand Down Expand Up @@ -442,7 +442,7 @@
"closeUnsavedChangesCancel": "Cancel",
"@closeUnsavedChangesCancel": {"description":"Cancel button label in the window close unsaved-changes dialog."},
"closeUnsavedChangesDiscard": "Discard",
"@closeUnsavedChangesDiscard": {"description":"Discard button label in the window close unsaved-changes dialog."},
"@closeUnsavedChangesDiscard": {"description":"Destructive button that closes BusyMark without saving editor changes. Translate it distinctly from Cancel."},
"closeUnsavedChangesSave": "Save",
"@closeUnsavedChangesSave": {"description":"Save button label in the window close unsaved-changes dialog."},
"currentFile": "current file",
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/app_es.arb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"@appTitle": {
"description": "Application name."
},
"appSubtitle": "Editor de documentación para Markdown y proyectos compatibles con Writerside.",
"appSubtitle": "Editor de archivos Markdown y proyectos de documentación compatibles con Writerside.",
"@appSubtitle": {
"description": "Short application description."
},
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/app_fa.arb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"@appTitle": {
"description": "Application name."
},
"appSubtitle": "ویرایشگر مستندات Markdown و پروژه‌های سازگار با Writerside.",
"appSubtitle": "ویرایشگر فایل‌های Markdown و پروژه‌های مستندسازی سازگار با Writerside.",
"@appSubtitle": {
"description": "Short application description."
},
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/app_fr.arb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"@appTitle": {
"description": "Application name."
},
"appSubtitle": "Éditeur de documentation Markdown compatible avec Writerside.",
"appSubtitle": "Éditeur de fichiers Markdown et de projets de documentation compatibles avec Writerside.",
"@appSubtitle": {
"description": "Short application description."
},
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/app_hi.arb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"@appTitle": {
"description": "Application name."
},
"appSubtitle": "Markdown और Writerside-संगत दस्तावेज़ीकरण संपादक।",
"appSubtitle": "Markdown फ़ाइलों और Writerside-संगत दस्तावेज़ीकरण परियोजनाओं का संपादक।",
"@appSubtitle": {
"description": "Short application description."
},
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/app_it.arb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"@appTitle": {
"description": "Application name."
},
"appSubtitle": "Editor di documentazione Markdown compatibile con Writerside.",
"appSubtitle": "Editor per file Markdown e progetti di documentazione compatibili con Writerside.",
"@appSubtitle": {
"description": "Short application description."
},
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/app_nb.arb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"@appTitle": {
"description": "Application name."
},
"appSubtitle": "Dokumentasjonsredigerer for Markdown og Writerside-kompatibel dokumentasjon.",
"appSubtitle": "Redigerer for Markdown-filer og Writerside-kompatible dokumentasjonsprosjekter.",
"@appSubtitle": {
"description": "Short application description."
},
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/app_pl.arb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"@appTitle": {
"description": "Application name."
},
"appSubtitle": "Edytor dokumentacji Markdown zgodny z Writerside.",
"appSubtitle": "Edytor plików Markdown i projektów dokumentacji zgodnych z Writerside.",
"@appSubtitle": {
"description": "Short application description."
},
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/app_pt.arb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"@appTitle": {
"description": "Application name."
},
"appSubtitle": "Editor de documentação compatível com Markdown e Writerside.",
"appSubtitle": "Editor de arquivos Markdown e projetos de documentação compatíveis com o Writerside.",
"@appSubtitle": {
"description": "Short application description."
},
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/app_ru.arb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"@appTitle": {
"description": "Application name."
},
"appSubtitle": "Редактор Markdown-документации и проектов, совместимых с Writerside.",
"appSubtitle": "Редактор файлов Markdown и проектов документации, совместимых с Writerside.",
"@appSubtitle": {
"description": "Short application description."
},
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/app_uk.arb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"@appTitle": {
"description": "Application name."
},
"appSubtitle": "Редактор документації Markdown, сумісний із Writerside.",
"appSubtitle": "Редактор файлів Markdown і проєктів документації, сумісних із Writerside.",
"@appSubtitle": {
"description": "Short application description."
},
Expand Down
6 changes: 3 additions & 3 deletions lib/l10n/generated/app_localizations.dart
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ abstract class AppLocalizations {
/// Short application description.
///
/// In en, this message translates to:
/// **'Markdown and Writerside-compatible documentation editor.'**
/// **'Editor for Markdown files and Writerside-compatible documentation projects.'**
String get appSubtitle;

/// Menu item and tooltip for the About dialog.
Expand Down Expand Up @@ -429,7 +429,7 @@ abstract class AppLocalizations {
/// **'Delete'**
String get delete;

/// Discard unsaved changes button label.
/// Destructive button that throws away unsaved editor changes. Translate it distinctly from Cancel.
///
/// In en, this message translates to:
/// **'Discard'**
Expand Down Expand Up @@ -1407,7 +1407,7 @@ abstract class AppLocalizations {
/// **'Cancel'**
String get closeUnsavedChangesCancel;

/// Discard button label in the window close unsaved-changes dialog.
/// Destructive button that closes BusyMark without saving editor changes. Translate it distinctly from Cancel.
///
/// In en, this message translates to:
/// **'Discard'**
Expand Down
3 changes: 2 additions & 1 deletion lib/l10n/generated/app_localizations_ar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ class AppLocalizationsAr extends AppLocalizations {
String get appTitle => 'BusyMark';

@override
String get appSubtitle => 'محرر وثائق متوافق مع Markdown وWriterside.';
String get appSubtitle =>
'محرر لملفات Markdown ومشاريع التوثيق المتوافقة مع Writerside.';

@override
String get aboutBusyMark => 'حول BusyMark';
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/generated/app_localizations_de.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class AppLocalizationsDe extends AppLocalizations {

@override
String get appSubtitle =>
'Markdown- und Writerside-kompatibler Dokumentationseditor.';
'Editor für Markdown-Dateien und Writerside-kompatible Dokumentationsprojekte.';

@override
String get aboutBusyMark => 'Über BusyMark';
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/generated/app_localizations_en.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class AppLocalizationsEn extends AppLocalizations {

@override
String get appSubtitle =>
'Markdown and Writerside-compatible documentation editor.';
'Editor for Markdown files and Writerside-compatible documentation projects.';

@override
String get aboutBusyMark => 'About BusyMark';
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/generated/app_localizations_es.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class AppLocalizationsEs extends AppLocalizations {

@override
String get appSubtitle =>
'Editor de documentación para Markdown y proyectos compatibles con Writerside.';
'Editor de archivos Markdown y proyectos de documentación compatibles con Writerside.';

@override
String get aboutBusyMark => 'Acerca de BusyMark';
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/generated/app_localizations_fa.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class AppLocalizationsFa extends AppLocalizations {

@override
String get appSubtitle =>
'ویرایشگر مستندات Markdown و پروژه‌های سازگار با Writerside.';
'ویرایشگر فایل‌های Markdown و پروژه‌های مستندسازی سازگار با Writerside.';

@override
String get aboutBusyMark => 'دربارهٔ BusyMark';
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/generated/app_localizations_fr.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class AppLocalizationsFr extends AppLocalizations {

@override
String get appSubtitle =>
'Éditeur de documentation Markdown compatible avec Writerside.';
'Éditeur de fichiers Markdown et de projets de documentation compatibles avec Writerside.';

@override
String get aboutBusyMark => 'À propos de BusyMark';
Expand Down
3 changes: 2 additions & 1 deletion lib/l10n/generated/app_localizations_hi.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ class AppLocalizationsHi extends AppLocalizations {
String get appTitle => 'BusyMark';

@override
String get appSubtitle => 'Markdown और Writerside-संगत दस्तावेज़ीकरण संपादक।';
String get appSubtitle =>
'Markdown फ़ाइलों और Writerside-संगत दस्तावेज़ीकरण परियोजनाओं का संपादक।';

@override
String get aboutBusyMark => 'BusyMark के बारे में';
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/generated/app_localizations_it.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class AppLocalizationsIt extends AppLocalizations {

@override
String get appSubtitle =>
'Editor di documentazione Markdown compatibile con Writerside.';
'Editor per file Markdown e progetti di documentazione compatibili con Writerside.';

@override
String get aboutBusyMark => 'Informazioni su BusyMark';
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/generated/app_localizations_nb.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class AppLocalizationsNb extends AppLocalizations {

@override
String get appSubtitle =>
'Dokumentasjonsredigerer for Markdown og Writerside-kompatibel dokumentasjon.';
'Redigerer for Markdown-filer og Writerside-kompatible dokumentasjonsprosjekter.';

@override
String get aboutBusyMark => 'Om BusyMark';
Expand Down
3 changes: 2 additions & 1 deletion lib/l10n/generated/app_localizations_pl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ class AppLocalizationsPl extends AppLocalizations {
String get appTitle => 'BusyMark';

@override
String get appSubtitle => 'Edytor dokumentacji Markdown zgodny z Writerside.';
String get appSubtitle =>
'Edytor plików Markdown i projektów dokumentacji zgodnych z Writerside.';

@override
String get aboutBusyMark => 'O aplikacji BusyMark';
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/generated/app_localizations_pt.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class AppLocalizationsPt extends AppLocalizations {

@override
String get appSubtitle =>
'Editor de documentação compatível com Markdown e Writerside.';
'Editor de arquivos Markdown e projetos de documentação compatíveis com o Writerside.';

@override
String get aboutBusyMark => 'Sobre BusyMark';
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/generated/app_localizations_ru.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class AppLocalizationsRu extends AppLocalizations {

@override
String get appSubtitle =>
'Редактор Markdown-документации и проектов, совместимых с Writerside.';
'Редактор файлов Markdown и проектов документации, совместимых с Writerside.';

@override
String get aboutBusyMark => 'О приложении BusyMark';
Expand Down
2 changes: 1 addition & 1 deletion lib/l10n/generated/app_localizations_uk.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class AppLocalizationsUk extends AppLocalizations {

@override
String get appSubtitle =>
'Редактор документації Markdown, сумісний із Writerside.';
'Редактор файлів Markdown і проєктів документації, сумісних із Writerside.';

@override
String get aboutBusyMark => 'Про BusyMark';
Expand Down
Loading
Loading