Skip to content
This repository was archived by the owner on Sep 22, 2026. It is now read-only.
CoJoA13Public archive

About

Borealis — a full KDE Plasma 6 Global Theme: aurora wallpapers (static and animated), frosted Plasma style, Aurorae decorations, cursors, icons, sounds, boot splash, GTK4 colours and a tweaks app, all generated from one palette

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Borealis — a Global Theme for KDE Plasma 6

build & check

Aurora over the mountains: ink-navy nights and polar-dawn days, periwinkle and aurora-teal accents, frosted 12 px surfaces and pill-shaped titlebar buttons. Built for Fedora 44 / Plasma 6.7.

Borealis Dark Borealis Light
Borealis Dark Borealis Light
Alt+Tab switcher Kate / KWrite
Alt+Tab switcher Borealis Dark editor theme

GTK4 / libadwaita app in Borealis Dark and Light

Borealis Tweaks Firefox
Borealis Tweaks Firefox with the Borealis chrome

The GRUB menu

The dock Quick Settings
Borealis Dock Borealis Quick Settings

What's inside

Component Name(s) Notes
Global Themes Borealis Dark, Borealis Light A pair for Plasma's automatic day/night switching
Color schemes BorealisDark, BorealisLight Every text color meets WCAG AA (4.5:1) — tools/contrast.py checks it
Plasma Style Borealis Frosted (≈80 % + blur), 12 px corners, pill task indicators, Borealis checkboxes, radios, switches, aurora progress bars and spinner
Window decoration Borealis-Dark / -Light (Aurorae) Teal · periwinkle · rose pills; glyphs appear on hover
Task switcher built into each Global Theme Frosted card of rounded window previews (Alt+Tab)
Wallpaper Borealis Procedural aurora: night (dark) and dawn (light)
Animated wallpaper Borealis Aurora GPU-shader aurora + twinkling stars, for desktop and lock screen; pauses behind maximized windows, eases off on battery, and can follow the real aurora
Cursors Borealis Snow (dark), Borealis Ink (light) SVG cursors + Xcursor fallbacks, aurora spinner
Icons Borealis-Dark / -Light Aurora-gradient folders, squircle icons for common apps, Borealis logo — on top of Tela
Sounds Borealis Soft glassy chimes (E-major pentatonic) for login, notifications, devices, battery…
Fonts Inter + JetBrains Mono Set by the Global Themes (install the fonts first, see below)
Splash screen built into each Global Theme Logo, wordmark and an aurora progress bar
Boot splash Borealis (Plymouth) Same logo and aurora spinner from power-on
Desktop layout built into each Global Theme Floating top bar (launcher, global menu, centered clock, tray) + floating dock
Konsole / Kate Borealis Dark / Light Terminal schemes + profiles, editor themes
Dock Borealis Dock A standalone macOS-style dock: icons swell above the shelf, running dots, pinned ┆ open ┆ trash, drag to reorder or pull off to unpin, three hide modes, any screen edge, live window previews, Launchpad, Stacks, clock/battery/now-playing widgets and shareable presets (--dock; a panel-widget version remains as the fallback)
Top bar Borealis Bar A standalone top bar: the Borealis menu, the app's menus, a centred clock with notifications and a calendar, tray icons, USB drives and a Control Center (--bar; a Plasma panel remains the fallback)
Quick Settings Borealis Quick Settings Wi-Fi, Bluetooth, Night Light, power profile, light/dark, animated wallpaper, brightness and volume in one popup
Tweaks app Borealis Tweaks Switch variant, remix the palette onto any colour, toggle the animated aurora, undo
Firefox borealis-userChrome.css Toolbars, tabs, address bar and menus in Borealis (--firefox)
GRUB menu Borealis Aurora boot menu, so power-on to desktop is one look (--grub)
Command line bat, tmux, git, ls, fzf, bash prompt One palette for the terminal's contents too (--terminal)
GTK4 / libadwaita borealis-libadwaita.css Borealis surfaces and the exact accent for GNOME apps, light/dark live (GTK3 apps already follow via Breeze-GTK)

Install

sudo dnf install rsms-inter-fonts jetbrains-mono-fonts   # optional but intended
./install.sh

./install.sh copies everything into ~/.local/share without changing your current look. Then choose Borealis Dark or Borealis Light in System Settings › Colors & Themes › Global Theme. Tick Desktop and window layout only if you want the top bar + dock (it replaces your current panels).

Or apply from the terminal — it backs up your settings first and prints the undo command:

./install.sh --apply dark --live
Option (with --apply) Effect
--layout also use the Borealis panels
--auto Borealis Light by day, Borealis Dark at night
--live animated aurora on the desktop and lock screen
--konsole make the Borealis profile Konsole's default
--gtk Borealis colors for GTK4/libadwaita apps
--flatpak same for Flatpak apps (implies --gtk; gives every Flatpak read-only access to ~/.config/gtk-4.0)
--terminal bat, tmux, git, ls, fzf and prompt colors (adds one line to ~/.bashrc)
--firefox Borealis chrome for Firefox (writes into your Firefox profile)
--panels put the dock and Quick Settings into the panels you already have
--dock switch to the standalone Borealis Dock (runs now and at login; your pins come along)
--dock-revert back to the panel dock
--dock-merge --dock, and fold the rest of your bottom panel (tray, clock) into the top bar

--apply also sets the Borealis wallpaper on the lock screen (Fedora otherwise pins its own) and switches to the Borealis sound theme.

To undo: ./uninstall.sh --restore ~/.local/state/borealis-backup/<timestamp>. To remove the files: switch to another Global Theme, then ./uninstall.sh --remove.

Animated wallpaper

Desktop › Configure Desktop and Wallpaper › Wallpaper type › Borealis Aurora (and the same under Screen Locking › Appearance). Settings: sky (follow the color scheme / always night / always dawn), speed, brightness, twinkling, frame rate, and the power savers. It renders the aurora at half resolution and ~24 fps, stops completely behind maximized/fullscreen windows and when animations are turned off, and on battery slows to 10 fps (or pauses, or keeps going — your choice). On the lock screen it runs at most 15 fps, because Plasma re-renders the wallpaper through a blur there.

Real aurora activity

Wallpaper settings › Real aurora › Follow tonight's actual activity. The wallpaper then asks NOAA's space weather service for the planetary K-index every 20 minutes and scales the aurora to match: barely there on a quiet night, blazing during a storm. It can also notify you when the index reaches 5, which is roughly when an aurora becomes visible at mid latitudes. This is the only part of Borealis that uses the network, it is off by default, and it sends nothing but the request.

Day/night switching

Global Theme › Switch to Dark Mode at Night (Light: Borealis Light, Dark: Borealis Dark) and Configure Day/Night Cycle… — or ./install.sh --apply dark --auto.

Login screen and boot splash (need root)

sudo ./install-system.sh              # system-wide copies for the login screen
sudo ./install-system.sh --plymouth   # also the Borealis boot splash (rebuilds the initramfs)
sudo ./install-system.sh --grub       # and the GRUB menu (rewrites grub.cfg)

Then System Settings › Login Screen › Apply Plasma Settings… and, under Configure Appearance…, pick an image from /usr/local/share/wallpapers/Borealis/. sudo ./install-system.sh --remove undoes the copies; sudo ./install-system.sh --plymouth-revert restores the previous boot splash, --grub-revert puts the plain text boot menu back. tools/grub_mock.py previews the boot menu without rebooting.

Konsole and Kate

  • Konsole: Settings › Manage Profiles › Borealis Dark › Set as Default (or --konsole).
  • Kate/KWrite: Settings › Configure › Appearance › Color Theme › Borealis Dark / Borealis Light.

Notes

  • Window borders follow Window Decorations › Border size (4 px at Normal). Bottom corners stay nearly square: KWin doesn't round window contents.
  • Icons need Tela (in ~/.local/share/icons); without it Borealis falls back to Breeze and keeps its folders, app icons and logo.
  • Lock screen: Plasma 6.7 doesn't let Global Themes replace its layout; Borealis styles it through colors, Plasma Style and the (animated) wallpaper. Plasma always draws the lock-screen clock in white, so the light variant uses a dimmed copy of the dawn wallpaper (Borealis-Lock) to keep it readable.

Rebuild / customize

Everything is generated from Python (PIL, pycairo, librsvg via GObject; Qt's qsb compiles the shaders; ffmpeg encodes the sounds):

./build.py                  # everything → build/share
./build.py plasmastyle      # or one step: colors apps cursors wallpaper plasmastyle
                            #   aurorae icons sounds live plymouth gtk terminal lnf
tools/check.py              # QML, SVG, JSON, package, Plymouth and WCAG checks
tools/contrast.py           # just the WCAG audit, pair by pair
tools/tweakscheck.py        # every Borealis Tweaks page, narrow and wide, off-screen
tools/barcheck.py           # the bar's Control Center, every page and edit mode, with stand-in backends
tools/plasmacheck.py        # what each Plasma settings page and desktop preset writes, into a throwaway config
tools/testsession.py dark   # screenshots from an isolated, off-screen Plasma session
tools/package.py            # KDE Store archives → dist/ (see STORE.md)

With make installed, make, make check, make test, make package and make apply wrap the same scripts.

Palette, radii and translucency live in src/tokens.py.

The Borealis Bar

Borealis Bar takes the place of the top Plasma panel with a bar drawn like the dock: a floating frosted strip that turns flush and solid while a window is maximized.

./install.sh --bar          # start it, keep it at login, retire the top panel (backed up)
./install.sh --bar-revert   # back to a Plasma top panel
  • The Borealis menu at the left: About This Computer, System Settings, Borealis Tweaks, Force Quit the app in front, Sleep, Restart, Shut Down, Lock Screen and Log Out.
  • The name of the app in front and its menus (File, Edit, View…), the way Plasma's global menu shows them. With one open, move along the titles to switch menus.
  • The clock in the middle. Click it for your notifications beside a calendar, with Do Not Disturb; a dot by the time means something new arrived. The bar is the desktop's notification server, so new notifications (and file copy progress) show up as banners under it, buttons and all.
  • Apps' tray icons: click, right-click for their menu, middle-click, scroll.
  • A drive icon while a USB stick or memory card is plugged in: open it, or remove it safely.
  • The Control Center: battery and session buttons, sliders (screen brightness, volume, microphone, keyboard light), what's playing, and round toggles for Wi-Fi, Bluetooth, Night Light, the power mode, dark style, Do Not Disturb, the animated aurora and Stay Awake, with Airplane Mode, Hotspot, Microphone, Keyboard Light, Screenshot and Record Screen a click away.
    • A toggle's arrow opens its page: join a Wi-Fi network (typing a new one's password right there), connect or disconnect a Bluetooth device, pick where sound plays and set each app's volume, choose a power mode, silence notifications for an hour or until morning, share the connection as a hotspot, or capture a region, a window or the screen.
    • The pencil turns on edit mode: drag toggles into the order you like, take one out with −, add another from the list below.

Everything is on the Bar and Control Center pages of Borealis Tweaks and applies as you change it: the look, which items sit left, middle or right, the clock, where banners appear, which tray icons show, and the Control Center's toggles, sliders and the icons on its button. The pages write ~/.config/borealis/bar.json, which the bar watches: screen, height, floating, gap, radius, opacity, blur, border, flush, left, center, right, clockDate, clockWeekday, clockSeconds, clockHours, banners, bannerPosition, pills, sliders, media, glyphs, batteryPercent, trayHidden.

How it fits together: KWin shares its list of windows (which is where the menu of the app in front comes from) only with programs it trusts by their .desktop entry. The bar runs under a private copy of the Python interpreter (~/.local/share/borealis-bar/bin/borealis-bar) that its entry names, so only that copy gets the list, not every Python program. Plasma's own libraries do the rest: notifications, network, Bluetooth, sound and brightness. The bar runs as a systemd user service (systemctl --user status borealis-bar).

The dock and Quick Settings

Borealis Dock is its own small app rather than a panel widget, so nothing caps it: icons swell above the shelf the way a Mac dock's do, with the icon under the pointer staying put while its neighbours make room.

./install.sh --dock          # start it, keep it at login, retire the panel dock
./install.sh --dock-revert   # back to the panel dock
  • Pinned apps, a divider, apps that are open but not pinned, another divider, the trash. A dot marks running apps; the front app's dot takes the accent.
  • Click an app to bring it forward; click the front app to minimise it (or to step through its windows); middle-click for a new window; scroll over an icon to cycle windows. Launching apps bounce until their window appears.
  • Drag icons to reorder them, drag one off the dock to unpin it, drop an app from the launcher onto the dock to pin it, drop files on an app to open them with it, or on the trash to throw them away.
  • Right-click an icon for its windows, its own actions (a browser's "New Private Window"), New Window, Keep in Dock / Remove from Dock and Quit; right-click the shelf to open Launchpad, pick a preset, or turn hiding or magnification on and off.
  • Hide modes: always visible (windows keep clear of it), dodge windows, or auto-hide; push the pointer against the screen edge to bring it back. Bottom, left or right edge; primary screen, every screen, or the one with the pointer.
  • Click the app in front when it has several windows and they spread out (KWin's Window View) so you can pick one; "Show All Windows" in its menu does the same.
  • Badges and progress: unread counts and download or copy progress that apps publish for their launcher icon (the Unity LauncherEntry API) appear on the icon.
  • Meta+1…9 open or switch to the dock's first nine apps. Plasma keeps those keys for a task manager even when there is none, so the dock sets Plasma's to "none" while its own are on, and hands them back when you turn them off.
  • Stacks: folders next to the trash (Downloads to begin with) show their newest files piled on the icon. Click to fan them out, or see a grid when there are more; click a file to open it, drag it out to use it elsewhere. Right-click a stack to sort it, choose fan or grid, or show the plain folder icon; drop any folder on the dock to add it.
  • Window previews: rest the pointer on an open app and live pictures of its windows appear beside the icon (KWin draws them, so they're live). Move up into them and click one to switch to that window; middle-click or × closes it.
  • Launchpad: the grid icon at the start of the dock, or Meta+Space, lays every app out on a frosted full-screen sheet, a page at a time. Type to search: apps first, then System Settings pages, sums, unit conversions and files from Plasma's runners. Arrows and Return launch, Escape leaves, and dragging an app onto the dock pins it. To open it by tapping Meta on its own, give Meta to "Borealis Dock: Launchpad" in System Settings › Keyboard › Shortcuts (KWin), after taking it off whatever holds it now (by default Plasma's application launcher).
  • Widgets sit before the Stacks: a clock (analog or digital; click it for a calendar), the battery (click for power modes) and now playing (click to play or pause, right-click to skip or switch players). The battery and now playing appear only when there is one.
  • Presets: Borealis, macOS and Minimal from the shelf's menu or the Tweaks page, plus your own. A preset changes the look and behaviour; your apps, Stacks and widgets stay yours unless you save or pick a preset "with apps". Export one to a file to share it, and import files others share.
borealis-dock --list-presets                 # * marks the one in use
borealis-dock --preset macos                 # or a name you saved, or a shared .json file
borealis-dock --export-preset ~/my-dock.json --with-apps
borealis-dock --launchpad                    # bind this to any key or gesture you like

Everything is on the Dock page of Borealis Tweaks (right-click the shelf → Dock Settings… opens it), and applies as you change it. The page writes ~/.config/borealis/dock.json, which the dock watches, so hand edits work too: position, screen, iconSize, zoom, reach, spacing, padding, margin, radius, opacity, blur, border, hide, hideDelay, indicator, labels, bounce, divider, showTrash, animation, clickAction, badges, shortcuts, previews, previewDelay, launchpad, widgets, stacks, pinned. Saved presets live beside it in ~/.config/borealis/dock-presets/.

How it fits together: KWin shares its window list only with plasmashell, so a tiny KWin script (the "Borealis Dock bridge", enabled by --dock) reports the open windows to the dock over D-Bus and carries out its window commands. The dock runs as a systemd user service (systemctl --user status borealis-dock) and needs PySide6 and layer-shell-qt (sudo dnf install python3-pyside6 layer-shell-qt); BOREALIS_DOCK_DEBUG=1 traces both halves.

The panel widget version is still built: the Global Themes' layout uses it whenever the standalone dock isn't installed, and ./install.sh --panels drops it (with Quick Settings) into panels you already have.

Borealis Quick Settings sits in the top bar and opens a popup with Wi-Fi, Bluetooth, Night Light, the power profile, light/dark, the animated wallpaper, and brightness and volume sliders.

Borealis Tweaks (the app)

install.sh also installs a small app — look for Borealis Tweaks in your launcher. The first time it opens, a short welcome tour goes through the choices that shape the desktop most: Dark, Light or day and night, the accent colour, a desktop preset, the dock's size, the Control Center's toggles, and the touchpad and Meta key. Each applies as you pick it, and any can be skipped. Its sidebar has a page for each part of Borealis:

  • Presets set the whole desktop at once: the dock, the bar and its Control Center, the title bar, window corners and effects, and the hot corners. Borealis, Mac-like and Minimal are built in; save your own (they keep the theme and its palette too), import and export them as files, and undo the last one. Your apps, fonts, touchpad and shortcuts are never part of a preset.
  • Theme switches between Dark, Light and day/night, turns the animated aurora on or off, and rebuilds the whole theme around a colour you pick (seven presets or a custom colour).
  • Bar and Control Center set up the Borealis Bar (see above).
  • Dock has every setting of the standalone dock, with presets you can save, import and export. Sliders show their value as you drag.
  • Windows: which title bar buttons show and on which side, how round the window corners are (just the decoration is rebuilt, in a few seconds), the blur and grain behind glass, and how fast things animate.
  • Text & Pointer: each of Plasma's fonts and its size, smoothing, hinting and sub-pixel order, the pointer theme and size, and icon sizes in KDE apps.
  • Touchpad & Keys: tap to click, tap and drag, what a two-finger tap does, right-clicking by the corner or with two fingers, pointer and scroll speed, natural scrolling and staying off while you type; and the shortcuts for Launchpad (a lone Meta too), Overview, the desktop grid, peeking at the desktop, search, locking, screenshots and switching desktops.
  • Desktop: how many virtual desktops, their rows and names; what each hot corner does and whether screen edges switch desktops; night light (sunset to sunrise, at set times or always, and how warm); single or double click.
  • System covers what lives outside Plasma: copying the theme system-wide for the login screen, the boot splash and boot menu, the Inter and JetBrains Mono fonts, GTK and Flatpak apps, Konsole's profile, the command-line colours, Firefox, and restoring any earlier backup.

The Plasma pages write the same settings Plasma's own settings pages do and apply them at once; each section's Reset button returns to the Borealis defaults. The heavy lifting elsewhere is the same build.py, install.sh and install-system.sh used here, so anything it does can be undone from the terminal. Switching between Dark and Light, here or in the Control Center, keeps the fonts and pointer theme you chose yourself, which a Global Theme would otherwise put back. Open it on a page with --page presets (or welcome, theme, bar, controls, dock, windows, text, input, desktop, system), or on the tour with --welcome. It needs PySide6 (sudo dnf install python3-pyside6).

Saved and imported presets are JSON files in ~/.config/borealis/desktop-presets/ (format borealis-desktop-preset), with a section for each part they set: theme, dock, dockApps, bar, controls, windows and desktop. A part a preset leaves out stays as it is. The desktop from before each preset is also written to ~/.local/state/borealis/presets-undo/.

--konsole, --gtk, --flatpak, --terminal and --firefox also work without --apply; they then style the variant you already use:

./install.sh --terminal --gtk

Remix it onto another accent

./build.py --accent "#ff8a5b" --name "Borealis Ember" --out ~/ember/share
./install.sh --from ~/ember/share

Every colour — surfaces, decorations, icons, cursors, both wallpapers, the animated aurora, splash, boot splash, terminal kit and GTK CSS — is rotated around the colour wheel by the angle between your accent and Borealis's periwinkle, and the accent itself appears exactly as given (nudged only if it would fail contrast). Red, amber and green keep their meaning. The remix gets its own package names, so it installs next to the original and both show up in the Global Theme list. --saturation 1.2 makes everything more vivid.

Links

Source: https://github.com/CoJoA13/borealis · Store listing kit: STORE.md

License

GPL-3.0-or-later (see LICENSE). Artwork (wallpapers, logo, icons, cursors, sounds) is original and generated by the scripts in src/. Folder shapes are recolored from the Tela icon theme (GPL-3.0); the splash and switcher QML build on KDE's (GPL-2.0-or-later).

About

Borealis — a full KDE Plasma 6 Global Theme: aurora wallpapers (static and animated), frosted Plasma style, Aurorae decorations, cursors, icons, sounds, boot splash, GTK4 colours and a tweaks app, all generated from one palette

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages