Add drun_cleaner script that removes select .desktop files
This commit is contained in:
parent
beffbb97ed
commit
95088fab84
54
drun_cleaner.py
Normal file
54
drun_cleaner.py
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
# This script adds 'NoDisplay=true' to blacklisted application
|
||||||
|
# desktop entries commonly found in /usr/share/applications
|
||||||
|
# and $HOME/.local/share/applications.
|
||||||
|
#
|
||||||
|
# Ferit Yigit BALABAN <fyb@duck.com>, 2022
|
||||||
|
|
||||||
|
# Usage:
|
||||||
|
# This script will check append every filename in blacklist
|
||||||
|
# to every directory name in search_folders. Resulting paths
|
||||||
|
# will then be checked if they exist. Files that exist will
|
||||||
|
# get appended with 'NoDisplay=true'.
|
||||||
|
#
|
||||||
|
# Note: You can use environment variables in search_directories,
|
||||||
|
# but you mustn't use them in blacklist.
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
def modify_file(path):
|
||||||
|
with open(path, 'a') as stream:
|
||||||
|
if 'NoDisplay=true' not in stream:
|
||||||
|
stream.write('NoDisplay=true')
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
blacklist = [
|
||||||
|
'avahi-discover.desktop',
|
||||||
|
'electron16.desktop',
|
||||||
|
'bssh.desktop',
|
||||||
|
'bvnc.desktop',
|
||||||
|
'qv4l2.desktop',
|
||||||
|
'qvidcap.desktop'
|
||||||
|
]
|
||||||
|
|
||||||
|
search_directories = ['/usr/share/applications', '$HOME/.local/share/applications']
|
||||||
|
search_directories = [os.path.expandvars(path) for path in search_directories]
|
||||||
|
for directory in search_directories:
|
||||||
|
for file in blacklist:
|
||||||
|
if os.path.exists(directory + '/' + file):
|
||||||
|
full_path = directory + '/' + file
|
||||||
|
_ = modify_file(full_path)
|
||||||
|
if _:
|
||||||
|
print(f'Appended "NoDisplay=true" 0 {full_path}')
|
||||||
|
else:
|
||||||
|
print(f'File {full_path} already had "NoDisplay=true"')
|
||||||
|
print('Reached end of combinations. Good bye!')
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
Loading…
x
Reference in New Issue
Block a user