Program: .desktop oluşturucu ve Application Menu için Kısayol oluşturucu

222744

Gigapat
İlk 5 Haneli Mesajınız!
Katılım
27 Temmuz 2018
Mesajlar
11.217
Makaleler
5
Çözümler
57
Kendi ellerimle yazdım, bağımlılık olarak PySimpleGUI kullanıyor onun dışında bir ihtiyacı yok.
Terminalden çalıştırabilirsiniz belki ileride appimage yaparım.
Fazla gelişmiş bir program değil, işimi görsün diye yazdım, şu anda pysimplegui'nin ilkelliği sebebiyle folder değil sadece tekil dosya taşıyabiliyor, ileride ,söz vermemekle beraber, klasör taşımayı da ekleyebilirim.
Kullanım sorumluluğu tamamen sizin ve istediğiniz yerini değiştirebilir ve istediğiniz şekilde dağıtabilirsiniz. Programı kullanarak kullandığım pysimplegui ve python'un da kullanım sözleşmesini kabul etmiş olursunuz.
Üşenenler için .py hali
Kod:
import os
import shutil
import PySimpleGUI as sg
sg.theme("Reddit")


def programMain():
    program_main = [
        [
            sg.Text("Enter the location of your app"),
            sg.FileBrowse(enable_events=True, key="-IN-"),
        ],
        [
            sg.Text("Enter the name you want to set in shortcut"),
            sg.In(size=(30, 1), enable_events=True, key="-APP_NAME-"),
        ],
        [
            sg.Text("Arguements of execution                             "),
            sg.In(size=(30, 1), enable_events=True, key="-PRE-"),
            sg.Button("OK"),
        ],
    ]
    program_read = sg.Window("shortcut maker", program_main)
    while True:
        event, values = program_read.read()
        if event == "OK":
            apploc = values["-IN-"]
            programname = os.path.basename(apploc)
            programname_nospace = programname.replace(" ", "_")
            print(apploc)
            appshortcutname = values["-APP_NAME-"]
            appsettings = values["-PRE-"]
            shutil.copy(apploc, f"/home/{os.getlogin()}/.local/share")
            os.rename(f"/home/{os.getlogin()}/.local/share/{programname}",
                      f"/home/{os.getlogin()}/.local/share/{programname_nospace}")
            make_shortcut = open(f"{appshortcutname}.desktop", "w")
            make_shortcut.write(
                f"[Desktop Entry]\nType=Application\nName={appshortcutname}\nExec={appsettings} /home/{os.getlogin()}/.local/share/{programname_nospace}\nTerminal=false")
            make_shortcut.close()
            shutil.copy(f"{appshortcutname}.desktop", f"/home/{os.getlogin()}/.local/share/applications")
        if event == sg.WINDOW_CLOSED:
            break


ch = sg.popup_ok_cancel("THIS PROGRAM COMES WITH ABSOLUTELY NO WARRANTY. YOU ARE THE ONLY RESPONSIBLE PERSON FOR WHAT YOU DO WITH THIS PROGRAM, I DON'T TAKE ANY LEGAL LIABILITY ABOUT THIS PROGRAM AND WHAT DO YOU DO WITH IT . YOU CAN USE, DISTRIBUTE, CHANGE IT AS YOU WISH. YOU CAN REPORT BUGS TO ME AT insanimsi455@gmail.com BUT I MAY NOT FIX THAT TOO. BY USING THIS PROGRAM YOU AGREE TO TERMS OF USE OF PySimpleGUI AND Python TOO. CLICK *OK* TO CONTINUE AND AGREE THIS TERMS, CLICK *Cancel* TO EXIT ", title="WARNING")
if ch == "OK":
    programMain()
if ch == "Cancel":
    exit()
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…