settings.visibility.public
Watch
1
Fork
You've already forked Gnome-Scratchpad
0
0

Latest commit

gavnir
229d6ab 2026-10-21 13:00:44 +02:00 1 commit
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00
2026-10-21 13:00:44 +02:00

Scratchpad for GNOME Shell


Scratchpad GNOME Shell kiterjesztés

Minimalista gyorsjegyzet-kezelő a GNOME felső paneljén.

Támogatott GNOME Shell verzió: 50, 51.

Képernyőképek

Scratchpad GNOME Shell felület

További képernyőképek (Beállítások, Töredékek)
Beállítások Töredékek
Beállítások ablak Kódok

Funkciók

  • Három jegyzetlap: Jegyzetek (Notes), Töredékek (Snippets), Piszkozat (Scratch). A lapok átnevezhetők, és egyenként kikapcsolhatók.
  • Sima Markdown fájlok: pad_1.md, pad_2.md, pad_3.md a ~/.local/share/gnome-scratchpad/ mappában (a mappa állítható). Bármilyen szerkesztővel módosíthatók, Syncthinggel, Gittel vagy Nextclouddal szinkronizálhatók.
  • Atomi mentés: átmeneti fájl -> fsync -> átnevezés a Gio.File.replace_contents segítségével; a jogosultságok és a szimbolikus linkek megmaradnak. A mentések laponként sorban futnak, így egy régebbi mentés nem írhat felül egy újabbat.
  • Automatikus mentés 400 ms-mal a gépelés után, azonnal lapváltáskor, az ablak bezárásakor, Ctrl+S-re és a kiterjesztés letiltásakor (képernyőzár).
  • Külső módosítások követése: Gio.FileMonitor figyeli a mappát, megnyitáskor és lapváltáskor az mtime is ellenőrizve van. A mentetlen helyi szerkesztés elsőbbséget kap.
  • Markdown kiemelés (címsorok, félkövér, dőlt, idézet, listák, feladatlista, vízszintes vonal), Enterre folytatódó listák.
  • Szintaxiskiemelés 20 nyelvre (Markdown, Python, Bash, JavaScript, TypeScript, C, C++, C#, Java, Go, Rust, PHP, SQL, HTML, CSS, JSON, YAML, TOML, Dockerfile, Diff): a Töredékek lapon automatikus felismeréssel, a többi lapon a ``` blokkokban.
  • Mentés fájlba a lap nevével egyező almappába (Notes/, Snippets/, Scratch/ vagy az egyedi név), előzmények lista betöltéssel és törléssel (lomtárba), exportálás és betöltés a fájlválasztó portálon keresztül.
  • Törlés visszavonással: előtte pad_N.md.bak mentés készül, és 5 másodpercig látszik a visszavonás sáv.
  • Szó- és karakterszámláló, mentési állapot.
  • Gyorsbeállítások a felugró ablakban: sortörés, szintaxis- és Markdown-kiemelés, betűméret (6-24 pt).
  • Megjelenés: legördülő ablak vagy teljes magasságú oldalsáv balra/jobbra; az ablak egérrel átméretezhető (szélesség 250-1400 px, magasság 200-1200 px).
  • Globális gyorsbillentyű (alapértelmezett: Super+Alt+N), panelpozíció (bal / közép / jobb), a panelikon elrejthető. A felület a rendszer kiemelőszínét használja, és követi a csökkentett mozgás beállítást (GNOME 51).
  • Fordítás: magyar.

Gyorsbillentyűk

Gyorsbillentyű Művelet
Super+Alt+N (globális) Felugró ablak megnyitása / bezárása
Escape Ablak bezárása és mentetlen szerkesztések mentése
Ctrl+S Azonnali mentés
Ctrl+Shift+S Aktív jegyzet mentése fájlba
Ctrl+Shift+E Exportálás...
Ctrl+Shift+H Előzmények megnyitása / bezárása
Ctrl+Shift+C Aktív jegyzet teljes szövegének másolása
Ctrl+1 / Ctrl+2 / Ctrl+3 Váltás az 1. / 2. / 3. jegyzetlapra
Ctrl+PgUp / Ctrl+PgDn Előző / következő jegyzetlap
Tab Tabulátor karakter beszúrása

Telepítés

Közvetlen letöltés (Előre csomagolt változatok)

A packages/ mappából közvetlenül letölthetők az előre összeállított csomagok:

Felhasználói telepítés forrásból

./build.sh install
# Wayland esetén jelentkezz ki, majd be, ezt követően:
gnome-extensions enable scratchpad@gavnir

Arch Linux (rendszerszintű csomag / Pacman)

# Pacman csomag építése:
./build.sh pacman

# Telepítés pacman segítségével:
sudo pacman -U dist/gnome-shell-extension-scratchpad-1.0.4-1-any.pkg.tar.zst

# Vagy közvetlenül a makepkg-vel:
cd packaging/arch
makepkg -si

Fejlesztés

./build.sh nested                            # devkit GNOME Shell indítása (Wayland)
journalctl -f -o cat /usr/bin/gnome-shell    # naplóbejegyzések megtekintése
./build.sh pot                               # fordítási sablon frissítése és .po fájlok összefésülése

GNOME 50 és 51 megjegyzések

  • A beviteli események kezelése Clutter vezérlőkkel (Clutter.KeyController, Clutter.ClickGesture) történik az elavult key-press-event / button-press-event helyett.
  • Az elrendezések az orientation tulajdonságot használják (a vertical megszűnt a GNOME 51-ben).
  • A disable() szinkron lefutású; a folyamatban lévő lemezműveletek a háttérben fejeződnek be.

Fájlstruktúra

extension.js   életciklus, gyorsbillentyű-kezelés, panel elhelyezés
indicator.js   panel gomb + felugró felület, szerkesztő logika
storage.js     atomi fájltárolás, mtime követés, könyvtárfigyelő
prefs.js       libadwaita beállítóablak
syntax.js      szintaxiskiemelő motor
languages/     nyelvi tokenizálók (20 nyelv)
stylesheet.css stíluslap
schemas/       GSettings sémafájlok
po/            fordítások (.po és .pot)
packaging/     arch pacman PKGBUILD és telepítő

Scratchpad for GNOME Shell

Minimalist quick notes in the GNOME top bar.

Supports GNOME Shell 50 and 51.

Screenshots

Scratchpad for GNOME Shell

More screenshots (Preferences, Snippets)
Preferences Snippets
Preferences Window Snippets pad

Features

  • Three pads: Notes, Snippets, Scratch. Pads can be renamed and individually disabled.
  • Plain Markdown files: pad_1.md, pad_2.md, pad_3.md in ~/.local/share/gnome-scratchpad/ (configurable). Editable with any tool, syncable with Syncthing / Git / Nextcloud.
  • Atomic writes: temp file -> fsync -> rename via Gio.File.replace_contents; file permissions and symlinks are kept. Writes are serialized per pad, so an older save can never land after a newer one.
  • Auto-save 400 ms after typing stops, and immediately on tab switch, popup close, Ctrl+S and extension disable (screen lock).
  • External changes are picked up: a Gio.FileMonitor watches the notes directory and the mtime is re-checked on popup open / tab switch. Unsaved local edits win.
  • Markdown styling (headings, bold, italic, quotes, lists, task lists, horizontal rules); Enter continues lists.
  • Syntax highlighting for 20 languages (Markdown, Python, Bash, JavaScript, TypeScript, C, C++, C#, Java, Go, Rust, PHP, SQL, HTML, CSS, JSON, YAML, TOML, Dockerfile, Diff): auto-detected on the Snippets pad, inside ``` fences on the other pads.
  • Save to file into a per-pad subfolder (Notes/, Snippets/, Scratch/ or the custom name), a history list to reload or trash saved files, and export / open through the file chooser portal.
  • Undoable clear: pad_N.md.bak is written first, then a 5-second undo banner is shown.
  • Word and character counter, save status.
  • Quick settings in the popup: word wrap, syntax and Markdown highlighting, font size (6-24 pt).
  • Display as a dropdown popup or a full-height sidebar on the left or right; resizable with the mouse (width 250-1400 px, height 200-1200 px).
  • Global toggle shortcut (default Super+Alt+N), panel position (left / center / right), optional panel icon. Uses the system accent colour and follows the reduced-motion setting (GNOME 51).
  • Translations: Hungarian.

Keyboard shortcuts

Shortcut Action
Super+Alt+N (global) Open / close the popup
Escape Close the popup and flush unsaved edits
Ctrl+S Save now
Ctrl+Shift+S Save active pad to file
Ctrl+Shift+E Export...
Ctrl+Shift+H Toggle the history list
Ctrl+Shift+C Copy the whole active pad
Ctrl+1 / Ctrl+2 / Ctrl+3 Switch to pad 1 / 2 / 3
Ctrl+PgUp / Ctrl+PgDn Previous / next pad
Tab Insert a tab character

Installation

Direct Download (Pre-built packages)

Download ready-to-use packages directly from the packages/ directory:

User install from source

./build.sh install
# Wayland: log out and back in, then
gnome-extensions enable scratchpad@gavnir

Arch Linux (system-wide / Pacman)

# Build pacman package:
./build.sh pacman

# Install using pacman:
sudo pacman -U dist/gnome-shell-extension-scratchpad-1.0.4-1-any.pkg.tar.zst

# Or directly with makepkg:
cd packaging/arch
makepkg -si

Development

./build.sh nested                            # devkit GNOME Shell (Wayland)
journalctl -f -o cat /usr/bin/gnome-shell    # logs
./build.sh pot                               # refresh translation template and merge .po files

GNOME 50 & 51 notes

  • Input handling uses Clutter controllers (Clutter.KeyController, Clutter.ClickGesture) instead of the deprecated key-press-event / button-press-event signals.
  • Layouts use orientation (the vertical property was removed in 51).
  • disable() is synchronous; pending writes finish in the background.

Layout

extension.js   lifecycle, keybinding, panel placement
indicator.js   panel button + popup UI, editor logic
storage.js     atomic pad storage, mtime tracking, directory monitor
prefs.js       libadwaita preferences
syntax.js      syntax highlighting engine
languages/     language tokenizers (20 languages)
stylesheet.css styling
schemas/       GSettings schema
po/            translations (.po and .pot)
packaging/     arch pacman PKGBUILD and install script

License

GPL-3.0-only.