commit:     2c4aee0e7ed1a19b15e4e1975dde9189a9bd2351
Author:     Adel KARA SLIMANE <adel.ks <AT> zegrapher <DOT> com>
AuthorDate: Sun Jan 14 18:19:31 2024 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sun Jan 14 20:26:30 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c4aee0e

app-editors/vscode: add 'wayland' USE flag

So we merge the two desktop entries that trip DEs
(at least KDE on X11) into one

Signed-off-by: Adel KARA SLIMANE <adel.ks <AT> zegrapher.com>
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 .../files/vscode-url-handler-wayland.desktop       | 12 ------------
 .../vscode/files/vscode-url-handler.desktop        |  2 +-
 app-editors/vscode/files/vscode-wayland.desktop    | 18 ------------------
 app-editors/vscode/files/vscode.desktop            |  4 ++--
 app-editors/vscode/metadata.xml                    |  3 +++
 ...scode-1.85.0.ebuild => vscode-1.85.0-r1.ebuild} | 22 +++++++++++++++++-----
 ...scode-1.85.1.ebuild => vscode-1.85.1-r1.ebuild} | 22 +++++++++++++++++-----
 7 files changed, 40 insertions(+), 43 deletions(-)

diff --git a/app-editors/vscode/files/vscode-url-handler-wayland.desktop 
b/app-editors/vscode/files/vscode-url-handler-wayland.desktop
deleted file mode 100644
index a3214afa7d32..000000000000
--- a/app-editors/vscode/files/vscode-url-handler-wayland.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Name=VSCode - URL Handler
-Comment=Editing evolved
-GenericName=Code Editor
-Exec=/usr/bin/vscode --enable-features=UseOzonePlatform 
--ozone-platform=wayland --open-url %U
-Icon=vscode
-Type=Application
-NoDisplay=true
-StartupNotify=true
-Categories=Utility;TextEditor;Development;IDE;
-MimeType=x-scheme-handler/vscode;
-Keywords=vscode;code;

diff --git a/app-editors/vscode/files/vscode-url-handler.desktop 
b/app-editors/vscode/files/vscode-url-handler.desktop
index 73e3834801b4..fe65d7527069 100644
--- a/app-editors/vscode/files/vscode-url-handler.desktop
+++ b/app-editors/vscode/files/vscode-url-handler.desktop
@@ -2,7 +2,7 @@
 Name=VSCode - URL Handler
 Comment=Editing evolved
 GenericName=Code Editor
-Exec=/usr/bin/vscode --open-url %U
+Exec=/usr/bin/vscode @exec_extra_flags@ --open-url %U
 Icon=vscode
 Type=Application
 NoDisplay=true

diff --git a/app-editors/vscode/files/vscode-wayland.desktop 
b/app-editors/vscode/files/vscode-wayland.desktop
deleted file mode 100644
index 1c12a97ffd01..000000000000
--- a/app-editors/vscode/files/vscode-wayland.desktop
+++ /dev/null
@@ -1,18 +0,0 @@
-[Desktop Entry]
-Name=VSCode Wayland
-Comment=Editing evolved
-GenericName=Code Editor
-Exec=/usr/bin/vscode --enable-features=UseOzonePlatform 
--ozone-platform=wayland --unity-launch %F
-Icon=vscode
-Type=Application
-StartupNotify=false
-StartupWMClass=Code
-Categories=Utility;TextEditor;Development;IDE;
-MimeType=text/plain;inode/directory;application/x-code-workspace;
-Actions=new-empty-window;
-Keywords=vscode;code;
-
-[Desktop Action new-empty-window]
-Name=New Empty Window
-Exec=/usr/bin/vscode  --enable-features=UseOzonePlatform 
--ozone-platform=wayland --new-window %F
-Icon=vscode

diff --git a/app-editors/vscode/files/vscode.desktop 
b/app-editors/vscode/files/vscode.desktop
index d648416a26ca..ec697eca68b6 100644
--- a/app-editors/vscode/files/vscode.desktop
+++ b/app-editors/vscode/files/vscode.desktop
@@ -2,7 +2,7 @@
 Name=VSCode
 Comment=Editing evolved
 GenericName=Code Editor
-Exec=/usr/bin/vscode --unity-launch %F
+Exec=/usr/bin/vscode @exec_extra_flags@ --unity-launch %F
 Icon=vscode
 Type=Application
 StartupNotify=false
@@ -14,5 +14,5 @@ Keywords=vscode;code;
 
 [Desktop Action new-empty-window]
 Name=New Empty Window
-Exec=/usr/bin/vscode --new-window %F
+Exec=/usr/bin/vscode @exec_extra_flags@ --new-window %F
 Icon=vscode

diff --git a/app-editors/vscode/metadata.xml b/app-editors/vscode/metadata.xml
index 5e8dfffc3faa..177d32d281e8 100644
--- a/app-editors/vscode/metadata.xml
+++ b/app-editors/vscode/metadata.xml
@@ -13,6 +13,9 @@
                <email>[email protected]</email>
                <name>Proxy Maintainers</name>
        </maintainer>
+       <use>
+               <flag name="wayland">Run in wayland mode under wayland 
sessions, xwayland otherwise. This flag doesn't affect x11 sessions.</flag>
+       </use>
        <longdescription>
                Visual Studio Code is a lightweight but powerful source code 
editor which
                runs on your desktop and is available for Windows, macOS and 
Linux. It

diff --git a/app-editors/vscode/vscode-1.85.0.ebuild 
b/app-editors/vscode/vscode-1.85.0-r1.ebuild
similarity index 83%
rename from app-editors/vscode/vscode-1.85.0.ebuild
rename to app-editors/vscode/vscode-1.85.0-r1.ebuild
index dc88161cc376..e41624cd8829 100644
--- a/app-editors/vscode/vscode-1.85.0.ebuild
+++ b/app-editors/vscode/vscode-1.85.0-r1.ebuild
@@ -35,7 +35,7 @@ LICENSE="
 "
 SLOT="0"
 KEYWORDS="-* amd64 ~arm ~arm64"
-IUSE="kerberos"
+IUSE="kerberos wayland"
 RESTRICT="mirror strip bindist"
 
 RDEPEND="
@@ -104,10 +104,22 @@ src_install() {
 
        dosym -r "/opt/${PN}/bin/code" "usr/bin/vscode"
        dosym -r "/opt/${PN}/bin/code" "usr/bin/code"
-       domenu "${FILESDIR}/vscode.desktop"
-       domenu "${FILESDIR}/vscode-url-handler.desktop"
-       domenu "${FILESDIR}/vscode-wayland.desktop"
-       domenu "${FILESDIR}/vscode-url-handler-wayland.desktop"
+
+       local EXEC_EXTRA_FLAGS=()
+       if use wayland; then
+               EXEC_EXTRA_FLAGS+=( "--ozone-platform-hint=auto" )
+       fi
+
+       sed "s|@exec_extra_flags@|${EXEC_EXTRA_FLAGS[*]}|g" \
+               "${FILESDIR}/vscode-url-handler.desktop" \
+               > "${T}/vscode-url-handler.desktop" || die
+
+       sed "s|@exec_extra_flags@|${EXEC_EXTRA_FLAGS[*]}|g" \
+               "${FILESDIR}/vscode.desktop" \
+               > "${T}/vscode.desktop" || die
+
+       domenu "${T}/vscode.desktop"
+       domenu "${T}/vscode-url-handler.desktop"
        newicon "resources/app/resources/linux/code.png" "vscode.png"
 }
 

diff --git a/app-editors/vscode/vscode-1.85.1.ebuild 
b/app-editors/vscode/vscode-1.85.1-r1.ebuild
similarity index 83%
rename from app-editors/vscode/vscode-1.85.1.ebuild
rename to app-editors/vscode/vscode-1.85.1-r1.ebuild
index dc88161cc376..e41624cd8829 100644
--- a/app-editors/vscode/vscode-1.85.1.ebuild
+++ b/app-editors/vscode/vscode-1.85.1-r1.ebuild
@@ -35,7 +35,7 @@ LICENSE="
 "
 SLOT="0"
 KEYWORDS="-* amd64 ~arm ~arm64"
-IUSE="kerberos"
+IUSE="kerberos wayland"
 RESTRICT="mirror strip bindist"
 
 RDEPEND="
@@ -104,10 +104,22 @@ src_install() {
 
        dosym -r "/opt/${PN}/bin/code" "usr/bin/vscode"
        dosym -r "/opt/${PN}/bin/code" "usr/bin/code"
-       domenu "${FILESDIR}/vscode.desktop"
-       domenu "${FILESDIR}/vscode-url-handler.desktop"
-       domenu "${FILESDIR}/vscode-wayland.desktop"
-       domenu "${FILESDIR}/vscode-url-handler-wayland.desktop"
+
+       local EXEC_EXTRA_FLAGS=()
+       if use wayland; then
+               EXEC_EXTRA_FLAGS+=( "--ozone-platform-hint=auto" )
+       fi
+
+       sed "s|@exec_extra_flags@|${EXEC_EXTRA_FLAGS[*]}|g" \
+               "${FILESDIR}/vscode-url-handler.desktop" \
+               > "${T}/vscode-url-handler.desktop" || die
+
+       sed "s|@exec_extra_flags@|${EXEC_EXTRA_FLAGS[*]}|g" \
+               "${FILESDIR}/vscode.desktop" \
+               > "${T}/vscode.desktop" || die
+
+       domenu "${T}/vscode.desktop"
+       domenu "${T}/vscode-url-handler.desktop"
        newicon "resources/app/resources/linux/code.png" "vscode.png"
 }
 

Reply via email to