52 lines
1.3 KiB
Python
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)')
|