Peppermint-Classic-Build-Files/PeppermintOS-Classic-i386/config/includes.chroot/usr/share/peppermint-font-dpi-settings/peppermint-font-dpi-settings

52 lines
1.3 KiB
Python

#!/usr/bin/env python3
import os
import subprocess
nemo_desktop_stop = 'pkill -u $USER nemo-desktop'
nemo_desktop_start = 'nohup nemo-desktop >/dev/null 2>&1 &'
path = f'{os.getenv("HOME")}/.config/lxsession/LXDE/desktop.conf'
with open(path, 'r+') as io:
text = io.read()
active = False
lines = text.split('\n')
for line in lines:
if line.startswith('iXft/DPI='):
active = True
value = int(int(line.split('=')[1])/1024)
if active:
resultObject = subprocess.run([
'yad',
'--title="Font DPI Settings"',
'--width=500',
'--scale',
'--text-align=center',
'--text="Select desired Font DPI, then click OK to apply (Default = 96)"',
'--min-value=72',
'--max-value=240',
'--window-icon=font-select-symbolic',
f'--value={value}'
], stdout=subprocess.PIPE)
if resultObject.returncode:
print('iXft config cancelled')
else:
dpi = int(resultObject.stdout.decode())*1024
for i in range(len(lines)):
if lines[i].startswith('iXft/DPI='):
lines[i]=f'iXft/DPI={dpi}'
text = '\n'.join(lines)
with open(path, 'w') as io:
io.write(text)
os.system(nemo_desktop_stop)
os.system(nemo_desktop_start)
print(f'iXft set to {dpi}')
else:
print('(iXft not active)')