Package: anbox
Version: 0.0~git20190124-1
Severity: normal
Tags: patch

Dear Maintainer,

while I was using anbox, I saw its desktop files were being added to the Others
category instead of Anbox category in Whisker menu.

So I added debian/anbox-android.menu and added 'Categories=Anbox;' in
src/anbox/application/launcher_storage.cpp.

After this change, Android app Showed up under Anbox category.



-- System Information:
Debian Release: buster/sid
  APT prefers bionic-updates
  APT policy: (500, 'bionic-updates'), (500, 'bionic-security'), (500,
'bionic'), (100, 'bionic-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.15.0-74-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages anbox depends on:
ii  iptables                        1.6.1-2ubuntu2
ii  libboost-filesystem1.65.1       1.65.1+dfsg-0ubuntu5
ii  libboost-iostreams1.65.1        1.65.1+dfsg-0ubuntu5
ii  libboost-log1.65.1              1.65.1+dfsg-0ubuntu5
ii  libboost-program-options1.65.1  1.65.1+dfsg-0ubuntu5
ii  libboost-system1.65.1           1.65.1+dfsg-0ubuntu5
ii  libboost-thread1.65.1           1.65.1+dfsg-0ubuntu5
ii  libc6                           2.27-3ubuntu1
ii  libdw1                          0.170-0.4ubuntu0.1
ii  libegl1                         1.0.0-2ubuntu2.3
ii  libgcc1                         1:9.2.1-17ubuntu1~18.04.1
ii  libgles2                        1.0.0-2ubuntu2.3
ii  liblxc1                         3.0.3-0ubuntu1~18.04.1
ii  libprotobuf-lite10              3.0.0-9.1ubuntu1
ii  libsdl2-2.0-0                   2.0.8+dfsg1-1ubuntu1.18.04.4
ii  libsdl2-image-2.0-0             2.0.3+dfsg1-1
ii  libstdc++6                      9.2.1-17ubuntu1~18.04.1
ii  libsystemd0                     237-3ubuntu10.33
ii  lxc                             3.0.3-0ubuntu1~18.04.1

Versions of packages anbox recommends:
ii  dbus-user-session  1.12.2-1ubuntu1.1

anbox suggests no packages.
Description: Automatically add desktop files to Anbox category and adds changes 
splash screen to dark background.
Author: Ahmad Hasan Mubashshir <ahmubashs...@gmail.com>
Last-Update: 2020-01-11

---
 data/desktop/android-settings.desktop      |    1 +
 data/desktop/android-settings.desktop      |    1 +
 debian/anbox-android.menu                  |   16 ++++++++++++++++
 debian/conffiles                           |    1 +
 debian/install                             |    1 +
 src/anbox/application/launcher_storage.cpp |    3 ++-
 5 files changed, 21 insertions(+), 1 deletion(-)

--- a/data/desktop/android-settings.desktop
+++ b/data/desktop/android-settings.desktop
@@ -5,3 +5,4 @@ Terminal=false
 Type=Application
 Name=Android Settings
 GenericName=Android Settings
+Categories=Anbox
--- /dev/null
+++ b/debian/anbox-android.menu
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
+"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd";>
+<Menu>
+       <Name>Applications</Name>
+       <Menu>
+               <Name>anbox-android</Name>
+               <Directory>anbox-android.directory</Directory>
+               <Include>
+                       <Or>
+                               <Category>Anbox</Category>
+                               <Filename>anbox.desktop</Filename>
+                       </Or>
+               </Include>
+       </Menu>
+</Menu>
--- a/debian/install
+++ b/debian/install
@@ -1,6 +1,7 @@
 debian/anbox-container-manager.service /lib/systemd/system/
 debian/anbox-session-manager.service /usr/lib/systemd/user/
 debian/anbox.desktop /usr/share/applications/
+debian/anbox-android.menu /etc/xdg/menus/applications-merged/
 debian/anbox.png /usr/share/pixmaps/
 scripts/anbox-bridge.sh /usr/share/anbox/
 scripts/anbox-shell.sh /usr/share/anbox/
--- a/src/anbox/application/launcher_storage.cpp
+++ b/src/anbox/application/launcher_storage.cpp
@@ -94,10 +94,11 @@ void LauncherStorage::add_or_update(cons
   const auto item_icon_path = path_for_item_icon(package_name);
   if (auto desktop_item = std::ofstream(path_for_item(package_name).string())) 
{
     desktop_item << "[Desktop Entry]" << std::endl
+                 << "Type=Application" << std::endl
                  << "Name=" << item.name << std::endl
                  << "Exec=" << exec << std::endl
                  << "Terminal=false" << std::endl
-                 << "Type=Application" << std::endl
+                 << "Categories=Anbox;" << std::endl
                  << "Icon=" << item_icon_path.string() << std::endl;
   } else {
     BOOST_THROW_EXCEPTION(std::runtime_error("Failed to create desktop item"));

Reply via email to