Files
Autodesk-Fusion-360-for-Linux/files/builds/development-branch/install.py

348 lines
22 KiB
Python
Raw Normal View History

2022-07-01 09:09:35 +02:00
#!/usr/bin/env python3
2022-06-27 08:40:42 +02:00
2022-07-01 09:09:35 +02:00
####################################################################################################
# Name: Autodesk Fusion 360 - Setup Wizard (Linux) #
# Description: With this file you can install Autodesk Fusion 360 on Linux. #
# Author: Steve Zabka #
# Author URI: https://cryinkfly.com #
# License: MIT #
# Copyright (c) 2020-2022 #
2022-09-19 20:07:05 +02:00
# Time/Date: 20:00/19.09.2022 #
2022-07-01 09:09:35 +02:00
# Version: 1.8.1 > 1.8.2 #
####################################################################################################
2022-06-27 08:40:42 +02:00
2022-07-01 09:09:35 +02:00
# Path: /$HOME/.fusion360/bin/setup.py
2022-06-29 07:53:43 +02:00
2022-07-01 09:09:35 +02:00
###############################################################################################################################################################
# DESCRIPTION IN DETAIL #
###############################################################################################################################################################
# With the help of my setup wizard, you will be given a way to install Autodesk Fusion 360 with some extensions on #
# Linux so that you don't have to use Windows or macOS for this program in the future! #
# #
# Also, my setup wizard will guides you through the installation step by step and will install some required packages. #
# #
# The next one is you have the option of installing the program directly on your system or you can install it on an external storage medium. #
# #
# But it's important to know, you must to purchase the licenses directly from the manufacturer of Autodesk Fusion 360, when you will work with them on Linux! #
###############################################################################################################################################################
2022-06-27 08:40:42 +02:00
2022-07-01 09:09:35 +02:00
import tkinter as tk
from tkinter import ttk
2022-07-04 18:41:07 +02:00
from tkinter.messagebox import askokcancel, showinfo, WARNING
2022-09-19 20:07:05 +02:00
from PIL import Image, ImageTk
2022-07-04 18:41:07 +02:00
import os
2022-06-27 08:40:42 +02:00
2022-07-01 09:09:35 +02:00
###############################################################################################################################################################
2022-07-10 10:48:01 +02:00
# CREATE A WINDOW FOR THE SETUP WIZARD HERE: #
2022-07-01 09:09:35 +02:00
###############################################################################################################################################################
2022-06-27 08:40:42 +02:00
2022-07-10 10:48:01 +02:00
# Set up the color:
2022-09-19 20:07:05 +02:00
color1 = "#ff6b00"
color2 = "#222222"
color3 = "#efefef"
color4 = "#ffffff"
2022-07-10 10:48:01 +02:00
2022-07-01 09:09:35 +02:00
# Create this window:
window = tk.Tk()
window.title('Setup Wizard - Autodesk Fusion 360 for Linux')
2022-09-19 20:07:05 +02:00
window.configure(bg=color1)
2022-06-29 07:53:43 +02:00
# ----------------------------------------------------------------------------------------------- #
2022-07-01 09:09:35 +02:00
# Set the height and width of this window:
window_height = 450
window_width = 750
# Get the screen height and width values:
screen_width = window.winfo_screenwidth()
screen_height = window.winfo_screenheight()
# Write the formula for center this window:
x_cordinate = int((screen_width/2) - (window_width/2))
y_cordinate = int((screen_height/2) - (window_height/2))
# Set the geometry of this window:
window.geometry("{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate))
2022-06-29 07:53:43 +02:00
2022-07-10 10:48:01 +02:00
###############################################################################################################################################################
# CREATE A ROOT-CONTAINER FOR THE NOTEBOOK-TABS HERE: #
###############################################################################################################################################################
2022-06-29 07:53:43 +02:00
2022-09-19 20:07:05 +02:00
img = tk.PhotoImage(file='./images/welcome.png')
2022-07-10 10:48:01 +02:00
notebook_style1 = ttk.Style()
notebook_style1.theme_create( "theme_notebook_tabs", parent="alt", settings={
2022-06-29 07:53:43 +02:00
"TNotebook": {"configure": {"tabmargins": [2, 5, 2, 0] } },
"TNotebook.Tab": {
2022-09-19 20:07:05 +02:00
"configure": {"padding": [5, 1], "background": color3 },
"map": {"background": [("selected", color2)], "foreground": [("selected", color1)],
2022-06-29 07:53:43 +02:00
"expand": [("selected", [1, 1, 1, 0])] } } } )
2022-07-10 10:48:01 +02:00
notebook_style1.theme_use("theme_notebook_tabs")
2022-06-29 07:53:43 +02:00
2022-07-10 10:48:01 +02:00
notebook_style1 = ttk.Style(window)
2022-09-19 20:07:05 +02:00
notebook_style1.configure('lefttab.TNotebook', background=color1, tabposition='nw')
2022-07-10 10:48:01 +02:00
notebook1 = ttk.Notebook(window, style='lefttab.TNotebook')
2022-07-01 09:09:35 +02:00
# Configure the tabs:
2022-09-19 20:07:05 +02:00
notebook1_tab1 = tk.Frame(notebook1, width=700, height=400, bg=color3)
notebook1_tab2 = tk.Frame(notebook1, width=700, height=400, bg=color3)
notebook1_tab3 = tk.Frame(notebook1, width=700, height=400, bg=color3)
notebook1_tab4 = tk.Frame(notebook1, width=700, height=400, bg=color3)
notebook1_tab5 = tk.Frame(notebook1, width=700, height=400, bg=color3)
notebook1_tab6 = tk.Frame(notebook1, width=700, height=400, bg=color3)
2022-07-01 09:09:35 +02:00
# Add the tabs to Notebook widget:
2022-07-10 10:48:01 +02:00
notebook1.add(notebook1_tab1, text='Welcome',)
notebook1.add(notebook1_tab2, text='Installation')
notebook1.add(notebook1_tab3, text='Plugins')
notebook1.add(notebook1_tab4, text='System Info')
notebook1.add(notebook1_tab5, text='About')
notebook1.add(notebook1_tab6, text='Help')
notebook1.pack(pady=20,padx=20, expand=True)
2022-06-29 07:53:43 +02:00
2022-06-29 21:48:09 +02:00
###############################################################################################################################################################
2022-07-01 09:09:35 +02:00
# ALL NOTEBOOK_TAB-1-FUNCTIONS ARE ARRANGED HERE: #
2022-06-29 21:48:09 +02:00
###############################################################################################################################################################
2022-07-01 20:08:40 +02:00
# Frame 1 - Left-Side:
2022-09-19 20:07:05 +02:00
notebook1_tab1_frame_photo = tk.PhotoImage(file='./images/welcome.png')
2022-07-10 10:48:01 +02:00
notebook1_tab1_frame_image_label = ttk.Label(notebook1_tab1, image=notebook1_tab1_frame_photo)
notebook1_tab1_frame_image_label.pack(padx=20, pady=20, side='left', fill='both', expand=True)
2022-06-29 21:48:09 +02:00
2022-07-01 20:08:40 +02:00
# ----------------------------------------------------------------------------------------------- #
# Frame 2 - Right-Side:
2022-09-19 20:07:05 +02:00
notebook1_tab1_frame_text = tk.Frame(notebook1_tab1, background=color3)
2022-07-10 10:48:01 +02:00
notebook1_tab1_frame_text.pack(padx=40)
2022-09-19 20:07:05 +02:00
notebook1_tab1_frame_title = tk.Label(notebook1_tab1_frame_text, text="Welcome to the Autodesk Fusion 360 for Linux Setup Wizard", font=(24), background=color3)
2022-07-10 10:48:01 +02:00
notebook1_tab1_frame_title.pack(pady=20, anchor="w")
2022-09-19 20:07:05 +02:00
notebook1_tab1_frame_label1 = tk.Label(notebook1_tab1_frame_text, text="Many thanks to you for deciding to use my setup wizard to be able to use Autodesk Fusion 360 on your computer.", wraplength=430, justify="left", background=color3)
2022-07-10 10:48:01 +02:00
notebook1_tab1_frame_label1.pack(pady=5, anchor="w")
2022-09-19 20:07:05 +02:00
notebook1_tab1_frame_label2 = tk.Label(notebook1_tab1_frame_text, text="This quick setup wizard will help you configure the basic settings and install the program. Furthermore, it is possible to install some tested plugins after the installation.", wraplength=430, justify="left", background=color3)
2022-07-10 10:48:01 +02:00
notebook1_tab1_frame_label2.pack(pady=5, anchor="w")
2022-09-19 20:07:05 +02:00
notebook1_tab1_frame_label3 = tk.Label(notebook1_tab1_frame_text, text="Depending on your current environment, setup may involve:", wraplength=430, background=color3)
2022-07-10 10:48:01 +02:00
notebook1_tab1_frame_label3.pack(pady=5, anchor="w")
2022-09-19 20:07:05 +02:00
notebook1_tab1_frame_label4 = tk.Label(notebook1_tab1_frame_text, text="- Checking your system for minimum installation requirements.", wraplength=430, background=color3)
2022-07-10 10:48:01 +02:00
notebook1_tab1_frame_label4.pack(anchor="w")
2022-09-19 20:07:05 +02:00
notebook1_tab1_frame_label5 = tk.Label(notebook1_tab1_frame_text, text="- It is recommended that you close all other applications before continuing.", wraplength=430, background=color3)
2022-07-10 10:48:01 +02:00
notebook1_tab1_frame_label5.pack(anchor="w")
2022-09-19 20:07:05 +02:00
notebook1_tab1_frame_label6 = tk.Label(notebook1_tab1_frame_text, text="Click Next to continue, or Cancel to exit the Setup Wizard.", wraplength=430, background=color3)
2022-07-10 10:48:01 +02:00
notebook1_tab1_frame_label6.pack(pady=20, anchor="w")
2022-07-01 20:08:40 +02:00
# ----------------------------------------------------------------------------------------------- #
# Frame 3 - Right-Side:
2022-09-19 20:07:05 +02:00
notebook1_tab1_frame_button = tk.Frame(notebook1_tab1, background=color3)
2022-07-10 10:48:01 +02:00
notebook1_tab1_frame_button.pack(padx=15, pady=15, side='bottom', anchor="e")
2022-09-19 20:07:05 +02:00
notebook1_tab1_frame_button1 = tk.Button(notebook1_tab1_frame_button,text='< Back',width=6,height=1, underline=2, state=tk.DISABLED, background=color4)
2022-07-10 10:48:01 +02:00
notebook1_tab1_frame_button1.grid(row=0, column=0, padx=5, pady=5)
notebook1_tab1_frame_button1.grid_rowconfigure(0, weight=1)
2022-09-19 20:07:05 +02:00
notebook1_tab1_frame_button2 = tk.Button(notebook1_tab1_frame_button,text='Cancel',width=6,height=1, underline=0, command=lambda:window.quit(), background=color4)
2022-07-10 10:48:01 +02:00
notebook1_tab1_frame_button2.grid(row=0, column=1, padx=5, pady=5)
2022-09-19 20:07:05 +02:00
notebook1_tab1_frame_button3 = tk.Button(notebook1_tab1_frame_button,text='Next >',width=6,height=1, underline=0, command=lambda:notebook.select(notebook_tab2), background=color4)
2022-07-10 10:48:01 +02:00
notebook1_tab1_frame_button3.grid(row=0, column=2, padx=5, pady=5)
2022-09-19 20:07:05 +02:00
notebook1_tab1_frame_button4 = tk.Button(notebook1_tab1_frame_button,text='Help',width=6,height=1, underline=0, command=lambda:notebook.select(notebook_tab7), background=color4)
2022-07-10 10:48:01 +02:00
notebook1_tab1_frame_button4.grid(row=0, column=3, padx=5, pady=5)
###############################################################################################################################################################
# CREATE A CONTAINER FOR THE NOTEBOOK-TAB2-TABS HERE: #
###############################################################################################################################################################
notebook_style2 = ttk.Style(notebook1_tab2)
2022-09-19 20:07:05 +02:00
notebook_style2.configure('bottomtab.TNotebook', tabposition='se', background=color3)
2022-07-10 10:48:01 +02:00
notebook2 = ttk.Notebook(notebook1_tab2, style='bottomtab.TNotebook')
2022-09-19 20:07:05 +02:00
notebook2_tab1 = tk.Frame(notebook2, background=color3)
notebook2_tab2 = tk.Frame(notebook2, background=color3)
notebook2_tab3 = tk.Frame(notebook2, background=color3)
notebook2_tab4 = tk.Frame(notebook2, background=color3)
2022-07-10 10:48:01 +02:00
notebook2.add(notebook2_tab1, text='1')
notebook2.add(notebook2_tab2, text='2')
notebook2.add(notebook2_tab3, text='3')
notebook2.add(notebook2_tab4, text='4')
notebook2.pack(expand=True)
2022-06-29 21:48:09 +02:00
2022-07-01 20:08:40 +02:00
###############################################################################################################################################################
# ALL NOTEBOOK_TAB-2-FUNCTIONS ARE ARRANGED HERE: #
###############################################################################################################################################################
# Frame 1 - Left-Side:
2022-09-19 20:07:05 +02:00
notebook2_tab2_frame_photo = tk.PhotoImage(file='./images/welcome.png')
2022-07-10 10:48:01 +02:00
notebook2_tab2_frame_image_label = ttk.Label(notebook2_tab1, image=notebook2_tab2_frame_photo)
notebook2_tab2_frame_image_label.pack(padx=20, pady=20, side='left', fill='both', expand=True)
2022-06-29 21:48:09 +02:00
2022-07-01 20:08:40 +02:00
# ----------------------------------------------------------------------------------------------- #
2022-06-29 21:48:09 +02:00
2022-07-01 20:08:40 +02:00
# Frame 2 - Right-Side:
2022-09-19 20:07:05 +02:00
notebook2_tab2_frame_text = tk.Frame(notebook2_tab1, background=color3)
2022-07-10 10:48:01 +02:00
notebook2_tab2_frame_text.pack(padx=40, anchor="w")
2022-06-29 21:48:09 +02:00
2022-09-19 20:07:05 +02:00
notebook2_tab2_frame_title = tk.Label(notebook2_tab2_frame_text, text="Welcome to the Autodesk Fusion 360 for Linux Setup Wizard", font=(24), background=color3)
notebook2_tab2_frame_title = tk.Label(notebook2_tab2_frame_text, text="Configure the Autodesk Fusion 360 for Linux Setup Wizard", font=(24), background=color3)
2022-07-10 10:48:01 +02:00
notebook2_tab2_frame_title.pack(pady=20, anchor="w")
2022-06-29 21:48:09 +02:00
2022-09-19 20:07:05 +02:00
notebook2_tab2_frame_label1 = tk.Label(notebook2_tab2_frame_text, text="In this step you can change some settings to apply your desired configuration of Autodesk Fusion 360 on your computer.", wraplength=430, justify="left", background=color3)
2022-07-10 10:48:01 +02:00
notebook2_tab2_frame_label1.pack(pady=5, anchor="w")
2022-06-29 21:48:09 +02:00
2022-07-01 20:08:40 +02:00
# ----------------------------------------------------------------------------------------------- #
2022-06-29 21:48:09 +02:00
2022-09-19 20:07:05 +02:00
def change_distro_logo(event):
if selected_linux_distro.get() == 'Arch Linux':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/archlinux.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Debian 10':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/debian.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Debian 11':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/debian.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Fedora 35':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/fedora.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Fedora 36':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/fedora.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Linux Mint 19.x':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/linuxmint.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Linux Mint 20.x':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/linuxmint.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'openSUSE Leap 15.2':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/opensuse.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'openSUSE Leap 15.3':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/opensuse.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'openSUSE Leap 15.4':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/opensuse.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'openSUSE Tumbleweed':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/opensuse.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Pop!_OS 20.04':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/popos.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Pop!_OS 22.04':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/popos.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Raspberry Pi Desktop':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/rpios.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Red Hat Enterprise Linux 8.x':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/redhat.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Red Hat Enterprise Linux 9.x':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/redhat.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Solus':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/solus.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Ubuntu 18.04':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/ubuntu.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Ubuntu 20.04':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/ubuntu.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Ubuntu 22.04':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/ubuntu.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Void Linux':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/voidlinux.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
elif selected_linux_distro.get() == 'Gentoo Linux':
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/gentoolinux.png"))
notebook2_tab2_frame_image_label1.configure(image=notebook2_tab2_frame_photo1)
notebook2_tab2_frame_image_label1.image = notebook2_tab2_frame_photo1
2022-07-04 18:41:07 +02:00
# ----------------------------------------------------------------------------------------------- #
2022-07-01 20:08:40 +02:00
2022-07-04 18:41:07 +02:00
# Show a list of supported Linux Distro's
2022-07-01 20:08:40 +02:00
selected_linux_distro = tk.StringVar()
2022-09-19 20:07:05 +02:00
linux_distros = ['Arch Linux',
'Manjaro',
'Debian 10',
2022-07-01 20:08:40 +02:00
'Debian 11',
'Fedora 35',
2022-09-19 20:07:05 +02:00
'Fedora 36',
'Linux Mint 19.x',
'Linux Mint 20.x',
'MX Linux 19.4',
2022-07-01 20:08:40 +02:00
'openSUSE Leap 15.2',
'openSUSE Leap 15.3',
'openSUSE Tumbleweed',
2022-09-19 20:07:05 +02:00
'Pop!_OS 20.04',
'Pop!_OS 22.04',
'Raspberry Pi Desktop',
2022-07-01 20:08:40 +02:00
'Red Hat Enterprise Linux 8.x',
'Red Hat Enterprise Linux 9.x',
'Solus',
2022-09-19 20:07:05 +02:00
'Ubuntu 18.04',
'Ubuntu 20.04',
'Ubuntu 22.04',
2022-07-01 20:08:40 +02:00
'Void Linux',
'Gentoo Linux']
2022-09-19 20:07:05 +02:00
style_missed_combobox = ttk.Style()
style_missed_combobox.configure("Red.TCombobox", fieldbackground=color4, background=color1, foreground=color2, selectforeground=color2, selectbackground=color4)
notebook2_tab2_frame_label2 = ttk.Label(notebook2_tab2_frame_text, text="1.) Select your installed Linux distro:", background=color3)
2022-07-10 10:48:01 +02:00
notebook2_tab2_frame_label2.pack(fill='x', padx=5, pady=5)
2022-07-01 20:08:40 +02:00
2022-09-19 20:07:05 +02:00
notebook2_tab2_frame_photo1 = ImageTk.PhotoImage(Image.open("./images/archlinux.png"))
notebook2_tab2_frame_image_label1 = ttk.Label(notebook2_tab2_frame_text, image=notebook2_tab2_frame_photo1, background=color3)
notebook2_tab2_frame_image_label1.pack(side='left')
notebook2_tab2_frame_combobox1 = ttk.Combobox(notebook2_tab2_frame_text, values=linux_distros, textvariable=selected_linux_distro, width=25, justify='center', style="Red.TCombobox")
notebook2_tab2_frame_combobox1.pack(side='left', fill='x', padx=5, pady=5)
notebook2_tab2_frame_combobox1.set('Arch Linux') # default selected option
2022-07-10 10:48:01 +02:00
notebook2_tab2_frame_combobox1['state'] = 'readonly'
2022-09-19 20:07:05 +02:00
notebook2_tab2_frame_combobox1.bind("<<ComboboxSelected>>", change_distro_logo)
2022-06-29 21:48:09 +02:00
2022-07-01 20:08:40 +02:00
# ----------------------------------------------------------------------------------------------- #
2022-06-29 07:53:43 +02:00
2022-07-01 20:08:40 +02:00
# Frame 3 - Right-Side:
2022-09-19 20:07:05 +02:00
notebook2_tab2_frame_button = tk.Frame(notebook2_tab1, background=color3)
2022-07-10 10:48:01 +02:00
notebook2_tab2_frame_button.pack(padx=15, pady=15, side='bottom', anchor="e")
2022-09-19 20:07:05 +02:00
notebook2_tab2_frame_button1 = tk.Button(notebook2_tab2_frame_button,text='< Back',width=6,height=1, underline=2, command=lambda:notebook.select(notebook_tab1), background=color4)
2022-07-10 10:48:01 +02:00
notebook2_tab2_frame_button1.grid(row=0, column=0, padx=5, pady=5)
notebook2_tab2_frame_button1.grid_rowconfigure(0, weight=1)
2022-09-19 20:07:05 +02:00
notebook2_tab2_frame_button2 = tk.Button(notebook2_tab2_frame_button,text='Cancel',width=6,height=1, underline=0, command=lambda:window.quit(), background=color4)
2022-07-10 10:48:01 +02:00
notebook2_tab2_frame_button2.grid(row=0, column=1, padx=5, pady=5)
2022-09-19 20:07:05 +02:00
notebook2_tab2_frame_button3 = tk.Button(notebook2_tab2_frame_button,text='Next >',width=6,height=1, underline=0, command=show_selected_linux_distro, background=color4)
2022-07-10 10:48:01 +02:00
notebook2_tab2_frame_button3.grid(row=0, column=2, padx=5, pady=5)
2022-09-19 20:07:05 +02:00
notebook2_tab2_frame_button4 = tk.Button(notebook2_tab2_frame_button,text='Help',width=6,height=1, underline=0, command=lambda:notebook.select(notebook_tab7), background=color4)
2022-07-10 10:48:01 +02:00
notebook2_tab2_frame_button4.grid(row=0, column=3, padx=5, pady=5)
2022-07-09 15:08:09 +02:00
2022-07-01 09:09:35 +02:00
window.mainloop()