79 lines
2.1 KiB
Python
Executable File
79 lines
2.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import os
|
|
import subprocess as sp
|
|
import tkinter as tk
|
|
import ttkbootstrap as ttk
|
|
from tendo import singleton
|
|
|
|
|
|
#setting up window
|
|
pexs = ttk.Window(themename="darkly")
|
|
window_height = 130
|
|
window_width = 400
|
|
pexs.title('Check CodeBerg Connection')
|
|
pexs.tk.call('wm', 'iconphoto', pexs._w, tk.PhotoImage(file='/usr/share/pixmaps/peppermint-old.png'))
|
|
|
|
#keep only instance at a time
|
|
me = singleton.SingleInstance()
|
|
|
|
def center_screen():
|
|
""" gets the coordinates of the center of the screen """
|
|
global screen_height, screen_width, x_cordinate, y_cordinate
|
|
|
|
screen_width = pexs.winfo_screenwidth()
|
|
screen_height = pexs.winfo_screenheight()
|
|
# Coordinates of the upper left corner of the window to make the window appear in the center
|
|
x_cordinate = int((screen_width/2) - (window_width/2))
|
|
y_cordinate = int((screen_height/2) - (window_height/2))
|
|
pexs.geometry("{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate))
|
|
|
|
#Check if user can connect to codeberg
|
|
def cb ():
|
|
|
|
cmd = os.system('wget -q --spider https://codeberg.org/Peppermint_OS/ ')
|
|
# cmd = os.system('ping codeberg.org -w 4 >/dev/null ')
|
|
if cmd == 0:
|
|
#new placement for install
|
|
btgo.place(x=220, y=70)
|
|
#take the check button way out of view (hide)
|
|
btck.place(x=-9000, y=0)
|
|
#reset the label text
|
|
lblexp.configure(text="Connection to CodeBerg successful!")
|
|
#neplatment for label
|
|
lblexp.place(x=40, y=30)
|
|
|
|
else:
|
|
os.system('python3 /opt/pypep/nointer.py')
|
|
|
|
def ico ():
|
|
|
|
sp.call(['xfce4-terminal', '-x','/opt/pypep/icons.sh'])
|
|
|
|
|
|
def killme():
|
|
pexs.destroy()
|
|
os.popen ('python3 /opt/pypep/pge.py')
|
|
|
|
|
|
#Message information
|
|
lblexp = ttk.Label(pexs, text="Check Codeberg Connection...")
|
|
lblexp.place(x=80, y=30)
|
|
|
|
###All the buttons and placements##
|
|
|
|
btcan = ttk.Button(text='Cancel', bootstyle="danger-outline", width=8, command=killme )
|
|
btcan.place(x=100, y=70)
|
|
btgo = ttk.Button(text='Install', bootstyle="danger-outline", width=8, command=ico)
|
|
|
|
btck = ttk.Button(text='Check', bootstyle="danger-outline", width=8, command=cb)
|
|
btck.place(x=220, y=70)
|
|
|
|
|
|
|
|
#call Center screen
|
|
center_screen()
|
|
|
|
|
|
pexs.mainloop()
|