mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-07 00:04:15 +02:00
[appimage] fix -> some installed applications cannot be launched by their desktop entries
This commit is contained in:
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
|
|||||||
|
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||||
|
|
||||||
|
## [0.9.11]
|
||||||
|
### Fixes
|
||||||
|
- AppImage
|
||||||
|
- some installed applications cannot be launched by their desktop entries (regression from **0.9.10**) [#155](https://github.com/vinifmor/bauh/issues/155). If any of your installed AppImages are affected by this issue, just reinstall them.
|
||||||
|
|
||||||
## [0.9.10] 2020-12-11
|
## [0.9.10] 2020-12-11
|
||||||
### Features
|
### Features
|
||||||
- Web
|
- Web
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
__version__ = '0.9.10'
|
__version__ = '0.9.11'
|
||||||
__app_name__ = 'bauh'
|
__app_name__ = 'bauh'
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|||||||
@@ -26,10 +26,16 @@ def replace_desktop_entry_exec_command(desktop_entry: str, appname: str, file_pa
|
|||||||
cmd = RE_MANY_SPACES.sub(' ', exec_groups[1].strip())
|
cmd = RE_MANY_SPACES.sub(' ', exec_groups[1].strip())
|
||||||
if cmd:
|
if cmd:
|
||||||
words = cmd.split(' ')
|
words = cmd.split(' ')
|
||||||
|
changed = False
|
||||||
|
|
||||||
for idx in range(len(words)):
|
for idx in range(len(words)):
|
||||||
if words[idx].lower() == treated_name:
|
if words[idx].lower() == treated_name:
|
||||||
words[idx] = '"{}"'.format(file_path)
|
words[idx] = '"{}"'.format(file_path)
|
||||||
|
changed = True
|
||||||
|
break
|
||||||
|
|
||||||
|
if not changed:
|
||||||
|
words = ['"{}"'.format(file_path)]
|
||||||
|
|
||||||
final_entry = final_entry.replace(full_match, full_match.replace(exec_groups[1], ' '.join(words)))
|
final_entry = final_entry.replace(full_match, full_match.replace(exec_groups[1], ' '.join(words)))
|
||||||
|
|
||||||
|
|||||||
@@ -237,3 +237,40 @@ Keywords=PS3;Playstation;
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
self.assertEqual(expected, res)
|
self.assertEqual(expected, res)
|
||||||
|
|
||||||
|
def test_replace_desktop_entry_exec_command__it_should_replace_the_command_by_the_file_path_if_the_appname_is_not_present(self):
|
||||||
|
desktop_entry = """
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=GameHub
|
||||||
|
GenericName=GameHub
|
||||||
|
Comment=All your games in one place
|
||||||
|
Categories=Game;Amusement;
|
||||||
|
Keywords=Game;Hub;Steam;GOG;Humble;HumbleBundle;
|
||||||
|
Exec=com.github.tkashkin.gamehub
|
||||||
|
X-GNOME-Gettext-Domain=com.github.tkashkin.gamehub
|
||||||
|
Icon=/gamehub-0/logo.svg
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
X-AppImage-Version=bionic-0.16.0-83-dev-0ca783e
|
||||||
|
"""
|
||||||
|
|
||||||
|
res = replace_desktop_entry_exec_command(desktop_entry=desktop_entry,
|
||||||
|
appname='gamehub',
|
||||||
|
file_path='/path/to/gamehub.appimage')
|
||||||
|
|
||||||
|
expected = """
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=GameHub
|
||||||
|
GenericName=GameHub
|
||||||
|
Comment=All your games in one place
|
||||||
|
Categories=Game;Amusement;
|
||||||
|
Keywords=Game;Hub;Steam;GOG;Humble;HumbleBundle;
|
||||||
|
Exec="/path/to/gamehub.appimage"
|
||||||
|
X-GNOME-Gettext-Domain=com.github.tkashkin.gamehub
|
||||||
|
Icon=/gamehub-0/logo.svg
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
X-AppImage-Version=bionic-0.16.0-83-dev-0ca783e
|
||||||
|
"""
|
||||||
|
|
||||||
|
self.assertEqual(expected, res)
|
||||||
|
|||||||
Reference in New Issue
Block a user