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<author>[^_]+)", - "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 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<cphistory> - <operations /> - <params /> -</cphistory> 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 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<inkscape - version="1"> - <group - id="window"> - <group - id="menu" - state="1" /> - <group - id="commands" - state="1" /> - <group - id="snaptoolbox" - state="1" /> - <group - id="toppanel" - state="1" /> - <group - id="toolbox" - state="1" /> - <group - id="statusbar" - state="1" /> - <group - id="panels" - state="1" /> - <group - id="rulers" - state="1" /> - <group - id="scrollbars" - state="1" /> - </group> - <group - id="fullscreen"> - <group - id="menu" - state="1" /> - <group - id="commands" - state="1" /> - <group - id="snaptoolbox" - state="1" /> - <group - id="toppanel" - state="1" /> - <group - id="toolbox" - state="1" /> - <group - id="statusbar" - state="1" /> - <group - id="panels" - state="1" /> - <group - id="rulers" - state="1" /> - <group - id="scrollbars" - state="1" /> - </group> - <group - id="focus"> - <group - id="menu" - state="0" /> - <group - id="commands" - state="0" /> - <group - id="snaptoolbox" - state="0" /> - <group - id="toppanel" - state="0" /> - <group - id="toolbox" - state="0" /> - <group - id="statusbar" - state="0" /> - <group - id="panels" - state="0" /> - <group - id="rulers" - state="0" /> - <group - id="scrollbars" - state="0" /> - </group> - <group - id="template"> - <group - id="base" - pagecolor="#ffffff" - deskcolor="#d1d1d1" - pageopacity="0.0" - pagecheckerboard="0" - bordercolor="#000000" - borderopacity="0.25" - objecttolerance="10.0" - gridtolerance="10.0" - guidetolerance="10.0" - pageshadow="2" /> - </group> - <group - id="tools" - bounding_box="0"> - <group - id="shapes" - style="fill-rule:evenodd;" - selcue="1" - gradientdrag="1"> - <eventcontext - id="rect" - style="fill:blue;" - usecurrent="1" /> - <eventcontext - id="3dbox" - style="stroke:none;stroke-linejoin:round;" - usecurrent="1"> - <side - id="XYfront" - style="fill:#8686bf;stroke:none;stroke-linejoin:round;" - usecurrent="0" /> - <side - id="XYrear" - style="fill:#e9e9ff;stroke:none;stroke-linejoin:round;" - usecurrent="0" /> - <side - id="XZtop" - style="fill:#4d4d9f;stroke:none;stroke-linejoin:round;" - usecurrent="0" /> - <side - id="XZbottom" - style="fill:#afafde;stroke:none;stroke-linejoin:round;" - usecurrent="0" /> - <side - id="YZright" - style="fill:#353564;stroke:none;stroke-linejoin:round;" - usecurrent="0" /> - <side - id="YZleft" - style="fill:#d7d7ff;stroke:none;stroke-linejoin:round;" - usecurrent="0" /> - </eventcontext> - <eventcontext - id="arc" - style="fill:red;" - end="0" - start="0" - usecurrent="1" /> - <eventcontext - id="star" - magnitude="5" - style="fill:yellow;" - usecurrent="1" /> - <eventcontext - id="spiral" - style="fill:none;stroke:black" - expansion="1" - usecurrent="0" /> - </group> - <group - id="freehand" - style="fill:none;stroke:black;stroke-opacity:1;stroke-linejoin:miter;stroke-linecap:butt;"> - <eventcontext - id="pencil" - tolerance="15.0" - selcue="1" - style="stroke-width:1px;" - usecurrent="1" - average_all_sketches="1" - freehand-mode="0" - pressure="0" /> - <eventcontext - id="pen" - mode="drag" - selcue="1" - style="stroke-width:1px;" - usecurrent="1" - freehand-mode="3" /> - </group> - <eventcontext - id="calligraphic" - style="fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;" - mass="2" - angle="90" - width="15.1181102362205" - thinning="0" - flatness="0" - cap_rounding="1" - usecurrent="1" - tracebackground="0" - usepressure="0" - usetilt="0" - keep_selected="1" - abs_width="1" - unit="mm" - wiggle="0" - tremor="0"> - <group - id="preset"> - <group - id="cp0" - name="Dip pen" - mass="2" - wiggle="0.0" - angle="30.0" - thinning="10" - tremor="0.0" - flatness="-90" - cap_rounding="0.0" - tracebackground="0" - usepressure="1" - usetilt="1" /> - <group - id="cp1" - name="Marker" - mass="2" - wiggle="0.0" - angle="90.0" - thinning="0.0" - tremor="0.0" - flatness="0.0" - cap_rounding="1.0" - tracebackground="0" - usepressure="0" - usetilt="0" /> - <group - id="cp2" - name="Brush" - mass="2" - wiggle="25" - angle="45.0" - thinning="-40" - tremor="0.0" - flatness="16" - cap_rounding=".1" - tracebackground="0" - usepressure="1" - usetilt="1" /> - <group - id="cp3" - name="Wiggly" - usetilt="1" - tracebackground="0" - usepressure="1" - cap_rounding="0.1" - flatness="16" - tremor="18" - thinning="-30" - angle="30" - wiggle="50" - mass="0" /> - <group - id="cp4" - name="Splotch" - width="100" - usetilt="1" - tracebackground="0" - usepressure="0" - cap_rounding="1" - flatness="0" - tremor="10" - thinning="30" - angle="30" - wiggle="0" - mass="0" /> - <group - id="cp5" - name="Tracing" - width="50" - mass="0" - wiggle="0.0" - angle="0.0" - thinning="0.0" - tremor="0.0" - flatness="0" - cap_rounding="0.0" - tracebackground="1" - usepressure="1" - usetilt="1" /> - </group> - </eventcontext> - <eventcontext - id="eraser" - mode="1" - style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;" - mass="3.00" - drag="1" - angle="30" - width="10" - thinning="0.1" - flatness="0.0" - cap_rounding="1.4" - usecurrent="0" - tracebackground="0" - usepressure="1" - usetilt="0" - selcue="1" /> - <eventcontext - id="lpetool" - mode="drag" - style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;" - unit="px" /> - <eventcontext - id="text" - usecurrent="1" - gradientdrag="1" - font_sample="AaBbCcIiPpQq12369$€¢?.;/()" - show_sample_in_list="1" - use_svg2="1" - style="line-height:1.25;font-family:sans-serif;font-size:40px;text-orientation:auto" - selcue="1" - align_mode="0" - writing_mode="0" - orientation_mode="0" - direction_mode="0" /> - <eventcontext - id="nodes" - selcue="1" - gradientdrag="1" - pathflash_enabled="1" - pathflash_unselected="0" - pathflash_timeout="500" - show_handles="1" - show_outline="0" - sculpting_profile="1" - single_node_transform_handles="0" - show_transform_handles="0" - live_outline="1" - live_objects="1" - show_helperpath="0" - edit_clipping_paths="0" - edit_masks="0" /> - <eventcontext - id="marker" - selcue="1" - gradientdrag="1" /> - <eventcontext - id="tweak" - selcue="0" - gradientdrag="0" - show_handles="0" - width="0.2" - force="0.2" - fidelity="0.5" - usepressure="1" - style="fill:red;stroke:none;" - usecurrent="1" - mode="0" - doh="1" - dos="1" - dol="1" - doo="1" /> - <eventcontext - id="spray" - selcue="1" - gradientdrag="0" - usepressure="1" - width="15" - population="70" - mode="1" - rotation_variation="0" - scale_variation="0" - standard_deviation="70" - mean="0" /> - <eventcontext - id="gradient" - selcue="1" - newgradient="1" - newfillorstroke="1" /> - <eventcontext - id="mesh" - selcue="1" /> - <eventcontext - id="zoom" - selcue="1" - gradientdrag="0" /> - <eventcontext - id="dropper" - selcue="1" - gradientdrag="1" - pick="1" - setalpha="1" /> - <eventcontext - id="select" - selcue="1" - gradientdrag="0" - changelayer="1" - changepage="1" /> - <eventcontext - id="connector" - style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-linejoin:miter;stroke-width:1px;stroke-linecap:butt;" - selcue="1" - curvature="0" /> - <eventcontext - id="paintbucket" - style="fill:#a0a0a0;stroke:none;" - usecurrent="1" /> - <group - id="geometric" - mode="drag" /> - <group - id="picker" /> - </group> - <group - id="palette"> - <group - id="dashes"> - <dash - id="solid" - style="stroke-dasharray:none" /> - <dash - id="dash-1-1" - style="stroke-dasharray:1,1" /> - <dash - id="dash-1-2" - style="stroke-dasharray:1,2" /> - <dash - id="dash-1-3" - style="stroke-dasharray:1,3" /> - <dash - id="dash-1-4" - style="stroke-dasharray:1,4" /> - <dash - id="dash-1-6" - style="stroke-dasharray:1,6" /> - <dash - id="dash-1-8" - style="stroke-dasharray:1,8" /> - <dash - id="dash-1-12" - style="stroke-dasharray:1,12" /> - <dash - id="dash-1-24" - style="stroke-dasharray:1,24" /> - <dash - id="dash-1-48" - style="stroke-dasharray:1,48" /> - <dash - id="dash-empty" - style="stroke-dasharray:0 11" /> - <dash - id="dash-2-1" - style="stroke-dasharray:2,1" /> - <dash - id="dash-3-1" - style="stroke-dasharray:3,1" /> - <dash - id="dash-4-1" - style="stroke-dasharray:4,1" /> - <dash - id="dash-6-1" - style="stroke-dasharray:6,1" /> - <dash - id="dash-8-1" - style="stroke-dasharray:8,1" /> - <dash - id="dash-12-1" - style="stroke-dasharray:12,1" /> - <dash - id="dash-24-1" - style="stroke-dasharray:24,1" /> - <dash - id="dash-2-2" - style="stroke-dasharray:2,2" /> - <dash - id="dash-3-3" - style="stroke-dasharray:3,3" /> - <dash - id="dash-4-4" - style="stroke-dasharray:4,4" /> - <dash - id="dash-6-6" - style="stroke-dasharray:6,6" /> - <dash - id="dash-8-8" - style="stroke-dasharray:8,8" /> - <dash - id="dash-12-12" - style="stroke-dasharray:12,12" /> - <dash - id="dash-24-24" - style="stroke-dasharray:24,24" /> - <dash - id="dash-2-4" - style="stroke-dasharray:2,4" /> - <dash - id="dash-4-2" - style="stroke-dasharray:4,2" /> - <dash - id="dash-2-6" - style="stroke-dasharray:2,6" /> - <dash - id="dash-6-2" - style="stroke-dasharray:6,2" /> - <dash - id="dash-4-8" - style="stroke-dasharray:4,8" /> - <dash - id="dash-8-4" - style="stroke-dasharray:8,4" /> - <dash - id="dash-2-1-012-1" - style="stroke-dasharray:2,1,0.5,1" /> - <dash - id="dash-4-2-1-2" - style="stroke-dasharray:4,2,1,2" /> - <dash - id="dash-8-2-1-2" - style="stroke-dasharray:8,2,1,2" /> - <dash - id="dash-012-012" - style="stroke-dasharray:0.5,0.5" /> - <dash - id="dash-014-014" - style="stroke-dasharray:0.25,0.25" /> - <dash - id="dash-0110-0110" - style="stroke-dasharray:0.1,0.1" /> - </group> - </group> - <group - id="colorselector" - page="1" - switcher="1"> - <group - id="RGB" - visible="1" /> - <group - id="HSL" - visible="1" /> - <group - id="CMYK" - visible="1" /> - <group - id="HSV" - visible="1" /> - <group - id="HSLuv" - visible="1" /> - <group - id="OKLAB" - visible="1" /> - <group - id="CMS" - visible="1" /> - <group - id="OKHSL" /> - </group> - <group - id="embedded"> - <group - id="swatches" - panel_size="1" - panel_mode="1" - panel_ratio="100" - panel_wrap="0" - palette="Inkscape default"> - <group - id="pinned" - none="1" - rgb000000="1" - black="1" - rgb808080="1" - gray-50="1" - rgbffffff="1" - white="1" /> - </group> - </group> - <group - id="dialogs"> - <group - id="toolbox" /> - <group - id="fillstroke" - page="1" /> - <group - id="filtereffects" /> - <group - id="textandfont" /> - <group - id="transformation" - applyseparately="0" /> - <group - id="align" /> - <group - id="xml" - h="500" - w="300" /> - <group - id="find" /> - <group - id="spellcheck" - w="200" - h="250" - ignorenumbers="1" /> - <group - id="documentoptions" - state="1" /> - <group - id="preferences" - state="1" - page="14" /> - <group - id="gradienteditor" /> - <group - id="object" /> - <group - id="export" - default="" - append_extension="1" - path=""> - <group - id="exportarea" /> - <group - id="defaultxdpi" /> - </group> - <group - id="save_as" - default="org.inkscape.output.svg.inkscape" - append_extension="1" - enable_preview="1" - path="" - use_current_dir="1" - enable_svgexport="0" /> - <group - id="save_copy" - default="" - append_extension="1" - enable_preview="1" - path="" /> - <group - id="open" - enable_preview="1" - path="" /> - <group - id="import" - enable_preview="1" - path="" - ask="1" - ask_svg="1" - link="embed" - scale="auto" - forcexdpi="0" /> - <group - id="clonetiler" - dotrace="0" /> - <group - id="gridtiler" /> - <group - id="extension-error" - show-on-startup="0" /> - <group - id="memory" /> - <group - id="messages" /> - <group - id="swatches" - palette="Auto" /> - <group - id="iconpreview" /> - <group - id="aboutextensions" /> - <group - id="treeeditor" /> - <group - id="layers" - maxDepth="20" - w="200" - h="300" /> - <group - id="trace" - state="1" /> - <group - id="script" /> - <group - id="input" /> - <group - id="colorpickerwindow" /> - <group - id="undo-history" /> - <group - id="objects" - expand_to_layer="1" /> - </group> - <group - id="printing"> - <settings - id="ps" /> - <group - id="debug" - add-label-comments="0" /> - </group> - <group - id="options" - rotationlock="1"> - <group - id="renderingcache" - size="512" /> - <group - id="useoldpdfexporter" - value="0" /> - <group - id="highlightoriginal" - value="1" /> - <group - id="relinkclonesonduplicate" - value="0" /> - <group - id="mapalt" - value="1" /> - <group - id="trackalt" - value="0" /> - <group - id="switchonextinput" - value="0" /> - <group - id="useextinput" - value="1" /> - <group - id="nudgedistance" - value="2px" /> - <group - id="rotationsnapsperpi" - value="12" /> - <group - id="cursortolerance" - value="8.0" /> - <group - id="dragtolerance" - value="4.0" /> - <group - id="grabsize" - value="4" /> - <group - id="displayprofile" - enable="0" - from_display="0" - intent="0" - uri="" /> - <group - id="softproof" - enable="0" - intent="0" - gamutcolor="#808080" - gamutwarn="0" - bpc="0" - uri="" /> - <group - id="savewindowgeometry" - value="1" /> - <group - id="defaultoffsetwidth" - value="2px" /> - <group - id="defaultscale" - value="2px" /> - <group - id="maxrecentdocuments" - value="36" /> - <group - id="zoomincrement" - value="1.414213562" /> - <group - id="zoomcorrection" - value="1.0" - unit="mm" /> - <group - id="keyscroll" - value="15" /> - <group - id="wheelscroll" - value="40" /> - <group - id="spacebarpans" - value="1" /> - <group - id="transientpolicy" - value="1" /> - <group - id="scrollingacceleration" - value="0.4" /> - <group - id="snapdelay" - value="0" /> - <group - id="snapweight" - value="0.5" /> - <group - id="snapclosestonly" - value="0" /> - <group - id="snapindicator" - value="1" /> - <group - id="autoscrollspeed" - value="0.7" /> - <group - id="autoscrolldistance" - value="-10" /> - <group - id="simplifythreshold" - value="0.002" /> - <group - id="bitmapeditor" - value="gimp" /> - <group - id="svgeditor" - value="inkscape" /> - <group - id="bitmapautoreload" - value="1" /> - <group - id="dialogtype" - value="1" /> - <group - id="dialogsskiptaskbar" - value="1" /> - <group - id="defaultwindowsize" - value="2" /> - <group - id="arenatilescachesize" - value="8192" /> - <group - id="preservetransform" - value="0" /> - <group - id="clonecompensation" - value="1" /> - <group - id="cloneorphans" - value="0" /> - <group - id="stickyzoom" - value="0" /> - <group - id="selcue" - value="2" /> - <group - id="transform" - stroke="1" - rectcorners="1" - pattern="1" - gradient="1" /> - <group - id="dash" - scale="1" /> - <group - id="kbselection" - inlayer="1" - onlyvisible="1" - onlysensitive="1" /> - <group - id="selection" - layerdeselect="1" /> - <group - id="createbitmap" /> - <group - id="compassangledisplay" - value="0" /> - <group - id="middlemousezoom" - value="1" /> - <group - id="maskobject" - topmost="1" - remove="1" /> - <group - id="blurquality" - value="0" /> - <group - id="filterquality" - value="1" /> - <group - id="startmode" - outline="0" /> - <group - id="outlinemode" - value="0" /> - <group - id="wireframecolors" - onlight="255" - ondark="4294967295" - images="4278190335" - clips="16711935" - masks="65535" /> - <group - id="svgoutput" - disable_optimizations="0" - usenamedcolors="0" - numericprecision="8" - minimumexponent="-8" - inlineattrs="0" - indent="2" - pathstring_format="2" - forcerepeatcommands="0" - incorrect_attributes_warn="1" - incorrect_attributes_remove="0" - incorrect_style_properties_warn="1" - incorrect_style_properties_remove="0" - style_defaults_warn="1" - style_defaults_remove="0" - check_on_reading="0" - check_on_editing="0" - check_on_writing="0" - sort_attributes="0" /> - <group - id="externalresources"> - <group - id="xml" - allow_net_access="0" /> - </group> - <group - id="forkgradientvectors" - value="1" /> - <group - id="autosave" - enable="1" - interval="10" - path="" - max="50" /> - <group - id="grids" - no_emphasize_when_zoomedout="0"> - <group - id="xy" - origin_x="0.0" - origin_y="0.0" - spacing_x="1.0" - spacing_y="1.0" - empspacing="5" - dotted="0" /> - <group - id="axonom" - units="mm" - origin_x="0.0" - origin_y="0.0" - spacing_y="1.0" - angle_x="30.0" - angle_z="30.0" - empspacing="5" /> - <group - id="modular" - units="mm" - origin_x="0.0" - origin_y="0.0" - spacing_x="40.0" - spacing_y="40.0" - gapx="10" - gapy="10" - marginx="0" - marginy="0" /> - </group> - <group - id="workarounds" - partialdynamic="0" /> - <group - id="font" - unitType="2" /> - <group - id="boot" - theme="colorful"> - <group - id="shown" - ver1.4="1" /> - </group> - <group - id="rendering" /> - <group - id="threading" /> - <group - id="ruler" /> - <group - id="snapping" - snap-bbox="1" - snap-bbox-edge="1" - snap-bbox-corner="1" - snap-bbox-edge-midpoint="0" - snap-bbox-center="0" - simple-snap-bbox="1" - snap-node-category="1" - snap-path="1" - snap-path-intersection="0" - snap-node-cusp="1" - snap-node-smooth="1" - snap-line-midpoint="1" - snap-line-tangential="0" - snap-line-perpendicular="0" - simple-snap-nodes="1" - snap-alignment="0" - snap-alignment-self="0" - snap-distribution="0" - simple-snap-alignment="0" - snap-others="1" - snap-object-midpoint="0" - snap-rotation-center="0" - snap-text-baseline="1" - snap-path-mask="1" - snap-path-clip="1" - snap-page-border="1" - snap-page-margin="1" - snap-grid="1" - snap-grid-line="1" - snap-guide="1" /> - </group> - <group - id="extensions" - org.inkscape.output.png.inkscape.png_bitdepth="99" - org.inkscape.output.png.inkscape.png_compression="6" - org.inkscape.output.png.inkscape.png_antialias="2" - org.inkscape.template.other.size="512.0" - org.inkscape.template.other.unit="px" - org.inkscape.template.from-file.filename="/nix/store/0nj9pq9vmknp0dgrm5fg60fq91613xpc-inkscape-with-extensions-1.4/share/inkscape/templates/about_screen.svg" /> - <group - id="desktop" - style="fill:#550000;text-orientation:auto"> - <group - width="1091" - height="563" - x="0" - y="0" - maximized="1" - fullscreen="0" - id="geometry" /> - <group - id="XYfront" /> - <group - id="XYrear" /> - <group - id="XZtop" /> - <group - id="XZbottom" /> - <group - id="YZleft" /> - <group - id="YZright" /> - </group> - <group - id="devices" /> - <group - id="toolbox" - icononly="1" - secondary="1" - simplesnap="1" - small="1"> - <group - id="tools" - icononly="1" - small="0" - iconsize="16" - width="26"> - <group - id="buttons" /> - </group> - <group - id="controlbars" - iconsize="16" /> - </group> - <group - id="statusbar"> - <group - id="visibility" /> - </group> - <group - id="iconpreview" - autoRefresh="1" - pack="1" - selectionHold="1" - showFrames="1" - selectionOnly="0"> - <group - id="sizes"> - <group - id="default"> - <group - value="16" - show="1" - id="size16" /> - <group - value="22" - show="0" - id="size22" /> - <group - value="24" - show="1" - id="size24" /> - <group - value="32" - show="1" - id="size32" /> - <group - value="48" - show="1" - id="size48" /> - <group - value="50" - show="0" - id="size50" /> - <group - value="64" - show="0" - id="size64" /> - <group - value="72" - show="0" - id="size72" /> - <group - value="80" - show="0" - id="size80" /> - <group - value="96" - show="0" - id="size96" /> - <group - value="128" - show="1" - id="size128" /> - <group - value="256" - show="0" - id="size256" /> - </group> - </group> - </group> - <group - id="debug" /> - <group - id="ui" - language="" /> - <group - id="live_effects" - flattening="0" /> - <group - id="theme" - defaultPreferDarkTheme="1" - defaultIconTheme="Mint-Y-Sand" - defaultGtkTheme="Mint-Y-Dark-Aqua" - narrowSpinButton="1" - preferDarkTheme="1" - darkTheme="1" - symbolicIcons="1" - symbolicDefaultBaseColors="0" - symbolicDefaultHighColors="0" - gtkTheme="Adwaita" - iconTheme="multicolor"> - <group - id="multicolor" - symbolicBaseColor="3958107135" - symbolicSuccessColor="10029823" - symbolicWarningColor="4279865599" - symbolicErrorColor="10086143" /> - </group> -</inkscape> 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 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> -<!-- - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . ---> -<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Module1" script:language="StarBasic">REM ***** BASIC ***** - -Sub Main - -End Sub</script:module> \ 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 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd"> -<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Standard" library:readonly="false" library:passwordprotected="false"/> 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 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd"> -<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Standard" library:readonly="false" library:passwordprotected="false"> - <library:element library:name="Module1"/> -</library:library> 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 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE library:libraries PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "libraries.dtd"> -<library:libraries xmlns:library="http://openoffice.org/2000/library" xmlns:xlink="http://www.w3.org/1999/xlink"> - <library:library library:name="Standard" library:link="false"/> -</library:libraries> 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 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE library:libraries PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "libraries.dtd"> -<library:libraries xmlns:library="http://openoffice.org/2000/library" xmlns:xlink="http://www.w3.org/1999/xlink"> - <library:library library:name="Standard" library:link="false"/> -</library:libraries> 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 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!--This is a generated file. Do not alter this file!--> -<java xmlns="http://openoffice.org/2004/java/framework/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> -<enabled xsi:nil="true"></enabled> -<userClassPath xsi:nil="true"></userClassPath> -<vmParameters xsi:nil="true"></vmParameters> -<jreLocations xsi:nil="true"></jreLocations> -<javaInfo xsi:nil="true"></javaInfo> -</java> 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 @@ -<?xml version="1.0"?> -<conf:configuration-backend-db xmlns:conf="http://openoffice.org/extensionmanager/configuration-registry/2010"/> 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 @@ -<?xml version="1.0"?> -<help:help-backend-db xmlns:help="http://openoffice.org/extensionmanager/help-registry/2010"/> 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 @@ -<?xml version="1.0"?> -<conf:configuration-backend-db xmlns:conf="http://openoffice.org/extensionmanager/configuration-registry/2010"/> 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 @@ -<?xml version="1.0"?> -<help:help-backend-db xmlns:help="http://openoffice.org/extensionmanager/help-registry/2010"/> 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 @@ -<?xml version="1.0"?> -<conf:configuration-backend-db xmlns:conf="http://openoffice.org/extensionmanager/configuration-registry/2010"/> 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 @@ -<?xml version="1.0"?> -<help:help-backend-db xmlns:help="http://openoffice.org/extensionmanager/help-registry/2010"/> 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 @@ -<?xml version="1.0" encoding="UTF-8"?> -<oor:items xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> -<item oor:path="/org.openoffice.Office.Common/Misc"><prop oor:name="FirstRun" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Office.Common/Misc"><prop oor:name="LastTipOfTheDayID" oor:op="fuse"><value>0</value></prop></item> -<item oor:path="/org.openoffice.Office.Common/Misc"><prop oor:name="LastTipOfTheDayShown" oor:op="fuse"><value>20345</value></prop></item> -<item oor:path="/org.openoffice.Office.Common/Misc"><prop oor:name="Persona" oor:op="fuse"><value>no</value></prop></item> -<item oor:path="/org.openoffice.Office.Common/Misc"><prop oor:name="PersonaSettings" oor:op="fuse"><value></value></prop></item> -<item oor:path="/org.openoffice.Office.Common/Misc"><prop oor:name="ShowTipOfTheDay" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.Common/Misc"><prop oor:name="UseOpenCL" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Office.Histories/Histories/org.openoffice.Office.Histories:HistoryInfo['PickList']/ItemList"><node oor:name="file:///home/mayday/Downloads/estradiol-calc.xlsx" oor:op="replace"><prop oor:name="Title" oor:op="fuse"><value>estradiol-calc</value></prop><prop oor:name="Filter" oor:op="fuse"><value>Calc MS Excel 2007 XML</value></prop><prop oor:name="Pinned" oor:op="fuse"><value xsi:nil="true"/></prop><prop oor:name="ReadOnly" oor:op="fuse"><value>false</value></prop><prop oor:name="Thumbnail" oor:op="fuse"><value>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</value></prop></node></item> -<item oor:path="/org.openoffice.Office.Histories/Histories/org.openoffice.Office.Histories:HistoryInfo['PickList']/ItemList"><node oor:name="file:///home/mayday/keys/dotfiles.pub" oor:op="replace"><prop oor:name="Title" oor:op="fuse"><value>dotfiles</value></prop><prop oor:name="Filter" oor:op="fuse"><value>Text</value></prop><prop oor:name="Pinned" oor:op="fuse"><value xsi:nil="true"/></prop><prop oor:name="ReadOnly" oor:op="fuse"><value>false</value></prop><prop oor:name="Thumbnail" oor:op="fuse"><value>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AGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACMEAwBghGAAAIwQDACAEYIBADBCMAAARggGAMAIwQAAGCEYAAAjBAMAYIRgAACMEAwAgBGCAQAwQjAAAEYIBgDACMEAABghGAAAIwQDAGCEYAAAjBAMAIARggEAMEIwAABGCAYAwAjBAAAYIRgAACP/F1GK4JBHheUuAAAAAElFTkSuQmCC</value></prop></node></item> -<item oor:path="/org.openoffice.Office.Histories/Histories/org.openoffice.Office.Histories:HistoryInfo['PickList']/OrderList"><node oor:name="0" oor:op="replace"><prop oor:name="HistoryItemRef" oor:op="fuse"><value>file:///home/mayday/Downloads/estradiol-calc.xlsx</value></prop></node></item> -<item oor:path="/org.openoffice.Office.Histories/Histories/org.openoffice.Office.Histories:HistoryInfo['PickList']/OrderList"><node oor:name="1" oor:op="replace"><prop oor:name="HistoryItemRef" oor:op="fuse"><value>file:///home/mayday/keys/dotfiles.pub</value></prop></node></item> -<item oor:path="/org.openoffice.Office.Logging/Settings"><node oor:name="unopkg" oor:op="replace"><prop oor:name="LogLevel" oor:op="fuse"><value>2147483647</value></prop><prop oor:name="DefaultHandler" oor:op="fuse"><value>com.sun.star.logging.FileHandler</value></prop><node oor:name="HandlerSettings"><prop oor:name="FileURL" oor:op="fuse"><value>$(userurl)/$(loggername).log</value></prop></node><prop oor:name="DefaultFormatter" oor:op="fuse"><value>com.sun.star.logging.PlainTextFormatter</value></prop><node oor:name="FormatterSettings"></node></node></item> -<item oor:path="/org.openoffice.Office.Recovery/RecoveryInfo"><prop oor:name="SessionData" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Office.Recovery/RecoveryList"><node oor:name="recovery_item_1" oor:op="remove"/></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/formatobjectbar']"><prop oor:name="ContextActive" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/formatobjectbar']"><prop oor:name="ContextSensitive" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/formatobjectbar']"><prop oor:name="DockPos" oor:op="fuse"><value>0,2</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/formatobjectbar']"><prop oor:name="Docked" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/formatobjectbar']"><prop oor:name="DockingArea" oor:op="fuse"><value>0</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/formatobjectbar']"><prop oor:name="HideFromToolbarMenu" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/formatobjectbar']"><prop oor:name="Locked" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/formatobjectbar']"><prop oor:name="NoClose" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/formatobjectbar']"><prop oor:name="Pos" oor:op="fuse"><value>2147483647,2147483647</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/formatobjectbar']"><prop oor:name="Size" oor:op="fuse"><value>0,0</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/formatobjectbar']"><prop oor:name="SoftClose" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/formatobjectbar']"><prop oor:name="Style" oor:op="fuse"><value>0</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/formatobjectbar']/UIName"><value xml:lang="en-US">Formatting</value></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/formatobjectbar']"><prop oor:name="Visible" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="ContextActive" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="ContextSensitive" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="DockPos" oor:op="fuse"><value>0,0</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="Docked" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="DockingArea" oor:op="fuse"><value>0</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="HideFromToolbarMenu" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="Locked" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="NoClose" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="Pos" oor:op="fuse"><value>2147483647,2147483647</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="Size" oor:op="fuse"><value>0,0</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="SoftClose" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="Style" oor:op="fuse"><value>0</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']/UIName"><value xml:lang="en-US">Standard</value></item> -<item oor:path="/org.openoffice.Office.UI.CalcWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="Visible" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/DeckList/org.openoffice.Office.UI.Sidebar:Deck['A11yCheckDeck']"><prop oor:name="ContextList" oor:op="fuse"><value><it>com.sun.star.text.TextDocument, any, visible</it><it>com.sun.star.text.GlobalDocument, any, visible</it><it>com.sun.star.text.WebDocument, any, visible</it><it>com.sun.star.xforms.XMLFormDocument, any, visible</it><it>com.sun.star.sdb.FormDesign, any, visible</it><it>com.sun.star.sdb.TextReportDesign, any, visible</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/DeckList/org.openoffice.Office.UI.Sidebar:Deck['FindDeck']"><prop oor:name="ContextList" oor:op="fuse"><value><it>com.sun.star.text.TextDocument, any, visible</it><it>com.sun.star.text.GlobalDocument, any, visible</it><it>com.sun.star.text.WebDocument, any, visible</it><it>com.sun.star.xforms.XMLFormDocument, any, visible</it><it>com.sun.star.sdb.FormDesign, any, visible</it><it>com.sun.star.sdb.TextReportDesign, any, visible</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/DeckList/org.openoffice.Office.UI.Sidebar:Deck['GalleryDeck']"><prop oor:name="ContextList" oor:op="fuse"><value><it>com.sun.star.sheet.SpreadsheetDocument, any, visible</it><it>com.sun.star.drawing.DrawingDocument, any, visible</it><it>com.sun.star.presentation.PresentationDocument, any, visible</it><it>com.sun.star.text.TextDocument, any, visible</it><it>com.sun.star.text.GlobalDocument, any, visible</it><it>com.sun.star.text.WebDocument, any, visible</it><it>com.sun.star.xforms.XMLFormDocument, any, visible</it><it>com.sun.star.sdb.FormDesign, any, visible</it><it>com.sun.star.sdb.TextReportDesign, any, visible</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/DeckList/org.openoffice.Office.UI.Sidebar:Deck['InspectorDeck']"><prop oor:name="ContextList" oor:op="fuse"><value><it>com.sun.star.text.TextDocument, any, visible</it><it>com.sun.star.text.GlobalDocument, any, visible</it><it>com.sun.star.text.WebDocument, any, visible</it><it>com.sun.star.xforms.XMLFormDocument, any, visible</it><it>com.sun.star.sdb.FormDesign, any, visible</it><it>com.sun.star.sdb.TextReportDesign, any, visible</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/DeckList/org.openoffice.Office.UI.Sidebar:Deck['NavigatorDeck']"><prop oor:name="ContextList" oor:op="fuse"><value><it>com.sun.star.sheet.SpreadsheetDocument, any, visible</it><it>com.sun.star.drawing.DrawingDocument, any, visible</it><it>com.sun.star.presentation.PresentationDocument, any, visible</it><it>com.sun.star.text.TextDocument, any, visible</it><it>com.sun.star.text.GlobalDocument, any, visible</it><it>com.sun.star.text.WebDocument, any, visible</it><it>com.sun.star.xforms.XMLFormDocument, any, visible</it><it>com.sun.star.sdb.FormDesign, any, visible</it><it>com.sun.star.sdb.TextReportDesign, any, visible</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/DeckList/org.openoffice.Office.UI.Sidebar:Deck['PropertyDeck']"><prop oor:name="ContextList" oor:op="fuse"><value><it>any, any, visible</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/DeckList/org.openoffice.Office.UI.Sidebar:Deck['ScFunctionsDeck']"><prop oor:name="ContextList" oor:op="fuse"><value><it>com.sun.star.sheet.SpreadsheetDocument, any, visible</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/DeckList/org.openoffice.Office.UI.Sidebar:Deck['StyleListDeck']"><prop oor:name="ContextList" oor:op="fuse"><value><it>com.sun.star.sheet.SpreadsheetDocument, any, visible</it><it>com.sun.star.drawing.DrawingDocument, any, visible</it><it>com.sun.star.presentation.PresentationDocument, any, visible</it><it>com.sun.star.text.TextDocument, any, visible</it><it>com.sun.star.text.GlobalDocument, any, visible</it><it>com.sun.star.text.WebDocument, any, visible</it><it>com.sun.star.xforms.XMLFormDocument, any, visible</it><it>com.sun.star.sdb.FormDesign, any, visible</it><it>com.sun.star.sdb.TextReportDesign, any, visible</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/DeckList/org.openoffice.Office.UI.Sidebar:Deck['SwManageChangesDeck']"><prop oor:name="ContextList" oor:op="fuse"><value><it>com.sun.star.text.TextDocument, Annotation, visible</it><it>com.sun.star.text.GlobalDocument, Annotation, visible</it><it>com.sun.star.text.WebDocument, Annotation, visible</it><it>com.sun.star.xforms.XMLFormDocument, Annotation, visible</it><it>com.sun.star.sdb.FormDesign, Annotation, visible</it><it>com.sun.star.sdb.TextReportDesign, Annotation, visible</it><it>com.sun.star.text.TextDocument, DrawText, visible</it><it>com.sun.star.text.GlobalDocument, DrawText, visible</it><it>com.sun.star.text.WebDocument, DrawText, visible</it><it>com.sun.star.xforms.XMLFormDocument, DrawText, visible</it><it>com.sun.star.sdb.FormDesign, DrawText, visible</it><it>com.sun.star.sdb.TextReportDesign, DrawText, visible</it><it>com.sun.star.text.TextDocument, Table, visible</it><it>com.sun.star.text.GlobalDocument, Table, visible</it><it>com.sun.star.text.WebDocument, Table, visible</it><it>com.sun.star.xforms.XMLFormDocument, Table, visible</it><it>com.sun.star.sdb.FormDesign, Table, visible</it><it>com.sun.star.sdb.TextReportDesign, Table, visible</it><it>com.sun.star.text.TextDocument, Text, visible</it><it>com.sun.star.text.GlobalDocument, Text, visible</it><it>com.sun.star.text.WebDocument, Text, visible</it><it>com.sun.star.xforms.XMLFormDocument, Text, visible</it><it>com.sun.star.sdb.FormDesign, Text, visible</it><it>com.sun.star.sdb.TextReportDesign, Text, visible</it><it>com.sun.star.text.TextDocument, default, visible</it><it>com.sun.star.text.GlobalDocument, default, visible</it><it>com.sun.star.text.WebDocument, default, visible</it><it>com.sun.star.xforms.XMLFormDocument, default, visible</it><it>com.sun.star.sdb.FormDesign, default, visible</it><it>com.sun.star.sdb.TextReportDesign, default, visible</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/DeckList/org.openoffice.Office.UI.Sidebar:Deck['WriterPageDeck']"><prop oor:name="ContextList" oor:op="fuse"><value><it>com.sun.star.text.TextDocument, any, visible</it><it>com.sun.star.text.GlobalDocument, any, visible</it><it>com.sun.star.text.WebDocument, any, visible</it><it>com.sun.star.xforms.XMLFormDocument, any, visible</it><it>com.sun.star.sdb.FormDesign, any, visible</it><it>com.sun.star.sdb.TextReportDesign, any, visible</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content"><prop oor:name="LastActiveDeck" oor:op="fuse"><value><it>any,PropertyDeck</it><it>com.sun.star.formula.FormulaProperties,ElementsDeck</it><it>com.sun.star.sheet.SpreadsheetDocument,PropertyDeck</it><it>com.sun.star.text.TextDocument,PropertyDeck</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/PanelList/org.openoffice.Office.UI.Sidebar:Panel['ParaPropertyPanel']"><prop oor:name="ContextList" oor:op="fuse"><value><it>com.sun.star.sheet.SpreadsheetDocument, DrawText, visible, .uno:ParagraphDialog</it><it>com.sun.star.sheet.SpreadsheetDocument, DrawLine, hidden, .uno:ParagraphDialog</it><it>com.sun.star.drawing.DrawingDocument, DrawLine, hidden, .uno:ParagraphDialog</it><it>com.sun.star.presentation.PresentationDocument, DrawLine, hidden, .uno:ParagraphDialog</it><it>com.sun.star.drawing.DrawingDocument, 3DObject, hidden, .uno:ParagraphDialog</it><it>com.sun.star.presentation.PresentationDocument, 3DObject, hidden, .uno:ParagraphDialog</it><it>com.sun.star.drawing.DrawingDocument, Draw, hidden, .uno:ParagraphDialog</it><it>com.sun.star.presentation.PresentationDocument, Draw, hidden, .uno:ParagraphDialog</it><it>com.sun.star.drawing.DrawingDocument, DrawFontwork, hidden, .uno:ParagraphDialog</it><it>com.sun.star.presentation.PresentationDocument, DrawFontwork, hidden, .uno:ParagraphDialog</it><it>com.sun.star.drawing.DrawingDocument, DrawText, visible, .uno:ParagraphDialog</it><it>com.sun.star.presentation.PresentationDocument, DrawText, visible, .uno:ParagraphDialog</it><it>com.sun.star.drawing.DrawingDocument, Graphic, hidden, .uno:ParagraphDialog</it><it>com.sun.star.presentation.PresentationDocument, Graphic, hidden, .uno:ParagraphDialog</it><it>com.sun.star.drawing.DrawingDocument, Table, visible, .uno:ParagraphDialog</it><it>com.sun.star.presentation.PresentationDocument, Table, visible, .uno:ParagraphDialog</it><it>com.sun.star.drawing.DrawingDocument, TextObject, visible, .uno:ParagraphDialog</it><it>com.sun.star.presentation.PresentationDocument, TextObject, visible, .uno:ParagraphDialog</it><it>com.sun.star.text.TextDocument, Annotation, visible, .uno:ParagraphDialog</it><it>com.sun.star.text.GlobalDocument, Annotation, visible, .uno:ParagraphDialog</it><it>com.sun.star.text.WebDocument, Annotation, visible, .uno:ParagraphDialog</it><it>com.sun.star.xforms.XMLFormDocument, Annotation, visible, .uno:ParagraphDialog</it><it>com.sun.star.sdb.FormDesign, Annotation, visible, .uno:ParagraphDialog</it><it>com.sun.star.sdb.TextReportDesign, Annotation, visible, .uno:ParagraphDialog</it><it>com.sun.star.text.TextDocument, DrawText, visible, .uno:ParagraphDialog</it><it>com.sun.star.text.GlobalDocument, DrawText, visible, .uno:ParagraphDialog</it><it>com.sun.star.text.WebDocument, DrawText, visible, .uno:ParagraphDialog</it><it>com.sun.star.xforms.XMLFormDocument, DrawText, visible, .uno:ParagraphDialog</it><it>com.sun.star.sdb.FormDesign, DrawText, visible, .uno:ParagraphDialog</it><it>com.sun.star.sdb.TextReportDesign, DrawText, visible, .uno:ParagraphDialog</it><it>com.sun.star.text.TextDocument, Table, visible, .uno:ParagraphDialog</it><it>com.sun.star.text.GlobalDocument, Table, visible, .uno:ParagraphDialog</it><it>com.sun.star.text.WebDocument, Table, visible, .uno:ParagraphDialog</it><it>com.sun.star.xforms.XMLFormDocument, Table, visible, .uno:ParagraphDialog</it><it>com.sun.star.sdb.FormDesign, Table, visible, .uno:ParagraphDialog</it><it>com.sun.star.sdb.TextReportDesign, Table, visible, .uno:ParagraphDialog</it><it>com.sun.star.text.TextDocument, Text, visible, .uno:ParagraphDialog</it><it>com.sun.star.text.GlobalDocument, Text, visible, .uno:ParagraphDialog</it><it>com.sun.star.text.WebDocument, Text, visible, .uno:ParagraphDialog</it><it>com.sun.star.xforms.XMLFormDocument, Text, visible, .uno:ParagraphDialog</it><it>com.sun.star.sdb.FormDesign, Text, visible, .uno:ParagraphDialog</it><it>com.sun.star.sdb.TextReportDesign, Text, visible, .uno:ParagraphDialog</it><it>com.sun.star.text.TextDocument, default, visible, .uno:ParagraphDialog</it><it>com.sun.star.text.GlobalDocument, default, visible, .uno:ParagraphDialog</it><it>com.sun.star.text.WebDocument, default, visible, .uno:ParagraphDialog</it><it>com.sun.star.xforms.XMLFormDocument, default, visible, .uno:ParagraphDialog</it><it>com.sun.star.sdb.FormDesign, default, visible, .uno:ParagraphDialog</it><it>com.sun.star.sdb.TextReportDesign, default, visible, .uno:ParagraphDialog</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/PanelList/org.openoffice.Office.UI.Sidebar:Panel['ScAlignmentPropertyPanel']"><prop oor:name="ContextList" oor:op="fuse"><value><it>com.sun.star.sheet.SpreadsheetDocument, Auditing, visible, .uno:Hyphenate</it><it>com.sun.star.sheet.SpreadsheetDocument, Cell, visible, .uno:Hyphenate</it><it>com.sun.star.sheet.SpreadsheetDocument, default, visible, .uno:Hyphenate</it><it>com.sun.star.sheet.SpreadsheetDocument, EditCell, visible, .uno:Hyphenate</it><it>com.sun.star.sheet.SpreadsheetDocument, Pivot, visible, .uno:Hyphenate</it><it>com.sun.star.sheet.SpreadsheetDocument, Sparkline, visible, .uno:Hyphenate</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/PanelList/org.openoffice.Office.UI.Sidebar:Panel['ScCellAppearancePropertyPanel']"><prop oor:name="ContextList" oor:op="fuse"><value><it>com.sun.star.sheet.SpreadsheetDocument, Auditing, visible, .uno:FormatCellDialog</it><it>com.sun.star.sheet.SpreadsheetDocument, Cell, visible, .uno:FormatCellDialog</it><it>com.sun.star.sheet.SpreadsheetDocument, EditCell, visible, .uno:FormatCellDialog</it><it>com.sun.star.sheet.SpreadsheetDocument, default, visible, .uno:FormatCellDialog</it><it>com.sun.star.sheet.SpreadsheetDocument, Pivot, visible, .uno:FormatCellDialog</it><it>com.sun.star.sheet.SpreadsheetDocument, Sparkline, visible, .uno:FormatCellDialog</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/PanelList/org.openoffice.Office.UI.Sidebar:Panel['ScNumberFormatPropertyPanel']"><prop oor:name="ContextList" oor:op="fuse"><value><it>com.sun.star.sheet.SpreadsheetDocument, Auditing, visible, .uno:FormatCellDialog</it><it>com.sun.star.sheet.SpreadsheetDocument, Cell, visible, .uno:FormatCellDialog</it><it>com.sun.star.sheet.SpreadsheetDocument, EditCell, visible, .uno:FormatCellDialog</it><it>com.sun.star.sheet.SpreadsheetDocument, default, visible, .uno:FormatCellDialog</it><it>com.sun.star.sheet.SpreadsheetDocument, Pivot, visible, .uno:FormatCellDialog</it><it>com.sun.star.sheet.SpreadsheetDocument, Sparkline, visible, .uno:FormatCellDialog</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/PanelList/org.openoffice.Office.UI.Sidebar:Panel['StylesPropertyPanel']"><prop oor:name="ContextList" oor:op="fuse"><value><it>com.sun.star.text.TextDocument, Annotation, visible, .uno:EditStyle</it><it>com.sun.star.text.GlobalDocument, Annotation, visible, .uno:EditStyle</it><it>com.sun.star.text.WebDocument, Annotation, visible, .uno:EditStyle</it><it>com.sun.star.xforms.XMLFormDocument, Annotation, visible, .uno:EditStyle</it><it>com.sun.star.sdb.FormDesign, Annotation, visible, .uno:EditStyle</it><it>com.sun.star.sdb.TextReportDesign, Annotation, visible, .uno:EditStyle</it><it>com.sun.star.text.TextDocument, DrawText, visible, .uno:EditStyle</it><it>com.sun.star.text.GlobalDocument, DrawText, visible, .uno:EditStyle</it><it>com.sun.star.text.WebDocument, DrawText, visible, .uno:EditStyle</it><it>com.sun.star.xforms.XMLFormDocument, DrawText, visible, .uno:EditStyle</it><it>com.sun.star.sdb.FormDesign, DrawText, visible, .uno:EditStyle</it><it>com.sun.star.sdb.TextReportDesign, DrawText, visible, .uno:EditStyle</it><it>com.sun.star.text.TextDocument, Table, visible, .uno:EditStyle</it><it>com.sun.star.text.GlobalDocument, Table, visible, .uno:EditStyle</it><it>com.sun.star.text.WebDocument, Table, visible, .uno:EditStyle</it><it>com.sun.star.xforms.XMLFormDocument, Table, visible, .uno:EditStyle</it><it>com.sun.star.sdb.FormDesign, Table, visible, .uno:EditStyle</it><it>com.sun.star.sdb.TextReportDesign, Table, visible, .uno:EditStyle</it><it>com.sun.star.text.TextDocument, Text, visible, .uno:EditStyle</it><it>com.sun.star.text.GlobalDocument, Text, visible, .uno:EditStyle</it><it>com.sun.star.text.WebDocument, Text, visible, .uno:EditStyle</it><it>com.sun.star.xforms.XMLFormDocument, Text, visible, .uno:EditStyle</it><it>com.sun.star.sdb.FormDesign, Text, visible, .uno:EditStyle</it><it>com.sun.star.sdb.TextReportDesign, Text, visible, .uno:EditStyle</it><it>com.sun.star.text.TextDocument, default, visible, .uno:EditStyle</it><it>com.sun.star.text.GlobalDocument, default, visible, .uno:EditStyle</it><it>com.sun.star.text.WebDocument, default, visible, .uno:EditStyle</it><it>com.sun.star.xforms.XMLFormDocument, default, visible, .uno:EditStyle</it><it>com.sun.star.sdb.FormDesign, default, visible, .uno:EditStyle</it><it>com.sun.star.sdb.TextReportDesign, default, visible, .uno:EditStyle</it><it>com.sun.star.sheet.SpreadsheetDocument, Auditing, visible, .uno:EditStyle</it><it>com.sun.star.sheet.SpreadsheetDocument, Cell, visible, .uno:EditStyle</it><it>com.sun.star.sheet.SpreadsheetDocument, default, visible, .uno:EditStyle</it><it>com.sun.star.sheet.SpreadsheetDocument, EditCell, visible, .uno:EditStyle</it><it>com.sun.star.sheet.SpreadsheetDocument, Pivot, visible, .uno:EditStyle</it><it>com.sun.star.sheet.SpreadsheetDocument, Sparkline, visible, .uno:EditStyle</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.Sidebar/Content/PanelList/org.openoffice.Office.UI.Sidebar:Panel['TextPropertyPanel']"><prop oor:name="ContextList" oor:op="fuse"><value><it>com.sun.star.sheet.SpreadsheetDocument, Auditing, visible, .uno:CellTextDlg</it><it>com.sun.star.sheet.SpreadsheetDocument, Cell, visible, .uno:CellTextDlg</it><it>com.sun.star.sheet.SpreadsheetDocument, default, visible, .uno:CellTextDlg</it><it>com.sun.star.sheet.SpreadsheetDocument, DrawText, visible, .uno:FontDialog</it><it>com.sun.star.sheet.SpreadsheetDocument, DrawLine, hidden, .uno:FontDialog</it><it>com.sun.star.sheet.SpreadsheetDocument, EditCell, visible, .uno:FontDialog</it><it>com.sun.star.sheet.SpreadsheetDocument, Pivot, visible, .uno:CellTextDlg</it><it>com.sun.star.sheet.SpreadsheetDocument, Sparkline, visible, .uno:FontDialog</it><it>com.sun.star.drawing.DrawingDocument, Draw, hidden, .uno:FontDialog</it><it>com.sun.star.presentation.PresentationDocument, Draw, hidden, .uno:FontDialog</it><it>com.sun.star.drawing.DrawingDocument, DrawFontwork, hidden, .uno:FontDialog</it><it>com.sun.star.presentation.PresentationDocument, DrawFontwork, hidden, .uno:FontDialog</it><it>com.sun.star.drawing.DrawingDocument, DrawText, visible, .uno:FontDialog</it><it>com.sun.star.presentation.PresentationDocument, DrawText, visible, .uno:FontDialog</it><it>com.sun.star.drawing.DrawingDocument, DrawLine, hidden, .uno:FontDialog</it><it>com.sun.star.presentation.PresentationDocument, DrawLine, hidden, .uno:FontDialog</it><it>com.sun.star.drawing.DrawingDocument, Graphic, hidden, .uno:FontDialog</it><it>com.sun.star.presentation.PresentationDocument, Graphic, hidden, .uno:FontDialog</it><it>com.sun.star.drawing.DrawingDocument, OutlineText, visible, .uno:FontDialog</it><it>com.sun.star.presentation.PresentationDocument, OutlineText, visible, .uno:FontDialog</it><it>com.sun.star.drawing.DrawingDocument, Table, visible, .uno:FontDialog</it><it>com.sun.star.presentation.PresentationDocument, Table, visible, .uno:FontDialog</it><it>com.sun.star.drawing.DrawingDocument, TextObject, visible, .uno:FontDialog</it><it>com.sun.star.presentation.PresentationDocument, TextObject, visible, .uno:FontDialog</it><it>com.sun.star.text.TextDocument, Annotation, visible, .uno:FontDialog</it><it>com.sun.star.text.GlobalDocument, Annotation, visible, .uno:FontDialog</it><it>com.sun.star.text.WebDocument, Annotation, visible, .uno:FontDialog</it><it>com.sun.star.xforms.XMLFormDocument, Annotation, visible, .uno:FontDialog</it><it>com.sun.star.sdb.FormDesign, Annotation, visible, .uno:FontDialog</it><it>com.sun.star.sdb.TextReportDesign, Annotation, visible, .uno:FontDialog</it><it>com.sun.star.text.TextDocument, DrawText, visible, .uno:FontDialog</it><it>com.sun.star.text.GlobalDocument, DrawText, visible, .uno:FontDialog</it><it>com.sun.star.text.WebDocument, DrawText, visible, .uno:FontDialog</it><it>com.sun.star.xforms.XMLFormDocument, DrawText, visible, .uno:FontDialog</it><it>com.sun.star.sdb.FormDesign, DrawText, visible, .uno:FontDialog</it><it>com.sun.star.sdb.TextReportDesign, DrawText, visible, .uno:FontDialog</it><it>com.sun.star.text.TextDocument, Table, visible, .uno:FontDialog</it><it>com.sun.star.text.GlobalDocument, Table, visible, .uno:FontDialog</it><it>com.sun.star.text.WebDocument, Table, visible, .uno:FontDialog</it><it>com.sun.star.xforms.XMLFormDocument, Table, visible, .uno:FontDialog</it><it>com.sun.star.sdb.FormDesign, Table, visible, .uno:FontDialog</it><it>com.sun.star.sdb.TextReportDesign, Table, visible, .uno:FontDialog</it><it>com.sun.star.text.TextDocument, Text, visible, .uno:FontDialog</it><it>com.sun.star.text.GlobalDocument, Text, visible, .uno:FontDialog</it><it>com.sun.star.text.WebDocument, Text, visible, .uno:FontDialog</it><it>com.sun.star.xforms.XMLFormDocument, Text, visible, .uno:FontDialog</it><it>com.sun.star.sdb.FormDesign, Text, visible, .uno:FontDialog</it><it>com.sun.star.sdb.TextReportDesign, Text, visible, .uno:FontDialog</it><it>com.sun.star.text.TextDocument, default, visible, .uno:FontDialog</it><it>com.sun.star.text.GlobalDocument, default, visible, .uno:FontDialog</it><it>com.sun.star.text.WebDocument, default, visible, .uno:FontDialog</it><it>com.sun.star.xforms.XMLFormDocument, default, visible, .uno:FontDialog</it><it>com.sun.star.sdb.FormDesign, default, visible, .uno:FontDialog</it><it>com.sun.star.sdb.TextReportDesign, default, visible, .uno:FontDialog</it></value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="ContextActive" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="ContextSensitive" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="DockPos" oor:op="fuse"><value>0,0</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="Docked" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="DockingArea" oor:op="fuse"><value>0</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="HideFromToolbarMenu" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="Locked" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="NoClose" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="Pos" oor:op="fuse"><value>2147483647,2147483647</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="Size" oor:op="fuse"><value>0,0</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="SoftClose" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="Style" oor:op="fuse"><value>0</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']/UIName"><value xml:lang="en-US">Standard</value></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/standardbar']"><prop oor:name="Visible" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/textobjectbar']"><prop oor:name="ContextActive" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/textobjectbar']"><prop oor:name="ContextSensitive" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/textobjectbar']"><prop oor:name="DockPos" oor:op="fuse"><value>0,1</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/textobjectbar']"><prop oor:name="Docked" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/textobjectbar']"><prop oor:name="DockingArea" oor:op="fuse"><value>0</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/textobjectbar']"><prop oor:name="HideFromToolbarMenu" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/textobjectbar']"><prop oor:name="Locked" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/textobjectbar']"><prop oor:name="NoClose" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/textobjectbar']"><prop oor:name="Pos" oor:op="fuse"><value>2147483647,2147483647</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/textobjectbar']"><prop oor:name="Size" oor:op="fuse"><value>0,0</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/textobjectbar']"><prop oor:name="SoftClose" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/textobjectbar']"><prop oor:name="Style" oor:op="fuse"><value>0</value></prop></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/textobjectbar']/UIName"><value xml:lang="en-US">Formatting</value></item> -<item oor:path="/org.openoffice.Office.UI.WriterWindowState/UIElements/States/org.openoffice.Office.UI.WindowState:WindowStateType['private:resource/toolbar/textobjectbar']"><prop oor:name="Visible" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Office.Views/Windows"><node oor:name="SplitWindow0" oor:op="replace"><prop oor:name="Visible" oor:op="fuse"><value xsi:nil="true"/></prop><node oor:name="UserData"><prop oor:name="UserItem" oor:op="fuse" oor:type="xs:string"><value>V1,2,0</value></prop></node><prop oor:name="WindowState" oor:op="fuse"><value xsi:nil="true"/></prop></node></item> -<item oor:path="/org.openoffice.Office.Views/Windows"><node oor:name="SplitWindow1" oor:op="replace"><prop oor:name="Visible" oor:op="fuse"><value xsi:nil="true"/></prop><node oor:name="UserData"><prop oor:name="UserItem" oor:op="fuse" oor:type="xs:string"><value>V1,2,0</value></prop></node><prop oor:name="WindowState" oor:op="fuse"><value xsi:nil="true"/></prop></node></item> -<item oor:path="/org.openoffice.Office.Views/Windows"><node oor:name="SplitWindow2" oor:op="replace"><prop oor:name="Visible" oor:op="fuse"><value xsi:nil="true"/></prop><node oor:name="UserData"><prop oor:name="UserItem" oor:op="fuse" oor:type="xs:string"><value>V1,2,1,0,10336</value></prop></node><prop oor:name="WindowState" oor:op="fuse"><value xsi:nil="true"/></prop></node></item> -<item oor:path="/org.openoffice.Office.Views/Windows"><node oor:name="SplitWindow3" oor:op="replace"><prop oor:name="Visible" oor:op="fuse"><value xsi:nil="true"/></prop><node oor:name="UserData"><prop oor:name="UserItem" oor:op="fuse" oor:type="xs:string"><value>V1,2,0</value></prop></node><prop oor:name="WindowState" oor:op="fuse"><value xsi:nil="true"/></prop></node></item> -<item oor:path="/org.openoffice.Office.Views/Windows/org.openoffice.Office.Views:WindowType['scalc/10336']/UserData"><prop oor:name="Data" oor:op="fuse" oor:type="xs:string"><value>V2,V,0,AL:(5,16,0/0/48/450,48;450)</value></prop></item> -<item oor:path="/org.openoffice.Office.Views/Windows/org.openoffice.Office.Views:WindowType['scalc/10336']"><prop oor:name="WindowState" oor:op="fuse"><value></value></prop></item> -<item oor:path="/org.openoffice.Office.Views/Windows"><node oor:name="scalc/10365" oor:op="replace"><prop oor:name="Visible" oor:op="fuse"><value xsi:nil="true"/></prop><node oor:name="UserData"><prop oor:name="Data" oor:op="fuse" oor:type="xs:string"><value>V2,V,128</value></prop></node><prop oor:name="WindowState" oor:op="fuse"><value></value></prop></node></item> -<item oor:path="/org.openoffice.Office.Views/Windows"><node oor:name="scalc/26100" oor:op="replace"><prop oor:name="Visible" oor:op="fuse"><value xsi:nil="true"/></prop><node oor:name="UserData"><prop oor:name="Data" oor:op="fuse" oor:type="xs:string"><value>V2,V,20</value></prop></node><prop oor:name="WindowState" oor:op="fuse"><value></value></prop></node></item> -<item oor:path="/org.openoffice.Office.Views/Windows/org.openoffice.Office.Views:WindowType['swriter/10336']/UserData"><prop oor:name="Data" oor:op="fuse" oor:type="xs:string"><value>V2,V,0,AL:(5,16,0/0/49/450,49;450)</value></prop></item> -<item oor:path="/org.openoffice.Office.Views/Windows/org.openoffice.Office.Views:WindowType['swriter/10336']"><prop oor:name="WindowState" oor:op="fuse"><value></value></prop></item> -<item oor:path="/org.openoffice.Office.Views/Windows"><node oor:name="swriter/10365" oor:op="replace"><prop oor:name="Visible" oor:op="fuse"><value xsi:nil="true"/></prop><node oor:name="UserData"><prop oor:name="Data" oor:op="fuse" oor:type="xs:string"><value>V2,V,128</value></prop></node><prop oor:name="WindowState" oor:op="fuse"><value></value></prop></node></item> -<item oor:path="/org.openoffice.Office.Writer/FmtAidsAutocomplete"><prop oor:name="EncloseWithCharacters" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Setup/L10N"><prop oor:name="ooLocale" oor:op="fuse"><value>en-US</value></prop></item> -<item oor:path="/org.openoffice.Setup/Office/Factories/org.openoffice.Setup:Factory['com.sun.star.sheet.SpreadsheetDocument']"><prop oor:name="ooSetupFactoryWindowAttributes" oor:op="fuse"><value>0,0,944,1140;5;0,0,1899,1140;</value></prop></item> -<item oor:path="/org.openoffice.Setup/Office/Factories/org.openoffice.Setup:Factory['com.sun.star.text.TextDocument']"><prop oor:name="ooSetupFactoryWindowAttributes" oor:op="fuse"><value>57,50,1806,1101;5;0,32,1921,1169;</value></prop></item> -<item oor:path="/org.openoffice.Setup/Office"><prop oor:name="LastCompatibilityCheckID" oor:op="fuse"><value>480(Build:2)</value></prop></item> -<item oor:path="/org.openoffice.Setup/Office"><prop oor:name="OfficeRestartInProgress" oor:op="fuse"><value>false</value></prop></item> -<item oor:path="/org.openoffice.Setup/Office"><prop oor:name="ooSetupInstCompleted" oor:op="fuse"><value>true</value></prop></item> -<item oor:path="/org.openoffice.Setup/Product"><prop oor:name="LastTimeDonateShown" oor:op="fuse"><value>1755219638</value></prop></item> -<item oor:path="/org.openoffice.Setup/Product"><prop oor:name="LastTimeGetInvolvedShown" oor:op="fuse"><value>1755219638</value></prop></item> -<item oor:path="/org.openoffice.Setup/Product"><prop oor:name="ooSetupLastVersion" oor:op="fuse"><value>24.8</value></prop></item> -</oor:items> 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 @@ -<?xml version="1.0"?> -<conf:configuration-backend-db xmlns:conf="http://openoffice.org/extensionmanager/configuration-registry/2010"/> 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 @@ -<?xml version="1.0"?> -<help:help-backend-db xmlns:help="http://openoffice.org/extensionmanager/help-registry/2010"/> 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<DesktopEntry> 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<DesktopEntry> 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<preparedSearch.spaceSearches.length; i++) keysSpacesBestScores[i] = NEGATIVE_INFINITY - - for (var keyI = 0; keyI < keysLen; ++keyI) { - target = tmpTargets[keyI] - if(target === noTarget) { tmpResults[keyI] = noTarget; continue } - - tmpResults[keyI] = algorithm(preparedSearch, target, /*allowSpaces=*/false, /*allowPartialMatch=*/containsSpace) - if(tmpResults[keyI] === NULL) { tmpResults[keyI] = noTarget; continue } - - // todo: this seems weird and wrong. like what if our first match wasn't good. this should just replace it instead of averaging with it - // if our second match isn't good we ignore it instead of averaging with it - if(containsSpace) for(let i=0; i<preparedSearch.spaceSearches.length; i++) { - if(allowPartialMatchScores[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<preparedSearch.spaceSearches.length; i++) { if(keysSpacesBestScores[i] === NEGATIVE_INFINITY) continue outer } - } else { - var hasAtLeast1Match = false - for(let i=0; i < keysLen; i++) { if(tmpResults[i]._score !== NEGATIVE_INFINITY) { hasAtLeast1Match = true; break } } - if(!hasAtLeast1Match) continue - } - - var objResults = new KeysResult(keysLen) - for(let i=0; i < keysLen; i++) { objResults[i] = tmpResults[i] } - - if(containsSpace) { - var score = 0 - for(let i=0; i<preparedSearch.spaceSearches.length; i++) score += keysSpacesBestScores[i] - } else { - // todo could rewrite this scoring to be more similar to when there's spaces - // if we match multiple keys give us bonus points - var score = NEGATIVE_INFINITY - for(let i=0; i<keysLen; i++) { - var result = objResults[i] - if(result._score > -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='<b>', close='</b>') => { - 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<searches.length; i++) { - if(searches[i] === '') continue - var _info = prepareLowerInfo(searches[i]) - spaceSearches.push({lowerCodes:_info.lowerCodes, _lower:searches[i].toLowerCase(), containsSpace:false}) - } - } - - return {lowerCodes: info.lowerCodes, _lower: info._lower, containsSpace: info.containsSpace, bitflags: info.bitflags, spaceSearches: spaceSearches} -} - - - -var getPrepared = (target) => { - 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<targets.length;i++) { var obj = targets[i] - var target = getValue(obj, options.key) - if(target == NULL) continue - if(!isPrepared(target)) target = getPrepared(target) - var result = new_result(target.target, {_score: target._score, obj: obj}) - results.push(result); if(results.length >= limit) return results - } - } else if(options?.keys) { - for(var i=0;i<targets.length;i++) { var obj = targets[i] - var objResults = new KeysResult(options.keys.length) - for (var keyI = options.keys.length - 1; keyI >= 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<targets.length;i++) { var target = targets[i] - if(target == NULL) continue - if(!isPrepared(target)) target = getPrepared(target) - target._score = NEGATIVE_INFINITY - target._indexes.len = 0 - results.push(target); if(results.length >= 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<nextBeginningIndexes.length; i=nextBeginningIndexes[i]) { - if(i <= substringIndex) continue - - for(var s=0; s<searchLen; s++) if(searchLowerCodes[s] !== prepared._targetLowerCodes[i+s]) break - if(s === searchLen) { substringIndex = i; isSubstringBeginning = true; break } - } - } - - // tally up the score & keep track of matches for highlighting later - // if it's a simple match, we'll switch to a substring match if a substring exists - // if it's a strict match, we'll switch to a substring match only if that's a better score - - var calculateScore = matches => { - 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<searchLen; ++i) matchesSimple[i] = substringIndex+i // at this point it's safe to overwrite matchehsSimple with substr matches - var matchesBest = matchesSimple - var score = calculateScore(matchesBest) - } else { - if(isSubstringBeginning) { - for(var i=0; i<searchLen; ++i) matchesSimple[i] = substringIndex+i // at this point it's safe to overwrite matchehsSimple with substr matches - var matchesBest = matchesSimple - var score = calculateScore(matchesSimple) - } else { - var matchesBest = matchesStrict - var score = calculateScore(matchesStrict) - } - } - - prepared._score = score - - for(var i = 0; i < searchLen; ++i) prepared._indexes[i] = matchesBest[i] - prepared._indexes.len = searchLen - - const result = new Result() - result.target = prepared.target - result._score = prepared._score - result._indexes = prepared._indexes - return result -} -var algorithmSpaces = (preparedSearch, target, allowPartialMatch) => { - 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<searchesLen; ++i) { - allowPartialMatchScores[i] = NEGATIVE_INFINITY - var search = searches[i] - - result = algorithm(search, target) - if(allowPartialMatch) { - if(result === NULL) continue - hasAtLeast1Match = true - } else { - if(result === NULL) {resetNextBeginningIndexes(); return NULL} - } - - // if not the last search, we need to mutate _nextBeginningIndexes for the next search - var isTheLastSearch = i === searchesLen - 1 - if(!isTheLastSearch) { - var indexes = result._indexes - - var indexesIsConsecutiveSubstring = true - for(let i=0; i<indexes.len-1; i++) { - if(indexes[i+1] - indexes[i] !== 1) { - indexesIsConsecutiveSubstring = false; break; - } - } - - if(indexesIsConsecutiveSubstring) { - var newBeginningIndex = indexes[indexes.len-1] + 1 - var toReplace = target._nextBeginningIndexes[newBeginningIndex-1] - for(let i=newBeginningIndex-1; 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<result._indexes.len; ++j) seen_indexes.add(result._indexes[j]) - } - - if(allowPartialMatch && !hasAtLeast1Match) return NULL - - resetNextBeginningIndexes() - - // allows a search with spaces that's an exact substring to score well - var allowSpacesResult = algorithm(preparedSearch, target, /*allowSpaces=*/true) - if(allowSpacesResult !== NULL && allowSpacesResult._score > score) { - if(allowPartialMatch) { - for(var i=0; i<searchesLen; ++i) { - allowPartialMatchScores[i] = allowSpacesResult._score / searchesLen - } - } - return allowSpacesResult - } - - if(allowPartialMatch) result = target - result._score = score - - var i = 0 - for (let index of seen_indexes) result._indexes[i++] = index - result._indexes.len = i - - return result -} - -// we use this instead of just .normalize('NFD').replace(/[\u0300-\u036f]/g, '') because that screws with japanese characters -var remove_accents = (str) => 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<<bit - } - - return {lowerCodes:lowerCodes, bitflags:bitflags, containsSpace:containsSpace, _lower:lower} -} -var prepareBeginningIndexes = (target) => { - 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<o;){var s=c+1;a=c,s<o&&e[s]._score<e[c]._score&&(a=s),e[a-1>>1]=e[a],c=1+(a<<1)}for(var f=a-1>>1;a>0&&v._score<e[f]._score;f=(a=f)-1>>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<e[v]._score;v=(a=v)-1>>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} ]; };