scripts/drun_cleaner.py
2022-03-23 11:12:36 +03:00

55 lines
1.6 KiB
Python

#!/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()