diff --git a/.setup/loose/.bashrc b/.setup/loose/.bashrc
deleted file mode 100644
index f8adcd3..0000000
--- a/.setup/loose/.bashrc
+++ /dev/null
@@ -1,4 +0,0 @@
-export PATH="$SCRIPTS_PATH:$PATH"
-fastfetch
-echo "Welcome, Morgan Mayday."
-PS1='\[\e[38;5;189m\]\u@\H\[\e[0m\] [\w] $ '
diff --git a/.setup/loose/OldDiscordFont.theme.css b/.setup/loose/OldDiscordFont.theme.css
deleted file mode 100644
index f8f5bad..0000000
--- a/.setup/loose/OldDiscordFont.theme.css
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
-* @name OldDiscordFont
-* @author Snappy#1421
-* @description Discord changed their font recently, this will change it back to the old one
-* @version 1.0.2
-* @source https://github.com/snappycreeper/OldDiscordFont
-*/
-
-:root {
- --font-primary: "Whitney", "gg sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
- --font-display: "Whitney", "gg sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
-}
-
-@font-face {
- font-family: "Whitney";
- font-style: normal;
- font-weight: 300;
- src: url("https://cdn.jsdelivr.net/gh/snappycreeper/olddiscordfont/fonts/Whitney-Normal-300.woff2") format("woff2");
-}
-
-@font-face {
- font-family: "Whitney";
- font-style: italic;
- font-weight: 300;
- src: url("https://cdn.jsdelivr.net/gh/snappycreeper/olddiscordfont/fonts/Whitney-Italic-300.woff2") format("woff2");
-}
-
-@font-face {
- font-family: "Whitney";
- font-style: normal;
- font-weight: 400;
- src: url("https://cdn.jsdelivr.net/gh/snappycreeper/olddiscordfont/fonts/Whitney-Normal-400.woff2") format("woff2");
-}
-
-@font-face {
- font-family: "Whitney";
- font-style: italic;
- font-weight: 400;
- src: url("https://cdn.jsdelivr.net/gh/snappycreeper/olddiscordfont/fonts/Whitney-Italic-400.woff2") format("woff2");
-}
-
-@font-face {
- font-family: "Whitney";
- font-style: normal;
- font-weight: 500;
- src: url("https://cdn.jsdelivr.net/gh/snappycreeper/olddiscordfont/fonts/Whitney-Normal-500.woff2") format("woff2");
-}
-
-@font-face {
- font-family: "Whitney";
- font-style: italic;
- font-weight: 500;
- src: url("https://cdn.jsdelivr.net/gh/snappycreeper/olddiscordfont/fonts/Whitney-Italic-500.woff2") format("woff2");
-}
-
-@font-face {
- font-family: "Whitney";
- font-style: normal;
- font-weight: 600;
- src: url("https://cdn.jsdelivr.net/gh/snappycreeper/olddiscordfont/fonts/Whitney-Normal-600.woff2") format("woff2");
-}
-
-@font-face {
- font-family: "Whitney";
- font-style: italic;
- font-weight: 600;
- src: url("https://cdn.jsdelivr.net/gh/snappycreeper/olddiscordfont/fonts/Whitney-Italic-600.woff2") format("woff2");
-}
-
-@font-face {
- font-family: "Whitney";
- font-style: normal;
- font-weight: 700;
- src: url("https://cdn.jsdelivr.net/gh/snappycreeper/olddiscordfont/fonts/Whitney-Normal-700.woff2") format("woff2");
-}
-
-@font-face {
- font-family: "Whitney";
- font-style: italic;
- font-weight: 700;
- src: url("https://cdn.jsdelivr.net/gh/snappycreeper/olddiscordfont/fonts/Whitney-Italic-700.woff2") format("woff2");
-}
diff --git a/.setup/loose/vencord-settings-backup-2025-09-29.json b/.setup/loose/vencord-settings-backup-2025-09-29.json
deleted file mode 100644
index d29532b..0000000
--- a/.setup/loose/vencord-settings-backup-2025-09-29.json
+++ /dev/null
@@ -1,567 +0,0 @@
-{
- "settings": {
- "autoUpdate": true,
- "autoUpdateNotification": true,
- "useQuickCss": true,
- "themeLinks": [],
- "eagerPatches": false,
- "enabledThemes": [],
- "enableReactDevtools": false,
- "frameless": false,
- "transparent": false,
- "winCtrlQ": false,
- "disableMinSize": false,
- "winNativeTitleBar": false,
- "plugins": {
- "ChatInputButtonAPI": {
- "enabled": true
- },
- "CommandsAPI": {
- "enabled": true
- },
- "DynamicImageModalAPI": {
- "enabled": true
- },
- "MemberListDecoratorsAPI": {
- "enabled": false
- },
- "MessageAccessoriesAPI": {
- "enabled": true
- },
- "MessageDecorationsAPI": {
- "enabled": false
- },
- "MessageEventsAPI": {
- "enabled": true
- },
- "MessagePopoverAPI": {
- "enabled": false
- },
- "MessageUpdaterAPI": {
- "enabled": false
- },
- "ServerListAPI": {
- "enabled": false
- },
- "UserSettingsAPI": {
- "enabled": true
- },
- "AccountPanelServerProfile": {
- "enabled": false
- },
- "AlwaysAnimate": {
- "enabled": false
- },
- "AlwaysExpandRoles": {
- "enabled": true
- },
- "AlwaysTrust": {
- "enabled": true
- },
- "AnonymiseFileNames": {
- "enabled": true
- },
- "AppleMusicRichPresence": {
- "enabled": false
- },
- "WebRichPresence (arRPC)": {
- "enabled": false
- },
- "BetterFolders": {
- "enabled": false
- },
- "BetterGifAltText": {
- "enabled": false
- },
- "BetterGifPicker": {
- "enabled": true
- },
- "BetterNotesBox": {
- "enabled": true
- },
- "BetterRoleContext": {
- "enabled": false
- },
- "BetterRoleDot": {
- "enabled": false
- },
- "BetterSessions": {
- "enabled": false
- },
- "BetterSettings": {
- "enabled": true
- },
- "BetterUploadButton": {
- "enabled": false
- },
- "BiggerStreamPreview": {
- "enabled": false
- },
- "BlurNSFW": {
- "enabled": false
- },
- "CallTimer": {
- "enabled": true
- },
- "ClearURLs": {
- "enabled": true
- },
- "ClientTheme": {
- "enabled": false
- },
- "ColorSighted": {
- "enabled": false
- },
- "ConsoleJanitor": {
- "enabled": false
- },
- "ConsoleShortcuts": {
- "enabled": false
- },
- "CopyEmojiMarkdown": {
- "enabled": true
- },
- "CopyFileContents": {
- "enabled": false
- },
- "CopyUserURLs": {
- "enabled": false
- },
- "CrashHandler": {
- "enabled": true
- },
- "CtrlEnterSend": {
- "enabled": false
- },
- "CustomIdle": {
- "enabled": false
- },
- "CustomRPC": {
- "enabled": false
- },
- "Dearrow": {
- "enabled": false
- },
- "Decor": {
- "enabled": false
- },
- "DisableCallIdle": {
- "enabled": false
- },
- "DontRoundMyTimestamps": {
- "enabled": false
- },
- "Experiments": {
- "enabled": false
- },
- "ExpressionCloner": {
- "enabled": false
- },
- "F8Break": {
- "enabled": false
- },
- "FakeNitro": {
- "enabled": false
- },
- "FakeProfileThemes": {
- "enabled": false
- },
- "FavoriteEmojiFirst": {
- "enabled": false
- },
- "FavoriteGifSearch": {
- "enabled": false
- },
- "FixCodeblockGap": {
- "enabled": false
- },
- "FixImagesQuality": {
- "enabled": false
- },
- "FixSpotifyEmbeds": {
- "enabled": false
- },
- "FixYoutubeEmbeds": {
- "enabled": false
- },
- "ForceOwnerCrown": {
- "enabled": false
- },
- "FriendInvites": {
- "enabled": false
- },
- "FriendsSince": {
- "enabled": true
- },
- "FullSearchContext": {
- "enabled": false
- },
- "FullUserInChatbox": {
- "enabled": false
- },
- "GameActivityToggle": {
- "enabled": false
- },
- "GifPaste": {
- "enabled": false
- },
- "GreetStickerPicker": {
- "enabled": false
- },
- "HideMedia": {
- "enabled": false
- },
- "iLoveSpam": {
- "enabled": false
- },
- "IgnoreActivities": {
- "enabled": false
- },
- "ImageLink": {
- "enabled": false
- },
- "ImageZoom": {
- "enabled": false
- },
- "ImplicitRelationships": {
- "enabled": true
- },
- "InvisibleChat": {
- "enabled": false
- },
- "IrcColors": {
- "enabled": false
- },
- "KeepCurrentChannel": {
- "enabled": false
- },
- "LastFMRichPresence": {
- "enabled": false
- },
- "LoadingQuotes": {
- "enabled": false
- },
- "MemberCount": {
- "enabled": true
- },
- "MentionAvatars": {
- "enabled": true
- },
- "MessageClickActions": {
- "enabled": false
- },
- "MessageLatency": {
- "enabled": false
- },
- "MessageLinkEmbeds": {
- "enabled": false
- },
- "MessageLogger": {
- "enabled": false
- },
- "MessageTags": {
- "enabled": false
- },
- "MutualGroupDMs": {
- "enabled": true
- },
- "NewGuildSettings": {
- "enabled": false
- },
- "NoBlockedMessages": {
- "enabled": false
- },
- "NoDevtoolsWarning": {
- "enabled": false
- },
- "NoF1": {
- "enabled": false
- },
- "NoMaskedUrlPaste": {
- "enabled": false
- },
- "NoMosaic": {
- "enabled": false
- },
- "NoOnboardingDelay": {
- "enabled": true
- },
- "NoPendingCount": {
- "enabled": false
- },
- "NoProfileThemes": {
- "enabled": true
- },
- "NoReplyMention": {
- "enabled": false
- },
- "NoServerEmojis": {
- "enabled": false
- },
- "NoTypingAnimation": {
- "enabled": true
- },
- "NoUnblockToJump": {
- "enabled": false
- },
- "NormalizeMessageLinks": {
- "enabled": false
- },
- "NotificationVolume": {
- "enabled": true
- },
- "OnePingPerDM": {
- "enabled": false
- },
- "oneko": {
- "enabled": false
- },
- "OpenInApp": {
- "enabled": false
- },
- "OverrideForumDefaults": {
- "enabled": false
- },
- "PauseInvitesForever": {
- "enabled": false
- },
- "PermissionFreeWill": {
- "enabled": false
- },
- "PermissionsViewer": {
- "enabled": false
- },
- "petpet": {
- "enabled": true
- },
- "PictureInPicture": {
- "enabled": false
- },
- "PinDMs": {
- "enabled": false
- },
- "PlainFolderIcon": {
- "enabled": false
- },
- "PlatformIndicators": {
- "enabled": false
- },
- "PreviewMessage": {
- "enabled": false
- },
- "QuickMention": {
- "enabled": false
- },
- "QuickReply": {
- "enabled": false
- },
- "ReactErrorDecoder": {
- "enabled": false
- },
- "ReadAllNotificationsButton": {
- "enabled": false
- },
- "RelationshipNotifier": {
- "enabled": false
- },
- "ReplaceGoogleSearch": {
- "enabled": false
- },
- "ReplyTimestamp": {
- "enabled": false
- },
- "RevealAllSpoilers": {
- "enabled": false
- },
- "ReverseImageSearch": {
- "enabled": false
- },
- "ReviewDB": {
- "enabled": false
- },
- "RoleColorEverywhere": {
- "enabled": false
- },
- "SecretRingToneEnabler": {
- "enabled": false
- },
- "Summaries": {
- "enabled": false
- },
- "SendTimestamps": {
- "enabled": true
- },
- "ServerInfo": {
- "enabled": false
- },
- "ServerListIndicators": {
- "enabled": false
- },
- "ShikiCodeblocks": {
- "enabled": false
- },
- "ShowAllMessageButtons": {
- "enabled": false
- },
- "ShowConnections": {
- "enabled": false
- },
- "ShowHiddenChannels": {
- "enabled": false
- },
- "ShowHiddenThings": {
- "enabled": false
- },
- "ShowMeYourName": {
- "enabled": false
- },
- "ShowTimeoutDuration": {
- "enabled": false
- },
- "SilentMessageToggle": {
- "enabled": false
- },
- "SilentTyping": {
- "enabled": false
- },
- "SortFriendRequests": {
- "enabled": false
- },
- "SpotifyControls": {
- "enabled": false
- },
- "SpotifyCrack": {
- "enabled": false
- },
- "SpotifyShareCommands": {
- "enabled": false
- },
- "StartupTimings": {
- "enabled": false
- },
- "StickerPaste": {
- "enabled": false
- },
- "StreamerModeOnStream": {
- "enabled": false
- },
- "SuperReactionTweaks": {
- "enabled": false
- },
- "TextReplace": {
- "enabled": false
- },
- "ThemeAttributes": {
- "enabled": false
- },
- "Translate": {
- "enabled": false
- },
- "TypingIndicator": {
- "enabled": false
- },
- "TypingTweaks": {
- "enabled": false
- },
- "Unindent": {
- "enabled": false
- },
- "UnlockedAvatarZoom": {
- "enabled": false
- },
- "UnsuppressEmbeds": {
- "enabled": false
- },
- "UserMessagesPronouns": {
- "enabled": false
- },
- "UserVoiceShow": {
- "enabled": false
- },
- "USRBG": {
- "enabled": false
- },
- "ValidReply": {
- "enabled": false
- },
- "ValidUser": {
- "enabled": false
- },
- "VoiceChatDoubleClick": {
- "enabled": false
- },
- "VcNarrator": {
- "enabled": false
- },
- "VencordToolbox": {
- "enabled": false
- },
- "ViewIcons": {
- "enabled": false
- },
- "ViewRaw": {
- "enabled": false
- },
- "VoiceDownload": {
- "enabled": false
- },
- "VoiceMessages": {
- "enabled": false
- },
- "VolumeBooster": {
- "enabled": true
- },
- "WebKeybinds": {
- "enabled": true
- },
- "WebScreenShareFixes": {
- "enabled": true
- },
- "WhoReacted": {
- "enabled": true
- },
- "XSOverlay": {
- "enabled": false
- },
- "YoutubeAdblock": {
- "enabled": true
- },
- "BadgeAPI": {
- "enabled": true
- },
- "CopyStickerLinks": {
- "enabled": false
- },
- "NoTrack": {
- "enabled": true,
- "disableAnalytics": true
- },
- "Settings": {
- "enabled": true,
- "settingsLocation": "aboveNitro"
- },
- "DisableDeepLinks": {
- "enabled": true
- },
- "SupportHelper": {
- "enabled": true
- },
- "WebContextMenus": {
- "enabled": true
- }
- },
- "notifications": {
- "timeout": 5000,
- "position": "bottom-right",
- "useNative": "not-focused",
- "logLimit": 50
- },
- "cloud": {
- "authenticated": false,
- "url": "https://api.vencord.dev/",
- "settingsSync": false,
- "settingsSyncVersion": 1755911198541
- }
- },
- "quickCss": ""
-}
\ No newline at end of file
diff --git a/.setup/managed/Pinta/addins/addin-db-004/addin-data/1/DefaultEffects,3.0.maddin b/.setup/managed/Pinta/addins/addin-db-004/addin-data/1/DefaultEffects,3.0.maddin
deleted file mode 100644
index b940ff7..0000000
Binary files a/.setup/managed/Pinta/addins/addin-db-004/addin-data/1/DefaultEffects,3.0.maddin and /dev/null differ
diff --git a/.setup/managed/Pinta/addins/addin-db-004/addin-data/1/DefaultTools,3.0.maddin b/.setup/managed/Pinta/addins/addin-db-004/addin-data/1/DefaultTools,3.0.maddin
deleted file mode 100644
index b40aa88..0000000
Binary files a/.setup/managed/Pinta/addins/addin-db-004/addin-data/1/DefaultTools,3.0.maddin and /dev/null differ
diff --git a/.setup/managed/Pinta/addins/addin-db-004/addin-data/1/Pinta,3.0.maddin b/.setup/managed/Pinta/addins/addin-db-004/addin-data/1/Pinta,3.0.maddin
deleted file mode 100644
index 66efd71..0000000
Binary files a/.setup/managed/Pinta/addins/addin-db-004/addin-data/1/Pinta,3.0.maddin and /dev/null differ
diff --git a/.setup/managed/Pinta/addins/addin-db-004/addin-data/2/DefaultEffects,3.0.3.maddin b/.setup/managed/Pinta/addins/addin-db-004/addin-data/2/DefaultEffects,3.0.3.maddin
deleted file mode 100644
index 828c859..0000000
Binary files a/.setup/managed/Pinta/addins/addin-db-004/addin-data/2/DefaultEffects,3.0.3.maddin and /dev/null differ
diff --git a/.setup/managed/Pinta/addins/addin-db-004/addin-data/2/DefaultTools,3.0.3.maddin b/.setup/managed/Pinta/addins/addin-db-004/addin-data/2/DefaultTools,3.0.3.maddin
deleted file mode 100644
index b092f3e..0000000
Binary files a/.setup/managed/Pinta/addins/addin-db-004/addin-data/2/DefaultTools,3.0.3.maddin and /dev/null differ
diff --git a/.setup/managed/Pinta/addins/addin-db-004/addin-data/2/Pinta,3.0.3.maddin b/.setup/managed/Pinta/addins/addin-db-004/addin-data/2/Pinta,3.0.3.maddin
deleted file mode 100644
index 7b0736c..0000000
Binary files a/.setup/managed/Pinta/addins/addin-db-004/addin-data/2/Pinta,3.0.3.maddin and /dev/null differ
diff --git a/.setup/managed/Pinta/addins/addin-db-004/addin-data/3/DefaultEffects,3.0.3.maddin b/.setup/managed/Pinta/addins/addin-db-004/addin-data/3/DefaultEffects,3.0.3.maddin
deleted file mode 100644
index bc2559c..0000000
Binary files a/.setup/managed/Pinta/addins/addin-db-004/addin-data/3/DefaultEffects,3.0.3.maddin and /dev/null differ
diff --git a/.setup/managed/Pinta/addins/addin-db-004/addin-data/3/DefaultTools,3.0.3.maddin b/.setup/managed/Pinta/addins/addin-db-004/addin-data/3/DefaultTools,3.0.3.maddin
deleted file mode 100644
index 7339367..0000000
Binary files a/.setup/managed/Pinta/addins/addin-db-004/addin-data/3/DefaultTools,3.0.3.maddin and /dev/null differ
diff --git a/.setup/managed/Pinta/addins/addin-db-004/addin-data/3/Pinta,3.0.3.maddin b/.setup/managed/Pinta/addins/addin-db-004/addin-data/3/Pinta,3.0.3.maddin
deleted file mode 100644
index 036a6b9..0000000
Binary files a/.setup/managed/Pinta/addins/addin-db-004/addin-data/3/Pinta,3.0.3.maddin and /dev/null differ
diff --git a/.setup/managed/Pinta/addins/addin-db-004/addin-dir-data/nix_store_8jlhjdgcahnhkwb2g6p9zahprjgq9nxb-Pinta-3.0_lib_Pinta_7c4cce3e.data b/.setup/managed/Pinta/addins/addin-db-004/addin-dir-data/nix_store_8jlhjdgcahnhkwb2g6p9zahprjgq9nxb-Pinta-3.0_lib_Pinta_7c4cce3e.data
deleted file mode 100644
index 67dcffd..0000000
Binary files a/.setup/managed/Pinta/addins/addin-db-004/addin-dir-data/nix_store_8jlhjdgcahnhkwb2g6p9zahprjgq9nxb-Pinta-3.0_lib_Pinta_7c4cce3e.data and /dev/null differ
diff --git a/.setup/managed/Pinta/addins/addin-db-004/addin-dir-data/nix_store_g7a7z6acwxv2d0b3ipxn94150bswni3r-Pinta-3.0.3_lib_Pinta_58808c64.data b/.setup/managed/Pinta/addins/addin-db-004/addin-dir-data/nix_store_g7a7z6acwxv2d0b3ipxn94150bswni3r-Pinta-3.0.3_lib_Pinta_58808c64.data
deleted file mode 100644
index dc37995..0000000
Binary files a/.setup/managed/Pinta/addins/addin-db-004/addin-dir-data/nix_store_g7a7z6acwxv2d0b3ipxn94150bswni3r-Pinta-3.0.3_lib_Pinta_58808c64.data and /dev/null differ
diff --git a/.setup/managed/Pinta/addins/addin-db-004/addin-dir-data/nix_store_w12m4rl0vlnxfxkslcamhh7xqzjsib7s-Pinta-3.0.3_lib_Pinta_f0495116.data b/.setup/managed/Pinta/addins/addin-db-004/addin-dir-data/nix_store_w12m4rl0vlnxfxkslcamhh7xqzjsib7s-Pinta-3.0.3_lib_Pinta_f0495116.data
deleted file mode 100644
index 80a90ab..0000000
Binary files a/.setup/managed/Pinta/addins/addin-db-004/addin-dir-data/nix_store_w12m4rl0vlnxfxkslcamhh7xqzjsib7s-Pinta-3.0.3_lib_Pinta_f0495116.data and /dev/null differ
diff --git a/.setup/managed/Pinta/addins/addin-db-004/fdb-lock b/.setup/managed/Pinta/addins/addin-db-004/fdb-lock
deleted file mode 100644
index e69de29..0000000
diff --git a/.setup/managed/Pinta/addins/addin-db-004/fdb-update-lock b/.setup/managed/Pinta/addins/addin-db-004/fdb-update-lock
deleted file mode 100644
index e69de29..0000000
diff --git a/.setup/managed/Pinta/addins/addin-db-004/host-index b/.setup/managed/Pinta/addins/addin-db-004/host-index
deleted file mode 100644
index 8c89d4b..0000000
Binary files a/.setup/managed/Pinta/addins/addin-db-004/host-index and /dev/null differ
diff --git a/.setup/managed/Pinta/addins/addin-db-004/hosts/Pinta.addins b/.setup/managed/Pinta/addins/addin-db-004/hosts/Pinta.addins
deleted file mode 100644
index d9d01dd..0000000
--- a/.setup/managed/Pinta/addins/addin-db-004/hosts/Pinta.addins
+++ /dev/null
@@ -1,3 +0,0 @@
-
- /nix/store/8jlhjdgcahnhkwb2g6p9zahprjgq9nxb-Pinta-3.0/lib/Pinta
-
\ No newline at end of file
diff --git a/.setup/managed/Pinta/addins/addin-db-004/hosts/Pinta_1.addins b/.setup/managed/Pinta/addins/addin-db-004/hosts/Pinta_1.addins
deleted file mode 100644
index a2cc57f..0000000
--- a/.setup/managed/Pinta/addins/addin-db-004/hosts/Pinta_1.addins
+++ /dev/null
@@ -1,3 +0,0 @@
-
- /nix/store/w12m4rl0vlnxfxkslcamhh7xqzjsib7s-Pinta-3.0.3/lib/Pinta
-
\ No newline at end of file
diff --git a/.setup/managed/Pinta/addins/addin-db-004/hosts/Pinta_2.addins b/.setup/managed/Pinta/addins/addin-db-004/hosts/Pinta_2.addins
deleted file mode 100644
index 26578a1..0000000
--- a/.setup/managed/Pinta/addins/addin-db-004/hosts/Pinta_2.addins
+++ /dev/null
@@ -1,3 +0,0 @@
-
- /nix/store/g7a7z6acwxv2d0b3ipxn94150bswni3r-Pinta-3.0.3/lib/Pinta
-
\ No newline at end of file
diff --git a/.setup/managed/Pinta/addins/addins-setup-v2.config b/.setup/managed/Pinta/addins/addins-setup-v2.config
deleted file mode 100644
index b07237e..0000000
--- a/.setup/managed/Pinta/addins/addins-setup-v2.config
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
- false
- /home/mayday/.config/Pinta/addins/repository-cache/pintaproject.github.io_0.mrep
- http://pintaproject.github.io/Pinta-Community-Addins/repository/Linux/main.mrep
- MonoAddins
- Pinta Community Addins - Platform-Specific
- 1900-01-01T00:00:00
-
-
- false
- /home/mayday/.config/Pinta/addins/repository-cache/pintaproject.github.io_1.mrep
- http://pintaproject.github.io/Pinta-Community-Addins/repository/All/main.mrep
- MonoAddins
- Pinta Community Addins - Cross-Platform
- 1900-01-01T00:00:00
-
-
- 2
-
-
-
\ No newline at end of file
diff --git a/.setup/managed/Pinta/palette.txt b/.setup/managed/Pinta/palette.txt
deleted file mode 100644
index 3820770..0000000
--- a/.setup/managed/Pinta/palette.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-; Hexadecimal format: aarrggbb
-FFFFFFFF
-FF000000
-FFA0A0A0
-FF808080
-FF404040
-FF303030
-FFFF0000
-FFFF7F7F
-FFFF6A00
-FFFFB27F
-FFFFD800
-FFFFE97F
-FFB6FF00
-FFDAFF7F
-FF4CFF00
-FFA5FF7F
-FF00FF21
-FF7FFF8E
-FF00FF90
-FF7FFFC5
-FF00FFFF
-FF7FFFFF
-FF0094FF
-FF7FC9FF
-FF0026FF
-FF7F92FF
-FF4800FF
-FFA17FFF
-FFB200FF
-FFD67FFF
-FFFF00DC
-FFFF7FED
-FFFF006E
-FFFF7FB6
diff --git a/.setup/managed/Pinta/settings.xml b/.setup/managed/Pinta/settings.xml
deleted file mode 100644
index c249855..0000000
--- a/.setup/managed/Pinta/settings.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
- False
- False
- 1100
- 750
- 0
- 0
- True
- False
- True
- True
- True
- True
- True
- file:///home/mayday/Downloads
- ColorPickerTool
- FF869D8F
- FFFFFFFF
- FF869D8F,FFE5E5E5,FFE5E5E5,FFE5E5E5,FFE5E5E5,FFE5E5E5,FFE5E5E5,FFE5E5E5,FFE5E5E5,FFE5E5E5
- 0
- 2
- 0
- 2
- 0
- 0
- 0
- 2
- 2
- 2
- False
-
\ No newline at end of file
diff --git a/.setup/managed/calibre/global.py.json b/.setup/managed/calibre/global.py.json
deleted file mode 100644
index 6026eb2..0000000
--- a/.setup/managed/calibre/global.py.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "add_formats_to_existing": false,
- "case_sensitive": false,
- "check_for_dupes_on_ctl": false,
- "database_path": "/home/mayday/library1.db",
- "filename_pattern": "(?P
.+) - (?P[^_]+)",
- "input_format_order": [
- "EPUB",
- "AZW3",
- "MOBI",
- "LIT",
- "PRC",
- "FB2",
- "HTML",
- "HTM",
- "XHTM",
- "SHTML",
- "XHTML",
- "ZIP",
- "DOCX",
- "ODT",
- "RTF",
- "PDF",
- "TXT"
- ],
- "installation_uuid": "11b0432a-bf4c-488a-8797-fba3e94a1581",
- "isbndb_com_key": "",
- "language": null,
- "library_path": null,
- "limit_search_columns": false,
- "limit_search_columns_to": [
- "title",
- "authors",
- "tags",
- "series",
- "publisher"
- ],
- "manage_device_metadata": "manual",
- "mark_new_books": false,
- "migrated": false,
- "network_timeout": 5,
- "new_book_tags": [],
- "numeric_collation": false,
- "output_format": "EPUB",
- "read_file_metadata": true,
- "saved_searches": {},
- "swap_author_names": false,
- "use_primary_find_in_search": true,
- "user_categories": {},
- "worker_process_priority": "normal"
-}
\ No newline at end of file
diff --git a/.setup/managed/calibre/gui.json b/.setup/managed/calibre/gui.json
deleted file mode 100644
index 2a6ba3a..0000000
--- a/.setup/managed/calibre/gui.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
- "custom_colors_for_color_dialog": [
- [
- 255,
- 255,
- 255,
- 255
- ],
- [
- 255,
- 255,
- 255,
- 255
- ],
- [
- 255,
- 255,
- 255,
- 255
- ],
- [
- 255,
- 255,
- 255,
- 255
- ],
- [
- 255,
- 255,
- 255,
- 255
- ],
- [
- 255,
- 255,
- 255,
- 255
- ],
- [
- 255,
- 255,
- 255,
- 255
- ],
- [
- 255,
- 255,
- 255,
- 255
- ],
- [
- 255,
- 255,
- 255,
- 255
- ],
- [
- 255,
- 255,
- 255,
- 255
- ],
- [
- 255,
- 255,
- 255,
- 255
- ],
- [
- 255,
- 255,
- 255,
- 255
- ],
- [
- 255,
- 255,
- 255,
- 255
- ],
- [
- 255,
- 255,
- 255,
- 255
- ],
- [
- 255,
- 255,
- 255,
- 255
- ],
- [
- 255,
- 255,
- 255,
- 255
- ]
- ]
-}
\ No newline at end of file
diff --git a/.setup/managed/calibre/viewer-webengine.json b/.setup/managed/calibre/viewer-webengine.json
deleted file mode 100644
index 55c8091..0000000
--- a/.setup/managed/calibre/viewer-webengine.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "geometry-of-main_window_geometry": {
- "frame_geometry": {
- "height": 480,
- "width": 640,
- "x": -3,
- "y": -30
- },
- "full_screened": false,
- "geometry": {
- "height": 447,
- "width": 634,
- "x": 0,
- "y": 0
- },
- "maximized": false,
- "normal_geometry": {
- "height": 447,
- "width": 634,
- "x": 0,
- "y": 0
- },
- "qt": {
- "__class__": "bytearray",
- "__value__": "AdnQywADAAD////9////4gAAAnwAAAHBAAAAAAAAAAAAAAJ5AAABvgAAAAAAAAAAB4AAAAAAAAAAAAAAAnkAAAG+"
- },
- "screen": {
- "depth": 32,
- "device_pixel_ratio": 1.0,
- "geometry_in_logical_pixels": {
- "height": 1200,
- "width": 1920,
- "x": 0,
- "y": 0
- },
- "index_in_screens_list": 0,
- "manufacturer": "BOE",
- "model": "NV122WUM-N42",
- "name": "eDP-1",
- "serial": "",
- "size_in_logical_pixels": {
- "height": 1200,
- "width": 1920
- },
- "virtual_geometry": {
- "height": 1200,
- "width": 1920,
- "x": 0,
- "y": 0
- }
- }
- },
- "main_window_state": {
- "__class__": "bytearray",
- "__value__": "AAAA/wAAAAH9AAAAAgAAAAAAAAAAAAAAAPwCAAAAAvsAAAAQAHQAbwBjAC0AZABvAGMAawAAAAAA/////wAAAIQA////+wAAABYAcwBlAGEAcgBjAGgALQBkAG8AYwBrAAAAAAD/////AAAAkAD///8AAAABAAAAAAAAAAD8AgAAAAT7AAAAFgBsAG8AbwBrAHUAcAAtAGQAbwBjAGsAAAAAAP////8AAAB3AP////sAAAAcAGIAbwBvAGsAbQBhAHIAawBzAC0AZABvAGMAawAAAAAA/////wAAAOEA////+wAAABwAaQBuAHMAcABlAGMAdABvAHIALQBkAG8AYwBrAAAAAAD/////AAAAEAD////7AAAAHgBoAGkAZwBoAGwAaQBnAGgAdABzAC0AZABvAGMAawAAAAAA/////wAAAMsA////AAACegAAAb8AAAAEAAAABAAAAAgAAAAI/AAAAAEAAAAAAAAAAQAAAB4AYQBjAHQAaQBvAG4AcwBfAHQAbwBvAGwAYgBhAHICAAAAAP////8AAAAAAAAAAA=="
- },
- "old_prefs_migrated": true,
- "session_data": {
- "controls_help_shown_count": 1,
- "standalone_font_settings": {},
- "standalone_misc_settings": {
- "remember_last_read": true,
- "remember_window_geometry": false,
- "save_annotations_in_ebook": true,
- "singleinstance": false
- },
- "standalone_recently_opened": [
- {
- "key": "/home/mayday/ventoy/Ventoy/README.md",
- "pathtoebook": "/home/mayday/ventoy/Ventoy/README.md",
- "timestamp": "2025-08-19T16:49:48.523Z",
- "title": "README"
- }
- ]
- }
-}
\ No newline at end of file
diff --git a/.setup/managed/calibre/viewer/annots/b0fdd2e47c5fd976028c636ba6914d3b6e8db31c42e5bc305feb2c9bb6e262b1.json b/.setup/managed/calibre/viewer/annots/b0fdd2e47c5fd976028c636ba6914d3b6e8db31c42e5bc305feb2c9bb6e262b1.json
deleted file mode 100644
index 0943356..0000000
--- a/.setup/managed/calibre/viewer/annots/b0fdd2e47c5fd976028c636ba6914d3b6e8db31c42e5bc305feb2c9bb6e262b1.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"pos": "epubcfi(/2/2/4/6/1:308)", "pos_type": "epubcfi", "timestamp": "2025-08-19T20:01:32.328283+00:00", "type": "last-read"}]
\ No newline at end of file
diff --git a/.setup/managed/gh/config.yml b/.setup/managed/gh/config.yml
deleted file mode 100644
index 5f548cd..0000000
--- a/.setup/managed/gh/config.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-# The current version of the config schema
-version: 1
-# What protocol to use when performing git operations. Supported values: ssh, https
-git_protocol: https
-# What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment.
-editor:
-# When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled
-prompt: enabled
-# Preference for editor-based interactive prompting. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled
-prefer_editor_prompt: disabled
-# A pager program to send command output to, e.g. "less". If blank, will refer to environment. Set the value to "cat" to disable the pager.
-pager:
-# Aliases allow you to create nicknames for gh commands
-aliases:
- co: pr checkout
-# The path to a unix socket through which send HTTP connections. If blank, HTTP traffic will be handled by net/http.DefaultTransport.
-http_unix_socket:
-# What web browser gh should use when opening URLs. If blank, will refer to environment.
-browser:
-# Whether to display labels using their RGB hex color codes in terminals that support truecolor. Supported values: enabled, disabled
-color_labels: disabled
diff --git a/.setup/managed/inkscape/cphistory.xml b/.setup/managed/inkscape/cphistory.xml
deleted file mode 100644
index cd91a84..0000000
--- a/.setup/managed/inkscape/cphistory.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/.setup/managed/inkscape/dialogs-state-ex.ini b/.setup/managed/inkscape/dialogs-state-ex.ini
deleted file mode 100644
index 87b2f8a..0000000
--- a/.setup/managed/inkscape/dialogs-state-ex.ini
+++ /dev/null
@@ -1,35 +0,0 @@
-[Windows]
-Count=1
-
-[Window0Column0]
-Notebook0Dialogs=Objects;FillStroke;
-Notebook0Height=940
-Notebook0ActiveTab=1
-ColumnWidth=469
-NotebookCount=1
-BeforeCanvas=false
-
-[Window0]
-ColumnCount=1
-Floating=false
-
-[transient]
-state1=
-dialogs1=CloneTiler;
-state2=
-dialogs2=DocumentProperties;
-state3=
-dialogs3=DocumentResources;
-state4=
-dialogs4=ExtensionsGallery;
-state5=
-dialogs5=FilterEffects;
-state6=
-dialogs6=FilterGallery;
-state7=
-dialogs7=FontCollections;
-state8=[Windows]\nCount=1\n\n[Window0Column0]\nNotebook0Dialogs=Preferences;\nNotebookCount=1\n\n[Window0]\nColumnCount=1\nPosition=true\nx=503\ny=241\nwidth=914\nheight=750\n
-dialogs8=Preferences;
-state9=
-dialogs9=XMLEditor;
-count=9
diff --git a/.setup/managed/inkscape/extension-errors.log b/.setup/managed/inkscape/extension-errors.log
deleted file mode 100644
index bb70b06..0000000
--- a/.setup/managed/inkscape/extension-errors.log
+++ /dev/null
@@ -1,36 +0,0 @@
-Extension "Optimized PNG" failed to load because a dependency was not met.
-Dependency:
- type: executable
- location: path
- string: optipng
-
-Extension "Export to PDF via Scribus" failed to load because a dependency was not met.
-Dependency:
- type: executable
- location: path
- string: scribus
-
-Extension "Formula (pdflatex)" failed to load because a dependency was not met.
-Dependency:
- type: executable
- location: path
- string: pdflatex
-
-Extension "Formula (typst)" failed to load because a dependency was not met.
-Dependency:
- type: executable
- location: path
- string: typst
-
-Extension "GIMP XCF" failed to load because a dependency was not met.
-Dependency:
- type: executable
- location: path
- string: gimp
-
-Extension "XFIG Input" failed to load because a dependency was not met.
-Dependency:
- type: executable
- location: path
- string: fig2dev
-
diff --git a/.setup/managed/inkscape/fontcollections/recently_used_fonts.log b/.setup/managed/inkscape/fontcollections/recently_used_fonts.log
deleted file mode 100644
index 4b5db0a..0000000
--- a/.setup/managed/inkscape/fontcollections/recently_used_fonts.log
+++ /dev/null
@@ -1 +0,0 @@
-sans-serif
diff --git a/.setup/managed/inkscape/preferences.xml b/.setup/managed/inkscape/preferences.xml
deleted file mode 100644
index ccf565e..0000000
--- a/.setup/managed/inkscape/preferences.xml
+++ /dev/null
@@ -1,1162 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.setup/managed/kitty/cherry_theme.conf b/.setup/managed/kitty/cherry_theme.conf
deleted file mode 100644
index 38198c0..0000000
--- a/.setup/managed/kitty/cherry_theme.conf
+++ /dev/null
@@ -1,48 +0,0 @@
-# Make the cursor shape a beam
-shell_integration no-cursor
-cursor_shape block
-
-# Padding
-window_padding_width 7
-window_padding_height 10
-
-# Scroll back up to 3000 lines.
-scrollback_lines 3000
-
-#Default font size.
-font_size 11
-
-# Just a keybind to change font size to your liking, it's CTRL + scroll wheel up or down.
-map ctrl+shift+plus change_font_size all +1.0
-map ctrl+shift+minus change font size all -1.0
-
-# Background opacity, set to 0 if you want blur/transparency.
-# Blur works with hyprland, or sway-fx as a drop-in replacement for sway.
-background_opacity 0.985
-
-
-# Finally, the COLORS! these use the design system I made for this rice.
-cursor #f4c9ef
-
-selection_background #f4c9ef
-selection_foreground #321d32
-
-background #321d32
-foreground #f4c9ef
-
-color0 #9400ff
-color8 #92fcfa
-color1 #ff0000
-color9 #ff0000
-color2 #00ff5d
-color10 #00ff5d
-color3 #AC82E9
-color11 #AC82E9
-color4 #7b91fc
-color12 #7b91fc
-color5 #fce40f
-color13 #fce40f
-color6 #8F56E1
-color14 #8F56E1
-color7 #ff00ee
-color15 #d3d3d3
diff --git a/.setup/managed/kitty/default_theme.conf b/.setup/managed/kitty/default_theme.conf
deleted file mode 100644
index 11ffd7b..0000000
--- a/.setup/managed/kitty/default_theme.conf
+++ /dev/null
@@ -1,54 +0,0 @@
-# Make the cursor shape a beam
-shell_integration no-cursor
-cursor_shape block
-
-# Padding
-window_padding_width 7
-window_padding_height 10
-
-# Scroll back up to 3000 lines.
-scrollback_lines 3000
-
-#Default font size.
-font_size 12
-# BEGIN_KITTY_FONTS
-font_family family="Fira Code"
-bold_font auto
-italic_font auto
-bold_italic_font auto
-# END_KITTY_FONTS
-
-# Just a keybind to change font size to your liking, it's CTRL + scroll wheel up or down.
-map ctrl+shift+plus change_font_size all +1.0
-map ctrl+shift+minus change font size all -1.0
-
-# Background opacity, set to 0 if you want blur/transparency.
-# Blur works with hyprland, or sway-fx as a drop-in replacement for sway.
-background_opacity 0.985
-
-
-# Finally, the COLORS! these use the design system I made for this rice.
-cursor #207874
-
-selection_background #d8d8d8
-selection_foreground #207874
-
-background #101010
-foreground #d8d8d8
-
-color0 #9400ff
-color8 #92fcfa
-color1 #ff0000
-color9 #ff0000
-color2 #00ff5d
-color10 #00ff5d
-color3 #AC82E9
-color11 #AC82E9
-color4 #7b91fc
-color12 #7b91fc
-color5 #fce40f
-color13 #fce40f
-color6 #8F56E1
-color14 #8F56E1
-color7 #ff00ee
-color15 #d3d3d3
diff --git a/.setup/managed/kitty/gleep_theme.conf b/.setup/managed/kitty/gleep_theme.conf
deleted file mode 100644
index 9785f37..0000000
--- a/.setup/managed/kitty/gleep_theme.conf
+++ /dev/null
@@ -1,48 +0,0 @@
-# Make the cursor shape a beam
-shell_integration no-cursor
-cursor_shape block
-
-# Padding
-window_padding_width 7
-window_padding_height 10
-
-# Scroll back up to 3000 lines.
-scrollback_lines 3000
-
-#Default font size.
-font_size 11
-
-# Just a keybind to change font size to your liking, it's CTRL + scroll wheel up or down.
-map ctrl+shift+plus change_font_size all +1.0
-map ctrl+shift+minus change font size all -1.0
-
-# Background opacity, set to 0 if you want blur/transparency.
-# Blur works with hyprland, or sway-fx as a drop-in replacement for sway.
-background_opacity 0.985
-
-
-# Finally, the COLORS! these use the design system I made for this rice.
-cursor #3e9949
-
-selection_background #21351a
-selection_foreground #bae6c5
-
-background #bae6c5
-foreground #0d1913
-
-color0 #9400ff
-color8 #92fcfa
-color1 #ff0000
-color9 #ff0000
-color2 #00ff5d
-color10 #00ff5d
-color3 #AC82E9
-color11 #AC82E9
-color4 #7b91fc
-color12 #7b91fc
-color5 #fce40f
-color13 #fce40f
-color6 #8F56E1
-color14 #8F56E1
-color7 #ff00ee
-color15 #d3d3d3
diff --git a/.setup/managed/kitty/indigo_theme.conf b/.setup/managed/kitty/indigo_theme.conf
deleted file mode 100644
index 00b7bbe..0000000
--- a/.setup/managed/kitty/indigo_theme.conf
+++ /dev/null
@@ -1,48 +0,0 @@
-# Make the cursor shape a beam
-shell_integration no-cursor
-cursor_shape block
-
-# Padding
-window_padding_width 7
-window_padding_height 10
-
-# Scroll back up to 3000 lines.
-scrollback_lines 3000
-
-#Default font size.
-font_size 11
-
-# Just a keybind to change font size to your liking, it's CTRL + scroll wheel up or down.
-map ctrl+shift+plus change_font_size all +1.0
-map ctrl+shift+minus change font size all -1.0
-
-# Background opacity, set to 0 if you want blur/transparency.
-# Blur works with hyprland, or sway-fx as a drop-in replacement for sway.
-background_opacity 0.985
-
-
-# Finally, the COLORS! these use the design system I made for this rice.
-cursor #207874
-
-selection_background #d8d8d8
-selection_foreground #207874
-
-background #101010
-foreground #d8d8d8
-
-color0 #9400ff
-color8 #92fcfa
-color1 #ff0000
-color9 #ff0000
-color2 #00ff5d
-color10 #00ff5d
-color3 #AC82E9
-color11 #AC82E9
-color4 #7b91fc
-color12 #7b91fc
-color5 #fce40f
-color13 #fce40f
-color6 #8F56E1
-color14 #8F56E1
-color7 #ff00ee
-color15 #d3d3d3
diff --git a/.setup/managed/kitty/kitty.conf b/.setup/managed/kitty/kitty.conf
deleted file mode 100644
index e346336..0000000
--- a/.setup/managed/kitty/kitty.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-# BEGIN_KITTY_THEME
-include default_theme.conf
-# END_KITTY_THEME
-
-
-# BEGIN_KITTY_FONTS
-font_family family="Fira Code"
-bold_font auto
-italic_font auto
-bold_italic_font auto
-# END_KITTY_FONTS
\ No newline at end of file
diff --git a/.setup/managed/kitty/kitty.conf.bak b/.setup/managed/kitty/kitty.conf.bak
deleted file mode 100644
index dd079ba..0000000
--- a/.setup/managed/kitty/kitty.conf.bak
+++ /dev/null
@@ -1,3 +0,0 @@
-# BEGIN_KITTY_THEME
-include default_theme.conf
-# END_KITTY_THEME
diff --git a/.setup/managed/kitty/yorha_theme.conf b/.setup/managed/kitty/yorha_theme.conf
deleted file mode 100644
index 6d5acd3..0000000
--- a/.setup/managed/kitty/yorha_theme.conf
+++ /dev/null
@@ -1,48 +0,0 @@
-# Make the cursor shape a beam
-shell_integration no-cursor
-cursor_shape block
-
-# Padding
-window_padding_width 7
-window_padding_height 10
-
-# Scroll back up to 3000 lines.
-scrollback_lines 3000
-
-#Default font size.
-font_size 11
-
-# Just a keybind to change font size to your liking, it's CTRL + scroll wheel up or down.
-map ctrl+shift+plus change_font_size all +1.0
-map ctrl+shift+minus change font size all -1.0
-
-# Background opacity, set to 0 if you want blur/transparency.
-# Blur works with hyprland, or sway-fx as a drop-in replacement for sway.
-background_opacity 0.985
-
-
-# Finally, the COLORS! these use the design system I made for this rice.
-cursor #626335
-
-selection_background #1e1d1b
-selection_foreground #d9caba
-
-background #baafa1
-foreground #1e1d1b
-
-color0 #9400ff
-color8 #92fcfa
-color1 #ff0000
-color9 #ff0000
-color2 #00ff5d
-color10 #00ff5d
-color3 #AC82E9
-color11 #AC82E9
-color4 #7b91fc
-color12 #7b91fc
-color5 #fce40f
-color13 #fce40f
-color6 #8F56E1
-color14 #8F56E1
-color7 #ff00ee
-color15 #d3d3d3
diff --git a/.setup/managed/libreoffice/4/user/GraphicsRenderTests.log b/.setup/managed/libreoffice/4/user/GraphicsRenderTests.log
deleted file mode 100644
index e316ff3..0000000
--- a/.setup/managed/libreoffice/4/user/GraphicsRenderTests.log
+++ /dev/null
@@ -1,53 +0,0 @@
-Graphics Backend used: svp
-Passed Tests: 67
-Quirky Tests: 35
-Failed Tests: 1
-Skipped Tests: 6
-
----Name of the tests that failed---
-testDrawInvertN50WithRectangle
-
----Name of the tests that were Quirky---
-testDrawRectWithLine
-testDrawRectWithPolygon
-testDrawRectWithPolyLine
-testDrawRectWithPolyPolygon
-testDrawRectWithPolyPolygonB2D
-testDrawDiamondWithLine
-testComplexDrawTransformedBitmap24bpp
-testDashedLine
-testLinearGradientBorder
-testLinearGradientSteps
-testRadialGradient
-testRadialGradientOfs
-testHalfEllipseWithPolyLine
-testHalfEllipseAAWithPolyLine
-testHalfEllipseAAWithPolyLineB2D
-testHalfEllipseWithPolygon
-testHalfEllipseAAWithPolygon
-testDrawRectangleOnSize1028WithPixel
-testDrawRectangleOnSize4096WithPixel
-testDrawRectangleOnSize1028WithLine
-testDrawRectangleOnSize4096WithLine
-testDrawRectangleOnSize1028WithPolyLine
-testDrawRectangleOnSize4096WithPolyLine
-testDrawRectangleOnSize1028WithPolygon
-testDrawRectangleOnSize4096WithPolygon
-testDrawRectangleOnSize1028WithPolyLineB2D
-testDrawRectangleOnSize4096WithPolyLineB2D
-testDrawRectangleOnSize1028WithPolyPolygon
-testDrawRectangleOnSize4096WithPolyPolygon
-testDrawRectangleOnSize1028WithPolyPolygonB2D
-testDrawRectangleOnSize4096WithPolygonPolygonB2D
-testDrawOpenPolygonWithPolyLine
-testDrawOpenPolygonWithPolygon
-testDrawOpenPolygonWithPolyPolygon
-testDrawOpenPolygonWithPolyPolygonB2D
-
----Name of the tests that were Skipped---
-testDrawInvertTrackFrameWithRectangle
-testDrawBitmap32bpp
-testDrawTransformedBitmap32bpp
-testDrawBitmapExWithAlpha32bpp
-testDrawMask32bpp
-testDrawBlend32bpp
diff --git a/.setup/managed/libreoffice/4/user/autotext/mytexts.bau b/.setup/managed/libreoffice/4/user/autotext/mytexts.bau
deleted file mode 100644
index 7ace179..0000000
Binary files a/.setup/managed/libreoffice/4/user/autotext/mytexts.bau and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/basic/Standard/Module1.xba b/.setup/managed/libreoffice/4/user/basic/Standard/Module1.xba
deleted file mode 100644
index 3424c16..0000000
--- a/.setup/managed/libreoffice/4/user/basic/Standard/Module1.xba
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-REM ***** BASIC *****
-
-Sub Main
-
-End Sub
\ No newline at end of file
diff --git a/.setup/managed/libreoffice/4/user/basic/Standard/dialog.xlb b/.setup/managed/libreoffice/4/user/basic/Standard/dialog.xlb
deleted file mode 100644
index 669529d..0000000
--- a/.setup/managed/libreoffice/4/user/basic/Standard/dialog.xlb
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/.setup/managed/libreoffice/4/user/basic/Standard/script.xlb b/.setup/managed/libreoffice/4/user/basic/Standard/script.xlb
deleted file mode 100644
index 67c9503..0000000
--- a/.setup/managed/libreoffice/4/user/basic/Standard/script.xlb
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/.setup/managed/libreoffice/4/user/basic/dialog.xlc b/.setup/managed/libreoffice/4/user/basic/dialog.xlc
deleted file mode 100644
index 34064e8..0000000
--- a/.setup/managed/libreoffice/4/user/basic/dialog.xlc
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/.setup/managed/libreoffice/4/user/basic/script.xlc b/.setup/managed/libreoffice/4/user/basic/script.xlc
deleted file mode 100644
index 34064e8..0000000
--- a/.setup/managed/libreoffice/4/user/basic/script.xlc
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/.setup/managed/libreoffice/4/user/config/autotbl.fmt b/.setup/managed/libreoffice/4/user/config/autotbl.fmt
deleted file mode 100644
index 611ac0d..0000000
Binary files a/.setup/managed/libreoffice/4/user/config/autotbl.fmt and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/config/javasettings_Linux_X86_64.xml b/.setup/managed/libreoffice/4/user/config/javasettings_Linux_X86_64.xml
deleted file mode 100644
index d18aa9c..0000000
--- a/.setup/managed/libreoffice/4/user/config/javasettings_Linux_X86_64.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/.setup/managed/libreoffice/4/user/database/biblio.odb b/.setup/managed/libreoffice/4/user/database/biblio.odb
deleted file mode 100644
index 9e70744..0000000
Binary files a/.setup/managed/libreoffice/4/user/database/biblio.odb and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/database/biblio/biblio.dbf b/.setup/managed/libreoffice/4/user/database/biblio/biblio.dbf
deleted file mode 100644
index 2715f99..0000000
Binary files a/.setup/managed/libreoffice/4/user/database/biblio/biblio.dbf and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/database/biblio/biblio.dbt b/.setup/managed/libreoffice/4/user/database/biblio/biblio.dbt
deleted file mode 100644
index 0ad4067..0000000
Binary files a/.setup/managed/libreoffice/4/user/database/biblio/biblio.dbt and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/database/evolocal.odb b/.setup/managed/libreoffice/4/user/database/evolocal.odb
deleted file mode 100644
index 82f486a..0000000
Binary files a/.setup/managed/libreoffice/4/user/database/evolocal.odb and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/extensions/buildid b/.setup/managed/libreoffice/4/user/extensions/buildid
deleted file mode 100644
index ba31713..0000000
--- a/.setup/managed/libreoffice/4/user/extensions/buildid
+++ /dev/null
@@ -1 +0,0 @@
-480(Build:2)
\ No newline at end of file
diff --git a/.setup/managed/libreoffice/4/user/extensions/bundled/lastsynchronized b/.setup/managed/libreoffice/4/user/extensions/bundled/lastsynchronized
deleted file mode 100644
index 56a6051..0000000
--- a/.setup/managed/libreoffice/4/user/extensions/bundled/lastsynchronized
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/.setup/managed/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml b/.setup/managed/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml
deleted file mode 100644
index fb4de4d..0000000
--- a/.setup/managed/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/.setup/managed/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml b/.setup/managed/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml
deleted file mode 100644
index 496c8c8..0000000
--- a/.setup/managed/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/.setup/managed/libreoffice/4/user/extensions/shared/lastsynchronized b/.setup/managed/libreoffice/4/user/extensions/shared/lastsynchronized
deleted file mode 100644
index 56a6051..0000000
--- a/.setup/managed/libreoffice/4/user/extensions/shared/lastsynchronized
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/.setup/managed/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml b/.setup/managed/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml
deleted file mode 100644
index fb4de4d..0000000
--- a/.setup/managed/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/.setup/managed/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml b/.setup/managed/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml
deleted file mode 100644
index 496c8c8..0000000
--- a/.setup/managed/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/.setup/managed/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml b/.setup/managed/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml
deleted file mode 100644
index fb4de4d..0000000
--- a/.setup/managed/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/.setup/managed/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml b/.setup/managed/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml
deleted file mode 100644
index 496c8c8..0000000
--- a/.setup/managed/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/.setup/managed/libreoffice/4/user/gallery/sg30.sdv b/.setup/managed/libreoffice/4/user/gallery/sg30.sdv
deleted file mode 100644
index fc17dd9..0000000
Binary files a/.setup/managed/libreoffice/4/user/gallery/sg30.sdv and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/gallery/sg30.thm b/.setup/managed/libreoffice/4/user/gallery/sg30.thm
deleted file mode 100644
index 9bf97d6..0000000
Binary files a/.setup/managed/libreoffice/4/user/gallery/sg30.thm and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/pack/ExtensionInfo.pack b/.setup/managed/libreoffice/4/user/pack/ExtensionInfo.pack
deleted file mode 100644
index 02b6c98..0000000
Binary files a/.setup/managed/libreoffice/4/user/pack/ExtensionInfo.pack and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/pack/autotext/mytexts.pack b/.setup/managed/libreoffice/4/user/pack/autotext/mytexts.pack
deleted file mode 100644
index 78618ab..0000000
Binary files a/.setup/managed/libreoffice/4/user/pack/autotext/mytexts.pack and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/pack/basic/Standard/Module1.pack b/.setup/managed/libreoffice/4/user/pack/basic/Standard/Module1.pack
deleted file mode 100644
index d7944bf..0000000
Binary files a/.setup/managed/libreoffice/4/user/pack/basic/Standard/Module1.pack and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/pack/basic/Standard/dialog.pack b/.setup/managed/libreoffice/4/user/pack/basic/Standard/dialog.pack
deleted file mode 100644
index db56d38..0000000
Binary files a/.setup/managed/libreoffice/4/user/pack/basic/Standard/dialog.pack and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/pack/basic/Standard/script.pack b/.setup/managed/libreoffice/4/user/pack/basic/Standard/script.pack
deleted file mode 100644
index 763901c..0000000
Binary files a/.setup/managed/libreoffice/4/user/pack/basic/Standard/script.pack and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/pack/basic/dialog.pack b/.setup/managed/libreoffice/4/user/pack/basic/dialog.pack
deleted file mode 100644
index 275025b..0000000
Binary files a/.setup/managed/libreoffice/4/user/pack/basic/dialog.pack and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/pack/basic/script.pack b/.setup/managed/libreoffice/4/user/pack/basic/script.pack
deleted file mode 100644
index 275025b..0000000
Binary files a/.setup/managed/libreoffice/4/user/pack/basic/script.pack and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/pack/config/autotbl.pack b/.setup/managed/libreoffice/4/user/pack/config/autotbl.pack
deleted file mode 100644
index c0060a0..0000000
Binary files a/.setup/managed/libreoffice/4/user/pack/config/autotbl.pack and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/pack/config/javasettings_Linux_X86_64.pack b/.setup/managed/libreoffice/4/user/pack/config/javasettings_Linux_X86_64.pack
deleted file mode 100644
index 7af6b37..0000000
Binary files a/.setup/managed/libreoffice/4/user/pack/config/javasettings_Linux_X86_64.pack and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/pack/database/biblio.pack b/.setup/managed/libreoffice/4/user/pack/database/biblio.pack
deleted file mode 100644
index d895355..0000000
Binary files a/.setup/managed/libreoffice/4/user/pack/database/biblio.pack and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/pack/database/biblio/biblio.pack b/.setup/managed/libreoffice/4/user/pack/database/biblio/biblio.pack
deleted file mode 100644
index 6216fb7..0000000
Binary files a/.setup/managed/libreoffice/4/user/pack/database/biblio/biblio.pack and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/pack/database/evolocal.pack b/.setup/managed/libreoffice/4/user/pack/database/evolocal.pack
deleted file mode 100644
index 07987aa..0000000
Binary files a/.setup/managed/libreoffice/4/user/pack/database/evolocal.pack and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/pack/registrymodifications.pack b/.setup/managed/libreoffice/4/user/pack/registrymodifications.pack
deleted file mode 100644
index df16baf..0000000
Binary files a/.setup/managed/libreoffice/4/user/pack/registrymodifications.pack and /dev/null differ
diff --git a/.setup/managed/libreoffice/4/user/registrymodifications.xcu b/.setup/managed/libreoffice/4/user/registrymodifications.xcu
deleted file mode 100644
index 20eea7a..0000000
--- a/.setup/managed/libreoffice/4/user/registrymodifications.xcu
+++ /dev/null
@@ -1,111 +0,0 @@
-
-
-- false
-- 0
-- 20345
-- no
-
-- true
-- false
-- estradiol-calcCalc MS Excel 2007 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ACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACP/F1GK4JBHheUuAAAAAElFTkSuQmCC
-- file:///home/mayday/Downloads/estradiol-calc.xlsx
-- file:///home/mayday/keys/dotfiles.pub
-- 2147483647com.sun.star.logging.FileHandler$(userurl)/$(loggername).logcom.sun.star.logging.PlainTextFormatter
-- false
-
-- true
-- true
-- 0,2
-- true
-- 0
-- false
-- true
-- false
-- 2147483647,2147483647
-- 0,0
-- false
-- 0
-- Formatting
-- true
-- true
-- true
-- 0,0
-- true
-- 0
-- false
-- true
-- false
-- 2147483647,2147483647
-- 0,0
-- false
-- 0
-- Standard
-- true
-- com.sun.star.text.TextDocument, any, visiblecom.sun.star.text.GlobalDocument, any, visiblecom.sun.star.text.WebDocument, any, visiblecom.sun.star.xforms.XMLFormDocument, any, visiblecom.sun.star.sdb.FormDesign, any, visiblecom.sun.star.sdb.TextReportDesign, any, visible
-- com.sun.star.text.TextDocument, any, visiblecom.sun.star.text.GlobalDocument, any, visiblecom.sun.star.text.WebDocument, any, visiblecom.sun.star.xforms.XMLFormDocument, any, visiblecom.sun.star.sdb.FormDesign, any, visiblecom.sun.star.sdb.TextReportDesign, any, visible
-- com.sun.star.sheet.SpreadsheetDocument, any, visiblecom.sun.star.drawing.DrawingDocument, any, visiblecom.sun.star.presentation.PresentationDocument, any, visiblecom.sun.star.text.TextDocument, any, visiblecom.sun.star.text.GlobalDocument, any, visiblecom.sun.star.text.WebDocument, any, visiblecom.sun.star.xforms.XMLFormDocument, any, visiblecom.sun.star.sdb.FormDesign, any, visiblecom.sun.star.sdb.TextReportDesign, any, visible
-- com.sun.star.text.TextDocument, any, visiblecom.sun.star.text.GlobalDocument, any, visiblecom.sun.star.text.WebDocument, any, visiblecom.sun.star.xforms.XMLFormDocument, any, visiblecom.sun.star.sdb.FormDesign, any, visiblecom.sun.star.sdb.TextReportDesign, any, visible
-- com.sun.star.sheet.SpreadsheetDocument, any, visiblecom.sun.star.drawing.DrawingDocument, any, visiblecom.sun.star.presentation.PresentationDocument, any, visiblecom.sun.star.text.TextDocument, any, visiblecom.sun.star.text.GlobalDocument, any, visiblecom.sun.star.text.WebDocument, any, visiblecom.sun.star.xforms.XMLFormDocument, any, visiblecom.sun.star.sdb.FormDesign, any, visiblecom.sun.star.sdb.TextReportDesign, any, visible
-- any, any, visible
-- com.sun.star.sheet.SpreadsheetDocument, any, visible
-- com.sun.star.sheet.SpreadsheetDocument, any, visiblecom.sun.star.drawing.DrawingDocument, any, visiblecom.sun.star.presentation.PresentationDocument, any, visiblecom.sun.star.text.TextDocument, any, visiblecom.sun.star.text.GlobalDocument, any, visiblecom.sun.star.text.WebDocument, any, visiblecom.sun.star.xforms.XMLFormDocument, any, visiblecom.sun.star.sdb.FormDesign, any, visiblecom.sun.star.sdb.TextReportDesign, any, visible
-- com.sun.star.text.TextDocument, Annotation, visiblecom.sun.star.text.GlobalDocument, Annotation, visiblecom.sun.star.text.WebDocument, Annotation, visiblecom.sun.star.xforms.XMLFormDocument, Annotation, visiblecom.sun.star.sdb.FormDesign, Annotation, visiblecom.sun.star.sdb.TextReportDesign, Annotation, visiblecom.sun.star.text.TextDocument, DrawText, visiblecom.sun.star.text.GlobalDocument, DrawText, visiblecom.sun.star.text.WebDocument, DrawText, visiblecom.sun.star.xforms.XMLFormDocument, DrawText, visiblecom.sun.star.sdb.FormDesign, DrawText, visiblecom.sun.star.sdb.TextReportDesign, DrawText, visiblecom.sun.star.text.TextDocument, Table, visiblecom.sun.star.text.GlobalDocument, Table, visiblecom.sun.star.text.WebDocument, Table, visiblecom.sun.star.xforms.XMLFormDocument, Table, visiblecom.sun.star.sdb.FormDesign, Table, visiblecom.sun.star.sdb.TextReportDesign, Table, visiblecom.sun.star.text.TextDocument, Text, visiblecom.sun.star.text.GlobalDocument, Text, visiblecom.sun.star.text.WebDocument, Text, visiblecom.sun.star.xforms.XMLFormDocument, Text, visiblecom.sun.star.sdb.FormDesign, Text, visiblecom.sun.star.sdb.TextReportDesign, Text, visiblecom.sun.star.text.TextDocument, default, visiblecom.sun.star.text.GlobalDocument, default, visiblecom.sun.star.text.WebDocument, default, visiblecom.sun.star.xforms.XMLFormDocument, default, visiblecom.sun.star.sdb.FormDesign, default, visiblecom.sun.star.sdb.TextReportDesign, default, visible
-- com.sun.star.text.TextDocument, any, visiblecom.sun.star.text.GlobalDocument, any, visiblecom.sun.star.text.WebDocument, any, visiblecom.sun.star.xforms.XMLFormDocument, any, visiblecom.sun.star.sdb.FormDesign, any, visiblecom.sun.star.sdb.TextReportDesign, any, visible
-- any,PropertyDeckcom.sun.star.formula.FormulaProperties,ElementsDeckcom.sun.star.sheet.SpreadsheetDocument,PropertyDeckcom.sun.star.text.TextDocument,PropertyDeck
-- com.sun.star.sheet.SpreadsheetDocument, DrawText, visible, .uno:ParagraphDialogcom.sun.star.sheet.SpreadsheetDocument, DrawLine, hidden, .uno:ParagraphDialogcom.sun.star.drawing.DrawingDocument, DrawLine, hidden, .uno:ParagraphDialogcom.sun.star.presentation.PresentationDocument, DrawLine, hidden, .uno:ParagraphDialogcom.sun.star.drawing.DrawingDocument, 3DObject, hidden, .uno:ParagraphDialogcom.sun.star.presentation.PresentationDocument, 3DObject, hidden, .uno:ParagraphDialogcom.sun.star.drawing.DrawingDocument, Draw, hidden, .uno:ParagraphDialogcom.sun.star.presentation.PresentationDocument, Draw, hidden, .uno:ParagraphDialogcom.sun.star.drawing.DrawingDocument, DrawFontwork, hidden, .uno:ParagraphDialogcom.sun.star.presentation.PresentationDocument, DrawFontwork, hidden, .uno:ParagraphDialogcom.sun.star.drawing.DrawingDocument, DrawText, visible, .uno:ParagraphDialogcom.sun.star.presentation.PresentationDocument, DrawText, visible, .uno:ParagraphDialogcom.sun.star.drawing.DrawingDocument, Graphic, hidden, .uno:ParagraphDialogcom.sun.star.presentation.PresentationDocument, Graphic, hidden, .uno:ParagraphDialogcom.sun.star.drawing.DrawingDocument, Table, visible, .uno:ParagraphDialogcom.sun.star.presentation.PresentationDocument, Table, visible, .uno:ParagraphDialogcom.sun.star.drawing.DrawingDocument, TextObject, visible, .uno:ParagraphDialogcom.sun.star.presentation.PresentationDocument, TextObject, visible, .uno:ParagraphDialogcom.sun.star.text.TextDocument, Annotation, visible, .uno:ParagraphDialogcom.sun.star.text.GlobalDocument, Annotation, visible, .uno:ParagraphDialogcom.sun.star.text.WebDocument, Annotation, visible, .uno:ParagraphDialogcom.sun.star.xforms.XMLFormDocument, Annotation, visible, .uno:ParagraphDialogcom.sun.star.sdb.FormDesign, Annotation, visible, .uno:ParagraphDialogcom.sun.star.sdb.TextReportDesign, Annotation, visible, .uno:ParagraphDialogcom.sun.star.text.TextDocument, DrawText, visible, .uno:ParagraphDialogcom.sun.star.text.GlobalDocument, DrawText, visible, .uno:ParagraphDialogcom.sun.star.text.WebDocument, DrawText, visible, .uno:ParagraphDialogcom.sun.star.xforms.XMLFormDocument, DrawText, visible, .uno:ParagraphDialogcom.sun.star.sdb.FormDesign, DrawText, visible, .uno:ParagraphDialogcom.sun.star.sdb.TextReportDesign, DrawText, visible, .uno:ParagraphDialogcom.sun.star.text.TextDocument, Table, visible, .uno:ParagraphDialogcom.sun.star.text.GlobalDocument, Table, visible, .uno:ParagraphDialogcom.sun.star.text.WebDocument, Table, visible, .uno:ParagraphDialogcom.sun.star.xforms.XMLFormDocument, Table, visible, .uno:ParagraphDialogcom.sun.star.sdb.FormDesign, Table, visible, .uno:ParagraphDialogcom.sun.star.sdb.TextReportDesign, Table, visible, .uno:ParagraphDialogcom.sun.star.text.TextDocument, Text, visible, .uno:ParagraphDialogcom.sun.star.text.GlobalDocument, Text, visible, .uno:ParagraphDialogcom.sun.star.text.WebDocument, Text, visible, .uno:ParagraphDialogcom.sun.star.xforms.XMLFormDocument, Text, visible, .uno:ParagraphDialogcom.sun.star.sdb.FormDesign, Text, visible, .uno:ParagraphDialogcom.sun.star.sdb.TextReportDesign, Text, visible, .uno:ParagraphDialogcom.sun.star.text.TextDocument, default, visible, .uno:ParagraphDialogcom.sun.star.text.GlobalDocument, default, visible, .uno:ParagraphDialogcom.sun.star.text.WebDocument, default, visible, .uno:ParagraphDialogcom.sun.star.xforms.XMLFormDocument, default, visible, .uno:ParagraphDialogcom.sun.star.sdb.FormDesign, default, visible, .uno:ParagraphDialogcom.sun.star.sdb.TextReportDesign, default, visible, .uno:ParagraphDialog
-- com.sun.star.sheet.SpreadsheetDocument, Auditing, visible, .uno:Hyphenatecom.sun.star.sheet.SpreadsheetDocument, Cell, visible, .uno:Hyphenatecom.sun.star.sheet.SpreadsheetDocument, default, visible, .uno:Hyphenatecom.sun.star.sheet.SpreadsheetDocument, EditCell, visible, .uno:Hyphenatecom.sun.star.sheet.SpreadsheetDocument, Pivot, visible, .uno:Hyphenatecom.sun.star.sheet.SpreadsheetDocument, Sparkline, visible, .uno:Hyphenate
-- com.sun.star.sheet.SpreadsheetDocument, Auditing, visible, .uno:FormatCellDialogcom.sun.star.sheet.SpreadsheetDocument, Cell, visible, .uno:FormatCellDialogcom.sun.star.sheet.SpreadsheetDocument, EditCell, visible, .uno:FormatCellDialogcom.sun.star.sheet.SpreadsheetDocument, default, visible, .uno:FormatCellDialogcom.sun.star.sheet.SpreadsheetDocument, Pivot, visible, .uno:FormatCellDialogcom.sun.star.sheet.SpreadsheetDocument, Sparkline, visible, .uno:FormatCellDialog
-- com.sun.star.sheet.SpreadsheetDocument, Auditing, visible, .uno:FormatCellDialogcom.sun.star.sheet.SpreadsheetDocument, Cell, visible, .uno:FormatCellDialogcom.sun.star.sheet.SpreadsheetDocument, EditCell, visible, .uno:FormatCellDialogcom.sun.star.sheet.SpreadsheetDocument, default, visible, .uno:FormatCellDialogcom.sun.star.sheet.SpreadsheetDocument, Pivot, visible, .uno:FormatCellDialogcom.sun.star.sheet.SpreadsheetDocument, Sparkline, visible, .uno:FormatCellDialog
-- com.sun.star.text.TextDocument, Annotation, visible, .uno:EditStylecom.sun.star.text.GlobalDocument, Annotation, visible, .uno:EditStylecom.sun.star.text.WebDocument, Annotation, visible, .uno:EditStylecom.sun.star.xforms.XMLFormDocument, Annotation, visible, .uno:EditStylecom.sun.star.sdb.FormDesign, Annotation, visible, .uno:EditStylecom.sun.star.sdb.TextReportDesign, Annotation, visible, .uno:EditStylecom.sun.star.text.TextDocument, DrawText, visible, .uno:EditStylecom.sun.star.text.GlobalDocument, DrawText, visible, .uno:EditStylecom.sun.star.text.WebDocument, DrawText, visible, .uno:EditStylecom.sun.star.xforms.XMLFormDocument, DrawText, visible, .uno:EditStylecom.sun.star.sdb.FormDesign, DrawText, visible, .uno:EditStylecom.sun.star.sdb.TextReportDesign, DrawText, visible, .uno:EditStylecom.sun.star.text.TextDocument, Table, visible, .uno:EditStylecom.sun.star.text.GlobalDocument, Table, visible, .uno:EditStylecom.sun.star.text.WebDocument, Table, visible, .uno:EditStylecom.sun.star.xforms.XMLFormDocument, Table, visible, .uno:EditStylecom.sun.star.sdb.FormDesign, Table, visible, .uno:EditStylecom.sun.star.sdb.TextReportDesign, Table, visible, .uno:EditStylecom.sun.star.text.TextDocument, Text, visible, .uno:EditStylecom.sun.star.text.GlobalDocument, Text, visible, .uno:EditStylecom.sun.star.text.WebDocument, Text, visible, .uno:EditStylecom.sun.star.xforms.XMLFormDocument, Text, visible, .uno:EditStylecom.sun.star.sdb.FormDesign, Text, visible, .uno:EditStylecom.sun.star.sdb.TextReportDesign, Text, visible, .uno:EditStylecom.sun.star.text.TextDocument, default, visible, .uno:EditStylecom.sun.star.text.GlobalDocument, default, visible, .uno:EditStylecom.sun.star.text.WebDocument, default, visible, .uno:EditStylecom.sun.star.xforms.XMLFormDocument, default, visible, .uno:EditStylecom.sun.star.sdb.FormDesign, default, visible, .uno:EditStylecom.sun.star.sdb.TextReportDesign, default, visible, .uno:EditStylecom.sun.star.sheet.SpreadsheetDocument, Auditing, visible, .uno:EditStylecom.sun.star.sheet.SpreadsheetDocument, Cell, visible, .uno:EditStylecom.sun.star.sheet.SpreadsheetDocument, default, visible, .uno:EditStylecom.sun.star.sheet.SpreadsheetDocument, EditCell, visible, .uno:EditStylecom.sun.star.sheet.SpreadsheetDocument, Pivot, visible, .uno:EditStylecom.sun.star.sheet.SpreadsheetDocument, Sparkline, visible, .uno:EditStyle
-- com.sun.star.sheet.SpreadsheetDocument, Auditing, visible, .uno:CellTextDlgcom.sun.star.sheet.SpreadsheetDocument, Cell, visible, .uno:CellTextDlgcom.sun.star.sheet.SpreadsheetDocument, default, visible, .uno:CellTextDlgcom.sun.star.sheet.SpreadsheetDocument, DrawText, visible, .uno:FontDialogcom.sun.star.sheet.SpreadsheetDocument, DrawLine, hidden, .uno:FontDialogcom.sun.star.sheet.SpreadsheetDocument, EditCell, visible, .uno:FontDialogcom.sun.star.sheet.SpreadsheetDocument, Pivot, visible, .uno:CellTextDlgcom.sun.star.sheet.SpreadsheetDocument, Sparkline, visible, .uno:FontDialogcom.sun.star.drawing.DrawingDocument, Draw, hidden, .uno:FontDialogcom.sun.star.presentation.PresentationDocument, Draw, hidden, .uno:FontDialogcom.sun.star.drawing.DrawingDocument, DrawFontwork, hidden, .uno:FontDialogcom.sun.star.presentation.PresentationDocument, DrawFontwork, hidden, .uno:FontDialogcom.sun.star.drawing.DrawingDocument, DrawText, visible, .uno:FontDialogcom.sun.star.presentation.PresentationDocument, DrawText, visible, .uno:FontDialogcom.sun.star.drawing.DrawingDocument, DrawLine, hidden, .uno:FontDialogcom.sun.star.presentation.PresentationDocument, DrawLine, hidden, .uno:FontDialogcom.sun.star.drawing.DrawingDocument, Graphic, hidden, .uno:FontDialogcom.sun.star.presentation.PresentationDocument, Graphic, hidden, .uno:FontDialogcom.sun.star.drawing.DrawingDocument, OutlineText, visible, .uno:FontDialogcom.sun.star.presentation.PresentationDocument, OutlineText, visible, .uno:FontDialogcom.sun.star.drawing.DrawingDocument, Table, visible, .uno:FontDialogcom.sun.star.presentation.PresentationDocument, Table, visible, .uno:FontDialogcom.sun.star.drawing.DrawingDocument, TextObject, visible, .uno:FontDialogcom.sun.star.presentation.PresentationDocument, TextObject, visible, .uno:FontDialogcom.sun.star.text.TextDocument, Annotation, visible, .uno:FontDialogcom.sun.star.text.GlobalDocument, Annotation, visible, .uno:FontDialogcom.sun.star.text.WebDocument, Annotation, visible, .uno:FontDialogcom.sun.star.xforms.XMLFormDocument, Annotation, visible, .uno:FontDialogcom.sun.star.sdb.FormDesign, Annotation, visible, .uno:FontDialogcom.sun.star.sdb.TextReportDesign, Annotation, visible, .uno:FontDialogcom.sun.star.text.TextDocument, DrawText, visible, .uno:FontDialogcom.sun.star.text.GlobalDocument, DrawText, visible, .uno:FontDialogcom.sun.star.text.WebDocument, DrawText, visible, .uno:FontDialogcom.sun.star.xforms.XMLFormDocument, DrawText, visible, .uno:FontDialogcom.sun.star.sdb.FormDesign, DrawText, visible, .uno:FontDialogcom.sun.star.sdb.TextReportDesign, DrawText, visible, .uno:FontDialogcom.sun.star.text.TextDocument, Table, visible, .uno:FontDialogcom.sun.star.text.GlobalDocument, Table, visible, .uno:FontDialogcom.sun.star.text.WebDocument, Table, visible, .uno:FontDialogcom.sun.star.xforms.XMLFormDocument, Table, visible, .uno:FontDialogcom.sun.star.sdb.FormDesign, Table, visible, .uno:FontDialogcom.sun.star.sdb.TextReportDesign, Table, visible, .uno:FontDialogcom.sun.star.text.TextDocument, Text, visible, .uno:FontDialogcom.sun.star.text.GlobalDocument, Text, visible, .uno:FontDialogcom.sun.star.text.WebDocument, Text, visible, .uno:FontDialogcom.sun.star.xforms.XMLFormDocument, Text, visible, .uno:FontDialogcom.sun.star.sdb.FormDesign, Text, visible, .uno:FontDialogcom.sun.star.sdb.TextReportDesign, Text, visible, .uno:FontDialogcom.sun.star.text.TextDocument, default, visible, .uno:FontDialogcom.sun.star.text.GlobalDocument, default, visible, .uno:FontDialogcom.sun.star.text.WebDocument, default, visible, .uno:FontDialogcom.sun.star.xforms.XMLFormDocument, default, visible, .uno:FontDialogcom.sun.star.sdb.FormDesign, default, visible, .uno:FontDialogcom.sun.star.sdb.TextReportDesign, default, visible, .uno:FontDialog
-- true
-- true
-- 0,0
-- true
-- 0
-- false
-- true
-- false
-- 2147483647,2147483647
-- 0,0
-- false
-- 0
-- Standard
-- true
-- true
-- true
-- 0,1
-- true
-- 0
-- false
-- true
-- false
-- 2147483647,2147483647
-- 0,0
-- false
-- 0
-- Formatting
-- true
-- V1,2,0
-- V1,2,0
-- V1,2,1,0,10336
-- V1,2,0
-- V2,V,0,AL:(5,16,0/0/48/450,48;450)
-
-- V2,V,128
-- V2,V,20
-- V2,V,0,AL:(5,16,0/0/49/450,49;450)
-
-- V2,V,128
-- true
-- en-US
-- 0,0,944,1140;5;0,0,1899,1140;
-- 57,50,1806,1101;5;0,32,1921,1169;
-- 480(Build:2)
-- false
-- true
-- 1755219638
-- 1755219638
-- 24.8
-
diff --git a/.setup/managed/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml b/.setup/managed/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml
deleted file mode 100644
index fb4de4d..0000000
--- a/.setup/managed/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/.setup/managed/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml b/.setup/managed/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml
deleted file mode 100644
index 496c8c8..0000000
--- a/.setup/managed/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/.setup/managed/nemo/bookmark-metadata b/.setup/managed/nemo/bookmark-metadata
deleted file mode 100644
index e69de29..0000000
diff --git a/.setup/managed/nemo/desktop-metadata b/.setup/managed/nemo/desktop-metadata
deleted file mode 100644
index 5ef3633..0000000
--- a/.setup/managed/nemo/desktop-metadata
+++ /dev/null
@@ -1,28 +0,0 @@
-[desktop-monitor-0]
-nemo-icon-view-keep-aligned=true
-nemo-icon-view-auto-layout=true
-nemo-icon-view-layout-timestamp=1755636018
-
-[Ventoy.volume]
-nemo-icon-position-timestamp=1755624544
-nemo-icon-position=91,104
-monitor=0
-icon-scale=1
-
-[STORE N GO.volume]
-nemo-icon-position=91,4
-monitor=0
-icon-scale=1
-nemo-icon-position-timestamp=1755624103
-
-[VTOYEFI.volume]
-nemo-icon-position=91,104
-monitor=0
-icon-scale=1
-nemo-icon-position-timestamp=1755624538
-
-[Ventoy.volume.2]
-nemo-icon-position=91,4
-monitor=0
-icon-scale=1
-nemo-icon-position-timestamp=1755625309
diff --git a/.setup/managed/neofetch/config.conf b/.setup/managed/neofetch/config.conf
deleted file mode 100644
index f1338af..0000000
--- a/.setup/managed/neofetch/config.conf
+++ /dev/null
@@ -1,880 +0,0 @@
-# See this wiki page for more info:
-# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
-print_info() {
- info title
- info underline
-
- info "OS" distro
- info "Model" model
- # info "Kernel" kernel
- info "Uptime" uptime
- info "Packages" packages
- info "Shell" shell
- info "Resolution" resolution
- info "DE" de
- info "WM" wm
- info "WM Theme" wm_theme
- info "Theme" theme
- info "Icons" icons
- info "Terminal" term
- info "Terminal Font" term_font
- info "CPU" cpu
- info "GPU" gpu
- info "Memory" memory
-
- # info "GPU Driver" gpu_driver # Linux/macOS only
- # info "Disk" disk
- # info "Battery" battery
- # info "Font" font
- # info "Song" song
- # [[ "$player" ]] && prin "Music Player" "$player"
- # info "Local IP" local_ip
- # info "Public IP" public_ip
- # info "Users" users
- # info "Locale" locale # This only works on glibc systems.
-
- info cols
-}
-
-# Title
-
-
-# Hide/Show Fully qualified domain name.
-#
-# Default: 'off'
-# Values: 'on', 'off'
-# Flag: --title_fqdn
-title_fqdn="off"
-
-
-# Kernel
-
-
-# Shorten the output of the kernel function.
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --kernel_shorthand
-# Supports: Everything except *BSDs (except PacBSD and PC-BSD)
-#
-# Example:
-# on: '4.8.9-1-ARCH'
-# off: 'Linux 4.8.9-1-ARCH'
-kernel_shorthand="on"
-
-
-# Distro
-
-
-# Shorten the output of the distro function
-#
-# Default: 'off'
-# Values: 'on', 'tiny', 'off'
-# Flag: --distro_shorthand
-# Supports: Everything except Windows and Haiku
-distro_shorthand="off"
-
-# Show/Hide OS Architecture.
-# Show 'x86_64', 'x86' and etc in 'Distro:' output.
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --os_arch
-#
-# Example:
-# on: 'Arch Linux x86_64'
-# off: 'Arch Linux'
-os_arch="on"
-
-
-# Uptime
-
-
-# Shorten the output of the uptime function
-#
-# Default: 'on'
-# Values: 'on', 'tiny', 'off'
-# Flag: --uptime_shorthand
-#
-# Example:
-# on: '2 days, 10 hours, 3 mins'
-# tiny: '2d 10h 3m'
-# off: '2 days, 10 hours, 3 minutes'
-uptime_shorthand="on"
-
-
-# Memory
-
-
-# Show memory percentage in output.
-#
-# Default: 'off'
-# Values: 'on', 'off'
-# Flag: --memory_percent
-#
-# Example:
-# on: '1801MiB / 7881MiB (22%)'
-# off: '1801MiB / 7881MiB'
-memory_percent="off"
-
-# Change memory output unit.
-#
-# Default: 'mib'
-# Values: 'kib', 'mib', 'gib'
-# Flag: --memory_unit
-#
-# Example:
-# kib '1020928KiB / 7117824KiB'
-# mib '1042MiB / 6951MiB'
-# gib: ' 0.98GiB / 6.79GiB'
-memory_unit="mib"
-
-
-# Packages
-
-
-# Show/Hide Package Manager names.
-#
-# Default: 'tiny'
-# Values: 'on', 'tiny' 'off'
-# Flag: --package_managers
-#
-# Example:
-# on: '998 (pacman), 8 (flatpak), 4 (snap)'
-# tiny: '908 (pacman, flatpak, snap)'
-# off: '908'
-package_managers="on"
-
-
-# Shell
-
-
-# Show the path to $SHELL
-#
-# Default: 'off'
-# Values: 'on', 'off'
-# Flag: --shell_path
-#
-# Example:
-# on: '/bin/bash'
-# off: 'bash'
-shell_path="off"
-
-# Show $SHELL version
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --shell_version
-#
-# Example:
-# on: 'bash 4.4.5'
-# off: 'bash'
-shell_version="on"
-
-
-# CPU
-
-
-# CPU speed type
-#
-# Default: 'bios_limit'
-# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
-# Flag: --speed_type
-# Supports: Linux with 'cpufreq'
-# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
-speed_type="bios_limit"
-
-# CPU speed shorthand
-#
-# Default: 'off'
-# Values: 'on', 'off'.
-# Flag: --speed_shorthand
-# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
-#
-# Example:
-# on: 'i7-6500U (4) @ 3.1GHz'
-# off: 'i7-6500U (4) @ 3.100GHz'
-speed_shorthand="off"
-
-# Enable/Disable CPU brand in output.
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --cpu_brand
-#
-# Example:
-# on: 'Intel i7-6500U'
-# off: 'i7-6500U (4)'
-cpu_brand="on"
-
-# CPU Speed
-# Hide/Show CPU speed.
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --cpu_speed
-#
-# Example:
-# on: 'Intel i7-6500U (4) @ 3.1GHz'
-# off: 'Intel i7-6500U (4)'
-cpu_speed="on"
-
-# CPU Cores
-# Display CPU cores in output
-#
-# Default: 'logical'
-# Values: 'logical', 'physical', 'off'
-# Flag: --cpu_cores
-# Support: 'physical' doesn't work on BSD.
-#
-# Example:
-# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
-# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
-# off: 'Intel i7-6500U @ 3.1GHz'
-cpu_cores="logical"
-
-# CPU Temperature
-# Hide/Show CPU temperature.
-# Note the temperature is added to the regular CPU function.
-#
-# Default: 'off'
-# Values: 'C', 'F', 'off'
-# Flag: --cpu_temp
-# Supports: Linux, BSD
-# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
-# coretemp kernel module. This only supports newer Intel processors.
-#
-# Example:
-# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
-# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
-# off: 'Intel i7-6500U (4) @ 3.1GHz'
-cpu_temp="off"
-
-
-# GPU
-
-
-# Enable/Disable GPU Brand
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --gpu_brand
-#
-# Example:
-# on: 'AMD HD 7950'
-# off: 'HD 7950'
-gpu_brand="on"
-
-# Which GPU to display
-#
-# Default: 'all'
-# Values: 'all', 'dedicated', 'integrated'
-# Flag: --gpu_type
-# Supports: Linux
-#
-# Example:
-# all:
-# GPU1: AMD HD 7950
-# GPU2: Intel Integrated Graphics
-#
-# dedicated:
-# GPU1: AMD HD 7950
-#
-# integrated:
-# GPU1: Intel Integrated Graphics
-gpu_type="all"
-
-
-# Resolution
-
-
-# Display refresh rate next to each monitor
-# Default: 'off'
-# Values: 'on', 'off'
-# Flag: --refresh_rate
-# Supports: Doesn't work on Windows.
-#
-# Example:
-# on: '1920x1080 @ 60Hz'
-# off: '1920x1080'
-refresh_rate="off"
-
-
-# Gtk Theme / Icons / Font
-
-
-# Shorten output of GTK Theme / Icons / Font
-#
-# Default: 'off'
-# Values: 'on', 'off'
-# Flag: --gtk_shorthand
-#
-# Example:
-# on: 'Numix, Adwaita'
-# off: 'Numix [GTK2], Adwaita [GTK3]'
-gtk_shorthand="off"
-
-
-# Enable/Disable gtk2 Theme / Icons / Font
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --gtk2
-#
-# Example:
-# on: 'Numix [GTK2], Adwaita [GTK3]'
-# off: 'Adwaita [GTK3]'
-gtk2="on"
-
-# Enable/Disable gtk3 Theme / Icons / Font
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --gtk3
-#
-# Example:
-# on: 'Numix [GTK2], Adwaita [GTK3]'
-# off: 'Numix [GTK2]'
-gtk3="on"
-
-
-# IP Address
-
-
-# Website to ping for the public IP
-#
-# Default: 'http://ident.me'
-# Values: 'url'
-# Flag: --ip_host
-public_ip_host="http://ident.me"
-
-# Public IP timeout.
-#
-# Default: '2'
-# Values: 'int'
-# Flag: --ip_timeout
-public_ip_timeout=2
-
-# Local IP interface
-#
-# Default: 'auto' (interface of default route)
-# Values: 'auto', 'en0', 'en1'
-# Flag: --ip_interface
-local_ip_interface=('auto')
-
-
-# Desktop Environment
-
-
-# Show Desktop Environment version
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --de_version
-de_version="on"
-
-
-# Disk
-
-
-# Which disks to display.
-# The values can be any /dev/sdXX, mount point or directory.
-# NOTE: By default we only show the disk info for '/'.
-#
-# Default: '/'
-# Values: '/', '/dev/sdXX', '/path/to/drive'.
-# Flag: --disk_show
-#
-# Example:
-# disk_show=('/' '/dev/sdb1'):
-# 'Disk (/): 74G / 118G (66%)'
-# 'Disk (/mnt/Videos): 823G / 893G (93%)'
-#
-# disk_show=('/'):
-# 'Disk (/): 74G / 118G (66%)'
-#
-disk_show=('/')
-
-# Disk subtitle.
-# What to append to the Disk subtitle.
-#
-# Default: 'mount'
-# Values: 'mount', 'name', 'dir', 'none'
-# Flag: --disk_subtitle
-#
-# Example:
-# name: 'Disk (/dev/sda1): 74G / 118G (66%)'
-# 'Disk (/dev/sdb2): 74G / 118G (66%)'
-#
-# mount: 'Disk (/): 74G / 118G (66%)'
-# 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
-# 'Disk (/mnt/Videos): 74G / 118G (66%)'
-#
-# dir: 'Disk (/): 74G / 118G (66%)'
-# 'Disk (Local Disk): 74G / 118G (66%)'
-# 'Disk (Videos): 74G / 118G (66%)'
-#
-# none: 'Disk: 74G / 118G (66%)'
-# 'Disk: 74G / 118G (66%)'
-# 'Disk: 74G / 118G (66%)'
-disk_subtitle="mount"
-
-# Disk percent.
-# Show/Hide disk percent.
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --disk_percent
-#
-# Example:
-# on: 'Disk (/): 74G / 118G (66%)'
-# off: 'Disk (/): 74G / 118G'
-disk_percent="on"
-
-
-# Song
-
-
-# Manually specify a music player.
-#
-# Default: 'auto'
-# Values: 'auto', 'player-name'
-# Flag: --music_player
-#
-# Available values for 'player-name':
-#
-# amarok
-# audacious
-# banshee
-# bluemindo
-# clementine
-# cmus
-# deadbeef
-# deepin-music
-# dragon
-# elisa
-# exaile
-# gnome-music
-# gmusicbrowser
-# gogglesmm
-# guayadeque
-# io.elementary.music
-# iTunes
-# Music
-# juk
-# lollypop
-# MellowPlayer
-# mocp
-# mopidy
-# mpd
-# muine
-# netease-cloud-music
-# olivia
-# playerctl
-# pogo
-# pragha
-# qmmp
-# quodlibet
-# rhythmbox
-# sayonara
-# smplayer
-# spotify
-# strawberry
-# tauonmb
-# tomahawk
-# vlc
-# xmms2d
-# xnoise
-# yarock
-music_player="auto"
-
-# Format to display song information.
-#
-# Default: '%artist% - %album% - %title%'
-# Values: '%artist%', '%album%', '%title%'
-# Flag: --song_format
-#
-# Example:
-# default: 'Song: Jet - Get Born - Sgt Major'
-song_format="%artist% - %album% - %title%"
-
-# Print the Artist, Album and Title on separate lines
-#
-# Default: 'off'
-# Values: 'on', 'off'
-# Flag: --song_shorthand
-#
-# Example:
-# on: 'Artist: The Fratellis'
-# 'Album: Costello Music'
-# 'Song: Chelsea Dagger'
-#
-# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
-song_shorthand="off"
-
-# 'mpc' arguments (specify a host, password etc).
-#
-# Default: ''
-# Example: mpc_args=(-h HOST -P PASSWORD)
-mpc_args=()
-
-
-# Text Colors
-
-
-# Text Colors
-#
-# Default: 'distro'
-# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
-# Flag: --colors
-#
-# Each number represents a different part of the text in
-# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
-#
-# Example:
-# colors=(distro) - Text is colored based on Distro colors.
-# colors=(4 6 1 8 8 6) - Text is colored in the order above.
-colors=(distro)
-
-
-# Text Options
-
-
-# Toggle bold text
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --bold
-bold="on"
-
-# Enable/Disable Underline
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --underline
-underline_enabled="on"
-
-# Underline character
-#
-# Default: '-'
-# Values: 'string'
-# Flag: --underline_char
-underline_char="-"
-
-
-# Info Separator
-# Replace the default separator with the specified string.
-#
-# Default: ':'
-# Flag: --separator
-#
-# Example:
-# separator="->": 'Shell-> bash'
-# separator=" =": 'WM = dwm'
-separator=":"
-
-
-# Color Blocks
-
-
-# Color block range
-# The range of colors to print.
-#
-# Default: '0', '15'
-# Values: 'num'
-# Flag: --block_range
-#
-# Example:
-#
-# Display colors 0-7 in the blocks. (8 colors)
-# neofetch --block_range 0 7
-#
-# Display colors 0-15 in the blocks. (16 colors)
-# neofetch --block_range 0 15
-block_range=(0 15)
-
-# Toggle color blocks
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --color_blocks
-color_blocks="on"
-
-# Color block width in spaces
-#
-# Default: '3'
-# Values: 'num'
-# Flag: --block_width
-block_width=3
-
-# Color block height in lines
-#
-# Default: '1'
-# Values: 'num'
-# Flag: --block_height
-block_height=1
-
-# Color Alignment
-#
-# Default: 'auto'
-# Values: 'auto', 'num'
-# Flag: --col_offset
-#
-# Number specifies how far from the left side of the terminal (in spaces) to
-# begin printing the columns, in case you want to e.g. center them under your
-# text.
-# Example:
-# col_offset="auto" - Default behavior of neofetch
-# col_offset=7 - Leave 7 spaces then print the colors
-col_offset="auto"
-
-# Progress Bars
-
-
-# Bar characters
-#
-# Default: '-', '='
-# Values: 'string', 'string'
-# Flag: --bar_char
-#
-# Example:
-# neofetch --bar_char 'elapsed' 'total'
-# neofetch --bar_char '-' '='
-bar_char_elapsed="-"
-bar_char_total="="
-
-# Toggle Bar border
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --bar_border
-bar_border="on"
-
-# Progress bar length in spaces
-# Number of chars long to make the progress bars.
-#
-# Default: '15'
-# Values: 'num'
-# Flag: --bar_length
-bar_length=15
-
-# Progress bar colors
-# When set to distro, uses your distro's logo colors.
-#
-# Default: 'distro', 'distro'
-# Values: 'distro', 'num'
-# Flag: --bar_colors
-#
-# Example:
-# neofetch --bar_colors 3 4
-# neofetch --bar_colors distro 5
-bar_color_elapsed="distro"
-bar_color_total="distro"
-
-
-# Info display
-# Display a bar with the info.
-#
-# Default: 'off'
-# Values: 'bar', 'infobar', 'barinfo', 'off'
-# Flags: --memory_display
-# --battery_display
-# --disk_display
-#
-# Example:
-# bar: '[---=======]'
-# infobar: 'info [---=======]'
-# barinfo: '[---=======] info'
-# off: 'info'
-memory_display="off"
-battery_display="off"
-disk_display="off"
-
-
-# Backend Settings
-
-
-# Image backend.
-#
-# Default: 'ascii'
-# Values: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', 'iterm2', 'off',
-# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty', 'ueberzug',
-# 'viu'
-
-# Flag: --backend
-image_backend="ascii"
-
-# Image Source
-#
-# Which image or ascii file to display.
-#
-# Default: 'auto'
-# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
-# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
-# Flag: --source
-#
-# NOTE: 'auto' will pick the best image source for whatever image backend is used.
-# In ascii mode, distro ascii art will be used and in an image mode, your
-# wallpaper will be used.
-image_source="auto"
-
-
-# Ascii Options
-
-
-# Ascii distro
-# Which distro's ascii art to display.
-#
-# Default: 'auto'
-# Values: 'auto', 'distro_name'
-# Flag: --ascii_distro
-# NOTE: AIX, Hash, Alpine, AlterLinux, Amazon, Anarchy, Android, instantOS,
-# Antergos, antiX, "AOSC OS", "AOSC OS/Retro", Apricity, ArchCraft,
-# ArcoLinux, ArchBox, ARCHlabs, ArchStrike, XFerience, ArchMerge, Arch,
-# Artix, Arya, Bedrock, Bitrig, BlackArch, BLAG, BlankOn, BlueLight,
-# Bodhi, bonsai, BSD, BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS,
-# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover, Condres,
-# Container_Linux, Crystal Linux, CRUX, Cucumber, dahlia, Debian, Deepin,
-# DesaOS, Devuan, DracOS, DarkOs, Itc, DragonFly, Drauger, Elementary,
-# EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD,
-# FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo,
-# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra, HydroOS
-# Hyperbola, iglunix, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion, Korora,
-# KSLinux, Kubuntu, LEDE, LaxerOS, LibreELEC, LFS, Linux_Lite, LMDE,
-# Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva, Manjaro, TeArch, Maui,
-# Mer, Minix, LinuxMint, Live_Raizo, MX_Linux, Namib, Neptune, NetBSD,
-# Netrunner, Nitrux, NixOS, Nurunner, NuTyX, OBRevenge, OpenBSD,
-# openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage, OpenWrt,
-# osmc, Oracle, OS Elbrus, PacBSD, Parabola, Pardus, Parrot, Parsix,
-# TrueOS, PCLinuxOS, Pengwin, Peppermint, Pisi, popos, Porteus, PostMarketOS,
-# Proxmox, PuffOS, Puppy, PureOS, Qubes, Qubyt, Quibian, Radix, Raspbian,
-# Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan, Regata, Regolith,
-# Rocky, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific, Septor,
-# SereneLinux, SharkLinux, Siduction, SkiffOS, Slackware, SliTaz, SmartOS,
-# Solus, Source_Mage, Sparky, Star, SteamOS, SunOS, openSUSE_Leap, t2,
-# openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, Trisquel,
-# Ubuntu-Cinnamon, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE,
-# Ubuntu-Studio, Ubuntu, Univention, Venom, Void, VNux, LangitKetujuh, semc,
-# Obarun, windows10, Windows7, Xubuntu, Zorin, and IRIX have ascii logos.
-# NOTE: Arch, Ubuntu, Redhat, Fedora and Dragonfly have 'old' logo variants.
-# Use '{distro name}_old' to use the old logos.
-# NOTE: Ubuntu has flavor variants.
-# Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME,
-# Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors.
-# NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu,
-# CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android,
-# Artix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola,
-# Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS,
-# Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian,
-# postmarketOS, and Void have a smaller logo variant.
-# Use '{distro name}_small' to use the small variants.
-ascii_distro="auto"
-
-# Ascii Colors
-#
-# Default: 'distro'
-# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
-# Flag: --ascii_colors
-#
-# Example:
-# ascii_colors=(distro) - Ascii is colored based on Distro colors.
-# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
-ascii_colors=(distro)
-
-# Bold ascii logo
-# Whether or not to bold the ascii logo.
-#
-# Default: 'on'
-# Values: 'on', 'off'
-# Flag: --ascii_bold
-ascii_bold="on"
-
-
-# Image Options
-
-
-# Image loop
-# Setting this to on will make neofetch redraw the image constantly until
-# Ctrl+C is pressed. This fixes display issues in some terminal emulators.
-#
-# Default: 'off'
-# Values: 'on', 'off'
-# Flag: --loop
-image_loop="off"
-
-# Thumbnail directory
-#
-# Default: '~/.cache/thumbnails/neofetch'
-# Values: 'dir'
-thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
-
-# Crop mode
-#
-# Default: 'normal'
-# Values: 'normal', 'fit', 'fill'
-# Flag: --crop_mode
-#
-# See this wiki page to learn about the fit and fill options.
-# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
-crop_mode="normal"
-
-# Crop offset
-# Note: Only affects 'normal' crop mode.
-#
-# Default: 'center'
-# Values: 'northwest', 'north', 'northeast', 'west', 'center'
-# 'east', 'southwest', 'south', 'southeast'
-# Flag: --crop_offset
-crop_offset="center"
-
-# Image size
-# The image is half the terminal width by default.
-#
-# Default: 'auto'
-# Values: 'auto', '00px', '00%', 'none'
-# Flags: --image_size
-# --size
-image_size="auto"
-
-# Catimg block size.
-# Control the resolution of catimg.
-#
-# Default: '2'
-# Values: '1', '2'
-# Flags: --catimg_size
-catimg_size="2"
-
-# Gap between image and text
-#
-# Default: '3'
-# Values: 'num', '-num'
-# Flag: --gap
-gap=3
-
-# Image offsets
-# Only works with the w3m backend.
-#
-# Default: '0'
-# Values: 'px'
-# Flags: --xoffset
-# --yoffset
-yoffset=0
-xoffset=0
-
-# Image background color
-# Only works with the w3m backend.
-#
-# Default: ''
-# Values: 'color', 'blue'
-# Flag: --bg_color
-background_color=
-
-
-# Misc Options
-
-# Stdout mode
-# Turn off all colors and disables image backend (ASCII/Image).
-# Useful for piping into another command.
-# Default: 'off'
-# Values: 'on', 'off'
-stdout="off"
diff --git a/.setup/managed/quickshell/.gitignore b/.setup/managed/quickshell/.gitignore
deleted file mode 100644
index bb3cef2..0000000
--- a/.setup/managed/quickshell/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-.qmlls.ini
\ No newline at end of file
diff --git a/.setup/managed/quickshell/Config.qml b/.setup/managed/quickshell/Config.qml
deleted file mode 100644
index b84aabb..0000000
--- a/.setup/managed/quickshell/Config.qml
+++ /dev/null
@@ -1,127 +0,0 @@
-pragma Singleton
-import QtQuick
-import Quickshell
-import Quickshell.Io
-
-Singleton {
- id: root
-
- //*=======================================================================*/
- // READ THIS NOTE:
- // Simply add to this list in order to create your
- // own color schemes, they will automatically show up in the theme picker.
- property var colors: themes[themes[settings.currentTheme] == null ? 'default' : settings.currentTheme]
- property var themes: {
- "default": {
- "base": "#d8d8d8",
- "shadow": "#9b9b9b",
- "highlight": "#efefef",
- "urgent": "#ff723e",
- "accent": "#207874",
- "text": "#000000",
- "outline": "#000000",
- "outlineGradientFade": "#161616",
- "defaultWallpaperPath": ""
- },
- "yorha": {
- "base": "#d9caba",
- "shadow": "#baafa1",
- "highlight": "#f0e2d3",
- "urgent": "#ff854c",
- "accent": "#626335",
- "text": "#3e3d38",
- "outline": "#3d3d39",
- "outlineGradientFade": "#5b5b45",
- "defaultWallpaperPath": ""
- },
- "cherry": {
- "base": "#f4c9ef",
- "shadow": "#c7a4cc",
- "highlight": "#f9d0f7",
- "urgent": "#ff936c",
- "accent": "#c950bb",
- "text": "#321d32",
- "outline": "#20091d",
- "outlineGradientFade": "#3e233e",
- "defaultWallpaperPath": ""
- },
- "indigo": {
- "base": "#bac4e6",
- "shadow": "#7e8bad",
- "highlight": "#d0def9",
- "urgent": "#e83939",
- "accent": "#3e7c99",
- "text": "#0d0d19",
- "outline": "#1a2135",
- "outlineGradientFade": "#223143",
- "defaultWallpaperPath": ""
- },
- "gleep": {
- "base": "#bae6c5",
- "shadow": "#93c48c",
- "highlight": "#ccf9e7",
- "urgent": "#ff7559",
- "accent": "#3e9949",
- "text": "#0d1913",
- "outline": "#21351a",
- "outlineGradientFade": "#284223",
- "defaultWallpaperPath": ""
- }
- }
-
- enum SystemPopup {
- Startmenu,
- ThemePicker,
- AppLauncher,
- None
- }
-
- property bool openSettingsWindow: false
-
- property alias settings: settingsJsonAdapter.settings
- FileView {
- path: Qt.resolvedUrl("./settings.json")
- // when changes are made on disk, reload the file's content
- watchChanges: true
- onFileChanged: reload()
- // when changes are made to properties in the adapter, save them
- onAdapterUpdated: writeAdapter()
-
- onLoadFailed: error => {
- if (error == FileViewError.FileNotFound) {
- writeAdapter();
- }
- }
-
- JsonAdapter {
- id: settingsJsonAdapter
- property JsonObject settings: JsonObject {
- property string version: "0.1"
- property bool militaryTimeClockFormat: true
- property string systemProfileImageSource: "/home/mayday/dotfiles/img/pfp.jpg"
- property string currentTheme: "default"
- property bool setWallpaperToThemeWallpaper: true
- property JsonObject execCommands: JsonObject {
- property string terminal: "kitty"
- property string files: "nemo"
- }
- property JsonObject systemDetails: JsonObject {
- property string osName: "Linux Distro"
- property string osVersion: "Distro Version"
- property string ram: "Ram"
- property string cpu: "CPU Name"
- property string gpu: "GPU Name"
- }
- property JsonObject bar: JsonObject {
- property int fontSize: 12
- property int trayIconSize: 16
- property bool monochromeTrayIcons: true
- }
-
- onCurrentThemeChanged: {
- console.info("Updated theme to: " + currentTheme);
- }
- }
- }
- }
-}
diff --git a/.setup/managed/quickshell/NewBorder.qml b/.setup/managed/quickshell/NewBorder.qml
deleted file mode 100644
index fb14dd7..0000000
--- a/.setup/managed/quickshell/NewBorder.qml
+++ /dev/null
@@ -1,37 +0,0 @@
-import QtQuick
-
-Rectangle {
-
- property bool commonBorder: true
-
- property int lBorderwidth: 1
- property int rBorderwidth: 1
- property int tBorderwidth: 1
- property int bBorderwidth: 1
-
- property int commonBorderWidth: 1
- property int zValue: -1
-
- z: zValue
-
- property string borderColor: "white"
- property Gradient borderGradient
-
- color: "transparent"
- border.color: borderColor
- border.width: commonBorderWidth
-
- gradient: borderGradient != null ? borderGradient : null
-
- anchors {
- left: parent.left
- right: parent.right
- top: parent.top
- bottom: parent.bottom
-
- topMargin: commonBorder ? -commonBorderWidth : -tBorderwidth
- bottomMargin: commonBorder ? -commonBorderWidth : -bBorderwidth
- leftMargin: commonBorder ? -commonBorderWidth : -lBorderwidth
- rightMargin: commonBorder ? -commonBorderWidth : -rBorderwidth
- }
-}
diff --git a/.setup/managed/quickshell/README.MD b/.setup/managed/quickshell/README.MD
deleted file mode 100644
index 3d343d9..0000000
--- a/.setup/managed/quickshell/README.MD
+++ /dev/null
@@ -1,19 +0,0 @@
-# Linux Retroism | Quickshell Frontend
-
-Before going into details:
-
-I must point out the fact that this is my first time using Qt/QML/Quickshell for
-a project like this.
-
-I will likely update and refactor the quickshell project to improve things with time, as
-the initial versions may not follow best practices for design or readability.
-
-## Style Variants
-
-You can add your own color-schemes in the `Config.qml` file, they will be updated
-and added automatically to the theme switcher UI.
-
-Various other settings can be changed/set by editing the `settings.json` file; although
-those values can also be changed using the settings GUI.
-
-> I am planning on making a GUI for creating and adding your own themes.
diff --git a/.setup/managed/quickshell/Time.qml b/.setup/managed/quickshell/Time.qml
deleted file mode 100644
index abee869..0000000
--- a/.setup/managed/quickshell/Time.qml
+++ /dev/null
@@ -1,16 +0,0 @@
-pragma Singleton
-
-import Quickshell
-import QtQuick
-
-Singleton {
- id: root
- readonly property string time: {
- Qt.formatDateTime(clock.date, " MMM d yyyy | hh:mm");
- }
-
- SystemClock {
- id: clock
- precision: SystemClock.Seconds
- }
-}
diff --git a/.setup/managed/quickshell/flake.lock b/.setup/managed/quickshell/flake.lock
deleted file mode 100644
index dbcb281..0000000
--- a/.setup/managed/quickshell/flake.lock
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "nodes": {
- "nixpkgs": {
- "locked": {
- "lastModified": 1754151594,
- "narHash": "sha256-S30TWshtDmNlU30u842RidFUraKj1f2dd4nrKRHm3gE=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "7b6929d8b900de3142638310f8bc40cff4f2c507",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixpkgs-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "root": {
- "inputs": {
- "nixpkgs": "nixpkgs"
- }
- }
- },
- "root": "root",
- "version": 7
-}
diff --git a/.setup/managed/quickshell/flake.nix b/.setup/managed/quickshell/flake.nix
deleted file mode 100644
index cdd1d5d..0000000
--- a/.setup/managed/quickshell/flake.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- description = "Qt dev flake, new to flakes this is prolly shit. Use `which qmlls` to get language server dir.";
-
- inputs = {
- nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
- };
-
- outputs = {
- self,
- nixpkgs,
- }: let
- system = "x86_64-linux";
-
- pkgs = import nixpkgs {
- inherit system;
- config = {};
- };
- in {
- packages.${system}.default = pkgs.callPackage ./package.nix {};
- devShells.${system}.default = pkgs.mkShell {
- nativeBuildInputs = with pkgs; [];
- buildInputs = with pkgs; [
- kdePackages.qtdeclarative
- kdePackages.qt5compat
- ];
- shellHook = ''
- export QML_IMPORT_PATH=$PWD/src
- '';
- };
- };
-}
diff --git a/.setup/managed/quickshell/fonts/Charcoal.ttf b/.setup/managed/quickshell/fonts/Charcoal.ttf
deleted file mode 100644
index 56e0835..0000000
Binary files a/.setup/managed/quickshell/fonts/Charcoal.ttf and /dev/null differ
diff --git a/.setup/managed/quickshell/fonts/MaterialSymbolsSharp_Filled_36pt-Regular.ttf b/.setup/managed/quickshell/fonts/MaterialSymbolsSharp_Filled_36pt-Regular.ttf
deleted file mode 100644
index 1bec3fe..0000000
Binary files a/.setup/managed/quickshell/fonts/MaterialSymbolsSharp_Filled_36pt-Regular.ttf and /dev/null differ
diff --git a/.setup/managed/quickshell/fonts/Monaco.ttf b/.setup/managed/quickshell/fonts/Monaco.ttf
deleted file mode 100644
index 57217b3..0000000
Binary files a/.setup/managed/quickshell/fonts/Monaco.ttf and /dev/null differ
diff --git a/.setup/managed/quickshell/package.nix b/.setup/managed/quickshell/package.nix
deleted file mode 100644
index c153d20..0000000
--- a/.setup/managed/quickshell/package.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- lib,
- symlinkJoin,
- makeWrapper,
- quickshell,
- kdePackages,
- configPath ? ./.,
-}: let
- qmlPath = lib.makeSearchPath "lib/qt-6/qml" [
- kdePackages.qtbase
- kdePackages.qtdeclarative
- kdePackages.qt5compat
- ];
-in
- symlinkJoin {
- pname = "retroism";
- inherit (quickshell) version;
-
- paths = [quickshell];
- nativeBuildInputs = [makeWrapper];
-
- postBuild = ''
- makeWrapper $out/bin/quickshell $out/bin/retroism \
- --set QML2_IMPORT_PATH "${qmlPath}" \
- --add-flags '-p ${configPath}'
- '';
-
- meta.mainProgram = "retroism";
- }
diff --git a/.setup/managed/quickshell/popups/AppLauncher.qml b/.setup/managed/quickshell/popups/AppLauncher.qml
deleted file mode 100644
index fcde2fd..0000000
--- a/.setup/managed/quickshell/popups/AppLauncher.qml
+++ /dev/null
@@ -1,239 +0,0 @@
-import Quickshell
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls.Basic
-import Quickshell.Wayland
-import ".."
-import "../utils" as Utils
-
-/* NOTE:
-* This entire module is quite a mess, and is likely going to get a complete re-write.
-* I'm experimenting with creating the entire window frame/designs with SVG in order to
-* skip the need of creating everything out of rectangles and borders.
-*
-*/
-PopupWindow {
- id: root
-
- property int menuWidth: 0
- property int popupWidth: 600
- property int screenHeight: 0
- property var currentApps: []
- property var closeCallback: function () {}
-
- // Once again, I must mention that these values are confusing but since I want to
- // capture focus immediately when the app launcher is opened, without the user having
- // to move their mouse cursor to it; the mess is necessary.
- anchor.window: taskbar
- anchor.rect.x: Screen.width / 2 - menuWidth / 2
- anchor.rect.y: parentWindow.implicitHeight
- implicitWidth: taskbar.width
- implicitHeight: screenHeight - parentWindow.implicitHeight - 4
- color: "transparent"
-
- // This is quite hacky, the reason this exists is so the search bar gains immediate focus
- // when you open the AppLauncher.
- MouseArea {
- anchors.fill: parent
- onClicked: {
- root.closeCallback();
- }
- }
- Rectangle {
- id: frame
- opacity: 0
- //anchors.fill: parent
- anchors.horizontalCenter: parent.horizontalCenter
- implicitHeight: 350
- implicitWidth: root.popupWidth
- color: Config.colors.base
- layer.enabled: true
-
- property int topOffset: 20
-
- PopupWindowFrame {
- id: startMenuFrame
- windowTitle: "Search"
- windowTitleIcon: "\ue8b6"
- windowTitleDecorationWidth: 190
- Item {
- id: content
- anchors.fill: startMenuFrame
- anchors.margins: 8
- anchors.topMargin: frame.topOffset + 20
- clip: true
-
- ColumnLayout {
- anchors.fill: parent
- anchors.leftMargin: 8
- anchors.rightMargin: 8
- Rectangle {
- Layout.alignment: Qt.AlignTop
- Layout.fillWidth: true
- implicitHeight: 40
- color: Config.colors.highlight
- border.color: Config.colors.outline
- border.width: 1
- clip: true
- TextField {
- id: searchInput
- width: parent.width
- anchors.centerIn: parent
- text: ""
- font.pixelSize: 16
- font.family: fontMonaco.name
- color: Config.colors.text
- selectionColor: Config.colors.shadow
- padding: 2
- selectByMouse: true
- cursorVisible: false
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- focus: true
-
- background: Rectangle {
- color: "transparent"
- }
-
- Keys.onEscapePressed: {
- root.closeCallback();
- }
-
- Component.onCompleted: {
- searchInput.forceActiveFocus();
- }
- onAccepted: {
- if (root.currentApps.length == 1) {
- root.currentApps[0].execute();
- root.closeCallback();
- }
- }
- onTextChanged: {
- root.currentApps = Utils.AppSearch.fuzzyQuery(searchInput.text);
- //console.log(Utils.AppSearch.fuzzyQuery(searchInput.text)[0].name);
- }
- }
- Rectangle {
- implicitHeight: 40
- implicitWidth: 40
- Layout.alignment: Qt.AlignLeft
- color: Config.colors.base
- border.color: Config.colors.outline
- border.width: 1
- Text {
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- anchors.fill: parent
- font.family: iconFont.name
- font.pixelSize: 24
- text: "\ue8b6"
- }
- }
- }
- Rectangle {
- implicitWidth: parent.width
- implicitHeight: parent.height - 60
- color: "transparent"
- border.color: Config.colors.outline
- border.width: 1
- clip: true
-
- ListView {
- id: appsView
- model: root.currentApps
-
- anchors.fill: parent
- anchors.margins: 6
- anchors.bottomMargin: 1
-
- flickableDirection: Flickable.VerticalFlick
- boundsBehavior: Flickable.DragOverBounds
- maximumFlickVelocity: 3500
- clip: true
-
- spacing: 8
-
- delegate: Item {
- width: parent.width
- height: 40
- Button {
- width: parent.width
- height: 40
- opacity: mouse.hovered ? 0.75 : 1
- background: Rectangle {
- anchors.fill: parent
- color: parent.pressed ? Config.colors.shadow : Config.colors.highlight
- border.width: 1
- }
- onReleased: {
- modelData.execute();
- root.closeCallback();
- }
- RowLayout {
- anchors.fill: parent
- spacing: 0
- property var iconPath: Utils.AppSearch.getIcon(modelData.icon)
- Image {
- Layout.leftMargin: 8
- asynchronous: true
- Layout.maximumWidth: 24
- Layout.maximumHeight: 24
- antialiasing: true
- source: parent.iconPath
- }
- Text {
- Layout.fillWidth: true
- Layout.leftMargin: 8
- Layout.alignment: Qt.AlignLeft
- text: modelData.name
- }
- }
- HoverHandler {
- id: mouse
- acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
- cursorShape: Qt.PointingHandCursor
- }
- }
- }
-
- ScrollIndicator.horizontal: ScrollIndicator {
- active: appsView.moving
- }
- }
- }
- }
- }
- }
-
- /*=== Animations ===*/
- OpacityAnimator {
- id: openAnimation
- target: frame
- from: 0
- to: 1
- duration: 140
- easing.type: Easing.OutCubic
- }
- OpacityAnimator {
- id: closeAnimation
- target: frame
- from: 1
- to: 0
- duration: 80
- easing.type: Easing.InOutQuad
- onFinished: root.visible = false
- }
- }
-
- function openAppLauncher() {
- root.visible = true;
- root.currentApps = Utils.AppSearch.fuzzyQuery("A");
- searchInput.text = "";
- openAnimation.start();
- }
-
- function closeAppLauncher() {
- closeAnimation.start();
- Config.currentPopup = Config.SystemPopup.None;
- }
-}
diff --git a/.setup/managed/quickshell/popups/PopupWindowFrame.qml b/.setup/managed/quickshell/popups/PopupWindowFrame.qml
deleted file mode 100644
index e8bda5e..0000000
--- a/.setup/managed/quickshell/popups/PopupWindowFrame.qml
+++ /dev/null
@@ -1,178 +0,0 @@
-import Quickshell
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls.Basic
-
-import ".."
-
-/* NOTE:
-* This entire module is quite a mess, and is likely going to get a complete re-write.
-* I'm experimenting with creating the entire window frame/designs with SVG in order to
-* skip the need of creating everything out of rectangles and borders.
-*
-*/
-Rectangle {
- id: root
- opacity: 1
- anchors.fill: parent
- color: Config.colors.base
- layer.enabled: true
-
- property int windowTitleDecorationWidth: 100
- property string windowTitle: "Window Title"
- property string windowTitleIcon: "\uf088"
-
- /*=== Top Bar Styling (name and bars) ===*/
- Item {
- anchors.left: parent.left
- anchors.right: parent.right
- implicitHeight: 25
- RowLayout {
- id: panelName
- anchors.centerIn: parent
- ColumnLayout {
- spacing: 1
- Repeater {
- model: 4
- Rectangle {
- implicitHeight: 2
- implicitWidth: windowTitleDecorationWidth
- gradient: Gradient {
- GradientStop {
- position: 0.0
- color: Config.colors.highlight
- }
- GradientStop {
- position: 0.5
- color: Config.colors.highlight
- }
- GradientStop {
- position: 1.0
- color: Config.colors.outline
- }
- }
- }
- }
- }
- Text {
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- font.family: iconFont.name
- font.pixelSize: 18
- opacity: 0.8
- text: root.windowTitleIcon
- color: Config.colors.text
- }
- Text {
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- font.family: fontCharcoal.name
- font.pixelSize: 12
- text: root.windowTitle
- color: Config.colors.text
- }
- ColumnLayout {
- spacing: 1
- Repeater {
- model: 4
- Rectangle {
- implicitHeight: 2
- implicitWidth: windowTitleDecorationWidth
- gradient: Gradient {
- GradientStop {
- position: 0.0
- color: Config.colors.highlight
- }
- GradientStop {
- position: 0.5
- color: Config.colors.highlight
- }
- GradientStop {
- position: 1.0
- color: Config.colors.outline
- }
- }
- }
- }
- }
- }
- }
- /*=== =============================== ===*/
-
- /*=== Window Frame (entire window frame) ===*/
- // As you can see here, I use a combination of *many* borders
- // in order to give a retro/pixel-style window frame around each
- // window. This is quite retarded.
- //
- // This is the initial and dumbest way of doing this, perhaps
- // in the future I can figure out to make a window frame with
- // SVG? I'm unsure of better alternatives as of now. For now
- // it at least looks the way I want it to look.
- NewBorder {
- commonBorderWidth: 4
- commonBorder: false
- lBorderwidth: 1
- rBorderwidth: 10
- tBorderwidth: 10
- bBorderwidth: 10
- zValue: 0
- borderColor: Config.colors.highlight
- }
- NewBorder {
- commonBorderWidth: 4
- commonBorder: false
- lBorderwidth: 10
- rBorderwidth: 1
- tBorderwidth: 10
- bBorderwidth: 1
- zValue: 0
- borderColor: Config.colors.shadow
- }
- NewBorder {
- commonBorderWidth: 1
- commonBorder: false
- lBorderwidth: 0
- rBorderwidth: 0
- tBorderwidth: 10
- bBorderwidth: 0
- zValue: 0
- borderColor: Config.colors.outline
- }
-
- NewBorder {
- commonBorderWidth: 1
- commonBorder: false
- lBorderwidth: -7
- rBorderwidth: -7
- tBorderwidth: -7 - 20
- bBorderwidth: -7
- zValue: 0
- opacity: 0.5
- borderColor: Config.colors.outline
- }
- NewBorder {
- commonBorderWidth: 1
- commonBorder: false
- lBorderwidth: -8
- rBorderwidth: -8
- tBorderwidth: -8 - (20)
- bBorderwidth: -8
- zValue: 0
- opacity: 0.2
- borderColor: Config.colors.outline
- }
- Rectangle {
- id: innerOutline
- anchors {
- fill: parent
- margins: 6
- }
- anchors.topMargin: 6 + 20
- color: "transparent"
- implicitWidth: parent.width
- implicitHeight: 4
- border.width: 1
- border.color: Config.colors.outline
- }
- /*=== ================================== ===*/
-}
diff --git a/.setup/managed/quickshell/popups/StartMenu.qml b/.setup/managed/quickshell/popups/StartMenu.qml
deleted file mode 100644
index 026b322..0000000
--- a/.setup/managed/quickshell/popups/StartMenu.qml
+++ /dev/null
@@ -1,426 +0,0 @@
-import Quickshell
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls.Basic
-
-import ".."
-
-/* NOTE:
-* This entire module is quite a mess, and is likely going to get a complete re-write.
-* I'm experimenting with creating the entire window frame/designs with SVG in order to
-* skip the need of creating everything out of rectangles and borders.
-*/
-PopupWindow {
- id: root
-
- property int menuWidth: 0
- property var closeCallback: function () {}
- anchor.window: taskbar
- anchor.rect.x: menuWidth
- anchor.rect.y: parentWindow.implicitHeight
- implicitWidth: 480
- implicitHeight: 276
- color: "transparent"
-
- Rectangle {
- id: frame
- opacity: 0
- anchors.fill: parent
- color: Config.colors.base
- layer.enabled: true
-
- property int topOffset: 20
-
- PopupWindowFrame {
- id: startMenuFrame
- windowTitle: "Your Computer"
- windowTitleIcon: "\ue30c"
- windowTitleDecorationWidth: 150
- Item {
- id: content
- anchors.fill: startMenuFrame
- anchors.margins: 18
- anchors.topMargin: frame.topOffset + 18
-
- ColumnLayout {
- spacing: 8
- RowLayout {
- spacing: 8
- implicitWidth: content.width
-
- Item {
- implicitWidth: 150
- implicitHeight: 150
- Image {
- asynchronous: true
- anchors.fill: parent
- source: Config.settings.systemProfileImageSource
- fillMode: Image.PreserveAspectCrop
- clip: true
- }
-
- Rectangle {
- anchors.fill: parent
- color: "transparent"
- border.color: Config.colors.outline
- border.width: 1
- }
- }
- Item {
- id: headerContent
- Layout.fillWidth: true
- implicitHeight: 150
- Rectangle {
- anchors.fill: parent
- color: "transparent"
- border.color: Config.colors.outline
- border.width: 1
- }
-
- Item {
- anchors.fill: parent
- anchors.margins: 8
- ColumnLayout {
- spacing: 8
-
- RowLayout {
- spacing: 8
- Text {
- font.family: iconFont.name
- font.pixelSize: 16
- text: "\ue161"
- color: Config.colors.text
- }
- Text {
- font.family: fontMonaco.name
- font.pixelSize: 14
- text: Config.settings.systemDetails.osName
- color: Config.colors.text
- }
- }
- RowLayout {
- spacing: 8
- Text {
- font.family: iconFont.name
- font.pixelSize: 16
- text: "\ue394"
- color: Config.colors.text
- }
- Text {
- font.family: fontMonaco.name
- font.pixelSize: 14
- text: Config.settings.systemDetails.osVersion
- color: Config.colors.text
- }
- }
- RowLayout {
- spacing: 8
- Text {
- font.family: iconFont.name
- font.pixelSize: 16
- text: "\uf7a3"
- color: Config.colors.text
- }
- Text {
- font.family: fontMonaco.name
- font.pixelSize: 14
- text: Config.settings.systemDetails.ram
- color: Config.colors.text
- }
- }
- RowLayout {
- spacing: 8
- Text {
- font.family: iconFont.name
- font.pixelSize: 16
- text: "\ue322"
- color: Config.colors.text
- }
- Text {
- font.family: fontMonaco.name
- font.pixelSize: 14
- text: Config.settings.systemDetails.cpu
- color: Config.colors.text
- }
- }
- RowLayout {
- spacing: 8
- Text {
- font.family: iconFont.name
- font.pixelSize: 16
- text: "\ue2ac"
- color: Config.colors.text
- }
-
- Text {
- font.family: fontMonaco.name
- font.pixelSize: 14
- text: Config.settings.systemDetails.gpu
- color: Config.colors.text
- }
- }
- }
- }
- }
- }
- RowLayout {
- spacing: 8
- implicitWidth: content.width
-
- Item {
- implicitWidth: 150
- implicitHeight: 60
- Rectangle {
- anchors.fill: parent
- color: "transparent"
- border.color: Config.colors.outline
- border.width: 1
- }
- }
-
- Item {
- Layout.fillWidth: true
- implicitHeight: 60
- Layout.leftMargin: 1
- RowLayout {
- spacing: 14
-
- Button {
- id: filesButton
- implicitHeight: 60
- implicitWidth: 60
-
- onClicked: () => {
- Quickshell.execDetached(Config.settings.execCommands.files);
- root.closeCallback();
- }
-
- background: Rectangle {
- anchors.fill: parent
- color: Config.colors.outline
- opacity: mouse0.hovered ? (0.2 + (filesButton.pressed ? 0.2 : 0.0)) : 0.1
- border.width: 1
- }
- NewBorder {
- commonBorderWidth: 2
- commonBorder: false
- lBorderwidth: 2
- rBorderwidth: 2
- tBorderwidth: 2
- bBorderwidth: 2
- zValue: -1
- borderColor: Config.colors.shadow
- }
- NewBorder {
- commonBorderWidth: 2
- commonBorder: false
- lBorderwidth: 2
- rBorderwidth: 0
- tBorderwidth: 2
- bBorderwidth: 0
- zValue: -1
- opacity: 0.8
- borderColor: Config.colors.highlight
- }
- Text {
- anchors.centerIn: parent
- font.family: iconFont.name
- font.pixelSize: 48
- opacity: 0.4
- color: Config.colors.text
- text: "\ue2c7"
- }
- HoverHandler {
- id: mouse0
- acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
- cursorShape: Qt.PointingHandCursor
- }
- }
- Button {
- id: terminalButton
- implicitHeight: 60
- implicitWidth: 60
-
- onClicked: () => {
- Quickshell.execDetached(Config.settings.execCommands.terminal);
- root.closeCallback();
- }
-
- background: Rectangle {
- anchors.fill: parent
- color: Config.colors.outline
- opacity: mouse.hovered ? (0.2 + (terminalButton.pressed ? 0.2 : 0.0)) : 0.1
- border.width: 1
- }
- NewBorder {
- commonBorderWidth: 2
- commonBorder: false
- lBorderwidth: 2
- rBorderwidth: 2
- tBorderwidth: 2
- bBorderwidth: 2
- zValue: -1
- borderColor: Config.colors.shadow
- }
- NewBorder {
- commonBorderWidth: 2
- commonBorder: false
- lBorderwidth: 2
- rBorderwidth: 0
- tBorderwidth: 2
- bBorderwidth: 0
- zValue: -1
- opacity: 0.8
- borderColor: Config.colors.highlight
- }
- Text {
- anchors.centerIn: parent
- font.family: iconFont.name
- font.pixelSize: 48
- opacity: 0.4
- color: Config.colors.text
- text: "\ueb8e"
- }
- HoverHandler {
- id: mouse
- acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
- cursorShape: Qt.PointingHandCursor
- }
- }
- Button {
- id: settingsButton
- implicitHeight: 60
- implicitWidth: 60
-
- onClicked: () => {
- Config.openSettingsWindow = true;
- root.closeCallback();
- }
-
- background: Rectangle {
- anchors.fill: parent
- color: Config.colors.outline
- opacity: mouse2.hovered ? (0.2 + (settingsButton.pressed ? 0.2 : 0.0)) : 0.1
- border.width: 1
- }
- NewBorder {
- commonBorderWidth: 2
- commonBorder: false
- lBorderwidth: 2
- rBorderwidth: 2
- tBorderwidth: 2
- bBorderwidth: 2
- zValue: -1
- borderColor: Config.colors.shadow
- }
- NewBorder {
- commonBorderWidth: 2
- commonBorder: false
- lBorderwidth: 2
- rBorderwidth: 0
- tBorderwidth: 2
- bBorderwidth: 0
- zValue: -1
- opacity: 0.8
- borderColor: Config.colors.highlight
- }
- Text {
- anchors.centerIn: parent
- font.family: iconFont.name
- font.pixelSize: 48
- opacity: 0.4
- color: Config.colors.text
- text: "\ue8b8"
- }
- HoverHandler {
- id: mouse2
- acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
- cursorShape: Qt.PointingHandCursor
- }
- }
- Button {
- id: powerButton
- implicitHeight: 60
- implicitWidth: 60
-
- onClicked: () => {
- root.closeCallback();
- }
-
- background: Rectangle {
- anchors.fill: parent
- color: Config.colors.outline
- opacity: mouse3.hovered ? (0.2 + (powerButton.pressed ? 0.2 : 0.0)) : 0.1
- border.width: 1
- }
- NewBorder {
- commonBorderWidth: 2
- commonBorder: false
- lBorderwidth: 2
- rBorderwidth: 2
- tBorderwidth: 2
- bBorderwidth: 2
- zValue: -1
- borderColor: Config.colors.shadow
- }
- NewBorder {
- commonBorderWidth: 2
- commonBorder: false
- lBorderwidth: 2
- rBorderwidth: 0
- tBorderwidth: 2
- bBorderwidth: 0
- zValue: -1
- opacity: 0.8
- borderColor: Config.colors.highlight
- }
- Text {
- anchors.centerIn: parent
- font.family: iconFont.name
- font.pixelSize: 48
- opacity: 0.4
- color: Config.colors.text
- text: "\uf418"
- }
- HoverHandler {
- id: mouse3
- acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
- cursorShape: Qt.PointingHandCursor
- }
- }
- }
- }
- }
- }
- }
- }
-
- /*=== Animations ===*/
- OpacityAnimator {
- id: openAnimation
- target: frame
- from: 0
- to: 1
- duration: 140
- easing.type: Easing.OutCubic
- }
- OpacityAnimator {
- id: closeAnimation
- target: frame
- from: 1
- to: 0
- duration: 80
- easing.type: Easing.InOutQuad
- onFinished: root.visible = false
- }
- }
-
- function openStartMenu() {
- root.visible = true;
- openAnimation.start();
- }
-
- function closeStartMenu() {
- closeAnimation.start();
- }
-}
diff --git a/.setup/managed/quickshell/popups/ThemeMenu.qml b/.setup/managed/quickshell/popups/ThemeMenu.qml
deleted file mode 100644
index 9d4fcc9..0000000
--- a/.setup/managed/quickshell/popups/ThemeMenu.qml
+++ /dev/null
@@ -1,215 +0,0 @@
-import Quickshell
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls.Basic
-
-import ".."
-
-/* NOTE:
-* This entire module is quite a mess, and is likely going to get a complete re-write.
-* I'm experimenting with creating the entire window frame/designs with SVG in order to
-* skip the need of creating everything out of rectangles and borders.
-*/
-PopupWindow {
- id: root
-
- property int menuWidth: 0
- anchor.window: taskbar
- anchor.rect.x: menuWidth
- anchor.rect.y: parentWindow.implicitHeight
- implicitWidth: 600
- implicitHeight: 182
- color: "transparent"
-
- Rectangle {
- id: frame
- opacity: 0
- anchors.fill: parent
- color: Config.colors.base
- layer.enabled: true
-
- property int topOffset: 20
-
- PopupWindowFrame {
- id: startMenuFrame
- windowTitle: "Themes"
- windowTitleIcon: "\ue40a"
- windowTitleDecorationWidth: 235
- Item {
- id: content
- anchors.fill: startMenuFrame
- anchors.margins: 8
- anchors.topMargin: frame.topOffset + 20
- clip: true
-
- ColumnLayout {
- spacing: 0
- Item {
- implicitHeight: 110
- implicitWidth: startMenuFrame.width
-
- Flickable {
- id: flickable
- width: parent.width
- height: 105
-
- contentWidth: row.width + 5 * Object.keys(Config.themes).length
- contentHeight: row.height
-
- flickableDirection: Flickable.HorizontalFlick
- boundsBehavior: Flickable.DragOverBounds
- maximumFlickVelocity: 3500
-
- property int themeColorShowWidth: 12
-
- RowLayout {
- id: row
- spacing: 10
- height: parent.height
-
- Repeater {
- model: Object.keys(Config.themes)
- Button {
- implicitWidth: 150
- implicitHeight: 100
- //color: "lightcoral"
- //border.color: "darkred"
- opacity: pressed ? 0.6 : 1
- clip: true
-
- onReleased: () => {
- Config.settings.currentTheme = modelData;
- }
-
- background: Rectangle {
- anchors.fill: parent
- color: mouse.hovered ? Config.colors.shadow : Config.colors.base
- border.width: 1
- }
- NewBorder {
- commonBorderWidth: 2
- commonBorder: false
- lBorderwidth: 0
- rBorderwidth: 1
- tBorderwidth: 0
- bBorderwidth: 1
- zValue: -1
- borderColor: Config.colors.outline
- }
- ColumnLayout {
- width: parent.width
- height: parent.height
- spacing: 0
- RowLayout {
- Layout.alignment: Qt.AlignHCenter
- spacing: 0
- Rectangle {
- implicitWidth: flickable.themeColorShowWidth
- implicitHeight: 50
- color: Config.themes[modelData].base
- border.width: Config.settings.currentTheme == modelData ? 1 : 0
- }
- Rectangle {
- implicitWidth: flickable.themeColorShowWidth
- implicitHeight: 50
- color: Config.themes[modelData].accent
- border.width: 0
- }
- Rectangle {
- implicitWidth: flickable.themeColorShowWidth
- implicitHeight: 50
- color: Config.themes[modelData].highlight
- border.width: 0
- }
- Rectangle {
- implicitWidth: flickable.themeColorShowWidth
- implicitHeight: 50
- color: Config.themes[modelData].shadow
- border.width: 0
- }
- Rectangle {
- implicitWidth: flickable.themeColorShowWidth
- implicitHeight: 50
- color: Config.themes[modelData].text
- border.width: 0
- }
- }
- Text {
- Layout.alignment: Qt.AlignHCenter
- font.family: fontMonaco.name
- font.pixelSize: 16
- text: modelData
- }
- }
- HoverHandler {
- id: mouse
- acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
- cursorShape: Qt.PointingHandCursor
- }
- }
- }
- }
- }
- MouseArea {
- anchors.fill: parent
- acceptedButtons: Qt.NoButton
-
- onWheel: function (wheel) {
- var delta = wheel.angleDelta.y * 0.2;
- flickable.contentX = Math.max(0, Math.min(flickable.contentWidth - flickable.width, flickable.contentX - delta));
- }
- }
- }
-
- Item {
- Layout.leftMargin: 8
- RowLayout {
- Layout.alignment: Qt.AlignHCenter
- spacing: 6
-
- Text {
- font.family: fontCharcoal.name
- font.pixelSize: 13
- text: "Current Theme:"
- }
- Text {
- font.family: fontMonaco.name
- font.pixelSize: 13
- text: Config.settings.currentTheme
- }
- }
- }
- }
- }
- }
-
- /*=== Animations ===*/
- OpacityAnimator {
- id: openAnimation
- target: frame
- from: 0
- to: 1
- duration: 140
- easing.type: Easing.OutCubic
- }
- OpacityAnimator {
- id: closeAnimation
- target: frame
- from: 1
- to: 0
- duration: 80
- easing.type: Easing.InOutQuad
- onFinished: root.visible = false
- }
- }
-
- function openThemeMenu() {
- root.visible = true;
- openAnimation.start();
- }
-
- function closeThemeMenu() {
- closeAnimation.start();
- Config.currentPopup = Config.SystemPopup.None;
- }
-}
diff --git a/.setup/managed/quickshell/popups/qmldir b/.setup/managed/quickshell/popups/qmldir
deleted file mode 100644
index 35dce28..0000000
--- a/.setup/managed/quickshell/popups/qmldir
+++ /dev/null
@@ -1,4 +0,0 @@
-module Popups
-StartMenu 1.0 StartMenu.qml
-PopupWindowFrame 1.0 PopupWindowFrame.qml
-AppLauncher 1.0 AppLauncher.qml
\ No newline at end of file
diff --git a/.setup/managed/quickshell/settings.json b/.setup/managed/quickshell/settings.json
deleted file mode 100644
index a610c09..0000000
--- a/.setup/managed/quickshell/settings.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "settings": {
- "bar": {
- "fontSize": 16,
- "monochromeTrayIcons": true,
- "trayIconSize": 20
- },
- "currentTheme": "indigo",
- "execCommands": {
- "files": "nemo",
- "terminal": "kitty"
- },
- "militaryTimeClockFormat": true,
- "setWallpaperToThemeWallpaper": true,
- "systemDetails": {
- "cpu": "13th Gen Intel I3",
- "gpu": "Intel Integrated Graphics",
- "osName": "NixOS-unstable",
- "osVersion": "25.11 Xantusia",
- "ram": "8GB"
- },
- "systemProfileImageSource": "/home/mayday/dotfiles/img/pfp.jpg",
- "version": "0.1"
- }
-}
diff --git a/.setup/managed/quickshell/shell.qml b/.setup/managed/quickshell/shell.qml
deleted file mode 100644
index f3ab069..0000000
--- a/.setup/managed/quickshell/shell.qml
+++ /dev/null
@@ -1,83 +0,0 @@
-//@ pragma UseQApplication
-//@ pragma Env QS_NO_RELOAD_POPUP=1
-//@ pragma Env QT_QUICK_CONTROLS_STYLE=Basic
-//@ pragma Env QT_QUICK_FLICKABLE_WHEEL_DECELERATION=10000
-
-/* NOTE: CHANGE THESE IF YOU WANT TO USE A DIFFERENT ICON THEME:*/
-//@ pragma IconTheme RetroismIcons
-//@ pragma Env QS_ICON_THEME=RetroismIcons
-
-import QtQuick
-import Quickshell
-
-import "taskbar" as Taskbar
-import "popups" as Popups
-
-Scope {
- id: root
- FontLoader {
- id: iconFont
- source: "fonts/MaterialSymbolsSharp_Filled_36pt-Regular.ttf"
- }
- FontLoader {
- id: fontMonaco
- source: "fonts/Monaco.ttf"
- }
- FontLoader {
- id: fontCharcoal
- source: "fonts/Charcoal.ttf"
- }
- Taskbar.Bar {}
-
- FloatingWindow {
- id: settingsWindow
- title: "RetroismSettingsWindow"
- reloadableId: "RetroismSettingsWindow"
- visible: Config.openSettingsWindow
- Popups.PopupWindowFrame {
- id: settingsWindowFrame
- windowTitle: "Settings"
- windowTitleIcon: "\ue8b8"
- windowTitleDecorationWidth: (settingsWindow.width / 2) - 70
-
- anchors.leftMargin: -1
- anchors.bottomMargin: -1
- anchors.rightMargin: -1
- Item {
- id: content
- anchors.fill: settingsWindowFrame
- anchors.margins: 18
- anchors.topMargin: 20 + 18
- clip: true
- Rectangle {
- anchors.left: parent.left
- anchors.right: parent.right
- color: Config.colors.highlight
- border.width: 1
- border.color: Config.colors.outline
- height: 148
- Text {
- anchors.fill: parent
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- font.family: fontMonaco.name
- font.pixelSize: 28
- text: "Linux Retroism " + Config.settings.version
- }
- Text {
- anchors.fill: parent
- anchors.bottomMargin: 16
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignBottom
- font.family: fontMonaco.name
- font.pixelSize: 12
- text: "Version 0.1 is very early and does not yet have a proper settings menu.\nPlease look forward for future releases on github ~ diinki"
- }
- }
- }
- }
- onClosed: {
- Config.openSettingsWindow = false;
- }
- }
-}
diff --git a/.setup/managed/quickshell/taskbar/Bar.qml b/.setup/managed/quickshell/taskbar/Bar.qml
deleted file mode 100644
index b284d38..0000000
--- a/.setup/managed/quickshell/taskbar/Bar.qml
+++ /dev/null
@@ -1,284 +0,0 @@
-import Quickshell
-import Quickshell.Wayland
-import Quickshell.Io
-import QtQuick
-
-import "../popups" as Popups
-import ".."
-
-Scope {
- // Taskbar variants, we have one taskber per screen.
- Variants {
- model: Quickshell.screens
- Item {
- id: root
- required property var modelData
- property int currentPopup: Config.SystemPopup.None
-
- PanelWindow {
- id: taskbar
- screen: root.modelData
- WlrLayershell.layer: WlrLayer.Bottom
- WlrLayershell.keyboardFocus: WlrKeyboardFocus.OnDemand
-
- anchors {
- top: true
- left: true
- right: true
- }
- implicitHeight: 39
-
- /*=== Taskbar Background (colors & shading) ===*/
- color: Config.colors.base
- Item {
- id: taskbarBackground
- anchors.fill: parent
- NewBorder {
- commonBorderWidth: 4
- commonBorder: false
- lBorderwidth: 10
- rBorderwidth: 1
- tBorderwidth: 10
- bBorderwidth: 1
- borderColor: Config.colors.shadow
- }
- NewBorder {
- commonBorderWidth: 4
- commonBorder: false
- lBorderwidth: 10
- rBorderwidth: 10
- tBorderwidth: 1
- bBorderwidth: 10
- borderColor: Config.colors.highlight
- }
-
- Rectangle {
- id: barBackground
- anchors {
- fill: parent
- margins: 0
- }
- color: "transparent"
- radius: 0
- border.width: 1
- border.color: Config.colors.outline
- }
- }
- /*=== ===================================== ===*/
-
- /*=== Workspaces & Background for it ===*/
- Item {
- id: test2
- anchors.verticalCenter: parent.verticalCenter
- anchors.left: parent.left
- height: parent.height - 8
-
- // The margins are weird due to the additional outlines added to each button
- // that add depth, which is 1 pixel; thus we expand the width by 5 and not 4.
- anchors.leftMargin: 11
- width: workspaces.width + 5
- Rectangle {
- id: background2
- anchors.fill: test2
-
- anchors.bottomMargin: -2
- color: "transparent"
- Rectangle {
- anchors.fill: background2
- border.width: 0
- color: Config.colors.shadow
- }
- Rectangle {
- anchors.fill: background2
- color: "transparent"
- border.width: 1
- z: -5
- anchors.margins: -1
- anchors.bottomMargin: 1
- }
- }
- Workspaces {
- id: workspaces
- anchors.leftMargin: 2
- anchors.rightMargin: 0
- }
- }
- /*=== ============================== ===*/
-
- /*=== StartMenu & Other popup Stuff ===*/
- Popups.StartMenu {
- id: startMenu
- menuWidth: workspaces.width + startmenuButton.width
- closeCallback: taskbar.closeAllPopups
- }
- Popups.ThemeMenu {
- id: themeMenu
- menuWidth: workspaces.width + startmenuButton.width + themeMenuButton.width
- }
- Popups.AppLauncher {
- id: appLauncher
- closeCallback: taskbar.closeAllPopups
- menuWidth: taskbar.width / 2
- popupWidth: 500
- screenHeight: modelData.height
- }
- function closeAllPopups() {
- switch (root.currentPopup) {
- case Config.SystemPopup.Startmenu:
- startMenu.closeStartMenu();
- break;
- case Config.SystemPopup.ThemePicker:
- themeMenu.closeThemeMenu();
- break;
- case Config.SystemPopup.AppLauncher:
- appLauncher.closeAppLauncher();
- break;
- }
- root.currentPopup = Config.SystemPopup.None;
- }
-
- TaskbarButton {
- id: startmenuButton
- isToggled: root.currentPopup == Config.SystemPopup.Startmenu ? true : false
- anchors.left: parent.left
- anchors.verticalCenter: parent.verticalCenter
- anchors.leftMargin: workspaces.width + 20 + 4
- onClicked: {
- if (root.currentPopup == Config.SystemPopup.None) {
- startMenu.openStartMenu();
- root.currentPopup = Config.SystemPopup.Startmenu;
- } else {
- taskbar.closeAllPopups();
- root.currentPopup = Config.SystemPopup.None;
- }
- }
- }
- TaskbarButton {
- id: themeMenuButton
- isToggled: root.currentPopup == Config.SystemPopup.ThemePicker ? true : false
- iconFontValue: "\ue3ae"
- anchors.left: parent.left
- anchors.verticalCenter: parent.verticalCenter
- anchors.leftMargin: workspaces.width + 40 + 11
- onClicked: {
- if (root.currentPopup == Config.SystemPopup.None) {
- themeMenu.openThemeMenu();
- root.currentPopup = Config.SystemPopup.ThemePicker;
- } else {
- taskbar.closeAllPopups();
- root.currentPopup = Config.SystemPopup.None;
- }
- }
- }
- TaskbarButton {
- id: appLauncherButton
- isToggled: root.currentPopup == Config.SystemPopup.AppLauncher ? true : false
- iconFontValue: "\ue8b6"
- anchors.centerIn: parent
- onClicked: {
- if (root.currentPopup == Config.SystemPopup.None) {
- appLauncher.openAppLauncher();
- root.currentPopup = Config.SystemPopup.AppLauncher;
- } else {
- taskbar.closeAllPopups();
- root.currentPopup = Config.SystemPopup.None;
- }
- }
- }
- Scope {
- id: appLauncherIpc
- property string screenName: taskbar.screen.name
- IpcHandler {
- target: "appLauncher_" + appLauncherIpc.screenName
- function toggleAppLauncher() {
- if (root.currentPopup == Config.SystemPopup.None) {
- appLauncher.openAppLauncher();
- root.currentPopup = Config.SystemPopup.AppLauncher;
- } else {
- taskbar.closeAllPopups();
- root.currentPopup = Config.SystemPopup.None;
- }
- }
- }
- }
-
- /*=== ============================= ===*/
-
- /*=== System Tray & Background for it ===*/
- Item {
- id: test
- anchors.verticalCenter: parent.verticalCenter
- anchors.right: parent.right
- anchors.rightMargin: 12
- height: parent.height - 8
- width: sysTray.width + 18
- Rectangle {
- id: background
- anchors.fill: test
-
- anchors.bottomMargin: -2
- color: "transparent"
- Rectangle {
- anchors.fill: background
- border.width: 0
- color: Config.colors.shadow
- }
- Rectangle {
- anchors.fill: background
- color: "transparent"
- border.width: 1
- z: -5
- anchors.margins: -1
- anchors.bottomMargin: 1
- }
- }
- SysTray {
- id: sysTray
- }
- }
- /*=== =============================== ===*/
- }
-
- /*=== POPUP CLOSING PANEL ===*/
- // This panel is strictly for detecting clicks
- // outside of popups in order to close them.
- PanelWindow {
- id: overlay
- screen: root.modelData
- color: "transparent"
-
- implicitHeight: screen.height
-
- // Better UX to not have it close on hotbar press? idk. TODO: Figure this out
- //implicitHeight: screen.height - taskbar.implicitHeight
-
- anchors {
- bottom: true
- left: true
- right: true
- }
-
- visible: root.currentPopup != Config.SystemPopup.None ? true : false
-
- exclusionMode: ExclusionMode.Ignore
-
- MouseArea {
- id: popupArea
- width: Screen.width
- height: Screen.height
- visible: root.currentPopup != Config.SystemPopup.None ? true : false
- onClicked: {
- taskbar.closeAllPopups();
- }
- }
- }
- /*=== =================== ===*/
- }
- }
-
- enum SystemPopups {
- Startmenu,
- ThemePicker,
- None
- }
-}
diff --git a/.setup/managed/quickshell/taskbar/ClockWidget.qml b/.setup/managed/quickshell/taskbar/ClockWidget.qml
deleted file mode 100644
index 5a6b6c8..0000000
--- a/.setup/managed/quickshell/taskbar/ClockWidget.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import QtQuick
-import ".."
-
-Text {
- text: Time.time
- color: Config.colors.text
- font.pixelSize: Config.settings.bar.fontSize
- font.family: fontMonaco.name
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
-}
diff --git a/.setup/managed/quickshell/taskbar/SysTray.qml b/.setup/managed/quickshell/taskbar/SysTray.qml
deleted file mode 100644
index f2d5699..0000000
--- a/.setup/managed/quickshell/taskbar/SysTray.qml
+++ /dev/null
@@ -1,96 +0,0 @@
-import Quickshell
-import Quickshell.Widgets
-import QtQuick
-import QtQuick.Layouts
-import Quickshell.Services.SystemTray
-import QtQuick.Effects
-
-import ".."
-
-RowLayout {
- id: sysTrayRow
- anchors.right: parent.right
- anchors.verticalCenter: parent.verticalCenter
- anchors.rightMargin: 12
-
- Repeater {
- id: sysTray
- model: SystemTray.items
-
- MouseArea {
- id: trayItem
- property SystemTrayItem item: modelData
- implicitWidth: Config.settings.bar.trayIconSize
- implicitHeight: Config.settings.bar.trayIconSize
-
- onClicked: event => {
- switch (event.button) {
- case Qt.LeftButton:
- if (item.hasMenu) {
- menu.open();
- }
- break;
- case Qt.RightButton:
- if (item.hasMenu) {
- menu.open();
- }
- break;
- }
-
- event.accepted = true;
- }
-
- // TODO: Create a bespoke menu design instead of using QsMenu.
- QsMenuAnchor {
- id: menu
-
- menu: trayItem.item.menu
- anchor.window: taskbar
-
- // Yes I know, this is a confusing way to get the position for the menu, but that's
- // just how Qt is.
- anchor.rect.x: taskbar.width - (sysTrayRow.width + clockWidget.width - trayItem.x)
- anchor.rect.y: taskbar.height - 10
-
- anchor.rect.height: trayItem.height
- anchor.edges: Edges.Bottom
- }
-
- IconImage {
- id: trayIcon
- source: trayItem.item.icon
- anchors.centerIn: parent
- width: parent.width
- height: parent.height
- visible: false
- }
- Loader {
- anchors.fill: trayIcon
- sourceComponent: MultiEffect {
- source: trayIcon
- saturation: Config.settings.bar.monochromeTrayIcons ? -1.0 : 0
- contrast: Config.settings.bar.monochromeTrayIcons ? 0.7 : 0.0
- opacity: mouse.hovered || menu.visible ? 1 : 0.7
- blurEnabled: false
- shadowEnabled: true
-
- shadowBlur: 0
- blurMax: 1
- shadowScale: 1
- shadowVerticalOffset: 1
- shadowHorizontalOffset: 1
- shadowOpacity: 1
- shadowColor: "black"
- }
- }
- HoverHandler {
- id: mouse
- acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
- cursorShape: Qt.PointingHandCursor
- }
- }
- }
- ClockWidget {
- id: clockWidget
- }
-}
diff --git a/.setup/managed/quickshell/taskbar/TaskbarButton.qml b/.setup/managed/quickshell/taskbar/TaskbarButton.qml
deleted file mode 100644
index 3a24bd2..0000000
--- a/.setup/managed/quickshell/taskbar/TaskbarButton.qml
+++ /dev/null
@@ -1,55 +0,0 @@
-import Quickshell
-import QtQuick
-import QtQuick.Controls.Basic
-
-import ".."
-
-Button {
- id: root
-
- property bool isToggled: false
- property string iconFontValue: "\ue5c3"
- property string toggledIconFontValue: "\ue5c5"
-
- implicitWidth: 22
- implicitHeight: 22
-
- NewBorder {
- commonBorderWidth: 1
- commonBorder: false
- lBorderwidth: 0
- rBorderwidth: 1
- tBorderwidth: 0
- bBorderwidth: 1
- borderColor: Config.colors.outline
- zValue: -1
- }
-
- background: Rectangle {
- anchors.verticalCenter: parent.verticalCenter
- anchors.horizontalCenter: parent.horizontalCenter
- width: parent.width
- height: parent.height
- border.width: 1
- border.color: root.isToggled ? Config.colors.accent : Config.colors.outline
- color: "transparent"
- opacity: mouse.hovered ? 0.4 : 1
- radius: 0
-
- Text {
- font.family: iconFont.name
- horizontalAlignment: Text.AlignHCenter
- anchors.verticalCenter: parent.verticalCenter
- anchors.horizontalCenter: parent.horizontalCenter
- verticalAlignment: Text.AlignVCenter
- font.pixelSize: root.isToggled ? 32 : 20
- text: root.isToggled ? root.toggledIconFontValue : root.iconFontValue
- color: root.isToggled ? Config.colors.accent : Config.colors.outline
- }
- }
- HoverHandler {
- id: mouse
- acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
- cursorShape: Qt.PointingHandCursor
- }
-}
diff --git a/.setup/managed/quickshell/taskbar/Workspaces.qml b/.setup/managed/quickshell/taskbar/Workspaces.qml
deleted file mode 100644
index ff41bd6..0000000
--- a/.setup/managed/quickshell/taskbar/Workspaces.qml
+++ /dev/null
@@ -1,94 +0,0 @@
-import Quickshell
-import Quickshell.Hyprland
-import Quickshell.I3
-import QtQuick
-import QtQuick.Controls.Basic
-import QtQuick.Layouts
-
-import ".."
-
-RowLayout {
- id: workspaces
- spacing: 3
- anchors.left: parent.left
- anchors.verticalCenter: parent.verticalCenter
-
- property bool usingHyprland: Hyprland.workspaces.values.length == 0 ? false : true
-
- // TODO: Improve this functionality
- property var currentWorkspaces: usingHyprland ? Hyprland.workspaces.values.filter(w => w.monitor.name == taskbar.screen.name) : I3.workspaces.values.filter(w => w.monitor.name == taskbar.screen.name)
-
-
- Repeater {
- model: parent.currentWorkspaces
- //model: Hyprland.workspaces.values.filter(w => w.monitor.name == taskbar.screen.name)
- Button {
- id: control
- anchors.centerIn: parent.centerIn
- contentItem: Text {
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- text: usingHyprland ? modelData.id : modelData.number
- font.family: fontMonaco.name
- width: 10
- height: 10
- font.pixelSize: Config.settings.bar.fontSize
- color: Config.colors.text
- }
- onPressed: event => {
- if(usingHyprland) {
- Hyprland.dispatch(`workspace ` + modelData.id);
- }else {
- I3.dispatch(`workspace ` + modelData.number);
- }
- event.accepted = true;
- }
- NewBorder {
- commonBorderWidth: 2
- commonBorder: false
- lBorderwidth: -2
- rBorderwidth: 0
- tBorderwidth: -4
- bBorderwidth: -1
- borderColor: Config.colors.outline
- zValue: -1
- }
-
- // TODO: Improve this, it's very messy right now.
- property int focusedWindowId: 0
- function getColor() {
- if (usingHyprland == true) {
- focusedWindowId = Hyprland.focusedWorkspace.id;
- }else {
- focusedWindowId = I3.focusedWorkspace.number;
- }
-
- if (modelData.urgent) {
- return Config.colors.urgent;
- } else {
- if ((usingHyprland && modelData.id == focusedWindowId) || mouse.hovered) {
- return Config.colors.shadow;
- }else if ((usingHyprland == false && modelData.number == focusedWindowId) || mouse.hovered) {
- return Config.colors.shadow;
- }
- }
- return Config.colors.base;
- }
- background: Rectangle {
- anchors.verticalCenter: parent.verticalCenter
- anchors.horizontalCenter: parent.horizontalCenter
- border.width: 1
- border.color: Config.colors.outline
- width: 22
- height: 22
- color: getColor()
- }
-
- HoverHandler {
- id: mouse
- acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
- cursorShape: Qt.PointingHandCursor
- }
- }
- }
-}
diff --git a/.setup/managed/quickshell/taskbar/qmldir b/.setup/managed/quickshell/taskbar/qmldir
deleted file mode 100644
index 7c0cf03..0000000
--- a/.setup/managed/quickshell/taskbar/qmldir
+++ /dev/null
@@ -1,6 +0,0 @@
-module Taskbar
-Bar 1.0 Bar.qml
-TaskbarButton 1.0 TaskbarButton.qml
-Workspaces 1.0 Workspaces.qml
-ClockWidget 1.0 ClockWidget.qml
-SysTray 1.0 SysTray.qml
diff --git a/.setup/managed/quickshell/utils/AppSearch.qml b/.setup/managed/quickshell/utils/AppSearch.qml
deleted file mode 100644
index 876e3fa..0000000
--- a/.setup/managed/quickshell/utils/AppSearch.qml
+++ /dev/null
@@ -1,32 +0,0 @@
-pragma Singleton
-import Quickshell
-
-Singleton {
-
- readonly property list list: Array.from(DesktopEntries.applications.values).sort((a, b) => a.name.localeCompare(b.name))
-
- readonly property var preppedNames: list.map(a => ({
- name: Fuzzy.prepare(`${a.name} `),
- entry: a
- }))
-
- readonly property var preppedIcons: list.map(a => ({
- name: Fuzzy.prepare(`${a.icon} `),
- entry: a
- }))
-
- function fuzzyQuery(search: string): var { // Idk why list doesn't work
- return Fuzzy.go(search, preppedNames, {
- all: true,
- key: "name"
- }).map(r => {
- return r.obj.entry;
- });
- }
-
- function getIcon(iconName) {
- if (!iconName || iconName.length == 0)
- return false;
- return Quickshell.iconPath(iconName, true);
- }
-}
diff --git a/.setup/managed/quickshell/utils/Fuzzy.qml b/.setup/managed/quickshell/utils/Fuzzy.qml
deleted file mode 100644
index 5f2b641..0000000
--- a/.setup/managed/quickshell/utils/Fuzzy.qml
+++ /dev/null
@@ -1,17 +0,0 @@
-pragma Singleton
-import Quickshell
-import "./fuzzysort.js" as FuzzySort
-
-/**
- * Wrapper for FuzzySort to play nicely with Quickshell's imports
- */
-
-Singleton {
- function go(...args) {
- return FuzzySort.go(...args);
- }
-
- function prepare(...args) {
- return FuzzySort.prepare(...args);
- }
-}
diff --git a/.setup/managed/quickshell/utils/fuzzysort.js b/.setup/managed/quickshell/utils/fuzzysort.js
deleted file mode 100644
index 1290b16..0000000
--- a/.setup/managed/quickshell/utils/fuzzysort.js
+++ /dev/null
@@ -1,682 +0,0 @@
-.pragma library
-
-// https://github.com/farzher/fuzzysort
-// License: MIT | Copyright (c) 2018 Stephen Kamenar
-// A copy of the license is available in the `licenses` folder of this repository
-
-var single = (search, target) => {
- if(!search || !target) return NULL
-
- var preparedSearch = getPreparedSearch(search)
- if(!isPrepared(target)) target = getPrepared(target)
-
- var searchBitflags = preparedSearch.bitflags
- if((searchBitflags & target._bitflags) !== searchBitflags) return NULL
-
- return algorithm(preparedSearch, target)
-}
-
-var go = (search, targets, options) => {
- if(!search) return options?.all ? all(targets, options) : noResults
-
- var preparedSearch = getPreparedSearch(search)
- var searchBitflags = preparedSearch.bitflags
- var containsSpace = preparedSearch.containsSpace
-
- var threshold = denormalizeScore( options?.threshold || 0 )
- var limit = options?.limit || INFINITY
-
- var resultsLen = 0; var limitedCount = 0
- var targetsLen = targets.length
-
- function push_result(result) {
- if(resultsLen < limit) { q.add(result); ++resultsLen }
- else {
- ++limitedCount
- if(result._score > q.peek()._score) q.replaceTop(result)
- }
- }
-
- // This code is copy/pasted 3 times for performance reasons [options.key, options.keys, no keys]
-
- // options.key
- if(options?.key) {
- var key = options.key
- for(var i = 0; i < targetsLen; ++i) { var obj = targets[i]
- var target = getValue(obj, key)
- if(!target) continue
- if(!isPrepared(target)) target = getPrepared(target)
-
- if((searchBitflags & target._bitflags) !== searchBitflags) continue
- var result = algorithm(preparedSearch, target)
- if(result === NULL) continue
- if(result._score < threshold) continue
-
- result.obj = obj
- push_result(result)
- }
-
- // options.keys
- } else if(options?.keys) {
- var keys = options.keys
- var keysLen = keys.length
-
- outer: for(var i = 0; i < targetsLen; ++i) { var obj = targets[i]
-
- { // early out based on bitflags
- var keysBitflags = 0
- for (var keyI = 0; keyI < keysLen; ++keyI) {
- var key = keys[keyI]
- var target = getValue(obj, key)
- if(!target) { tmpTargets[keyI] = noTarget; continue }
- if(!isPrepared(target)) target = getPrepared(target)
- tmpTargets[keyI] = target
-
- keysBitflags |= target._bitflags
- }
-
- if((searchBitflags & keysBitflags) !== searchBitflags) continue
- }
-
- if(containsSpace) for(let i=0; i -1000) {
- if(keysSpacesBestScores[i] > NEGATIVE_INFINITY) {
- var tmp = (keysSpacesBestScores[i] + allowPartialMatchScores[i]) / 4/*bonus score for having multiple matches*/
- if(tmp > keysSpacesBestScores[i]) keysSpacesBestScores[i] = tmp
- }
- }
- if(allowPartialMatchScores[i] > keysSpacesBestScores[i]) keysSpacesBestScores[i] = allowPartialMatchScores[i]
- }
- }
-
- if(containsSpace) {
- for(let i=0; i -1000) {
- if(score > NEGATIVE_INFINITY) {
- var tmp = (score + result._score) / 4/*bonus score for having multiple matches*/
- if(tmp > score) score = tmp
- }
- }
- if(result._score > score) score = result._score
- }
- }
-
- objResults.obj = obj
- objResults._score = score
- if(options?.scoreFn) {
- score = options.scoreFn(objResults)
- if(!score) continue
- score = denormalizeScore(score)
- objResults._score = score
- }
-
- if(score < threshold) continue
- push_result(objResults)
- }
-
- // no keys
- } else {
- for(var i = 0; i < targetsLen; ++i) { var target = targets[i]
- if(!target) continue
- if(!isPrepared(target)) target = getPrepared(target)
-
- if((searchBitflags & target._bitflags) !== searchBitflags) continue
- var result = algorithm(preparedSearch, target)
- if(result === NULL) continue
- if(result._score < threshold) continue
-
- push_result(result)
- }
- }
-
- if(resultsLen === 0) return noResults
- var results = new Array(resultsLen)
- for(var i = resultsLen - 1; i >= 0; --i) results[i] = q.poll()
- results.total = resultsLen + limitedCount
- return results
-}
-
-
-// this is written as 1 function instead of 2 for minification. perf seems fine ...
-// except when minified. the perf is very slow
-var highlight = (result, open='', close='') => {
- var callback = typeof open === 'function' ? open : undefined
-
- var target = result.target
- var targetLen = target.length
- var indexes = result.indexes
- var highlighted = ''
- var matchI = 0
- var indexesI = 0
- var opened = false
- var parts = []
-
- for(var i = 0; i < targetLen; ++i) { var char = target[i]
- if(indexes[indexesI] === i) {
- ++indexesI
- if(!opened) { opened = true
- if(callback) {
- parts.push(highlighted); highlighted = ''
- } else {
- highlighted += open
- }
- }
-
- if(indexesI === indexes.length) {
- if(callback) {
- highlighted += char
- parts.push(callback(highlighted, matchI++)); highlighted = ''
- parts.push(target.substr(i+1))
- } else {
- highlighted += char + close + target.substr(i+1)
- }
- break
- }
- } else {
- if(opened) { opened = false
- if(callback) {
- parts.push(callback(highlighted, matchI++)); highlighted = ''
- } else {
- highlighted += close
- }
- }
- }
- highlighted += char
- }
-
- return callback ? parts : highlighted
-}
-
-
-var prepare = (target) => {
- if(typeof target === 'number') target = ''+target
- else if(typeof target !== 'string') target = ''
- var info = prepareLowerInfo(target)
- return new_result(target, {_targetLower:info._lower, _targetLowerCodes:info.lowerCodes, _bitflags:info.bitflags})
-}
-
-var cleanup = () => { preparedCache.clear(); preparedSearchCache.clear() }
-
-
-// Below this point is only internal code
-// Below this point is only internal code
-// Below this point is only internal code
-// Below this point is only internal code
-
-
-class Result {
- get ['indexes']() { return this._indexes.slice(0, this._indexes.len).sort((a,b)=>a-b) }
- set ['indexes'](indexes) { return this._indexes = indexes }
- ['highlight'](open, close) { return highlight(this, open, close) }
- get ['score']() { return normalizeScore(this._score) }
- set ['score'](score) { this._score = denormalizeScore(score) }
-}
-
-class KeysResult extends Array {
- get ['score']() { return normalizeScore(this._score) }
- set ['score'](score) { this._score = denormalizeScore(score) }
-}
-
-var new_result = (target, options) => {
- const result = new Result()
- result['target'] = target
- result['obj'] = options.obj ?? NULL
- result._score = options._score ?? NEGATIVE_INFINITY
- result._indexes = options._indexes ?? []
- result._targetLower = options._targetLower ?? ''
- result._targetLowerCodes = options._targetLowerCodes ?? NULL
- result._nextBeginningIndexes = options._nextBeginningIndexes ?? NULL
- result._bitflags = options._bitflags ?? 0
- return result
-}
-
-
-var normalizeScore = score => {
- if(score === NEGATIVE_INFINITY) return 0
- if(score > 1) return score
- return Math.E ** ( ((-score + 1)**.04307 - 1) * -2)
-}
-var denormalizeScore = normalizedScore => {
- if(normalizedScore === 0) return NEGATIVE_INFINITY
- if(normalizedScore > 1) return normalizedScore
- return 1 - Math.pow((Math.log(normalizedScore) / -2 + 1), 1 / 0.04307)
-}
-
-
-var prepareSearch = (search) => {
- if(typeof search === 'number') search = ''+search
- else if(typeof search !== 'string') search = ''
- search = search.trim()
- var info = prepareLowerInfo(search)
-
- var spaceSearches = []
- if(info.containsSpace) {
- var searches = search.split(/\s+/)
- searches = [...new Set(searches)] // distinct
- for(var i=0; i {
- if(target.length > 999) return prepare(target) // don't cache huge targets
- var targetPrepared = preparedCache.get(target)
- if(targetPrepared !== undefined) return targetPrepared
- targetPrepared = prepare(target)
- preparedCache.set(target, targetPrepared)
- return targetPrepared
-}
-var getPreparedSearch = (search) => {
- if(search.length > 999) return prepareSearch(search) // don't cache huge searches
- var searchPrepared = preparedSearchCache.get(search)
- if(searchPrepared !== undefined) return searchPrepared
- searchPrepared = prepareSearch(search)
- preparedSearchCache.set(search, searchPrepared)
- return searchPrepared
-}
-
-
-var all = (targets, options) => {
- var results = []; results.total = targets.length // this total can be wrong if some targets are skipped
-
- var limit = options?.limit || INFINITY
-
- if(options?.key) {
- for(var i=0;i= limit) return results
- }
- } else if(options?.keys) {
- for(var i=0;i= 0; --keyI) {
- var target = getValue(obj, options.keys[keyI])
- if(!target) { objResults[keyI] = noTarget; continue }
- if(!isPrepared(target)) target = getPrepared(target)
- target._score = NEGATIVE_INFINITY
- target._indexes.len = 0
- objResults[keyI] = target
- }
- objResults.obj = obj
- objResults._score = NEGATIVE_INFINITY
- results.push(objResults); if(results.length >= limit) return results
- }
- } else {
- for(var i=0;i= limit) return results
- }
- }
-
- return results
-}
-
-
-var algorithm = (preparedSearch, prepared, allowSpaces=false, allowPartialMatch=false) => {
- if(allowSpaces===false && preparedSearch.containsSpace) return algorithmSpaces(preparedSearch, prepared, allowPartialMatch)
-
- var searchLower = preparedSearch._lower
- var searchLowerCodes = preparedSearch.lowerCodes
- var searchLowerCode = searchLowerCodes[0]
- var targetLowerCodes = prepared._targetLowerCodes
- var searchLen = searchLowerCodes.length
- var targetLen = targetLowerCodes.length
- var searchI = 0 // where we at
- var targetI = 0 // where you at
- var matchesSimpleLen = 0
-
- // very basic fuzzy match; to remove non-matching targets ASAP!
- // walk through target. find sequential matches.
- // if all chars aren't found then exit
- for(;;) {
- var isMatch = searchLowerCode === targetLowerCodes[targetI]
- if(isMatch) {
- matchesSimple[matchesSimpleLen++] = targetI
- ++searchI; if(searchI === searchLen) break
- searchLowerCode = searchLowerCodes[searchI]
- }
- ++targetI; if(targetI >= targetLen) return NULL // Failed to find searchI
- }
-
- var searchI = 0
- var successStrict = false
- var matchesStrictLen = 0
-
- var nextBeginningIndexes = prepared._nextBeginningIndexes
- if(nextBeginningIndexes === NULL) nextBeginningIndexes = prepared._nextBeginningIndexes = prepareNextBeginningIndexes(prepared.target)
- targetI = matchesSimple[0]===0 ? 0 : nextBeginningIndexes[matchesSimple[0]-1]
-
- // Our target string successfully matched all characters in sequence!
- // Let's try a more advanced and strict test to improve the score
- // only count it as a match if it's consecutive or a beginning character!
- var backtrackCount = 0
- if(targetI !== targetLen) for(;;) {
- if(targetI >= targetLen) {
- // We failed to find a good spot for this search char, go back to the previous search char and force it forward
- if(searchI <= 0) break // We failed to push chars forward for a better match
-
- ++backtrackCount; if(backtrackCount > 200) break // exponential backtracking is taking too long, just give up and return a bad match
-
- --searchI
- var lastMatch = matchesStrict[--matchesStrictLen]
- targetI = nextBeginningIndexes[lastMatch]
-
- } else {
- var isMatch = searchLowerCodes[searchI] === targetLowerCodes[targetI]
- if(isMatch) {
- matchesStrict[matchesStrictLen++] = targetI
- ++searchI; if(searchI === searchLen) { successStrict = true; break }
- ++targetI
- } else {
- targetI = nextBeginningIndexes[targetI]
- }
- }
- }
-
- // check if it's a substring match
- var substringIndex = searchLen <= 1 ? -1 : prepared._targetLower.indexOf(searchLower, matchesSimple[0]) // perf: this is slow
- var isSubstring = !!~substringIndex
- var isSubstringBeginning = !isSubstring ? false : substringIndex===0 || prepared._nextBeginningIndexes[substringIndex-1] === substringIndex
-
- // if it's a substring match but not at a beginning index, let's try to find a substring starting at a beginning index for a better score
- if(isSubstring && !isSubstringBeginning) {
- for(var i=0; i {
- var score = 0
-
- var extraMatchGroupCount = 0
- for(var i = 1; i < searchLen; ++i) {
- if(matches[i] - matches[i-1] !== 1) {score -= matches[i]; ++extraMatchGroupCount}
- }
- var unmatchedDistance = matches[searchLen-1] - matches[0] - (searchLen-1)
-
- score -= (12+unmatchedDistance) * extraMatchGroupCount // penality for more groups
-
- if(matches[0] !== 0) score -= matches[0]*matches[0]*.2 // penality for not starting near the beginning
-
- if(!successStrict) {
- score *= 1000
- } else {
- // successStrict on a target with too many beginning indexes loses points for being a bad target
- var uniqueBeginningIndexes = 1
- for(var i = nextBeginningIndexes[0]; i < targetLen; i=nextBeginningIndexes[i]) ++uniqueBeginningIndexes
-
- if(uniqueBeginningIndexes > 24) score *= (uniqueBeginningIndexes-24)*10 // quite arbitrary numbers here ...
- }
-
- score -= (targetLen - searchLen)/2 // penality for longer targets
-
- if(isSubstring) score /= 1+searchLen*searchLen*1 // bonus for being a full substring
- if(isSubstringBeginning) score /= 1+searchLen*searchLen*1 // bonus for substring starting on a beginningIndex
-
- score -= (targetLen - searchLen)/2 // penality for longer targets
-
- return score
- }
-
- if(!successStrict) {
- if(isSubstring) for(var i=0; i {
- var seen_indexes = new Set()
- var score = 0
- var result = NULL
-
- var first_seen_index_last_search = 0
- var searches = preparedSearch.spaceSearches
- var searchesLen = searches.length
- var changeslen = 0
-
- // Return _nextBeginningIndexes back to its normal state
- var resetNextBeginningIndexes = () => {
- for(let i=changeslen-1; i>=0; i--) target._nextBeginningIndexes[nextBeginningIndexesChanges[i*2 + 0]] = nextBeginningIndexesChanges[i*2 + 1]
- }
-
- var hasAtLeast1Match = false
- for(var i=0; i=0; i--) {
- if(toReplace !== target._nextBeginningIndexes[i]) break
- target._nextBeginningIndexes[i] = newBeginningIndex
- nextBeginningIndexesChanges[changeslen*2 + 0] = i
- nextBeginningIndexesChanges[changeslen*2 + 1] = toReplace
- changeslen++
- }
- }
- }
-
- score += result._score / searchesLen
- allowPartialMatchScores[i] = result._score / searchesLen
-
- // dock points based on order otherwise "c man" returns Manifest.cpp instead of CheatManager.h
- if(result._indexes[0] < first_seen_index_last_search) {
- score -= (first_seen_index_last_search - result._indexes[0]) * 2
- }
- first_seen_index_last_search = result._indexes[0]
-
- for(var j=0; j score) {
- if(allowPartialMatch) {
- for(var i=0; i str.replace(/\p{Script=Latin}+/gu, match => match.normalize('NFD')).replace(/[\u0300-\u036f]/g, '')
-
-var prepareLowerInfo = (str) => {
- str = remove_accents(str)
- var strLen = str.length
- var lower = str.toLowerCase()
- var lowerCodes = [] // new Array(strLen) sparse array is too slow
- var bitflags = 0
- var containsSpace = false // space isn't stored in bitflags because of how searching with a space works
-
- for(var i = 0; i < strLen; ++i) {
- var lowerCode = lowerCodes[i] = lower.charCodeAt(i)
-
- if(lowerCode === 32) {
- containsSpace = true
- continue // it's important that we don't set any bitflags for space
- }
-
- var bit = lowerCode>=97&&lowerCode<=122 ? lowerCode-97 // alphabet
- : lowerCode>=48&&lowerCode<=57 ? 26 // numbers
- // 3 bits available
- : lowerCode<=127 ? 30 // other ascii
- : 31 // other utf8
- bitflags |= 1< {
- var targetLen = target.length
- var beginningIndexes = []; var beginningIndexesLen = 0
- var wasUpper = false
- var wasAlphanum = false
- for(var i = 0; i < targetLen; ++i) {
- var targetCode = target.charCodeAt(i)
- var isUpper = targetCode>=65&&targetCode<=90
- var isAlphanum = isUpper || targetCode>=97&&targetCode<=122 || targetCode>=48&&targetCode<=57
- var isBeginning = isUpper && !wasUpper || !wasAlphanum || !isAlphanum
- wasUpper = isUpper
- wasAlphanum = isAlphanum
- if(isBeginning) beginningIndexes[beginningIndexesLen++] = i
- }
- return beginningIndexes
-}
-var prepareNextBeginningIndexes = (target) => {
- target = remove_accents(target)
- var targetLen = target.length
- var beginningIndexes = prepareBeginningIndexes(target)
- var nextBeginningIndexes = [] // new Array(targetLen) sparse array is too slow
- var lastIsBeginning = beginningIndexes[0]
- var lastIsBeginningI = 0
- for(var i = 0; i < targetLen; ++i) {
- if(lastIsBeginning > i) {
- nextBeginningIndexes[i] = lastIsBeginning
- } else {
- lastIsBeginning = beginningIndexes[++lastIsBeginningI]
- nextBeginningIndexes[i] = lastIsBeginning===undefined ? targetLen : lastIsBeginning
- }
- }
- return nextBeginningIndexes
-}
-
-var preparedCache = new Map()
-var preparedSearchCache = new Map()
-
-// the theory behind these being globals is to reduce garbage collection by not making new arrays
-var matchesSimple = []; var matchesStrict = []
-var nextBeginningIndexesChanges = [] // allows straw berry to match strawberry well, by modifying the end of a substring to be considered a beginning index for the rest of the search
-var keysSpacesBestScores = []; var allowPartialMatchScores = []
-var tmpTargets = []; var tmpResults = []
-
-// prop = 'key' 2.5ms optimized for this case, seems to be about as fast as direct obj[prop]
-// prop = 'key1.key2' 10ms
-// prop = ['key1', 'key2'] 27ms
-// prop = obj => obj.tags.join() ??ms
-var getValue = (obj, prop) => {
- var tmp = obj[prop]; if(tmp !== undefined) return tmp
- if(typeof prop === 'function') return prop(obj) // this should run first. but that makes string props slower
- var segs = prop
- if(!Array.isArray(prop)) segs = prop.split('.')
- var len = segs.length
- var i = -1
- while (obj && (++i < len)) obj = obj[segs[i]]
- return obj
-}
-
-var isPrepared = (x) => { return typeof x === 'object' && typeof x._bitflags === 'number' }
-var INFINITY = Infinity; var NEGATIVE_INFINITY = -INFINITY
-var noResults = []; noResults.total = 0
-var NULL = null
-
-var noTarget = prepare('')
-
-// Hacked version of https://github.com/lemire/FastPriorityQueue.js
-var fastpriorityqueue=r=>{var e=[],o=0,a={},v=r=>{for(var a=0,v=e[a],c=1;c>1]=e[a],c=1+(a<<1)}for(var f=a-1>>1;a>0&&v._score>1)e[a]=e[f];e[a]=v};return a.add=(r=>{var a=o;e[o++]=r;for(var v=a-1>>1;a>0&&r._score>1)e[a]=e[v];e[a]=r}),a.poll=(r=>{if(0!==o){var a=e[0];return e[0]=e[--o],v(),a}}),a.peek=(r=>{if(0!==o)return e[0]}),a.replaceTop=(r=>{e[0]=r,v()}),a}
-var q = fastpriorityqueue() // reuse this
\ No newline at end of file
diff --git a/.setup/managed/quickshell/utils/qmldir b/.setup/managed/quickshell/utils/qmldir
deleted file mode 100644
index cd44172..0000000
--- a/.setup/managed/quickshell/utils/qmldir
+++ /dev/null
@@ -1,3 +0,0 @@
-module Utils
-singleton Fuzzy 1.0 Fuzzy.qml
-singleton AppSearch 1.0 AppSearch.qml
\ No newline at end of file
diff --git a/index.nix b/configuration.nix
similarity index 92%
rename from index.nix
rename to configuration.nix
index d70a4c6..dc8dc53 100644
--- a/index.nix
+++ b/configuration.nix
@@ -5,8 +5,7 @@
imports = [
./modules/index.nix
- /etc/nixos/hardware-configuration.nix
- # ./machines/index.nix
+ ./machines/index.nix
];
nixpkgs = {
diff --git a/flake.nix b/flake.nix
index ce481ff..dbdc70a 100644
--- a/flake.nix
+++ b/flake.nix
@@ -28,9 +28,7 @@
system = "x86_64-linux";
specialArgs = { inherit inputs variables; };
modules = [
- ./index.nix
-# ./machines/${variables.hostname}.nix
-# ./modules/index.nix
+ ./configuration.nix
nixos-hardware.nixosModules.${variables.hardware}
];
};