From 97e0711034acb442182963255c017ff2e9bfe838 Mon Sep 17 00:00:00 2001 From: Omar <90123670+mewclouds@users.noreply.github.com> Date: Mon, 3 Aug 2026 20:07:56 -0400 Subject: [PATCH] Restore Document category and applications (#4902) * feat: restore document category Moves existing document-focused apps into the Document category and adds its filter chip. * feat: restore document applications Restores reviewed document-focused apps removed in PR #4451. * chore: update apps list as per code review comments This also updates the link for PDF24 Creator * test: verify document category filter wiring Covers the Document filter handler and config category presence. * fix: categorize Calibre as multimedia Keeps the e-book reader in Multimedia Tools. --- config/applications.json | 111 ++++++++++++++++++++++++++++++++++++--- pester/xaml.Tests.ps1 | 10 ++++ scripts/main.ps1 | 1 + xaml/inputXML.xaml | 1 + 4 files changed, 117 insertions(+), 6 deletions(-) diff --git a/config/applications.json b/config/applications.json index 19149f06..9d0f50e7 100644 --- a/config/applications.json +++ b/config/applications.json @@ -18,7 +18,7 @@ "foss": true }, "adobe": { - "category": "Multimedia Tools", + "category": "Document", "choco": "adobereader", "content": "Adobe Acrobat Reader", "description": "Adobe Acrobat Reader is a free PDF viewer with essential features for viewing, printing, and annotating PDF documents.", @@ -458,6 +458,15 @@ "winget": "flux.flux", "foss": false }, + "foxpdfreader": { + "category": "Document", + "choco": "foxitreader", + "content": "Foxit PDF Reader", + "description": "Foxit PDF Reader is a free PDF viewer with a familiar ribbon-style interface.", + "link": "https://www.foxit.com/pdf-reader/", + "winget": "Foxit.FoxitReader", + "foss": false + }, "geforcenow": { "category": "Games", "choco": "nvidia-geforce-now", @@ -701,6 +710,15 @@ "winget": "sylikc.JPEGView", "foss": true }, + "joplin": { + "category": "Document", + "choco": "joplin", + "content": "Joplin", + "description": "Joplin is an open-source note-taking and to-do application with synchronization capabilities.", + "link": "https://joplinapp.org/", + "winget": "Joplin.Joplin", + "foss": true + }, "keepassxc": { "category": "Utilities", "choco": "keepassxc", @@ -738,7 +756,7 @@ "foss": true }, "libreoffice": { - "category": "Multimedia Tools", + "category": "Document", "choco": "libreoffice-fresh", "content": "LibreOffice", "description": "LibreOffice is a powerful and free office suite, compatible with other major office suites.", @@ -882,9 +900,9 @@ "foss": true }, "naps2": { - "category": "Multimedia Tools", + "category": "Document", "choco": "naps2", - "content": "NAPS2 (Document Scanner)", + "content": "NAPS2 (Scanner)", "description": "NAPS2 is a document scanning application that simplifies the process of creating electronic documents.", "link": "https://www.naps2.com/", "winget": "Cyanfish.NAPS2", @@ -980,7 +998,7 @@ "foss": true }, "obsidian": { - "category": "Multimedia Tools", + "category": "Document", "choco": "obsidian", "content": "Obsidian", "description": "Obsidian is a powerful note-taking and knowledge management application.", @@ -988,6 +1006,15 @@ "winget": "Obsidian.Obsidian", "foss": false }, + "okular": { + "category": "Document", + "choco": "okular", + "content": "Okular", + "description": "Okular is a versatile document viewer with advanced features.", + "link": "https://okular.kde.org/", + "winget": "KDE.Okular", + "foss": true + }, "onedrive": { "category": "Microsoft Tools", "choco": "onedrive", @@ -998,7 +1025,7 @@ "foss": false }, "onlyoffice": { - "category": "Multimedia Tools", + "category": "Document", "choco": "onlyoffice", "content": "ONLYOFFICE Desktop", "description": "ONLYOFFICE Desktop is a comprehensive office suite for document editing and collaboration.", @@ -1087,6 +1114,42 @@ "winget": "Giorgiotani.Peazip", "foss": true }, + "pdf-xchange": { + "category": "Document", + "choco": "pdfxchangeeditor", + "content": "PDF-XChange Editor", + "description": "A comprehensive Windows-based software suite and editor for creating, viewing, editing, annotating, and signing PDF files.", + "link": "https://www.pdf-xchange.com/", + "winget": "TrackerSoftware.PDF-XChangeEditor", + "foss": false + }, + "pdf24creator": { + "category": "Document", + "choco": "pdf24", + "content": "PDF24 Creator", + "description": "Free and easy-to-use online/desktop PDF tools that make you more productive", + "link": "https://tools.pdf24.org/en/creator", + "winget": "geeksoftwareGmbH.PDF24Creator", + "foss": false + }, + "pdfgear": { + "category": "Document", + "choco": "pdfgear", + "content": "PDFgear", + "description": "PDFgear is a piece of full-featured PDF management software for Windows, macOS, and mobile, and it's completely free to use.", + "link": "https://www.pdfgear.com/", + "winget": "PDFgear.PDFgear", + "foss": false + }, + "pdfsam": { + "category": "Document", + "choco": "pdfsam", + "content": "PDFsam Basic", + "description": "PDFsam Basic is a free and open-source tool for splitting, merging, and rotating PDF files.", + "link": "https://pdfsam.org/", + "winget": "PDFsam.PDFsam", + "foss": true + }, "playnite": { "category": "Games", "choco": "playnite", @@ -1339,6 +1402,15 @@ "winget": "WhirlwindFX.SignalRgb", "foss": false }, + "simplenote": { + "category": "Document", + "choco": "simplenote", + "content": "Simplenote", + "description": "Simplenote is an easy way to keep notes, lists, ideas and more.", + "link": "https://simplenote.com/", + "winget": "Automattic.Simplenote", + "foss": true + }, "simplewall": { "category": "Pro Tools", "choco": "simplewall", @@ -1384,6 +1456,15 @@ "winget": "SublimeHQ.SublimeText.4", "foss": false }, + "sumatra": { + "category": "Document", + "choco": "sumatrapdf", + "content": "Sumatra PDF", + "description": "Sumatra PDF is a lightweight and fast PDF viewer with minimalistic design.", + "link": "https://www.sumatrapdfreader.org/free-pdf-reader.html", + "winget": "SumatraPDF.SumatraPDF", + "foss": true + }, "sunshine": { "category": "Selfhosted Tools", "choco": "sunshine", @@ -1726,6 +1807,15 @@ "winget": "MHNexus.HxD", "foss": false }, + "xournal": { + "category": "Document", + "choco": "xournalplusplus", + "content": "Xournal++", + "description": "Xournal++ is an open-source handwriting notetaking software with PDF annotation capabilities.", + "link": "https://xournalpp.github.io/", + "winget": "Xournal++.Xournal++", + "foss": true + }, "yarn": { "category": "Development", "choco": "yarn", @@ -1807,6 +1897,15 @@ "winget": "ZedIndustries.Zed", "foss": true }, + "zotero": { + "category": "Document", + "choco": "zotero", + "content": "Zotero", + "description": "Zotero is a free, easy-to-use tool to help you collect, organize, cite, and share your research materials.", + "link": "https://www.zotero.org/", + "winget": "DigitalScholar.Zotero", + "foss": true + }, "deskflow": { "category": "Utilities", "choco": "deskflow", diff --git a/pester/xaml.Tests.ps1 b/pester/xaml.Tests.ps1 index 736c4bed..010ff099 100644 --- a/pester/xaml.Tests.ps1 +++ b/pester/xaml.Tests.ps1 @@ -142,6 +142,7 @@ Describe "XAML document" { "WPFSearchChipBrowsers", "WPFSearchChipCommunications", "WPFSearchChipDevelopment", + "WPFSearchChipDocument", "WPFSearchChipGames", "WPFSearchChipMicrosoftTools", "WPFSearchChipMultimediaTools", @@ -179,6 +180,15 @@ Describe "XAML document" { } } + It "wires the Document search chip to an existing Document category" { + $mainScript = Get-Content -Path $script:mainScriptPath -Raw + $mainScript | Should -Match '\$sync\["WPFSearchChipDocument"\]\.Add_Click\(\{ Set-WinUtilAppCategoryFilter -Category "Document" \}\)' + + $applications = Get-WinUtilConfigObject -Name "applications" + $categories = @($applications.PSObject.Properties | ForEach-Object { $_.Value.category } | Sort-Object -Unique) + $categories | Should -Contain "Document" + } + It "presents the three Updates profiles with accurate action labels" { $updatesTab = $script:xaml.SelectSingleNode('//*[local-name()="TabItem"][@Name="WPFTab4"]') $profileGrid = $updatesTab.SelectSingleNode('.//*[local-name()="UniformGrid"]') diff --git a/scripts/main.ps1 b/scripts/main.ps1 index 887b1e26..e3f14dec 100644 --- a/scripts/main.ps1 +++ b/scripts/main.ps1 @@ -368,6 +368,7 @@ $sync["WPFSearchChipAll"].Add_Click({ Set-WinUtilAppCategoryFilter }) $sync["WPFSearchChipBrowsers"].Add_Click({ Set-WinUtilAppCategoryFilter -Category "Browsers" }) $sync["WPFSearchChipCommunications"].Add_Click({ Set-WinUtilAppCategoryFilter -Category "Communications" }) $sync["WPFSearchChipDevelopment"].Add_Click({ Set-WinUtilAppCategoryFilter -Category "Development" }) +$sync["WPFSearchChipDocument"].Add_Click({ Set-WinUtilAppCategoryFilter -Category "Document" }) $sync["WPFSearchChipGames"].Add_Click({ Set-WinUtilAppCategoryFilter -Category "Games" }) $sync["WPFSearchChipMicrosoftTools"].Add_Click({ Set-WinUtilAppCategoryFilter -Category "Microsoft Tools" }) $sync["WPFSearchChipMultimediaTools"].Add_Click({ Set-WinUtilAppCategoryFilter -Category "Multimedia Tools" }) diff --git a/xaml/inputXML.xaml b/xaml/inputXML.xaml index 30994e75..a3667c56 100644 --- a/xaml/inputXML.xaml +++ b/xaml/inputXML.xaml @@ -1326,6 +1326,7 @@