Compare commits

...

630 Commits

Author SHA1 Message Date
b2f601df80 Make empty notification list transparent 2025-11-23 21:46:10 +01:00
25c3fbbef8 Fix toasts 2025-11-23 21:46:10 +01:00
eb9c35a9e5 Add inner bar implementation for notifications 2025-11-23 21:46:10 +01:00
bf000f409c Use a BarItem for the notification pill 2025-11-23 21:46:10 +01:00
ItsLemmy
e3c722fec8 VPN: Minimal support for wireguard + removed opening non existing panel. 2025-11-23 15:11:33 -05:00
Lysec
2f92445e8a Merge pull request #851 from lonerOrz/feat/mm
feat: Add circular progress bar to MediaMini widget
2025-11-23 21:01:33 +01:00
Ly-sec
59678022ac Launcher: hide ClipboardPreview if history is empty 2025-11-23 20:45:47 +01:00
loner
f56109ad35 feat: Add progress ring setting translations for all languages 2025-11-24 03:42:11 +08:00
loner
a5fdf67b05 fix: Optimize MediaMini widget progress ring display 2025-11-24 03:42:11 +08:00
loner
d04ae8a81d feat: Add circular progress bar to MediaMini widget 2025-11-24 03:42:11 +08:00
Ly-sec
81e9419e83 EmojiPlugin: fix emoji icon 2025-11-23 20:36:30 +01:00
Lysec
cbe9dc448b Merge pull request #844 from MrDowntempo/fix/cleaned-up-color-picker
Fixed button margins
2025-11-23 20:01:57 +01:00
Lysec
c15adb5322 Merge pull request #849 from acdcbyl/main
Matugen: Fix cava theme can't hot reload
2025-11-23 20:01:26 +01:00
Aiser
9d3aacc5f1 Matugen: Fix cava theme can't hot reload 2025-11-24 02:56:23 +08:00
Lysec
3f0392d137 Merge pull request #848 from acdcbyl/main
Matugen: Fix telegram theme
2025-11-23 19:47:46 +01:00
Aiser
1d75bf3aec Matugen: Fix telegram theme 2025-11-24 02:37:28 +08:00
Lysec
0d9c4974b3 Merge pull request #836 from acdcbyl/main
Matugen: Add Cava's Theme
2025-11-23 19:31:58 +01:00
Aiser
002df77b78 Matugen: Adjust cava's posthook 2025-11-24 02:23:21 +08:00
Lysec
0f83f25a2e Merge pull request #846 from lonerOrz/fix/cp
Fix shader compilation error in color picker
2025-11-23 19:03:11 +01:00
Lysec
8b6a6b6bce Merge pull request #845 from lonerOrz/feat/cub
feat: Added scrolling to the custom button settings page
2025-11-23 19:02:29 +01:00
loner
676942a942 Fix shader compilation error in color picker 2025-11-24 02:00:28 +08:00
Ly-sec
d6a6341e1a LockScreen: fix hibernate visibility check 2025-11-23 18:32:03 +01:00
loner
60280aa8d4 feat: Added scrolling to the custom button settings page 2025-11-24 00:35:06 +08:00
Corey Woodworth
bbde9f9b10 Fixed button margins 2025-11-23 09:53:27 -05:00
Ly-sec
faa074c330 Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-23 13:08:34 +01:00
Ly-sec
72ce9953b6 BluetoothService: revert to old version 2025-11-23 13:08:29 +01:00
Lysec
7400801dbc Merge pull request #839 from lonerOrz/fix/osd
fix(brightness): Prevent brightness from getting stuck at minimum
2025-11-23 12:36:00 +01:00
loner
b9c12ec14c fix(brightness): Prevent brightness from getting stuck at minimum 2025-11-23 19:14:22 +08:00
Ly-sec
5187c8075b BluetoothService: cleanup 2025-11-23 11:34:32 +01:00
Ly-sec
cfffcdcd24 BluetoothService: more robust connection logic 2025-11-23 11:30:50 +01:00
Ly-sec
634a9b1a86 Notification: fix warning 2025-11-23 11:25:20 +01:00
Lysec
459f89e751 Merge pull request #834 from notiant/patch-3
Some changes for the notification layout & localize timestamps
2025-11-23 10:32:00 +01:00
Ly-sec
1a5888f277 LockScreen: make mouse cursor pointing when hovering over buttons 2025-11-23 10:03:06 +01:00
Aiser
33af5b9ab9 Matugen: Add Cava's Theme 2025-11-23 15:10:38 +08:00
ItsLemmy
4d13cfeedb Battery: BarIcon color changes when charging + Panel refinment (conditional PPD and some alignment) 2025-11-23 00:00:34 -05:00
ItsLemmy
0fe84273df Bluetooth: fix inverted toast messages. 2025-11-22 23:13:01 -05:00
notiant
e34248d5cb Some changes for the notification layout & localize timestamps 2025-11-23 00:51:04 +01:00
ItsLemmy
1ff64efc64 autofmt 2025-11-22 16:50:09 -05:00
Ly-sec
e108a3b45b Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-22 21:11:26 +01:00
Ly-sec
aa34a7ed36 Settings: add telegram
ProgramCheckerService: add check for telegram
2025-11-22 21:10:50 +01:00
ItsLemmy
190392ead7 Location: removed hardcoded max width 2025-11-22 15:10:22 -05:00
Ly-sec
cee39cce58 Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-22 18:04:56 +01:00
Ly-sec
2035895c04 SessionMenuTab: fix warning 2025-11-22 18:04:39 +01:00
Lemmy
a61a40fd7c Merge pull request #811 from shouya/main
Show workspaces from the focused screen
2025-11-22 11:31:22 -05:00
ItsLemmy
3efee10a6b Autofmt 2025-11-22 11:26:15 -05:00
Lemmy
2d1034ece8 Merge pull request #822 from MrDowntempo/feat/SUPER-ColorPicker-DX-ALPHA-PlusPlus
Feat/super color picker dx alpha plus plus
2025-11-22 11:25:44 -05:00
ItsLemmy
69c60a6a5a BatteryPanel: show the powerprofile name in realtime + autofmt 2025-11-22 11:24:21 -05:00
ItsLemmy
1aac585d62 Merge branch 'main' of github.com:noctalia-dev/noctalia-shell 2025-11-22 11:23:48 -05:00
ItsLemmy
a8ec22984a i18n 2025-11-22 11:23:45 -05:00
Ly-sec
7a3b488546 Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-22 17:22:27 +01:00
Ly-sec
6b80da8e63 Merge remote-tracking branch 'origin/shell-state' 2025-11-22 17:21:47 +01:00
Lemmy
9911c722a0 Merge pull request #829 from art0rz/feat/battery-panel
Add BatteryPanel with charge level, power profile settings, prevent sleep toggle, battery health (if available)
2025-11-22 11:20:12 -05:00
ItsLemmy
04fd3b96b2 TaskBarGrouped: dont hide "ShowLabelsOnlyWhenOccupied" to avoid edge case when on an empty workspace. 2025-11-22 11:16:48 -05:00
art0rz
ba8733c5c0 Align battery keep awake naming and slider 2025-11-22 17:15:13 +01:00
art0rz
5cc71b4da2 Add BatteryPanel with charge level, power profile settings, prevent sleep toggle, battery health (if available) 2025-11-22 17:10:26 +01:00
Ly-sec
c3066e1dd5 SystemMonitor: fix vertical layout 2025-11-22 16:53:28 +01:00
ItsLemmy
5ee808e186 Autofmt 2025-11-22 10:44:20 -05:00
ItsLemmy
152c8efaa1 Panels Animation: centralizing more code for easier maintenance. 2025-11-22 10:43:57 -05:00
Lysec
b93b74ae59 Merge pull request #824 from lonerOrz/feat/emoji
Implement emoji picker
2025-11-22 16:12:28 +01:00
Ly-sec
8eaa5cc034 Settings: migration for shellstate is now handled in Settings.qml 2025-11-22 15:40:53 +01:00
ItsLemmy
75bc25747f Panels animation: better fix to break the binding look on animation duration. 2025-11-22 09:35:32 -05:00
Ly-sec
32927aa8a2 LockScreen: adjust wrong password popup 2025-11-22 15:06:52 +01:00
Ly-sec
afd156bbb8 Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-22 14:50:21 +01:00
Ly-sec
24210697bf SetupWizard: check for WallpaperService 2025-11-22 14:50:17 +01:00
Lemmy
f7bdb3f059 Merge pull request #828 from notiant/patch-2
Fix some missing translations
2025-11-22 08:49:43 -05:00
Lysec
c8c6fd7568 PR_TEMPLATE: add interface scaling checkmark 2025-11-22 14:38:13 +01:00
Ly-sec
83d1cbacc7 autofmt 2025-11-22 13:52:45 +01:00
Ly-sec
74ba883dd8 initial commit 2025-11-22 13:51:58 +01:00
ItsLemmy
85ec32336b Panels: allow width animations with horizontal bars. 2025-11-22 07:49:01 -05:00
notiant
9ef788a354 Fix some missing translations 2025-11-22 13:21:01 +01:00
Lysec
01a26fd910 Merge pull request #827 from notiant/patch-1
LockScreen: make 'hibernate' optional
2025-11-22 13:14:53 +01:00
notiant
0293b8c8dd LockScreen: make 'hibernate' optional 2025-11-22 13:04:44 +01:00
Lysec
3914c32c96 Merge pull request #823 from acdcbyl/main
Matugen: Add Telegram's Theme
2025-11-22 13:04:29 +01:00
Lysec
4652691c4c Merge pull request #825 from lonerOrz/fix/tray
Fix inconsistent tray drawer behavior for different mouse buttons
2025-11-22 12:54:30 +01:00
shouya
1b706f8469 update sources for consistent naming 2025-11-22 20:49:55 +09:00
Lysec
679fd5c40e Merge pull request #826 from art0rz/fix/recording-button
Add screen recording loading feedback
2025-11-22 12:49:32 +01:00
Ly-sec
48c5435cef SetupWizard: ensure setuoCompleted is always being saved 2025-11-22 12:46:22 +01:00
shouya
5604d79961 update translations 2025-11-22 20:46:03 +09:00
shouya
7a64758ac8 declare default value for the settings 2025-11-22 19:58:11 +09:00
loner
880ae9c7b9 fix: Fix inconsistent tray drawer behavior for different mouse buttons 2025-11-22 18:03:33 +08:00
loner
c390e97c7a feat: Add emoji plugin translations for all supported languages 2025-11-22 17:34:44 +08:00
loner
8730eb0e71 feat: Add emoji usage tracking and sorting by frequency 2025-11-22 17:34:44 +08:00
loner
1dced9a7bc feat: Implement EmojiService 2025-11-22 17:34:44 +08:00
loner
aa7563838b feat: Implement emoji deduplication with user emoji priority 2025-11-22 17:34:44 +08:00
loner
6dc2bf5a16 feat: Add emoji picker plugin to launcher with category support 2025-11-22 17:34:44 +08:00
Aiser
0f650b36f7 Matugen: Add Telegram's Theme 2025-11-22 14:52:38 +08:00
Corey Woodworth
2c1c1da64c Translations done 2025-11-22 01:12:00 -05:00
Corey Woodworth
0ba80b10a9 removed 'Hex:' from i18n because of numerous translation issues 2025-11-22 01:12:00 -05:00
Corey Woodworth
89d7a63248 removed unneeded 'auto' since it's by default 2025-11-22 01:12:00 -05:00
Corey Woodworth
42f782abbf Update tooltip code, Use an Enum for editMode, setup strings for i18n 2025-11-22 01:12:00 -05:00
Corey Woodworth
bd1c9d30d9 I forgor to add the ColorPicker file 2025-11-22 01:12:00 -05:00
Corey Woodworth
724fed6001 Initial commit 2025-11-22 01:12:00 -05:00
ItsLemmy
823042b245 Panels: properly animate height with vertical bar + Bluetooth sizing refinement. 2025-11-22 00:33:42 -05:00
ItsLemmy
9c550af64e UpdateService: fix wrong changelog when updating from 3.2.0-dev to 3.2.0-git 2025-11-21 23:25:22 -05:00
ItsLemmy
1bf54de99c UpdateService: Remove potential -dev 2025-11-21 16:40:48 -05:00
ItsLemmy
7a68030f69 Notifications: ensure they are not sandwitched between panels
+ Always access lockScreen via panel service and removed deprecation
notice.
2025-11-21 15:18:38 -05:00
ItsLemmy
f46915d2c3 UpdateService: cleanup and use -git suffix instead of -dev. 2025-11-21 13:54:00 -05:00
ItsLemmy
50ebc77513 UpdateService: proper revert 2025-11-21 13:43:09 -05:00
ItsLemmy
522e7e4352 Default settings: update 2025-11-21 13:41:23 -05:00
ItsLemmy
9f9e1341fd Reapply "UpdateService: renamed "-dev" to "-git" for clarity."
This reverts commit c919c54a32.
2025-11-21 13:38:38 -05:00
ItsLemmy
c919c54a32 Revert "UpdateService: renamed "-dev" to "-git" for clarity."
This reverts commit 6387dcc6d4.
2025-11-21 13:38:29 -05:00
ItsLemmy
6387dcc6d4 UpdateService: renamed "-dev" to "-git" for clarity. 2025-11-21 13:28:42 -05:00
ItsLemmy
455014a39b Brightness: scroll-wheel was bypassing available control check. 2025-11-21 13:28:12 -05:00
ItsLemmy
a884f012d8 i18n + autoformat 2025-11-21 13:18:02 -05:00
Lemmy
c5b23cc291 Merge pull request #804 from Vortelf/feat/vpn-widget
VPN: Widget Implementation
2025-11-21 13:12:50 -05:00
Lemmy
04e46815f8 Merge pull request #808 from EmmetZ/brightness-panel
feat: add brightness panel for bar brightness widget
2025-11-21 13:11:05 -05:00
Lemmy
f3d1e1f3d1 Merge pull request #813 from alaughlin/dock-border-radius
Dock: make border radius configurable
2025-11-21 12:05:25 -05:00
Lemmy
e2aa4ca2f8 Merge pull request #807 from lonerOrz/feat/custombutton
Enhance custom button
2025-11-21 12:02:57 -05:00
Lemmy
d6edc55d16 Merge pull request #817 from MrDowntempo/feat/smarter_shader_compiler
shaders-compile.sh supports file list arguments
2025-11-21 11:57:05 -05:00
ItsLemmy
e5912760ca WiFi Panel: improved the layout with proper multiple sections and proper height calculation. 2025-11-21 11:46:14 -05:00
MrDowntempo
7d981fb55b Merge branch 'main' into feat/smarter_shader_compiler 2025-11-21 11:45:19 -05:00
Corey Woodworth
e97c46e96c shaders-compile.sh supports file list arguments 2025-11-21 11:36:51 -05:00
Lysec
c1afa199e3 Merge pull request #816 from LionHeartP/main
revert: 'Matugen/Discord: fix inbox alignment'
2025-11-21 17:23:28 +01:00
LionHeartP
530992a14b revert: 'Matugen/Discord: fix inbox alignment' 2025-11-21 18:13:13 +02:00
Lysec
5d9cfeb9d0 Merge pull request #815 from lonerOrz/fix/about-version
fix: Fix latestVersion on the about page
2025-11-21 16:27:20 +01:00
loner
8cb4711629 fix: Fix latestVersion on the about page 2025-11-21 23:06:36 +08:00
Ly-sec
2d856882d2 Changelog: remove changelogs.json 2025-11-21 15:58:34 +01:00
art0rz
f181bdf21c Add screen recording loading feedback 2025-11-21 15:52:29 +01:00
Lysec
665aa84f70 Merge pull request #814 from lonerOrz/fix/about
fix: Fix the rich text display on the About page
2025-11-21 15:45:17 +01:00
Ly-sec
b84452e04d Changelogs: overhaul 2025-11-21 15:44:41 +01:00
Ly-sec
d3c200f50c SchemeDownloader: download schemes to ~/.config/noctalia/colorschemes/
ColorSchemeService: check said folder for theming
TemplateProcessor: check said folder for theming
2025-11-21 15:32:02 +01:00
loner
a39fbb5639 fix: Fix the rich text display on the About page 2025-11-21 22:14:57 +08:00
Ly-sec
fe40758d4e SchemeDownloader: fix logger warning 2025-11-21 15:02:38 +01:00
Ly-sec
63331c1018 WidgetSetting: fixes not being able to type when opening settings through context menu 2025-11-21 14:02:24 +01:00
Ly-sec
9c955cdd39 Services/systemd: small update 2025-11-21 13:58:50 +01:00
Adam Laughlin
d9e0f2fc10 Dock: make border radius configurable 2025-11-21 07:45:37 -05:00
Georgi Velev
1cbc793087 VPN: Widget Implementation 2025-11-21 14:32:39 +02:00
Ly-sec
1a2ddbb9e3 Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-21 13:27:13 +01:00
Ly-sec
e46c9cdf0e Battery: add visual indicator for low battery (same as SysMon) 2025-11-21 13:27:03 +01:00
Lysec
43cdc4494d Merge pull request #786 from lonerOrz/feat/clip
Add clipboard preview
2025-11-21 13:19:42 +01:00
Ly-sec
5ed4c97ee5 Tooltip: fix newline detection 2025-11-21 13:02:50 +01:00
Lysec
ddd3ae364c Merge pull request #812 from bokicoder/patch-1
i18n: improve chinese translation
2025-11-21 12:21:32 +01:00
bokicoder
3b793add39 i18n: improve chinese translation 2025-11-21 19:15:19 +08:00
Ly-sec
71f4a8eb49 NText: add optional RichText (default false) to fix calendar with specific languages 2025-11-21 11:09:03 +01:00
Ly-sec
2f735eda81 ChangelogPanel: nice formatting for changelogs
AboutTab: update version connection
GitHubService: cleanup, move changelog logic to UpdateService
UpdateService: use new changelog host
2025-11-21 11:01:59 +01:00
shouya
5f2a6ffc9d fix workspace.qml warning 2025-11-21 15:01:02 +09:00
shouya
211a9e4033 add translations for other languages 2025-11-21 14:53:59 +09:00
shouya
bcebaa0185 add english translation 2025-11-21 14:52:20 +09:00
shouya
8331d1954d show workspaces for the focused screen 2025-11-21 14:49:31 +09:00
loner
ee33da8348 i18n: fix: Add translations for custom button wheel actions 2025-11-21 13:14:57 +08:00
loner
f7d7d7ac15 fix: Stabilize custom button wheel command settings UI layout 2025-11-21 12:38:50 +08:00
ItsLemmy
972ac47c1b Bluetooth: smaller font for section name, similar to wifi. 2025-11-20 23:08:42 -05:00
ItsLemmy
0b0860a446 WiFi: improved classification and sorting 2025-11-20 23:06:56 -05:00
loner
e8a27acb63 fix: Left click behavior should only depend on left click settings 2025-11-21 11:06:51 +08:00
loner
694fefeebd feat: Custom buttons now support wheel actions 2025-11-21 10:58:15 +08:00
ItsLemmy
088431b20d Autoformatting + translations 2025-11-20 21:38:00 -05:00
ItsLemmy
63940703f8 TaskbarGrouped: Fixes, cleanup and improvements. 2025-11-20 21:37:02 -05:00
EmmetZ
e3c171840f feat: add brightness panel for bar brightness widget 2025-11-21 10:23:23 +08:00
loner
857d1dbbb6 feat: Update translation files for maxTextLength feature 2025-11-21 09:07:39 +08:00
loner
516fc47b68 feat: Replace hideTextInVerticalBar with maxTextLength object
- Replace boolean hideTextInVerticalBar with maxTextLength object that has
  separate horizontal and vertical properties for more flexible text length control
- Add NSpinBox controls in settings UI to configure both horizontal and
  vertical max text length independently
- Update CustomButton widget to use new maxTextLength structure and
  implement text scrolling based on direction-specific limits
- Set default values to 10 for both horizontal and vertical (was 20/0)
- Update translations and widget registry metadata accordingly
- When vertical maxTextLength is 0, text is completely hidden (preserving
  original hideTextInVerticalBar: true behavior)

This allows users to set different text length limits for horizontal and
vertical bar orientations, providing more granular control over text display.
2025-11-21 09:07:30 +08:00
loner
e549cfcb78 feat: Use maxTextLength to Limit Custom Button Text Length 2025-11-21 08:31:15 +08:00
loner
6a840769ed Fix(BarPillVertical): Improve vertical text positioning and spacing 2025-11-21 08:31:00 +08:00
loner
ec92295a98 Enhance custom tooltip parsing 2025-11-21 08:30:46 +08:00
Ly-sec
60d37576e0 LocationTab: properly trim whitespaces from first day of the week 2025-11-20 21:08:07 +01:00
Ly-sec
067bbf20bc ColorScheme/Rosepine: fix colors 2025-11-20 20:54:43 +01:00
Ly-sec
49aab3c487 Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-20 20:45:25 +01:00
Ly-sec
868b14bbc3 AudioCard: fix elide 2025-11-20 20:45:21 +01:00
Lysec
b435d1f588 Merge pull request #806 from bokicoder/main
Nix: cleaner code
2025-11-20 20:19:34 +01:00
Ly-sec
1fc1fa36aa Matugen/Discord: fix inbox alignment (thanks @LionHeartP) 2025-11-20 19:56:18 +01:00
wxlyyy
04311f191f Nix: cleaner code 2025-11-21 02:28:56 +08:00
Ly-sec
0726e6b92f LockScreen: adjust button width depending on text length 2025-11-20 17:55:45 +01:00
Ly-sec
9a3d04249f Set version to dev 2025-11-20 17:42:59 +01:00
Ly-sec
edd4ba1b15 LockScreen: make digital font bigger 2025-11-20 17:39:01 +01:00
Ly-sec
c50776eeee Release v3.2.0 2025-11-20 15:56:32 +01:00
Ly-sec
e9114297d1 ChangelogPanel: save lastSeenVersion to cacheDir 2025-11-20 14:50:00 +01:00
Ly-sec
fbfdf787de ChangelogPanel: fix width issues 2025-11-20 13:17:17 +01:00
Ly-sec
3976a21dc7 Settings: remove forceShowNextStart 2025-11-20 11:54:50 +01:00
Ly-sec
c735eef75d Merge branch 'changelog' 2025-11-20 11:54:33 +01:00
ItsLemmy
1ceb97c08f NText: Dont RichText by default as it does not elide properly.
Was breaking the bar section editor.
2025-11-20 00:11:51 -05:00
ItsLemmy
42e2ba09ff MediaCard: don't show the disc icon if there is Cava activity. 2025-11-19 21:46:07 -05:00
Ly-sec
074da9069c OSD: add overdrive display
Volume/Microphone: allow overdrive, clamp to 100/150% max
AudioService: properly clamp to 100/150% (not only visually)
2025-11-19 23:27:42 +01:00
Ly-sec
19672a3d46 SchemeDownloader: display proper errors 2025-11-19 23:11:30 +01:00
ItsLemmy
da8fa306a1 NText: richText by default as it is used in a few legacy places. 2025-11-19 16:18:22 -05:00
ItsLemmy
d74f1feece Merge branch 'main' of github.com:noctalia-dev/noctalia-shell 2025-11-19 16:01:21 -05:00
ItsLemmy
6df39604c5 NText: RichText or StyledText (no plainText) 2025-11-19 16:01:18 -05:00
Lemmy
4d45b330b0 Merge pull request #799 from bokicoder/main
Nix: remove quickshell flake input & add overlays & ...
2025-11-19 11:59:39 -05:00
wxlyyy
b7c50f4c23 Nix: remove quickshell flake input & add overlays & ... 2025-11-20 00:20:15 +08:00
ItsLemmy
0a6c06b092 OSD: another stab at a simplified approach to avoid start-up OSD notifications and separating UI from logic. 2025-11-19 10:20:18 -05:00
Lysec
9080a584a2 Merge pull request #798 from art0rz/main
Disable capitalization of username in ControlCenter
2025-11-19 15:56:15 +01:00
art0rz
110917359c Disable capitalization of username in ControlCenter 2025-11-19 15:16:56 +01:00
ItsLemmy
5275ccf0d7 Autofmt 2025-11-19 08:29:02 -05:00
ItsLemmy
d641eadf75 Audio: added a settings to choose your favorite external audio mixer (ex: pavucontrol, ...) 2025-11-19 08:28:51 -05:00
Ly-sec
a9ccb4c133 Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-19 14:06:27 +01:00
Ly-sec
16a79c7d5b OSD: another possible fix for initial in/output OSD 2025-11-19 14:06:21 +01:00
ItsLemmy
1b4cd35504 Weather: Made the weather effects conditional with a new setting. 2025-11-19 08:05:33 -05:00
Ly-sec
17810d1d2f SchemeDownloader: make schemes look more similar to ColorSchemeTab ones 2025-11-19 13:42:29 +01:00
Ly-sec
64f5d99a48 OSD: possible fix for initial in/output OSD 2025-11-19 12:01:30 +01:00
loner
e4e3b1b85c qml format 2025-11-19 16:07:08 +08:00
loner
4a0c2b7ef3 feat(i18n): Add clip preview translations for Simplified Chinese (zh-CN) 2025-11-19 16:07:07 +08:00
loner
5e2f8c1462 feat(i18n): Add clip preview translations for Ukrainian (uk-UA) 2025-11-19 16:07:07 +08:00
loner
97ba831cb4 feat(i18n): Add clip preview translations for Turkish (tr) 2025-11-19 16:07:07 +08:00
loner
5ade827a4c feat(i18n): Add clip preview translations for Russian (ru) 2025-11-19 16:07:07 +08:00
loner
03554120be feat(i18n): Add clip preview translations for Portuguese (pt) 2025-11-19 16:07:07 +08:00
loner
2917f02621 feat(i18n): Add clip preview translations for Dutch (nl) 2025-11-19 16:07:07 +08:00
loner
a18be7927c feat(i18n): Add clip preview translations for French (fr) 2025-11-19 16:07:07 +08:00
loner
9bf8fd16d6 feat(i18n): Add clip preview translations for Spanish (es) 2025-11-19 16:07:07 +08:00
loner
948c3c7e18 feat(i18n): Add clip preview translations for German (de) 2025-11-19 16:07:07 +08:00
loner
b2978113c5 feat(launcher): Integrate TextFormatter for enhanced preview UI 2025-11-19 16:07:07 +08:00
loner
87f62b288b feat(launcher): UI improvements for clipboard preview window 2025-11-19 16:07:07 +08:00
loner
ed373df99d feat(launcher): Add toggle for clip plugin preview 2025-11-19 16:07:07 +08:00
loner
529869f796 fix: External clipboard preview panel positioning and styling 2025-11-19 16:07:07 +08:00
loner
12766e411d widget: new fillMode and smt 2025-11-19 16:07:07 +08:00
loner
79f79e0cff feat: Add image preview logic 2025-11-19 16:07:07 +08:00
loner
ca89a0dc35 fix: Fix the proportions of the list and the preview 2025-11-19 16:07:07 +08:00
loner
6eaffb0e65 feat: implement full content preview with async loading in ClipboardPreview 2025-11-19 16:07:07 +08:00
loner
455ef3449e feat: clip preview 2025-11-19 16:07:07 +08:00
ItsLemmy
fef8535384 Weather: rain and snow shaders. 2025-11-19 00:16:54 -05:00
ItsLemmy
770c667794 Shader script: full path to QSB 2025-11-18 23:14:17 -05:00
ItsLemmy
9b805ef1c4 MediaCard: some more tweaks 2025-11-18 21:42:54 -05:00
ItsLemmy
260cb34c96 DimDesktop: Lowered default dimmerOpacity from 0.8 to 0.6 2025-11-18 19:55:16 -05:00
ItsLemmy
592e261eb8 DropShadow: on the media card + some cleanup 2025-11-18 19:51:54 -05:00
ItsLemmy
8242b0d97d Fix a bunch of hardcoded borders + autofmt 2025-11-18 19:17:25 -05:00
ItsLemmy
aa218e153d Missing translations 2025-11-18 19:11:06 -05:00
Lemmy
af4ec4c694 Merge pull request #794 from lonerOrz/feat/custombutton
feat: Tooltip supports rich text parsing
2025-11-18 18:49:52 -05:00
Lemmy
7e43f3b0d6 Merge pull request #793 from notiant/patch-22
WeatherCard: add more left spacing to current weather
2025-11-18 18:49:43 -05:00
Lemmy
9a76b54ce8 Merge pull request #795 from MrDowntempo/fix/BetterRadioButtonWidth
Fix/better radio button width
2025-11-18 18:41:25 -05:00
ItsLemmy
9170ece8d2 Changed some info logger to debug 2025-11-18 17:15:06 -05:00
Corey Woodworth
27dd8fd036 Removed my commented out unnecessary code 2025-11-18 17:00:22 -05:00
Corey Woodworth
74b6e86835 NRadioButton now includes it's NText when calculating it's implicit width 2025-11-18 16:56:55 -05:00
loner
1a4f151bbc Enhanced rich text parsing for specific plain text content 2025-11-19 05:11:27 +08:00
loner
4b507fa238 feat: Tooltip supports rich text parsing 2025-11-19 05:10:26 +08:00
Ly-sec
7262b7b00f PR_TEMPLATE: add comment about colorscheme repo 2025-11-18 20:55:47 +01:00
Ly-sec
3264b59d54 Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-18 20:41:20 +01:00
Ly-sec
c3b73f02b3 ColorSchemeTab: add download button
SchemeDownloader: fetch available color schemes from noctalia-colorscheme repo
ColorSchemes: move multiple schemes to the colorscheme repo
i18n: add translations to SchemeDownloader
ColorSchemeTab: move into own folder (+ SchemeDownloader)
2025-11-18 20:39:10 +01:00
notiant
ece5b95fb4 WeatherCard: add more left spacing to current weather 2025-11-18 20:10:19 +01:00
Lysec
956a33a148 Merge pull request #792 from bokicoder/main
Nix: add quickshell to dev shell
2025-11-18 20:02:47 +01:00
wxlyyy
6655e96204 Nix: add quickshell to dev shell 2025-11-19 02:52:17 +08:00
Lysec
78698fa546 Merge pull request #790 from notiant/patch-21
Remove double bottom spacing in panels & hide scrollbar in NScrollView if not necessary
2025-11-18 15:25:53 +01:00
ItsLemmy
6b6517cac3 TaskBar: added right click contextual menu 2025-11-18 09:09:31 -05:00
ItsLemmy
1d200e84a1 TaskBarGrouped: added right click contextual menu 2025-11-18 09:03:23 -05:00
Lemmy
653d3b3cb2 Merge pull request #787 from a-usr/nix-sync-flake
Nix: Sync Flake.lock
2025-11-18 08:52:27 -05:00
Lemmy
0428dd1b50 Merge pull request #688 from bokicoder/main
Nix: refactor & improve home-module
2025-11-18 08:27:12 -05:00
Lemmy
6df544d560 Merge pull request #791 from bokicoder/patch-1
Nix: default to using nixpkgs' quickshell
2025-11-18 08:26:46 -05:00
notiant
6d032e5159 Remove double bottom spacing in panels & hide scrollbar in NScrollView if not necessary 2025-11-18 10:12:44 +01:00
bokicoder
02e7588bca Nix: default to using nixpkgs' quickshell 2025-11-18 16:42:29 +08:00
ItsLemmy
c407edb4e9 BarWidgets: All the right click contextual menus. Fix #541 2025-11-17 22:47:17 -05:00
ItsLemmy
f3207b526f Tooltip: Update position on text content change, take 2 2025-11-17 22:10:58 -05:00
ItsLemmy
103bd91da8 Tooltip: recalculate position when text content changes. 2025-11-17 22:07:10 -05:00
ItsLemmy
66770625dd Tooltip: no longer needed to pass a screen explicitely 2025-11-17 22:02:10 -05:00
ItsLemmy
81c0c302d4 BarWidgets: open widget settings 2025-11-17 21:03:59 -05:00
ItsLemmy
3283aacf9b BarWidgets: First pass on contextual widget menu accessible from right-click.
Testing on volume widget for now.
2025-11-17 20:35:45 -05:00
ItsLemmy
1b114a0c5f Autoformatting 2025-11-17 19:53:17 -05:00
ItsLemmy
0b4a7b2bcd BarSysMon: fixed anchoring warning 2025-11-17 19:52:49 -05:00
ItsLemmy
f15c2a1e49 Settings: removed battery charging mode 2025-11-17 19:49:57 -05:00
Ly-sec
226213457f ChangelogPanel: update layout
shell: remove UpdateService
i18n: update ChangelogPanel text
2025-11-18 01:08:19 +01:00
Ly-sec
836029b567 Settings: move things to UpdateService & cleanup 2025-11-18 00:58:57 +01:00
Ly-sec
8034297fb7 ChangelogService: merge into UpdateService 2025-11-18 00:52:17 +01:00
Ly-sec
01b893c6e6 SimpleToast: follow notification transparency 2025-11-18 00:35:32 +01:00
Ly-sec
bc22bcac82 SimpleToast: adjust width to match notification width 2025-11-18 00:22:28 +01:00
Ly-sec
e36461acd2 SimpleToast: follow transparency slider 2025-11-18 00:05:52 +01:00
Lysec
069859828c Merge pull request #783 from MrDowntempo/fix/NoOverflowNSpinBox
Fix vertical centering and overflow of NSpinBox
2025-11-17 22:47:13 +01:00
Lysec
1ba73c6fcb Merge pull request #788 from ThatOneCalculator/fix/qt6-qmlformat
fix: only use qt6 qmlformat
2025-11-17 22:04:26 +01:00
Kainoa Kanter
63f1404598 package name 2025-11-17 12:59:02 -08:00
Kainoa Kanter
4a9cea1d84 fix: only use qt6 qmlformat 2025-11-17 12:57:32 -08:00
Corey Woodworth
8bca19f3f0 Add the ability to click and hold to speed up adjustments 2025-11-17 15:26:21 -05:00
ItsLemmy
3bb8d8a7c2 Fix: UserInterfaceTab accessing a non existing setting. 2025-11-17 15:15:43 -05:00
Lemmy
7b926b68af Merge pull request #782 from MrDowntempo/fix/BetterColorPicker
ColorCovert refactoring
2025-11-17 15:00:30 -05:00
ItsLemmy
5e398d387e BarSysMon: added tooltip to show mountpoint 2025-11-17 14:55:39 -05:00
ItsLemmy
f1d714ad9a Cleanup: replaced a bunch of Screen by their proper "screen" 2025-11-17 14:53:47 -05:00
John
7453a7c5d3 Nix: Sync Flake.lock 2025-11-17 20:46:17 +01:00
ItsLemmy
2ae5aa90c9 BarSysMon: you can now select which disk mount point to monitor storage. 2025-11-17 14:29:32 -05:00
ItsLemmy
ca5f5cd506 BarPill: always prioritize hover color even if force open is true 2025-11-17 14:05:08 -05:00
ItsLemmy
2bf4b8ee71 BarPill: fix Text hover color to ensure readability. 2025-11-17 13:55:22 -05:00
ItsLemmy
ca64c4b436 BarTab: Use a regular NLabel for capsule opacity. 2025-11-17 13:45:56 -05:00
Corey Woodworth
4da1b08e19 Fix vertical centering and overflow of NSpinBox 2025-11-17 13:09:29 -05:00
Corey Woodworth
22fefb3a8b Refactor ColorsConvert.js 2025-11-17 11:42:32 -05:00
Corey Woodworth
c223737fd7 Move javascript color conversion functions to ColorsConvert.js 2025-11-17 11:11:25 -05:00
Ly-sec
bb8107727c initial commit 2025-11-17 16:35:22 +01:00
Ly-sec
595ad0bb20 Taskbar: fix color 2025-11-17 16:27:25 +01:00
Ly-sec
28e6fcdfe4 Taskbar: adjust height to match other widgets 2025-11-17 15:51:30 +01:00
ItsLemmy
063ca70c57 Autoformat 2025-11-17 08:16:18 -05:00
Lysec
48fb52dfe4 Merge pull request #781 from lonerOrz/ipc/dock
feat: Add IPC command to toggle dock visibility
2025-11-17 14:12:34 +01:00
Lemmy
a7aa38fe1c Merge pull request #778 from lonerOrz/feat/bar
Feature: Add capsule opacity setting with conditional UI
2025-11-17 08:10:54 -05:00
Ly-sec
0d478fc998 AudioService: rework 2025-11-17 13:54:58 +01:00
Ly-sec
d4fb4f5889 qmlfmt: add user info to install package 2025-11-17 13:31:08 +01:00
Ly-sec
d06f111c9a Taskbar: fix height 2025-11-17 13:21:01 +01:00
loner
cd10f16b61 feat: Add IPC command to toggle dock visibility 2025-11-17 19:52:23 +08:00
loner
b2bfb71a91 fix: DarkMode widget to use unified Style.capsuleColor 2025-11-17 11:05:58 +08:00
loner
b79ce196a6 Unify the tray background color 2025-11-17 11:05:58 +08:00
loner
24b8eeb1f4 feat: Optimize capsule color computation by using Style.qml property 2025-11-17 11:05:58 +08:00
loner
a201b8a2c8 fix: Fix overlapping opacity in BarPill components 2025-11-17 11:05:58 +08:00
loner
609c9900f7 Add Chinese translation for capsule opacity setting 2025-11-17 11:05:58 +08:00
loner
f2ffed74be Add Turkish translation for capsule opacity setting 2025-11-17 11:05:57 +08:00
loner
660287c7a1 Add Ukrainian translation for capsule opacity setting 2025-11-17 11:05:57 +08:00
loner
ada3d7abf2 Add Russian translation for capsule opacity setting 2025-11-17 11:05:57 +08:00
loner
89a5efe6d1 Add Portuguese translation for capsule opacity setting 2025-11-17 11:05:57 +08:00
loner
83edb704a1 Add Dutch translation for capsule opacity setting 2025-11-17 11:05:57 +08:00
loner
1f5b7ab3a1 Add Spanish translation for capsule opacity setting 2025-11-17 11:05:57 +08:00
loner
8f6d1e06d2 Add German translation for capsule opacity setting 2025-11-17 11:05:57 +08:00
loner
aee415e82e Add French translation for capsule opacity setting 2025-11-17 11:05:57 +08:00
loner
a46c76b9d5 feat(bar): Add capsule opacity setting with conditional slider in bar settings 2025-11-17 11:05:57 +08:00
ItsLemmy
4f0bf28f06 MediaMini: showArtistFirst i18n 2025-11-16 21:04:58 -05:00
ItsLemmy
474598ccae MediaMini: showArtistFirst by default 2025-11-16 20:57:25 -05:00
ItsLemmy
0426918be6 Autoformat 2025-11-16 20:56:58 -05:00
Lemmy
792c6848c4 Merge pull request #761 from alaughlin/media_manager_toggle_artist_first
MediaMini: Support showing artist first
2025-11-16 20:56:20 -05:00
Lemmy
40f68c5325 Merge branch 'main' into media_manager_toggle_artist_first 2025-11-16 20:55:59 -05:00
Lemmy
dddd934f06 Merge pull request #777 from MrDowntempo/fix/BetterWorkspaceWidget
Fix/better workspace widget and TaskbarGrouped
2025-11-16 20:50:32 -05:00
ItsLemmy
dc08751ec2 Multi-Monitors: new setting to explicitely disable panels to appear on screen without bar.
On my setup this saves about 130MB per 1080p monitor where the bar is
not shown. I only interact with noctalia on my main screen.
2025-11-16 20:49:56 -05:00
Corey Woodworth
1f0485dff2 Bugfixes. Better Vertical Bar Support 2025-11-16 20:09:14 -05:00
Corey Woodworth
064b894fbc Bugfixes. Wrong setting label, and better vertical bar support 2025-11-16 19:55:19 -05:00
Corey Woodworth
8ec6040c29 A little visual cleanup to TasbarGrouped, and added Name+Index option to Workspace widget too. 2025-11-16 19:42:30 -05:00
ItsLemmy
df37511089 Panels: code simplification 2025-11-16 19:40:51 -05:00
Lemmy
202d974a82 Merge pull request #776 from MrDowntempo/fix/OneLessToggle
Simplified TaskbarGrouped settings by removing unneeded toggle
2025-11-16 18:01:18 -05:00
MrDowntempo
8e18f79acd Merge branch 'main' into fix/OneLessToggle 2025-11-16 17:53:47 -05:00
Corey Woodworth
d6de45275f Simplified TaskbarGrouped settings by removing unneeded toggle and adding its functionality to the combobox. 2025-11-16 17:32:18 -05:00
ItsLemmy
39fd2517c3 BatteryManager: removed due to limited compatibility.
Might be reintroduced later if we decice on a proper back-end.
2025-11-16 17:27:11 -05:00
ItsLemmy
d8adaf4d4b Deleted SystemTrayService. 2025-11-16 17:08:08 -05:00
ItsLemmy
3ff5b7639f Switched to qmlformat. 2025-11-16 17:07:03 -05:00
ItsLemmy
32905224b9 Preparing the switch to qmlformat. 2025-11-16 16:44:47 -05:00
ItsLemmy
9919e0419e OSD: fix exclusion mode. 2025-11-16 15:53:14 -05:00
ItsLemmy
57b8be1504 Color and Style: readonly everywhere and simplification, reducing the number of bindings. 2025-11-16 15:52:16 -05:00
Ly-sec
0706285048 OSD: possible solution for #774 2025-11-16 19:38:28 +01:00
Adam Laughlin
4fa6696a1c whoops 2025-11-16 13:31:41 -05:00
Adam Laughlin
a6aa162db6 ugh 2025-11-16 13:31:41 -05:00
Adam Laughlin
36e0ef91bc MediaMini: Support showing artist first 2025-11-16 13:31:41 -05:00
Ly-sec
c09bf13c58 Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-16 19:00:24 +01:00
Ly-sec
7280d827db i18n: preserve full locale for regional formatting (en_GB vs en_US) 2025-11-16 19:00:18 +01:00
ItsLemmy
9e454bd608 qmlfmt: dont fallback to qmlformat. 2025-11-16 11:52:47 -05:00
ItsLemmy
13532cc479 TaskbarGrouped: fixed translations. Replaced number(s) by label(s) 2025-11-16 11:51:20 -05:00
Lemmy
31a93fb211 Merge pull request #757 from Sighthesia/fix_active_window_layout_gap
BarWidgetLoader: Remove layout space left by hidden widgets
2025-11-16 10:46:41 -05:00
Ly-sec
01b44e0b28 WallHaven: use sort by relevance as default 2025-11-16 16:31:49 +01:00
Lysec
de200a929c Merge pull request #773 from bokicoder/patch-2
Fix indentation for quickshell input in flake.nix
2025-11-16 15:45:44 +01:00
bokicoder
1a38c6d665 Fix indentation for quickshell input in flake.nix 2025-11-16 22:44:42 +08:00
Ly-sec
8af9643577 flake: update commit hash 2025-11-16 15:30:21 +01:00
ItsLemmy
9d3dbd33b2 NixOS: pin Quickshell to release 0.2.1 2025-11-16 07:18:43 -05:00
Ly-sec
8e36b68789 WallpaperPanel: wallhaven respects file name toggle 2025-11-16 12:27:10 +01:00
Ly-sec
78919bcc13 i18n: update wallhaven page translation 2025-11-16 12:25:56 +01:00
Ly-sec
8ed927ab0a MainScreen: hide dimming while window close animation instead of afterwards 2025-11-16 11:57:20 +01:00
Lysec
6c80fd3740 Merge pull request #770 from notiant/patch-20
Hide scrollbar in NListView if it's not necessary
2025-11-16 11:54:43 +01:00
notiant
ef1b7cfd89 Hide scrollbar in NListView if not necessary 2025-11-16 11:05:25 +01:00
Ly-sec
098e7f5645 SessionMenuTab: disabling entries works again (fixes #769) 2025-11-16 10:20:43 +01:00
Ly-sec
a8787aa241 WallhavenSettingsPopup: layout fixes 2025-11-16 10:11:14 +01:00
ItsLemmy
6494aec955 WallpaperPanel: give focus to the gridview when clicking in it, so we can use keyboard 2025-11-15 21:59:20 -05:00
ItsLemmy
2735a489b5 WallpaperPanel: Made Wallhaven wallpapers work with multiple monitor selective apply + streamlined UI. 2025-11-15 21:53:52 -05:00
ItsLemmy
b120af43fe Back to -dev 2025-11-15 21:05:43 -05:00
ItsLemmy
f520466063 v3.1.1 2025-11-15 21:04:12 -05:00
ItsLemmy
ead2b82680 Tray: reverted all the mitigation now that the real issue has been fixed in Quickshell. 2025-11-15 21:01:48 -05:00
ItsLemmy
3f1bcf1ae8 TrayMenu: tweaks 2025-11-15 19:56:18 -05:00
ItsLemmy
f9192f0424 TrayMenu: added debouncer to increase robustness. 2025-11-15 19:31:06 -05:00
ItsLemmy
cea0739a5e Tray: Fix Steam lock-up. 2025-11-15 19:07:34 -05:00
Ly-sec
1826d6a00d Release v3.1.0 2025-11-15 23:43:55 +01:00
Ly-sec
ab8e14d0f5 TrayMenu: more cleanup 2025-11-15 22:57:45 +01:00
Ly-sec
5121d73a43 TrayMenu: more cleanup 2025-11-15 22:57:26 +01:00
Ly-sec
fc033081bd TrayMenu: cleanup 2025-11-15 22:54:39 +01:00
Ly-sec
e129da8f46 TrayMenu: close with single outside click 2025-11-15 22:51:32 +01:00
Ly-sec
07f8bd62b4 TrayMenu: reset shouldLoadMenu properly 2025-11-15 22:46:49 +01:00
Ly-sec
53d04df75d Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-15 22:32:49 +01:00
Ly-sec
ebe50561a8 TrayMenu: fix tray menu allocation per tray item 2025-11-15 22:32:40 +01:00
ItsLemmy
04abff2ee4 Default settings 2025-11-15 16:25:18 -05:00
ItsLemmy
91f098071d TrayMenuWindow: no relative path 2025-11-15 16:25:12 -05:00
Ly-sec
f28452a258 TrayMenu: defer opener.children access to prevent init freeze 2025-11-15 22:23:23 +01:00
ItsLemmy
131d3a095e autofmt 2025-11-15 15:57:05 -05:00
ItsLemmy
3685b8c9f7 TrayMenu: commented out until we figure why it does not work with the latest quickshell-git commits 2025-11-15 15:55:59 -05:00
Ly-sec
c730ac4f34 WallhavenSettingsPopup: fix apply button clickthrough 2025-11-15 19:52:08 +01:00
Ly-sec
0314d2445e WallpaperPanel: add settings popup for wallhaveb
WallhavenSettingsPopup: move all settings in here
WallhavenService: adjust some things
2025-11-15 19:48:19 +01:00
Ly-sec
8010b32c29 Settings: fix migration 2025-11-15 18:36:04 +01:00
Ly-sec
34e845d8fd Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-15 18:03:50 +01:00
Ly-sec
9576daf70a WallpaperPanel: add wallhaven support 2025-11-15 18:03:26 +01:00
ItsLemmy
adfe4817e0 Bar-SessionMenu: added setting to pick your favorite color. 2025-11-15 10:17:20 -05:00
ItsLemmy
2b5010f477 Settings-default and translations 2025-11-15 10:01:10 -05:00
Ly-sec
6b92d2d4c2 UserInterfaceTab: remove dimDesktop toggle, only use dimming slider
Settings: add migration for dimDesktop -> dimmerOpacity
Autoformat
2025-11-15 15:46:29 +01:00
Lysec
e1e6f36cea Merge pull request #759 from dmolin/dimmer-opacity
Add desktop dimmer opacity slider when "Dim Desktop" is toggled ON.
2025-11-15 15:36:36 +01:00
Lysec
df2faf3267 Merge pull request #760 from DrWeb56/main
Update ru.json
2025-11-15 15:30:49 +01:00
DrWeb56
c635f84eba Update ru.json
Translated a few lines that weren’t translated before.
2025-11-15 19:26:25 +05:00
Lysec
adfc8d033d Merge pull request #758 from Aerosnail/fix/efivarfs-audio-stutter
SystemStatService: don't report efivarfs usage% to avoid stutters
2025-11-15 15:26:23 +01:00
ItsLemmy
267bc00097 SmartPanels: improving Hyprland focus issues. 2025-11-15 09:17:21 -05:00
Davide
996935af2b Add desktop dimmer opacity slider 2025-11-15 13:24:11 +00:00
Aerosnail
049d313d51 SystemStatService: skip efivarfs to avoid stutters 2025-11-15 13:55:43 +01:00
Ly-sec
a81cbb587e Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-15 13:48:42 +01:00
Ly-sec
7176e890af SessionMenuTab: add per entry countdown toggle (implements #746
)
2025-11-15 13:48:39 +01:00
Lysec
23962d9290 Merge pull request #755 from mochouaaaaa/main
fix(qmlfmt): Add compatibility for qmlformat command
2025-11-15 13:05:33 +01:00
Lysec
e7d373f2cc Merge pull request #756 from notiant/patch-19
Add wallpaper selector to settings
2025-11-15 13:04:37 +01:00
Ly-sec
79b079a436 LockScreen: PAM always uses USER env var instead of displayName 2025-11-15 13:01:47 +01:00
notiant
810efe6ad3 Add wallpaper selector to settings 2025-11-15 10:47:18 +01:00
Sighthesia
4ca358b5ba ActiveWindow: fix layout gap left by hidden active window widget 2025-11-15 17:38:39 +08:00
mochou
b692275c31 fix(qmlfmt): Add compatibility for qmlformat command
- Modifies Bin/dev/qmlfmt.sh to check for both 'qmlfmt' and 'qmlformat' executables.
- Uses 'qmlfmt' with its original arguments if found.
- If 'qmlfmt' is not found, uses 'qmlformat' with arguments for 2-space indentation and essential semicolons.
- Exits with an error if neither command is available.
- This makes the QML formatting pre-commit hook more robust.
2025-11-15 17:17:03 +08:00
Ly-sec
6da74a800f Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-15 03:51:30 +01:00
Ly-sec
33eb71f0d8 ColorSchemeTab: properly check for discord/code 2025-11-15 03:51:03 +01:00
ItsLemmy
edef856895 MainScreen+SmartPanel: Allow click on the bar when a panel is open. 2025-11-14 20:26:05 -05:00
ItsLemmy
312d1b6d22 Default settings + auto-formatting 2025-11-14 20:02:28 -05:00
ItsLemmy
02d77ff445 MainScreen: removed unecessary mouse area 2025-11-14 20:01:54 -05:00
ItsLemmy
d2bd621abe Revert "SmartPanel: Tighter sizing by using the minimum size."
This reverts commit 0eb82bce98.
2025-11-14 19:57:04 -05:00
Ly-sec
42f12e8d56 Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-14 22:33:42 +01:00
Ly-sec
faaf5b7464 AudioService: possible fix for misbehaviour 2025-11-14 22:33:37 +01:00
ItsLemmy
51940a9fc0 Formatting 2025-11-14 14:20:03 -05:00
ItsLemmy
c6fcfffbe6 i18n update 2025-11-14 14:16:40 -05:00
Lemmy
867abc6dc8 Merge pull request #729 from Sighthesia/system_monitor_high_pressure_highlight
SystemMonitor: add visual highlights for high-pressure metrics
2025-11-14 14:04:05 -05:00
Lemmy
b1dfcb58ba Merge branch 'main' into system_monitor_high_pressure_highlight 2025-11-14 14:03:56 -05:00
Lemmy
9890174aeb Merge pull request #742 from atheeq-rhxn/main
MangoWC support
2025-11-14 14:02:57 -05:00
Lemmy
dd4cf6e422 Merge pull request #747 from oluijks/user-display-name
HostService: add user display name and use it in UI
2025-11-14 14:02:13 -05:00
Lemmy
6cb45d5d08 Merge pull request #749 from oluijks/bar-hide-tooltip-while-adjusting
Bar/Widgets: hide volume tooltips while adjusting
2025-11-14 14:01:28 -05:00
ItsLemmy
7bb27b6c29 Settings: remove double sessionMenu tab 2025-11-14 13:51:51 -05:00
atheeq-rhxn
c0e649b7fe Merge with noctalia main 2025-11-14 20:52:01 +05:30
atheeq-rhxn
73269047ca fix: show empty workspaces when hideUnoccupied enabled 2025-11-14 20:48:46 +05:30
ItsLemmy
a0dcd97aa6 TrayMenu: minimal fade-in animation when appearing. 2025-11-14 10:11:57 -05:00
ItsLemmy
d3a98ca1d6 Merge branch 'main' of github.com:noctalia-dev/noctalia-shell 2025-11-14 10:00:29 -05:00
ItsLemmy
0eb82bce98 SmartPanel: Tighter sizing by using the minimum size. 2025-11-14 10:00:20 -05:00
Ly-sec
9451b18a3d Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-14 15:40:31 +01:00
Ly-sec
717ea441b0 Settings: cleanup 2025-11-14 15:40:26 +01:00
ItsLemmy
a32d999e46 SmartPaneWindow: unload when not in use 2025-11-14 09:26:17 -05:00
Sighthesia
26d30bdaa5 i18n: add ai translations for system monitor custom threshold highlight color settings 2025-11-14 22:03:38 +08:00
Sighthesia
96c750b2bb SystemMonitorCard: apply threshold highlight for mertrics in control center 2025-11-14 21:32:41 +08:00
Ly-sec
4129b47559 OSD: fix output OSD logic 2025-11-14 14:00:12 +01:00
Ly-sec
f64a2fae4e OSD: fix initial output volume osd 2025-11-14 13:54:59 +01:00
Ly-sec
1573b5f128 OSD: fix initial input volume osd 2025-11-14 13:31:41 +01:00
Ly-sec
4088c13eec AudioService: preserve input value (fixes 0% volume after suspend... hopefully)
autoformat
2025-11-14 13:27:54 +01:00
Sighthesia
f1576a61a5 SystemMonitor: add custom color settings for system monitor threshold settings 2025-11-14 20:20:52 +08:00
atheeq-rhxn
95d252a949 fix: single monitor support by conditional -o usage 2025-11-14 17:05:34 +05:30
atheeq-rhxn
ee22bb9e21 feat: add multi-monitor support 2025-11-14 15:29:46 +05:30
Olaf Luijks
545e72c256 Bar/Widgets: hide volume tooltips while adjusting 2025-11-14 10:56:39 +01:00
Sighthesia
ea8ddcaef8 i18n: add ai translations for system monitor threshold settings 2025-11-14 17:18:52 +08:00
Sighthesia
4b2e8b6ef0 SystemMonitor: transfer system monitor threshold settings to gloabal setting tab 2025-11-14 17:18:23 +08:00
atheeq-rhxn
15e8d76a90 Merge with noctalia main 2025-11-14 14:14:21 +05:30
Ly-sec
68e83f4d63 Matugen/Discord: fix Vencord again 2025-11-14 08:21:54 +01:00
Ly-sec
5bd844ec51 Matugen/Discord: fix Vencord path 2025-11-14 08:18:05 +01:00
Ly-sec
2d99a2c233 Matugen/Code: fix VSCodium support 2025-11-14 07:56:20 +01:00
Ly-sec
96ae2c0d6f Matugen/Code: add VSCodium support 2025-11-14 07:40:15 +01:00
Olaf Luijks
2c5c462aaa HostService: add user display name and use it in UI
- Add username/envRealName/realName and displayName to HostService
- Resolve real name from `getent passwd $USER` with NOCTALIA_REALNAME override
- Use HostService.displayName on the lock screen and in the Control Center profile card
2025-11-14 04:15:55 +01:00
Sighthesia
d51dbb295b Merge remote-tracking branch 'upstream' into system_monitor_high_pressure_highlight 2025-11-14 09:33:01 +08:00
ItsLemmy
04fcb94ebc Revert "Wallpaper: improved image switching to avoid main thread micro freeze."
This reverts commit 6e368601b4.
2025-11-13 15:45:46 -05:00
Ly-sec
aa0a6c2cdd Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-13 21:01:15 +01:00
Ly-sec
aace0a8ada TaskbarGrouped: add scroll support
TaskbarGroupoedSettings: add colorize, hide when unoccupied, name display settings
2025-11-13 21:00:12 +01:00
ItsLemmy
6004807776 AllBackgrounds: centralize panel background color computation. 2025-11-13 14:43:14 -05:00
ItsLemmy
0ab9aa1c0e Tray: fix screen access that does not exists on first load. 2025-11-13 14:42:42 -05:00
ItsLemmy
17ff97f8c5 WLR Layer Name: noctalia-screen-* changed to noctalia-background-* 2025-11-13 13:28:47 -05:00
atheeq-rhxn
06007549a3 fix: resolve active window detection 2025-11-13 22:56:23 +05:30
ItsLemmy
6e368601b4 Wallpaper: improved image switching to avoid main thread micro freeze. 2025-11-13 12:00:15 -05:00
atheeq-rhxn
a49f4ba009 fix: resolve MangoService window parsing scope and add KeyboardLayoutService import 2025-11-13 22:06:06 +05:30
Ly-sec
80493adaed Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-13 16:54:50 +01:00
Ly-sec
e1f692be04 SettingsWindow: reorder SideBar 2025-11-13 16:54:45 +01:00
atheeq-rhxn
3a80389ca4 fix(workspace): use tag command instead of view to prevent window moving 2025-11-13 21:21:15 +05:30
Ly-sec
52071efc08 SettingsWindow make SideBar more compact 2025-11-13 16:50:24 +01:00
ItsLemmy
3d81d445a3 Network: support for ethernet-off icon even tho the logic is not in yet. 2025-11-13 10:26:51 -05:00
Lemmy
889bbfcb4f Merge pull request #739 from notiant/patch-17
NetworkService: re-add improved internet connectivity check
2025-11-13 10:06:44 -05:00
atheeq-rhxn
8ba0a0a51f refactor: Improve MangoWC implementation 2025-11-13 20:27:40 +05:30
ItsLemmy
9b2abd313d Tray: fix drawer toggle/caret theming in light theme. 2025-11-13 09:52:29 -05:00
Ly-sec
e98f01faa1 Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-13 15:41:52 +01:00
Ly-sec
4fd5865978 DistroService: rename to HostService 2025-11-13 15:41:46 +01:00
Lysec
c2e56fcd36 Merge pull request #738 from bokicoder/patch-1
SessionMenu: add hibernate option
2025-11-13 15:23:29 +01:00
Lemmy
6178c34ec0 Merge pull request #740 from notiant/patch-18
small fix for German translation
2025-11-13 09:19:29 -05:00
ItsLemmy
1288924f87 Dragging: removed a lot of dead code since we no longer support panel dragging. 2025-11-13 09:16:52 -05:00
ItsLemmy
278fbb7f76 Settings: SystemMonitor tab, hidden for now, until it gets content. 2025-11-13 09:13:03 -05:00
notiant
fcc8394e07 small fix for German translation 2025-11-13 15:12:07 +01:00
ItsLemmy
8b0c615322 Launcher: restore Tab/BackTab navigation. Fix #737 2025-11-13 08:58:40 -05:00
notiant
ac9e316f56 NetworkService: re-add improved internet connectivity check
Added internet connectivity check process and timer.
2025-11-13 14:58:31 +01:00
ItsLemmy
205e73e8e8 Cava: fix activation logic due to new panel structure. 2025-11-13 08:43:02 -05:00
ItsLemmy
04439699ae Keyboard Shortcuts: replaced and fixed shiftTab to backTab. 2025-11-13 08:28:28 -05:00
ItsLemmy
7021653764 OSD: Autoformatting - removing all those semicolons 2025-11-13 08:24:45 -05:00
ItsLemmy
454733d80e Typography: Semi-Bold NHeader and NLabel 2025-11-13 08:16:17 -05:00
wxlyyy
14b0ef320a SessionMenu: add hibernate option 2025-11-13 18:30:47 +08:00
atheeq-rhxn
e814ba5827 feat: Add MangoWC compositor support 2025-11-13 14:48:20 +05:30
Lysec
d044562016 Merge pull request #736 from mochouaaaaa/main
Add OSD background opacity setting
2025-11-13 09:29:25 +01:00
Sheri Downs
9a92fa0802 Merge branch 'noctalia-dev:main' into main 2025-11-13 13:52:14 +08:00
mochou
36d4c10202 feat: Add OSD background opacity setting
- Add `OSD` background transparency
- Add `OSD` background transparency translation
2025-11-13 13:50:13 +08:00
ItsLemmy
e4ef05f58f Tray: warning fix 2025-11-12 23:48:09 -05:00
ItsLemmy
6083d8242b TrayMenu: improved positionning 2025-11-12 23:43:44 -05:00
ItsLemmy
aca82f810c TrayMenu: Fixed potential glitch of submenus by replacing hover by click + improved submenu positionnig logic. 2025-11-12 23:16:59 -05:00
Sighthesia
58ee164792 SystemMonitor: unify highlight colors, change warning color to mTertiary 2025-11-13 12:00:29 +08:00
ItsLemmy
7bf3601a52 Back to -dev 2025-11-12 21:42:55 -05:00
ItsLemmy
e1ce5a6b7c v3.0.11 2025-11-12 21:41:58 -05:00
ItsLemmy
632280a470 i18n: update 2025-11-12 21:34:56 -05:00
ItsLemmy
f6eb76aa74 Wallpapers: hide filenames should default to false 2025-11-12 21:34:50 -05:00
Lemmy
4ce2fb5324 Merge pull request #733 from onelocked/main
WallpaperSettings: Add a Hide Filename toggle
2025-11-12 21:33:35 -05:00
ItsLemmy
5e567bfcca MediaCard: update wallpaper dynamically. Fix #734 2025-11-12 21:28:38 -05:00
Sighthesia
f067d585b5 SystemMonitor: align the height of horizontal bar highlight rectangles with the pill of the Workspace 2025-11-13 10:26:00 +08:00
ItsLemmy
b9d3040786 NCircleStat: repaint on fillcolor change
+ removed gradient which does not work on an Arc anyways.
2025-11-12 21:22:33 -05:00
Sighthesia
12a4fe2653 SystemMonitor: change metrics highlighting method on vertical bar to text highlighting 2025-11-13 10:18:57 +08:00
ItsLemmy
337a830cf1 Panel: Cleaned keyboard shorcuts. 2025-11-12 20:51:32 -05:00
ItsLemmy
2eb59bed4a Keyboard: Cleaned keyboard shortcuts dispatch
+ SetupWizard cleanup (NImageCached can NOT be invisible)
2025-11-12 20:46:15 -05:00
ItsLemmy
39784134af Panels: proper focus management with the new architecture. 2025-11-12 18:45:15 -05:00
ItsLemmy
81e9bd55fa Merge branch 'panel-content' 2025-11-12 18:34:18 -05:00
onelocked
e4e63e1f45 WallpaperSettings: Add a Hide Filename toggle
Added a 'Hide Filename' toggle that hides the filenames of wallpapers
for a more aesthetic look
2025-11-12 22:22:35 +00:00
Ly-sec
0db78a0abe UserInterface: add universal opacity slider (except for bar)
LauncherTab: remove opacity slider
Settings: add migration
i18n: add opacity slider translation
2025-11-12 20:32:11 +01:00
Ly-sec
88a968aa21 Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-12 19:47:26 +01:00
Ly-sec
dbedf6c25c SessionMenuTab: added tab & SessionMenu settings
SessionMenu: hook up settings, update height calculation
i18n: add translations
2025-11-12 19:46:19 +01:00
ItsLemmy
1e5d82b615 Merge branch 'main' of github.com:noctalia-dev/noctalia-shell 2025-11-12 13:14:43 -05:00
ItsLemmy
cc08bc320e Bar: Fix potential blurry icons due to half pixel misalignment. 2025-11-12 13:14:38 -05:00
Lemmy
4f6ed4335a Merge pull request #680 from kurrycat2004/main
feat(custom button): Add option to refresh CustomButton text on click
2025-11-12 12:05:16 -05:00
kurrycat
7be6ea57a5 don't open settings when clicking on empty command custom button with update-text enabled 2025-11-12 16:51:37 +01:00
Ly-sec
37d19a3290 Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-12 16:40:31 +01:00
Ly-sec
437fe0f9e8 LockScreen: update keyboardLayout usage 2025-11-12 16:40:27 +01:00
wxlyyy
55addb651c Nix: refactor & improve home-module 2025-11-12 22:49:06 +08:00
ItsLemmy
9215df3fcb Tray: Close drawer when a tray item is actioned. 2025-11-12 09:12:04 -05:00
ItsLemmy
f15e900a21 Default settings update 2025-11-12 09:11:49 -05:00
ItsLemmy
9b2b4b4bd1 TrayDrawer: proper auto sizing when elements are added or removed. 2025-11-12 08:38:30 -05:00
ItsLemmy
875aca2a36 Wi-Fi + BT: Right clicking icons on the bar or control center to enable/disable the feature immediately. 2025-11-12 08:28:02 -05:00
ItsLemmy
d781f52e1a NIconButton: add missing wheel signal argument. 2025-11-12 08:21:22 -05:00
ItsLemmy
e67f27f58d SmartPanel: added exclusiveKeyboard flag. Should fix launcher focus on hyprland. 2025-11-12 08:00:59 -05:00
Lysec
e35239d512 Merge pull request #731 from bokicoder/patch-2
Calendar: add missing import
2025-11-12 13:27:44 +01:00
bokicoder
772fb1da7d Calendar: add missing import 2025-11-12 20:24:28 +08:00
Sighthesia
be780971d6 SystemMonitor: ensure critical thresholds are not less than warning thresholds 2025-11-12 13:28:17 +08:00
Sighthesia
fa880e8390 SystemMonitor: restore metrics' icon color 2025-11-12 13:22:29 +08:00
ItsLemmy
b3fbe7eff3 Panels: splitted bg and content for improved perfs. 2025-11-11 22:53:01 -05:00
Sighthesia
f616aa64c5 i18n: add ai translations for system monitor threshold highlighting
- Added threshold settings for visual indicators in German, English, Spanish, French, Portuguese, Russian, Turkish, Ukrainian, and Chinese.
2025-11-12 11:07:07 +08:00
Sighthesia
ccbfa926dd SystemMonitor: add configurable thresholds for system monitor widget 2025-11-12 11:05:41 +08:00
ItsLemmy
3d6e1dc7d9 Back to -dev 2025-11-11 21:04:23 -05:00
ItsLemmy
a1ffa4c7e2 v3.0.10 2025-11-11 21:03:13 -05:00
ItsLemmy
b3aa1b03ad i18n update 2025-11-11 19:30:30 -05:00
Lemmy
48f8e2745b Merge pull request #726 from kurrycat2004/wallpaper-symlink
WallpaperService: make recursive wallpaper search follow symlinks
2025-11-11 19:19:05 -05:00
Lemmy
9bb3a7c4b3 Merge pull request #722 from Sridou/dev
Reset button for notification timeout values
2025-11-11 19:17:48 -05:00
Lemmy
031eb25e90 Merge pull request #721 from 3akev/kb_toast_setting
Add setting to disable keyboard layout toast
2025-11-11 19:16:30 -05:00
kurrycat
b717baf4ba allow update-text toggle without command + disable update-text toggle in
text stream mode
2025-11-12 00:16:35 +01:00
ItsLemmy
db20310202 Hyprland and Sway: Use WlrKeyboardFocus.OnDemand 2025-11-11 18:07:15 -05:00
kurrycat
4ea011b72a disable update-text toggle by default 2025-11-11 23:57:40 +01:00
kurrycat
c2278bdd2d add missing import 2025-11-11 23:57:40 +01:00
kurrycat
fb126cc86c add option to refresh CustomButton text on click 2025-11-11 23:57:40 +01:00
Lysec
895bddf568 Merge pull request #723 from onelocked/main
Fix: WallpaperSelector widget panel positioning
2025-11-11 23:25:15 +01:00
Lysec
0867965ff6 Merge pull request #725 from DrWeb56/main
Update ru.json (translation)
2025-11-11 22:21:58 +01:00
kurrycat
0a0f5d4fff make recursive wallpaper search follow symlinks 2025-11-11 21:28:32 +01:00
DrWeb56
fdaeec8b50 Update ru.json 2025-11-12 01:06:59 +05:00
onelocked
acc5b2cd27 Fix: WallpaperSelector widget panel positioning
When clicking the Wallpaper Selector button in the bar, it did not
respect the users position choice. For example if set to bottom right,
it would still follow bar position.
2025-11-11 19:29:29 +00:00
Sridou
f94d523cbc added reset button for notification timeout settings 2025-11-12 00:21:14 +05:30
Ala Alkhafaji
fe1129c56c Add setting to disable keyboard layout toast 2025-11-11 19:40:35 +01:00
ItsLemmy
8aa4254d57 Tray: fix for hyprland (untested) 2025-11-11 13:35:35 -05:00
Sridou
92b8fcb76a added comments to UserInterfaceTab.qml 2025-11-11 23:44:40 +05:30
Sighthesia
84e413f316 SystemMonitor: add warning and critical state indicators for disk usage 2025-11-12 01:08:26 +08:00
ItsLemmy
093b32803b Back to -dev version 2025-11-11 10:45:39 -05:00
ItsLemmy
466a32a572 v3.0.9 2025-11-11 10:44:27 -05:00
ItsLemmy
33350497de Tray: more intuitive auto closing. 2025-11-11 10:35:50 -05:00
ItsLemmy
9d25df5c4f Merge branch 'tray' 2025-11-11 10:30:23 -05:00
ItsLemmy
3e8e21de7f Tray: close drawer when pinning, to keep things simple 2025-11-11 10:27:10 -05:00
Ly-sec
6ae3a19e1e AudioService: properly filter outputs with no inputs
AudioCard & OSD: use said detection
2025-11-11 16:25:52 +01:00
Sighthesia
952e5ecbde SystemMonitor: add warning and critical state indicators for CPU, temperature, and memory 2025-11-11 23:25:41 +08:00
ItsLemmy
2bc6dfb2b4 Tray: refactoring - back to dropdown menu while keeping the drawer for unpinned. 2025-11-11 10:21:55 -05:00
ItsLemmy
d4f11f6ef9 Cava: less logs 2025-11-11 10:21:08 -05:00
Ly-sec
508f8be6b8 Revert "AudioCard/Panel: add one-shot timer to prevent 100% volume on startup"
This reverts commit bd0ddda7c6.
2025-11-11 15:27:17 +01:00
Ly-sec
bd0ddda7c6 AudioCard/Panel: add one-shot timer to prevent 100% volume on startup 2025-11-11 15:16:32 +01:00
ItsLemmy
3c8a49d7c0 SmartPanel: improved snapping behavior 2025-11-11 07:22:48 -05:00
ItsLemmy
afcadb86d7 Autoformatting 2025-11-11 07:09:43 -05:00
ItsLemmy
a92b7686bf ControlCenter: better autosizing for the weather card. Fix #713 2025-11-11 07:09:32 -05:00
Lemmy
16b5c27f26 Merge pull request #554 from shouya/sleep-inhibitor
Scroll to set a timeout to manual sleep inhibitor
2025-11-11 06:55:35 -05:00
ItsLemmy
9bccf4ff56 Calendar: events tooltip use fixed font with improved time formating 2025-11-11 06:54:13 -05:00
ItsLemmy
a6f25cc9d5 NotificationHistory: Width 340 => 420 2025-11-11 06:53:33 -05:00
Lemmy
54e4d38a9e Merge pull request #714 from Hoverbear/hoverbear/times-in-calendar
Calendar: Print times in Calendar
2025-11-11 06:33:26 -05:00
Lemmy
76a747189b Merge pull request #715 from Hoverbear/hoverbear/utc-ify-calendar-datetimes
Calendar: UTC-ify datetimes
2025-11-11 06:32:22 -05:00
Lemmy
13b6b17981 Merge pull request #706 from 3akev/main
KeyboardLayout: update on "keyboard layout changed" events
2025-11-11 06:28:25 -05:00
ItsLemmy
877f517a02 Bar: reimplemented hairline gap safety. 2025-11-11 06:21:58 -05:00
ItsLemmy
230d5de071 wip 2025-11-11 05:39:00 -05:00
Lysec
38da6dbfcf Merge pull request #718 from oluijks/feat/dutch-translation
Add Dutch translation (nl)
2025-11-11 11:19:53 +01:00
Olaf Luijks
932d06897b Add Dutch translation (nl) 2025-11-11 11:06:25 +01:00
Ana Hobden
c19a6dfa42 Calendar: Use the QT Locale formats 2025-11-10 22:23:39 -08:00
Ana Hobden
a2eab85dbd Calendar: UTC-ify datetimes 2025-11-10 21:42:42 -08:00
Ana Hobden
f6d9af143c Calendar: Print times in Calendar 2025-11-10 21:40:06 -08:00
shouya
0f360859d0 fix flickering text when scrolling to zero while hovering 2025-11-11 13:46:17 +09:00
shouya
33e7977077 add i18n for non-english languages 2025-11-11 13:46:17 +09:00
shouya
d85f426b15 allow setting a timeout to manual sleep inhibitor 2025-11-11 13:46:17 +09:00
ItsLemmy
ec328f348c ActiveWindow: added missing Wayland import for hyprland toplevel. 2025-11-10 21:00:06 -05:00
ItsLemmy
d59299798f back to dev version 2025-11-10 20:18:53 -05:00
ItsLemmy
5b34a0e025 v3.0.8 2025-11-10 20:18:12 -05:00
ItsLemmy
16a396cc99 Bar mask region: should fix ghost bar. 2025-11-10 20:04:57 -05:00
Ala Alkhafaji
a6f487eac0 KeyboardLayout: stopgap solution for sway 2025-11-11 01:53:49 +01:00
ItsLemmy
6ec8fc6b8b Audio: Attempt to fix #708 2025-11-10 19:48:06 -05:00
ItsLemmy
8cb58ac144 Media: Restore seekRelative IPC call. Fix #709 2025-11-10 19:37:23 -05:00
ItsLemmy
40f182e98a WiFi: Removed internet connectivity check as it is causing a lot of false positive. 2025-11-10 19:32:40 -05:00
ItsLemmy
01bcdf577d Notifications History: increased height from 420 to 540 2025-11-10 19:17:43 -05:00
ItsLemmy
6c00dabc1e Overview: removed optimization so we are sure to see the overview between the workspaces when switching 2025-11-10 19:15:40 -05:00
Ala Alkhafaji
43ff69238a KeyboardLayout: update on keyboard layout change events (hyprland) 2025-11-10 23:54:37 +01:00
Ala Alkhafaji
9921e1a09f KeyboardLayout: update on keyboard layout change events (niri) 2025-11-10 21:33:33 +01:00
Ly-sec
36d9dabb02 README: small update 2025-11-10 21:27:29 +01:00
Ly-sec
968180446b Services: add systemd service 2025-11-10 21:08:56 +01:00
Ly-sec
dfd3269928 ControlCenter: add proper shader for distro logo 2025-11-10 20:25:41 +01:00
ItsLemmy
8c7a31931f Background/Overview: back to smooth 2025-11-10 14:13:28 -05:00
ItsLemmy
5f2adff8d6 Cava: removed some non fruitful optimizations 2025-11-10 13:59:20 -05:00
ItsLemmy
f708a039bd SmartPanel: prevent closing panel by right clicking inside the panel inactive area. 2025-11-10 13:59:02 -05:00
Lysec
d7d2876209 Merge pull request #705 from Rexcrazy804/fix-nix-shell
fix(nix): fix shell.nix for non flake `nix-shell` invocation
2025-11-10 19:37:27 +01:00
Ly-sec
9ded2f7ef6 Set version to dev 2025-11-10 19:23:27 +01:00
Ly-sec
4a86f7b37b Release v3.0.6 2025-11-10 19:23:01 +01:00
Rexiel Scarlet
4ade4e91e6 fix(nix): fix shell.nix for non flake nix-shell invocation
- relocated shell.nix to nix/shell.nix
- initialized shell.nix at root to correctly invoke the shell with
  `nix-shell` command for non flake
2025-11-10 22:15:29 +04:00
ItsLemmy
2983cc9361 TemplateProcessor: Errors no longer display a toast messages. Errors will be available in the logs for template contributors. 2025-11-10 13:14:25 -05:00
ItsLemmy
8028deb1ed TaskbarGrouped: workspace indicator on top 2025-11-10 12:35:00 -05:00
Lemmy
02c250ab37 Merge pull request #648 from ahmet-cetinkaya/feat/taskbar-workspace-numbers
feat(bar): add workspace numbers to TaskbarGrouped widget
2025-11-10 12:30:19 -05:00
Lysec
a817b1d162 Merge pull request #704 from DrWeb56/main
Added Russian translation (ru.json).Please review.
2025-11-10 18:28:57 +01:00
ItsLemmy
7da45e007b Merge branch 'main' of github.com:noctalia-dev/noctalia-shell 2025-11-10 12:23:54 -05:00
Ly-sec
54f8b3574d KeyboardLayout: add toast to inform the user about changed layout 2025-11-10 18:21:47 +01:00
ItsLemmy
2a9e467a29 Root cleanup 2025-11-10 12:20:22 -05:00
Ahmet Çetinkaya
fa3e6a02b9 fix(bar): resolve 'Show workspace numbers only when occupied' setting
- Fix workspace number container visibility logic to properly reference container.hasWindows
- The 'hasWindows' property was not in scope for workspaceNumberContainer
- Workspace numbers now correctly hide when workspace has no windows and setting is enabled
- Fixes toggle functionality for 'show-numbers-only-when-occupied' setting
2025-11-10 20:14:30 +03:00
Ahmet Çetinkaya
debe26a04b feat(i18n): add Turkish translations for taskbar workspace numbers
Adds translation keys for workspace number display options in the taskbar:
- "show-workspace-numbers": Controls visibility of workspace numbers in taskbar groups
- "show-numbers-only-when-occupied": Shows numbers only for occupied workspaces
2025-11-10 19:45:15 +03:00
DrWeb56
f8aed91a5b Update russian translate 2025-11-10 21:44:28 +05:00
DrWeb56
af0f23e359 Merge branch 'noctalia-dev:main' into main 2025-11-10 21:43:10 +05:00
Ahmet Çetinkaya
579e9bf914 Merge upstream/main into feat/taskbar-workspace-numbers
- Resolved file location conflicts by moving TaskbarGroupedSettings.qml to Modules/Panels/Settings/Bar/WidgetSettings/
- Fixed translation conflicts in de.json, es.json, fr.json, pt.json, and zh-CN.json by adding taskbar-grouped translation sections
- Maintained all existing functionality while adapting to new project structure
- Preserved workspace number feature functionality across all supported languages

Conflicts resolved:
- Translation files: Added taskbar-grouped sections after existing taskbar sections
- File location: Moved settings file to new Panels directory structure
2025-11-10 19:41:09 +03:00
Ly-sec
5f50bad53b Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell 2025-11-10 17:30:35 +01:00
Ly-sec
84eaa98dd6 Update PR template 2025-11-10 17:30:31 +01:00
ItsLemmy
f2194aebbc Merge branch 'main' of github.com:noctalia-dev/noctalia-shell 2025-11-10 11:21:33 -05:00
ItsLemmy
c290869869 OSD: reduced main axis size to 75% 2025-11-10 11:20:11 -05:00
Ly-sec
20e1086060 Launcher: add CTRL+J/N keybinds (fixes #694) 2025-11-10 17:17:31 +01:00
Ly-sec
5402ae32f5 Notification: make doNotDisturb non persistent (fixes #665) 2025-11-10 17:12:51 +01:00
ItsLemmy
97e24ac9b3 Compositor: Fix lockAndSuspend - missing import 2025-11-10 10:30:02 -05:00
ItsLemmy
b81ce9819d Default settings: added spicetify + autoformatting 2025-11-10 10:10:30 -05:00
Lemmy
876d88a2ca Merge pull request #697 from Sighthesia/wallpaper-animations-on-load
Background: add startup wallpaper transition
2025-11-10 10:08:48 -05:00
ItsLemmy
8c01158bad Autoformat 2025-11-10 10:03:23 -05:00
ItsLemmy
141f971a1d Notifications: Fixed Toast when toggling DND 2025-11-10 10:03:12 -05:00
Lemmy
bd63fe1c8c Merge pull request #702 from onelocked/main
Fixing Matugen Ghostty posthook
2025-11-10 09:59:38 -05:00
Lysec
0300666e1e Merge pull request #703 from acdcbyl/main
Matugen: fix spicetify theme work for predefined colors && fix `hex_tripped` does not work
2025-11-10 15:33:38 +01:00
Aiser
e3aa6e3429 Matugen: fix spicetify theme work for predefined colors && fix hex_stripped does not work 2025-11-10 22:30:22 +08:00
onelocked
c40e39708b Fixing Matugen Ghostty posthook
Ensure that the command runs in a Bash shell (fixes for people running
nu shell)
pgrep -f matches the entire command line, so it catches variants like
.ghostty-wrapped.
2025-11-10 14:22:16 +00:00
Sighthesia
71ad86dd6f Background: remove the setting of startup wallpaper transition 2025-11-10 22:03:57 +08:00
Ly-sec
4801716c36 LockScreen: add missing import (fixes #699) 2025-11-10 14:52:20 +01:00
Sighthesia
ff8e19d573 Revert "i18n: add ai translations of startup transition"
This reverts commit 02d7a52dd7.
2025-11-10 21:48:23 +08:00
ItsLemmy
e76b3429d1 Autoformatting 2025-11-10 08:35:36 -05:00
Lemmy
0573f24d63 Merge pull request #664 from lonerOrz/fix/vertical-bar-text
fix(custom button): Adjust the custom button text display when the bar is vertical
2025-11-10 08:34:54 -05:00
ItsLemmy
f24d2f758a NImageCached: restored to its original glory. Warnings are expected and are acceptable. 2025-11-10 08:29:34 -05:00
Ly-sec
bb8ab1f7eb SystemTrayService: add service to init tray faster (#689) 2025-11-10 12:56:01 +01:00
Ly-sec
c6bd84dfaa ControlCenter: add colorize distro toggle 2025-11-10 12:47:49 +01:00
Ly-sec
5ec97ac750 ControlCenter: add missing import 2025-11-10 12:32:00 +01:00
loner
54dad12a70 feat(bar): Add conditional text rotation for BarPillVertical 2025-11-10 18:39:53 +08:00
loner
b37f4d4268 feat: Add dynamic tooltip parsing to CustomButton 2025-11-10 18:39:53 +08:00
loner
ebfd50b20a i18n(zh-CN): Translate CustomButton settings 2025-11-10 18:39:53 +08:00
loner
8a5704ab82 i18n(uk-UA): Translate CustomButton settings 2025-11-10 18:39:53 +08:00
loner
97a9e5a184 i18n(tr): Translate CustomButton settings 2025-11-10 18:39:53 +08:00
loner
10b6945966 i18n(pt): Translate CustomButton settings 2025-11-10 18:39:53 +08:00
loner
0432ef7b9b i18n(fr): Translate CustomButton settings 2025-11-10 18:39:53 +08:00
loner
ba38031b5f i18n(es): Translate CustomButton settings 2025-11-10 18:39:53 +08:00
loner
0c0e353308 i18n(de): Translate CustomButton settings 2025-11-10 18:39:53 +08:00
loner
2f853e3eca feat(bar): Add option to hide CustomButton text in vertical bar 2025-11-10 18:39:53 +08:00
loner
110bbdf7a3 fix(custom button): Adjust the custom button text display when the bar is vertical 2025-11-10 18:39:52 +08:00
Lysec
290a767f11 Merge pull request #698 from lonerOrz/fix/tray-import
fix(tray): import ui service
2025-11-10 11:33:47 +01:00
loner
1df1e1119e fix(tray): import ui service 2025-11-10 18:32:23 +08:00
Sighthesia
02d7a52dd7 i18n: add ai translations of startup transition
- Added "startup-transition-type" key to translations for multiple languages.
- Updated descriptions and labels for the new transition type in German, English, Spanish, French, Portuguese, Turkish, Ukrainian, and Chinese.
2025-11-10 17:43:05 +08:00
Sighthesia
dc5292dadb Background: optimize wallpaper source size calculation 2025-11-10 17:34:17 +08:00
Sighthesia
162c5febda Background: add startup wallpaper transition 2025-11-10 17:33:45 +08:00
Lysec
cff97f0200 Merge pull request #696 from acdcbyl/main
Matugen: fix ghostty's posthook
2025-11-10 07:43:06 +01:00
Aiser
85ff0532fa Matugen: fix ghostty's posthook 2025-11-10 14:39:54 +08:00
Lysec
2e0ffce2e0 Merge pull request #695 from acdcbyl/main
Matugen: add spicetify theme for Spotify
2025-11-10 07:32:25 +01:00
Aiser
b4ac786e8b Matugen: add spicetify theme for Spotify 2025-11-10 13:20:51 +08:00
ItsLemmy
b7f071d31e Back to -dev 2025-11-09 21:02:58 -05:00
DrWeb56
ee2402162e Merge branch 'noctalia-dev:main' into main 2025-11-08 11:54:50 +05:00
DrWeb56
292b2517ba Merge branch 'noctalia-dev:main' into main 2025-11-08 01:37:28 +05:00
DrWeb56
52086bd8f6 Merge branch 'noctalia-dev:main' into main 2025-11-07 23:15:34 +05:00
DrWeb56
7f38d03c8a add russian translate 2025-11-07 23:05:08 +05:00
Ahmet Çetinkaya
9c1bce0fe4 feat(bar): add workspace numbers to TaskbarGrouped widget
Add workspace number badges to TaskbarGrouped widget that display in the
top-left corner of task groups, similar to existing Workspace widget
styling.

Features:
- Circular workspace number badges with negative margins for border overlap
- Color states: focused (primary), urgent (error), occupied (secondary), empty (outline)
- Burst animation effects when workspace becomes focused
- User-configurable settings: showWorkspaceNumbers, showNumbersOnlyWhenOccupied
- Comprehensive internationalization support for all supported locales

Implementation:
- Enhanced TaskbarGrouped.qml with workspace number display and animation system
- Created TaskbarGroupedSettings.qml for user configuration
- Updated BarWidgetRegistry.qml with default settings metadata
- Added settings dialog mapping in BarWidgetSettingsDialog.qml
- Added translations for all supported locales (en, de, es, fr, pt, zh-CN, uk-UA)

The workspace numbers provide quick visual identification of workspace
assignment while maintaining the clean aesthetic of the taskbar.
2025-11-03 15:54:24 +03:00
370 changed files with 33651 additions and 16295 deletions

View File

@@ -1,5 +1,7 @@
# Pull Request
<!-- If this is a color scheme PR, please create it in https://github.com/noctalia-dev/noctalia-colorschemes instead -->
## Motivation
Provide a clear and concise explanation of what this PR does and why it is needed.
@@ -15,8 +17,12 @@ Mark the relevant option with an "x".
## Testing
Describe how you tested your changes and mark the relevant items.
- [ ] Tested on compositor: (e.g., Hyprland, Sway, Niri)
- [ ] Tested on niri
- [ ] Tested on Hyprland
- [ ] Tested on sway
- [ ] Tested with different bar positions and density settings
- [ ] Tested at different interface scaling values
- [ ] Tested with multiple monitors (if applicable)
## Screenshots / Videos

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
.qmlls.ini
.zed
Bin/battery-manager/uninstall-battery-manager.sh
.idea

View File

@@ -1,38 +0,0 @@
{
"dark": {
"mPrimary": "#C4A82E",
"mOnPrimary": "#0E1015",
"mSecondary": "#D14358",
"mOnSecondary": "#0E1015",
"mTertiary": "#00A66C",
"mOnTertiary": "#0E1015",
"mError": "#B32D2D",
"mOnError": "#0E1015",
"mSurface": "#0C1017",
"mOnSurface": "#5C8AC4",
"mSurfaceVariant": "#11151D",
"mOnSurfaceVariant": "#9B6BC1",
"mOutline": "#45A0D6",
"mShadow": "#090D13",
"mHover": "#00A66C",
"mOnHover": "#0E1015"
},
"light": {
"mPrimary": "#00B8B3",
"mOnPrimary": "#1A1914",
"mSecondary": "#D957A0",
"mOnSecondary": "#1A1914",
"mTertiary": "#45D395",
"mOnTertiary": "#1A1914",
"mError": "#E63E5D",
"mOnError": "#1A1914",
"mSurface": "#DAE6E8",
"mOnSurface": "#1A1914",
"mSurfaceVariant": "#C8DEE6",
"mOnSurfaceVariant": "#1A1914",
"mOutline": "#7B52AB",
"mShadow": "#B8D4E6",
"mHover": "#45D395",
"mOnHover": "#1A1914"
}
}

View File

@@ -1,33 +0,0 @@
# Colors (Cyberpunk)
[colors.bright]
black = '#2b314a'
blue = '#4f8fff'
cyan = '#43c9ff'
green = '#89d36a'
magenta = '#9d6dff'
red = '#e64572'
white = '#d8e0ff'
yellow = '#d7a23a'
[colors.cursor]
cursor = '#d8e0ff'
text = '#0a0d14'
[colors.normal]
black = '#0c0e14'
blue = '#4f8fff'
cyan = '#43c9ff'
green = '#89d36a'
magenta = '#9d6dff'
red = '#e64572'
white = '#b7c4f2'
yellow = '#d7a23a'
[colors.primary]
background = '#0a0d14'
foreground = '#d8e0ff'
[colors.selection]
background = '#d8e0ff'
text = '#0a0d14'

View File

@@ -1,33 +0,0 @@
# Colors (Cyberpunk Light)
[colors.bright]
black = '#a1a6c5'
blue = '#2e7de9'
cyan = '#007197'
green = '#587539'
magenta = '#9854f1'
red = '#f52a65'
white = '#3760bf'
yellow = '#8c6c3e'
[colors.cursor]
cursor = '#3760bf'
text = '#e1e2e7'
[colors.normal]
black = '#e9e9ed'
blue = '#2e7de9'
cyan = '#007197'
green = '#587539'
magenta = '#9854f1'
red = '#f52a65'
white = '#6172b0'
yellow = '#8c6c3e'
[colors.primary]
background = '#e1e2e7'
foreground = '#3760bf'
[colors.selection]
background = '#99a7df'
text = '#3760bf'

View File

@@ -1,27 +0,0 @@
[cursor]
color=0a0d14 d8e0ff
[colors]
foreground=d8e0ff
background=0a0d14
regular0=0c0e14
regular1=e64572
regular2=89d36a
regular3=d7a23a
regular4=4f8fff
regular5=9d6dff
regular6=43c9ff
regular7=b7c4f2
bright0=2b314a
bright1=e64572
bright2=89d36a
bright3=d7a23a
bright4=4f8fff
bright5=9d6dff
bright6=43c9ff
bright7=d8e0ff
selection-foreground=0a0d14
selection-background=d8e0ff

View File

@@ -1,22 +0,0 @@
[colors]
foreground=3760bf
background=e1e2e7
regular0=e9e9ed
regular1=f52a65
regular2=587539
regular3=8c6c3e
regular4=2e7de9
regular5=9854f1
regular6=007197
regular7=6172b0
bright0=a1a6c5
bright1=f52a65
bright2=587539
bright3=8c6c3e
bright4=2e7de9
bright5=9854f1
bright6=007197
bright7=3760bf
selection-foreground=3760bf
selection-background=99a7df
cursor=e1e2e7 3760bf

View File

@@ -1,23 +0,0 @@
palette = 0=#0c0e14
palette = 1=#e64572
palette = 2=#89d36a
palette = 3=#d7a23a
palette = 4=#4f8fff
palette = 5=#9d6dff
palette = 6=#43c9ff
palette = 7=#b7c4f2
palette = 8=#2b314a
palette = 9=#e64572
palette = 10=#89d36a
palette = 11=#d7a23a
palette = 12=#4f8fff
palette = 13=#9d6dff
palette = 14=#43c9ff
palette = 15=#d8e0ff
background = #0a0d14
foreground = #d8e0ff
cursor-color = #d8e0ff
cursor-text = #0a0d14
selection-background = #d8e0ff
selection-foreground = #0a0d14

View File

@@ -1,22 +0,0 @@
palette = 0=#e9e9ed
palette = 1=#f52a65
palette = 2=#587539
palette = 3=#8c6c3e
palette = 4=#2e7de9
palette = 5=#9854f1
palette = 6=#007197
palette = 7=#6172b0
palette = 8=#a1a6c5
palette = 9=#f52a65
palette = 10=#587539
palette = 11=#8c6c3e
palette = 12=#2e7de9
palette = 13=#9854f1
palette = 14=#007197
palette = 15=#3760bf
background = #e1e2e7
foreground = #3760bf
cursor-color = #3760bf
cursor-text = #e1e2e7
selection-background = #99a7df
selection-foreground = #3760bf

View File

@@ -1,23 +0,0 @@
color0 #0c0e14
color1 #e64572
color2 #89d36a
color3 #d7a23a
color4 #4f8fff
color5 #9d6dff
color6 #43c9ff
color7 #b7c4f2
color8 #2b314a
color9 #e64572
color10 #89d36a
color11 #d7a23a
color12 #4f8fff
color13 #9d6dff
color14 #43c9ff
color15 #d8e0ff
background #0a0d14
selection_foreground #0a0d14
cursor #d8e0ff
cursor_text_color #0a0d14
foreground #d8e0ff
selection_background #d8e0ff

View File

@@ -1,22 +0,0 @@
color0 #e9e9ed
color1 #f52a65
color2 #587539
color3 #8c6c3e
color4 #2e7de9
color5 #9854f1
color6 #007197
color7 #6172b0
color8 #a1a6c5
color9 #f52a65
color10 #587539
color11 #8c6c3e
color12 #2e7de9
color13 #9854f1
color14 #007197
color15 #3760bf
background #e1e2e7
selection_foreground #e1e2e7
cursor #3760bf
cursor_text_color #e1e2e7
foreground #3760bf
selection_background #3760bf

View File

@@ -1,31 +0,0 @@
[colors]
ansi = [
"#0c0e14",
"#e64572",
"#89d36a",
"#d7a23a",
"#4f8fff",
"#9d6dff",
"#43c9ff",
"#b7c4f2",
]
background = "#0a0d14"
brights = [
"#2b314a",
"#e64572",
"#89d36a",
"#d7a23a",
"#4f8fff",
"#9d6dff",
"#43c9ff",
"#d8e0ff",
]
cursor_bg = "#d8e0ff"
cursor_border = "#d8e0ff"
cursor_fg = "#0a0d14"
foreground = "#d8e0ff"
selection_bg = "#d8e0ff"
selection_fg = "#0a0d14"
[metadata]
name = "Noctalia"

View File

@@ -1,31 +0,0 @@
[colors]
ansi = [
"#e9e9ed",
"#f52a65",
"#587539",
"#8c6c3e",
"#2e7de9",
"#9854f1",
"#007197",
"#6172b0",
]
background = "#e1e2e7"
brights = [
"#a1a6c5",
"#f52a65",
"#587539",
"#8c6c3e",
"#2e7de9",
"#9854f1",
"#007197",
"#3760bf",
]
cursor_bg = "#3760bf"
cursor_border = "#3760bf"
cursor_fg = "#e1e2e7"
foreground = "#3760bf"
selection_bg = "#3760bf"
selection_fg = "#e1e2e7"
[metadata]
name = "Noctalia"

View File

@@ -1,38 +0,0 @@
{
"dark": {
"mPrimary": "#D3C6AA",
"mOnPrimary": "#232A2E",
"mSecondary": "#D3C6AA",
"mOnSecondary": "#232A2E",
"mTertiary": "#9DA9A0",
"mOnTertiary": "#232A2E",
"mError": "#E67E80",
"mOnError": "#232A2E",
"mSurface": "#232A2E",
"mOnSurface": "#859289",
"mSurfaceVariant": "#2D353B",
"mOnSurfaceVariant": "#D3C6AA",
"mOutline": "#D3C6AA",
"mShadow": "#475258",
"mHover": "#9DA9A0",
"mOnHover": "#232A2E"
},
"light": {
"mPrimary": "#434F55",
"mOnPrimary": "#D3C6AA",
"mSecondary": "#232a2e",
"mOnSecondary": "#D3C6AA",
"mTertiary": "#333c43",
"mOnTertiary": "#9DA9A0",
"mError": "#E66868",
"mOnError": "#9DA9A0",
"mSurface": "#9DA9A0",
"mOnSurface": "#232A2E",
"mSurfaceVariant": "#BEC5B2",
"mOnSurfaceVariant": "#333C43",
"mOutline": "#232A2E",
"mShadow": "#ECF5ED",
"mHover": "#333c43",
"mOnHover": "#9DA9A0"
}
}

View File

@@ -1,33 +0,0 @@
# Colors (Everforest Dark Hard)
[colors.bright]
black = '#a6b0a0'
blue = '#3a94c5'
cyan = '#35a77c'
green = '#8da101'
magenta = '#df69ba'
red = '#f85552'
white = '#fffbef'
yellow = '#dfa000'
[colors.cursor]
cursor = '#e69875'
text = '#4c3743'
[colors.normal]
black = '#7a8478'
blue = '#7fbbb3'
cyan = '#83c092'
green = '#a7c080'
magenta = '#d699b6'
red = '#e67e80'
white = '#f2efdf'
yellow = '#dbbc7f'
[colors.primary]
background = '#1e2326'
foreground = '#d3c6aa'
[colors.selection]
background = '#4c3743'
text = '#d3c6aa'

View File

@@ -1,33 +0,0 @@
# Colors (Everforest Light Med)
[colors.bright]
black = '#a6b0a0'
blue = '#3a94c5'
cyan = '#35a77c'
green = '#8da101'
magenta = '#df69ba'
red = '#f85552'
white = '#fffbef'
yellow = '#dfa000'
[colors.cursor]
cursor = '#f57d26'
text = '#eaedc8'
[colors.normal]
black = '#7a8478'
blue = '#7fbbb3'
cyan = '#83c092'
green = '#9ab373'
magenta = '#d699b6'
red = '#e67e80'
white = '#b2af9f'
yellow = '#c1a266'
[colors.primary]
background = '#efebd4'
foreground = '#5c6a72'
[colors.selection]
background = '#eaedc8'
text = '#5c6a72'

View File

@@ -1,22 +0,0 @@
[colors]
foreground=d3c6aa
background=1e2326
regular0=7a8478
regular1=e67e80
regular2=a7c080
regular3=dbbc7f
regular4=7fbbb3
regular5=d699b6
regular6=83c092
regular7=f2efdf
bright0=a6b0a0
bright1=f85552
bright2=8da101
bright3=dfa000
bright4=3a94c5
bright5=df69ba
bright6=35a77c
bright7=fffbef
selection-foreground=d3c6aa
selection-background=4c3743
cursor=4c3743 e69875

View File

@@ -1,22 +0,0 @@
[colors]
foreground=5c6a72
background=efebd4
regular0=7a8478
regular1=e67e80
regular2=9ab373
regular3=c1a266
regular4=7fbbb3
regular5=d699b6
regular6=83c092
regular7=b2af9f
bright0=a6b0a0
bright1=f85552
bright2=8da101
bright3=dfa000
bright4=3a94c5
bright5=df69ba
bright6=35a77c
bright7=fffbef
selection-foreground=5c6a72
selection-background=eaedc8
cursor=eaedc8 f57d26

View File

@@ -1,22 +0,0 @@
palette = 0=#7a8478
palette = 1=#e67e80
palette = 2=#a7c080
palette = 3=#dbbc7f
palette = 4=#7fbbb3
palette = 5=#d699b6
palette = 6=#83c092
palette = 7=#f2efdf
palette = 8=#a6b0a0
palette = 9=#f85552
palette = 10=#8da101
palette = 11=#dfa000
palette = 12=#3a94c5
palette = 13=#df69ba
palette = 14=#35a77c
palette = 15=#fffbef
background = #1e2326
foreground = #d3c6aa
cursor-color = #e69875
cursor-text = #4c3743
selection-background = #4c3743
selection-foreground = #d3c6aa

View File

@@ -1,22 +0,0 @@
palette = 0=#7a8478
palette = 1=#e67e80
palette = 2=#9ab373
palette = 3=#c1a266
palette = 4=#7fbbb3
palette = 5=#d699b6
palette = 6=#83c092
palette = 7=#b2af9f
palette = 8=#a6b0a0
palette = 9=#f85552
palette = 10=#8da101
palette = 11=#dfa000
palette = 12=#3a94c5
palette = 13=#df69ba
palette = 14=#35a77c
palette = 15=#fffbef
background = #efebd4
foreground = #5c6a72
cursor-color = #f57d26
cursor-text = #eaedc8
selection-background = #eaedc8
selection-foreground = #5c6a72

View File

@@ -1,22 +0,0 @@
color0 #7a8478
color1 #e67e80
color2 #a7c080
color3 #dbbc7f
color4 #7fbbb3
color5 #d699b6
color6 #83c092
color7 #f2efdf
color8 #a6b0a0
color9 #f85552
color10 #8da101
color11 #dfa000
color12 #3a94c5
color13 #df69ba
color14 #35a77c
color15 #fffbef
background #1e2326
selection_foreground #1e2326
cursor #e69875
cursor_text_color #4c3743
foreground #d3c6aa
selection_background #d3c6aa

View File

@@ -1,22 +0,0 @@
color0 #7a8478
color1 #e67e80
color2 #9ab373
color3 #c1a266
color4 #7fbbb3
color5 #d699b6
color6 #83c092
color7 #b2af9f
color8 #a6b0a0
color9 #f85552
color10 #8da101
color11 #dfa000
color12 #3a94c5
color13 #df69ba
color14 #35a77c
color15 #fffbef
background #efebd4
selection_foreground #efebd4
cursor #f57d26
cursor_text_color #eaedc8
foreground #5c6a72
selection_background #5c6a72

View File

@@ -1,33 +0,0 @@
[colors]
ansi = [
"#4b565c",
"#e67e80",
"#a7c080",
"#dbbc7f",
"#7fbbb3",
"#d699b6",
"#83c092",
"#d3c6aa",
]
background = "#2d353b"
brights = [
"#5c6a72",
"#f85552",
"#8da101",
"#dfa000",
"#3a94c5",
"#df69ba",
"#35a77c",
"#dfddc8",
]
cursor_bg = "#d3c6aa"
cursor_border = "#d3c6aa"
cursor_fg = "#2d353b"
foreground = "#d3c6aa"
[colors.indexed]
[metadata]
name = "Noctalia"

View File

@@ -1,31 +0,0 @@
[colors]
ansi = [
"#5c6a72",
"#f85552",
"#8da101",
"#dfa000",
"#3a94c5",
"#df69ba",
"#35a77c",
"#dfddc8",
]
background = "#fdf6e3"
brights = [
"#4b565c",
"#e67e80",
"#a7c080",
"#dbbc7f",
"#7fbbb3",
"#d699b6",
"#83c092",
"#d3c6aa",
]
cursor_bg = "#5c6a72"
cursor_border = "#5c6a72"
cursor_fg = "#fdf6e3"
foreground = "#5c6a72"
[colors.indexed]
[metadata]
name = "Noctalia"

View File

@@ -1,38 +0,0 @@
{
"dark": {
"mPrimary": "#aaaaaa",
"mOnPrimary": "#111111",
"mSecondary": "#a7a7a7",
"mOnSecondary": "#111111",
"mTertiary": "#cccccc",
"mOnTertiary": "#111111",
"mError": "#dddddd",
"mOnError": "#111111",
"mSurface": "#111111",
"mOnSurface": "#828282",
"mSurfaceVariant": "#191919",
"mOnSurfaceVariant": "#5d5d5d",
"mOutline": "#3c3c3c",
"mShadow": "#000000",
"mHover": "#cccccc",
"mOnHover": "#111111"
},
"light": {
"mPrimary": "#555555",
"mOnPrimary": "#eeeeee",
"mSecondary": "#505058",
"mOnSecondary": "#eeeeee",
"mTertiary": "#333333",
"mOnTertiary": "#eeeeee",
"mError": "#222222",
"mOnError": "#efefef",
"mSurface": "#d4d4d4",
"mOnSurface": "#696969",
"mSurfaceVariant": "#e8e8e8",
"mOnSurfaceVariant": "#9e9e9e",
"mOutline": "#c3c3c3",
"mShadow": "#fafafa",
"mHover": "#333333",
"mOnHover": "#eeeeee"
}
}

View File

@@ -1,33 +0,0 @@
# Colors (Monochrome)
[colors.bright]
black = '#3c3c3c'
blue = '#a7a7a7'
cyan = '#cccccc'
green = '#cccccc'
magenta = '#dddddd'
red = '#dddddd'
white = '#ffffff'
yellow = '#aaaaaa'
[colors.cursor]
cursor = '#aaaaaa'
text = '#111111'
[colors.normal]
black = '#191919'
blue = '#a7a7a7'
cyan = '#cccccc'
green = '#cccccc'
magenta = '#dddddd'
red = '#dddddd'
white = '#828282'
yellow = '#aaaaaa'
[colors.primary]
background = '#111111'
foreground = '#828282'
[colors.selection]
background = '#828282'
text = '#111111'

View File

@@ -1,33 +0,0 @@
# Colors (Monochrome Light)
[colors.bright]
black = '#c3c3c3'
blue = '#505058'
cyan = '#333333'
green = '#333333'
magenta = '#222222'
red = '#222222'
white = '#000000'
yellow = '#555555'
[colors.cursor]
cursor = '#555555'
text = '#d4d4d4'
[colors.normal]
black = '#e8e8e8'
blue = '#505058'
cyan = '#333333'
green = '#333333'
magenta = '#222222'
red = '#222222'
white = '#696969'
yellow = '#555555'
[colors.primary]
background = '#d4d4d4'
foreground = '#696969'
[colors.selection]
background = '#696969'
text = '#d4d4d4'

View File

@@ -1,22 +0,0 @@
[colors]
foreground=828282
background=111111
regular0=191919
regular1=dddddd
regular2=cccccc
regular3=aaaaaa
regular4=a7a7a7
regular5=dddddd
regular6=cccccc
regular7=828282
bright0=3c3c3c
bright1=dddddd
bright2=cccccc
bright3=aaaaaa
bright4=a7a7a7
bright5=dddddd
bright6=cccccc
bright7=ffffff
selection-foreground=111111
selection-background=828282
cursor=111111 aaaaaa

View File

@@ -1,22 +0,0 @@
[colors]
foreground=696969
background=d4d4d4
regular0=e8e8e8
regular1=222222
regular2=333333
regular3=555555
regular4=505058
regular5=222222
regular6=333333
regular7=696969
bright0=c3c3c3
bright1=222222
bright2=333333
bright3=555555
bright4=505058
bright5=222222
bright6=333333
bright7=000000
selection-foreground=d4d4d4
selection-background=696969
cursor=d4d4d4 555555

View File

@@ -1,22 +0,0 @@
palette = 0=#191919
palette = 1=#dddddd
palette = 2=#cccccc
palette = 3=#aaaaaa
palette = 4=#a7a7a7
palette = 5=#dddddd
palette = 6=#cccccc
palette = 7=#828282
palette = 8=#3c3c3c
palette = 9=#dddddd
palette = 10=#cccccc
palette = 11=#aaaaaa
palette = 12=#a7a7a7
palette = 13=#dddddd
palette = 14=#cccccc
palette = 15=#ffffff
background = #111111
foreground = #828282
cursor-color = #aaaaaa
cursor-text = #111111
selection-background = #828282
selection-foreground = #111111

View File

@@ -1,22 +0,0 @@
palette = 0=#e8e8e8
palette = 1=#222222
palette = 2=#333333
palette = 3=#555555
palette = 4=#505058
palette = 5=#222222
palette = 6=#333333
palette = 7=#696969
palette = 8=#c3c3c3
palette = 9=#222222
palette = 10=#333333
palette = 11=#555555
palette = 12=#505058
palette = 13=#222222
palette = 14=#333333
palette = 15=#000000
background = #d4d4d4
foreground = #696969
cursor-color = #555555
cursor-text = #d4d4d4
selection-background = #696969
selection-foreground = #d4d4d4

View File

@@ -1,22 +0,0 @@
color0 #191919
color1 #dddddd
color2 #cccccc
color3 #aaaaaa
color4 #a7a7a7
color5 #dddddd
color6 #cccccc
color7 #828282
color8 #3c3c3c
color9 #dddddd
color10 #cccccc
color11 #aaaaaa
color12 #a7a7a7
color13 #dddddd
color14 #cccccc
color15 #ffffff
background #111111
selection_foreground #111111
cursor #aaaaaa
cursor_text_color #111111
foreground #828282
selection_background #828282

View File

@@ -1,22 +0,0 @@
color0 #e8e8e8
color1 #222222
color2 #333333
color3 #555555
color4 #505058
color5 #222222
color6 #333333
color7 #696969
color8 #c3c3c3
color9 #222222
color10 #333333
color11 #555555
color12 #505058
color13 #222222
color14 #333333
color15 #000000
background #d4d4d4
selection_foreground #d4d4d4
cursor #555555
cursor_text_color #d4d4d4
foreground #696969
selection_background #696969

View File

@@ -1,31 +0,0 @@
[colors]
ansi = [
"#191919",
"#dddddd",
"#cccccc",
"#aaaaaa",
"#a7a7a7",
"#dddddd",
"#cccccc",
"#828282",
]
background = "#111111"
brights = [
"#3c3c3c",
"#dddddd",
"#cccccc",
"#aaaaaa",
"#a7a7a7",
"#dddddd",
"#cccccc",
"#ffffff",
]
cursor_bg = "#aaaaaa"
cursor_border = "#aaaaaa"
cursor_fg = "#111111"
foreground = "#828282"
selection_bg = "#828282"
selection_fg = "#111111"
[metadata]
name = "Noctalia"

View File

@@ -1,31 +0,0 @@
[colors]
ansi = [
"#e8e8e8",
"#222222",
"#333333",
"#555555",
"#505058",
"#222222",
"#333333",
"#696969",
]
background = "#d4d4d4"
brights = [
"#c3c3c3",
"#222222",
"#333333",
"#555555",
"#505058",
"#222222",
"#333333",
"#000000",
]
cursor_bg = "#555555"
cursor_border = "#555555"
cursor_fg = "#d4d4d4"
foreground = "#696969"
selection_bg = "#696969"
selection_fg = "#d4d4d4"
[metadata]
name = "Noctalia"

View File

@@ -1,38 +0,0 @@
{
"dark": {
"mPrimary": "#c7a1d8",
"mOnPrimary": "#1a151f",
"mSecondary": "#a984c4",
"mOnSecondary": "#f3edf7",
"mTertiary": "#e0b7c9",
"mOnTertiary": "#20161f",
"mError": "#e9899d",
"mOnError": "#1e1418",
"mSurface": "#1c1822",
"mOnSurface": "#e9e4f0",
"mSurfaceVariant": "#262130",
"mOnSurfaceVariant": "#a79ab0",
"mOutline": "#3e364e",
"mShadow": "#120f18",
"mHover": "#e0b7c9",
"mOnHover": "#20161f"
},
"light": {
"mPrimary": "#9b59ba",
"mOnPrimary": "#ffffff",
"mSecondary": "#784999",
"mOnSecondary": "#ffffff",
"mTertiary": "#c17093",
"mOnTertiary": "#ffffff",
"mError": "#e9899d",
"mOnError": "#1e1418",
"mSurface": "#f5f1fa",
"mOnSurface": "#1c1822",
"mSurfaceVariant": "#e7dfee",
"mOnSurfaceVariant": "#4a3d59",
"mOutline": "#cebedc",
"mShadow": "#ffffff",
"mHover": "#c17093",
"mOnHover": "#ffffff"
}
}

View File

@@ -1,33 +0,0 @@
# Colors (Noctalia Legacy)
[colors.bright]
black = '#3e364e'
blue = '#a984c4'
cyan = '#e0b7c9'
green = '#e0b7c9'
magenta = '#e9899d'
red = '#e9899d'
white = '#ffffff'
yellow = '#c7a1d8'
[colors.cursor]
cursor = '#c7a1d8'
text = '#1c1822'
[colors.normal]
black = '#262130'
blue = '#a984c4'
cyan = '#e0b7c9'
green = '#e0b7c9'
magenta = '#e9899d'
red = '#e9899d'
white = '#e9e4f0'
yellow = '#c7a1d8'
[colors.primary]
background = '#1c1822'
foreground = '#e9e4f0'
[colors.selection]
background = '#e9e4f0'
text = '#1c1822'

View File

@@ -1,33 +0,0 @@
# Colors (Noctalia Legacy Light)
[colors.bright]
black = '#cebedc'
blue = '#784999'
cyan = '#c17093'
green = '#c17093'
magenta = '#e9899d'
red = '#e9899d'
white = '#1c1822'
yellow = '#9b59ba'
[colors.cursor]
cursor = '#9b59ba'
text = '#f5f1fa'
[colors.normal]
black = '#e7dfee'
blue = '#784999'
cyan = '#c17093'
green = '#c17093'
magenta = '#e9899d'
red = '#e9899d'
white = '#1c1822'
yellow = '#9b59ba'
[colors.primary]
background = '#f5f1fa'
foreground = '#1c1822'
[colors.selection]
background = '#1c1822'
text = '#f5f1fa'

View File

@@ -1,22 +0,0 @@
[colors]
foreground=e9e4f0
background=1c1822
regular0=262130
regular1=e9899d
regular2=e0b7c9
regular3=c7a1d8
regular4=a984c4
regular5=e9899d
regular6=e0b7c9
regular7=e9e4f0
bright0=3e364e
bright1=e9899d
bright2=e0b7c9
bright3=c7a1d8
bright4=a984c4
bright5=e9899d
bright6=e0b7c9
bright7=ffffff
selection-foreground=1c1822
selection-background=e9e4f0
cursor=1c1822 c7a1d8

View File

@@ -1,22 +0,0 @@
[colors]
foreground=1c1822
background=f5f1fa
regular0=e7dfee
regular1=e9899d
regular2=c17093
regular3=9b59ba
regular4=784999
regular5=e9899d
regular6=c17093
regular7=1c1822
bright0=cebedc
bright1=e9899d
bright2=c17093
bright3=9b59ba
bright4=784999
bright5=e9899d
bright6=c17093
bright7=1c1822
selection-foreground=f5f1fa
selection-background=1c1822
cursor=f5f1fa 9b59ba

View File

@@ -1,22 +0,0 @@
palette = 0=#262130
palette = 1=#e9899d
palette = 2=#e0b7c9
palette = 3=#c7a1d8
palette = 4=#a984c4
palette = 5=#e9899d
palette = 6=#e0b7c9
palette = 7=#e9e4f0
palette = 8=#3e364e
palette = 9=#e9899d
palette = 10=#e0b7c9
palette = 11=#c7a1d8
palette = 12=#a984c4
palette = 13=#e9899d
palette = 14=#e0b7c9
palette = 15=#ffffff
background = #1c1822
foreground = #e9e4f0
cursor-color = #c7a1d8
cursor-text = #1c1822
selection-background = #e9e4f0
selection-foreground = #1c1822

View File

@@ -1,22 +0,0 @@
palette = 0=#e7dfee
palette = 1=#e9899d
palette = 2=#c17093
palette = 3=#9b59ba
palette = 4=#784999
palette = 5=#e9899d
palette = 6=#c17093
palette = 7=#1c1822
palette = 8=#cebedc
palette = 9=#e9899d
palette = 10=#c17093
palette = 11=#9b59ba
palette = 12=#784999
palette = 13=#e9899d
palette = 14=#c17093
palette = 15=#1c1822
background = #f5f1fa
foreground = #1c1822
cursor-color = #9b59ba
cursor-text = #f5f1fa
selection-background = #1c1822
selection-foreground = #f5f1fa

View File

@@ -1,22 +0,0 @@
color0 #262130
color1 #e9899d
color2 #e0b7c9
color3 #c7a1d8
color4 #a984c4
color5 #e9899d
color6 #e0b7c9
color7 #e9e4f0
color8 #3e364e
color9 #e9899d
color10 #e0b7c9
color11 #c7a1d8
color12 #a984c4
color13 #e9899d
color14 #e0b7c9
color15 #ffffff
background #1c1822
selection_foreground #1c1822
cursor #c7a1d8
cursor_text_color #1c1822
foreground #e9e4f0
selection_background #e9e4f0

View File

@@ -1,22 +0,0 @@
color0 #e7dfee
color1 #e9899d
color2 #c17093
color3 #9b59ba
color4 #784999
color5 #e9899d
color6 #c17093
color7 #1c1822
color8 #cebedc
color9 #e9899d
color10 #c17093
color11 #9b59ba
color12 #784999
color13 #e9899d
color14 #c17093
color15 #1c1822
background #f5f1fa
selection_foreground #f5f1fa
cursor #9b59ba
cursor_text_color #f5f1fa
foreground #1c1822
selection_background #1c1822

View File

@@ -1,31 +0,0 @@
[colors]
ansi = [
"#262130",
"#e9899d",
"#e0b7c9",
"#c7a1d8",
"#a984c4",
"#e9899d",
"#e0b7c9",
"#e9e4f0",
]
background = "#1c1822"
brights = [
"#3e364e",
"#e9899d",
"#e0b7c9",
"#c7a1d8",
"#a984c4",
"#e9899d",
"#e0b7c9",
"#ffffff",
]
cursor_bg = "#c7a1d8"
cursor_border = "#c7a1d8"
cursor_fg = "#1c1822"
foreground = "#e9e4f0"
selection_bg = "#e9e4f0"
selection_fg = "#1c1822"
[metadata]
name = "Noctalia"

View File

@@ -1,31 +0,0 @@
[colors]
ansi = [
"#e7dfee",
"#e9899d",
"#c17093",
"#9b59ba",
"#784999",
"#e9899d",
"#c17093",
"#1c1822",
]
background = "#f5f1fa"
brights = [
"#cebedc",
"#e9899d",
"#c17093",
"#9b59ba",
"#784999",
"#e9899d",
"#c17093",
"#1c1822",
]
cursor_bg = "#9b59ba"
cursor_border = "#9b59ba"
cursor_fg = "#f5f1fa"
foreground = "#1c1822"
selection_bg = "#1c1822"
selection_fg = "#f5f1fa"
[metadata]
name = "Noctalia"

View File

@@ -1,38 +0,0 @@
{
"dark": {
"mPrimary": "#1E9177",
"mOnPrimary": "#B8C8C4",
"mSecondary": "#167A63",
"mOnSecondary": "#B8C8C4",
"mTertiary": "#26A589",
"mOnTertiary": "#B8C8C4",
"mError": "#933636",
"mOnError": "#B8C8C4",
"mSurface": "#081512",
"mOnSurface": "#A6B5B1",
"mSurfaceVariant": "#0F251F",
"mOnSurfaceVariant": "#99A8A4",
"mOutline": "#1B6352",
"mShadow": "#040A09",
"mHover": "#26A589",
"mOnHover": "#B8C8C4"
},
"light": {
"mPrimary": "#3B7561",
"mOnPrimary": "#D8E5DB",
"mSecondary": "#526E4A",
"mOnSecondary": "#D8E5DB",
"mTertiary": "#4A8069",
"mOnTertiary": "#D8E5DB",
"mError": "#854145",
"mOnError": "#D8E5DB",
"mSurface": "#AEC2B4",
"mOnSurface": "#2C3D35",
"mSurfaceVariant": "#95AD9C",
"mOnSurfaceVariant": "#263731",
"mOutline": "#5C7A6A",
"mShadow": "#8A9E90",
"mHover": "#4A8069",
"mOnHover": "#D8E5DB"
}
}

View File

@@ -1,33 +0,0 @@
# Colors (Osaka Jade)
[colors.bright]
black = '#464e50'
blue = '#71baf2'
cyan = '#67cbe7'
green = '#96d988'
magenta = '#ce89df'
red = '#ef7e7e'
white = '#bdc3c2'
yellow = '#f4d67a'
[colors.cursor]
cursor = '#dadada'
text = '#141b1e'
[colors.normal]
black = '#232a2d'
blue = '#67b0e8'
cyan = '#6cbfbf'
green = '#8ccf7e'
magenta = '#c47fd5'
red = '#e57474'
white = '#b3b9b8'
yellow = '#e5c76b'
[colors.primary]
background = '#141b1e'
foreground = '#dadada'
[colors.selection]
background = '#141b1e'
text = '#dadada'

View File

@@ -1,33 +0,0 @@
# Colors (Osaka Jade Light)
[colors.bright]
black = '#a6b0a0'
blue = '#3a94c5'
cyan = '#35a77c'
green = '#8da101'
magenta = '#df69ba'
red = '#f85552'
white = '#fffbef'
yellow = '#dfa000'
[colors.cursor]
cursor = '#f57d26'
text = '#eaedc8'
[colors.normal]
black = '#7a8478'
blue = '#7fbbb3'
cyan = '#83c092'
green = '#9ab373'
magenta = '#d699b6'
red = '#e67e80'
white = '#b2af9f'
yellow = '#c1a266'
[colors.primary]
background = '#efebd4'
foreground = '#5c6a72'
[colors.selection]
background = '#eaedc8'
text = '#5c6a72'

View File

@@ -1,25 +0,0 @@
[cursor]
color=141b1e dadada
[colors]
foreground=dadada
background=141b1e
regular0=232a2d
regular1=e57474
regular2=8ccf7e
regular3=e5c76b
regular4=67b0e8
regular5=c47fd5
regular6=6cbfbf
regular7=b3b9b8
bright0=464e50
bright1=ef7e7e
bright2=96d988
bright3=f4d67a
bright4=71baf2
bright5=ce89df
bright6=67cbe7
bright7=bdc3c2
selection-foreground=dadada
selection-background=141b1e

View File

@@ -1,22 +0,0 @@
[colors]
foreground=5c6a72
background=efebd4
regular0=7a8478
regular1=e67e80
regular2=9ab373
regular3=c1a266
regular4=7fbbb3
regular5=d699b6
regular6=83c092
regular7=b2af9f
bright0=a6b0a0
bright1=f85552
bright2=8da101
bright3=dfa000
bright4=3a94c5
bright5=df69ba
bright6=35a77c
bright7=fffbef
selection-foreground=5c6a72
selection-background=eaedc8
cursor=eaedc8 f57d26

View File

@@ -1,22 +0,0 @@
palette = 0=#232a2d
palette = 1=#e57474
palette = 2=#8ccf7e
palette = 3=#e5c76b
palette = 4=#67b0e8
palette = 5=#c47fd5
palette = 6=#6cbfbf
palette = 7=#b3b9b8
palette = 8=#464e50
palette = 9=#ef7e7e
palette = 10=#96d988
palette = 11=#f4d67a
palette = 12=#71baf2
palette = 13=#ce89df
palette = 14=#67cbe7
palette = 15=#bdc3c2
background = #141b1e
foreground = #dadada
cursor-color = #dadada
cursor-text = #141b1e
selection-background = #141b1e
selection-foreground = #dadada

View File

@@ -1,22 +0,0 @@
palette = 0=#7a8478
palette = 1=#e67e80
palette = 2=#9ab373
palette = 3=#c1a266
palette = 4=#7fbbb3
palette = 5=#d699b6
palette = 6=#83c092
palette = 7=#b2af9f
palette = 8=#a6b0a0
palette = 9=#f85552
palette = 10=#8da101
palette = 11=#dfa000
palette = 12=#3a94c5
palette = 13=#df69ba
palette = 14=#35a77c
palette = 15=#fffbef
background = #efebd4
foreground = #5c6a72
cursor-color = #f57d26
cursor-text = #eaedc8
selection-background = #eaedc8
selection-foreground = #5c6a72

View File

@@ -1,22 +0,0 @@
color0 #232a2d
color1 #e57474
color2 #8ccf7e
color3 #e5c76b
color4 #67b0e8
color5 #c47fd5
color6 #6cbfbf
color7 #b3b9b8
color8 #464e50
color9 #ef7e7e
color10 #96d988
color11 #f4d67a
color12 #71baf2
color13 #ce89df
color14 #67cbe7
color15 #bdc3c2
background #141b1e
selection_foreground #141b1e
cursor #dadada
cursor_text_color #141b1e
foreground #dadada
selection_background #dadada

View File

@@ -1,22 +0,0 @@
color0 #7a8478
color1 #e67e80
color2 #9ab373
color3 #c1a266
color4 #7fbbb3
color5 #d699b6
color6 #83c092
color7 #b2af9f
color8 #a6b0a0
color9 #f85552
color10 #8da101
color11 #dfa000
color12 #3a94c5
color13 #df69ba
color14 #35a77c
color15 #fffbef
background #efebd4
selection_foreground #efebd4
cursor #f57d26
cursor_text_color #eaedc8
foreground #5c6a72
selection_background #5c6a72

View File

@@ -1,31 +0,0 @@
[colors]
ansi = [
"#232a2d",
"#e57474",
"#8ccf7e",
"#e5c76b",
"#67b0e8",
"#c47fd5",
"#6cbfbf",
"#b3b9b8",
]
background = "#141b1e"
brights = [
"#464e50",
"#ef7e7e",
"#96d988",
"#f4d67a",
"#71baf2",
"#ce89df",
"#67cbe7",
"#bdc3c2",
]
cursor_bg = "#dadada"
cursor_border = "#dadada"
cursor_fg = "#141b1e"
foreground = "#dadada"
selection_bg = "#dadada"
selection_fg = "#141b1e"
[metadata]
name = "Noctalia"

View File

@@ -1,32 +0,0 @@
[colors]
ansi = [
"#7a8478",
"#e67e80",
"#9ab373",
"#c1a266",
"#7fbbb3",
"#d699b6",
"#83c092",
"#b2af9f",
]
background = "#efebd4"
brights = [
"#a6b0a0",
"#f85552",
"#8da101",
"#dfa000",
"#3a94c5",
"#df69ba",
"#35a77c",
"#fffbef",
]
cursor_bg = "#f57d26"
cursor_border = "#f57d26"
cursor_fg = "#eaedc8"
foreground = "#5c6a72"
selection_bg = "#5c6a72"
selection_fg = "#efebd4"
[metadata]
name = "Noctalia"

View File

@@ -8,7 +8,7 @@
"mOnTertiary": "#e0def4",
"mError": "#eb6f92",
"mOnError": "#191724",
"mSurface": "#1f1d2e",
"mSurface": "#191724",
"mOnSurface": "#e0def4",
"mSurfaceVariant": "#26233a",
"mOnSurfaceVariant": "#908caa",

View File

@@ -1,38 +0,0 @@
{
"dark": {
"mPrimary": "#b58900",
"mOnPrimary": "#002b36",
"mSecondary": "#d33682",
"mOnSecondary": "#002b36",
"mTertiary": "#cb4b16",
"mOnTertiary": "#002b36",
"mError": "#dc322f",
"mOnError": "#002b36",
"mSurface": "#002b36",
"mOnSurface": "#839496",
"mSurfaceVariant": "#073642",
"mOnSurfaceVariant": "#657b83",
"mOutline": "#0c5c70",
"mShadow": "#002b36",
"mHover": "#cb4b16",
"mOnHover": "#002b36"
},
"light": {
"mPrimary": "#b58900",
"mOnPrimary": "#fdf6e3",
"mSecondary": "#d33682",
"mOnSecondary": "#fdf6e3",
"mTertiary": "#cb4b16",
"mOnTertiary": "#fdf6e3",
"mError": "#dc322f",
"mOnError": "#fdf6e3",
"mSurface": "#fdf6e3",
"mOnSurface": "#657b83",
"mSurfaceVariant": "#eee8d5",
"mOnSurfaceVariant": "#839496",
"mOutline": "#dfd4b1",
"mShadow": "#eee8d5",
"mHover": "#cb4b16",
"mOnHover": "#fdf6e3"
}
}

View File

@@ -1,33 +0,0 @@
# Colors (Solarized Dark)
[colors.bright]
black = '#335e69'
blue = '#839496'
cyan = '#93a1a1'
green = '#586e75'
magenta = '#6c71c4'
red = '#cb4b16'
white = '#fdf6e3'
yellow = '#657b83'
[colors.cursor]
cursor = '#839496'
text = '#073642'
[colors.normal]
black = '#073642'
blue = '#268bd2'
cyan = '#2aa198'
green = '#859900'
magenta = '#d33682'
red = '#dc322f'
white = '#eee8d5'
yellow = '#b58900'
[colors.primary]
background = '#002b36'
foreground = '#839496'
[colors.selection]
background = '#073642'
text = '#93a1a1'

View File

@@ -1,33 +0,0 @@
# Colors (Solarized Light)
[colors.bright]
black = '#002b36'
blue = '#839496'
cyan = '#93a1a1'
green = '#586e75'
magenta = '#6c71c4'
red = '#cb4b16'
white = '#fdf6e3'
yellow = '#657b83'
[colors.cursor]
cursor = '#657b83'
text = '#eee8d5'
[colors.normal]
black = '#073642'
blue = '#268bd2'
cyan = '#2aa198'
green = '#859900'
magenta = '#d33682'
red = '#dc322f'
white = '#bbb5a2'
yellow = '#b58900'
[colors.primary]
background = '#fdf6e3'
foreground = '#657b83'
[colors.selection]
background = '#eee8d5'
text = '#586e75'

View File

@@ -1,22 +0,0 @@
[colors]
foreground=839496
background=002b36
regular0=073642
regular1=dc322f
regular2=859900
regular3=b58900
regular4=268bd2
regular5=d33682
regular6=2aa198
regular7=eee8d5
bright0=335e69
bright1=cb4b16
bright2=586e75
bright3=657b83
bright4=839496
bright5=6c71c4
bright6=93a1a1
bright7=fdf6e3
selection-foreground=93a1a1
selection-background=073642
cursor=073642 839496

View File

@@ -1,23 +0,0 @@
[colors]
foreground=657b83
background=fdf6e3
regular0=073642
regular1=dc322f
regular2=859900
regular3=b58900
regular4=268bd2
regular5=d33682
regular6=2aa198
regular7=bbb5a2
bright0=002b36
bright1=cb4b16
bright2=586e75
bright3=657b83
bright4=839496
bright5=6c71c4
bright6=93a1a1
bright7=fdf6e3
selection-foreground=586e75
selection-background=eee8d5
cursor=eee8d5 657b83

View File

@@ -1,22 +0,0 @@
palette = 0=#073642
palette = 1=#dc322f
palette = 2=#859900
palette = 3=#b58900
palette = 4=#268bd2
palette = 5=#d33682
palette = 6=#2aa198
palette = 7=#eee8d5
palette = 8=#335e69
palette = 9=#cb4b16
palette = 10=#586e75
palette = 11=#657b83
palette = 12=#839496
palette = 13=#6c71c4
palette = 14=#93a1a1
palette = 15=#fdf6e3
background = #002b36
foreground = #839496
cursor-color = #839496
cursor-text = #073642
selection-background = #073642
selection-foreground = #93a1a1

View File

@@ -1,22 +0,0 @@
palette = 0=#073642
palette = 1=#dc322f
palette = 2=#859900
palette = 3=#b58900
palette = 4=#268bd2
palette = 5=#d33682
palette = 6=#2aa198
palette = 7=#bbb5a2
palette = 8=#002b36
palette = 9=#cb4b16
palette = 10=#586e75
palette = 11=#657b83
palette = 12=#839496
palette = 13=#6c71c4
palette = 14=#93a1a1
palette = 15=#fdf6e3
background = #fdf6e3
foreground = #657b83
cursor-color = #657b83
cursor-text = #eee8d5
selection-background = #eee8d5
selection-foreground = #586e75

View File

@@ -1,22 +0,0 @@
color0 #073642
color1 #dc322f
color2 #859900
color3 #b58900
color4 #268bd2
color5 #d33682
color6 #2aa198
color7 #eee8d5
color8 #335e69
color9 #cb4b16
color10 #586e75
color11 #657b83
color12 #839496
color13 #6c71c4
color14 #93a1a1
color15 #fdf6e3
background #002b36
selection_foreground #002b36
cursor #839496
cursor_text_color #073642
foreground #839496
selection_background #839496

View File

@@ -1,22 +0,0 @@
color0 #073642
color1 #dc322f
color2 #859900
color3 #b58900
color4 #268bd2
color5 #d33682
color6 #2aa198
color7 #bbb5a2
color8 #002b36
color9 #cb4b16
color10 #586e75
color11 #657b83
color12 #839496
color13 #6c71c4
color14 #93a1a1
color15 #fdf6e3
background #fdf6e3
selection_foreground #fdf6e3
cursor #657b83
cursor_text_color #eee8d5
foreground #657b83
selection_background #657b83

View File

@@ -1,29 +0,0 @@
[colors]
ansi = [
"#002b36",
"#dc322f",
"#859900",
"#b58900",
"#268bd2",
"#6c71c4",
"#2aa198",
"#93a1a1",
]
background = "#002b36"
brights = [
"#657b83",
"#dc322f",
"#859900",
"#b58900",
"#268bd2",
"#6c71c4",
"#2aa198",
"#fdf6e3",
]
foreground = "#93a1a1"
[colors.indexed]
[metadata]
author = "Chris Kempson"
name = "Noctalia"

View File

@@ -1,30 +0,0 @@
[colors]
ansi = [
"#002b36",
"#dc322f",
"#859900",
"#b58900",
"#268bd2",
"#6c71c4",
"#2aa198",
"#93a1a1",
]
background = "#fdf6e3"
brights = [
"#657b83",
"#dc322f",
"#859900",
"#b58900",
"#268bd2",
"#6c71c4",
"#2aa198",
"#fdf6e3",
]
foreground = "#586e75"
[colors.indexed]
[metadata]
author = "Chris Kempson"
name = "Noctalia"

View File

@@ -0,0 +1,74 @@
[
{"emoji": "😀", "name": "grinning face", "keywords": ["smile", "happy", "grin"], "category": "people"},
{"emoji": "😂", "name": "face with tears of joy", "keywords": ["laugh", "cry", "happy", "joy"], "category": "people"},
{"emoji": "😍", "name": "smiling face with heart-eyes", "keywords": ["love", "heart", "eyes", "smile"], "category": "people"},
{"emoji": "🤔", "name": "thinking face", "keywords": ["think", "ponder", "consider"], "category": "people"},
{"emoji": "😎", "name": "smiling face with sunglasses", "keywords": ["cool", "sunglasses", "smile"], "category": "people"},
{"emoji": "🥳", "name": "partying face", "keywords": ["party", "hat", "horn", "celebration"], "category": "people"},
{"emoji": "🤩", "name": "star-struck", "keywords": ["star", "eyes", "amazed", "wow"], "category": "people"},
{"emoji": "🤯", "name": "exploding head", "keywords": ["mind", "blown", "explode", "shocked"], "category": "people"},
{"emoji": "👍", "name": "thumbs up", "keywords": ["like", "good", "agree", "ok"], "category": "people"},
{"emoji": "👎", "name": "thumbs down", "keywords": ["dislike", "bad", "disagree", "no"], "category": "people"},
{"emoji": "🐱", "name": "cat face", "keywords": ["cat", "kitten", "pet", "meow"], "category": "animals"},
{"emoji": "🐶", "name": "dog face", "keywords": ["dog", "puppy", "pet", "woof"], "category": "animals"},
{"emoji": "🦊", "name": "fox face", "keywords": ["fox", "animal", "cute", "wild"], "category": "animals"},
{"emoji": "🐼", "name": "panda", "keywords": ["panda", "bear", "animal", "cute"], "category": "animals"},
{"emoji": "🦄", "name": "unicorn", "keywords": ["unicorn", "horse", "magic", "fantasy"], "category": "animals"},
{"emoji": "🦁", "name": "lion", "keywords": ["lion", "animal", "face", "majestic"], "category": "animals"},
{"emoji": "🐢", "name": "turtle", "keywords": ["turtle", "slow", "animal", "shell"], "category": "animals"},
{"emoji": "🐙", "name": "octopus", "keywords": ["octopus", "animal", "ocean", "sea"], "category": "animals"},
{"emoji": "🌻", "name": "sunflower", "keywords": ["sunflower", "flower", "nature", "yellow"], "category": "nature"},
{"emoji": "🌺", "name": "hibiscus", "keywords": ["hibiscus", "flower", "nature", "plant"], "category": "nature"},
{"emoji": "🌍", "name": "earth globe europe-africa", "keywords": ["earth", "world", "globe", "nature"], "category": "nature"},
{"emoji": "🌞", "name": "sun with face", "keywords": ["sun", "nature", "bright", "weather"], "category": "nature"},
{"emoji": "🌙", "name": "crescent moon", "keywords": ["moon", "night", "sky", "sleep"], "category": "nature"},
{"emoji": "🌈", "name": "rainbow", "keywords": ["rainbow", "color", "weather", "sky"], "category": "nature"},
{"emoji": "🔥", "name": "fire", "keywords": ["fire", "hot", "flame", "burn"], "category": "nature"},
{"emoji": "💧", "name": "droplet", "keywords": ["water", "drop", "drip", "liquid"], "category": "nature"},
{"emoji": "🍎", "name": "red apple", "keywords": ["apple", "fruit", "food", "red"], "category": "food"},
{"emoji": "🍕", "name": "pizza", "keywords": ["pizza", "food", "italian", "cheese"], "category": "food"},
{"emoji": " sushi", "name": "sushi", "keywords": ["sushi", "food", "japanese", "rice"], "category": "food"},
{"emoji": "🍔", "name": "hamburger", "keywords": ["hamburger", "food", "burger", "fast food"], "category": "food"},
{"emoji": "🍦", "name": "soft ice cream", "keywords": ["ice cream", "dessert", "food", "sweet"], "category": "food"},
{"emoji": "🍩", "name": "doughnut", "keywords": ["donut", "doughnut", "food", "sweet"], "category": "food"},
{"emoji": "🍪", "name": "cookie", "keywords": ["cookie", "food", "sweet", "biscuit"], "category": "food"},
{"emoji": "🍺", "name": "beer mug", "keywords": ["beer", "drink", "alcohol", "pub"], "category": "food"},
{"emoji": "🍷", "name": "wine glass", "keywords": ["wine", "drink", "alcohol", "glass"], "category": "food"},
{"emoji": "☕", "name": "hot beverage", "keywords": ["coffee", "hot", "drink", "cafe"], "category": "food"},
{"emoji": "⚽", "name": "soccer ball", "keywords": ["soccer", "football", "ball", "sport"], "category": "activity"},
{"emoji": "🏀", "name": "basketball", "keywords": ["basketball", "ball", "sport", "game"], "category": "activity"},
{"emoji": "🎯", "name": "direct hit", "keywords": ["target", "bullseye", "aim", "goal"], "category": "activity"},
{"emoji": "🎮", "name": "video game", "keywords": ["game", "video game", "play", "console"], "category": "activity"},
{"emoji": "🎲", "name": "game die", "keywords": ["dice", "game", "board", "random"], "category": "activity"},
{"emoji": "🎨", "name": "artist palette", "keywords": ["art", "paint", "colors", "creative"], "category": "activity"},
{"emoji": "🎤", "name": "microphone", "keywords": ["mic", "microphone", "sing", "karaoke"], "category": "activity"},
{"emoji": "🎬", "name": "clapper board", "keywords": ["movie", "film", "action", "director"], "category": "activity"},
{"emoji": "🚗", "name": "automobile", "keywords": ["car", "vehicle", "transport", "drive"], "category": "travel"},
{"emoji": "✈️", "name": "airplane", "keywords": ["plane", "flight", "travel", "fly"], "category": "travel"},
{"emoji": "🚀", "name": "rocket", "keywords": ["space", "launch", "fast", "ship"], "category": "travel"},
{"emoji": "🚲", "name": "bicycle", "keywords": ["bike", "cycle", "transport", "exercise"], "category": "travel"},
{"emoji": "🚂", "name": "locomotive", "keywords": ["train", "steam", "vehicle", "transport"], "category": "travel"},
{"emoji": "🚢", "name": "ship", "keywords": ["ship", "boat", "water", "transport"], "category": "travel"},
{"emoji": "🏠", "name": "house", "keywords": ["home", "house", "building", "residence"], "category": "objects"},
{"emoji": "🏢", "name": "office building", "keywords": ["office", "building", "work", "business"], "category": "objects"},
{"emoji": "🏥", "name": "hospital", "keywords": ["hospital", "medical", "health", "doctor"], "category": "objects"},
{"emoji": "🏦", "name": "bank", "keywords": ["bank", "money", "finance", "building"], "category": "objects"},
{"emoji": "🏪", "name": "convenience store", "keywords": ["store", "shop", "convenience", "grocery"], "category": "objects"},
{"emoji": "🎁", "name": "gift", "keywords": ["present", "gift", "box", "birthday"], "category": "objects"},
{"emoji": "💡", "name": "light bulb", "keywords": ["idea", "light", "bright", "thinking"], "category": "objects"},
{"emoji": "💻", "name": "laptop computer", "keywords": ["computer", "laptop", "pc", "work"], "category": "objects"},
{"emoji": "📱", "name": "mobile phone", "keywords": ["phone", "smartphone", "cellphone", "mobile"], "category": "objects"},
{"emoji": "🔑", "name": "key", "keywords": ["key", "password", "secret", "access"], "category": "objects"},
{"emoji": "🔒", "name": "locked", "keywords": ["lock", "secure", "private", "closed"], "category": "objects"},
{"emoji": "⭐", "name": "star", "keywords": ["star", "rating", "favorite", "bright"], "category": "symbols"},
{"emoji": "❤️", "name": "red heart", "keywords": ["heart", "love", "like", "affection"], "category": "symbols"},
{"emoji": "💯", "name": "hundred points", "keywords": ["percent", "perfect", "score", "100"], "category": "symbols"},
{"emoji": "©️", "name": "copyright", "keywords": ["copyright", "symbol", "c", "legal"], "category": "symbols"},
{"emoji": "®️", "name": "registered", "keywords": ["registered", "symbol", "r", "trademark"], "category": "symbols"},
{"emoji": "™️", "name": "trade mark", "keywords": ["trademark", "tm", "symbol", "mark"], "category": "symbols"},
{"emoji": "✔️", "name": "check mark", "keywords": ["check", "mark", "ok", "correct"], "category": "symbols"},
{"emoji": "❌", "name": "cross mark", "keywords": ["x", "cross", "mark", "no", "wrong"], "category": "symbols"},
{"emoji": "⚠️", "name": "warning", "keywords": ["warning", "exclamation", "caution", "alert"], "category": "symbols"},
{"emoji": "🎉", "name": "party popper", "keywords": ["party", "celebration", "tada", "congrats"], "category": "symbols"},
{"emoji": "🔔", "name": "bell", "keywords": ["bell", "sound", "notification", "ring"], "category": "symbols"}
]

View File

@@ -0,0 +1,16 @@
[color]
background = '{{colors.surface.default.hex}}'
foreground = '{{colors.primary.default.hex}}'
gradient = 1
gradient_color_1 = '{{colors.primary_container.default.hex}}'
gradient_color_2 = '{{colors.primary.default.hex}}'
gradient_color_3 = '{{colors.on_primary_container.default.hex}}'
horizontal_gradient = 0
horizontal_gradient_color_1 = '{{colors.primary_container.default.hex}}'
horizontal_gradient_color_2 = '{{colors.primary.default.hex}}'
horizontal_gradient_color_3 = '{{colors.on_primary_container.default.hex}}'
horizontal_gradient_color_4 = '{{colors.primary.default.hex}}'
horizontal_gradient_color_5 = '{{colors.primary_container.default.hex}}'

View File

@@ -0,0 +1,27 @@
[Comfy]
text = {{colors.on_surface.default.hex_stripped}}
subtext = {{colors.on_surface_variant.default.hex_stripped}}
main = {{colors.surface.default.hex_stripped}}
main-elevated = {{colors.surface.default.hex_stripped}}
main-transition = {{colors.surface_container_lowest.default.hex_stripped}}
highlight = {{colors.surface_container_low.default.hex_stripped}}
highlight-elevated = {{colors.surface_container_highest.default.hex_stripped}}
sidebar = {{colors.surface.default.hex_stripped}}
player = {{colors.surface.default.hex_stripped}}
card = {{colors.surface.default.hex_stripped}}
shadow = {{colors.surface.default.hex_stripped}}
selected-row = {{colors.on_surface.default.hex_stripped}}
button = {{colors.primary.default.hex_stripped}}
button-active = {{colors.primary.default.hex_stripped}}
button-disabled = {{colors.primary.default.hex_stripped}}
tab-active = {{colors.surface.default.hex_stripped}}
notification = {{colors.tertiary.default.hex_stripped}}
notification-error = {{colors.error.default.hex_stripped}}
misc = {{colors.surface.default.hex_stripped}}
play-button = {{colors.secondary.default.hex_stripped}}
play-button-active = {{colors.secondary.default.hex_stripped}}
progress-fg = {{colors.primary.default.hex_stripped}}
progress-bg = {{colors.surface.default.hex_stripped}}
heart = {{colors.error.default.hex_stripped}}
pagelink-active = {{colors.on_tertiary_container.default.hex_stripped}}
radio-btn-active = {{colors.on_tertiary_container.default.hex_stripped}}

View File

@@ -0,0 +1,139 @@
// Material You theme for Telegram Desktop
// Generated by matugen
COLOR_GRAY: {{colors.outline.default.hex}};
COLOR_DARK: {{colors.surface_variant.default.hex}};
windowBg: {{colors.background.default.hex}}; // Main background
windowFg: {{colors.on_background.default.hex}}; // Main text
windowBgOver: {{colors.surface_variant.default.hex}}; // Generic background on hover
windowBgRipple: {{colors.surface_variant.default.hex}}; // Ripple effect
windowFgOver: {{colors.on_surface_variant.default.hex}}; // Text on hover
windowSubTextFg: {{colors.outline.default.hex}}; // Minor text
windowSubTextFgOver: {{colors.outline.default.hex}}; // Minor text on hover
windowBoldFg: {{colors.on_background.default.hex}}; // Bold text
windowBoldFgOver: {{colors.on_surface_variant.default.hex}}; // Bold text on hover
windowBgActive: {{colors.primary.default.hex}}; // Active items background
windowFgActive: {{colors.on_primary.default.hex}}; // Active items text
windowActiveTextFg: {{colors.primary.default.hex}}; // Active items text
windowShadowFg: {{colors.shadow.default.hex}}; // Window shadow
windowShadowFgFallback: {{colors.shadow.default.hex}}; // Fallback for shadow
historyOutIconFg: {{colors.primary.default.hex}};
historyIconFgInverted: {{colors.on_surface.default.hex}};
msgServiceBg: {{colors.primary_container.default.hex}};
msgServiceFg: {{colors.on_surface.default.hex}};
msgOutBg: {{colors.primary_container.default.hex}};
msgOutBgSelected : {{colors.tertiary_container.default.hex}};
msgOutServiceFg: {{colors.on_surface.default.hex}};
msgOutDateFg: {{colors.on_surface.default.hex}};
historySentIconFg: {{colors.on_surface.default.hex}};
msgOutDateFgSelected: {{colors.on_surface.default.hex}};
msgDateImgFg: {{colors.on_surface.default.hex}};
dialogsSentIconFg: {{colors.primary.default.hex}};
dialogsSentIconFgOver: {{colors.primary.default.hex}};
dialogsOnlineBadgeFg: {{colors.primary.default.hex}};
shadowFg: {{colors.shadow.default.hex}}; // General shadow
slideFadeOutBg: {{colors.background.default.hex}};
slideFadeOutShadowFg: {{colors.shadow.default.hex}};
imageBg: {{colors.surface.default.hex}};
imageBgTransparent: {{colors.surface.default.hex}};
activeButtonBg: {{colors.primary.default.hex}}; // Active button background
activeButtonBgOver: {{colors.primary_container.default.hex}}; // Active button hover background
activeButtonBgRipple: {{colors.on_primary_container.default.hex}}; // Active button ripple
activeButtonFg: {{colors.on_primary.default.hex}}; // Active button text
activeButtonFgOver: {{colors.on_primary_container.default.hex}}; // Active button hover text
activeButtonSecondaryFg: {{colors.on_primary.default.hex}}; // Active button secondary text
activeButtonSecondaryFgOver: {{colors.on_primary_container.default.hex}}; // Active button secondary hover text
activeLineFg: {{colors.on_surface.default.hex}};
dialogsBgActive: {{colors.primary.default.hex}};
lightButtonBg: {{colors.surface.default.hex}}; // Light button background
lightButtonBgOver: {{colors.surface_variant.default.hex}}; // Light button hover background
lightButtonBgRipple: {{colors.primary.default.hex}}; // Light button ripple
lightButtonFg: {{colors.on_surface.default.hex}}; // Light button text
lightButtonFgOver: {{colors.on_surface_variant.default.hex}}; // Light button hover text
attentionButtonFg: {{colors.error.default.hex}};
attentionButtonFgOver: {{colors.error.default.hex}};
attentionButtonBgOver: {{colors.error_container.default.hex}};
attentionButtonBgRipple: {{colors.on_error_container.default.hex}};
outlineButtonBg: {{colors.surface.default.hex}}; // Outline button background
outlineButtonBgOver: {{colors.surface_variant.default.hex}}; // Outline button hover background
outlineButtonOutlineFg: {{colors.primary.default.hex}}; // Outline button color
outlineButtonBgRipple: {{colors.primary.default.hex}}; // Outline button ripple
menuBg: {{colors.surface.default.hex}};
menuBgOver: {{colors.surface_variant.default.hex}};
menuBgRipple: {{colors.primary.default.hex}};
menuIconFg: {{colors.on_surface.default.hex}};
menuIconFgOver: {{colors.on_surface_variant.default.hex}};
menuSubmenuArrowFg: {{colors.outline.default.hex}};
menuFgDisabled: {{colors.outline.default.hex}};
menuSeparatorFg: {{colors.outline.default.hex}};
scrollBarBg: {{colors.primary.default.hex}}40; // Scroll bar background (40% opacity)
scrollBarBgOver: {{colors.primary.default.hex}}60; // Scroll bar hover background (60% opacity)
scrollBg: {{colors.surface_variant.default.hex}}40; // Scroll bar track (40% opacity)
scrollBgOver: {{colors.surface_variant.default.hex}}60; // Scroll bar track on hover (60% opacity)
smallCloseIconFg: {{colors.outline.default.hex}};
smallCloseIconFgOver: {{colors.on_surface_variant.default.hex}};
radialFg: {{colors.primary.default.hex}};
radialBg: {{colors.surface.default.hex}};
placeholderFg: {{colors.outline.default.hex}}; // Placeholder text
placeholderFgActive: {{colors.primary.default.hex}}; // Active placeholder text
inputBorderFg: {{colors.outline.default.hex}}; // Input border
filterInputBorderFg: {{colors.outline.default.hex}}; // Search input border
filterInputInactiveBg: {{colors.surface.default.hex}}; // Inactive search input background
checkboxFg: {{colors.primary.default.hex}}; // Checkbox color
titleBg: {{colors.surface.default.hex}}; // Window title background
titleShadow: {{colors.shadow.default.hex}};
titleButtonFg: {{colors.on_surface.default.hex}}; // Title button color
titleButtonBgOver: {{colors.surface_variant.default.hex}}; // Title button hover background
titleButtonFgOver: {{colors.on_surface_variant.default.hex}}; // Title button hover color
titleButtonCloseBgOver: {{colors.error.default.hex}};
titleButtonCloseFgOver: {{colors.on_error.default.hex}};
titleFgActive: {{colors.on_surface.default.hex}}; // Active title text
titleFg: {{colors.on_surface.default.hex}}; // Inactive title text
trayCounterBg: {{colors.error.default.hex}}; // Tray counter background
trayCounterBgMute: {{colors.outline.default.hex}}; // Muted tray counter background
trayCounterFg: {{colors.on_error.default.hex}}; // Tray counter text
trayCounterBgMacInvert: {{colors.error.default.hex}}; // Mac tray counter
trayCounterFgMacInvert: {{colors.on_error.default.hex}}; // Mac tray counter text
layerBg: {{colors.surface.default.hex}}99; // Layer background (60% opacity)
cancelIconFg: {{colors.error.default.hex}}; // Cancel icon
cancelIconFgOver: {{colors.error.default.hex}}; // Cancel icon on hover
boxBg: {{colors.surface.default.hex}}; // Box background
boxTextFg: {{colors.on_surface.default.hex}}; // Box text
boxTextFgGood: {{colors.primary.default.hex}}; // Box good text
boxTextFgError: {{colors.error.default.hex}}; // Box error text
boxTitleFg: {{colors.on_surface.default.hex}}; // Box title text
boxSearchBg: {{colors.surface.default.hex}}; // Box search field background
boxSearchCancelIconFg: {{colors.error.default.hex}}; // Box search cancel icon
boxSearchCancelIconFgOver: {{colors.error.default.hex}}; // Box search cancel icon on hover
contactsBg: {{colors.surface.default.hex}}; // Contacts background
contactsBgOver: {{colors.surface_variant.default.hex}}; // Contacts background on hover
contactsNameFg: {{colors.on_surface.default.hex}}; // Contact name
contactsStatusFg: {{colors.outline.default.hex}}; // Contact status
contactsStatusFgOver: {{colors.on_surface_variant.default.hex}}; // Contact status on hover
contactsStatusFgOnline: {{colors.primary.default.hex}}; // Online contact status
photoCropFadeBg: {{colors.surface.default.hex}}cc; // Photo crop fade background
photoCropPointFg: {{colors.primary.default.hex}}; // Photo crop points
chat_inBubbleSelected: #313244; // inbox selected chat background
chat_outBubbleSelected: #313244; // outbox selected chat background

View File

@@ -253,4 +253,4 @@ div[class*="linkCalloutContainer"]:hover > span[class*="semibold"],
div[class*="linkCalloutContainer"]:hover > span[data-text-variant*="semibold"] {
color: var(--accent-1) !important;
opacity: 1 !important;
}
}

View File

@@ -0,0 +1,12 @@
[Unit]
Description=Noctalia Shell Service
BindsTo=graphical-session.target
After=graphical-session.target
[Service]
ExecStart=qs -c noctalia-shell
Restart=on-failure
RestartSec=1
[Install]
WantedBy=graphical-session.target

View File

@@ -97,6 +97,10 @@
"control-center": {
"browse-file": "Datei durchsuchen",
"browse-library": "Bibliothek durchsuchen",
"colorize-distro-logo": {
"description": "Wende die Designfarben auf das Logo deiner Distribution an.",
"label": "Distro-Logo einfärben"
},
"icon": {
"description": "Symbol aus der Bibliothek oder eine benutzerdefinierte Datei auswählen.",
"label": "Symbol"
@@ -125,11 +129,21 @@
},
"left-click": {
"description": "Befehl, der ausgeführt wird, wenn die Schaltfläche links angeklickt wird.",
"label": "Linksklick"
"label": "Linksklick",
"update-text": "Text auf Linksklick aktualisieren"
},
"max-text-length-horizontal": {
"description": "Maximale Anzahl an Zeichen, die in horizontaler Leiste angezeigt werden (0 zum Ausblenden des Textes)",
"label": "Max. Textlänge (horizontal)"
},
"max-text-length-vertical": {
"description": "Maximale Anzahl an Zeichen, die in vertikaler Leiste angezeigt werden (0 zum Ausblenden des Textes)",
"label": "Max. Textlänge (vertikal)"
},
"middle-click": {
"description": "Befehl, der ausgeführt wird, wenn die Schaltfläche mit der mittleren Maustaste angeklickt wird.",
"label": "Mittelklick"
"label": "Mittelklick",
"update-text": "Text auf Mittelklick aktualisieren"
},
"parse-json": {
"description": "Die Befehlsausgabe als JSON-Objekt parsen, um Text und Symbol dynamisch festzulegen.",
@@ -141,11 +155,29 @@
},
"right-click": {
"description": "Befehl, der ausgeführt wird, wenn die Schaltfläche rechts angeklickt wird.",
"label": "Rechtsklick"
"label": "Rechtsklick",
"update-text": "Text beim Rechtsklick aktualisieren"
},
"text-stream": {
"description": "Gestreamte Zeilen aus dem Befehl werden als Text auf der Schaltfläche angezeigt.",
"label": "Stream"
},
"wheel": {
"description": "Befehl, der bei Verwendung des Scrollrads ausgeführt wird.\nVerwenden Sie $delta für die Scrollrad-Delta im Befehl",
"label": "Scrollrad",
"update-text": "Anzeigetext beim Scrollen aktualisieren"
},
"wheel-down": {
"description": "Befehl, der ausgeführt wird, wenn das Scrollrad heruntergescrollt wird.",
"label": "Scrollrad runter Befehl"
},
"wheel-mode-separate": {
"description": "Separate Befehle für Scrollrad hoch und runter aktivieren",
"label": "Separate Scrollrad-Befehle"
},
"wheel-up": {
"description": "Befehl, der ausgeführt wird, wenn das Scrollrad hochgescrollt wird.",
"label": "Scrollrad hoch Befehl"
}
},
"dialog": {
@@ -191,10 +223,18 @@
"description": "Albumcover des aktuell abgespielten Tracks anzeigen.",
"label": "Albumcover anzeigen"
},
"show-artist-first": {
"description": "Künstler - Titel anstatt Titel - Künstler anzeigen.",
"label": "Künstler zuerst anzeigen"
},
"show-visualizer": {
"description": "Audio-Visualizer anzeigen, wenn Musik abgespielt wird.",
"label": "Visualizer anzeigen"
},
"show-progress-ring": {
"description": "Runden Fortschrittsindikator anzeigen, der den Titelfortschritt anzeigt.",
"label": "Fortschrittsring anzeigen"
},
"use-fixed-width": {
"description": "Wenn aktiviert, verwendet das Widget immer die maximale Breite, anstatt sich dynamisch an den Inhalt anzupassen.",
"label": "Feste Breite verwenden"
@@ -231,6 +271,9 @@
}
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "CPU Usage (Critical)"
},
"cpu-temperature": {
"description": "CPU-Temperaturwerte anzeigen, falls verfügbar.",
"label": "CPU-Temperatur"
@@ -239,6 +282,25 @@
"description": "Aktuelle CPU-Auslastung in Prozent anzeigen.",
"label": "CPU-Auslastung"
},
"cpu-warning-threshold": {
"label": "CPU Usage (Warning)"
},
"disk-critical-threshold": {
"label": "Storage Space (Critical)"
},
"disk-path": {
"description": "Wählen Sie den Festplatten-Mountpunkt aus, der überwacht werden soll.",
"label": "Festplattenpfad"
},
"disk-warning-threshold": {
"label": "Storage Space (Warning)"
},
"mem-critical-threshold": {
"label": "Memory Usage (Critical)"
},
"mem-warning-threshold": {
"label": "Memory Usage (Warning)"
},
"memory-percentage": {
"description": "Speicherverbrauch als Prozentsatz statt absolute Werte anzeigen.",
"label": "Speicher als Prozentsatz"
@@ -254,6 +316,16 @@
"storage-usage": {
"description": "Festplattenspeicher-Nutzungsinformationen anzeigen.",
"label": "Speichernutzung"
},
"temp-critical-threshold": {
"label": "CPU Temperature (Critical)"
},
"temp-warning-threshold": {
"label": "CPU Temperature (Warning)"
},
"thresholds": {
"description": "Schwellenwerte für visuelle Indikatoren konfigurieren. Warn-/Kritik-Indikatoren erscheinen in hervorgehobenen Farben bei Überschreitung.",
"header": "Schwellenwerte"
}
},
"taskbar": {
@@ -274,6 +346,12 @@
"label": "Nur vom gleichen Bildschirm"
}
},
"taskbar-grouped": {
"show-labels-only-when-occupied": {
"description": "Zeige nur die Workspace-Bezeichnung für Workspaces an, die offene Fenster haben.",
"label": "Zeige Label nur bei Belegung"
}
},
"tray": {
"colorize-icons": {
"description": "Theme-Farben auf Tray-Symbole anwenden.",
@@ -299,6 +377,10 @@
"description": "Arbeitsbereiche ohne Fenster nicht anzeigen.",
"label": "Unbesetzte ausblenden"
},
"follow-focused-screen": {
"description": "Zeigt Arbeitsbereiche vom aktuell fokussierten Bildschirm an, statt vom Bildschirm, auf dem sich die Leiste befindet.",
"label": "Fokussiertem Bildschirm folgen"
},
"label-mode": {
"description": "Wählen Sie, wie Arbeitsbereichs-Beschriftungen angezeigt werden.",
"label": "Beschriftungsmodus"
@@ -307,21 +389,20 @@
}
},
"battery": {
"brightness": "Helligkeit",
"charge-level": "Ladestand",
"charging": "Wird geladen.",
"charging-rate": "Laderate: {rate} W.",
"discharging": "Wird entladen.",
"discharging-rate": "Entladerate: {rate} W.",
"health": "Zustand: {percent}%",
"idle": "Leerlauf.",
"inhibit-idle-description": "Hält das System wach.",
"inhibit-idle-label": "Wach halten",
"no-battery-detected": "Keine Batterie erkannt.",
"panel": {
"balanced": "Ausgeglichen ({percent}%)",
"disabled": "Batteriemanager deaktiviert",
"full": "Volle Kapazität ({percent}%)",
"lifespan": "Verlängerte Lebensdauer ({percent}%)",
"title": "Ladeschwelle"
},
"panel-title": "Akku",
"plugged-in": "Angeschlossen.",
"power-profile": "Energieprofil",
"time-left": "Verbleibende Zeit: {time}.",
"time-until-full": "Zeit bis vollständig geladen: {time}."
},
@@ -349,9 +430,61 @@
"loading": "Wetter wird geladen…"
}
},
"changelog": {
"error": {
"fetch-failed": "Changelog-Daten konnten nicht geladen werden. Bitte versuche es später erneut.",
"rate-limit": "GitHub-Limit erreicht. Bitte versuche es in ein paar Minuten erneut."
},
"panel": {
"buttons": {
"discord": "Unserem Discord beitreten",
"dismiss": "Ok"
},
"empty": "Es sind noch keine Versionshinweise verfügbar.",
"highlight-title": "Highlights",
"section": {
"released": "Veröffentlicht am {date}",
"version": "Version {version}"
},
"subtitle": {
"fresh": "Danke, dass du Noctalia installiert hast! Das ist in diesem Build enthalten.",
"updated": "Aktualisiert von {previousVersion}"
},
"title": "Was ist neu in {version}",
"version": {
"new-user": "Neuinstallation"
}
}
},
"clock": {
"tooltip": "Kalender öffnen"
},
"context-menu": {
"activate-app": "{app} aktivieren",
"clear-history": "Verlauf löschen",
"close-app": "{app} schließen",
"connect-vpn": "Mit {name} verbinden",
"cycle-visualizer": "Zyklus-Visualisierer",
"disable-bluetooth": "Bluetooth deaktivieren",
"disable-dnd": "Bitte nicht stören deaktivieren",
"disable-wifi": "WLAN deaktivieren",
"disconnect-vpn": "Verbindung zu {name} trennen",
"enable-bluetooth": "Bluetooth aktivieren",
"enable-dnd": "Nicht stören aktivieren",
"enable-wifi": "WLAN aktivieren",
"next": "Nächste/r/s",
"open-calendar": "Kalender öffnen",
"open-display-settings": "Anzeigeeinstellungen",
"open-launcher": "Launcher öffnen",
"open-mixer": "Audiomischer",
"open-settings": "Einstellungen öffnen",
"pause": "Pause",
"play": "Spielen",
"previous": "Vorherige",
"random-wallpaper": "Zufälliges Hintergrundbild",
"toggle-mute": "Stummschaltung umschalten",
"widget-settings": "Widget-Einstellungen"
},
"dock": {
"menu": {
"close": "Schließen",
@@ -375,7 +508,7 @@
"password": "Passwort eingeben...",
"restart": "Neu starten",
"shut-down": "Herunterfahren",
"suspend": "Ruhezustand",
"suspend": "Energie sparen",
"welcome-back": "Willkommen zurück,"
},
"notifications": {
@@ -384,6 +517,15 @@
"description": "Ihre Benachrichtigungen werden hier angezeigt, sobald sie eintreffen.",
"no-notifications": "Keine Benachrichtigungen",
"title": "Benachrichtigungen"
},
"time": {
"now": "jetzt",
"diffM": "vor 1 Minute",
"diffMM": "vor {diff} Minuten",
"diffH": "vor 1 Stunde",
"diffHH": "vor {diff} Stunden",
"diffD": "vor 1 Tag",
"diffDD": "vor {diff} Tagen"
}
},
"options": {
@@ -515,6 +657,7 @@
},
"workspace-labels": {
"index": "Index",
"index+name": "Index und Name",
"name": "Name",
"none": "Keine"
}
@@ -530,6 +673,7 @@
"search": "Suchen...",
"search-icons": "z.B. noctalia, niri, battery, cloud",
"search-launcher": "Einträge suchen... oder > für Befehle verwenden",
"search-wallhaven": "Wallhaven durchsuchen...",
"search-wallpapers": "Zum Filtern von Hintergrundbildern eingeben...",
"select": "Auswählen",
"test": "Test"
@@ -549,7 +693,11 @@
"clipboard-history-disabled-description": "Zwischenablageverlauf in den Einstellungen aktivieren oder cliphist installieren",
"clipboard-loading": "Lade Zwischenablageverlauf...",
"clipboard-loading-description": "Bitte warten",
"clipboard-search-description": "Zwischenablageverlauf durchsuchen"
"clipboard-search-description": "Zwischenablageverlauf durchsuchen",
"emoji": "Emoji-Auswahl",
"emoji-loading": "Lade Emojis...",
"emoji-loading-description": "Bitte warten",
"emoji-search-description": "Emojis suchen und kopieren"
},
"quickSettings": {
"bluetooth": {
@@ -610,7 +758,7 @@
"wallpaperSelector": {
"label": "Hintergrundbild",
"tooltip": {
"action": "Linksklick: Hintergrundbildauswahl öffnen\nRechtsklick: Zufälliges Hintergrundbild setzen"
"action": "Linksklick: Hintergrundbild-Auswahl öffnen\nRechtsklick: Zufälliges Hintergrundbild setzen"
}
},
"wifi": {
@@ -626,12 +774,13 @@
},
"session-menu": {
"action-in-seconds": "{action} in {seconds} Sekunden...",
"hibernate": "Ruhezustand",
"lock": "Sperren",
"lock-and-suspend": "Sperren und Ruhezustand",
"lock-and-suspend": "Sperren und Energie sparen",
"logout": "Abmelden",
"reboot": "Neu starten",
"shutdown": "Herunterfahren",
"suspend": "Ruhezustand",
"suspend": "Energie sparen",
"title": "Sitzungsmenü"
},
"settings": {
@@ -670,6 +819,11 @@
"label": "Audio-Geräte"
}
},
"external-mixer": {
"description": "Geben Sie den Befehl oder den Anwendungspfad ein, der beim Aktivieren der externen Audiomixer-Funktion gestartet werden soll.",
"label": "Externer Audio-Mixer-Befehl",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Stichwörter für Player hinzufügen, die das System ignorieren soll. Jedes Stichwort sollte in einer neuen Zeile stehen.",
@@ -744,6 +898,10 @@
"description": "Hintergrund-Transparenz der Statusleiste anpassen.",
"label": "Hintergrund-Transparenz"
},
"capsule-opacity": {
"description": "Deckkraft der Widget-Hintergründe festlegen, wenn Kapsel angezeigt wird.",
"label": "Kapsel-Deckkraft"
},
"density": {
"description": "Innenabstand der Statusleiste für kompaktes oder geräumiges Aussehen anpassen.",
"label": "Statusleistendichte"
@@ -836,6 +994,41 @@
"label": "Dunkler Modus"
}
},
"delete": {
"error": {
"description": "Fehler beim Löschen von {scheme}",
"title": "Löschen fehlgeschlagen"
},
"success": {
"description": "{scheme} wurde erfolgreich gelöscht",
"title": "Farbschema gelöscht"
}
},
"download": {
"button": "Mehr herunterladen",
"delete": "Löschen",
"download": "Herunterladen",
"downloading": "Wird heruntergeladen...",
"empty": "Keine Farbschemata verfügbar",
"error": {
"api-error": "API-Fehler: {status}",
"description": "Fehler beim Herunterladen von {scheme}",
"download-failed": "Download fehlgeschlagen mit Exit-Code: {code}",
"invalid-response": "Ungültiges API-Antwortformat",
"no-files": "Keine Dateien für Schema gefunden",
"parse-failed": "Fehler beim Parsen der API-Antwort: {error}",
"rate-limit": "GitHub API-Ratenlimit überschritten",
"title": "Download fehlgeschlagen"
},
"fetching": "Verfügbare Farbschemata werden abgerufen...",
"installed": "Installiert",
"refresh": "Aktualisieren",
"success": {
"description": "{scheme} wurde erfolgreich heruntergeladen",
"title": "Farbschema heruntergeladen"
},
"title": "Farbschemata herunterladen"
},
"predefined": {
"generate-templates": {
"description": "Generiert Matugen-Templates (GTK, Terminal-Themes, etc.) bei der Verwendung vordefinierter Farbschemata.",
@@ -858,7 +1051,7 @@
"programs": {
"code": {
"description": "Schreibe {Dateipfad}. Das Hyprluna-Theme muss manuell installiert und aktiviert werden",
"description-missing": "Benötigt die Installation von {app}"
"description-missing": "Kein Code-Client erkannt. Installieren Sie VSCode oder VSCodium."
},
"description": "Anwendungsspezifisches Theming.",
"discord": {
@@ -874,6 +1067,18 @@
"description": "Schreibt {filepath} und führt pywalfox update aus",
"description-missing": "Erfordert die Installation von {app}"
},
"spicetify": {
"description": "Schreibe {filepath}. Das Comfy-Theme muss manuell installiert und aktiviert werden",
"description-missing": "Benötigt die Installation von {app}"
},
"telegram": {
"description": "Schreibe {filepath}.",
"description-missing": "Benötigt die Installation von {app}"
},
"cava": {
"description": "Schreibe {filepath}.",
"description-missing": "Benötigt die Installation von {app}"
},
"vicinae": {
"description": "Schreibt {filepath} und lädt neu",
"description-missing": "Erfordert die Installation von {app}"
@@ -1070,6 +1275,10 @@
"description": "Hintergrund-Transparenz des Docks anpassen.",
"label": "Hintergrund-Transparenz"
},
"border-radius": {
"description": "Den Radius der Dock-Umrandung anpassen.",
"label": "Eckenradius"
},
"colorize-icons": {
"description": "Theme-Farben auf Dock-App-Symbole anwenden (nur nicht fokussierte Apps).",
"label": "Symbole einfärben"
@@ -1221,6 +1430,10 @@
"description": "Hintergrund-Transparenz des Starters anpassen.",
"label": "Hintergrund-Transparenz"
},
"clip-preview": {
"description": "Zeigt eine Vorschau des Inhalts der Zwischenablage an, wenn der Befehl >clip verwendet wird.",
"label": "Clip-Vorschau aktivieren"
},
"clipboard-history": {
"description": "Zugriff auf zuvor kopierte Elemente über den Launcher.",
"label": "Zwischenablageverlauf aktivieren"
@@ -1309,6 +1522,10 @@
"description": "Bevorzugte Temperatureinheit wählen.",
"label": "Wetter"
},
"show-effects": {
"description": "Zeigt zusätzliche visuelle Effekte (wie Regen, Schnee oder Blitze) auf der Wetterkarte an.",
"label": "Wettereffekte anzeigen"
},
"show-in-calendar": {
"description": "Zeige die tägliche Wettervorhersage direkt in deiner Kalenderansicht an.",
"label": "Wetter im Kalender anzeigen"
@@ -1321,8 +1538,12 @@
"label": "Kompakter Sperrbildschirm"
},
"lock-on-suspend": {
"description": "Den Bildschirm beim Suspendieren des Systems automatisch sperren.",
"label": "Sperren beim Ruhezustand"
"description": "Den Bildschirm beim Energiesparen automatisch sperren.",
"label": "Sperren beim Energiesparen"
},
"show-hibernate": {
"description": "Die Option 'Ruhezustand' in den Energieaktionen anzeigen.",
"label": "Ruhezustand anzeigen"
},
"title": "Sperrbildschirm"
},
@@ -1352,6 +1573,7 @@
"description": "Wie lange Benachrichtigungen normaler Priorität sichtbar bleiben.",
"label": "Normale Dringlichkeit"
},
"reset": "Timeout-Dauer zurücksetzen",
"respect-expire": {
"description": "Die in der Benachrichtigung gesetzte Ablaufzeit verwenden.",
"label": "Ablaufzeit respektieren"
@@ -1397,13 +1619,27 @@
"label": "Erscheinungsbild"
}
},
"title": "Benachrichtigungen"
"title": "Benachrichtigungen",
"toast": {
"keyboard": {
"description": "Zeige eine Toast-Benachrichtigung an, wenn sich das Tastaturlayout ändert.",
"label": "Tastaturlayout"
},
"section": {
"description": "Konfigurieren Sie das Aussehen und Verhalten von Toast-Benachrichtigungen.",
"label": "Toast"
}
}
},
"osd": {
"always-on-top": {
"description": "On-Screen Display über Vollbildfenstern und anderen Ebenen anzeigen.",
"label": "Immer im Vordergrund"
},
"background-opacity": {
"description": "Kontrolliert die Transparenz des OSD Hintergrunds.",
"label": "Hintergrund-Transparenz"
},
"description": "Bildschirm-Overlays wie Lautstärke- und Helligkeitsanzeigen konfigurieren.",
"duration": {
"auto-hide": {
@@ -1496,7 +1732,107 @@
}
}
},
"session-menu": {
"countdown-duration": {
"description": "Legen Sie fest, wie lange der Countdown-Timer vor der Ausführung von Energieaktionen dauert.",
"label": "Countdown-Dauer"
},
"enable-countdown": {
"description": "Zeige einen Countdown-Timer vor der Ausführung von Energieaktionen.",
"label": "Countdown-Timer aktivieren"
},
"entries": {
"section": {
"description": "Anpassen, welche Energieaktionen im Sitzungsmenü angezeigt werden und in welcher Reihenfolge.",
"label": "Energieaktionen"
}
},
"general": {
"section": {
"description": "Konfigurieren Sie das Verhalten und Erscheinungsbild des Sitzungsmenü-Panels.",
"label": "Allgemein"
}
},
"position": {
"description": "Wählen Sie, wo das Sitzungsmenü-Panel beim Öffnen erscheint.",
"label": "Position"
},
"show-header": {
"description": "Zeige den Titel und die Schließen-Schaltfläche oben im Sitzungsmenü.",
"label": "Kopfzeile anzeigen"
},
"title": "Sitzungsmenü"
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "Kritische Schwelle"
},
"cpu-section": {
"label": "CPU-Auslastung"
},
"cpu-warning-threshold": {
"label": "Warnschwelle"
},
"critical-color": {
"label": "Kritische Farbe"
},
"custom-highlight-colors-title": {
"label": "Benutzerdefinierte Hervorhebungsfarben"
},
"disk-critical-threshold": {
"label": "Kritische Schwelle"
},
"disk-section": {
"label": "Festplattennutzung"
},
"disk-warning-threshold": {
"label": "Warnschwelle"
},
"general": {
"section": {
"description": "Konfigurieren Sie das Verhalten und Aussehen des Systemmonitors.",
"label": "Allgemein"
}
},
"highlight-colors-section": {
"label": "Hervorhebungsfarben"
},
"mem-critical-threshold": {
"label": "Kritische Schwelle"
},
"mem-warning-threshold": {
"label": "Warnschwelle"
},
"memory-section": {
"label": "Speicherverbrauch"
},
"temp-critical-threshold": {
"label": "Kritische Schwelle"
},
"temp-warning-threshold": {
"label": "Warnschwelle"
},
"temperature-section": {
"label": "CPU-Temperatur"
},
"thresholds-section": {
"description": "Setzen Sie Schwellenwerte für Systemmetriken; Werte darüber werden hervorgehoben.",
"label": "Schwellenwerte"
},
"title": "Systemmonitor",
"use-custom-highlight-colors": {
"description": "Wenn deaktiviert, werden die Standard-Hervorhebungsfarben des Themes verwendet.",
"label": "Benutzerdefinierte Hervorhebungsfarben verwenden"
},
"warning-color": {
"label": "Warnfarbe"
}
},
"user-interface": {
"allow-panels-without-bar": {
"description": "Wenn aktiviert, können sich Panels auf jedem Bildschirm öffnen. Wenn deaktiviert, öffnen sich Panels nur auf Bildschirmen mit einer Leiste, was den Speicherverbrauch reduzieren kann.",
"label": "Paneele auf Bildschirmen ohne Leiste zulassen"
},
"animation-disable": {
"description": "Deaktivieren Sie alle Animationen für eine schnellere und reaktionsfreudigere Erfahrung.",
"label": "UI-Animationen deaktivieren"
@@ -1515,6 +1851,15 @@
"description": "Den Desktop abdunkeln, wenn Fenster oder Menüs geöffnet sind.",
"label": "Desktop abdunkeln"
},
"dimmer-opacity": {
"description": "Deckkraft für das Abdunkeln des Desktops festlegen.",
"label": "Deckkraft des gedimmten Desktops",
"reset": "Deckkraft des gedimmten Desktops zurücksetzen"
},
"panel-background-opacity": {
"description": "Hintergrunddeckkraft für alle Paneele festlegen (Launcher, Control Center, Einstellungen usw.).",
"label": "Paneel-Hintergrunddeckkraft"
},
"panels-attached-to-bar": {
"description": "Die Paneele rasten an der Stange und den Bildschirmrändern ein und sorgen so für ein nahtloses Erscheinungsbild mit stilvollen, umgekehrten Ecken.",
"label": "Paneele an Kanten ausrichten"
@@ -1607,6 +1952,10 @@
"label": "Hintergrundbild-Ordner",
"tooltip": "Nach Hintergrundbild-Ordner suchen"
},
"hide-wallpaper-filenames": {
"description": "Hintergrundbilddateinamen im Auswahlmenü ausblenden.",
"label": "Dateinamen ausblenden"
},
"monitor-specific": {
"description": "Unterschiedlichen Hintergrundbild-Ordner für jeden Monitor festlegen.",
"label": "Monitor-spezifische Verzeichnisse",
@@ -1622,8 +1971,13 @@
},
"select-folder": "Hintergrundbild-Ordner auswählen",
"select-monitor-folder": "Monitor-Hintergrundbild-Ordner auswählen",
"selector": {
"description": "Wählen Sie Ihr Hintergrundbild aus.",
"label": "Hintergrundbild-Auswahl",
"tooltip": "Hintergrundbild-Auswahl öffnen"
},
"selector-position": {
"description": "Wählen Sie aus, wo das Hintergrundbildauswahlfeld angezeigt wird.",
"description": "Wählen Sie aus, wo das Hintergrundbild-Auswahlfeld angezeigt wird.",
"label": "Position"
}
},
@@ -1686,19 +2040,6 @@
"low": "Niedriger Batteriestand",
"low-desc": "Batterie ist bei {percent}%. Bitte schließen Sie das Ladegerät an."
},
"battery-manager": {
"initial-setup": "Ersteinrichtung erforderlich",
"install-failed": "Installation fehlgeschlagen",
"install-missing": "Erforderliche Dateien fehlen",
"install-success": "Erfolgreich installiert",
"install-unsupported": "System wird nicht unterstützt",
"set-failed": "Fehler beim Setzen der Batterieschwelle",
"set-success-desc": "Batterieschwelle auf {percent}% gesetzt",
"title": "Batterieschwelle",
"uninstall-failed": "Deinstallation fehlgeschlagen",
"uninstall-setup": "Deinstallation, Authentifizierung erforderlich",
"uninstall-success": "Erfolgreich deinstalliert"
},
"bluetooth": {
"disabled": "Deaktiviert",
"enabled": "Aktiviert"
@@ -1724,6 +2065,9 @@
"disabled": "Deaktiviert",
"enabled": "Aktiviert"
},
"keyboard-layout": {
"changed": "Tastaturlayout geändert zu {layout}"
},
"kofi": {
"opened": "Ko-fi-Seite in Ihrem Browser geöffnet"
},
@@ -1764,6 +2108,10 @@
"title-matugen": "Matugen-Templating-Verarbeitung fehlgeschlagen",
"title-predefined": "Die Verarbeitung des vordefinierten Farbschemas ist fehlgeschlagen."
},
"vpn": {
"connected": "Verbunden mit '{name}'",
"disconnected": "Verbindung zu '{name}' getrennt"
},
"wallpaper-colors": {
"disabled": "Hintergrundbild-Farben deaktiviert",
"enabled": "Hintergrundbild-Farben aktiviert",
@@ -1788,15 +2136,16 @@
"close": "Schließen",
"connect-disconnect-devices": "Linksklick zum Verbinden. Rechtsklick zum Vergessen.",
"delete-notification": "Benachrichtigung löschen",
"disable-keep-awake": "Wach halten deaktivieren",
"disable-keep-awake": "Klicken, um Wach halten zu deaktivieren.\nScrollen, um Zeitlimit anzupassen.",
"do-not-disturb-disabled": "'Nicht stören' deaktiviert",
"do-not-disturb-enabled": "'Nicht stören' aktiviert",
"enable-keep-awake": "Wach halten aktivieren",
"enable-keep-awake": "Klicken, um Wach halten zu aktivieren.\nScrollen, um Zeitlimit anzupassen.",
"forget-network": "Netzwerk vergessen",
"home": "Home",
"input-muted": "Audio-Eingabe stummschalten",
"keep-awake": "Wach halten",
"keyboard-layout": "{layout} Tastaturlayout",
"manage-vpn": "VPN-Verbindungen verwalten",
"manage-wifi": "WLAN verwalten",
"microphone-volume-at": "Mikrofonlautstärke bei {volume}%.\nLinksklick für Einstellungen. Rechtsklick zum Stummschalten.\nScrollen zum Ändern der Lautstärke.",
"move-to-center-section": "Zur mittleren Sektion verschieben",
@@ -1824,6 +2173,7 @@
"previous-month": "Vorheriger Monat",
"refresh": "Aktualisieren",
"refresh-devices": "Geräte aktualisieren",
"refresh-wallhaven": "Wallhaven-Ergebnisse aktualisieren",
"refresh-wallpaper-list": "Hintergrundbild-Liste aktualisieren",
"remove-widget": "Widget entfernen",
"screen-recorder-not-installed": "Bildschirmrekorder ist nicht installiert",
@@ -1853,8 +2203,51 @@
"description": "Ausgewähltes Hintergrundbild auf alle Monitore gleichzeitig anwenden.",
"label": "Auf alle Monitore anwenden"
},
"categories": {
"anime": "Anime",
"general": "Allgemein",
"label": "Kategorien",
"people": "Personen"
},
"order": {
"asc": "Aufsteigend",
"desc": "Absteigend",
"label": "Reihenfolge"
},
"purity": {
"all": "Alle",
"label": "Inhaltsfilter",
"sfw": "SFW",
"sketchy": "Sketchy"
},
"resolution": {
"atleast": "Mindestens",
"exact": "Exakt",
"label": "Auflösung",
"mode": {
"label": "Modus"
}
},
"search": "Suchen:",
"title": "Hintergrundbild-Auswahl"
"sorting": {
"date_added": "Hinzugefügt am",
"favorites": "Favoriten",
"label": "Sortieren nach",
"random": "Zufällig",
"relevance": "Relevanz",
"toplist": "Topliste",
"views": "Aufrufe"
},
"source": {
"label": "Quelle",
"local": "Lokal",
"wallhaven": "Wallhaven"
},
"title": "Hintergrundbild-Auswahl",
"wallhaven-settings": {
"apply": "Anwenden",
"title": "Wallhaven-Einstellungen"
}
},
"transitions": {
"disc": "Scheibe",
@@ -1864,7 +2257,13 @@
"stripes": "Streifen",
"wipe": "Wischen"
},
"try-different-search": "Versuchen Sie eine andere Suchanfrage."
"try-different-search": "Versuchen Sie eine andere Suchanfrage.",
"unknown": "Unbekannt",
"wallhaven": {
"loading": "Hintergrundbilder werden geladen...",
"no-results": "Keine Hintergrundbilder gefunden. Versuchen Sie eine andere Suchanfrage.",
"page": "{current} von {total}"
}
},
"weather": {
"clear-sky": "Klarer Himmel",
@@ -1881,23 +2280,11 @@
"widgets": {
"color-picker": {
"apply": "Anwenden",
"brightness": "Helligkeit",
"cancel": "Abbrechen",
"hex": {
"description": "Geben Sie einen hexadezimalen Farbcode ein.",
"label": "Hex-Farbe"
},
"palette": {
"description": "Wählen Sie aus einer großen Auswahl vordefinierter Farben.",
"label": "Palette"
},
"rgb": {
"description": "Passen Sie Rot-, Grün-, Blau- und Helligkeitswerte an.",
"label": "RGB-Werte"
},
"theme-colors": {
"description": "Schnellzugriff auf die Farbpalette Ihres Themes.",
"label": "Theme-Farben"
"label": "Palette",
"theme-colors": "Schneller Zugriff auf die Farbpalette Ihres Themes."
},
"title": "Farbauswahl"
},
@@ -1973,6 +2360,7 @@
},
"wifi": {
"panel": {
"available-networks": "Verfügbare Netzwerke",
"connect": "Verbinden",
"connected": "Verbunden",
"disabled": "WLAN ist deaktiviert",
@@ -1983,6 +2371,7 @@
"forget": "Vergessen",
"forget-network": "Dieses Netzwerk vergessen?",
"forgetting": "Wird vergessen...",
"known-networks": "Bekannte Netzwerke",
"no-networks": "Keine Netzwerke gefunden",
"password": "Passwort",
"saved": "Gespeichert",

View File

@@ -97,6 +97,10 @@
"control-center": {
"browse-file": "Browse File",
"browse-library": "Browse Library",
"colorize-distro-logo": {
"description": "Apply theme colors to your distribution logo.",
"label": "Colorize distro logo"
},
"icon": {
"description": "Select an icon from the library or a custom file.",
"label": "Icon"
@@ -125,11 +129,21 @@
},
"left-click": {
"description": "Command to execute when the button is left-clicked.",
"label": "Left click"
"label": "Left click",
"update-text": "Update displayed text on left-click"
},
"max-text-length-horizontal": {
"description": "Maximum number of characters to show in horizontal bar (0 to hide text)",
"label": "Max text length (horizontal)"
},
"max-text-length-vertical": {
"description": "Maximum number of characters to show in vertical bar (0 to hide text)",
"label": "Max text length (vertical)"
},
"middle-click": {
"description": "Command to execute when the button is middle-clicked.",
"label": "Middle click"
"label": "Middle click",
"update-text": "Update displayed text on middle-click"
},
"parse-json": {
"description": "Parse the command output as a JSON object to dynamically set text and icon.",
@@ -141,11 +155,29 @@
},
"right-click": {
"description": "Command to execute when the button is right-clicked.",
"label": "Right click"
"label": "Right click",
"update-text": "Update displayed text on right-click"
},
"text-stream": {
"description": "Streamed lines from the command will be displayed as text on the button.",
"label": "Stream"
},
"wheel": {
"description": "Command to execute when the scroll wheel is used.\nUse $delta for the scroll wheel delta in the command",
"label": "Scroll wheel",
"update-text": "Update displayed text on scroll"
},
"wheel-down": {
"description": "Command to execute when the scroll wheel is scrolled down.",
"label": "Wheel down command"
},
"wheel-mode-separate": {
"description": "Enable separate commands for wheel up and down",
"label": "Separate wheel commands"
},
"wheel-up": {
"description": "Command to execute when the scroll wheel is scrolled up.",
"label": "Wheel up command"
}
},
"dialog": {
@@ -191,10 +223,18 @@
"description": "Display the album artwork for the currently playing track.",
"label": "Show album art"
},
"show-artist-first": {
"description": "Display artist - title instead of title - artist.",
"label": "Show artist first"
},
"show-visualizer": {
"description": "Display an audio visualizer when music is playing.",
"label": "Show visualizer"
},
"show-progress-ring": {
"description": "Display a circular progress indicator showing track progress.",
"label": "Show progress ring"
},
"use-fixed-width": {
"description": "When enabled, the widget will always use the maximum width instead of dynamically adjusting to content.",
"label": "Use Fixed Width"
@@ -231,6 +271,9 @@
}
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "CPU Usage (Critical)"
},
"cpu-temperature": {
"description": "Show CPU temperature readings if available.",
"label": "CPU temperature"
@@ -239,6 +282,25 @@
"description": "Display current CPU usage percentage.",
"label": "CPU usage"
},
"cpu-warning-threshold": {
"label": "CPU Usage (Warning)"
},
"disk-critical-threshold": {
"label": "Storage Space (Critical)"
},
"disk-path": {
"description": "Select which disk mount point to monitor.",
"label": "Disk path"
},
"disk-warning-threshold": {
"label": "Storage Space (Warning)"
},
"mem-critical-threshold": {
"label": "Memory Usage (Critical)"
},
"mem-warning-threshold": {
"label": "Memory Usage (Warning)"
},
"memory-percentage": {
"description": "Show memory usage as a percentage instead of absolute values.",
"label": "Memory as percentage"
@@ -254,6 +316,16 @@
"storage-usage": {
"description": "Show disk space usage information.",
"label": "Storage usage"
},
"temp-critical-threshold": {
"label": "CPU Temperature (Critical)"
},
"temp-warning-threshold": {
"label": "CPU Temperature (Warning)"
},
"thresholds": {
"description": "Set thresholds for system metric alerts. Highlights when exceeded.",
"header": "Threshold Settings"
}
},
"taskbar": {
@@ -274,6 +346,12 @@
"label": "Only from same output"
}
},
"taskbar-grouped": {
"show-labels-only-when-occupied": {
"description": "Only show workspace label for workspaces that have open windows.",
"label": "Show label only when occupied"
}
},
"tray": {
"colorize-icons": {
"description": "Apply theme colors to tray icons.",
@@ -299,6 +377,10 @@
"description": "Don't display workspaces without windows.",
"label": "Hide unoccupied"
},
"follow-focused-screen": {
"description": "Display workspaces from the currently focused screen, rather than the screen where the bar is located.",
"label": "Follow Focused Screen"
},
"label-mode": {
"description": "Choose how workspace labels are displayed.",
"label": "Label Mode"
@@ -307,23 +389,22 @@
}
},
"battery": {
"charging": "Charging.",
"charging-rate": "Charging rate: {rate} W.",
"discharging": "Discharging.",
"discharging-rate": "Discharging rate: {rate} W.",
"brightness": "Brightness",
"charge-level": "Charge level",
"charging": "Charging",
"charging-rate": "Charging rate: {rate} W",
"discharging": "Discharging",
"discharging-rate": "Discharging rate: {rate} W",
"health": "Health: {percent}%",
"idle": "Idle.",
"no-battery-detected": "No battery detected.",
"panel": {
"balanced": "Balanced ({percent}%)",
"disabled": "Battery manager disabled",
"full": "Full capacity ({percent}%)",
"lifespan": "Extended lifespan ({percent}%)",
"title": "Charge threshold"
},
"plugged-in": "Plugged in.",
"time-left": "Time left: {time}.",
"time-until-full": "Time until full: {time}."
"idle": "Idle",
"inhibit-idle-description": "Keeps the system awake.",
"inhibit-idle-label": "Keep awake",
"no-battery-detected": "No battery detected",
"panel-title": "Battery",
"plugged-in": "Plugged in",
"power-profile": "Power profile",
"time-left": "Time left: {time}",
"time-until-full": "Time until full: {time}"
},
"bluetooth": {
"panel": {
@@ -349,9 +430,61 @@
"loading": "Loading weather…"
}
},
"changelog": {
"error": {
"fetch-failed": "Unable to load changelog data. Please try again later.",
"rate-limit": "GitHub rate limit exceeded. Please try again in a few minutes."
},
"panel": {
"buttons": {
"discord": "Join our Discord",
"dismiss": "Ok"
},
"empty": "Release notes are not available yet.",
"highlight-title": "Highlights",
"section": {
"released": "Released on {date}",
"version": "Version {version}"
},
"subtitle": {
"fresh": "Thanks for installing Noctalia! Here is whats included in this build.",
"updated": "Updated from {previousVersion}"
},
"title": "What's new in {version}",
"version": {
"new-user": "Fresh install"
}
}
},
"clock": {
"tooltip": "Open calendar"
},
"context-menu": {
"activate-app": "Activate {app}",
"clear-history": "Clear history",
"close-app": "Close {app}",
"connect-vpn": "Connect to {name}",
"cycle-visualizer": "Cycle visualizer",
"disable-bluetooth": "Disable Bluetooth",
"disable-dnd": "Disable Do Not Disturb",
"disable-wifi": "Disable Wi-Fi",
"disconnect-vpn": "Disconnect {name}",
"enable-bluetooth": "Enable Bluetooth",
"enable-dnd": "Enable Do Not Disturb",
"enable-wifi": "Enable Wi-Fi",
"next": "Next",
"open-calendar": "Open calendar",
"open-display-settings": "Display settings",
"open-launcher": "Open launcher",
"open-mixer": "Audio mixer",
"open-settings": "Open settings",
"pause": "Pause",
"play": "Play",
"previous": "Previous",
"random-wallpaper": "Random wallpaper",
"toggle-mute": "Toggle mute",
"widget-settings": "Widget settings"
},
"dock": {
"menu": {
"close": "Close",
@@ -384,6 +517,15 @@
"description": "Your notifications will show up here as they arrive.",
"no-notifications": "No notifications",
"title": "Notifications"
},
"time": {
"now": "now",
"diffM": "1 minute ago",
"diffMM": "{diff} minutes ago",
"diffH": "1 hour ago",
"diffHH": "{diff} hours ago",
"diffD": "1 day ago",
"diffDD": "{diff} days ago"
}
},
"options": {
@@ -451,7 +593,8 @@
"follow_bar": "Follow bar (default)",
"top_center": "Top center",
"top_left": "Top left",
"top_right": "Top right"
"top_right": "Top right",
"bar": "Bar (inline)"
}
},
"osd": {
@@ -515,6 +658,7 @@
},
"workspace-labels": {
"index": "Index",
"index+name": "Index and Name",
"name": "Name",
"none": "None"
}
@@ -530,6 +674,7 @@
"search": "Search...",
"search-icons": "e.g., noctalia, niri, battery, cloud",
"search-launcher": "Search entries... or use > for commands",
"search-wallhaven": "Search Wallhaven...",
"search-wallpapers": "Type to filter wallpapers...",
"select": "Select",
"test": "Test"
@@ -549,7 +694,11 @@
"clipboard-history-disabled-description": "Enable clipboard history in settings or install cliphist",
"clipboard-loading": "Loading clipboard history...",
"clipboard-loading-description": "Please wait",
"clipboard-search-description": "Search clipboard history"
"clipboard-search-description": "Search clipboard history",
"emoji": "Emoji picker",
"emoji-loading": "Loading emojis...",
"emoji-loading-description": "Please wait",
"emoji-search-description": "Search and copy emojis"
},
"quickSettings": {
"bluetooth": {
@@ -626,6 +775,7 @@
},
"session-menu": {
"action-in-seconds": "{action} in {seconds} seconds...",
"hibernate": "Hibernate",
"lock": "Lock",
"lock-and-suspend": "Lock and Suspend",
"logout": "Logout",
@@ -670,6 +820,11 @@
"label": "Audio devices"
}
},
"external-mixer": {
"description": "Enter the command or application path to launch when activating the external audio mixer feature.",
"label": "External Audio Mixer Command",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Add keywords for players you want the system to ignore. Each keyword should be on a new line.",
@@ -744,6 +899,10 @@
"description": "Adjust the background opacity of the bar.",
"label": "Background opacity"
},
"capsule-opacity": {
"description": "Set the opacity level for widget backgrounds when capsule is shown.",
"label": "Capsule opacity"
},
"density": {
"description": "Adjust the bar's padding for a compact or spacious look.",
"label": "Bar density"
@@ -836,6 +995,41 @@
"label": "Dark mode"
}
},
"delete": {
"error": {
"description": "Failed to delete {scheme}",
"title": "Delete Failed"
},
"success": {
"description": "Successfully deleted {scheme}",
"title": "Color Scheme Deleted"
}
},
"download": {
"button": "Download more",
"delete": "Delete",
"download": "Download",
"downloading": "Downloading...",
"empty": "No color schemes available",
"error": {
"api-error": "API error: {status}",
"description": "Failed to download {scheme}",
"download-failed": "Download failed with exit code: {code}",
"invalid-response": "Invalid API response format",
"no-files": "No files found for scheme",
"parse-failed": "Failed to parse API response: {error}",
"rate-limit": "GitHub API rate limit exceeded",
"title": "Download Failed"
},
"fetching": "Fetching available color schemes...",
"installed": "Installed",
"refresh": "Refresh",
"success": {
"description": "Successfully downloaded {scheme}",
"title": "Color Scheme Downloaded"
},
"title": "Download Color Schemes"
},
"predefined": {
"generate-templates": {
"description": "Generate Matugen templates (GTK, terminal themes, etc.) when using predefined color schemes.",
@@ -858,7 +1052,7 @@
"programs": {
"code": {
"description": "Write {filepath}. Hyprluna theme needs to be installed and activated manually.",
"description-missing": "Requires {app} to be installed"
"description-missing": "No Code client detected. Install VSCode or VSCodium."
},
"description": "Application-specific theming.",
"discord": {
@@ -874,6 +1068,18 @@
"description": "Write {filepath} and run pywalfox update",
"description-missing": "Requires {app} to be installed"
},
"spicetify": {
"description": "Write {filepath}. Comfy theme needs to be installed and activated manually.",
"description-missing": "Requires {app} to be installed"
},
"telegram": {
"description": "Write {filepath}.",
"description-missing": "Requires {app} to be installed"
},
"cava": {
"description": "Write {filepath}.",
"description-missing": "Requires {app} to be installed"
},
"vicinae": {
"description": "Write {filepath} and reload",
"description-missing": "Requires {app} to be installed"
@@ -1070,6 +1276,10 @@
"description": "Adjust the dock's background opacity.",
"label": "Background opacity"
},
"border-radius": {
"description": "Adjust the dock's border radius.",
"label": "Border radius"
},
"colorize-icons": {
"description": "Apply theme colors to dock app icons (non-focused apps only).",
"label": "Colorize Icons"
@@ -1221,6 +1431,10 @@
"description": "Adjust the background opacity of the launcher.",
"label": "Background opacity"
},
"clip-preview": {
"description": "Show a preview of the clipboard content when using the >clip command.",
"label": "Enable clip preview"
},
"clipboard-history": {
"description": "Access previously copied items from the launcher.",
"label": "Enable clipboard history"
@@ -1309,6 +1523,10 @@
"description": "Choose your preferred temperature unit.",
"label": "Weather"
},
"show-effects": {
"description": "Shows additional visual effects (like rain, snow, or lightning) on the weather card.",
"label": "Display weather effects"
},
"show-in-calendar": {
"description": "Show the daily weather forecast directly in your calendar view.",
"label": "Display weather in calendar"
@@ -1324,6 +1542,10 @@
"description": "Automatically lock the screen when suspending the system.",
"label": "Lock on suspend"
},
"show-hibernate": {
"description": "Show the option 'hibernate' in the energy actions.",
"label": "Show hibernate"
},
"title": "Lock screen"
},
"network": {
@@ -1352,6 +1574,7 @@
"description": "How long normal priority notifications stay visible.",
"label": "Normal urgency"
},
"reset": "Reset timeout duration",
"respect-expire": {
"description": "Use the expire timeout set in the notification.",
"label": "Respect expire timeout"
@@ -1397,13 +1620,27 @@
"label": "Appearance"
}
},
"title": "Notifications"
"title": "Notifications",
"toast": {
"keyboard": {
"description": "Show a toast when the keyboard layout changes.",
"label": "Keyboard layout"
},
"section": {
"description": "Configure toast appearance and behavior.",
"label": "Toast"
}
}
},
"osd": {
"always-on-top": {
"description": "Display OSD above fullscreen windows and other layers.",
"label": "Always on top"
},
"background-opacity": {
"description": "Controls the transparency of the OSD background.",
"label": "Background opacity"
},
"description": "Configure on-screen indicators such as volume and brightness overlays.",
"duration": {
"auto-hide": {
@@ -1496,7 +1733,107 @@
}
}
},
"session-menu": {
"countdown-duration": {
"description": "Set how long the countdown timer lasts before executing power actions.",
"label": "Countdown duration"
},
"enable-countdown": {
"description": "Show a countdown timer before executing power actions.",
"label": "Enable countdown timer"
},
"entries": {
"section": {
"description": "Customize which power actions appear in the Session Menu and in what order.",
"label": "Power actions"
}
},
"general": {
"section": {
"description": "Configure the Session Menu panel behavior and appearance.",
"label": "General"
}
},
"position": {
"description": "Choose where the Session Menu panel appears when opened.",
"label": "Position"
},
"show-header": {
"description": "Display the title and close button at the top of the Session Menu.",
"label": "Show header"
},
"title": "Session Menu"
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "Critical Threshold"
},
"cpu-section": {
"label": "CPU Usage"
},
"cpu-warning-threshold": {
"label": "Warning Threshold"
},
"critical-color": {
"label": "Critical Color"
},
"custom-highlight-colors-title": {
"label": "Custom highlight colors"
},
"disk-critical-threshold": {
"label": "Critical Threshold"
},
"disk-section": {
"label": "Disk Usage"
},
"disk-warning-threshold": {
"label": "Warning Threshold"
},
"general": {
"section": {
"description": "Configure the System Monitor behavior and appearance.",
"label": "General"
}
},
"highlight-colors-section": {
"label": "Highlight Colors"
},
"mem-critical-threshold": {
"label": "Critical Threshold"
},
"mem-warning-threshold": {
"label": "Warning Threshold"
},
"memory-section": {
"label": "Memory Usage"
},
"temp-critical-threshold": {
"label": "Critical Threshold"
},
"temp-warning-threshold": {
"label": "Warning Threshold"
},
"temperature-section": {
"label": "CPU Temperature"
},
"thresholds-section": {
"description": "Set thresholds for system metrics, values above these will be highlighted.",
"label": "Thresholds"
},
"title": "System Monitor",
"use-custom-highlight-colors": {
"description": "When disabled, theme default highlight colors are used.",
"label": "Use custom highlight colors"
},
"warning-color": {
"label": "Warning Color"
}
},
"user-interface": {
"allow-panels-without-bar": {
"description": "When enabled, panels can open on any screen. When disabled, panels will only open on screens that have a bar, which can reduce memory usage.",
"label": "Allow panels on screens without a bar"
},
"animation-disable": {
"description": "Disable all animations for a faster, more responsive experience.",
"label": "Disable UI Animations"
@@ -1515,6 +1852,15 @@
"description": "Dim the desktop when panels or menus are open.",
"label": "Dim desktop"
},
"dimmer-opacity": {
"description": "Set the opacity level for desktop dimming.",
"label": "Dimmed desktop opacity",
"reset": "Reset dimmed desktop opacity"
},
"panel-background-opacity": {
"description": "Set the background opacity for all panels (Launcher, Control Center, Settings, etc.).",
"label": "Panel background opacity"
},
"panels-attached-to-bar": {
"description": "Panels lock to the bar and screen edges, creating a seamless look with stylish inverted corners.",
"label": "Snap panels to edges"
@@ -1533,8 +1879,8 @@
"label": "Appearance"
},
"settings-panel-attached-to-bar": {
"description": "Keep the Settings window aligned with the bar for a unified look.",
"label": "Snap Settings window to bar"
"description": "Keep the settings window aligned with the bar for a unified look.",
"label": "Snap settings window to bar"
},
"shadows": {
"description": "Enables drop shadows under bars and panels.",
@@ -1607,6 +1953,10 @@
"label": "Wallpaper folder",
"tooltip": "Browse for wallpaper folder"
},
"hide-wallpaper-filenames": {
"description": "Hide wallpaper filenames in the selector.",
"label": "Hide filenames"
},
"monitor-specific": {
"description": "Set a different wallpaper folder for each monitor.",
"label": "Monitor-specific directories",
@@ -1622,6 +1972,11 @@
},
"select-folder": "Select wallpaper folder",
"select-monitor-folder": "Select monitor wallpaper folder",
"selector": {
"description": "Choose your wallpaper.",
"label": "Wallpaper selector",
"tooltip": "Open wallpaper selector"
},
"selector-position": {
"description": "Choose where the wallpaper selector panel appears.",
"label": "Position"
@@ -1686,19 +2041,6 @@
"low": "Low battery",
"low-desc": "Battery is at {percent}%. Please connect the charger."
},
"battery-manager": {
"initial-setup": "Initial setup required",
"install-failed": "Installation failed",
"install-missing": "Required files are missing",
"install-success": "Installed successfully",
"install-unsupported": "System is not supported",
"set-failed": "Failed to set battery threshold",
"set-success-desc": "Battery threshold set to {percent}%",
"title": "Battery threshold",
"uninstall-failed": "Uninstallation failed",
"uninstall-setup": "Uninstalling, authentication required",
"uninstall-success": "Uninstalled successfully"
},
"bluetooth": {
"disabled": "Disabled",
"enabled": "Enabled"
@@ -1724,6 +2066,9 @@
"disabled": "Disabled",
"enabled": "Enabled"
},
"keyboard-layout": {
"changed": "Keyboard layout changed to {layout}"
},
"kofi": {
"opened": "Ko-fi page opened in your browser"
},
@@ -1764,6 +2109,10 @@
"title-matugen": "Matugen templating processing failed",
"title-predefined": "Predefined color cheme processing failed"
},
"vpn": {
"connected": "Connected to '{name}'",
"disconnected": "Disconnected from '{name}'"
},
"wallpaper-colors": {
"disabled": "Wallpaper colors disabled",
"enabled": "Wallpaper colors enabled",
@@ -1780,39 +2129,40 @@
"tooltips": {
"add-widget": "Add widget",
"bluetooth-devices": "Bluetooth devices",
"brightness-at": "Brightness: {brightness}%\nRight click for settings.\nScroll to modify brightness.",
"brightness-at": "Brightness: {brightness}%\nScroll to modify brightness",
"cancel-timer": "Cancel timer",
"clear-history": "Clear history",
"click-to-start-recording": "Click to start recording",
"click-to-stop-recording": "Click to stop recording",
"close": "Close",
"connect-disconnect-devices": "Left click to connect. Right click to forget.",
"connect-disconnect-devices": "Left click to connect\nRight click to forget",
"delete-notification": "Delete notification",
"disable-keep-awake": "Disable keep awake",
"disable-keep-awake": "Click to disable keep awake.\nScroll to adjust timeout",
"do-not-disturb-disabled": "'Do not disturb' disabled",
"do-not-disturb-enabled": "'Do not disturb' enabled",
"enable-keep-awake": "Enable keep awake",
"enable-keep-awake": "Click to enable keep awake.\nScroll to adjust timeout",
"forget-network": "Forget network",
"home": "Home",
"input-muted": "Toggle input mute",
"keep-awake": "Keep awake",
"keyboard-layout": "{layout} keyboard layout",
"manage-vpn": "Manage VPN connections",
"manage-wifi": "Manage Wi-Fi",
"microphone-volume-at": "Microphone volume at {volume}%\nLeft click for settings. Right click to toggle mute.\nScroll to modify volume.",
"microphone-volume-at": "Microphone volume at {volume}%\nScroll to modify volume",
"move-to-center-section": "Move to center section",
"move-to-left-section": "Move to left section",
"move-to-right-section": "Move to right section",
"next-media": "Next media",
"next-month": "Next month",
"night-light-disabled": "Night light is disabled.\nLeft click to cycle mode.\nRight click to access settings.",
"night-light-enabled": "Night light is enabled.\nLeft click to cycle mode.\nRight click to access settings.",
"night-light-forced": "Night light is forced.\nLeft click to cycle mode.\nRight click to access settings.",
"night-light-not-installed": "Night light is not available.\nwlsunset is not installed.",
"noctalia-performance-disabled": "Noctalia performance mode is disabled.\nLeft click to enable.",
"noctalia-performance-enabled": "Noctalia performance mode is enabled.\nLeft click to disable.",
"night-light-disabled": "Night light is disabled.\nLeft click to cycle mode\nRight click to access settings",
"night-light-enabled": "Night light is enabled.\nLeft click to cycle mode\nRight click to access settings",
"night-light-forced": "Night light is forced.\nLeft click to cycle mode\nRight click to access settings",
"night-light-not-installed": "Night light is not available\nwlsunset is not installed",
"noctalia-performance-disabled": "Noctalia performance mode is disabled\nLeft click to enable",
"noctalia-performance-enabled": "Noctalia performance mode is enabled\nLeft click to disable",
"open-control-center": "Open control center",
"open-notification-history-disable-dnd": "Open notification history\nRight-click to disable \"Do not disturb\".",
"open-notification-history-enable-dnd": "Open notification history\nRight-click to enable \"Do not disturb\".",
"open-notification-history-disable-dnd": "Open notification history\nRight-click to disable \"Do not disturb\"",
"open-notification-history-enable-dnd": "Open notification history\nRight-click to enable \"Do not disturb\"",
"open-settings": "Open settings",
"open-tray-dropdown": "Open tray dropdown",
"open-wallpaper-selector": "Open wallpaper selector",
@@ -1824,6 +2174,7 @@
"previous-month": "Previous month",
"refresh": "Refresh",
"refresh-devices": "Refresh devices",
"refresh-wallhaven": "Refresh Wallhaven results",
"refresh-wallpaper-list": "Refresh wallpaper list",
"remove-widget": "Remove widget",
"screen-recorder-not-installed": "Screen recorder is not installed",
@@ -1834,8 +2185,8 @@
"switch-to-dark-mode": "Switch to dark mode",
"switch-to-light-mode": "Switch to light mode",
"up": "Up",
"volume-at": "Output volume at {volume}%\nLeft click for settings. Right click to toggle mute.\nScroll to modify volume.",
"wallpaper-selector": "Left click: Open wallpaper selector.\nRight click: Set random wallpaper.",
"volume-at": "Output volume at {volume}%\nScroll to modify volume",
"wallpaper-selector": "Left click: Open wallpaper selector.\nRight click: Set random wallpaper",
"widget-settings": "Widget settings"
},
"wallpaper": {
@@ -1850,11 +2201,54 @@
"no-wallpaper": "No wallpaper found.",
"panel": {
"apply-all-monitors": {
"description": "Apply selected wallpaper to all monitors at once.",
"description": "Apply the selected wallpaper to all monitors.",
"label": "Apply to all monitors"
},
"search": "Search:",
"title": "Wallpaper selector"
"categories": {
"anime": "Anime",
"general": "General",
"label": "Categories",
"people": "People"
},
"order": {
"asc": "Ascending",
"desc": "Descending",
"label": "Order"
},
"purity": {
"all": "All",
"label": "Content filter",
"sfw": "SFW",
"sketchy": "Sketchy"
},
"resolution": {
"atleast": "At least",
"exact": "Exact",
"label": "Resolution",
"mode": {
"label": "Mode"
}
},
"search": "Search",
"sorting": {
"date_added": "Date added",
"favorites": "Favorites",
"label": "Sort by",
"random": "Random",
"relevance": "Relevance",
"toplist": "Toplist",
"views": "Views"
},
"source": {
"label": "Source",
"local": "Local",
"wallhaven": "Wallhaven"
},
"title": "Wallpaper Selector",
"wallhaven-settings": {
"apply": "Apply",
"title": "Wallhaven Settings"
}
},
"transitions": {
"disc": "Disc",
@@ -1864,7 +2258,13 @@
"stripes": "Stripes",
"wipe": "Wipe"
},
"try-different-search": "Try a different search query."
"try-different-search": "Try a different search query.",
"unknown": "Unknown",
"wallhaven": {
"loading": "Loading wallpapers...",
"no-results": "No wallpapers found. Try a different search query.",
"page": "{current} of {total}"
}
},
"weather": {
"clear-sky": "Clear sky",
@@ -1881,23 +2281,11 @@
"widgets": {
"color-picker": {
"apply": "Apply",
"brightness": "Brightness",
"cancel": "Cancel",
"hex": {
"description": "Enter a hexadecimal color code.",
"label": "Hex color"
},
"palette": {
"description": "Choose from a wide range of predefined colors.",
"label": "Palette"
},
"rgb": {
"description": "Adjust red, green, blue, and brightness values.",
"label": "RGB values"
},
"theme-colors": {
"description": "Quick access to your theme's color palette.",
"label": "Theme colors"
"label": "Palette",
"theme-colors": "Quick access to your theme's color palette."
},
"title": "Color picker"
},
@@ -1973,6 +2361,7 @@
},
"wifi": {
"panel": {
"available-networks": "Available Networks",
"connect": "Connect",
"connected": "Connected",
"disabled": "Wi-Fi is disabled",
@@ -1983,6 +2372,7 @@
"forget": "Forget",
"forget-network": "Forget this network?",
"forgetting": "Forgetting...",
"known-networks": "Known Networks",
"no-networks": "No networks found",
"password": "Password",
"saved": "Saved",

View File

@@ -97,6 +97,10 @@
"control-center": {
"browse-file": "Explorar archivo",
"browse-library": "Explorar biblioteca",
"colorize-distro-logo": {
"description": "Aplica los colores del tema a tu logotipo de distribución.",
"label": "Colorear logotipo de la distribución"
},
"icon": {
"description": "Selecciona un icono de la biblioteca o un archivo personalizado.",
"label": "Icono"
@@ -125,11 +129,21 @@
},
"left-click": {
"description": "Comando a ejecutar cuando se hace clic izquierdo en el botón.",
"label": "Clic izquierdo"
"label": "Clic izquierdo",
"update-text": "Actualizar el texto mostrado al hacer clic izquierdo"
},
"max-text-length-horizontal": {
"description": "Número máximo de caracteres a mostrar en la barra horizontal (0 para ocultar el texto)",
"label": "Longitud máxima de texto (horizontal)"
},
"max-text-length-vertical": {
"description": "Número máximo de caracteres a mostrar en la barra vertical (0 para ocultar el texto)",
"label": "Longitud máxima de texto (vertical)"
},
"middle-click": {
"description": "Comando a ejecutar cuando se hace clic medio en el botón.",
"label": "Clic medio"
"label": "Clic medio",
"update-text": "Actualizar el texto mostrado al hacer clic con el botón central"
},
"parse-json": {
"description": "Analizar la salida del comando como un objeto JSON para establecer dinámicamente el texto y el ícono.",
@@ -141,11 +155,29 @@
},
"right-click": {
"description": "Comando a ejecutar cuando se hace clic derecho en el botón.",
"label": "Clic derecho"
"label": "Clic derecho",
"update-text": "Actualizar el texto mostrado al hacer clic derecho"
},
"text-stream": {
"description": "Las líneas transmitidas desde el comando se mostrarán como texto en el botón.",
"label": "Transmisión"
},
"wheel": {
"description": "Comando a ejecutar cuando se usa la rueda de desplazamiento.\nUsa $delta para el delta de la rueda de desplazamiento en el comando",
"label": "Rueda de desplazamiento",
"update-text": "Actualizar texto mostrado al desplazarse"
},
"wheel-down": {
"description": "Comando a ejecutar cuando la rueda de desplazamiento se desplaza hacia abajo.",
"label": "Comando de rueda hacia abajo"
},
"wheel-mode-separate": {
"description": "Habilitar comandos separados para rueda arriba y abajo",
"label": "Comandos de rueda separados"
},
"wheel-up": {
"description": "Comando a ejecutar cuando la rueda de desplazamiento se desplaza hacia arriba.",
"label": "Comando de rueda hacia arriba"
}
},
"dialog": {
@@ -191,10 +223,18 @@
"description": "Mostrar la portada del álbum de la pista que se está reproduciendo actualmente.",
"label": "Mostrar arte del álbum"
},
"show-artist-first": {
"description": "Mostrar artista - título en lugar de título - artista.",
"label": "Mostrar primero al artista"
},
"show-visualizer": {
"description": "Mostrar un visualizador de audio cuando se reproduce música.",
"label": "Mostrar visualizador"
},
"show-progress-ring": {
"description": "Mostrar un indicador de progreso circular que muestre el progreso de la pista.",
"label": "Mostrar anillo de progreso"
},
"use-fixed-width": {
"description": "Cuando está activado, el widget siempre usará el ancho máximo en lugar de ajustarse dinámicamente al contenido.",
"label": "Usar Ancho Fijo"
@@ -231,6 +271,9 @@
}
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "CPU Usage (Critical)"
},
"cpu-temperature": {
"description": "Mostrar lecturas de temperatura de CPU si están disponibles.",
"label": "Temperatura de la CPU"
@@ -239,6 +282,25 @@
"description": "Mostrar el porcentaje actual de uso de CPU.",
"label": "Uso de CPU"
},
"cpu-warning-threshold": {
"label": "CPU Usage (Warning)"
},
"disk-critical-threshold": {
"label": "Storage Space (Critical)"
},
"disk-path": {
"description": "Seleccione qué punto de montaje de disco desea supervisar.",
"label": "Ruta del disco"
},
"disk-warning-threshold": {
"label": "Storage Space (Warning)"
},
"mem-critical-threshold": {
"label": "Memory Usage (Critical)"
},
"mem-warning-threshold": {
"label": "Memory Usage (Warning)"
},
"memory-percentage": {
"description": "Mostrar el uso de memoria como porcentaje en lugar de valores absolutos.",
"label": "Memoria como porcentaje"
@@ -254,6 +316,16 @@
"storage-usage": {
"description": "Mostrar información del uso del espacio en disco.",
"label": "Uso de almacenamiento"
},
"temp-critical-threshold": {
"label": "CPU Temperature (Critical)"
},
"temp-warning-threshold": {
"label": "CPU Temperature (Warning)"
},
"thresholds": {
"description": "Establece umbrales para alertas de métricas del sistema. Resalta cuando se superan.",
"header": "Configuración de Umbrales"
}
},
"taskbar": {
@@ -274,6 +346,12 @@
"label": "Solo de la misma salida"
}
},
"taskbar-grouped": {
"show-labels-only-when-occupied": {
"description": "Mostrar solo la etiqueta del espacio de trabajo para los espacios de trabajo que tienen ventanas abiertas.",
"label": "Mostrar etiqueta solo cuando esté ocupado."
}
},
"tray": {
"colorize-icons": {
"description": "Aplicar colores del tema a los iconos de la bandeja del sistema.",
@@ -299,6 +377,10 @@
"description": "No mostrar espacios de trabajo sin ventanas.",
"label": "Ocultar desocupados"
},
"follow-focused-screen": {
"description": "Mostrar espacios de trabajo de la pantalla actualmente enfocada, en lugar de la pantalla donde se encuentra la barra.",
"label": "Seguir Pantalla Enfocada"
},
"label-mode": {
"description": "Elegir cómo se muestran las etiquetas de los espacios de trabajo.",
"label": "Modo de etiqueta"
@@ -307,21 +389,20 @@
}
},
"battery": {
"brightness": "Brillo",
"charge-level": "Nivel de carga",
"charging": "Cargando.",
"charging-rate": "Tasa de carga: {rate} W.",
"discharging": "Descargando.",
"discharging-rate": "Tasa de descarga: {rate} W.",
"health": "Salud: {percent}%",
"idle": "Inactivo.",
"inhibit-idle-description": "Mantiene el sistema despierto.",
"inhibit-idle-label": "Mantener despierto",
"no-battery-detected": "No se detectó ninguna batería.",
"panel": {
"balanced": "Equilibrado ({percent}%)",
"disabled": "Administrador de batería deshabilitado",
"full": "Capacidad total ({percent}%)",
"lifespan": "Vida útil prolongada ({percent}%)",
"title": "Umbral de carga"
},
"panel-title": "Batería",
"plugged-in": "Conectado.",
"power-profile": "Perfil de energía",
"time-left": "Tiempo restante: {time}.",
"time-until-full": "Tiempo hasta carga completa: {time}."
},
@@ -349,9 +430,61 @@
"loading": "Cargando el clima…"
}
},
"changelog": {
"error": {
"fetch-failed": "No se pudieron cargar los datos del registro de cambios. Inténtalo de nuevo más tarde.",
"rate-limit": "Se alcanzó el límite de GitHub. Inténtalo de nuevo en unos minutos."
},
"panel": {
"buttons": {
"discord": "Únete a nuestro Discord",
"dismiss": "Ok"
},
"empty": "Las notas de la versión aún no están disponibles.",
"highlight-title": "Cambios destacados",
"section": {
"released": "Publicado el {date}",
"version": "Versión {version}"
},
"subtitle": {
"fresh": "Gracias por instalar Noctalia. Esto es lo que incluye esta compilación.",
"updated": "Actualizado desde {previousVersion}"
},
"title": "Novedades en {version}",
"version": {
"new-user": "Instalación nueva"
}
}
},
"clock": {
"tooltip": "Abrir calendario"
},
"context-menu": {
"activate-app": "Activar {app}",
"clear-history": "Borrar historial",
"close-app": "Cerrar {app}",
"connect-vpn": "Conectarse a {name}",
"cycle-visualizer": "Visualizador de ciclos",
"disable-bluetooth": "Desactivar Bluetooth",
"disable-dnd": "Desactivar No molestar",
"disable-wifi": "Desactivar Wi-Fi",
"disconnect-vpn": "Desconectar {name}",
"enable-bluetooth": "Activar Bluetooth",
"enable-dnd": "Activar No molestar",
"enable-wifi": "Activar Wi-Fi",
"next": "Siguiente",
"open-calendar": "Abrir calendario",
"open-display-settings": "Configuración de pantalla",
"open-launcher": "Abrir lanzador",
"open-mixer": "Mezclador de audio",
"open-settings": "Abrir ajustes",
"pause": "Pausa",
"play": "Jugar",
"previous": "Anterior",
"random-wallpaper": "Fondo de pantalla aleatorio",
"toggle-mute": "Activar/desactivar silencio",
"widget-settings": "Configuración del widget"
},
"dock": {
"menu": {
"close": "Cerrar",
@@ -384,6 +517,15 @@
"description": "Tus notificaciones aparecerán aquí a medida que lleguen.",
"no-notifications": "No hay notificaciones",
"title": "Notificaciones"
},
"time": {
"now": "ahora",
"diffM": "hace 1 minuto",
"diffMM": "hace {diff} minutos",
"diffH": "hace 1 hora",
"diffHH": "hace {diff} horas",
"diffD": "hace 1 día",
"diffDD": "hace {diff} días"
}
},
"options": {
@@ -515,6 +657,7 @@
},
"workspace-labels": {
"index": "Índice",
"index+name": "Índice y Nombre",
"name": "Nombre",
"none": "Ninguno"
}
@@ -530,6 +673,7 @@
"search": "Buscar...",
"search-icons": "ej., noctalia, niri, battery, cloud",
"search-launcher": "Buscar entradas... o usa > para comandos",
"search-wallhaven": "Buscar en Wallhaven...",
"search-wallpapers": "Escribe para filtrar fondos de pantalla...",
"select": "Seleccionar",
"test": "Probar"
@@ -549,7 +693,11 @@
"clipboard-history-disabled-description": "Activa el historial del portapapeles en la configuración o instala cliphist",
"clipboard-loading": "Cargando historial del portapapeles...",
"clipboard-loading-description": "Por favor espera",
"clipboard-search-description": "Buscar en el historial del portapapeles"
"clipboard-search-description": "Buscar en el historial del portapapeles",
"emoji": "Selector de emojis",
"emoji-loading": "Cargando emojis...",
"emoji-loading-description": "Por favor espera",
"emoji-search-description": "Buscar y copiar emojis"
},
"quickSettings": {
"bluetooth": {
@@ -626,6 +774,7 @@
},
"session-menu": {
"action-in-seconds": "{action} en {seconds} segundos...",
"hibernate": "Hibernación",
"lock": "Bloquear",
"lock-and-suspend": "Bloquear y Suspender",
"logout": "Cerrar sesión",
@@ -670,6 +819,11 @@
"label": "Dispositivos de audio"
}
},
"external-mixer": {
"description": "Ingrese el comando o la ruta de la aplicación para ejecutar al activar la función de mezclador de audio externo.",
"label": "Comando de mezclador de audio externo",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Agrega palabras clave para los reproductores que deseas que el sistema ignore. Cada palabra clave debe estar en una línea nueva.",
@@ -744,6 +898,10 @@
"description": "Ajusta la opacidad del fondo de la barra.",
"label": "Opacidad del fondo"
},
"capsule-opacity": {
"description": "Establecer el nivel de opacidad para los fondos de los widgets cuando se muestra la cápsula.",
"label": "Opacidad de la cápsula"
},
"density": {
"description": "Ajusta el relleno de la barra para un aspecto compacto o espacioso.",
"label": "Densidad de la barra"
@@ -836,6 +994,41 @@
"label": "Modo oscuro"
}
},
"delete": {
"error": {
"description": "Error al eliminar {scheme}",
"title": "Error al eliminar"
},
"success": {
"description": "{scheme} eliminado correctamente",
"title": "Esquema de colores eliminado"
}
},
"download": {
"button": "Descargar más",
"delete": "Eliminar",
"download": "Descargar",
"downloading": "Descargando...",
"empty": "No hay esquemas de colores disponibles",
"error": {
"api-error": "Error de API: {status}",
"description": "Error al descargar {scheme}",
"download-failed": "Error al descargar con código de salida: {code}",
"invalid-response": "Formato de respuesta de API inválido",
"no-files": "No se encontraron archivos para el esquema",
"parse-failed": "Error al analizar la respuesta de la API: {error}",
"rate-limit": "Límite de velocidad de la API de GitHub excedido",
"title": "Error al descargar"
},
"fetching": "Obteniendo esquemas de colores disponibles...",
"installed": "Instalado",
"refresh": "Actualizar",
"success": {
"description": "{scheme} descargado correctamente",
"title": "Esquema de colores descargado"
},
"title": "Descargar esquemas de colores"
},
"predefined": {
"generate-templates": {
"description": "Genera plantillas de Matugen (GTK, temas de terminal, etc.) al usar esquemas de colores predefinidos.",
@@ -858,7 +1051,7 @@
"programs": {
"code": {
"description": "Escribe {filepath}. El tema Hyprluna debe ser instalado y activado manualmente.",
"description-missing": "Requiere que {app} esté instalado/a."
"description-missing": "No se detectó cliente de Code. Instala VSCode o VSCodium."
},
"description": "Tematización específica de aplicaciones.",
"discord": {
@@ -874,6 +1067,18 @@
"description": "Escribir {filepath} y ejecutar pywalfox update",
"description-missing": "Requiere que {app} esté instalado"
},
"spicetify": {
"description": "Escribe {filepath}. El tema Comfy debe ser instalado y activado manualmente.",
"description-missing": "Requiere que {app} esté instalado/a."
},
"telegram": {
"description": "Escribe {filepath}.",
"description-missing": "Requiere que {app} esté instalado/a."
},
"cava": {
"description": "Escribe {filepath}.",
"description-missing": "Requiere que {app} esté instalado/a."
},
"vicinae": {
"description": "Escribir {filepath} y recargar",
"description-missing": "Requiere que {app} esté instalado"
@@ -1070,6 +1275,10 @@
"description": "Ajusta la opacidad del fondo del dock.",
"label": "Opacidad del fondo"
},
"border-radius": {
"description": "Ajustar el radio del borde del dock.",
"label": "Radio de borde"
},
"colorize-icons": {
"description": "Aplicar colores del tema a los iconos de aplicaciones del dock (solo aplicaciones no enfocadas).",
"label": "Colorear iconos"
@@ -1221,6 +1430,10 @@
"description": "Ajusta la opacidad del fondo del lanzador.",
"label": "Opacidad del fondo"
},
"clip-preview": {
"description": "Muestra una vista previa del contenido del portapapeles al usar el comando >clip.",
"label": "Activar vista previa del portapapeles"
},
"clipboard-history": {
"description": "Accede a los elementos copiados anteriormente desde el lanzador.",
"label": "Activar historial del portapapeles"
@@ -1309,6 +1522,10 @@
"description": "Elige tu unidad de temperatura preferida.",
"label": "Clima"
},
"show-effects": {
"description": "Muestra efectos visuales adicionales (como lluvia, nieve o relámpagos) en la tarjeta del clima.",
"label": "Mostrar efectos climáticos"
},
"show-in-calendar": {
"description": "Muestra el pronóstico del tiempo diario directamente en la vista de tu calendario.",
"label": "Mostrar el clima en el calendario"
@@ -1324,6 +1541,10 @@
"description": "Bloquear la pantalla automáticamente al suspender el sistema.",
"label": "Bloquear al suspender"
},
"show-hibernate": {
"description": "Mostrar la opción 'hibernar' en las acciones de energía.",
"label": "Mostrar hibernar"
},
"title": "Pantalla de bloqueo"
},
"network": {
@@ -1352,6 +1573,7 @@
"description": "Cuánto tiempo permanecen visibles las notificaciones de prioridad normal.",
"label": "Urgencia normal"
},
"reset": "Restablecer la duración del tiempo de espera",
"respect-expire": {
"description": "Usa el tiempo de expiración establecido en la notificación.",
"label": "Respetar tiempo de expiración"
@@ -1397,13 +1619,27 @@
"label": "Apariencia"
}
},
"title": "Notificaciones"
"title": "Notificaciones",
"toast": {
"keyboard": {
"description": "Mostrar una notificación cuando cambie la distribución del teclado.",
"label": "Distribución del teclado"
},
"section": {
"description": "Configurar la apariencia y el comportamiento de las notificaciones toast.",
"label": "Tostada"
}
}
},
"osd": {
"always-on-top": {
"description": "Mostrar OSD por encima de ventanas de pantalla completa y otras capas.",
"label": "Siempre encima"
},
"background-opacity": {
"description": "Controls the transparency of the OSD background.",
"label": "Background opacity"
},
"description": "Configura indicadores superpuestos como volumen y brillo.",
"duration": {
"auto-hide": {
@@ -1496,7 +1732,107 @@
}
}
},
"session-menu": {
"countdown-duration": {
"description": "Establecer cuánto tiempo dura el temporizador de cuenta regresiva antes de ejecutar acciones de energía.",
"label": "Duración de la cuenta regresiva"
},
"enable-countdown": {
"description": "Mostrar un temporizador de cuenta regresiva antes de ejecutar acciones de energía.",
"label": "Activar temporizador de cuenta regresiva"
},
"entries": {
"section": {
"description": "Personalizar qué acciones de energía aparecen en el Menú de sesión y en qué orden.",
"label": "Acciones de energía"
}
},
"general": {
"section": {
"description": "Configurar el comportamiento y la apariencia del panel del menú de sesión.",
"label": "General"
}
},
"position": {
"description": "Elige dónde aparece el panel del Menú de sesión cuando se abre.",
"label": "Posición"
},
"show-header": {
"description": "Mostrar el título y el botón de cerrar en la parte superior del Menú de sesión.",
"label": "Mostrar encabezado"
},
"title": "Menú de sesión"
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "Umbral crítico"
},
"cpu-section": {
"label": "Uso de CPU"
},
"cpu-warning-threshold": {
"label": "Umbral de advertencia"
},
"critical-color": {
"label": "Color crítico"
},
"custom-highlight-colors-title": {
"label": "Colores de resaltado personalizados"
},
"disk-critical-threshold": {
"label": "Umbral crítico"
},
"disk-section": {
"label": "Uso de disco"
},
"disk-warning-threshold": {
"label": "Umbral de advertencia"
},
"general": {
"section": {
"description": "Configurar el comportamiento y la apariencia del Monitor del sistema.",
"label": "General"
}
},
"highlight-colors-section": {
"label": "Colores de resaltado"
},
"mem-critical-threshold": {
"label": "Umbral crítico"
},
"mem-warning-threshold": {
"label": "Umbral de advertencia"
},
"memory-section": {
"label": "Uso de memoria"
},
"temp-critical-threshold": {
"label": "Umbral crítico"
},
"temp-warning-threshold": {
"label": "Umbral de advertencia"
},
"temperature-section": {
"label": "Temperatura de la CPU"
},
"thresholds-section": {
"description": "Establece umbrales para métricas del sistema; los valores por encima se resaltarán.",
"label": "Umbrales"
},
"title": "Monitor del sistema",
"use-custom-highlight-colors": {
"description": "Cuando está desactivado, se usan los colores de resaltado predeterminados del tema.",
"label": "Usar colores de resaltado personalizados"
},
"warning-color": {
"label": "Color de advertencia"
}
},
"user-interface": {
"allow-panels-without-bar": {
"description": "Cuando está activado, los paneles se pueden abrir en cualquier pantalla. Cuando está desactivado, los paneles solo se abrirán en las pantallas que tengan una barra, lo que puede reducir el uso de memoria.",
"label": "Permitir paneles en pantallas sin barra."
},
"animation-disable": {
"description": "Desactiva todas las animaciones para una experiencia más rápida y con mayor capacidad de respuesta.",
"label": "Desactivar animaciones de la interfaz de usuario"
@@ -1515,6 +1851,15 @@
"description": "Atenuar el escritorio cuando los paneles o menús estén abiertos.",
"label": "Dim escritorio"
},
"dimmer-opacity": {
"description": "Define el nivel de opacidad para el atenuado del escritorio.",
"label": "Opacidad del escritorio atenuado",
"reset": "Restablecer la opacidad del escritorio atenuado"
},
"panel-background-opacity": {
"description": "Establecer la opacidad de fondo para todos los paneles (Launcher, Centro de control, Configuración, etc.).",
"label": "Opacidad de fondo del panel"
},
"panels-attached-to-bar": {
"description": "Los paneles se fijan a la barra y a los bordes de la pantalla, creando una apariencia impecable con elegantes esquinas invertidas.",
"label": "Ajustar paneles a los bordes"
@@ -1607,6 +1952,10 @@
"label": "Carpeta de fondos de pantalla",
"tooltip": "Buscar carpeta de fondos de pantalla"
},
"hide-wallpaper-filenames": {
"description": "Oculta los nombres de archivo del fondo de pantalla en el selector.",
"label": "Ocultar nombres de archivo"
},
"monitor-specific": {
"description": "Establece una carpeta de fondos de pantalla diferente para cada monitor.",
"label": "Directorios específicos por monitor",
@@ -1622,6 +1971,11 @@
},
"select-folder": "Seleccionar carpeta de fondos de pantalla",
"select-monitor-folder": "Seleccionar carpeta de fondos de pantalla del monitor",
"selector": {
"description": "Elige tu fondo de pantalla.",
"label": "Selector de fondo de pantalla",
"tooltip": "Abrir el selector de fondo de pantalla"
},
"selector-position": {
"description": "Elige dónde aparece el panel selector de fondo de pantalla.",
"label": "Posición"
@@ -1686,19 +2040,6 @@
"low": "Batería baja",
"low-desc": "La batería está al {percent}%. Por favor, conecta el cargador."
},
"battery-manager": {
"initial-setup": "Configuración inicial requerida",
"install-failed": "Error en la instalación",
"install-missing": "Faltan archivos requeridos",
"install-success": "Instalado correctamente",
"install-unsupported": "El sistema no es compatible",
"set-failed": "No se pudo establecer el umbral de batería",
"set-success-desc": "Umbral de batería establecido en {percent}%",
"title": "Umbral de batería",
"uninstall-failed": "Error en la desinstalación",
"uninstall-setup": "Desinstalando, se requiere autenticación",
"uninstall-success": "Desinstalado correctamente"
},
"bluetooth": {
"disabled": "Desactivado",
"enabled": "Activado"
@@ -1724,6 +2065,9 @@
"disabled": "Desactivado",
"enabled": "Activado"
},
"keyboard-layout": {
"changed": "Distribución de teclado cambiada a {layout}"
},
"kofi": {
"opened": "Página de Ko-fi abierta en tu navegador"
},
@@ -1764,6 +2108,10 @@
"title-matugen": "Falló el procesamiento de la plantilla Matugen.",
"title-predefined": "Falló el procesamiento del esquema de color predefinido."
},
"vpn": {
"connected": "Conectado a '{name}'",
"disconnected": "Desconectado de '{name}'"
},
"wallpaper-colors": {
"disabled": "Colores del fondo de pantalla desactivados",
"enabled": "Colores del fondo de pantalla activados",
@@ -1788,15 +2136,16 @@
"close": "Cerrar",
"connect-disconnect-devices": "Clic izquierdo para conectar. Clic derecho para olvidar.",
"delete-notification": "Eliminar notificación",
"disable-keep-awake": "Desactivar mantener despierto",
"disable-keep-awake": "Haz clic para desactivar mantener despierto.\nDesplázate para ajustar el tiempo de espera.",
"do-not-disturb-disabled": "'No molestar' desactivado",
"do-not-disturb-enabled": "'No molestar' activado",
"enable-keep-awake": "Activar mantener despierto",
"enable-keep-awake": "Haz clic para activar mantener despierto.\nDesplázate para ajustar el tiempo de espera.",
"forget-network": "Olvidar red",
"home": "Inicio",
"input-muted": "Silenciar entrada de audio",
"keep-awake": "Mantener despierto",
"keyboard-layout": "Distribución de teclado {layout}",
"manage-vpn": "Administrar conexiones VPN",
"manage-wifi": "Gestionar Wi-Fi",
"microphone-volume-at": "Volumen del micrófono al {volume}%.\nClic izquierdo para ajustes. Clic derecho para activar/desactivar el silencio.\nDesplázate para modificar el volumen.",
"move-to-center-section": "Mover a la sección central",
@@ -1824,6 +2173,7 @@
"previous-month": "Mes anterior",
"refresh": "Actualizar",
"refresh-devices": "Actualizar dispositivos",
"refresh-wallhaven": "Actualizar resultados de Wallhaven",
"refresh-wallpaper-list": "Actualizar lista de fondos de pantalla",
"remove-widget": "Eliminar widget",
"screen-recorder-not-installed": "La grabadora de pantalla no está instalada",
@@ -1853,8 +2203,51 @@
"description": "Aplica el fondo de pantalla seleccionado a todos los monitores a la vez.",
"label": "Aplicar a todos los monitores"
},
"categories": {
"anime": "Anime",
"general": "General",
"label": "Categorías",
"people": "Personas"
},
"order": {
"asc": "Ascendente",
"desc": "Descendente",
"label": "Orden"
},
"purity": {
"all": "Todo",
"label": "Filtro de contenido",
"sfw": "SFW",
"sketchy": "Sketchy"
},
"resolution": {
"atleast": "Al menos",
"exact": "Exacto",
"label": "Resolución",
"mode": {
"label": "Modo"
}
},
"search": "Buscar:",
"title": "Selector de fondo de pantalla"
"sorting": {
"date_added": "Fecha de adición",
"favorites": "Favoritos",
"label": "Ordenar por",
"random": "Aleatorio",
"relevance": "Relevancia",
"toplist": "Lista superior",
"views": "Visualizaciones"
},
"source": {
"label": "Fuente",
"local": "Local",
"wallhaven": "Wallhaven"
},
"title": "Selector de fondo de pantalla",
"wallhaven-settings": {
"apply": "Aplicar",
"title": "Configuración de Wallhaven"
}
},
"transitions": {
"disc": "Disco",
@@ -1864,7 +2257,13 @@
"stripes": "Rayas",
"wipe": "Barrido"
},
"try-different-search": "Intenta con una búsqueda diferente."
"try-different-search": "Intenta con una búsqueda diferente.",
"unknown": "Desconocido",
"wallhaven": {
"loading": "Cargando fondos de pantalla...",
"no-results": "No se encontraron fondos de pantalla. Intenta con una búsqueda diferente.",
"page": "{current} de {total}"
}
},
"weather": {
"clear-sky": "Cielo despejado",
@@ -1881,23 +2280,11 @@
"widgets": {
"color-picker": {
"apply": "Aplicar",
"brightness": "Brillo",
"cancel": "Cancelar",
"hex": {
"description": "Ingresa un código de color hexadecimal.",
"label": "Color hexadecimal"
},
"palette": {
"description": "Elige entre una amplia gama de colores predefinidos.",
"label": "Paleta"
},
"rgb": {
"description": "Ajusta los valores de rojo, verde, azul y brillo.",
"label": "Valores RGB"
},
"theme-colors": {
"description": "Acceso rápido a la paleta de colores de tu tema.",
"label": "Colores del tema"
"label": "Paleta",
"theme-colors": "Acceso rápido a la paleta de colores de tu tema."
},
"title": "Selector de colores"
},
@@ -1973,6 +2360,7 @@
},
"wifi": {
"panel": {
"available-networks": "Redes disponibles",
"connect": "Conectar",
"connected": "Conectado",
"disabled": "Wi-Fi está desactivado",
@@ -1983,6 +2371,7 @@
"forget": "Olvidar",
"forget-network": "¿Olvidar esta red?",
"forgetting": "Olvidando...",
"known-networks": "Redes conocidas",
"no-networks": "No se encontraron redes",
"password": "Contraseña",
"saved": "Guardado",

View File

@@ -97,6 +97,10 @@
"control-center": {
"browse-file": "Parcourir les fichiers",
"browse-library": "Parcourir la bibliothèque",
"colorize-distro-logo": {
"description": "Appliquez les couleurs du thème au logo de votre distribution.",
"label": "Coloriser le logo de la distribution"
},
"icon": {
"description": "Sélectionnez une icône de la bibliothèque ou un fichier personnalisé.",
"label": "Icône"
@@ -125,11 +129,21 @@
},
"left-click": {
"description": "Commande à exécuter quand le bouton est cliqué à gauche.",
"label": "Clic gauche"
"label": "Clic gauche",
"update-text": "Mettre à jour le texte affiché au clic gauche."
},
"max-text-length-horizontal": {
"description": "Nombre maximal de caractères à afficher dans la barre horizontale (0 pour masquer le texte)",
"label": "Longueur max du texte (horizontal)"
},
"max-text-length-vertical": {
"description": "Nombre maximal de caractères à afficher dans la barre verticale (0 pour masquer le texte)",
"label": "Longueur max du texte (vertical)"
},
"middle-click": {
"description": "Commande à exécuter quand le bouton est cliqué au milieu.",
"label": "Clic milieu"
"label": "Clic milieu",
"update-text": "Mettre à jour le texte affiché lors d'un clic molette."
},
"parse-json": {
"description": "Analyser la sortie de la commande en tant qu'objet JSON pour définir dynamiquement le texte et l'icône.",
@@ -141,11 +155,29 @@
},
"right-click": {
"description": "Commande à exécuter quand le bouton est cliqué à droite.",
"label": "Clic droit"
"label": "Clic droit",
"update-text": "Mettre à jour le texte affiché lors d'un clic droit."
},
"text-stream": {
"description": "Les lignes diffusées depuis la commande seront affichées sous forme de texte sur le bouton.",
"label": "Flux"
},
"wheel": {
"description": "Commande à exécuter lorsque la molette est utilisée.\nUtilisez $delta pour le delta de la molette dans la commande",
"label": "Molette",
"update-text": "Mettre à jour le texte affiché au défilement"
},
"wheel-down": {
"description": "Commande à exécuter lorsque la molette est défilée vers le bas.",
"label": "Commande molette bas"
},
"wheel-mode-separate": {
"description": "Activer des commandes séparées pour la molette haut et bas",
"label": "Commandes de molette séparées"
},
"wheel-up": {
"description": "Commande à exécuter lorsque la molette est défilée vers le haut.",
"label": "Commande molette haut"
}
},
"dialog": {
@@ -191,10 +223,18 @@
"description": "Afficher la pochette d'album de la piste en cours de lecture.",
"label": "Afficher la pochette d'album"
},
"show-artist-first": {
"description": "Afficher artiste - titre au lieu de titre - artiste.",
"label": "Afficher l'artiste en premier"
},
"show-visualizer": {
"description": "Afficher un visualiseur audio quand la musique est en cours de lecture.",
"label": "Afficher le visualiseur"
},
"show-progress-ring": {
"description": "Afficher un indicateur de progression circulaire montrant la progression de la piste.",
"label": "Afficher l'anneau de progression"
},
"use-fixed-width": {
"description": "Lorsque activé, le widget utilisera toujours la largeur maximale au lieu de s'ajuster dynamiquement au contenu.",
"label": "Utiliser une Largeur Fixe"
@@ -231,6 +271,9 @@
}
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "CPU Usage (Critical)"
},
"cpu-temperature": {
"description": "Afficher les lectures de température du CPU si disponibles.",
"label": "Température du CPU"
@@ -239,6 +282,25 @@
"description": "Afficher le pourcentage d'utilisation actuel du CPU.",
"label": "Utilisation du CPU"
},
"cpu-warning-threshold": {
"label": "CPU Usage (Warning)"
},
"disk-critical-threshold": {
"label": "Storage Space (Critical)"
},
"disk-path": {
"description": "Sélectionnez le point de montage du disque à surveiller.",
"label": "Chemin du disque"
},
"disk-warning-threshold": {
"label": "Storage Space (Warning)"
},
"mem-critical-threshold": {
"label": "Memory Usage (Critical)"
},
"mem-warning-threshold": {
"label": "Memory Usage (Warning)"
},
"memory-percentage": {
"description": "Afficher l'utilisation de la mémoire en pourcentage au lieu de valeurs absolues.",
"label": "Mémoire en pourcentage"
@@ -254,6 +316,16 @@
"storage-usage": {
"description": "Afficher les informations d'utilisation de l'espace disque.",
"label": "Utilisation du stockage"
},
"temp-critical-threshold": {
"label": "CPU Temperature (Critical)"
},
"temp-warning-threshold": {
"label": "CPU Temperature (Warning)"
},
"thresholds": {
"description": "Configurez les seuils des indicateurs visuels. Les indicateurs d'avertissement/critique apparaissent en couleurs mises en surbrillance lorsque les valeurs dépassent ces limites.",
"header": "Seuils"
}
},
"taskbar": {
@@ -274,6 +346,12 @@
"label": "Seulement à partir de la même sortie"
}
},
"taskbar-grouped": {
"show-labels-only-when-occupied": {
"description": "Afficher uniquement l'étiquette de l'espace de travail pour les espaces de travail qui ont des fenêtres ouvertes.",
"label": "Afficher l'étiquette uniquement lorsque c'est occupé."
}
},
"tray": {
"colorize-icons": {
"description": "Appliquer les couleurs du thème aux icônes de la barre système.",
@@ -299,6 +377,10 @@
"description": "Ne pas afficher les espaces de travail sans fenêtres.",
"label": "Masquer les inoccupés"
},
"follow-focused-screen": {
"description": "Afficher les espaces de travail de l'écran actuellement ciblé, plutôt que de l'écran où se trouve la barre.",
"label": "Suivre l'Écran Ciblé"
},
"label-mode": {
"description": "Choisir comment les étiquettes d'espace de travail sont affichées.",
"label": "Mode d'étiquette"
@@ -307,21 +389,20 @@
}
},
"battery": {
"brightness": "Luminosité",
"charge-level": "Niveau de charge",
"charging": "En charge.",
"charging-rate": "Taux de charge : {rate} W.",
"discharging": "En décharge.",
"discharging-rate": "Taux de décharge : {rate} W.",
"health": "État : {percent}%",
"idle": "Inactif.",
"inhibit-idle-description": "Maintient le système éveillé.",
"inhibit-idle-label": "Garder éveillé",
"no-battery-detected": "Aucune batterie détectée.",
"panel": {
"balanced": "Équilibré ({percent}%)",
"disabled": "Gestionnaire de batterie désactivé",
"full": "Capacité totale ({percent}%)",
"lifespan": "Durée de vie prolongée ({percent}%)",
"title": "Seuil de charge"
},
"panel-title": "Batterie",
"plugged-in": "Branché.",
"power-profile": "Profil dalimentation",
"time-left": "Temps restant : {time}.",
"time-until-full": "Temps jusqu'à charge complète : {time}."
},
@@ -349,9 +430,61 @@
"loading": "Chargement de la météo…"
}
},
"changelog": {
"error": {
"fetch-failed": "Impossible de charger les données du journal des modifications. Veuillez réessayer plus tard.",
"rate-limit": "Limite de GitHub atteinte. Réessayez dans quelques minutes."
},
"panel": {
"buttons": {
"discord": "Rejoindre notre Discord",
"dismiss": "Ok"
},
"empty": "Les notes de version ne sont pas encore disponibles.",
"highlight-title": "Points importants",
"section": {
"released": "Publié le {date}",
"version": "Version {version}"
},
"subtitle": {
"fresh": "Merci davoir installé Noctalia ! Voici ce que contient cette version.",
"updated": "Mise à jour depuis {previousVersion}"
},
"title": "Quoi de neuf dans {version}",
"version": {
"new-user": "Nouvelle installation"
}
}
},
"clock": {
"tooltip": "Ouvrir le calendrier"
},
"context-menu": {
"activate-app": "Activer {app}",
"clear-history": "Effacer l'historique",
"close-app": "Fermer {app}",
"connect-vpn": "Se connecter à {name}",
"cycle-visualizer": "Visualiseur de cycle",
"disable-bluetooth": "Désactiver le Bluetooth",
"disable-dnd": "Désactiver le mode Ne pas déranger",
"disable-wifi": "Désactiver le Wi-Fi",
"disconnect-vpn": "Se déconnecter de {name}",
"enable-bluetooth": "Activer le Bluetooth",
"enable-dnd": "Activer le mode Ne pas déranger",
"enable-wifi": "Activer le Wi-Fi",
"next": "Suivant",
"open-calendar": "Ouvrir le calendrier",
"open-display-settings": "Paramètres d'affichage",
"open-launcher": "Ouvrir le lanceur",
"open-mixer": "Table de mixage audio",
"open-settings": "Ouvrir les paramètres",
"pause": "Pause",
"play": "Jouer",
"previous": "Précédent",
"random-wallpaper": "Fond d'écran aléatoire",
"toggle-mute": "Activer/désactiver le mode muet",
"widget-settings": "Paramètres du widget"
},
"dock": {
"menu": {
"close": "Fermer",
@@ -384,6 +517,15 @@
"description": "Vos notifications apparaîtront ici à mesure qu'elles arriveront.",
"no-notifications": "Aucune notification",
"title": "Notifications"
},
"time": {
"now": "maintenant",
"diffM": "il y a 1 minute",
"diffMM": "il y a {diff} minutes",
"diffH": "il y a 1 heure",
"diffHH": "il y a {diff} heures",
"diffD": "il y a 1 jour",
"diffDD": "il y a {diff} jours"
}
},
"options": {
@@ -515,6 +657,7 @@
},
"workspace-labels": {
"index": "Index",
"index+name": "Index et Nom",
"name": "Nom",
"none": "Aucun"
}
@@ -530,6 +673,7 @@
"search": "Rechercher...",
"search-icons": "ex: noctalia, niri, batterie, nuage",
"search-launcher": "Rechercher des entrées... ou utilisez > pour les commandes",
"search-wallhaven": "Rechercher sur Wallhaven...",
"search-wallpapers": "Tapez pour filtrer les fonds d'écran...",
"select": "Sélectionner",
"test": "Tester"
@@ -549,7 +693,11 @@
"clipboard-history-disabled-description": "Activez l'historique du presse-papiers dans les paramètres ou installez cliphist",
"clipboard-loading": "Chargement de l'historique du presse-papiers...",
"clipboard-loading-description": "Veuillez patienter",
"clipboard-search-description": "Rechercher dans l'historique du presse-papiers"
"clipboard-search-description": "Rechercher dans l'historique du presse-papiers",
"emoji": "Sélecteur d'émojis",
"emoji-loading": "Chargement des émojis...",
"emoji-loading-description": "Veuillez patienter",
"emoji-search-description": "Rechercher et copier des émojis"
},
"quickSettings": {
"bluetooth": {
@@ -626,6 +774,7 @@
},
"session-menu": {
"action-in-seconds": "{action} dans {seconds} secondes...",
"hibernate": "Mise en veille prolongée",
"lock": "Verrouiller",
"lock-and-suspend": "Verrouiller et Mettre en veille",
"logout": "Déconnexion",
@@ -670,6 +819,11 @@
"label": "Périphériques audio"
}
},
"external-mixer": {
"description": "Entrez la commande ou le chemin d'accès de l'application à lancer lors de l'activation de la fonctionnalité de mixeur audio externe.",
"label": "Commande de mixeur audio externe",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Ajoutez des mots-clés pour les lecteurs que le système doit ignorer. Chaque mot-clé doit être sur une nouvelle ligne.",
@@ -744,6 +898,10 @@
"description": "Ajustez l'opacité de l'arrière-plan de la barre.",
"label": "Opacité de l'arrière-plan"
},
"capsule-opacity": {
"description": "Définir le niveau d'opacité des arrière-plans des widgets quand la capsule est affichée.",
"label": "Opacité de la capsule"
},
"density": {
"description": "Ajustez le remplissage de la barre pour un aspect compact ou spacieux.",
"label": "Densité de la barre"
@@ -836,6 +994,41 @@
"label": "Mode sombre"
}
},
"delete": {
"error": {
"description": "Échec de la suppression de {scheme}",
"title": "Échec de la suppression"
},
"success": {
"description": "{scheme} supprimé avec succès",
"title": "Jeu de couleurs supprimé"
}
},
"download": {
"button": "Télécharger plus",
"delete": "Supprimer",
"download": "Télécharger",
"downloading": "Téléchargement...",
"empty": "Aucun jeu de couleurs disponible",
"error": {
"api-error": "Erreur API: {status}",
"description": "Échec du téléchargement de {scheme}",
"download-failed": "Échec du téléchargement avec le code de sortie: {code}",
"invalid-response": "Format de réponse API invalide",
"no-files": "Aucun fichier trouvé pour le jeu de couleurs",
"parse-failed": "Échec de l'analyse de la réponse API: {error}",
"rate-limit": "Limite de débit de l'API GitHub dépassée",
"title": "Échec du téléchargement"
},
"fetching": "Récupération des jeux de couleurs disponibles...",
"installed": "Installé",
"refresh": "Actualiser",
"success": {
"description": "{scheme} téléchargé avec succès",
"title": "Jeu de couleurs téléchargé"
},
"title": "Télécharger des jeux de couleurs"
},
"predefined": {
"generate-templates": {
"description": "Génère des modèles Matugen (GTK, thèmes de terminal, etc.) lors de l'utilisation de schémas de couleurs prédéfinis.",
@@ -858,7 +1051,7 @@
"programs": {
"code": {
"description": "Écrire {filepath}. Le thème Hyprluna doit être installé et activé manuellement.",
"description-missing": "Nécessite l'installation de {app}"
"description-missing": "Aucun client Code détecté. Installez VSCode ou VSCodium."
},
"description": "Thématisation spécifique aux applications.",
"discord": {
@@ -874,6 +1067,18 @@
"description": "Écrire ~/.cache/wal/colors.json et exécuter pywalfox update",
"description-missing": "Nécessite que le paquet pywalfox soit installé"
},
"spicetify": {
"description": "Écrire {filepath}. Le thème Comfy doit être installé et activé manuellement.",
"description-missing": "Nécessite l'installation de {app}"
},
"telegram": {
"description": "Écrire {filepath}.",
"description-missing": "Nécessite l'installation de {app}"
},
"cava": {
"description": "Écrire {filepath}.",
"description-missing": "Nécessite l'installation de {app}"
},
"vicinae": {
"description": "Écrire {filepath} et recharger",
"description-missing": "Nécessite que le lanceur {app} soit installé"
@@ -1070,6 +1275,10 @@
"description": "Ajustez l'opacité de l'arrière-plan du dock.",
"label": "Opacité de l'arrière-plan"
},
"border-radius": {
"description": "Ajuster le rayon de bordure du dock.",
"label": "Rayon de bordure"
},
"colorize-icons": {
"description": "Appliquer les couleurs du thème aux icônes d'applications du dock (applications non focalisées uniquement).",
"label": "Coloriser les icônes"
@@ -1221,6 +1430,10 @@
"description": "Ajustez l'opacité de l'arrière-plan du lanceur.",
"label": "Opacité de l'arrière-plan"
},
"clip-preview": {
"description": "Afficher un aperçu du contenu du presse-papiers lors de l'utilisation de la commande >clip.",
"label": "Activer l'aperçu du presse-papiers"
},
"clipboard-history": {
"description": "Accédez aux éléments précédemment copiés depuis le lanceur.",
"label": "Activer l'historique du presse-papiers"
@@ -1309,6 +1522,10 @@
"description": "Choisissez votre unité de température préférée.",
"label": "Météo"
},
"show-effects": {
"description": "Affiche des effets visuels supplémentaires (comme la pluie, la neige ou la foudre) sur la carte météo.",
"label": "Afficher les effets météorologiques"
},
"show-in-calendar": {
"description": "Afficher les prévisions météo quotidiennes directement dans votre vue calendrier.",
"label": "Afficher la météo dans le calendrier"
@@ -1324,6 +1541,10 @@
"description": "Verrouiller automatiquement l'écran lors de la mise en veille du système.",
"label": "Verrouiller à la suspension"
},
"show-hibernate": {
"description": "Afficher loption 'hiberner' dans les actions dénergie.",
"label": "Afficher lhibernation"
},
"title": "Écran de verrouillage"
},
"network": {
@@ -1352,6 +1573,7 @@
"description": "Durée de visibilité des notifications de priorité normale.",
"label": "Urgence normale"
},
"reset": "Réinitialiser la durée du délai d'attente",
"respect-expire": {
"description": "Utiliser le délai d'expiration défini dans la notification.",
"label": "Respecter le délai d'expiration"
@@ -1397,13 +1619,27 @@
"label": "Apparence"
}
},
"title": "Notifications"
"title": "Notifications",
"toast": {
"keyboard": {
"description": "Afficher une notification lorsque la disposition du clavier change.",
"label": "Disposition du clavier"
},
"section": {
"description": "Configurer l'apparence et le comportement des notifications toast.",
"label": "Pain grillé"
}
}
},
"osd": {
"always-on-top": {
"description": "Afficher l'OSD au-dessus des fenêtres plein écran et autres couches.",
"label": "Toujours au premier plan"
},
"background-opacity": {
"description": "Contrôle la transparence de l'arrière-plan de l'OSD.",
"label": "Opacité de l'arrière-plan"
},
"description": "Configurer les indicateurs à l'écran tels que le volume et la luminosité.",
"duration": {
"auto-hide": {
@@ -1496,7 +1732,107 @@
}
}
},
"session-menu": {
"countdown-duration": {
"description": "Définir la durée du compte à rebours avant d'exécuter les actions d'alimentation.",
"label": "Durée du compte à rebours"
},
"enable-countdown": {
"description": "Afficher un compte à rebours avant d'exécuter les actions d'alimentation.",
"label": "Activer le compte à rebours"
},
"entries": {
"section": {
"description": "Personnaliser les actions d'alimentation qui apparaissent dans le Menu de session et leur ordre.",
"label": "Actions d'alimentation"
}
},
"general": {
"section": {
"description": "Configurer le comportement et l'apparence du panneau du menu de session.",
"label": "Général"
}
},
"position": {
"description": "Choisissez où le panneau du Menu de session apparaît lorsqu'il est ouvert.",
"label": "Position"
},
"show-header": {
"description": "Afficher le titre et le bouton de fermeture en haut du Menu de session.",
"label": "Afficher l'en-tête"
},
"title": "Menu de session"
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "Seuil critique"
},
"cpu-section": {
"label": "Utilisation CPU"
},
"cpu-warning-threshold": {
"label": "Seuil d'avertissement"
},
"critical-color": {
"label": "Couleur critique"
},
"custom-highlight-colors-title": {
"label": "Couleurs de surbrillance personnalisées"
},
"disk-critical-threshold": {
"label": "Seuil critique"
},
"disk-section": {
"label": "Utilisation disque"
},
"disk-warning-threshold": {
"label": "Seuil d'avertissement"
},
"general": {
"section": {
"description": "Configurer le comportement et l'apparence du Moniteur Système.",
"label": "Général"
}
},
"highlight-colors-section": {
"label": "Couleurs de surlignage"
},
"mem-critical-threshold": {
"label": "Seuil critique"
},
"mem-warning-threshold": {
"label": "Seuil d'avertissement"
},
"memory-section": {
"label": "Utilisation mémoire"
},
"temp-critical-threshold": {
"label": "Seuil critique"
},
"temp-warning-threshold": {
"label": "Seuil d'avertissement"
},
"temperature-section": {
"label": "Température CPU"
},
"thresholds-section": {
"description": "Définir des seuils pour les métriques système ; les valeurs supérieures à ces seuils seront mises en évidence.",
"label": "Seuils"
},
"title": "Moniteur système",
"use-custom-highlight-colors": {
"description": "Lorsque cette option est désactivée, les couleurs de surbrillance par défaut du thème sont utilisées.",
"label": "Utiliser des couleurs de surlignage personnalisées."
},
"warning-color": {
"label": "Couleur d'avertissement"
}
},
"user-interface": {
"allow-panels-without-bar": {
"description": "Quand cette option est activée, les panneaux peuvent s'ouvrir sur n'importe quel écran. Quand elle est désactivée, les panneaux s'ouvriront uniquement sur les écrans qui ont une barre, ce qui peut réduire l'utilisation de la mémoire.",
"label": "Autoriser les panneaux sur les écrans sans barre."
},
"animation-disable": {
"description": "Désactiver toutes les animations pour une expérience plus rapide et plus réactive.",
"label": "Désactiver les animations de l'interface utilisateur"
@@ -1515,6 +1851,15 @@
"description": "Atténuer le bureau lorsque des panneaux ou des menus sont ouverts.",
"label": "Dim bureau"
},
"dimmer-opacity": {
"description": "Définir le niveau d'opacité pour l'assombrissement du bureau.",
"label": "Opacité du bureau atténué",
"reset": "Réinitialiser l'opacité du bureau atténué"
},
"panel-background-opacity": {
"description": "Définir l'opacité de fond pour tous les panneaux (Lanceur, Centre de contrôle, Paramètres, etc.).",
"label": "Opacité de fond des panneaux"
},
"panels-attached-to-bar": {
"description": "Les panneaux se verrouillent sur la barre et les bords de l'écran, créant un aspect homogène avec d'élégants coins inversés.",
"label": "Aligner les panneaux aux bords"
@@ -1607,6 +1952,10 @@
"label": "Dossier des fonds d'écran",
"tooltip": "Parcourir le dossier des fonds d'écran"
},
"hide-wallpaper-filenames": {
"description": "Masquer les noms de fichiers des fonds d'écran dans le sélecteur.",
"label": "Masquer les noms de fichiers"
},
"monitor-specific": {
"description": "Définissez un dossier de fond d'écran différent pour chaque moniteur.",
"label": "Dossiers spécifiques au moniteur",
@@ -1622,6 +1971,11 @@
},
"select-folder": "Sélectionner le dossier des fonds d'écran",
"select-monitor-folder": "Sélectionner le dossier des fonds d'écran du moniteur",
"selector": {
"description": "Choisissez votre fond décran.",
"label": "Sélecteur de fond décran",
"tooltip": "Ouvrir le sélecteur de fond décran"
},
"selector-position": {
"description": "Choisissez l'emplacement d'affichage du panneau de sélection du fond d'écran.",
"label": "Position"
@@ -1686,19 +2040,6 @@
"low": "Batterie faible",
"low-desc": "La batterie est à {percent}%. Veuillez brancher le chargeur."
},
"battery-manager": {
"initial-setup": "Configuration initiale requise",
"install-failed": "Échec de l'installation",
"install-missing": "Fichiers requis manquants",
"install-success": "Installation réussie",
"install-unsupported": "Système non pris en charge",
"set-failed": "Échec de la définition du seuil de batterie",
"set-success-desc": "Seuil de batterie défini à {percent}%",
"title": "Seuil de batterie",
"uninstall-failed": "Échec de la désinstallation",
"uninstall-setup": "Désinstallation, authentification requise",
"uninstall-success": "Désinstallation réussie"
},
"bluetooth": {
"disabled": "Désactivé",
"enabled": "Activé"
@@ -1724,6 +2065,9 @@
"disabled": "Désactivé",
"enabled": "Activé"
},
"keyboard-layout": {
"changed": "Disposition du clavier changée vers {layout}"
},
"kofi": {
"opened": "Page Ko-fi ouverte dans votre navigateur"
},
@@ -1764,6 +2108,10 @@
"title-matugen": "Le traitement du modèle Matugen a échoué.",
"title-predefined": "Le traitement du schéma de couleurs prédéfini a échoué."
},
"vpn": {
"connected": "Connecté à '{name}'",
"disconnected": "Déconnecté de '{name}'"
},
"wallpaper-colors": {
"disabled": "Couleurs du fond d'écran désactivées",
"enabled": "Couleurs du fond d'écran activées",
@@ -1788,15 +2136,16 @@
"close": "Fermer",
"connect-disconnect-devices": "Clic gauche pour connecter. Clic droit pour oublier.",
"delete-notification": "Supprimer la notification",
"disable-keep-awake": "Désactiver le mode 'rester éveillé'",
"disable-keep-awake": "Cliquez pour désactiver le mode 'rester éveillé'.\nFaites défiler pour ajuster le délai.",
"do-not-disturb-disabled": "'Ne pas déranger' désactivé",
"do-not-disturb-enabled": "'Ne pas déranger' activé",
"enable-keep-awake": "Activer le mode 'rester éveillé'",
"enable-keep-awake": "Cliquez pour activer le mode 'rester éveillé'.\nFaites défiler pour ajuster le délai.",
"forget-network": "Oublier le réseau",
"home": "Accueil",
"input-muted": "Couper l'entrée audio",
"keep-awake": "Rester éveillé",
"keyboard-layout": "Disposition du clavier {layout}",
"manage-vpn": "Gérer les connexions VPN",
"manage-wifi": "Gérer le Wi-Fi",
"microphone-volume-at": "Volume du microphone à {volume}%.\nClic gauche pour les paramètres. Clic droit pour activer/désactiver le mode muet.\nFaites défiler pour modifier le volume.",
"move-to-center-section": "Déplacer vers la section centrale",
@@ -1824,6 +2173,7 @@
"previous-month": "Mois précédent",
"refresh": "Actualiser",
"refresh-devices": "Actualiser les appareils",
"refresh-wallhaven": "Actualiser les résultats de Wallhaven",
"refresh-wallpaper-list": "Actualiser la liste des fonds d'écran",
"remove-widget": "Supprimer le widget",
"screen-recorder-not-installed": "L'enregistreur d'écran n'est pas installé",
@@ -1853,8 +2203,51 @@
"description": "Appliquer le fond d'écran sélectionné à tous les moniteurs en même temps.",
"label": "Appliquer à tous les moniteurs"
},
"categories": {
"anime": "Anime",
"general": "Général",
"label": "Catégories",
"people": "Personnes"
},
"order": {
"asc": "Croissant",
"desc": "Décroissant",
"label": "Ordre"
},
"purity": {
"all": "Tout",
"label": "Filtre de contenu",
"sfw": "SFW",
"sketchy": "Sketchy"
},
"resolution": {
"atleast": "Au moins",
"exact": "Exact",
"label": "Résolution",
"mode": {
"label": "Mode"
}
},
"search": "Rechercher :",
"title": "Sélecteur de fond d'écran"
"sorting": {
"date_added": "Date d'ajout",
"favorites": "Favoris",
"label": "Trier par",
"random": "Aléatoire",
"relevance": "Pertinence",
"toplist": "Top liste",
"views": "Vues"
},
"source": {
"label": "Source",
"local": "Local",
"wallhaven": "Wallhaven"
},
"title": "Sélecteur de fond d'écran",
"wallhaven-settings": {
"apply": "Appliquer",
"title": "Paramètres Wallhaven"
}
},
"transitions": {
"disc": "Disque",
@@ -1864,7 +2257,13 @@
"stripes": "Rayures",
"wipe": "Balayage"
},
"try-different-search": "Essayez une autre requête de recherche."
"try-different-search": "Essayez une autre requête de recherche.",
"unknown": "Inconnu(e)",
"wallhaven": {
"loading": "Chargement des fonds d'écran...",
"no-results": "Aucun fond d'écran trouvé. Essayez une autre requête de recherche.",
"page": "{current} sur {total}"
}
},
"weather": {
"clear-sky": "Ciel dégagé",
@@ -1881,23 +2280,11 @@
"widgets": {
"color-picker": {
"apply": "Appliquer",
"brightness": "Luminosité",
"cancel": "Annuler",
"hex": {
"description": "Entrez un code couleur hexadécimal.",
"label": "Couleur hexadécimale"
},
"palette": {
"description": "Choisissez parmi une large gamme de couleurs prédéfinies.",
"label": "Palette"
},
"rgb": {
"description": "Ajustez les valeurs de rouge, vert, bleu et de luminosité.",
"label": "Valeurs RVB"
},
"theme-colors": {
"description": "Accès rapide à la palette de couleurs de votre thème.",
"label": "Couleurs du thème"
"label": "Palette",
"theme-colors": "Accès rapide à la palette de couleurs de votre thème."
},
"title": "Sélecteur de couleurs"
},
@@ -1973,6 +2360,7 @@
},
"wifi": {
"panel": {
"available-networks": "Réseaux disponibles",
"connect": "Connecter",
"connected": "Connecté",
"disabled": "Le Wi-Fi est désactivé",
@@ -1983,6 +2371,7 @@
"forget": "Oublier",
"forget-network": "Oublier ce réseau ?",
"forgetting": "Oubli en cours...",
"known-networks": "Réseaux connus",
"no-networks": "Aucun réseau trouvé",
"password": "Mot de passe",
"saved": "Enregistré",

2383
Assets/Translations/nl.json Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -97,6 +97,10 @@
"control-center": {
"browse-file": "Navegar por Arquivo",
"browse-library": "Navegar na Biblioteca",
"colorize-distro-logo": {
"description": "Aplicar as cores do tema ao logotipo da sua distribuição.",
"label": "Colorir logo da distribuição"
},
"icon": {
"description": "Selecione um ícone da biblioteca ou um arquivo personalizado.",
"label": "Ícone"
@@ -125,11 +129,21 @@
},
"left-click": {
"description": "Comando a executar quando o botão é clicado com o botão esquerdo.",
"label": "Clique esquerdo"
"label": "Clique esquerdo",
"update-text": "Atualizar texto exibido ao clicar com o botão esquerdo"
},
"max-text-length-horizontal": {
"description": "Número máximo de caracteres a serem exibidos na barra horizontal (0 para ocultar o texto)",
"label": "Comprimento máximo do texto (horizontal)"
},
"max-text-length-vertical": {
"description": "Número máximo de caracteres a serem exibidos na barra vertical (0 para ocultar o texto)",
"label": "Comprimento máximo do texto (vertical)"
},
"middle-click": {
"description": "Comando a executar quando o botão é clicado com o botão do meio.",
"label": "Clique do meio"
"label": "Clique do meio",
"update-text": "Atualizar texto exibido com clique do meio"
},
"parse-json": {
"description": "Analisa a saída do comando como um objeto JSON para definir dinamicamente o texto e o ícone.",
@@ -141,11 +155,29 @@
},
"right-click": {
"description": "Comando a executar quando o botão é clicado com o botão direito.",
"label": "Clique direito"
"label": "Clique direito",
"update-text": "Atualizar o texto exibido ao clicar com o botão direito."
},
"text-stream": {
"description": "As linhas transmitidas do comando serão exibidas como texto no botão.",
"label": "Transmissão"
},
"wheel": {
"description": "Comando a executar quando a roda de rolagem é usada.\nUse $delta para o delta da roda de rolagem no comando",
"label": "Roda de rolagem",
"update-text": "Atualizar texto exibido ao rolar"
},
"wheel-down": {
"description": "Comando a executar quando a roda de rolagem é rolada para baixo.",
"label": "Comando de roda para baixo"
},
"wheel-mode-separate": {
"description": "Ativar comandos separados para roda para cima e para baixo",
"label": "Comandos de roda separados"
},
"wheel-up": {
"description": "Comando a executar quando a roda de rolagem é rolada para cima.",
"label": "Comando de roda para cima"
}
},
"dialog": {
@@ -191,10 +223,18 @@
"description": "Exibir a arte do álbum da faixa atualmente sendo reproduzida.",
"label": "Mostrar arte do álbum"
},
"show-artist-first": {
"description": "Exibir artista - título em vez de título - artista.",
"label": "Mostrar o artista primeiro"
},
"show-visualizer": {
"description": "Exibir um visualizador de áudio quando música está sendo reproduzida.",
"label": "Mostrar visualizador"
},
"show-progress-ring": {
"description": "Exibir um indicador de progresso circular mostrando o progresso da faixa.",
"label": "Mostrar anel de progresso"
},
"use-fixed-width": {
"description": "Quando ativado, o widget sempre usará a largura máxima em vez de ajustar dinamicamente ao conteúdo.",
"label": "Usar Largura Fixa"
@@ -231,6 +271,9 @@
}
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "CPU Usage (Critical)"
},
"cpu-temperature": {
"description": "Mostrar leituras de temperatura da CPU se disponíveis.",
"label": "Temperatura da CPU"
@@ -239,6 +282,25 @@
"description": "Exibir o percentual atual de uso da CPU.",
"label": "Uso da CPU"
},
"cpu-warning-threshold": {
"label": "CPU Usage (Warning)"
},
"disk-critical-threshold": {
"label": "Storage Space (Critical)"
},
"disk-path": {
"description": "Selecione qual ponto de montagem de disco monitorar.",
"label": "Caminho do disco"
},
"disk-warning-threshold": {
"label": "Storage Space (Warning)"
},
"mem-critical-threshold": {
"label": "Memory Usage (Critical)"
},
"mem-warning-threshold": {
"label": "Memory Usage (Warning)"
},
"memory-percentage": {
"description": "Mostrar o uso de memória como percentual em vez de valores absolutos.",
"label": "Memória como percentual"
@@ -254,6 +316,16 @@
"storage-usage": {
"description": "Mostrar informações de uso do espaço em disco.",
"label": "Uso de armazenamento"
},
"temp-critical-threshold": {
"label": "CPU Temperature (Critical)"
},
"temp-warning-threshold": {
"label": "CPU Temperature (Warning)"
},
"thresholds": {
"description": "Estabelece limites para alertas de métricas do sistema. Destaca quando superados.",
"header": "Configuração de Limiares"
}
},
"taskbar": {
@@ -274,6 +346,12 @@
"label": "Apenas da mesma saída"
}
},
"taskbar-grouped": {
"show-labels-only-when-occupied": {
"description": "Mostrar apenas o rótulo da área de trabalho para áreas de trabalho que têm janelas abertas.",
"label": "Mostrar rótulo somente quando ocupado."
}
},
"tray": {
"colorize-icons": {
"description": "Aplicar cores do tema aos ícones da bandeja do sistema.",
@@ -299,6 +377,10 @@
"description": "Não exibir áreas de trabalho sem janelas.",
"label": "Ocultar desocupados"
},
"follow-focused-screen": {
"description": "Exibir áreas de trabalho da tela atualmente em foco, em vez da tela onde a barra está localizada.",
"label": "Seguir Tela em Foco"
},
"label-mode": {
"description": "Escolher como os rótulos de espaço de trabalho são exibidos.",
"label": "Modo de rótulo"
@@ -307,21 +389,20 @@
}
},
"battery": {
"brightness": "Brilho",
"charge-level": "Nível de carga",
"charging": "Carregando.",
"charging-rate": "Taxa de carregamento: {rate} W.",
"discharging": "Descarregando.",
"discharging-rate": "Taxa de descarregamento: {rate} W.",
"health": "Saúde: {percent}%",
"idle": "Ocioso.",
"inhibit-idle-description": "Mantém o sistema acordado.",
"inhibit-idle-label": "Manter acordado",
"no-battery-detected": "Nenhuma bateria detectada.",
"panel": {
"balanced": "Balanceado ({percent}%)",
"disabled": "Gerenciador de bateria desativado",
"full": "Capacidade máxima ({percent}%)",
"lifespan": "Vida útil prolongada ({percent}%)",
"title": "Limite de carga"
},
"panel-title": "Bateria",
"plugged-in": "Conectado.",
"power-profile": "Perfil de energia",
"time-left": "Tempo restante: {time}.",
"time-until-full": "Tempo até carga completa: {time}."
},
@@ -349,9 +430,61 @@
"loading": "Carregando o clima…"
}
},
"changelog": {
"error": {
"fetch-failed": "Não foi possível carregar os dados do changelog. Tente novamente mais tarde.",
"rate-limit": "Limite do GitHub atingido. Tente novamente em alguns minutos."
},
"panel": {
"buttons": {
"discord": "Entre no nosso Discord",
"dismiss": "Ok"
},
"empty": "As notas da versão ainda não estão disponíveis.",
"highlight-title": "Destaques",
"section": {
"released": "Lançado em {date}",
"version": "Versão {version}"
},
"subtitle": {
"fresh": "Obrigado por instalar o Noctalia! Veja o que está incluído nesta compilação.",
"updated": "Atualizado a partir da {previousVersion}"
},
"title": "Novidades na {version}",
"version": {
"new-user": "Nova instalação"
}
}
},
"clock": {
"tooltip": "Abrir calendário"
},
"context-menu": {
"activate-app": "Ativar {app}",
"clear-history": "Limpar histórico",
"close-app": "Fechar {app}",
"connect-vpn": "Conectar-se a {name}",
"cycle-visualizer": "Visualizador de ciclo",
"disable-bluetooth": "Desativar Bluetooth",
"disable-dnd": "Desativar o Não Perturbe",
"disable-wifi": "Desativar Wi-Fi",
"disconnect-vpn": "Desconectar {name}",
"enable-bluetooth": "Ativar Bluetooth",
"enable-dnd": "Ativar Não Perturbe",
"enable-wifi": "Ativar Wi-Fi",
"next": "Próximo(a)",
"open-calendar": "Abrir calendário",
"open-display-settings": "Configurações de exibição",
"open-launcher": "Abrir iniciador",
"open-mixer": "Mesa de som",
"open-settings": "Abrir configurações",
"pause": "Pausa",
"play": "Jogar",
"previous": "Anterior",
"random-wallpaper": "Papel de parede aleatório",
"toggle-mute": "Alternar mudo",
"widget-settings": "Configurações do widget"
},
"dock": {
"menu": {
"close": "Fechar",
@@ -384,6 +517,15 @@
"description": "Suas notificações aparecerão aqui assim que chegarem.",
"no-notifications": "Nenhuma notificação",
"title": "Notificações"
},
"time": {
"now": "agora",
"diffM": "há 1 minuto",
"diffMM": "há {diff} minutos",
"diffH": "há 1 hora",
"diffHH": "há {diff} horas",
"diffD": "há 1 dia",
"diffDD": "há {diff} dias"
}
},
"options": {
@@ -515,6 +657,7 @@
},
"workspace-labels": {
"index": "Índice",
"index+name": "Índice e Nome",
"name": "Nome",
"none": "Nenhum"
}
@@ -530,6 +673,7 @@
"search": "Pesquisar...",
"search-icons": "ex., noctalia, niri, battery, cloud",
"search-launcher": "Pesquisar entradas... ou use > para comandos",
"search-wallhaven": "Pesquisar no Wallhaven...",
"search-wallpapers": "Digite para filtrar papéis de parede...",
"select": "Selecionar",
"test": "Testar"
@@ -549,7 +693,11 @@
"clipboard-history-disabled-description": "Ative o histórico da área de transferência nas configurações ou instale o cliphist",
"clipboard-loading": "Carregando histórico da área de transferência...",
"clipboard-loading-description": "Por favor, aguarde",
"clipboard-search-description": "Pesquisar no histórico da área de transferência"
"clipboard-search-description": "Pesquisar no histórico da área de transferência",
"emoji": "Seletor de emojis",
"emoji-loading": "Carregando emojis...",
"emoji-loading-description": "Por favor, aguarde",
"emoji-search-description": "Buscar e copiar emojis"
},
"quickSettings": {
"bluetooth": {
@@ -626,6 +774,7 @@
},
"session-menu": {
"action-in-seconds": "{action} em {seconds} segundos...",
"hibernate": "Hibernação",
"lock": "Bloquear",
"lock-and-suspend": "Bloquear e Suspender",
"logout": "Sair",
@@ -670,6 +819,11 @@
"label": "Dispositivos de áudio"
}
},
"external-mixer": {
"description": "Insira o comando ou o caminho do aplicativo para iniciar ao ativar o recurso de mixer de áudio externo.",
"label": "Comando de Mixer de Áudio Externo",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Adicione palavras-chave para os reprodutores que você deseja que o sistema ignore. Cada palavra-chave deve estar em uma nova linha.",
@@ -744,6 +898,10 @@
"description": "Ajuste a opacidade do fundo da barra.",
"label": "Opacidade do fundo"
},
"capsule-opacity": {
"description": "Define o nível de opacidade para fundos dos widgets quando a cápsula é mostrada.",
"label": "Opacidade da cápsula"
},
"density": {
"description": "Ajuste o preenchimento da barra para um visual compacto ou espaçoso.",
"label": "Densidade da barra"
@@ -836,6 +994,41 @@
"label": "Modo escuro"
}
},
"delete": {
"error": {
"description": "Falha ao excluir {scheme}",
"title": "Falha ao excluir"
},
"success": {
"description": "{scheme} excluído com sucesso",
"title": "Esquema de cores excluído"
}
},
"download": {
"button": "Baixar mais",
"delete": "Excluir",
"download": "Baixar",
"downloading": "Baixando...",
"empty": "Nenhum esquema de cores disponível",
"error": {
"api-error": "Erro da API: {status}",
"description": "Falha ao baixar {scheme}",
"download-failed": "Falha no download com código de saída: {code}",
"invalid-response": "Formato de resposta da API inválido",
"no-files": "Nenhum arquivo encontrado para o esquema",
"parse-failed": "Falha ao analisar a resposta da API: {error}",
"rate-limit": "Limite de taxa da API do GitHub excedido",
"title": "Falha no download"
},
"fetching": "Buscando esquemas de cores disponíveis...",
"installed": "Instalado",
"refresh": "Atualizar",
"success": {
"description": "{scheme} baixado com sucesso",
"title": "Esquema de cores baixado"
},
"title": "Baixar esquemas de cores"
},
"predefined": {
"generate-templates": {
"description": "Gera modelos Matugen (GTK, temas de terminal, etc.) ao usar esquemas de cores predefinidos.",
@@ -858,7 +1051,7 @@
"programs": {
"code": {
"description": "Escreva em {filepath}. O tema Hyprluna precisa ser instalado e ativado manualmente.",
"description-missing": "Requer que o {app} esteja instalado."
"description-missing": "Nenhum cliente Code detectado. Instale VSCode ou VSCodium."
},
"description": "Tematização específica de aplicativos.",
"discord": {
@@ -874,6 +1067,18 @@
"description": "Escrever {filepath} e executar pywalfox update",
"description-missing": "Requer que o {app} esteja instalado"
},
"spicetify": {
"description": "Escreva em {filepath}. O tema Comfy precisa ser instalado e ativado manualmente.",
"description-missing": "Requer que o {app} esteja instalado."
},
"telegram": {
"description": "Escreva em {filepath}.",
"description-missing": "Requer que o {app} esteja instalado."
},
"cava": {
"description": "Escreva em {filepath}.",
"description-missing": "Requer que o {app} esteja instalado."
},
"vicinae": {
"description": "Escrever {filepath} e recarregar",
"description-missing": "Requer que o {app} esteja instalado"
@@ -1070,6 +1275,10 @@
"description": "Ajuste a opacidade do fundo da dock.",
"label": "Opacidade do fundo"
},
"border-radius": {
"description": "Ajustar o raio da borda da dock.",
"label": "Raio da borda"
},
"colorize-icons": {
"description": "Aplicar cores do tema aos ícones de aplicativos da dock (apenas aplicativos não focados).",
"label": "Colorir ícones"
@@ -1221,6 +1430,10 @@
"description": "Ajuste a opacidade do fundo do lançador.",
"label": "Opacidade do fundo"
},
"clip-preview": {
"description": "Mostra uma pré-visualização do conteúdo da área de transferência ao usar o comando >clip.",
"label": "Ativar pré-visualização da área de transferência"
},
"clipboard-history": {
"description": "Acesse itens copiados anteriormente a partir do lançador.",
"label": "Ativar histórico da área de transferência"
@@ -1309,6 +1522,10 @@
"description": "Escolha sua unidade de temperatura preferida.",
"label": "Clima"
},
"show-effects": {
"description": "Mostra efeitos visuais adicionais (como chuva, neve ou relâmpagos) no cartão de clima.",
"label": "Exibir efeitos climáticos"
},
"show-in-calendar": {
"description": "Mostre a previsão do tempo diária diretamente na sua visualização de calendário.",
"label": "Exibir clima no calendário"
@@ -1324,6 +1541,10 @@
"description": "Bloquear a tela automaticamente ao suspender o sistema.",
"label": "Bloquear ao suspender"
},
"show-hibernate": {
"description": "Mostrar a opção 'hibernar' nas ações de energia.",
"label": "Mostrar hibernar"
},
"title": "Tela de bloqueio"
},
"network": {
@@ -1352,6 +1573,7 @@
"description": "Por quanto tempo as notificações de prioridade normal permanecem visíveis.",
"label": "Urgência normal"
},
"reset": "Redefinir duração do tempo limite",
"respect-expire": {
"description": "Usa o tempo de expiração definido na notificação.",
"label": "Respeitar tempo de expiração"
@@ -1397,13 +1619,27 @@
"label": "Aparência"
}
},
"title": "Notificações"
"title": "Notificações",
"toast": {
"keyboard": {
"description": "Mostrar uma notificação quando o layout do teclado mudar.",
"label": "Layout do teclado"
},
"section": {
"description": "Configurar a aparência e o comportamento do toast.",
"label": "Torrada"
}
}
},
"osd": {
"always-on-top": {
"description": "Exibir OSD acima de janelas em tela cheia e outras camadas.",
"label": "Sempre no topo"
},
"background-opacity": {
"description": "Controla a transparência do fundo do OSD.",
"label": "Opacidade do fundo"
},
"description": "Configure indicadores na tela, como volume e brilho.",
"duration": {
"auto-hide": {
@@ -1496,7 +1732,107 @@
}
}
},
"session-menu": {
"countdown-duration": {
"description": "Definir por quanto tempo o temporizador de contagem regressiva dura antes de executar ações de energia.",
"label": "Duração da contagem regressiva"
},
"enable-countdown": {
"description": "Mostrar um temporizador de contagem regressiva antes de executar ações de energia.",
"label": "Ativar temporizador de contagem regressiva"
},
"entries": {
"section": {
"description": "Personalizar quais ações de energia aparecem no Menu de sessão e em que ordem.",
"label": "Ações de energia"
}
},
"general": {
"section": {
"description": "Configurar o comportamento e a aparência do painel do menu de sessão.",
"label": "Geral"
}
},
"position": {
"description": "Escolha onde o painel do Menu de sessão aparece quando aberto.",
"label": "Posição"
},
"show-header": {
"description": "Exibir o título e o botão de fechar na parte superior do Menu de sessão.",
"label": "Mostrar cabeçalho"
},
"title": "Menu de sessão"
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "Limite crítico"
},
"cpu-section": {
"label": "Uso da CPU"
},
"cpu-warning-threshold": {
"label": "Limite de aviso"
},
"critical-color": {
"label": "Cor crítica"
},
"custom-highlight-colors-title": {
"label": "Cores de destaque personalizadas"
},
"disk-critical-threshold": {
"label": "Limite crítico"
},
"disk-section": {
"label": "Uso do disco"
},
"disk-warning-threshold": {
"label": "Limite de aviso"
},
"general": {
"section": {
"description": "Configure o comportamento e a aparência do Monitor do Sistema.",
"label": "Geral"
}
},
"highlight-colors-section": {
"label": "Cores de destaque"
},
"mem-critical-threshold": {
"label": "Limite crítico"
},
"mem-warning-threshold": {
"label": "Limite de aviso"
},
"memory-section": {
"label": "Uso de memória"
},
"temp-critical-threshold": {
"label": "Limite crítico"
},
"temp-warning-threshold": {
"label": "Limite de aviso"
},
"temperature-section": {
"label": "Temperatura da CPU"
},
"thresholds-section": {
"description": "Defina limiares para métricas do sistema; valores acima serão destacados.",
"label": "Limiares"
},
"title": "Monitor do Sistema",
"use-custom-highlight-colors": {
"description": "Quando desativado, são usadas as cores de destaque padrão do tema.",
"label": "Usar cores de destaque personalizadas"
},
"warning-color": {
"label": "Cor de aviso"
}
},
"user-interface": {
"allow-panels-without-bar": {
"description": "Quando ativado, os painéis podem abrir em qualquer tela. Quando desativado, os painéis só abrirão em telas que tenham uma barra, o que pode reduzir o uso de memória.",
"label": "Permitir painéis em telas sem uma barra."
},
"animation-disable": {
"description": "Desative todas as animações para uma experiência mais rápida e responsiva.",
"label": "Desativar animações da interface do usuário"
@@ -1515,6 +1851,15 @@
"description": "Escurecer a área de trabalho quando painéis ou menus estiverem abertos.",
"label": "Dim área de trabalho"
},
"dimmer-opacity": {
"description": "Definir o nível de opacidade para o escurecimento da área de trabalho.",
"label": "Opacidade da área de trabalho escurecida",
"reset": "Redefinir opacidade da área de trabalho escurecida"
},
"panel-background-opacity": {
"description": "Definir a opacidade de fundo para todos os painéis (Launcher, Centro de Controle, Configurações, etc.).",
"label": "Opacidade de fundo do painel"
},
"panels-attached-to-bar": {
"description": "Os painéis travam na barra e nas bordas da tela, criando uma aparência perfeita com cantos invertidos elegantes.",
"label": "Ajustar Painéis às Bordas"
@@ -1607,6 +1952,10 @@
"label": "Pasta de papéis de parede",
"tooltip": "Procurar pasta de papéis de parede"
},
"hide-wallpaper-filenames": {
"description": "Ocultar nomes de arquivos de papel de parede no seletor.",
"label": "Ocultar nomes de arquivos"
},
"monitor-specific": {
"description": "Defina uma pasta de papel de parede diferente para cada monitor.",
"label": "Diretórios específicos por monitor",
@@ -1622,6 +1971,11 @@
},
"select-folder": "Selecionar pasta de papéis de parede",
"select-monitor-folder": "Selecionar pasta de papéis de parede do monitor",
"selector": {
"description": "Escolha o seu papel de parede.",
"label": "Seletor de papel de parede",
"tooltip": "Abrir o seletor de papel de parede"
},
"selector-position": {
"description": "Escolha onde o painel do seletor de papel de parede aparece.",
"label": "Posição"
@@ -1686,19 +2040,6 @@
"low": "Bateria Fraca",
"low-desc": "A bateria está em {percent}%. Por favor, conecte o carregador."
},
"battery-manager": {
"initial-setup": "Configuração inicial necessária",
"install-failed": "Falha na instalação",
"install-missing": "Arquivos necessários ausentes",
"install-success": "Instalado com sucesso",
"install-unsupported": "Sistema não suportado",
"set-failed": "Falha ao definir o limite da bateria",
"set-success-desc": "Limite da bateria definido para {percent}%",
"title": "Limite da bateria",
"uninstall-failed": "Falha na desinstalação",
"uninstall-setup": "Desinstalando, autenticação necessária",
"uninstall-success": "Desinstalado com sucesso"
},
"bluetooth": {
"disabled": "Desativado",
"enabled": "Ativado"
@@ -1724,6 +2065,9 @@
"disabled": "Desativado",
"enabled": "Ativado"
},
"keyboard-layout": {
"changed": "Layout de teclado alterado para {layout}"
},
"kofi": {
"opened": "Página do Ko-fi aberta no seu navegador"
},
@@ -1764,6 +2108,10 @@
"title-matugen": "Falha no processamento do template Matugen",
"title-predefined": "O processamento do esquema de cores predefinido falhou."
},
"vpn": {
"connected": "Conectado a '{name}'",
"disconnected": "Desconectado de '{name}'"
},
"wallpaper-colors": {
"disabled": "Cores do papel de parede desativadas",
"enabled": "Cores do papel de parede ativadas",
@@ -1788,15 +2136,16 @@
"close": "Fechar",
"connect-disconnect-devices": "Clique esquerdo para conectar. Clique direito para esquecer.",
"delete-notification": "Excluir notificação",
"disable-keep-awake": "Desativar 'manter acordado'",
"disable-keep-awake": "Clique para desativar 'manter acordado'.\nRole para ajustar o tempo limite.",
"do-not-disturb-disabled": "'Não perturbe' desativado",
"do-not-disturb-enabled": "'Não perturbe' ativado",
"enable-keep-awake": "Ativar 'manter acordado'",
"enable-keep-awake": "Clique para ativar 'manter acordado'.\nRole para ajustar o tempo limite.",
"forget-network": "Esquecer rede",
"home": "Início",
"input-muted": "Silenciar entrada de áudio",
"keep-awake": "Manter acordado",
"keyboard-layout": "Layout de teclado {layout}",
"manage-vpn": "Gerenciar conexões VPN",
"manage-wifi": "Gerenciar Wi-Fi",
"microphone-volume-at": "Volume do microfone em {volume}%.\nClique esquerdo para configurações. Clique direito para ativar/desativar o mudo.\nRole para modificar o volume.",
"move-to-center-section": "Mover para a seção central",
@@ -1824,6 +2173,7 @@
"previous-month": "Mês anterior",
"refresh": "Atualizar",
"refresh-devices": "Atualizar dispositivos",
"refresh-wallhaven": "Atualizar resultados do Wallhaven",
"refresh-wallpaper-list": "Atualizar lista de papéis de parede",
"remove-widget": "Remover widget",
"screen-recorder-not-installed": "O gravador de tela não está instalado",
@@ -1853,8 +2203,51 @@
"description": "Aplica o papel de parede selecionado a todos os monitores de uma só vez.",
"label": "Aplicar a todos os monitores"
},
"categories": {
"anime": "Anime",
"general": "Geral",
"label": "Categorias",
"people": "Pessoas"
},
"order": {
"asc": "Crescente",
"desc": "Decrescente",
"label": "Ordem"
},
"purity": {
"all": "Tudo",
"label": "Filtro de conteúdo",
"sfw": "SFW",
"sketchy": "Sketchy"
},
"resolution": {
"atleast": "Pelo menos",
"exact": "Exato",
"label": "Resolução",
"mode": {
"label": "Modo"
}
},
"search": "Pesquisar:",
"title": "Seletor de papel de parede"
"sorting": {
"date_added": "Data de adição",
"favorites": "Favoritos",
"label": "Ordenar por",
"random": "Aleatório",
"relevance": "Relevância",
"toplist": "Lista superior",
"views": "Visualizações"
},
"source": {
"label": "Fonte",
"local": "Local",
"wallhaven": "Wallhaven"
},
"title": "Seletor de papel de parede",
"wallhaven-settings": {
"apply": "Aplicar",
"title": "Configurações do Wallhaven"
}
},
"transitions": {
"disc": "Disco",
@@ -1864,7 +2257,13 @@
"stripes": "Listras",
"wipe": "Limpar"
},
"try-different-search": "Tente uma busca diferente."
"try-different-search": "Tente uma busca diferente.",
"unknown": "Desconhecido",
"wallhaven": {
"loading": "Carregando papéis de parede...",
"no-results": "Nenhum papel de parede encontrado. Tente uma busca diferente.",
"page": "{current} de {total}"
}
},
"weather": {
"clear-sky": "Céu limpo",
@@ -1881,23 +2280,11 @@
"widgets": {
"color-picker": {
"apply": "Aplicar",
"brightness": "Brilho",
"cancel": "Cancelar",
"hex": {
"description": "Digite um código de cor hexadecimal.",
"label": "Cor hexadecimal"
},
"palette": {
"description": "Escolha entre uma vasta gama de cores predefinidas.",
"label": "Paleta"
},
"rgb": {
"description": "Ajuste os valores de vermelho, verde, azul e brilho.",
"label": "Valores RGB"
},
"theme-colors": {
"description": "Acesso rápido à paleta de cores do seu tema.",
"label": "Cores do tema"
"label": "Paleta",
"theme-colors": "Acesso rápido à paleta de cores do seu tema."
},
"title": "Seletor de cores"
},
@@ -1973,6 +2360,7 @@
},
"wifi": {
"panel": {
"available-networks": "Redes Disponíveis",
"connect": "Conectar",
"connected": "Conectado",
"disabled": "O Wi-Fi está desativado",
@@ -1983,6 +2371,7 @@
"forget": "Esquecer",
"forget-network": "Esquecer esta rede?",
"forgetting": "Esquecendo...",
"known-networks": "Redes Conhecidas",
"no-networks": "Nenhuma rede encontrada",
"password": "Senha",
"saved": "Salva",

2383
Assets/Translations/ru.json Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -97,6 +97,10 @@
"control-center": {
"browse-file": "Dosyaya Göz At",
"browse-library": "Kütüphaneye Göz At",
"colorize-distro-logo": {
"description": "Dağıtım logonuza tema renklerini uygula.",
"label": "Dağıtım logosunu renklendir"
},
"icon": {
"description": "Kütüphaneden veya özel bir dosyadan bir ikon seçin.",
"label": "İkon"
@@ -125,11 +129,21 @@
},
"left-click": {
"description": "Butona sol tıklandığında yürütülecek komut.",
"label": "Sol tıklama"
"label": "Sol tıklama",
"update-text": "Sol tıklamayla görüntülenen metni güncelle"
},
"max-text-length-horizontal": {
"description": "Yatay çubukta gösterilecek maksimum karakter sayısı (metni gizlemek için 0)",
"label": "Maks. metin uzunluğu (yatay)"
},
"max-text-length-vertical": {
"description": "Dikey çubukta gösterilecek maksimum karakter sayısı (metni gizlemek için 0)",
"label": "Maks. metin uzunluğu (dikey)"
},
"middle-click": {
"description": "Butona orta tıklandığında yürütülecek komut.",
"label": "Orta tıklama"
"label": "Orta tıklama",
"update-text": "Orta tıklamayla görüntülenen metni güncelle"
},
"parse-json": {
"description": "Komut çıktısını metin ve ikon dinamik olarak ayarlamak için bir JSON nesnesi olarak ayrıştırın.",
@@ -141,11 +155,29 @@
},
"right-click": {
"description": "Butona sağ tıklandığında yürütülecek komut.",
"label": "Sağ tıklama"
"label": "Sağ tıklama",
"update-text": "Sağ tıklamada görüntülenen metni güncelle"
},
"text-stream": {
"description": "Komuttan gelen akış satırları butonda metin olarak gösterilecektir.",
"label": "Akış"
},
"wheel": {
"description": "Kaydırma tekerleği kullanıldığında yürütülecek komut.\nKomutta kaydırma tekerleği deltası için $delta kullanın",
"label": "Kaydırma tekerleği",
"update-text": "Kaydırmada gösterilen metni güncelle"
},
"wheel-down": {
"description": "Kaydırma tekerleği aşağı kaydırıldığında yürütülecek komut.",
"label": "Kaydırma tekerleği aşağı komutu"
},
"wheel-mode-separate": {
"description": "Kaydırma tekerleği yukarı ve aşağı için ayrı komutları etkinleştir",
"label": "Ayrı kaydırma tekerleği komutları"
},
"wheel-up": {
"description": "Kaydırma tekerleği yukarı kaydırıldığında yürütülecek komut.",
"label": "Kaydırma tekerleği yukarı komutu"
}
},
"dialog": {
@@ -191,10 +223,18 @@
"description": "Şu anda çalan parçanın albüm kapak sanatını göster.",
"label": "Albüm kapağını göster"
},
"show-artist-first": {
"description": "Sanatçı - başlık yerine başlık - sanatçı olarak göster.",
"label": "Önce sanatçıyı göster"
},
"show-visualizer": {
"description": "Müzik çalarken bir ses görselleştirici göster.",
"label": "Görselleştiriciyi göster"
},
"show-progress-ring": {
"description": "Parça ilerlemesini gösteren dairesel bir ilerleme göstergesi gösterin.",
"label": "İlerleme halkası göster"
},
"use-fixed-width": {
"description": "Etkinleştirildiğinde, widget dinamik olarak içerik göre ayarlamak yerine her zaman maksimum genişliği kullanır.",
"label": "Sabit Genişlik Kullan"
@@ -231,6 +271,9 @@
}
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "CPU Kullanımı (Kritik)"
},
"cpu-temperature": {
"description": "Mevcut CPU sıcaklık okumalarını gösterilir.",
"label": "CPU sıcaklığı"
@@ -239,6 +282,25 @@
"description": "Mevcut CPU kullanım yüzdesini göster.",
"label": "CPU kullanımı"
},
"cpu-warning-threshold": {
"label": "CPU Kullanımı (Uyarı)"
},
"disk-critical-threshold": {
"label": "Depolama Alanı (Kritik)"
},
"disk-path": {
"description": "İzlenecek disk bağlama noktasını seçin.",
"label": "Disk yolu"
},
"disk-warning-threshold": {
"label": "Depolama Alanı (Uyarı)"
},
"mem-critical-threshold": {
"label": "Bellek Kullanımı (Kritik)"
},
"mem-warning-threshold": {
"label": "Bellek Kullanımı (Uyarı)"
},
"memory-percentage": {
"description": "Mutlak değerler yerine bellek kullanımını yüzde olarak göster.",
"label": "Bellek yüzde olarak"
@@ -254,6 +316,16 @@
"storage-usage": {
"description": "Disk alanı kullanım bilgilerini göster.",
"label": "Depolama kullanımı"
},
"temp-critical-threshold": {
"label": "CPU Sıcaklığı (Kritik)"
},
"temp-warning-threshold": {
"label": "CPU Sıcaklığı (Uyarı)"
},
"thresholds": {
"description": "Sistem metrik eşiklerini ayarlayın. Aşıldığında vurgular.",
"header": "Eşik Ayarları"
}
},
"taskbar": {
@@ -274,6 +346,12 @@
"label": "Sadece aynı çıktıdan"
}
},
"taskbar-grouped": {
"show-labels-only-when-occupied": {
"description": "Sadece açık pencereleri olan çalışma alanları için çalışma alanı etiketini göster.",
"label": "Sadece dolu olduğunda etiketi göster."
}
},
"tray": {
"colorize-icons": {
"description": "Tepsi ikonlarına tema renklerini uygula.",
@@ -299,6 +377,10 @@
"description": "Penceresi olmayan çalışma alanlarını gösterme.",
"label": "Dolu olmayanları gizle"
},
"follow-focused-screen": {
"description": "Çubuğun bulunduğu ekran yerine, şu anda odaklanmış ekrandaki çalışma alanlarını göster.",
"label": "Odaklanmış Ekranı Takip Et"
},
"label-mode": {
"description": "Çalışma alanı etiketlerinin nasıl gösterileceğini seçin.",
"label": "Etiket Modu"
@@ -307,21 +389,20 @@
}
},
"battery": {
"brightness": "Parlaklık",
"charge-level": "Şarj seviyesi",
"charging": "Şarj oluyor.",
"charging-rate": "Şarj oranı: {rate} W.",
"discharging": "Deşarj oluyor.",
"discharging-rate": "Deşarj oranı: {rate} W.",
"health": "Sağlık: {percent}%",
"idle": "Boşta.",
"inhibit-idle-description": "Sistemi uyanık tutar.",
"inhibit-idle-label": "Uyanık tut",
"no-battery-detected": "Pil tespit edilmedi.",
"panel": {
"balanced": "Dengeli ({percent}%)",
"disabled": "Pil yöneticisi devre dışı",
"full": "Tam kapasite ({percent}%)",
"lifespan": "Uzatılmış ömür ({percent}%)",
"title": "Şarj eşiği"
},
"panel-title": "Pil",
"plugged-in": "Prize takılı.",
"power-profile": "Güç profili",
"time-left": "Kalan süre: {time}.",
"time-until-full": "Dolma süresi: {time}."
},
@@ -349,9 +430,61 @@
"loading": "Hava durumu yükleniyor..."
}
},
"changelog": {
"error": {
"fetch-failed": "Değişiklik günlüğü verileri yüklenemedi. Lütfen daha sonra tekrar dene.",
"rate-limit": "GitHub sınırına ulaşıldı. Lütfen birkaç dakika sonra tekrar dene."
},
"panel": {
"buttons": {
"discord": "Discord sunucumuza katıl",
"dismiss": "Tamam"
},
"empty": "Sürüm notları henüz hazır değil.",
"highlight-title": "Öne çıkanlar",
"section": {
"released": "{date} tarihinde yayımlandı",
"version": "Sürüm {version}"
},
"subtitle": {
"fresh": "Noctaliayı kurduğun için teşekkürler! Bu sürümde gelenler bunlar.",
"updated": "{previousVersion} sürümünden güncellendi"
},
"title": "{version} sürümünde neler yeni",
"version": {
"new-user": "Yeni kurulum"
}
}
},
"clock": {
"tooltip": "Takvimi aç"
},
"context-menu": {
"activate-app": "{app}'i etkinleştir",
"clear-history": "Geçmişi temizle",
"close-app": "{app}'i kapat",
"connect-vpn": "{name} bağlantısına bağlan",
"cycle-visualizer": "Döngü görselleştirici",
"disable-bluetooth": "Bluetooth'u kapat",
"disable-dnd": "Rahatsız Etmeyin'i Kapat",
"disable-wifi": "Wi-Fi'ı kapat",
"disconnect-vpn": "{name} bağlantısını kes",
"enable-bluetooth": "Bluetooth'u etkinleştir",
"enable-dnd": "Rahatsız Etmeyin'i Etkinleştir",
"enable-wifi": "Wi-Fi'ı etkinleştir",
"next": "Sonraki",
"open-calendar": "Takvimi aç",
"open-display-settings": "Ekran ayarları",
"open-launcher": "Başlatıcıyı aç",
"open-mixer": "Ses mikseri",
"open-settings": "Ayarları aç",
"pause": "Duraklat",
"play": "Oyna",
"previous": "Önceki",
"random-wallpaper": "Rastgele duvar kağıdı",
"toggle-mute": "Sesi kapat/aç",
"widget-settings": "Araç ayarları"
},
"dock": {
"menu": {
"close": "Kapat",
@@ -384,6 +517,15 @@
"description": "Bildirimler geldikçe burada görünecek.",
"no-notifications": "Bildirim yok",
"title": "Bildirimler"
},
"time": {
"now": "şimdi",
"diffM": "1 dakika önce",
"diffMM": "{diff} dakika önce",
"diffH": "1 saat önce",
"diffHH": "{diff} saat önce",
"diffD": "1 gün önce",
"diffDD": "{diff} gün önce"
}
},
"options": {
@@ -515,6 +657,7 @@
},
"workspace-labels": {
"index": "İndeks",
"index+name": "Dizin ve Ad",
"name": "İsim",
"none": "Hiçbiri"
}
@@ -530,6 +673,7 @@
"search": "Ara...",
"search-icons": "örn., noctalia, niri, battery, cloud",
"search-launcher": "Girişleri arayın... veya > komutları için kullanın",
"search-wallhaven": "Wallhaven'da ara...",
"search-wallpapers": "Duvar kağıtlarını filtrelemek için yazın...",
"select": "Seç",
"test": "Test"
@@ -549,7 +693,11 @@
"clipboard-history-disabled-description": "Panoya geçmişini ayarlarda etkinleştir veya cliphist kur",
"clipboard-loading": "Panoya geçmişi yükleniyor...",
"clipboard-loading-description": "Lütfen bekleyin",
"clipboard-search-description": "Panoya geçmişini ara"
"clipboard-search-description": "Panoya geçmişini ara",
"emoji": "Emoji seçici",
"emoji-loading": "Emojiler yükleniyor...",
"emoji-loading-description": "Lütfen bekleyin",
"emoji-search-description": "Emoji arama ve kopyalama"
},
"quickSettings": {
"bluetooth": {
@@ -626,6 +774,7 @@
},
"session-menu": {
"action-in-seconds": "{action} in {seconds} seconds...",
"hibernate": "Hazırda Bekletme",
"lock": "Kilitle",
"lock-and-suspend": "Kilitle ve Askıya Al",
"logout": "Oturumu kapat",
@@ -670,6 +819,11 @@
"label": "Ses cihazları"
}
},
"external-mixer": {
"description": "Harici ses mikseri özelliği etkinleştirilirken başlatılacak komutu veya uygulama yolunu girin.",
"label": "Harici Ses Mikseri Komutu",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Sistemin yoksaymasını istediğiniz oynatıcılar için anahtar kelimeler ekleyin. Her anahtar kelime ayrı bir satırda olmalıdır.",
@@ -744,6 +898,10 @@
"description": "Barın arka plan opaklığını ayarlayın.",
"label": "Arka plan opaklığı"
},
"capsule-opacity": {
"description": "Kapsül gösterildiğinde widget arka planlarının saydamlık seviyesini ayarla.",
"label": "Kapsül saydamlığı"
},
"density": {
"description": "Sıkı veya geniş bir görünüm için barın dolgusunu ayarlayın.",
"label": "Bar yoğunluğu"
@@ -836,6 +994,41 @@
"label": "Koyu mod"
}
},
"delete": {
"error": {
"description": "{scheme} silinemedi",
"title": "Silme başarısız"
},
"success": {
"description": "{scheme} başarıyla silindi",
"title": "Renk şeması silindi"
}
},
"download": {
"button": "Daha fazla indir",
"delete": "Sil",
"download": "İndir",
"downloading": "İndiriliyor...",
"empty": "Mevcut renk şeması yok",
"error": {
"api-error": "API hatası: {status}",
"description": "{scheme} indirilemedi",
"download-failed": "İndirme başarısız, çıkış kodu: {code}",
"invalid-response": "Geçersiz API yanıt formatı",
"no-files": "Şema için dosya bulunamadı",
"parse-failed": "API yanıtı ayrıştırılamadı: {error}",
"rate-limit": "GitHub API hız sınırııldı",
"title": "İndirme başarısız"
},
"fetching": "Mevcut renk şemaları alınıyor...",
"installed": "Yüklü",
"refresh": "Yenile",
"success": {
"description": "{scheme} başarıyla indirildi",
"title": "Renk şeması indirildi"
},
"title": "Renk şemalarını indir"
},
"predefined": {
"generate-templates": {
"description": "Önceden tanımlanmış renk şemaları kullanırken Matugen şablonları (GTK, terminal temaları vb.) oluşturun.",
@@ -858,7 +1051,7 @@
"programs": {
"code": {
"description": "{filepath} dosyasına yaz. Hyprluna temasının kurulu ve manuel olarak etkinleştirilmiş olması gerekir.",
"description-missing": "Kurulum için {app} gereklidir"
"description-missing": "Code istemcisi tespit edilmedi. VSCode veya VSCodium kurun."
},
"description": "Uygulamaya özel temalandırma.",
"discord": {
@@ -874,6 +1067,18 @@
"description": "{filepath} dosyasına yaz ve pywalfox güncellemesini çalıştır",
"description-missing": "Kurulum için {app} gereklidir"
},
"spicetify": {
"description": "{filepath} dosyasına yaz. Comfy temasının kurulu ve manuel olarak etkinleştirilmiş olması gerekir.",
"description-missing": "Kurulum için {app} gereklidir"
},
"telegram": {
"description": "{filepath} dosyasına yaz.",
"description-missing": "Kurulum için {app} gereklidir"
},
"cava": {
"description": "{filepath} dosyasına yaz.",
"description-missing": "Kurulum için {app} gereklidir"
},
"vicinae": {
"description": "{filepath} dosyasına yaz ve yeniden yükle",
"description-missing": "Kurulum için {app} gereklidir"
@@ -1070,6 +1275,10 @@
"description": "Dock'un arka plan opaklığını ayarlayın.",
"label": "Arka plan opaklığı"
},
"border-radius": {
"description": "Dock'un kenar yarıçapını ayarla.",
"label": "Kenar yarıçapı"
},
"colorize-icons": {
"description": "Dock uygulama simgelerine tema renklerini uygulayın (sadece odaklanılmamış uygulamalar).",
"label": "Simgeleri Renklendir"
@@ -1221,6 +1430,10 @@
"description": "Başlatıcının arka plan opaklığını ayarlayın.",
"label": "Arka plan opaklığı"
},
"clip-preview": {
"description": ">clip komutu kullanılırken panodaki içeriğin önizlemesini gösterir.",
"label": "Panoyu önizlemeyi etkinleştir"
},
"clipboard-history": {
"description": "Başlatıcıdan daha önce kopyalanan öğelere erişin.",
"label": "Pano geçmişini etkinleştir"
@@ -1309,6 +1522,10 @@
"description": "Tercih ettiğiniz sıcaklık birimini seçin.",
"label": "Hava durumu"
},
"show-effects": {
"description": "Hava durumu kartında ek görsel efektler (yağmur, kar veya şimşek gibi) gösterir.",
"label": "Hava efektlerini göster"
},
"show-in-calendar": {
"description": "Günlük hava durumu tahminini doğrudan takvim görünümünüzde gösterin.",
"label": "Takvimde hava durumunu göster"
@@ -1324,6 +1541,10 @@
"description": "Sistemi askıya alırken otomatik olarak ekranı kilitler.",
"label": "Askıya alırken kilitle"
},
"show-hibernate": {
"description": "Güç işlemlerinde 'hazırda beklet' seçeneğini göster.",
"label": "Hazırda beklet seçeneğini göster"
},
"title": "Ekran Kilit"
},
"network": {
@@ -1352,6 +1573,7 @@
"description": "Normal öncelikli bildirimlerin ne kadar süreyle görüneceği.",
"label": "Normal öncelikli"
},
"reset": "Zaman aşımı süresini sıfırla",
"respect-expire": {
"description": "Bildirimde ayarlanan sona erme zaman aşımını kullanın.",
"label": "Sona erme zaman aşımına uyar"
@@ -1397,13 +1619,27 @@
"label": "Görünüm"
}
},
"title": "Bildirimler"
"title": "Bildirimler",
"toast": {
"keyboard": {
"description": "Klavye düzeni değiştiğinde bir bildirim göster.",
"label": "Klavye düzeni"
},
"section": {
"description": "Toast görünümünü ve davranışını yapılandırın.",
"label": "Tost"
}
}
},
"osd": {
"always-on-top": {
"description": "OSD'yi tam ekran pencerelerinin ve diğer katmanların üzerinde görüntüle.",
"label": "Her zaman üstte"
},
"background-opacity": {
"description": "OSD arka planının şeffaflığını kontrol eder.",
"label": "Arka plan opaklığı"
},
"description": "Ses ve parlaklık kaplamaları gibi ekran göstergelerini yapılandırın.",
"duration": {
"auto-hide": {
@@ -1496,7 +1732,107 @@
}
}
},
"session-menu": {
"countdown-duration": {
"description": "Güç eylemlerini çalıştırmadan önce geri sayım zamanlayıcısının ne kadar süreceğini ayarlayın.",
"label": "Geri sayım süresi"
},
"enable-countdown": {
"description": "Güç eylemlerini çalıştırmadan önce bir geri sayım zamanlayıcısı göster.",
"label": "Geri sayım zamanlayıcısını etkinleştir"
},
"entries": {
"section": {
"description": "Oturum Menüsünde hangi güç eylemlerinin görüneceğini ve hangi sırada görüneceğini özelleştirin.",
"label": "Güç eylemleri"
}
},
"general": {
"section": {
"description": "Oturum menüsü panelinin davranışını ve görünümünü yapılandırın.",
"label": "Genel"
}
},
"position": {
"description": "Oturum Menüsü panelinin açıldığında nerede görüneceğini seçin.",
"label": "Konum"
},
"show-header": {
"description": "Oturum Menüsünün üst kısmında başlığı ve kapat düğmesini göster.",
"label": "Başlığı göster"
},
"title": "Oturum Menüsü"
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "Kritik Eşiği"
},
"cpu-section": {
"label": "CPU Kullanımı"
},
"cpu-warning-threshold": {
"label": "Uyarı Eşiği"
},
"critical-color": {
"label": "Kritik renk"
},
"custom-highlight-colors-title": {
"label": "Özel vurgulama renkleri"
},
"disk-critical-threshold": {
"label": "Kritik Eşiği"
},
"disk-section": {
"label": "Disk Kullanımı"
},
"disk-warning-threshold": {
"label": "Uyarı Eşiği"
},
"general": {
"section": {
"description": "Sistem İzleyicisinin davranışını ve görünümünü yapılandırın.",
"label": "Genel"
}
},
"highlight-colors-section": {
"label": "Vurgulama Renkleri"
},
"mem-critical-threshold": {
"label": "Kritik Eşiği"
},
"mem-warning-threshold": {
"label": "Uyarı Eşiği"
},
"memory-section": {
"label": "Bellek Kullanımı"
},
"temp-critical-threshold": {
"label": "Kritik Eşiği"
},
"temp-warning-threshold": {
"label": "Uyarı Eşiği"
},
"temperature-section": {
"label": "CPU Sıcaklığı"
},
"thresholds-section": {
"description": "Sistem metrikleri için eşikler ayarlayın; bu değerlerin üzerindekiler vurgulanacaktır.",
"label": "Eşikler"
},
"title": "Sistem İzleme",
"use-custom-highlight-colors": {
"description": "Devre dışı bırakıldığında, tema varsayılan vurgulama renkleri kullanılır.",
"label": "Özel vurgulama renklerini kullan"
},
"warning-color": {
"label": "Uyarı rengi"
}
},
"user-interface": {
"allow-panels-without-bar": {
"description": "Etkinleştirildiğinde, paneller herhangi bir ekranda açılabilir. Devre dışı bırakıldığında, paneller yalnızca bir çubuğu olan ekranlarda açılır, bu da bellek kullanımını azaltabilir.",
"label": "Çubuksuz ekranlardaki panellere izin ver."
},
"animation-disable": {
"description": "Daha hızlı ve daha duyarlı bir deneyim için tüm animasyonları devre dışı bırakın.",
"label": "UI Animasyonlarını Devre Dışı Bırak"
@@ -1515,6 +1851,15 @@
"description": "Paneller veya menüler açıkken masaüstünü karart.",
"label": "Masaüstünü karart"
},
"dimmer-opacity": {
"description": "Masaüstü karartması için opaklık seviyesini ayarlayın.",
"label": "Karartılmış masaüstü opaklığı",
"reset": "Karartılmış masaüstü opaklığını sıfırla"
},
"panel-background-opacity": {
"description": "Tüm paneller için arka plan opaklığını ayarlayın (Launcher, Control Center, Ayarlar vb.).",
"label": "Panel arka plan opaklığı"
},
"panels-attached-to-bar": {
"description": "Paneller çubuğa ve ekran kenarlarına kilitlenerek şık ters köşelerle kusursuz bir görünüm oluşturur.",
"label": "Kenarları Yakala"
@@ -1607,6 +1952,10 @@
"label": "Duvar kağıdı klasörü",
"tooltip": "Duvar kağıdı klasörüne göz atın"
},
"hide-wallpaper-filenames": {
"description": "Seçicide duvar kağıdı dosya adlarını gizle.",
"label": "Dosya adlarını gizle"
},
"monitor-specific": {
"description": "Her ekran için farklı bir duvar kağıdı klasörü ayarlayın.",
"label": "Ekran özgü dizinler",
@@ -1622,6 +1971,11 @@
},
"select-folder": "Duvar kağıdı klasörünü seç",
"select-monitor-folder": "Ekran duvar kağıdı klasörünü seç",
"selector": {
"description": "Duvar kâğıdınızı seçin.",
"label": "Duvar kâğıdı seçici",
"tooltip": "Duvar kâğıdı seçiciyi aç"
},
"selector-position": {
"description": "Duvar kağıdı seçici panelinin nerede görüneceğini seçin.",
"label": "Pozisyon"
@@ -1686,19 +2040,6 @@
"low": "Düşük batarya",
"low-desc": "Batarya % {percent}. Lütfen şarj bağlantısını yapın."
},
"battery-manager": {
"initial-setup": "Başlangıç kurulumu gerekli",
"install-failed": "Kurulum başarısız oldu",
"install-missing": "Gerekli dosyalar eksik",
"install-success": "Başarıyla kuruldu",
"install-unsupported": "Sistem desteklenmiyor",
"set-failed": "Batarya eşiği ayarlanamadı",
"set-success-desc": "Batarya eşiği % {percent} olarak ayarlandı",
"title": "Batarya eşiği",
"uninstall-failed": "Kaldırma başarısız oldu",
"uninstall-setup": "Kaldırılıyor, kimlik doğrulama gerekli",
"uninstall-success": "Başarıyla kaldırıldı"
},
"bluetooth": {
"disabled": "Devre dışı",
"enabled": "Etkin"
@@ -1724,6 +2065,9 @@
"disabled": "Devre dışı",
"enabled": "Etkin"
},
"keyboard-layout": {
"changed": "Klavye düzeni {layout} olarak değiştirildi"
},
"kofi": {
"opened": "Ko-fi sayfası tarayıcınızda açıldı"
},
@@ -1764,6 +2108,10 @@
"title-matugen": "Matugen şablon işleme başarısız oldu.",
"title-predefined": "Önceden tanımlanmış renk şeması işleme başarısız oldu."
},
"vpn": {
"connected": "'{name}' ile bağlantı kuruldu",
"disconnected": "'{name}' bağlantısı kesildi"
},
"wallpaper-colors": {
"disabled": "Duvar kağıdı renkleri devre dışı",
"enabled": "Duvar kağıdı renkleri etkin",
@@ -1788,15 +2136,16 @@
"close": "Kapat",
"connect-disconnect-devices": "Bağlanmak için sol tık. Unutmak için sağ tık.",
"delete-notification": "Bildiriyi sil",
"disable-keep-awake": "Uyanık kalmayı devre dışı bırak",
"disable-keep-awake": "Uyanık kalmayı devre dışı bırakmak için tıklayın.\nZaman aşımını ayarlamak için kaydırın.",
"do-not-disturb-disabled": "'Rahatsız etme' devre dışı",
"do-not-disturb-enabled": "'Rahatsız etme' etkin",
"enable-keep-awake": "Uyanık kalmayı etkinleştir",
"enable-keep-awake": "Uyanık kalmayı etkinleştirmek için tıklayın.\nZaman aşımını ayarlamak için kaydırın.",
"forget-network": "Ağı unut",
"home": "Ana Sayfa",
"input-muted": "Giriş sessizliğini değiştir",
"keep-awake": "Uyanık kal",
"keyboard-layout": "{layout} klavye düzeni",
"manage-vpn": "VPN bağlantılarını yönet",
"manage-wifi": "Wi-Fi yönet",
"microphone-volume-at": "Mikrofon sesi %{volume}\nAyarlar için sol tık. Sessize almak için sağ tık.\nSesi değiştirmek için kaydırın.",
"move-to-center-section": "Orta bölüme taşı",
@@ -1824,6 +2173,7 @@
"previous-month": "Önceki ay",
"refresh": "Yenile",
"refresh-devices": "Cihazları yenile",
"refresh-wallhaven": "Wallhaven sonuçlarını yenile",
"refresh-wallpaper-list": "Duvar kağıdı listesini yenile",
"remove-widget": "Widget kaldır",
"screen-recorder-not-installed": "Ekran kaydedici yüklü değil",
@@ -1853,8 +2203,51 @@
"description": "Seçilen duvar kağıdını tüm monitörlere aynı anda uygulayın.",
"label": "Tüm monitörler için uygula"
},
"categories": {
"anime": "Anime",
"general": "Genel",
"label": "Kategoriler",
"people": "İnsanlar"
},
"order": {
"asc": "Artan",
"desc": "Azalan",
"label": "Sıra"
},
"purity": {
"all": "Tümü",
"label": "İçerik filtresi",
"sfw": "SFW",
"sketchy": "Sketchy"
},
"resolution": {
"atleast": "En az",
"exact": "Tam",
"label": "Çözünürlük",
"mode": {
"label": "Mod"
}
},
"search": "Ara:",
"title": "Duvar kağıdı seçici"
"sorting": {
"date_added": "Eklenme tarihi",
"favorites": "Favoriler",
"label": "Sırala",
"random": "Rastgele",
"relevance": "Alaka",
"toplist": "En iyi liste",
"views": "Görüntülemeler"
},
"source": {
"label": "Kaynak",
"local": "Yerel",
"wallhaven": "Wallhaven"
},
"title": "Duvar kağıdı seçici",
"wallhaven-settings": {
"apply": "Uygula",
"title": "Wallhaven Ayarları"
}
},
"transitions": {
"disc": "Disk",
@@ -1864,7 +2257,13 @@
"stripes": "Çizgiler",
"wipe": "Silme"
},
"try-different-search": "Farklı bir arama sorgusu deneyin."
"try-different-search": "Farklı bir arama sorgusu deneyin.",
"unknown": "Bilinmiyor",
"wallhaven": {
"loading": "Duvar kağıtları yükleniyor...",
"no-results": "Duvar kağıdı bulunamadı. Farklı bir arama sorgusu deneyin.",
"page": "{current} / {total}"
}
},
"weather": {
"clear-sky": "Açık hava",
@@ -1881,23 +2280,11 @@
"widgets": {
"color-picker": {
"apply": "Uygula",
"brightness": "Parlaklık",
"cancel": "İptal",
"hex": {
"description": "Onaltılık renk kodu girin.",
"label": "Hex renk"
},
"palette": {
"description": "Önceden tanımlı renkler geniş yelpazesinden seçin.",
"label": "Palet"
},
"rgb": {
"description": "Kırmızı, yeşil, mavi ve parlaklık değerlerini ayarlayın.",
"label": "RGB değerleri"
},
"theme-colors": {
"description": "Temanızın renk paletine hızlı erişim.",
"label": "Tema renkleri"
"label": "Palet",
"theme-colors": "Temanızın renk paletine hızlı erişim."
},
"title": "Renk seçici"
},
@@ -1973,6 +2360,7 @@
},
"wifi": {
"panel": {
"available-networks": "Kullanılabilir Ağlar",
"connect": "Bağlan",
"connected": "Bağlı",
"disabled": "Wi-Fi devre dışı",
@@ -1983,6 +2371,7 @@
"forget": "Unut",
"forget-network": "Bu ağı unut?",
"forgetting": "Unutuluyor...",
"known-networks": "Bilinen Ağlar",
"no-networks": "Ağ bulunamadı",
"password": "Şifre",
"saved": "Kaydedildi",

View File

@@ -97,6 +97,10 @@
"control-center": {
"browse-file": "Огляд файлу",
"browse-library": "Огляд бібліотеки",
"colorize-distro-logo": {
"description": "Застосувати кольори теми до логотипа вашого дистрибутива.",
"label": "Розфарбовувати логотип дистрибутива"
},
"icon": {
"description": "Вибрати значок з бібліотеки або власний файл.",
"label": "Значок"
@@ -125,11 +129,21 @@
},
"left-click": {
"description": "Команда для виконання при лівому кліку на кнопку.",
"label": "Лівий клік"
"label": "Лівий клік",
"update-text": "Оновити текст, що відображається, при натисканні лівою кнопкою миші"
},
"max-text-length-horizontal": {
"description": "Максимальна кількість символів для відображення в горизонтальній панелі (0 щоб приховати текст)",
"label": "Макс. довжина тексту (горизонтально)"
},
"max-text-length-vertical": {
"description": "Максимальна кількість символів для відображення в вертикальній панелі (0 щоб приховати текст)",
"label": "Макс. довжина тексту (вертикально)"
},
"middle-click": {
"description": "Команда для виконання при середньому кліку на кнопку.",
"label": "Середній клік"
"label": "Середній клік",
"update-text": "Оновити відображуваний текст при натисканні середньою кнопкою миші"
},
"parse-json": {
"description": "Розбирати виведення команди як JSON-об'єкт для динамічного встановлення тексту та значка.",
@@ -141,11 +155,29 @@
},
"right-click": {
"description": "Команда для виконання при правому кліку на кнопку.",
"label": "Правий клік"
"label": "Правий клік",
"update-text": "Оновити текст, що відображається, при натисканні правою кнопкою миші"
},
"text-stream": {
"description": "Потокові рядки з команди відображатимуться як текст на кнопці.",
"label": "Потік"
},
"wheel": {
"description": "Команда для виконання при використанні колеса прокрутки.\nВикористовуйте $delta для дельти колеса прокрутки в команді",
"label": "Колесо прокрутки",
"update-text": "Оновити відображуваний текст при прокрутці"
},
"wheel-down": {
"description": "Команда для виконання при прокрутці колеса вниз.",
"label": "Команда прокрутки колеса вниз"
},
"wheel-mode-separate": {
"description": "Увімкнути окремі команди для колеса прокрутки вгору та вниз",
"label": "Окремі команди колеса прокрутки"
},
"wheel-up": {
"description": "Команда для виконання при прокрутці колеса вгору.",
"label": "Команда прокрутки колеса вгору"
}
},
"dialog": {
@@ -191,10 +223,18 @@
"description": "Відображати обкладинку альбому для поточного треку.",
"label": "Показувати обкладинку альбому"
},
"show-artist-first": {
"description": "Відображати виконавець - назва замість назва - виконавець.",
"label": "Показувати спочатку виконавця"
},
"show-visualizer": {
"description": "Відображати аудіовізуалізатор під час відтворення музики.",
"label": "Показувати візуалізатор"
},
"show-progress-ring": {
"description": "Відображати круговий індикатор прогресу, що показує просування треку.",
"label": "Показувати кільце прогресу"
},
"use-fixed-width": {
"description": "Коли увімкнено, віджет завжди використовуватиме максимальну ширину замість динамічного налаштування до вмісту.",
"label": "Використовувати фіксовану ширину"
@@ -231,6 +271,9 @@
}
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "Використання ЦП (Критичний)"
},
"cpu-temperature": {
"description": "Показувати показники температури ЦП, якщо доступно.",
"label": "Температура ЦП"
@@ -239,6 +282,25 @@
"description": "Відображати поточний відсоток використання ЦП.",
"label": "Використання ЦП"
},
"cpu-warning-threshold": {
"label": "Використання ЦП (Попередження)"
},
"disk-critical-threshold": {
"label": "Місце на диску (Критичний)"
},
"disk-path": {
"description": "Виберіть точку монтування диска для моніторингу.",
"label": "Шлях до диска"
},
"disk-warning-threshold": {
"label": "Місце на диску (Попередження)"
},
"mem-critical-threshold": {
"label": "Використання пам'яті (Критичний)"
},
"mem-warning-threshold": {
"label": "Використання пам'яті (Попередження)"
},
"memory-percentage": {
"description": "Показувати використання пам'яті у відсотках замість абсолютних значень.",
"label": "Пам'ять у відсотках"
@@ -254,6 +316,16 @@
"storage-usage": {
"description": "Показувати інформацію про використання дискового простору.",
"label": "Використання сховища"
},
"temp-critical-threshold": {
"label": "Температура ЦП (Критичний)"
},
"temp-warning-threshold": {
"label": "Температура ЦП (Попередження)"
},
"thresholds": {
"description": "Встановіть пороги для оповіщень системних метрик. Виділяє при перевищенні.",
"header": "Налаштування порогів"
}
},
"taskbar": {
@@ -274,6 +346,12 @@
"label": "Тільки з того ж виходу"
}
},
"taskbar-grouped": {
"show-labels-only-when-occupied": {
"description": "Показувати мітку робочого простору лише для робочих просторів, які мають відкриті вікна.",
"label": "Показувати мітку лише коли зайнято"
}
},
"tray": {
"colorize-icons": {
"description": "Застосувати кольори теми до значків трея.",
@@ -299,6 +377,10 @@
"description": "Не відображати робочі простори без вікон.",
"label": "Приховати незайняті"
},
"follow-focused-screen": {
"description": "Відображати робочі простори з поточного активного екрана, а не з екрана, на якому розташована панель.",
"label": "Слідувати за Активним Екраном"
},
"label-mode": {
"description": "Виберіть, як відображаються мітки робочих просторів.",
"label": "Режим міток"
@@ -307,21 +389,20 @@
}
},
"battery": {
"brightness": "Яскравість",
"charge-level": "Рівень заряду",
"charging": "Зарядка.",
"charging-rate": "Швидкість зарядки: {rate} Вт.",
"discharging": "Розрядка.",
"discharging-rate": "Швидкість розрядки: {rate} Вт.",
"health": "Здоров'я: {percent}%",
"idle": "Бездіяльність.",
"inhibit-idle-description": "Підтримує систему активною.",
"inhibit-idle-label": "Не давати заснути",
"no-battery-detected": "Батарею не виявлено.",
"panel": {
"balanced": "Збалансований ({percent}%)",
"disabled": "Менеджер батареї вимкнено",
"full": "Повна ємність ({percent}%)",
"lifespan": "Подовжений термін служби ({percent}%)",
"title": "Поріг зарядки"
},
"panel-title": "Батарея",
"plugged-in": "Підключено.",
"power-profile": "Профіль живлення",
"time-left": "Залишилось часу: {time}.",
"time-until-full": "Час до повного заряду: {time}."
},
@@ -349,9 +430,61 @@
"loading": "Завантаження погоди…"
}
},
"changelog": {
"error": {
"fetch-failed": "Не вдалося завантажити дані журналу змін. Будь ласка, спробуйте пізніше.",
"rate-limit": "Перевищено ліміт GitHub. Спробуйте ще раз за кілька хвилин."
},
"panel": {
"buttons": {
"discord": "Приєднатися до нашого Discord",
"dismiss": "Ок"
},
"empty": "Примітки до релізу ще недоступні.",
"highlight-title": "Основні зміни",
"section": {
"released": "Випущено {date}",
"version": "Версія {version}"
},
"subtitle": {
"fresh": "Дякуємо, що встановили Noctalia! Ось що містить цей білд.",
"updated": "Оновлено з {previousVersion}"
},
"title": "Що нового у {version}",
"version": {
"new-user": "Нове встановлення"
}
}
},
"clock": {
"tooltip": "Відкрити календар"
},
"context-menu": {
"activate-app": "Активувати {app}",
"clear-history": "Очистити історію",
"close-app": "Закрити {app}",
"connect-vpn": "Підключитися до {name}",
"cycle-visualizer": "Візуалізатор циклів",
"disable-bluetooth": "Вимкнути Bluetooth",
"disable-dnd": "Вимкнути режим \"Не турбувати\"",
"disable-wifi": "Вимкнути Wi-Fi",
"disconnect-vpn": "Відключити {name}",
"enable-bluetooth": "Увімкнути Bluetooth",
"enable-dnd": "Увімкнути режим \"Не турбувати\"",
"enable-wifi": "Увімкнути Wi-Fi",
"next": "Наступний",
"open-calendar": "Відкрити календар",
"open-display-settings": "Параметри дисплея",
"open-launcher": "Відкрити панель запуску",
"open-mixer": "Аудіомікшер",
"open-settings": "Відкрити налаштування",
"pause": "Пауза",
"play": "Грати",
"previous": "Попередній",
"random-wallpaper": "Випадкові шпалери",
"toggle-mute": "Увімкнути/вимкнути звук",
"widget-settings": "Налаштування віджета"
},
"dock": {
"menu": {
"close": "Закрити",
@@ -384,6 +517,15 @@
"description": "Ваші сповіщення з'являтимуться тут по мірі надходження.",
"no-notifications": "Немає сповіщень",
"title": "Сповіщення"
},
"time": {
"now": "зараз",
"diffM": "1 хвилину тому",
"diffMM": "{diff} хвилин тому",
"diffH": "1 годину тому",
"diffHH": "{diff} годин тому",
"diffD": "1 день тому",
"diffDD": "{diff} днів тому"
}
},
"options": {
@@ -515,6 +657,7 @@
},
"workspace-labels": {
"index": "Індекс",
"index+name": "Індекс та назва",
"name": "Назва",
"none": "Немає"
}
@@ -530,6 +673,7 @@
"search": "Пошук...",
"search-icons": "напр., noctalia, niri, battery, cloud",
"search-launcher": "Пошук записів... або використовуйте > для команд",
"search-wallhaven": "Пошук у Wallhaven...",
"search-wallpapers": "Введіть для фільтрації шпалер...",
"select": "Вибрати",
"test": "Тест"
@@ -549,7 +693,11 @@
"clipboard-history-disabled-description": "Увімкніть історію буфера обміну в налаштуваннях або встановіть cliphist",
"clipboard-loading": "Завантаження історії буфера обміну...",
"clipboard-loading-description": "Зачекайте, будь ласка",
"clipboard-search-description": "Пошук в історії буфера обміну"
"clipboard-search-description": "Пошук в історії буфера обміну",
"emoji": "Обрати емодзі",
"emoji-loading": "Завантаження емодзі...",
"emoji-loading-description": "Зачекайте, будь ласка",
"emoji-search-description": "Пошук і копіювання емодзі"
},
"quickSettings": {
"bluetooth": {
@@ -626,6 +774,7 @@
},
"session-menu": {
"action-in-seconds": "{action} через {seconds} секунд...",
"hibernate": "Гібернація",
"lock": "Заблокувати",
"lock-and-suspend": "Заблокувати та призупинити",
"logout": "Вийти",
@@ -670,6 +819,11 @@
"label": "Аудіопристрої"
}
},
"external-mixer": {
"description": "Введіть команду або шлях до програми для запуску при активації функції зовнішнього аудіомікшера.",
"label": "Команда зовнішнього аудіомікшера",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Додайте ключові слова для плеєрів, які система має ігнорувати. Кожне ключове слово на новому рядку.",
@@ -744,6 +898,10 @@
"description": "Налаштуйте непрозорість фону панелі.",
"label": "Непрозорість фону"
},
"capsule-opacity": {
"description": "Встановити рівень непрозорості для фону віджетів, коли показано капсулу.",
"label": "Непрозорість капсули"
},
"density": {
"description": "Налаштуйте відступи панелі для компактного або просторого вигляду.",
"label": "Щільність панелі"
@@ -836,6 +994,41 @@
"label": "Темний режим"
}
},
"delete": {
"error": {
"description": "Не вдалося видалити {scheme}",
"title": "Помилка видалення"
},
"success": {
"description": "{scheme} успішно видалено",
"title": "Кольорову схему видалено"
}
},
"download": {
"button": "Завантажити ще",
"delete": "Видалити",
"download": "Завантажити",
"downloading": "Завантаження...",
"empty": "Немає доступних кольорових схем",
"error": {
"api-error": "Помилка API: {status}",
"description": "Не вдалося завантажити {scheme}",
"download-failed": "Помилка завантаження з кодом виходу: {code}",
"invalid-response": "Невірний формат відповіді API",
"no-files": "Файли для схеми не знайдено",
"parse-failed": "Помилка парсингу відповіді API: {error}",
"rate-limit": "Перевищено ліміт запитів GitHub API",
"title": "Помилка завантаження"
},
"fetching": "Отримання доступних кольорових схем...",
"installed": "Встановлено",
"refresh": "Оновити",
"success": {
"description": "{scheme} успішно завантажено",
"title": "Кольорову схему завантажено"
},
"title": "Завантажити кольорові схеми"
},
"predefined": {
"generate-templates": {
"description": "Генерувати шаблони Matugen (GTK, теми терміналу тощо) при використанні попередньо визначених колірних схем.",
@@ -858,7 +1051,7 @@
"programs": {
"code": {
"description": "Записати {filepath}. Тему Hyprluna потрібно встановити та активувати вручну.",
"description-missing": "Потрібна установка {app}"
"description-missing": "Клієнт Code не виявлено. Встановіть VSCode або VSCodium."
},
"description": "Оформлення окремих програм.",
"discord": {
@@ -874,6 +1067,18 @@
"description": "Записати {filepath} та запустити pywalfox update",
"description-missing": "Потрібна установка {app}"
},
"spicetify": {
"description": "Записати {filepath}. Тему Comfy потрібно встановити та активувати вручну.",
"description-missing": "Потрібна установка {app}"
},
"telegram": {
"description": "Записати {filepath}.",
"description-missing": "Потрібна установка {app}"
},
"cava": {
"description": "Записати {filepath}.",
"description-missing": "Потрібна установка {app}"
},
"vicinae": {
"description": "Записати {filepath} та перезавантажити",
"description-missing": "Потрібна установка {app}"
@@ -1070,6 +1275,10 @@
"description": "Налаштуйте непрозорість фону дока.",
"label": "Непрозорість фону"
},
"border-radius": {
"description": "Налаштуйте радіус заокруглення країв док-панелі.",
"label": "Радіус заокруглення"
},
"colorize-icons": {
"description": "Застосувати кольори теми до значків програм у доці (тільки неактивні програми).",
"label": "Розфарбувати значки"
@@ -1221,6 +1430,10 @@
"description": "Налаштуйте непрозорість фону запускача.",
"label": "Непрозорість фону"
},
"clip-preview": {
"description": "Показувати попередній перегляд вмісту буфера обміну при використанні команди >clip.",
"label": "Увімкнути попередній перегляд буфера обміну"
},
"clipboard-history": {
"description": "Отримати доступ до раніше скопійованих елементів із запускача.",
"label": "Увімкнути історію буфера обміну"
@@ -1309,6 +1522,10 @@
"description": "Виберіть бажану одиницю температури.",
"label": "Погода"
},
"show-effects": {
"description": "Показує додаткові візуальні ефекти (наприклад, дощ, сніг або блискавку) на картці погоди.",
"label": "Відображати погодні ефекти"
},
"show-in-calendar": {
"description": "Показувати щоденний прогноз погоди безпосередньо в календарі.",
"label": "Відображати погоду в календарі"
@@ -1324,6 +1541,10 @@
"description": "Автоматично блокувати екран при призупиненні системи.",
"label": "Блокувати при призупиненні"
},
"show-hibernate": {
"description": "Показувати опцію 'сплячий режим' у діях живлення.",
"label": "Показувати сплячий режим"
},
"title": "Екран блокування"
},
"network": {
@@ -1352,6 +1573,7 @@
"description": "Як довго залишаються видимими сповіщення звичайного пріоритету.",
"label": "Звичайна терміновість"
},
"reset": "Скинути тривалість очікування",
"respect-expire": {
"description": "Використовувати час закінчення, встановлений у сповіщенні.",
"label": "Дотримуватись часу закінчення"
@@ -1397,13 +1619,27 @@
"label": "Зовнішній вигляд"
}
},
"title": "Сповіщення"
"title": "Сповіщення",
"toast": {
"keyboard": {
"description": "Показувати сповіщення при зміні розкладки клавіатури.",
"label": "Розкладка клавіатури"
},
"section": {
"description": "Налаштуйте зовнішній вигляд і поведінку спливаючих сповіщень.",
"label": "Тост"
}
}
},
"osd": {
"always-on-top": {
"description": "Відображати екранну індикацію поверх повноекранних вікон та інших шарів.",
"label": "Завжди зверху"
},
"background-opacity": {
"description": "Керує прозорістю фону OSD.",
"label": "Прозорість фону"
},
"description": "Налаштуйте екранні індикатори, такі як накладки гучності та яскравості.",
"duration": {
"auto-hide": {
@@ -1496,7 +1732,107 @@
}
}
},
"session-menu": {
"countdown-duration": {
"description": "Встановити, як довго триває таймер зворотного відліку перед виконанням дій живлення.",
"label": "Тривалість зворотного відліку"
},
"enable-countdown": {
"description": "Показувати таймер зворотного відліку перед виконанням дій живлення.",
"label": "Увімкнути таймер зворотного відліку"
},
"entries": {
"section": {
"description": "Налаштувати, які дії живлення відображаються в меню сеансу та в якому порядку.",
"label": "Дії живлення"
}
},
"general": {
"section": {
"description": "Налаштувати поведінку та зовнішній вигляд панелі меню сеансу.",
"label": "Загальні"
}
},
"position": {
"description": "Виберіть, де з'являється панель меню сеансу при відкритті.",
"label": "Позиція"
},
"show-header": {
"description": "Відображати заголовок та кнопку закриття в верхній частині меню сеансу.",
"label": "Показувати заголовок"
},
"title": "Меню сеансу"
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "Критичний поріг"
},
"cpu-section": {
"label": "Використання ЦП"
},
"cpu-warning-threshold": {
"label": "Поріг попередження"
},
"critical-color": {
"label": "Критичний колір"
},
"custom-highlight-colors-title": {
"label": "Власні кольори підсвічування"
},
"disk-critical-threshold": {
"label": "Критичний поріг"
},
"disk-section": {
"label": "Використання диска"
},
"disk-warning-threshold": {
"label": "Поріг попередження"
},
"general": {
"section": {
"description": "Налаштуйте поведінку та зовнішній вигляд Системного монітора.",
"label": "Загальне"
}
},
"highlight-colors-section": {
"label": "Кольори підсвічування"
},
"mem-critical-threshold": {
"label": "Критичний поріг"
},
"mem-warning-threshold": {
"label": "Поріг попередження"
},
"memory-section": {
"label": "Використання пам'яті"
},
"temp-critical-threshold": {
"label": "Критичний поріг"
},
"temp-warning-threshold": {
"label": "Поріг попередження"
},
"temperature-section": {
"label": "Температура ЦП"
},
"thresholds-section": {
"description": "Встановіть пороги для системних метрик; значення вище будуть підсвічені.",
"label": "Пороги"
},
"title": "Системний монітор",
"use-custom-highlight-colors": {
"description": "Якщо вимкнено, використовуються кольори підсвічування за замовчуванням теми.",
"label": "Використовувати власні кольори підсвічування"
},
"warning-color": {
"label": "Колір попередження"
}
},
"user-interface": {
"allow-panels-without-bar": {
"description": "Якщо ввімкнено, панелі можуть відкриватися на будь-якому екрані. Якщо вимкнено, панелі відкриватимуться лише на екранах, де є панель завдань, що може зменшити використання пам'яті.",
"label": "Дозволити панелі на екранах без панелі завдань."
},
"animation-disable": {
"description": "Вимкнути всі анімації для швидшого, більш відгукового досвіду.",
"label": "Вимкнути анімації інтерфейсу"
@@ -1515,6 +1851,15 @@
"description": "Затемнювати робочий стіл, коли відкриті панелі або меню.",
"label": "Приглушити робочий стіл"
},
"dimmer-opacity": {
"description": "Встановити рівень непрозорості для затемнення робочого столу.",
"label": "Непрозорість приглушеного робочого столу",
"reset": "Скинути непрозорість приглушеного робочого столу"
},
"panel-background-opacity": {
"description": "Встановити прозорість фону для всіх панелей (Launcher, Центр керування, Налаштування тощо).",
"label": "Прозорість фону панелей"
},
"panels-attached-to-bar": {
"description": "Панелі фіксуються до штанги та країв екрана, створюючи бездоганний вигляд зі стильними перевернутими кутами.",
"label": "Прив'язувати панелі до країв"
@@ -1607,6 +1952,10 @@
"label": "Тека шпалер",
"tooltip": "Огляд теки шпалер"
},
"hide-wallpaper-filenames": {
"description": "Приховати назви файлів шпалер у селекторі.",
"label": "Приховати імена файлів"
},
"monitor-specific": {
"description": "Встановити різні теки шпалер для кожного монітора.",
"label": "Окремі теки для моніторів",
@@ -1622,6 +1971,11 @@
},
"select-folder": "Вибрати теку шпалер",
"select-monitor-folder": "Вибрати теку шпалер монітора",
"selector": {
"description": "Виберіть свої шпалери.",
"label": "Вибір шпалер",
"tooltip": "Відкрити вибір шпалер"
},
"selector-position": {
"description": "Виберіть, де відображатиметься панель вибору шпалер.",
"label": "Позиція"
@@ -1686,19 +2040,6 @@
"low": "Низький заряд батареї",
"low-desc": "Батарея на {percent}%. Будь ласка, підключіть зарядний пристрій."
},
"battery-manager": {
"initial-setup": "Потрібне початкове налаштування",
"install-failed": "Помилка встановлення",
"install-missing": "Необхідні файли відсутні",
"install-success": "Встановлено успішно",
"install-unsupported": "Система не підтримується",
"set-failed": "Не вдалося встановити поріг батареї",
"set-success-desc": "Поріг батареї встановлено на {percent}%",
"title": "Поріг батареї",
"uninstall-failed": "Помилка видалення",
"uninstall-setup": "Видалення, потрібна автентифікація",
"uninstall-success": "Видалено успішно"
},
"bluetooth": {
"disabled": "Вимкнено",
"enabled": "Увімкнено"
@@ -1724,6 +2065,9 @@
"disabled": "Вимкнено",
"enabled": "Увімкнено"
},
"keyboard-layout": {
"changed": "Розкладка клавіатури змінена на {layout}"
},
"kofi": {
"opened": "Сторінка Ko-fi відкрита у вашому браузері"
},
@@ -1764,6 +2108,10 @@
"title-matugen": "Помилка обробки шаблонів Matugen",
"title-predefined": "Помилка обробки попередньо визначеної колірної схеми"
},
"vpn": {
"connected": "Підключено до '{name}'",
"disconnected": "Відключено від '{name}'"
},
"wallpaper-colors": {
"disabled": "Кольори шпалер вимкнено",
"enabled": "Кольори шпалер увімкнено",
@@ -1788,15 +2136,16 @@
"close": "Закрити",
"connect-disconnect-devices": "Лівий клік для підключення. Правий клік для забування.",
"delete-notification": "Видалити сповіщення",
"disable-keep-awake": "Вимкнути режим неспання",
"disable-keep-awake": "Клацніть, щоб вимкнути режим неспання.\nПрокрутіть, щоб налаштувати тайм-аут.",
"do-not-disturb-disabled": "'Не турбувати' вимкнено",
"do-not-disturb-enabled": "'Не турбувати' увімкнено",
"enable-keep-awake": "Увімкнути режим неспання",
"enable-keep-awake": "Клацніть, щоб увімкнути режим неспання.\nПрокрутіть, щоб налаштувати тайм-аут.",
"forget-network": "Забути мережу",
"home": "Додому",
"input-muted": "Перемкнути вимкнення входу",
"keep-awake": "Не спати",
"keyboard-layout": "Розкладка клавіатури {layout}",
"manage-vpn": "Керувати підключеннями VPN",
"manage-wifi": "Керувати Wi-Fi",
"microphone-volume-at": "Гучність мікрофона на {volume}%\nЛівий клік для налаштувань. Правий клік для вимкнення звуку.\nПрокрутка для зміни гучності.",
"move-to-center-section": "Перемістити в центральну секцію",
@@ -1824,6 +2173,7 @@
"previous-month": "Попередній місяць",
"refresh": "Оновити",
"refresh-devices": "Оновити пристрої",
"refresh-wallhaven": "Оновити результати Wallhaven",
"refresh-wallpaper-list": "Оновити список шпалер",
"remove-widget": "Видалити віджет",
"screen-recorder-not-installed": "Запис екрана не встановлено",
@@ -1853,8 +2203,51 @@
"description": "Застосувати вибрані шпалери до всіх моніторів одночасно.",
"label": "Застосувати до всіх моніторів"
},
"categories": {
"anime": "Аніме",
"general": "Загальне",
"label": "Категорії",
"people": "Люди"
},
"order": {
"asc": "За зростанням",
"desc": "За спаданням",
"label": "Порядок"
},
"purity": {
"all": "Всі",
"label": "Фільтр контенту",
"sfw": "SFW",
"sketchy": "Sketchy"
},
"resolution": {
"atleast": "Принаймні",
"exact": "Точно",
"label": "Роздільна здатність",
"mode": {
"label": "Режим"
}
},
"search": "Пошук:",
"title": "Вибір шпалер"
"sorting": {
"date_added": "Дата додавання",
"favorites": "Обране",
"label": "Сортувати за",
"random": "Випадково",
"relevance": "Релевантність",
"toplist": "Топ-лист",
"views": "Перегляди"
},
"source": {
"label": "Джерело",
"local": "Локальний",
"wallhaven": "Wallhaven"
},
"title": "Вибір шпалер",
"wallhaven-settings": {
"apply": "Застосувати",
"title": "Налаштування Wallhaven"
}
},
"transitions": {
"disc": "Диск",
@@ -1864,7 +2257,13 @@
"stripes": "Смуги",
"wipe": "Змітання"
},
"try-different-search": "Спробуйте інший пошуковий запит."
"try-different-search": "Спробуйте інший пошуковий запит.",
"unknown": "Невідомо",
"wallhaven": {
"loading": "Завантаження шпалер...",
"no-results": "Шпалери не знайдено. Спробуйте інший пошуковий запит.",
"page": "{current} з {total}"
}
},
"weather": {
"clear-sky": "Ясне небо",
@@ -1881,23 +2280,11 @@
"widgets": {
"color-picker": {
"apply": "Застосувати",
"brightness": "Яскравість",
"cancel": "Скасувати",
"hex": {
"description": "Введіть шістнадцятковий код кольору.",
"label": "Hex-колір"
},
"palette": {
"description": "Виберіть із широкого діапазону попередньо визначених кольорів.",
"label": "Палітра"
},
"rgb": {
"description": "Налаштуйте значення червоного, зеленого, синього та яскравості.",
"label": "Значення RGB"
},
"theme-colors": {
"description": "Швидкий доступ до колірної палітри вашої теми.",
"label": "Кольори теми"
"label": "Палітра",
"theme-colors": "Швидкий доступ до колірної палітри вашої теми."
},
"title": "Вибір кольору"
},
@@ -1973,6 +2360,7 @@
},
"wifi": {
"panel": {
"available-networks": "Доступні мережі",
"connect": "Підключити",
"connected": "Підключено",
"disabled": "Wi-Fi вимкнено",
@@ -1983,6 +2371,7 @@
"forget": "Забути",
"forget-network": "Забути цю мережу?",
"forgetting": "Забування...",
"known-networks": "Відомі мережі",
"no-networks": "Мереж не знайдено",
"password": "Пароль",
"saved": "Збережено",

View File

@@ -97,6 +97,10 @@
"control-center": {
"browse-file": "浏览文件",
"browse-library": "浏览库",
"colorize-distro-logo": {
"description": "将主题颜色应用到您的发行版徽标。",
"label": "为发行版徽标着色"
},
"icon": {
"description": "从库中选择图标或自定义文件。",
"label": "图标"
@@ -125,11 +129,21 @@
},
"left-click": {
"description": "左键点击按钮时执行的命令。",
"label": "左键点击"
"label": "左键点击",
"update-text": "左键单击时更新显示的文本"
},
"max-text-length-horizontal": {
"description": "在水平栏中显示的最大字符数0 为隐藏文本)",
"label": "最大文本长度(水平)"
},
"max-text-length-vertical": {
"description": "在垂直栏中显示的最大字符数0 为隐藏文本)",
"label": "最大文本长度(垂直)"
},
"middle-click": {
"description": "中键点击按钮时执行的命令。",
"label": "中键点击"
"label": "中键点击",
"update-text": "鼠标中键点击时更新显示的文本"
},
"parse-json": {
"description": "将命令输出解析为 JSON 对象,以动态设置文本和图标。",
@@ -141,11 +155,29 @@
},
"right-click": {
"description": "右键点击按钮时执行的命令。",
"label": "右键点击"
"label": "右键点击",
"update-text": "右键单击时更新显示的文本"
},
"text-stream": {
"description": "来自命令的流式输出行将作为文本显示在按钮上。",
"label": "流"
},
"wheel": {
"description": "使用滚轮时执行的命令。\n在命令中使用 $delta 表示滚轮增量",
"label": "滚轮",
"update-text": "滚轮滚动时更新显示的文本"
},
"wheel-down": {
"description": "滚轮向下滚动时执行的命令。",
"label": "滚轮向下命令"
},
"wheel-mode-separate": {
"description": "为滚轮向上和向下启用单独的命令",
"label": "分开滚轮命令"
},
"wheel-up": {
"description": "滚轮向上滚动时执行的命令。",
"label": "滚轮向上命令"
}
},
"dialog": {
@@ -191,10 +223,18 @@
"description": "显示当前播放曲目的专辑封面。",
"label": "显示专辑封面"
},
"show-artist-first": {
"description": "显示艺术家 - 标题,而不是标题 - 艺术家。",
"label": "先显示艺术家"
},
"show-visualizer": {
"description": "播放音乐时显示音频可视化器。",
"label": "显示可视化器"
},
"show-progress-ring": {
"description": "显示显示曲目进度的圆形进度指示器。",
"label": "显示进度环"
},
"use-fixed-width": {
"description": "启用后,小部件将始终使用最大宽度,而不根据内容动态调整。",
"label": "使用固定宽度"
@@ -213,10 +253,10 @@
"notification-history": {
"hide-badge-when-zero": {
"description": "当没有未读通知时隐藏通知徽章。",
"label": "时隐藏徽章"
"label": "时隐藏徽章"
},
"show-unread-badge": {
"description": "显示示未读通知数量的徽章。",
"description": "显示一个用于展示未读通知数量的徽章。",
"label": "显示未读徽章"
}
},
@@ -231,6 +271,9 @@
}
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "CPU 使用率(严重)"
},
"cpu-temperature": {
"description": "如果可用显示CPU温度读数。",
"label": "CPU温度"
@@ -239,6 +282,25 @@
"description": "显示当前CPU使用百分比。",
"label": "CPU使用率"
},
"cpu-warning-threshold": {
"label": "CPU 使用率(警告)"
},
"disk-critical-threshold": {
"label": "存储空间(严重)"
},
"disk-path": {
"description": "选择要监控的磁盘挂载点。",
"label": "磁盘路径"
},
"disk-warning-threshold": {
"label": "存储空间(警告)"
},
"mem-critical-threshold": {
"label": "内存使用率(严重)"
},
"mem-warning-threshold": {
"label": "内存使用率(警告)"
},
"memory-percentage": {
"description": "以百分比而不是绝对值显示内存使用情况。",
"label": "内存百分比"
@@ -254,6 +316,16 @@
"storage-usage": {
"description": "显示磁盘空间使用信息。",
"label": "存储使用率"
},
"temp-critical-threshold": {
"label": "CPU 温度(严重)"
},
"temp-warning-threshold": {
"label": "CPU 温度(警告)"
},
"thresholds": {
"description": "配置系统指标提示的阈值,超出阈值时将以高亮色进行提示。",
"header": "阈值设置"
}
},
"taskbar": {
@@ -274,6 +346,12 @@
"label": "仅显示同屏幕"
}
},
"taskbar-grouped": {
"show-labels-only-when-occupied": {
"description": "只显示有打开窗口的工作区标签。",
"label": "仅在被占用时显示标签"
}
},
"tray": {
"colorize-icons": {
"description": "将主题颜色应用到系统托盘图标。",
@@ -299,6 +377,10 @@
"description": "不显示没有窗口的工作区。",
"label": "隐藏未占用"
},
"follow-focused-screen": {
"description": "显示当前焦点屏幕的工作区,而不是任务栏所在屏幕的工作区。",
"label": "跟随焦点屏幕"
},
"label-mode": {
"description": "选择工作区标签的显示方式。",
"label": "标签模式"
@@ -307,21 +389,20 @@
}
},
"battery": {
"brightness": "亮度",
"charge-level": "电量",
"charging": "正在充电。",
"charging-rate": "充电速率:{rate} W。",
"discharging": "正在放电。",
"discharging-rate": "放电速率:{rate} W。",
"health": "健康状况:{percent}%",
"idle": "空闲。",
"inhibit-idle-description": "保持系统唤醒。",
"inhibit-idle-label": "保持唤醒",
"no-battery-detected": "未检测到电池。",
"panel": {
"balanced": "平衡 ({percent}%)",
"disabled": "电池管理器已禁用",
"full": "完全容量 ({percent}%)",
"lifespan": "延长寿命 ({percent}%)",
"title": "充电阈值"
},
"panel-title": "电池",
"plugged-in": "已接通电源。",
"power-profile": "电源模式",
"time-left": "剩余时间:{time}。",
"time-until-full": "充满所需时间:{time}。"
},
@@ -349,9 +430,61 @@
"loading": "正在加载天气…"
}
},
"changelog": {
"error": {
"fetch-failed": "无法加载更新日志数据,请稍后再试。",
"rate-limit": "已达到 GitHub 速率限制,请稍后再试。"
},
"panel": {
"buttons": {
"discord": "加入我们的 Discord",
"dismiss": "确定"
},
"empty": "暂时没有可用的发行说明。",
"highlight-title": "重点更新",
"section": {
"released": "{date} 发布",
"version": "版本 {version}"
},
"subtitle": {
"fresh": "感谢安装 Noctalia以下是本次构建包含的内容。",
"updated": "已从 {previousVersion} 更新"
},
"title": "{version} 有哪些更新",
"version": {
"new-user": "全新安装"
}
}
},
"clock": {
"tooltip": "打开日历"
},
"context-menu": {
"activate-app": "激活 {app}",
"clear-history": "清除历史记录",
"close-app": "关闭 {app}",
"connect-vpn": "连接 {name}",
"cycle-visualizer": "切换可视化器样式",
"disable-bluetooth": "禁用蓝牙",
"disable-dnd": "关闭勿扰模式",
"disable-wifi": "禁用Wi-Fi",
"disconnect-vpn": "断开 {name}",
"enable-bluetooth": "启用蓝牙",
"enable-dnd": "启用勿扰模式",
"enable-wifi": "启用 Wi-Fi",
"next": "下一首",
"open-calendar": "打开日历",
"open-display-settings": "显示设置",
"open-launcher": "打开启动器",
"open-mixer": "音频混音器",
"open-settings": "打开设置",
"pause": "暂停",
"play": "播放",
"previous": "上一首",
"random-wallpaper": "随机壁纸",
"toggle-mute": "切换静音",
"widget-settings": "小部件设置"
},
"dock": {
"menu": {
"close": "关闭",
@@ -384,6 +517,15 @@
"description": "您的通知将在到达时显示在此处。",
"no-notifications": "无通知",
"title": "通知"
},
"time": {
"now": "现在",
"diffM": "1 分钟前",
"diffMM": "{diff} 分钟前",
"diffH": "1 小时前",
"diffHH": "{diff} 小时前",
"diffD": "1 天前",
"diffDD": "{diff} 天前"
}
},
"options": {
@@ -515,6 +657,7 @@
},
"workspace-labels": {
"index": "索引",
"index+name": "索引和名称",
"name": "名称",
"none": "无"
}
@@ -530,6 +673,7 @@
"search": "搜索...",
"search-icons": "例如noctalia, niri, battery, cloud",
"search-launcher": "搜索条目...或使用 > 执行命令",
"search-wallhaven": "搜索 Wallhaven...",
"search-wallpapers": "输入以筛选壁纸...",
"select": "选择",
"test": "测试"
@@ -549,7 +693,11 @@
"clipboard-history-disabled-description": "在设置中启用剪贴板历史记录或安装 cliphist",
"clipboard-loading": "正在加载剪贴板历史记录...",
"clipboard-loading-description": "请稍候",
"clipboard-search-description": "搜索剪贴板历史记录"
"clipboard-search-description": "搜索剪贴板历史记录",
"emoji": "表情符号选择器",
"emoji-loading": "正在加载表情符号...",
"emoji-loading-description": "请稍候",
"emoji-search-description": "搜索和复制表情符号"
},
"quickSettings": {
"bluetooth": {
@@ -626,6 +774,7 @@
},
"session-menu": {
"action-in-seconds": "在 {seconds} 秒后将{action}...",
"hibernate": "休眠",
"lock": "锁定",
"lock-and-suspend": "锁定并挂起",
"logout": "注销",
@@ -670,6 +819,11 @@
"label": "音频设备"
}
},
"external-mixer": {
"description": "输入激活外部音频混音器功能时要启动的命令或应用程序路径。",
"label": "外部音频混音器命令",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "添加您希望系统忽略的播放器关键词。每个关键词应单独占一行。",
@@ -744,6 +898,10 @@
"description": "调整状态栏的背景不透明度。",
"label": "背景不透明度"
},
"capsule-opacity": {
"description": "设置显示胶囊时小部件背景的不透明度。",
"label": "胶囊不透明度"
},
"density": {
"description": "调整状态栏的内边距以获得紧凑或宽松的外观。",
"label": "状态栏密度"
@@ -836,6 +994,41 @@
"label": "深色模式"
}
},
"delete": {
"error": {
"description": "删除 {scheme} 失败",
"title": "删除失败"
},
"success": {
"description": "成功删除 {scheme}",
"title": "配色方案已删除"
}
},
"download": {
"button": "下载更多",
"delete": "删除",
"download": "下载",
"downloading": "正在下载...",
"empty": "没有可用的配色方案",
"error": {
"api-error": "API 错误: {status}",
"description": "下载 {scheme} 失败",
"download-failed": "下载失败,退出代码: {code}",
"invalid-response": "无效的 API 响应格式",
"no-files": "未找到方案的文件",
"parse-failed": "解析 API 响应失败: {error}",
"rate-limit": "GitHub API 速率限制已超出",
"title": "下载失败"
},
"fetching": "正在获取可用的配色方案...",
"installed": "已安装",
"refresh": "刷新",
"success": {
"description": "成功下载 {scheme}",
"title": "配色方案已下载"
},
"title": "下载配色方案"
},
"predefined": {
"generate-templates": {
"description": "使用预定义配色方案时生成 Matugen 模板GTK、终端主题等。",
@@ -858,7 +1051,7 @@
"programs": {
"code": {
"description": "写入 {filepath}。Hyprluna 主题需要手动安装和激活。",
"description-missing": "需要安装 {app}"
"description-missing": "未检测到 Code 客户端。请安装 VSCode 或 VSCodium。"
},
"description": "应用程序特定主题。",
"discord": {
@@ -874,6 +1067,18 @@
"description": "写入 {filepath} 并运行 pywalfox update",
"description-missing": "需要安装 {app}"
},
"spicetify": {
"description": "写入 {filepath}。Comfy 主题需要手动安装和激活。",
"description-missing": "需要安装 {app}"
},
"telegram": {
"description": "写入 {filepath}。",
"description-missing": "需要安装 {app}"
},
"cava": {
"description": "写入 {filepath}。",
"description-missing": "需要安装 {app}"
},
"vicinae": {
"description": "写入 {filepath} 并重新加载",
"description-missing": "需要安装 {app}"
@@ -1070,6 +1275,10 @@
"description": "调整 Dock 的背景不透明度。",
"label": "背景不透明度"
},
"border-radius": {
"description": "调整程序坞的边框半径。",
"label": "边框半径"
},
"colorize-icons": {
"description": "将主题颜色应用到 Dock 应用图标(仅限非聚焦应用)。",
"label": "着色图标"
@@ -1221,6 +1430,10 @@
"description": "调整启动器的背景不透明度。",
"label": "背景不透明度"
},
"clip-preview": {
"description": "在使用 >clip 命令时显示剪贴板内容的预览。",
"label": "启用剪贴板预览"
},
"clipboard-history": {
"description": "从启动器访问之前复制的项目。",
"label": "启用剪贴板历史记录"
@@ -1309,6 +1522,10 @@
"description": "选择您喜欢的温度单位。",
"label": "天气"
},
"show-effects": {
"description": "在天气卡片上显示额外的视觉效果(如雨、雪或闪电)。",
"label": "显示天气效果"
},
"show-in-calendar": {
"description": "直接在您的日历视图中显示每日天气预报。",
"label": "在日历中显示天气"
@@ -1324,6 +1541,10 @@
"description": "系统挂起时自动锁定屏幕。",
"label": "挂起时锁定"
},
"show-hibernate": {
"description": "在电源操作中显示'休眠'选项。",
"label": "显示休眠"
},
"title": "锁屏"
},
"network": {
@@ -1352,6 +1573,7 @@
"description": "正常优先级通知保持可见的时间。",
"label": "正常紧急度"
},
"reset": "重置超时时长",
"respect-expire": {
"description": "使用通知中设置的过期超时。",
"label": "尊重过期超时"
@@ -1397,13 +1619,27 @@
"label": "外观"
}
},
"title": "通知"
"title": "通知",
"toast": {
"keyboard": {
"description": "当键盘布局改变时显示一个Toast提示。",
"label": "键盘布局"
},
"section": {
"description": "配置Toast的外观和行为。",
"label": "吐司"
}
}
},
"osd": {
"always-on-top": {
"description": "在全屏窗口和其他图层之上显示OSD。",
"label": "始终置顶"
},
"background-opacity": {
"description": "调整OSD背景的透明度。",
"label": "背景透明度"
},
"description": "配置屏幕叠加指示器,例如音量和亮度。",
"duration": {
"auto-hide": {
@@ -1496,7 +1732,107 @@
}
}
},
"session-menu": {
"countdown-duration": {
"description": "设置倒计时计时器在执行电源操作之前持续多长时间。",
"label": "倒计时持续时间"
},
"enable-countdown": {
"description": "在执行电源操作之前显示倒计时计时器。",
"label": "启用倒计时计时器"
},
"entries": {
"section": {
"description": "自定义会话菜单中显示哪些电源操作及其顺序。",
"label": "电源操作"
}
},
"general": {
"section": {
"description": "配置会话菜单面板的行为和外观。",
"label": "常规"
}
},
"position": {
"description": "选择会话菜单面板打开时出现的位置。",
"label": "位置"
},
"show-header": {
"description": "在会话菜单顶部显示标题和关闭按钮。",
"label": "显示标题"
},
"title": "会话菜单"
},
"system-monitor": {
"cpu-critical-threshold": {
"label": "严重阈值"
},
"cpu-section": {
"label": "CPU 使用率"
},
"cpu-warning-threshold": {
"label": "警告阈值"
},
"critical-color": {
"label": "严重颜色"
},
"custom-highlight-colors-title": {
"label": "自定义高亮颜色"
},
"disk-critical-threshold": {
"label": "严重阈值"
},
"disk-section": {
"label": "磁盘使用率"
},
"disk-warning-threshold": {
"label": "警告阈值"
},
"general": {
"section": {
"description": "配置系统监视器的行为和外观。",
"label": "通用"
}
},
"highlight-colors-section": {
"label": "高亮颜色"
},
"mem-critical-threshold": {
"label": "严重阈值"
},
"mem-warning-threshold": {
"label": "警告阈值"
},
"memory-section": {
"label": "内存使用率"
},
"temp-critical-threshold": {
"label": "严重阈值"
},
"temp-warning-threshold": {
"label": "警告阈值"
},
"temperature-section": {
"label": "CPU 温度"
},
"thresholds-section": {
"description": "设置各项系统测量指标的阈值,超过该值将以高亮色进行提示。",
"label": "阈值"
},
"title": "系统监视器",
"use-custom-highlight-colors": {
"description": "关闭时将使用主题默认高亮颜色。",
"label": "使用自定义高亮颜色"
},
"warning-color": {
"label": "警告颜色"
}
},
"user-interface": {
"allow-panels-without-bar": {
"description": "启用后,面板可以在任何屏幕上打开。禁用后,面板将仅在有栏的屏幕上打开,这可以减少内存使用。",
"label": "允许在没有栏的屏幕上显示面板"
},
"animation-disable": {
"description": "禁用所有动画以获得更快、更流畅的体验。",
"label": "禁用 UI 动画"
@@ -1515,6 +1851,15 @@
"description": "当面板或菜单打开时,桌面变暗。",
"label": "昏暗的桌面"
},
"dimmer-opacity": {
"description": "设置桌面变暗时的不透明度。",
"label": "变暗桌面不透明度",
"reset": "重置变暗桌面不透明度"
},
"panel-background-opacity": {
"description": "设置所有面板的背景不透明度(启动器、控制中心、设置等)。",
"label": "面板背景不透明度"
},
"panels-attached-to-bar": {
"description": "面板锁定到边栏和屏幕边缘,形成无缝外观,并具有时尚的倒角。",
"label": "将面板对齐到边缘"
@@ -1607,6 +1952,10 @@
"label": "壁纸文件夹",
"tooltip": "浏览壁纸文件夹"
},
"hide-wallpaper-filenames": {
"description": "在选择器中隐藏壁纸文件名。",
"label": "隐藏文件名。"
},
"monitor-specific": {
"description": "为每个显示器设置不同的壁纸文件夹。",
"label": "显示器特定目录",
@@ -1622,6 +1971,11 @@
},
"select-folder": "选择壁纸文件夹",
"select-monitor-folder": "选择显示器壁纸文件夹",
"selector": {
"description": "选择你的壁纸。",
"label": "壁纸选择器",
"tooltip": "打开壁纸选择器"
},
"selector-position": {
"description": "选择壁纸选择面板的显示位置。",
"label": "选择器位置"
@@ -1686,19 +2040,6 @@
"low": "电量低",
"low-desc": "电量为 {percent}%。请连接充电器。"
},
"battery-manager": {
"initial-setup": "需要初始设置",
"install-failed": "安装失败",
"install-missing": "缺少必要文件",
"install-success": "安装成功",
"install-unsupported": "系统不受支持",
"set-failed": "设置电池阈值失败",
"set-success-desc": "电池阈值已设置为 {percent}%",
"title": "电池阈值",
"uninstall-failed": "卸载失败",
"uninstall-setup": "正在卸载,需要身份验证",
"uninstall-success": "卸载成功"
},
"bluetooth": {
"disabled": "已禁用",
"enabled": "已启用"
@@ -1724,6 +2065,9 @@
"disabled": "已禁用",
"enabled": "已启用"
},
"keyboard-layout": {
"changed": "键盘布局已更改为 {layout}"
},
"kofi": {
"opened": "Ko-fi 页面已在您的浏览器中打开"
},
@@ -1764,6 +2108,10 @@
"title-matugen": "Matugen模板处理失败",
"title-predefined": "预定义的颜色方案处理失败"
},
"vpn": {
"connected": "已连接到“{name}”",
"disconnected": "已断开与“{name}”的连接"
},
"wallpaper-colors": {
"disabled": "壁纸颜色已禁用",
"enabled": "壁纸颜色已启用",
@@ -1788,15 +2136,16 @@
"close": "关闭",
"connect-disconnect-devices": "左键点击连接。右键点击忘记。",
"delete-notification": "删除通知",
"disable-keep-awake": "禁用保持唤醒",
"disable-keep-awake": "单击以禁用保持唤醒。\n滚动以调整超时。",
"do-not-disturb-disabled": "'勿扰模式'已禁用",
"do-not-disturb-enabled": "'勿扰模式'已启用",
"enable-keep-awake": "启用保持唤醒",
"enable-keep-awake": "单击以启用保持唤醒。\n滚动以调整超时。",
"forget-network": "忘记网络",
"home": "主目录",
"input-muted": "静音输入设备",
"keep-awake": "保持唤醒",
"keyboard-layout": "{layout} 键盘布局",
"manage-vpn": "管理 VPN 连接",
"manage-wifi": "管理 Wi-Fi",
"microphone-volume-at": "麦克风音量 {volume}%\n左键点击进入设置。右键点击切换静音。\n滚动滚轮调节音量。",
"move-to-center-section": "移动到中央部分",
@@ -1824,6 +2173,7 @@
"previous-month": "上个月",
"refresh": "刷新",
"refresh-devices": "刷新设备",
"refresh-wallhaven": "刷新 Wallhaven 结果",
"refresh-wallpaper-list": "刷新壁纸列表",
"remove-widget": "移除小部件",
"screen-recorder-not-installed": "屏幕录制器未安装",
@@ -1853,8 +2203,51 @@
"description": "一次性将选定的壁纸应用到所有显示器。",
"label": "应用到所有显示器"
},
"categories": {
"anime": "动漫",
"general": "通用",
"label": "分类",
"people": "人物"
},
"order": {
"asc": "升序",
"desc": "降序",
"label": "顺序"
},
"purity": {
"all": "全部",
"label": "内容过滤器",
"sfw": "SFW",
"sketchy": "Sketchy"
},
"resolution": {
"atleast": "至少",
"exact": "精确",
"label": "分辨率",
"mode": {
"label": "模式"
}
},
"search": "搜索:",
"title": "壁纸选择器"
"sorting": {
"date_added": "添加日期",
"favorites": "收藏",
"label": "排序方式",
"random": "随机",
"relevance": "相关性",
"toplist": "排行榜",
"views": "浏览量"
},
"source": {
"label": "来源",
"local": "本地",
"wallhaven": "Wallhaven"
},
"title": "壁纸选择器",
"wallhaven-settings": {
"apply": "应用",
"title": "Wallhaven 设置"
}
},
"transitions": {
"disc": "圆盘",
@@ -1864,7 +2257,13 @@
"stripes": "条纹",
"wipe": "擦除"
},
"try-different-search": "尝试不同的搜索查询。"
"try-different-search": "尝试不同的搜索查询。",
"unknown": "未知",
"wallhaven": {
"loading": "正在加载壁纸...",
"no-results": "未找到壁纸。请尝试不同的搜索查询。",
"page": "{current} / {total}"
}
},
"weather": {
"clear-sky": "晴朗",
@@ -1881,23 +2280,11 @@
"widgets": {
"color-picker": {
"apply": "应用",
"brightness": "亮度",
"cancel": "取消",
"hex": {
"description": "输入十六进制颜色代码。",
"label": "十六进制颜色"
},
"palette": {
"description": "从各种预定义颜色中选择。",
"label": "调色板"
},
"rgb": {
"description": "调整红、绿、蓝和亮度值。",
"label": "RGB 值"
},
"theme-colors": {
"description": "快速访问您的主题调色板。",
"label": "主题颜色"
"label": "调色板",
"theme-colors": "快速访问您主题的调色板。"
},
"title": "颜色选择器"
},
@@ -1973,6 +2360,7 @@
},
"wifi": {
"panel": {
"available-networks": "可用网络",
"connect": "连接",
"connected": "已连接",
"disabled": "Wi-Fi 已禁用",
@@ -1983,6 +2371,7 @@
"forget": "忘记",
"forget-network": "忘记此网络?",
"forgetting": "正在忘记...",
"known-networks": "已知网络",
"no-networks": "未找到网络",
"password": "密码",
"saved": "已保存",

View File

@@ -1,5 +1,5 @@
{
"settingsVersion": 21,
"settingsVersion": 23,
"setupCompleted": false,
"bar": {
"position": "top",
@@ -7,6 +7,7 @@
"monitors": [],
"density": "default",
"showCapsule": true,
"capsuleOpacity": 1,
"floating": false,
"marginVertical": 0.25,
"marginHorizontal": 0.25,
@@ -59,7 +60,7 @@
},
"general": {
"avatarImage": "",
"dimDesktop": true,
"dimmerOpacity": 0.6,
"showScreenCorners": false,
"forceBlackScreenCorners": false,
"scaleRatio": 1,
@@ -69,11 +70,13 @@
"animationDisabled": false,
"compactLockScreen": false,
"lockOnSuspend": true,
"showHibernateOnLockScreen": false,
"enableShadows": true,
"shadowDirection": "bottom_right",
"shadowOffsetX": 2,
"shadowOffsetY": 3,
"language": ""
"language": "",
"allowPanelsOnScreenWithoutBar": true
},
"ui": {
"fontDefault": "Roboto",
@@ -81,12 +84,14 @@
"fontDefaultScale": 1,
"fontFixedScale": 1,
"tooltipsEnabled": true,
"panelBackgroundOpacity": 1,
"panelsAttachedToBar": true,
"settingsPanelAttachToBar": false
},
"location": {
"name": "Tokyo",
"weatherEnabled": true,
"weatherShowEffects": true,
"useFahrenheit": false,
"use12hourFormat": false,
"showWeekNumberInCalendar": false,
@@ -122,12 +127,22 @@
"transitionType": "random",
"transitionEdgeSmoothness": 0.05,
"monitors": [],
"panelPosition": "follow_bar"
"panelPosition": "follow_bar",
"hideWallpaperFilenames": false,
"useWallhaven": false,
"wallhavenQuery": "",
"wallhavenSorting": "relevance",
"wallhavenOrder": "desc",
"wallhavenCategories": "111",
"wallhavenPurity": "100",
"wallhavenResolutionMode": "atleast",
"wallhavenResolutionWidth": "",
"wallhavenResolutionHeight": ""
},
"appLauncher": {
"enableClipboardHistory": false,
"enableClipPreview": true,
"position": "center",
"backgroundOpacity": 1,
"pinnedExecs": [],
"useApp2Unit": false,
"sortByMostUsed": true,
@@ -190,10 +205,24 @@
}
]
},
"systemMonitor": {
"cpuWarningThreshold": 80,
"cpuCriticalThreshold": 90,
"tempWarningThreshold": 80,
"tempCriticalThreshold": 90,
"memWarningThreshold": 80,
"memCriticalThreshold": 90,
"diskWarningThreshold": 80,
"diskCriticalThreshold": 90,
"useCustomColors": false,
"warningColor": "",
"criticalColor": ""
},
"dock": {
"enabled": true,
"displayMode": "always_visible",
"backgroundOpacity": 1,
"radiusRatio": 0.1,
"floatingRatio": 1,
"size": 1,
"onlySameOutput": true,
@@ -204,9 +233,40 @@
"network": {
"wifiEnabled": true
},
"sessionMenu": {
"enableCountdown": true,
"countdownDuration": 10000,
"position": "center",
"showHeader": true,
"powerOptions": [
{
"action": "lock",
"enabled": true
},
{
"action": "suspend",
"enabled": true
},
{
"action": "hibernate",
"enabled": true
},
{
"action": "reboot",
"enabled": true
},
{
"action": "logout",
"enabled": true
},
{
"action": "shutdown",
"enabled": true
}
]
},
"notifications": {
"enabled": true,
"doNotDisturb": false,
"monitors": [],
"location": "top_right",
"overlayLayer": true,
@@ -214,14 +274,16 @@
"respectExpireTimeout": false,
"lowUrgencyDuration": 3,
"normalUrgencyDuration": 8,
"criticalUrgencyDuration": 15
"criticalUrgencyDuration": 15,
"enableKeyboardLayoutToast": true
},
"osd": {
"enabled": true,
"location": "top_right",
"monitors": [],
"autoHideMs": 2000,
"overlayLayer": true
"overlayLayer": true,
"backgroundOpacity": 1
},
"audio": {
"volumeStep": 5,
@@ -230,7 +292,8 @@
"visualizerType": "linear",
"visualizerQuality": "high",
"mprisBlacklist": [],
"preferredPlayer": ""
"preferredPlayer": "",
"externalMixer": "pwvucontrol || pavucontrol"
},
"brightness": {
"brightnessStep": 5,
@@ -262,13 +325,9 @@
"vicinae": false,
"walker": false,
"code": false,
"enableUserTemplates": false,
"discord_vesktop": false,
"discord_webcord": false,
"discord_armcord": false,
"discord_equibop": false,
"discord_lightcord": false,
"discord_dorion": false
"spicetify": false,
"telegram": false,
"enableUserTemplates": false
},
"nightLight": {
"enabled": false,
@@ -279,12 +338,12 @@
"manualSunrise": "06:30",
"manualSunset": "18:30"
},
"changelog": {
"lastSeenVersion": ""
},
"hooks": {
"enabled": false,
"wallpaperChange": "",
"darkModeChange": ""
},
"battery": {
"chargingMode": 0
}
}

View File

@@ -1,5 +0,0 @@
# Battery charge control paths
# Add one path per line
/sys/class/power_supply/BAT0/charge_control_end_threshold
/sys/class/power_supply/BAT1/charge_control_end_threshold
/sys/class/power_supply/BAT0/charge_stop_threshold

View File

@@ -1,178 +0,0 @@
#!/usr/bin/env bash
set -e
SUCCESS=0
FAILURE=1
MISSING_FILES=2
UNSUPPORTED=3
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
print_error() {
echo -e "$1" >&2
}
print_info() {
echo -e "$1"
}
if [ "$EUID" -ne 0 ]; then
print_error "This script must be run with root privileges"
exit $FAILURE
fi
print_info "Installing Battery Manager..."
echo
if [ -n "$PKEXEC_UID" ]; then
ACTUAL_USER=$(getent passwd "$PKEXEC_UID" | cut -d: -f1)
else
ACTUAL_USER="$SUDO_USER"
fi
if [ -z "$ACTUAL_USER" ]; then
print_error "Could not determine the actual user"
exit $FAILURE
fi
print_info "Installing for user: $ACTUAL_USER"
echo
print_info "Checking required files..."
MISSING_FILES_LIST=()
if [ ! -f "$SCRIPT_DIR/battery-paths.conf" ]; then
MISSING_FILES_LIST+=("battery-paths.conf")
fi
if [ ! -f "$SCRIPT_DIR/templates/battery-manager.sh" ]; then
MISSING_FILES_LIST+=("battery-manager.sh")
fi
if [ ! -f "$SCRIPT_DIR/templates/battery-manager.policy" ]; then
MISSING_FILES_LIST+=("battery-manager.policy")
fi
if [ ! -f "$SCRIPT_DIR/templates/battery-manager.rules" ]; then
MISSING_FILES_LIST+=("battery-manager.rules")
fi
if [ ${#MISSING_FILES_LIST[@]} -gt 0 ]; then
print_error "Missing required files in $SCRIPT_DIR:"
for file in "${MISSING_FILES_LIST[@]}"; do
print_error " - $file"
done
exit $MISSING_FILES
fi
print_info "All required files found"
print_info "Checking battery paths..."
BATTERY_PATHS=($(grep -v '^#' "$SCRIPT_DIR/battery-paths.conf" | grep -v '^$'))
EXISTING_PATHS=()
for path in "${BATTERY_PATHS[@]}"; do
if [ -f "$path" ]; then
EXISTING_PATHS+=("$path")
fi
done
if [ ${#EXISTING_PATHS[@]} -eq 0 ]; then
print_error "None of the battery control files exist. Please check your hardware compatibility."
exit $UNSUPPORTED
fi
print_info "Found ${#EXISTING_PATHS[@]} compatible battery control file(s)"
print_info "Installing battery manager script..."
BATTERY_MANAGER_SCRIPT="/usr/bin/battery-manager-$ACTUAL_USER"
SHEBANG=$(head -n 1 "$SCRIPT_DIR/templates/battery-manager.sh")
echo "$SHEBANG" > "$BATTERY_MANAGER_SCRIPT"
echo "" >> "$BATTERY_MANAGER_SCRIPT"
echo "BATTERY_PATHS=(" >> "$BATTERY_MANAGER_SCRIPT"
for path in "${EXISTING_PATHS[@]}"; do
echo " \"$path\"" >> "$BATTERY_MANAGER_SCRIPT"
done
echo ")" >> "$BATTERY_MANAGER_SCRIPT"
echo "" >> "$BATTERY_MANAGER_SCRIPT"
tail -n +2 "$SCRIPT_DIR/templates/battery-manager.sh" >> "$BATTERY_MANAGER_SCRIPT"
chmod +x "$BATTERY_MANAGER_SCRIPT"
print_info "Battery manager script created from $SCRIPT_DIR/templates/battery-manager.sh with compatible paths"
print_info "Script installed at $BATTERY_MANAGER_SCRIPT"
print_info "Creating log file..."
touch /var/log/battery-manager.log
chmod 644 /var/log/battery-manager.log
print_info "Log file created at /var/log/battery-manager.log"
print_info "Creating polkit policy..."
POLICY_FILE="/usr/share/polkit-1/actions/com.local.battery-manager.$ACTUAL_USER.policy"
sed -e "s/ACTUAL_USER_PLACEHOLDER/$ACTUAL_USER/g" \
"$SCRIPT_DIR/templates/battery-manager.policy" > "$POLICY_FILE"
print_info "Polkit policy copied from $SCRIPT_DIR/templates/battery-manager.policy"
print_info "Polkit policy created at $POLICY_FILE"
print_info "Creating polkit rule..."
RULES_FILE="/etc/polkit-1/rules.d/50-battery-manager-$ACTUAL_USER.rules"
sed "s/ACTUAL_USER_PLACEHOLDER/$ACTUAL_USER/g" \
"$SCRIPT_DIR/templates/battery-manager.rules" > "$RULES_FILE"
print_info "Polkit rule copied from $SCRIPT_DIR/templates/battery-manager.rules"
print_info "Polkit rule created for user: $ACTUAL_USER at $RULES_FILE"
print_info "Restarting polkit..."
if systemctl restart polkit 2>/dev/null; then
print_info "Polkit restarted"
else
print_info "Could not restart polkit automatically, you may need to reboot"
fi
print_info "Creating uninstall script..."
UNINSTALL_SCRIPT="$SCRIPT_DIR/uninstall-battery-manager.sh"
if [ -f "$SCRIPT_DIR/templates/uninstall-template" ]; then
SHEBANG=$(head -n 1 "$SCRIPT_DIR/templates/uninstall-template")
else
SHEBANG="#!/usr/bin/env bash"
fi
echo "$SHEBANG" > "$UNINSTALL_SCRIPT"
echo "" >> "$UNINSTALL_SCRIPT"
cat >> "$UNINSTALL_SCRIPT" << EOF
SCRIPT_PATH="$BATTERY_MANAGER_SCRIPT"
POLICY_PATH="$POLICY_FILE"
RULE_PATH="$RULES_FILE"
LOG_PATH="/var/log/battery-manager.log"
EOF
if [ -f "$SCRIPT_DIR/templates/uninstall-template" ]; then
tail -n +2 "$SCRIPT_DIR/templates/uninstall-template" >> "$UNINSTALL_SCRIPT"
fi
chmod 744 "$UNINSTALL_SCRIPT"
chown root:root "$UNINSTALL_SCRIPT"
print_info "Uninstall script created at $UNINSTALL_SCRIPT"
echo
print_info "Installation complete!"
echo
print_info "Log file: /var/log/battery-manager.log"
print_info "User-specific script: $BATTERY_MANAGER_SCRIPT"
print_info "User-specific policy: $POLICY_FILE"
print_info "User-specific rules: $RULES_FILE"
print_info "User-specific uninstall script: $UNINSTALL_SCRIPT"

View File

@@ -1,86 +0,0 @@
#!/usr/bin/env bash
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SUPPRESS_NOTIFICATIONS=false
print_error() {
echo -e "$1" >&2
}
print_info() {
echo -e "$1"
}
send_notification() {
local urgency="$1"
local title="$2"
local message="$3"
if [ "$SUPPRESS_NOTIFICATIONS" = false ] && command -v notify-send >/dev/null 2>&1; then
notify-send -u "$urgency" "$title" "$message"
fi
}
while [[ $# -gt 0 ]]; do
case "$1" in
-q|--quiet)
SUPPRESS_NOTIFICATIONS=true
shift
;;
-*)
print_error "Unknown option: $1"
echo "Usage: $0 [OPTIONS] <number>" >&2
echo "Options:" >&2
echo " -q, --quiet Suppress notifications" >&2
exit 1
;;
*)
BATTERY_LEVEL="$1"
shift
;;
esac
done
if [ -z "$BATTERY_LEVEL" ]; then
print_error "Battery level not specified"
echo "Usage: $0 [OPTIONS] <number>" >&2
echo "Options:" >&2
echo " -q, --quiet Suppress notifications" >&2
exit 1
fi
if ! [[ "$BATTERY_LEVEL" =~ ^[0-9]+$ ]] || [ "$BATTERY_LEVEL" -gt 100 ] || [ "$BATTERY_LEVEL" -lt 0 ]; then
print_error "Battery level must be a number between 0-100"
echo "Usage: $0 [OPTIONS] <number>" >&2
echo "Options:" >&2
echo " -q, --quiet Suppress notifications" >&2
exit 1
fi
CURRENT_USER="$USER"
if [ -z "$CURRENT_USER" ]; then
CURRENT_USER="$(whoami)"
fi
BATTERY_MANAGER_PATH="/usr/bin/battery-manager-$CURRENT_USER"
SUCCESS=0
MISSING_FILES=2
if [ ! -f "$BATTERY_MANAGER_PATH" ]; then
print_error "Battery manager components missing for user $CURRENT_USER!"
exit $MISSING_FILES
fi
print_info "Setting battery charging threshold to $BATTERY_LEVEL% for user $CURRENT_USER..."
if pkexec "$BATTERY_MANAGER_PATH" "$BATTERY_LEVEL"; then
print_info "Battery charging threshold set to $BATTERY_LEVEL%"
send_notification "normal" "Battery Threshold Updated" \
"Battery charging threshold has been set to $BATTERY_LEVEL%"
else
print_error "Failed to set battery charging threshold"
send_notification "critical" "Battery Threshold Failed" \
"Failed to set battery charging threshold to $BATTERY_LEVEL%"
exit 1
fi

View File

@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
<action id="com.local.battery-manager.ACTUAL_USER_PLACEHOLDER">
<description>Manage battery settings for ACTUAL_USER_PLACEHOLDER</description>
<message>Authentication is required to manage battery settings</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/battery-manager-ACTUAL_USER_PLACEHOLDER</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>

View File

@@ -1,14 +0,0 @@
polkit.addRule(function(action, subject) {
if (action.id == "com.local.battery-manager.ACTUAL_USER_PLACEHOLDER" &&
subject.user == "ACTUAL_USER_PLACEHOLDER") {
// Check if the parent process is quickshell or set-battery-threshold
var pid = subject.pid;
var ppid = polkit.spawn(["ps", "-o", "ppid=", "-p", pid.toString()]).trim();
var parentCmd = polkit.spawn(["ps", "-o", "comm=", "-p", ppid]).trim();
if (parentCmd.indexOf("quickshell") !== -1 || parentCmd.indexOf("set-battery-treshold") !== -1) {
return polkit.Result.YES;
}
}
});

View File

@@ -1,53 +0,0 @@
#!/usr/bin/env bash
LOG_FILE="/var/log/battery-manager.log"
log_message() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> "$LOG_FILE"
}
if [ -z "$1" ]; then
echo "Error: No battery level provided" >&2
log_message "ERROR: No battery level provided"
exit 1
fi
BATTERY_LEVEL="$1"
if ! [[ "$BATTERY_LEVEL" =~ ^[0-9]+$ ]] || [ "$BATTERY_LEVEL" -gt 100 ] || [ "$BATTERY_LEVEL" -lt 0 ]; then
echo "Error: Invalid battery level. Must be 0-100" >&2
log_message "ERROR: Invalid battery level: $BATTERY_LEVEL"
exit 1
fi
SUCCESS_COUNT=0
FAIL_COUNT=0
for path in "${BATTERY_PATHS[@]}"; do
[[ -z "$path" || "$path" =~ ^# ]] && continue
if [ -f "$path" ] && [ -w "$path" ]; then
if echo "$BATTERY_LEVEL" > "$path" 2>/dev/null; then
echo "Updated: $path"
log_message "SUCCESS: Updated $path to $BATTERY_LEVEL"
((SUCCESS_COUNT++))
else
echo "Failed to write: $path" >&2
log_message "ERROR: Failed to write to $path"
((FAIL_COUNT++))
fi
else
echo "Skipped (not found/writable): $path"
log_message "INFO: Skipped $path (not found or not writable)"
fi
done
log_message "SUMMARY: Updated $SUCCESS_COUNT file(s), failed $FAIL_COUNT, battery level: $BATTERY_LEVEL"
if [ "$SUCCESS_COUNT" -eq 0 ]; then
echo "Error: No battery files were updated" >&2
exit 1
fi
echo "Successfully updated $SUCCESS_COUNT battery file(s)"
exit 0

View File

@@ -1,30 +0,0 @@
#!/usr/bin/env bash
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run as root"
exit 1
fi
echo "Uninstalling battery manager..."
if [ -f "$SCRIPT_PATH" ]; then
rm -f "$SCRIPT_PATH"
echo "Removed script from $SCRIPT_PATH"
fi
if [ -f "$POLICY_PATH" ]; then
rm -f "$POLICY_PATH"
echo "Removed policy file from $POLICY_PATH"
fi
if [ -f "$RULE_PATH" ]; then
rm -f "$RULE_PATH"
echo "Removed udev rule from $RULE_PATH"
fi
if [ -f "$LOG_PATH" ]; then
rm -f "$LOG_PATH"
echo "Removed log file from $LOG_PATH"
fi
echo "Uninstallation completed successfully"

View File

@@ -3,12 +3,13 @@ import gi
gi.require_version('EDataServer', '1.2')
gi.require_version('ECal', '2.0')
gi.require_version('ICalGLib', "3.0")
import json
import sys
import time
from datetime import datetime, timezone
from gi.repository import ECal, EDataServer
from gi.repository import ECal, EDataServer, ICalGLib
start_time = int(sys.argv[1])
end_time = int(sys.argv[2])
@@ -23,6 +24,10 @@ def safe_get_time(ical_time):
return None
try:
# Later we use `tzinfo=timezone.utc`, so we set all calendar events to UTC
if not ical_time.is_utc():
ical_time = ical_time.convert_to_zone(ICalGLib.Timezone.get_utc_timezone())
year = ical_time.get_year()
month = ical_time.get_month()
day = ical_time.get_day()

View File

@@ -4,7 +4,7 @@
if [ "$#" -ne 1 ]; then
# Print usage information to standard error.
echo "Error: No application specified." >&2
echo "Usage: $0 {kitty|ghostty|foot|alacritty|wezterm|fuzzel|walker|pywalfox}" >&2
echo "Usage: $0 {kitty|ghostty|foot|alacritty|wezterm|fuzzel|walker|pywalfox|cava}" >&2
exit 1
fi
@@ -200,6 +200,58 @@ pywalfox)
pywalfox update
;;
cava)
echo "🎨 Applying 'noctalia' theme to cava..."
CONFIG_FILE="$HOME/.config/cava/config"
THEME_MODIFIED=false
# Check if the config file exists.
if [ -f "$CONFIG_FILE" ]; then
# Check if [color] section exists
if grep -q '^\[color\]' "$CONFIG_FILE"; then
echo "[color] section found, checking theme setting..."
# Check if theme is already set to noctalia under [color]
if sed -n '/^\[color\]/,/^\[/p' "$CONFIG_FILE" | grep -q '^theme = "noctalia"'; then
echo "Theme already set to noctalia under [color], skipping modification."
else
# Check if theme line exists under [color] section
if sed -n '/^\[color\]/,/^\[/p' "$CONFIG_FILE" | grep -q '^theme = '; then
# Replace existing theme line under [color]
sed -i '/^\[color\]/,/^\[/{s/^theme = .*/theme = "noctalia"/}' "$CONFIG_FILE"
THEME_MODIFIED=true
else
# Add theme line after [color]
sed -i '/^\[color\]/a theme = "noctalia"' "$CONFIG_FILE"
THEME_MODIFIED=true
fi
fi
else
echo "[color] section not found, adding it with theme..."
# Add [color] section with theme at the end of file
echo "" >>"$CONFIG_FILE"
echo "[color]" >>"$CONFIG_FILE"
echo 'theme = "noctalia"' >>"$CONFIG_FILE"
THEME_MODIFIED=true
fi
# Reload cava if it's running
if pgrep -f cava >/dev/null; then
echo "Reloading cava configuration..."
pkill -USR1 cava
echo "✅ Cava reloaded successfully"
else
if [ "$THEME_MODIFIED" = true ]; then
echo "✅ Configuration updated. Start cava to see the changes."
else
echo "✅ Configuration already correct."
fi
fi
else
echo "Error: cava config file not found at $CONFIG_FILE" >&2
exit 1
fi
;;
*)
# Handle unknown application names.
echo "Error: Unknown application '$APP_NAME'." >&2

View File

@@ -2,33 +2,25 @@
set -euo pipefail
# QML Formatter Script
# Uses: https://github.com/jesperhh/qmlfmt
# Install: AUR package "qmlfmt-git" (requires qt6-5compat)
command -v qmlfmt &>/dev/null || { echo "qmlfmt not found" >&2; exit 1; }
# Find qmlformat binary
if [ ! -x "/usr/lib/qt6/bin/qmlformat" ]; then
echo "No 'qmlformat' found in /usr/lib/qt6/bin." >&2
echo "Install it via 'qt6-tools' or 'qt6-declarative-tools' to proceed." >&2
exit 1
fi
format_file() {
/usr/lib/qt6/bin/qmlformat -w 2 -W 360 -S --semicolon-rule always -i "$1" || { echo "Failed: $1" >&2; return 1; }
}
format_file() { qmlfmt -e -b 360 -t 2 -i 2 -w "$1" || { echo "Failed: $1" >&2; return 1; }; }
export -f format_file
# Find all .qml files
mapfile -t all_files < <(find "${1:-.}" -name "*.qml" -type f)
[ ${#all_files[@]} -eq 0 ] && { echo "No QML files found"; exit 0; }
echo "Scanning ${#all_files[@]} files for array destructuring..."
safe_files=()
for file in "${all_files[@]}"; do
# Checks for a comma inside brackets followed by an equals sign aka "array destructuring"
# as this ES6 syntax is not supported by qmlfmt and will result in breakage.
if grep -qE '\[.*,.*\]\s*=' "$file"; then
echo "-> Skipping (Array destructuring detected): $file" >&2
else
safe_files+=("$file")
fi
done
[ ${#safe_files[@]} -eq 0 ] && { echo "No safe files to format after filtering."; exit 0; }
echo "Formatting ${#safe_files[@]} files..."
printf '%s\0' "${safe_files[@]}" | \
echo "Formatting ${#all_files[@]} files..."
printf '%s\0' "${all_files[@]}" | \
xargs -0 -P "${QMLFMT_JOBS:-$(nproc)}" -I {} bash -c 'format_file "$@"' _ {} \
&& echo "Done" || { echo "Errors occurred" >&2; exit 1; }
&& echo "Done" || { echo "Errors occurred" >&2; exit 1; }

View File

@@ -15,22 +15,59 @@ fi
# Create the destination directory if it doesn't exist.
mkdir -p "$DEST_DIR"
# Loop through all files in the source directory ending with .frag
for shader in "$SOURCE_DIR"*.frag; do
# Check if a file was found (to handle the case of no .frag files).
if [ -f "$shader" ]; then
# Get the base name of the file (e.g., wp_fade).
shader_name=$(basename "$shader" .frag)
# Array to hold the list of full paths to the shaders.
SHADERS_TO_COMPILE=()
# Construct the output path for the compiled shader.
output_path="$DEST_DIR$shader_name.frag.qsb"
# Specific files mode.
if [ "$#" -gt 0 ]; then
# Construct and run the qsb command.
qsb --qt6 -o "$output_path" "$shader"
# Loop through all command-line arguments ($@ holds all arguments).
for SINGLE_FILE in "$@"; do
# Print a message to confirm compilation.
echo "Compiled $shader to $output_path"
# Construct the full path to the source file.
FULL_PATH="$SOURCE_DIR$SINGLE_FILE"
# Check if the specified file exists in the SOURCE_DIR.
if [ ! -f "$FULL_PATH" ]; then
echo "Error: Specified file '$SINGLE_FILE' not found in $SOURCE_DIR! Skipping."
continue
fi
# Add the valid file to the compilation list.
SHADERS_TO_COMPILE+=("$FULL_PATH")
done
# Check if any valid files were found to compile.
if [ ${#SHADERS_TO_COMPILE[@]} -eq 0 ]; then
echo "No valid shaders found to compile."
exit 1
fi
# Whole directory mode (no argument provided).
else
# Use find to generate the list of files and assign it to the array.
while IFS= read -r shader_path; do
if [ -n "$shader_path" ]; then
SHADERS_TO_COMPILE+=("$shader_path")
fi
done < <(find "$SOURCE_DIR" -maxdepth 1 -name "*.frag")
fi
# Loop through the list of shaders to compile.
for shader in "${SHADERS_TO_COMPILE[@]}"; do
# Get the base name of the file (e.g., wp_fade).
shader_name=$(basename "$shader" .frag)
# Construct the output path for the compiled shader.
output_path="$DEST_DIR$shader_name.frag.qsb"
# Construct and run the qsb command.
/usr/lib/qt6/bin/qsb --qt6 -o "$output_path" "$shader"
# Print a message to confirm compilation.
echo "Compiled $(basename "$shader") to $output_path"
done
echo "Shader compilation complete."
echo "Shader compilation complete."

429
CLAUDE.md
View File

@@ -1,429 +0,0 @@
# Noctalia Shell
**A beautiful, minimal desktop shell for Wayland that actually gets out of your way.**
Noctalia is a desktop shell built on Quickshell (Qt/QML framework) with a warm lavender aesthetic. It provides a complete desktop environment experience with panels, dock, notifications, lock screen, and extensive customization options.
## AI Guidance
* After receiving tool results, carefully reflect on their quality and determine optimal next steps before proceeding. Use your thinking to plan and iterate based on this new information, and then take the best next action.
* For maximum efficiency, whenever you need to perform multiple independent operations, invoke all relevant tools simultaneously rather than sequentially.
* Before you finish, please verify your solution
* Do what has been asked; nothing more, nothing less.
* NEVER create files unless they're absolutely necessary for achieving your goal.
* ALWAYS prefer editing an existing file to creating a new one.
* NEVER proactively create documentation files (*.md) or README files. Only create documentation files if explicitly requested by the User.
## Project Overview
- **Primary Language**: QML (Qt Quick)
- **Framework**: Quickshell (Wayland-native shell framework)
- **Supported Compositors**: Niri, Hyprland, Sway (with support for other Wayland compositors)
- **License**: MIT
- **Design Philosophy**: "quiet by design" - minimal, non-intrusive UI
## Architecture
### Core Entry Point
- [shell.qml](shell.qml) - Main shell root that orchestrates all components
- Initializes services in a specific order
- Manages screen-specific instances of bars and panels
- Uses lazy loading with QML Loaders for memory optimization
- Implements MainScreen for each screen to manage bar + panels
### Directory Structure
#### `/Modules/` - UI Components
Core visual modules and panels:
- **Bar/** - Top/bottom bar with multiple widgets
- Bar.qml - Main bar component
- Widgets/ - Bar widget components
- Extras/ - Additional bar functionality
- **Panels/** - Overlay panels (13 panel types)
- Audio/ - Audio device panel
- Battery/ - Battery status panel
- Bluetooth/ - Bluetooth device panel
- Calendar/ - Calendar panel
- ControlCenter/ - Quick settings panel
- Launcher/ - Application launcher/search
- NotificationHistory/ - Notification history panel
- SessionMenu/ - Power menu (logout, shutdown, etc.)
- Settings/ - Shell configuration UI
- SetupWizard/ - First-run setup experience
- Tray/ - System tray panel
- Wallpaper/ - Wallpaper management panel
- WiFi/ - WiFi network panel
- **Background/** - Background/wallpaper rendering
- **Dock/** - Application dock/launcher
- **LockScreen/** - Screen locking functionality
- **MainScreen/** - Main screen window management
- **Notification/** - Notification system
- **OSD/** - On-screen display for volume, brightness, etc.
- **Toast/** - Toast notifications
- **Tooltip/** - Tooltip system
#### `/Services/` - Business Logic
Core services that power the shell (40+ services):
**System Integration:**
- `CompositorService.qml` - Compositor-agnostic API
- `HyprlandService.qml` - Hyprland-specific integration
- `NiriService.qml` - Niri-specific integration
- `SwayService.qml` - Sway-specific integration
- `IPCService.qml` - Inter-process communication
**Hardware & System:**
- `AudioService.qml` - Audio control and monitoring
- `BatteryService.qml` - Battery status and management
- `BluetoothService.qml` - Bluetooth device management
- `BrightnessService.qml` - Screen brightness control
- `NetworkService.qml` - Network connection management
- `PowerProfileService.qml` - Power profile management
- `SystemStatService.qml` - System resource monitoring
**UI & Theming:**
- `AppThemeService.qml` - Main theming facade/orchestrator
- `ColorPaletteGenerator.qml` - Material Design 3 palette generation
- `TemplateRegistry.qml` - Template configurations (apps, terminals, Discord)
- `TemplateProcessor.qml` - Matugen CLI + sed script execution
- `ColorSchemeService.qml` - Color scheme management
- `DarkModeService.qml` - Dark/light mode switching
- `FontService.qml` - Font management
- `WallpaperService.qml` - Wallpaper handling (with Matugen integration)
- `NightLightService.qml` - Blue light filter
**Features:**
- `NotificationService.qml` - Notification daemon
- `MediaService.qml` - Media player control (MPRIS)
- `CalendarService.qml` - Calendar integration
- `ClipboardService.qml` - Clipboard management
- `LocationService.qml` - Geolocation for weather, etc.
- `ScreenRecorderService.qml` - Screen recording functionality
- `IdleInhibitorService.qml` - Prevent screen idle/sleep
- `KeyboardLayoutService.qml` - Keyboard layout switching
- `LockKeysService.qml` - Caps/Num lock status
**Infrastructure:**
- `BarService.qml` - Bar visibility and state management
- `BarWidgetRegistry.qml` - Registry for bar widgets
- `ControlCenterWidgetRegistry.qml` - Registry for control center widgets
- `PanelService.qml` - Panel state management
- `ToastService.qml` - Toast notification service
- `TooltipService.qml` - Tooltip service
- `HooksService.qml` - Custom hook execution
- `ProgramCheckerService.qml` - Check for installed programs
- `DistroService.qml` - Linux distribution detection
- `GitHubService.qml` - GitHub API integration
- `UpdateService.qml` - Update checking
- `CavaService.qml` - Audio visualization (Cava integration)
#### `/Commons/` - Shared Utilities
Common components used throughout the shell:
- `Settings.qml` - Centralized settings management
- `I18n.qml` - Internationalization/translations
- `Color.qml` - Color utilities and helpers
- `Icons.qml` - Icon management
- `IconsTabler.qml` - Tabler icon set (207KB icon definitions)
- `ThemeIcons.qml` - Theme-specific icons
- `Logger.qml` - Logging utility
- `Style.qml` - Shared styling definitions
- `Time.qml` - Time utilities
#### `/Widgets/` - Reusable UI Components
40+ custom QML widgets with the "N" prefix (Noctalia):
- **Layout**: NBox, NPanel, NScrollView, NListView, NDivider
- **Input**: NButton, NIconButton, NIconButtonHot, NTextInput, NSlider, NSpinBox, NToggle, NCheckbox, NRadioButton, NComboBox, NSearchableComboBox
- **Display**: NLabel, NText, NIcon, NHeader, NImageCached, NImageCircled, NImageRounded
- **Dialogs**: NColorPickerDialog, NFilePicker
- **Special**: NContextMenu, NColorPicker, NIconPicker, NCircleStat, NCollapsible, NSectionEditor, NReorderCheckboxes, NDateTimeTokens, NBusyIndicator
- **System**: MainScreen, BarExclusionZone
#### `/Helpers/` - JavaScript Utilities
Helper JavaScript modules:
- `AdvancedMath.js` - Advanced mathematical functions
- `ColorsConvert.js` - Color conversion utilities
- `FuzzySort.js` - Fuzzy search implementation
- `QtObj2JS.js` - Qt object to JavaScript conversion
- `sha256.js` - SHA-256 hashing
- `Debug.js` - Debug utilities
#### `/Assets/` - Resources
- Screenshots, icons, logos, themes
- Default wallpapers
- Theme resources
#### `/Shaders/` - Graphics Shaders
Custom shader effects for visual polish
#### `/Bin/` - Executable Scripts
Helper scripts and utilities
## Key Features
### 1. Multi-Monitor Support
- Per-monitor bar configuration (TODO)
- Screen-specific panel instances
- Exclusion zones for proper compositor integration
### 2. Theming System
- Material You color generation (Matugen integration)
- Dark/light mode support
- Customizable color schemes
- Font customization
- Per-app theming capabilities
### 3. Compositor Integration
- Native support for Niri, Hyprland, Sway
- Compositor-agnostic service layer
- Workspace management
- Window control
### 4. Panel System
Advanced panel management via MainScreen (13 panel types):
- Audio panel
- Battery panel
- Bluetooth panel
- Calendar panel
- Control Center panel
- Launcher panel
- Notification history panel
- Session menu panel
- Settings panel
- Setup wizard panel
- Tray panel
- Wallpaper panel
- WiFi panel
All panels use z-index layering and component-based loading.
### 5. Customization
- Setup wizard for first-time users
- Extensive settings interface
- Widget registry system for adding custom widgets
- Hook system for custom scripts
- Reorderable UI elements
### 6. Audio Features
- Multiple visualization types (Mirrored, Wave, Linear spectrum)
- MPRIS media player integration
- Audio device switching
- Volume OSD
### 7. Notifications
- Custom notification daemon
- Notification history
- Do Not Disturb mode
- Per-app notification settings
## Development Setup
```bash
# Run the shell (requires Quickshell to be installed)
qs -p .
# Run with verbose output for debugging
env NOCTALIA_DEBUG=1 qs -v -p .
# Code formatting and linting
qmlfmt -e -b 360 -t 2 -i 2 -w /path/to/file.qml # Format a QML file (requires qmlfmt, do not use qmlformat)
qmllint **/*.qml # Lint all QML files for syntax errors
```
### Nix/NixOS (Recommended)
```bash
# Enter development shell
nix develop
# Or use the legacy shell
nix-shell
```
The dev shell includes:
- Quickshell with required features
- Development utilities
- Required environment variables
### Package Structure
- Nix flake with NixOS and Home Manager modules
- Quickshell dependency (with X11 disabled, i3 enabled, hyprland enabled)
- App2unit integration for .desktop file management
## Configuration
Settings are managed through `Commons/Settings.qml`:
- Persistent configuration storage
- Settings versioning
- Migration handling
- Type-safe settings access
## Service Initialization Order
From [shell.qml:150-164](shell.qml#L150-L164):
1. WallpaperService
2. AppThemeService
3. ColorSchemeService
4. BarWidgetRegistry
5. LocationService
6. NightLightService
7. DarkModeService
8. FontService
9. HooksService
10. BluetoothService
11. BatteryService
12. IdleInhibitorService
13. PowerProfileService
14. DistroService
This order is critical - services depend on previously initialized services.
## Component Lifecycle
1. **Shell Root Initialization**
- Wait for I18n to load translations
- Wait for Settings to load configuration
2. **Service Initialization**
- Services initialize in dependency order
- Each service may depend on Settings, I18n, or other services
3. **Screen Components**
- MainScreen created per screen
- Bar and panel components loaded lazily
- Exclusion zones created after window loads
4. **Background Components**
- Background/wallpaper
- Overview (workspace overview)
- Screen corners
- Dock
- Notifications
- Lock screen
- Toast overlay
- OSD
## Special Patterns
### Lazy Loading
Components use QML Loaders extensively:
- `active` property controls when components load
- `asynchronous` for non-blocking loads
- Memory optimization for unused screens/panels
### Panel Management
MainScreen pattern:
- Single fullscreen window per screen
- Manages bar + all overlay panels
- Z-index based layering (panels at z-index 50)
- Component-based architecture for panels
### Registry Pattern
BarWidgetRegistry and ControlCenterWidgetRegistry:
- Centralized widget registration
- Dynamic widget loading
- Easy extension point for custom widgets
### Singleton Pattern (Quickshell)
Services in Quickshell use the `pragma Singleton` directive:
- Add `pragma Singleton` at the top of the QML file (before imports)
- No qmldir needed - Quickshell handles singleton resolution automatically
- Import with standard path: `import qs.Services` or `import qs.Services.Theming`
- Access via singleton name: `AppThemeService.generate()`
Example:
```qml
pragma Singleton
import QtQuick
import qs.Commons
Singleton {
id: root
function doSomething() {
// singleton logic
}
}
```
### Theming Architecture
The theming system was refactored (Jan 2025) into 4 focused services in `Services/`:
**AppThemeService.qml** (~60 lines) - Main facade
- Public API: `init()`, `generate()`, `generateFromWallpaper()`, `generateFromPredefinedScheme()`
- Orchestrates theme generation based on wallpaper vs predefined schemes
- Maintains backward compatibility with existing code
**ColorPaletteGenerator.qml** (~100 lines) - Pure color logic
- Single function: `generatePalette(colors, isDarkMode, isStrict)`
- Generates complete Material Design 3 palette from base colors
- No dependencies on other services (pure computation)
**TemplateRegistry.qml** (~230 lines) - Configuration source of truth
- Defines all application templates (`applications` array)
- Defines terminal templates (`terminals` array)
- Consolidated Discord clients (7 variants in single config)
- Provides `discordClients` array for ProgramCheckerService
- User template TOML generation
**TemplateProcessor.qml** (~370 lines) - Template execution
- Dual-path architecture:
- Wallpaper colors: Uses matugen CLI for color extraction + template processing
- Predefined schemes: Uses sed scripts to apply colors to templates
- Handles terminal themes (copies pre-rendered files for predefined schemes)
- User template support (matugen json/image subcommands)
**Adding new application templates:**
1. Add entry to `TemplateRegistry.applications` array in `Services/TemplateRegistry.qml`
2. Create template file in `/Assets/MatugenTemplates/`
3. Add Settings toggle in `Commons/Settings.qml` (templates.yourapp)
4. Template will automatically work for both wallpaper and predefined paths
**Discord client handling:**
All Discord clients use the same template (`vesktop.css`) but different output paths.
Auto-detected by ProgramCheckerService, enabled via single `Settings.data.templates.discord` toggle.
## Git Hooks
Uses `lefthook` for git hooks (see lefthook.yml)
## Community Resources
- Documentation: https://docs.noctalia.dev
- Discord: https://discord.noctalia.dev
- GitHub: https://github.com/noctalia-dev/noctalia-shell
## Contributing
See [development guidelines](https://docs.noctalia.dev/development/guideline)
## Notes for AI Assistants
### Code Style
- QML component names use PascalCase
- Service names end with "Service.qml"
- Widget names start with "N" prefix (e.g., NButton, NPanel)
- JavaScript helpers in Helpers/ directory
### Common Tasks
1. **Adding a new bar widget**: Register in BarWidgetRegistry
2. **Adding a control center widget**: Register in ControlCenterWidgetRegistry
3. **Creating a service**: Follow the Service pattern, add to init order if needed
4. **Modifying theming**: Check AppThemeService and ColorSchemeService
5. **Panel work**: Edit in Modules/Panels/, ensure proper z-index in shell.qml
### Important Files to Check
- Settings schema: `Commons/Settings.qml`
- Service initialization: `shell.qml` (Component.onCompleted)
- Panel registration: `shell.qml` (panelComponents array)
- Theme system: `Services/AppThemeService.qml`
- Template configurations: `Services/TemplateRegistry.qml`
- Palette generation: `Services/ColorPaletteGenerator.qml`
- Template processing: `Services/TemplateProcessor.qml`
### Testing
- Test on target compositors: Niri, Hyprland, Sway
- Check multi-monitor scenarios
- Verify lazy loading doesn't break functionality
- Test settings persistence across restarts
### Debugging
- Use `Logger.qml` for logging (Logger.i, Logger.d, Logger.w, Logger.e)
- Check console output for service initialization messages
- Verify service initialization order if adding dependencies

View File

@@ -5,111 +5,80 @@ import Quickshell
import Quickshell.Io
import qs.Commons
/*
Noctalia is not strictly a Material Design project, it supports both some predefined
color schemes and dynamic color generation from the wallpaper (using Matugen).
Noctalia is not strictly a Material Design project, it supports both some predefined
color schemes and dynamic color generation from the wallpaper (using Matugen).
We ultimately decided to use a restricted set of colors that follows the
Material Design 3 naming convention.
We ultimately decided to use a restricted set of colors that follows the
Material Design 3 naming convention.
NOTE: All color names are prefixed with 'm' (e.g., mPrimary) to prevent QML from
misinterpreting them as signals (e.g., the 'onPrimary' property name).
NOTE: All color names are prefixed with 'm' (e.g., mPrimary) to prevent QML from
misinterpreting them as signals (e.g., the 'onPrimary' property name).
*/
Singleton {
id: root
// --- Key Colors: These are the main accent colors that define your app's style
property color mPrimary: customColors.mPrimary
property color mOnPrimary: customColors.mOnPrimary
property color mSecondary: customColors.mSecondary
property color mOnSecondary: customColors.mOnSecondary
property color mTertiary: customColors.mTertiary
property color mOnTertiary: customColors.mOnTertiary
readonly property color mPrimary: customColorsData.mPrimary
readonly property color mOnPrimary: customColorsData.mOnPrimary
readonly property color mSecondary: customColorsData.mSecondary
readonly property color mOnSecondary: customColorsData.mOnSecondary
readonly property color mTertiary: customColorsData.mTertiary
readonly property color mOnTertiary: customColorsData.mOnTertiary
// --- Utility Colors: These colors serve specific, universal purposes like indicating errors
property color mError: customColors.mError
property color mOnError: customColors.mOnError
readonly property color mError: customColorsData.mError
readonly property color mOnError: customColorsData.mOnError
// --- Surface and Variant Colors: These provide additional options for surfaces and their contents, creating visual hierarchy
property color mSurface: customColors.mSurface
property color mOnSurface: customColors.mOnSurface
readonly property color mSurface: customColorsData.mSurface
readonly property color mOnSurface: customColorsData.mOnSurface
property color mSurfaceVariant: customColors.mSurfaceVariant
property color mOnSurfaceVariant: customColors.mOnSurfaceVariant
readonly property color mSurfaceVariant: customColorsData.mSurfaceVariant
readonly property color mOnSurfaceVariant: customColorsData.mOnSurfaceVariant
property color mOutline: customColors.mOutline
property color mShadow: customColors.mShadow
readonly property color mOutline: customColorsData.mOutline
readonly property color mShadow: customColorsData.mShadow
property color mHover: customColors.mHover
property color mOnHover: customColors.mOnHover
readonly property color mHover: customColorsData.mHover
readonly property color mOnHover: customColorsData.mOnHover
// --- Absolute Colors
property color transparent: "transparent"
property color black: "#000000"
property color white: "#ffffff"
readonly property color transparent: "transparent"
readonly property color black: "#000000"
readonly property color white: "#ffffff"
// --------------------------------
// Default colors: RosePine
QtObject {
id: defaultColors
property color mPrimary: "#c7a1d8"
property color mOnPrimary: "#1a151f"
readonly property color mPrimary: "#c7a1d8"
readonly property color mOnPrimary: "#1a151f"
property color mSecondary: "#a984c4"
property color mOnSecondary: "#f3edf7"
readonly property color mSecondary: "#a984c4"
readonly property color mOnSecondary: "#f3edf7"
property color mTertiary: "#e0b7c9"
property color mOnTertiary: "#20161f"
readonly property color mTertiary: "#e0b7c9"
readonly property color mOnTertiary: "#20161f"
property color mError: "#e9899d"
property color mOnError: "#1e1418"
readonly property color mError: "#e9899d"
readonly property color mOnError: "#1e1418"
property color mSurface: "#1c1822"
property color mOnSurface: "#e9e4f0"
readonly property color mSurface: "#1c1822"
readonly property color mOnSurface: "#e9e4f0"
property color mSurfaceVariant: "#262130"
property color mOnSurfaceVariant: "#a79ab0"
readonly property color mSurfaceVariant: "#262130"
readonly property color mOnSurfaceVariant: "#a79ab0"
property color mOutline: "#342c42"
property color mShadow: "#120f18"
readonly property color mOutline: "#342c42"
readonly property color mShadow: "#120f18"
property color mHover: "#e0b7c9"
property color mOnHover: "#20161f"
readonly property color mHover: "#e0b7c9"
readonly property color mOnHover: "#20161f"
}
// ----------------------------------------------------------------
// Custom colors loaded from colors.json
// These can be generated by matugen or simply come from a well know color scheme (Dracula, Gruvbox, Nord, ...)
QtObject {
id: customColors
property color mPrimary: customColorsData.mPrimary
property color mOnPrimary: customColorsData.mOnPrimary
property color mSecondary: customColorsData.mSecondary
property color mOnSecondary: customColorsData.mOnSecondary
property color mTertiary: customColorsData.mTertiary
property color mOnTertiary: customColorsData.mOnTertiary
property color mError: customColorsData.mError
property color mOnError: customColorsData.mOnError
property color mSurface: customColorsData.mSurface
property color mOnSurface: customColorsData.mOnSurface
property color mSurfaceVariant: customColorsData.mSurfaceVariant
property color mOnSurfaceVariant: customColorsData.mOnSurfaceVariant
property color mOutline: customColorsData.mOutline
property color mShadow: customColorsData.mShadow
property color mHover: customColorsData.mHover
property color mOnHover: customColorsData.mOnHover
}
// FileView to load custom colors data from colors.json
FileView {
id: customColorsFile
@@ -117,24 +86,25 @@ Singleton {
printErrors: false
watchChanges: true
onFileChanged: {
Logger.i("Color", "Reloading colors from disk")
reload()
Logger.i("Color", "Reloading colors from disk");
reload();
}
onAdapterUpdated: {
Logger.i("Color", "Writing colors to disk")
writeAdapter()
Logger.i("Color", "Writing colors to disk");
writeAdapter();
}
// Trigger initial load when path changes from empty to actual path
onPathChanged: {
if (path !== undefined) {
reload()
reload();
}
}
onLoadFailed: function (error) {
if (error.toString().includes("No such file") || error === 2) {
// Error code 2 = ENOENT (No such file or directory)
if (error === 2 || error.toString().includes("No such file")) {
// File doesn't exist, create it with default values
writeAdapter()
writeAdapter();
}
}
JsonAdapter {

Some files were not shown because too many files have changed in this diff Show More