[neon/snap-packaging/kf6-core/work.core24] /: Add applications-menu

Scarlett Moore null at kde.org
Wed May 14 02:21:50 BST 2025


Git commit 84d32410944690395c9016ca591ed4e667363c08 by Scarlett Moore.
Committed on 14/05/2025 at 01:21.
Pushed by scarlettmoore into branch 'work.core24'.

Add applications-menu

M  +415  -2    snapcraft.yaml

https://invent.kde.org/neon/snap-packaging/kf6-core/-/commit/84d32410944690395c9016ca591ed4e667363c08

diff --git a/snapcraft.yaml b/snapcraft.yaml
index 5548283..ceb578d 100644
--- a/snapcraft.yaml
+++ b/snapcraft.yaml
@@ -231,10 +231,421 @@ parts:
       find . -type f,l -exec rm -f $CRAFT_PART_INSTALL/usr/lib/{} \;
       find . -type f,l -name "*.so*" -exec bash -c "rm -f $CRAFT_PART_INSTALL/usr/lib/{}*" \;
 
+  applications-menu:
+    plugin: dump
+    source: .
+    override-pull: |
+        mkdir etc/xdg/menus -p
+        cat > etc/xdg/menus/plasma-applications.menu <<EOF
+          <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
+          "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
+          <Menu>
+                <Name>Applications</Name>
+                <Directory>kde-main.directory</Directory>
+                <!-- Search the default locations -->
+                <DefaultAppDirs/>
+                <DefaultDirectoryDirs/>
+                <DefaultLayout>
+                    <Merge type="menus"/>
+                    <Merge type="files"/>
+                    <Separator/>
+                    <Menuname>More</Menuname>
+                </DefaultLayout>
+                <Layout>
+                    <Merge type="menus"/>
+                    <Menuname>Applications</Menuname>
+                    <Merge type="files"/>
+                </Layout>
+                <Menu>
+                    <Name>Applications</Name>
+                    <Directory>kf5-unknown.directory</Directory>
+                    <OnlyUnallocated/>
+                    <Include>
+                        <Not>
+                            <!-- Don't list non-KDE core applications -->
+                            <And>
+                                <Category>Core</Category>
+                                <Not><Category>KDE</Category></Not>
+                            </And>
+                        <!-- Don't list SUSE's YaST in here -->
+                            <Category>X-SuSE-YaST</Category>
+                            <Category>X-KDE-settings-hardware</Category>
+                            <Category>X-KDE-settings-accessibility</Category>
+                            <Category>X-KDE-settings-components</Category>
+                            <Category>X-KDE-settings-desktop</Category>
+                            <Category>X-KDE-settings-looknfeel</Category>
+                            <Category>X-KDE-settings-network</Category>
+                            <Category>X-KDE-settings-webbrowsing</Category>
+                            <Category>X-KDE-settings-peripherals</Category>
+                            <Category>X-KDE-settings-hardware</Category>
+                            <Category>X-KDE-settings-power</Category>
+                            <Category>X-KDE-settings-security</Category>
+                            <Category>X-KDE-settings-sound</Category>
+                            <Category>X-KDE-settings-system</Category>
+                            <Category>X-KDE-information</Category>
+                            <Filename>kde-kcm_knetworkconfmodule_ss.desktop</Filename>
+                            <Filename>kde-medianotifications.desktop</Filename>
+                            <Filename>kde-audioencoding.desktop</Filename>
+                        </Not>
+                    </Include>
+                </Menu>
+                <Menu>
+                    <Name>Development</Name>
+                    <Directory>kf5-development.directory</Directory>
+                    <Menu>
+                        <Name>Translation</Name>
+                        <Directory>kf5-development-translation.directory</Directory>
+                        <Include>
+                            <And>
+                                <Category>Development</Category>
+                                <Category>Translation</Category>
+                            </And>
+                        </Include>
+                    </Menu>
+                    <Menu>
+                        <Name>Web Development</Name>
+                        <Directory>kf5-development-webdevelopment.directory</Directory>
+                        <Include>
+                            <And>
+                                <Category>Development</Category>
+                                <Category>WebDevelopment</Category>
+                            </And>
+                        </Include>
+                    </Menu>
+                    <Include>
+                        <And>
+                            <Category>Development</Category>
+                            <Not><Category>Translation</Category></Not>
+                            <Not><Category>WebDevelopment</Category></Not>
+                        </And>
+                    </Include>
+                </Menu>
+                <Menu>
+                    <Name>Science</Name>
+                    <Directory>kf5-science.directory</Directory>
+                    <Include>
+                        <And><!-- Include /any/ Science app which is not an Education app -->
+                            <Or>
+                                <Category>Astronomy</Category>
+                                <Category>Biology</Category>
+                                <Category>Chemistry</Category>
+                                <Category>Geology</Category>
+                                <Category>MedicalSoftware</Category>
+                                <Category>Physics</Category>
+                                <Category>Math</Category>
+                                <Category>Science</Category>
+                            </Or>
+                            <Not><Category>Education</Category></Not>
+                        </And>
+                    </Include>
+                </Menu>
+                <Menu>
+                    <Name>Education</Name>
+                    <Directory>kf5-education.directory</Directory>
+                <Menu>
+                    <Name>Languages</Name>
+                    <Directory>kf5-edu-languages.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>Education</Category>
+                            <Category>Languages</Category>
+                        </And>
+                    </Include>
+                </Menu>
+                <Menu>
+                    <Name>Mathematics</Name>
+                    <Directory>kf5-edu-mathematics.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>Education</Category>
+                            <Category>Math</Category>
+                        </And>
+                    </Include>
+                </Menu>
+                <Menu>
+                    <Name>Miscellaneous</Name>
+                    <Directory>kf5-edu-miscellaneous.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>Education</Category>
+                            <Not>
+                                <Category>Languages</Category>
+                                <Category>Math</Category>
+                                <Category>Science</Category>
+                                <Category>Teaching</Category>
+                            </Not>
+                        </And>
+                    </Include>
+                </Menu>
+                <Menu>
+                    <Name>Science</Name>
+                    <Directory>kf5-edu-science.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>Education</Category>
+                            <Category>Science</Category>
+                        </And>
+                    </Include>
+                </Menu>
+                <Menu>
+                    <Name>Tools</Name>
+                    <Directory>kf5-edu-tools.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>Education</Category>
+                            <Category>Teaching</Category>
+                        </And>
+                    </Include>
+                </Menu>
+            </Menu>
+            <Menu>
+                <Name>Games</Name>
+                <Directory>kf5-games.directory</Directory>
+                <Menu>
+                    <Name>Arcade</Name>
+                    <Directory>kf5-games-arcade.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>Game</Category>
+                            <Category>ArcadeGame</Category>
+                        </And>
+                    </Include>
+                </Menu>
+                <Menu>
+                    <Name>Board</Name>
+                    <Directory>kf5-games-board.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>Game</Category>
+                            <Category>BoardGame</Category>
+                        </And>
+                    </Include>
+                </Menu>
+                <Menu>
+                    <Name>Card</Name>
+                    <Directory>kf5-games-card.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>Game</Category>
+                            <Category>CardGame</Category>
+                        </And>
+                    </Include>
+                </Menu>
+                <Menu>
+                    <Name>Kidsgames</Name>
+                    <Directory>kf5-games-kids.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>Game</Category>
+                            <Category>KidsGame</Category>
+                        </And>
+                    </Include>
+                </Menu>
+                <Menu>
+                    <Name>TacticStrategy</Name>
+                    <Directory>kf5-games-strategy.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>Game</Category>
+                            <Category>StrategyGame</Category>
+                        </And>
+                    </Include>
+                </Menu>
+                <Menu>
+                    <Name>Logic</Name>
+                    <Directory>kf5-games-logic.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>Game</Category>
+                            <Category>LogicGame</Category>
+                        </And>
+                    </Include>
+                </Menu>
+                <Include>
+                    <And>
+                        <Category>Game</Category>
+                        <Not>
+                            <Category>ArcadeGame</Category>
+                            <Category>BoardGame</Category>
+                            <Category>CardGame</Category>
+                            <Category>KidsGame</Category>
+                            <Category>StrategyGame</Category>
+                            <Category>LogicGame</Category>
+                        </Not>
+                    </And>
+                </Include>
+            </Menu>
+            <Menu>
+                <Name>Graphics</Name>
+                <Directory>kf5-graphics.directory</Directory>
+                <Include>
+                    <And>
+                        <Category>Graphics</Category>
+                        <Not><Category>X-KDE-More</Category></Not>
+                    </And>
+                </Include>
+                <Menu>
+                    <Name>More</Name>
+                    <Directory>kf5-more.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>Graphics</Category>
+                            <Category>X-KDE-More</Category>
+                        </And>
+                    </Include>
+                </Menu>
+            </Menu>
+            <Menu>
+                <Name>Internet</Name>
+                <Directory>kf5-internet.directory</Directory>
+                <Include>
+                    <And>
+                        <Category>Network</Category>
+                        <Not><Category>X-KDE-More</Category></Not>
+                    </And>
+                </Include>
+                <Menu>
+                    <Name>Terminal</Name>
+                    <Directory>kf5-internet-terminal.directory</Directory>
+                </Menu>
+                <Menu>
+                    <Name>More</Name>
+                    <Directory>kf5-more.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>Network</Category>
+                            <Category>X-KDE-More</Category>
+                        </And>
+                    </Include>
+                </Menu>
+            </Menu>
+            <Menu>
+                <Name>Multimedia</Name>
+                <Directory>kf5-multimedia.directory</Directory>
+                <Include>
+                    <And>
+                        <Category>AudioVideo</Category>
+                        <Not><Category>X-KDE-More</Category></Not>
+                    </And>
+                </Include>
+                <Menu>
+                    <Name>More</Name>
+                    <Directory>kf5-more.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>AudioVideo</Category>
+                            <Category>X-KDE-More</Category>
+                        </And>
+                    </Include>
+                </Menu>
+            </Menu>
+            <Menu>
+                <Name>Office</Name>
+                <Directory>kf5-office.directory</Directory>
+                <Layout>
+                    <Merge type="menus"/>
+                    <Filename>kde-koshell.desktop</Filename>
+                    <Filename>kde-Kontact.desktop</Filename>
+                    <Separator/>
+                    <Filename>kde-kword.desktop</Filename>
+                    <Filename>kde-kspread.desktop</Filename>
+                    <Filename>kde-kpresenter.desktop</Filename>
+                    <Merge type="files"/>
+                    <Separator/>
+                    <Menuname>More</Menuname>
+                </Layout>
+                <Include>
+                    <And>
+                        <Category>Office</Category>
+                        <Not><Category>X-KDE-More</Category></Not>
+                    </And>
+                </Include>
+                <Menu>
+                    <Name>More</Name>
+                    <Directory>kf5-more.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>Office</Category>
+                            <Category>X-KDE-More</Category>
+                        </And>
+                    </Include>
+                </Menu>
+            </Menu>
+            <Menu>
+                <Name>System</Name>
+                <Directory>kf5-system.directory</Directory>
+                <Include>
+                    <Category>Settings</Category>
+                    <And>
+                        <Category>System</Category>
+                        <Not><Category>X-KDE-More</Category></Not>
+                    </And>
+                </Include>
+                <Menu>
+                    <Name>More</Name>
+                    <Directory>kf5-more.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>System</Category>
+                            <Category>X-KDE-More</Category>
+                        </And>
+                    </Include>
+                </Menu>
+                <Menu>
+                    <Name>ScreenSavers</Name>
+                    <Directory>kf5-system-screensavers.directory</Directory>
+                </Menu>
+                <Menu>
+                    <Name>Terminal</Name>
+                    <Directory>kf5-system-terminal.directory</Directory>
+                </Menu>
+            </Menu>
+            <Menu>
+                <Name>Utilities</Name>
+                <Directory>kf5-utilities.directory</Directory>
+                <Include>
+                    <And>
+                        <Category>Utility</Category>
+                        <Not><Category>X-KDE-More</Category></Not>
+                    </And>
+                    <Category>TextEditor</Category>
+                    <Category>Accessibility</Category>
+                    <Category>X-KDE-Utilities-Desktop</Category>
+                    <Category>X-KDE-Utilities-File</Category>
+                    <Category>X-KDE-Utilities-Peripherals</Category>
+                    <Category>X-KDE-Utilities-PIM</Category>
+                </Include>
+                <Menu>
+                    <Name>XUtilities</Name>
+                    <Directory>kf5-utilities-xutils.directory</Directory>
+                </Menu>
+                <Menu>
+                    <Name>More</Name>
+                    <Directory>kf5-more.directory</Directory>
+                    <Include>
+                        <And>
+                            <Category>Utility</Category>
+                            <Category>X-KDE-More</Category>
+                        </And>
+                    </Include>
+                </Menu>
+            </Menu>
+            <Menu>
+                <Name>Help</Name>
+                <Directory>kf5-help.directory</Directory>
+                <Include>
+                    <Category>Documentation</Category>
+                </Include>
+            </Menu>
+            <DefaultMergeDirs/>
+            <MergeFile>applications-kmenuedit.menu</MergeFile>
+        </Menu>
+        EOF
+
   fonts-config:
       after: [ kf6 ]
       plugin: nil
[suppressed due to size limit]
[suppressed due to size limit]
       stage:
       - etc/fonts
       - usr/share/fontconfig
@@ -244,6 +655,7 @@ parts:
       - fonts-config
       - kf6-sdk
       - kf6
+      - applications-menu
     plugin: nil
     build-packages:
       - gtk-update-icon-cache
@@ -274,7 +686,7 @@ parts:
       - WITH_GRAPHICS=false
 
   cleanup:
-    after: [ caches ]
+    after: [ caches, applications-menu ]
     plugin: nil
     source: https://github.com/canonical/gpu-snap.git
     build-snaps:
@@ -343,3 +755,4 @@ parts:
             fallback "sysdefault"
           }
         EOF
+



More information about the Neon-commits mailing list