Linux Lite Forums

Full Version: Who wants to write a basic About box for Linux Lite?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6
Awesome Smile

Sent from my Mobile phone using Tapatalk

Looking good [member=411]bitsnpcs[/member]


;D ;D ;D ;D
(10-17-2018, 04:29 PM)firenice03 link Wrote:Looking good [member=411]bitsnpcs[/member]


Thank You [member=2]Jerry[/member]  Smile and [member=5414]firenice03[/member]  Smile
[member=2]Jerry[/member]  I cannot find a way to remove the minimize button that reduces the window to the panel.
Small changes -
aligned last row of buttons a little better.
Altered Copyright line to bring the C logo and word Copyright closer/spaced correctly.


[Image: llver5.png]

Updated code

Code:
#!/usr/bin/env python
# code by bitsnpcs

from Tkinter import *
import webbrowser

url1 = 'https://www.linuxliteos.com/development.html#team'
url2 = 'https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html'
url3 = 'https://www.linuxliteos.com/'

# open browser and display url at line 7 thru 9
def OpenUrl1():
    webbrowser.open(url1)

def OpenUrl2():
    webbrowser.open(url2)

def OpenUrl3():
    webbrowser.open(url3)
   
def close_window():
    window.destroy()

# Make window
window = Tk()
window.title("About Linux Lite")
window.geometry("242x242")
window.resizable(0,0)

# adding a logo
photo=PhotoImage(file="logo.png")
l1 = Label(image=photo)
l1.grid(row=4, column=0)

# adding a frame for ll website button
GUIFrame1=Frame(window)
GUIFrame1.grid(row=10, column=0)

#adding a frame for last row of buttons
GUIFrame2=Frame(window)
GUIFrame2.grid(row=11, column=0)

# define title, nym, year
l2 = Label(window, text=u"\u00a9Copyright 2012-2018 Jerry Bezencon", fg="grey", font="none 8")
l2.grid(row=13, column=0)

l3 = Label(window, text="     ")
l3.grid(row=0, column=0, sticky=W)
l3 = Label(window, text="     ")
l3.grid(row=10, column=0, sticky=W)
l3 = Label(window, text="     ")

l3.grid(row=7, column=0, sticky=W)
l3 = Label(window, text="     ")
l3.grid(row=12, column=0, sticky=W)

l4 = Label(window, text="Current Version: 5.0")
l4.grid(row=8, column=0)
l3 = Label(window, text="      ")
l3.grid(row=9, column=0, sticky=W)

# ll website button
l5 = Label(GUIFrame1, text=" ")
l5.grid(row=11, column=0, sticky=W)
Button(GUIFrame1, text="Visit Linux Lite website", width=19, command=OpenUrl3).grid(row=10, column=1, sticky=W)

# last row of buttons
l6 = Label(GUIFrame2, text=" ")
l6.grid(row=11, column=0)
Button(GUIFrame2, text="Credits", width=6, command=OpenUrl1).grid(row=11, column=1)
Button(GUIFrame2, text="License", width=6, command=OpenUrl2).grid(row=11, column=2)
Button(GUIFrame2, text="Close", width=6, command=window.destroy).grid(row=11, column=3)

window.mainloop()

Edited -
further edited code for button aligned image is new screenshot after this

code in Gedit, (Gedit theme monokai extended) -

[Image: prettyv1.png][Image: prettyv2.png][Image: prettyv3.png]
[Image: Screenshot-2018-10-18-00-18-11.png]


Edits -
aligned current version row
resized visit main site button

Code:
#!/usr/bin/env python
# code by bitsnpcs

from Tkinter import *
import webbrowser

url1 = 'https://www.linuxliteos.com/development.html#team'
url2 = 'https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html'
url3 = 'https://www.linuxliteos.com/'

# open browser and display url at line 7 thru 9
def OpenUrl1():
    webbrowser.open(url1)

def OpenUrl2():
    webbrowser.open(url2)

def OpenUrl3():
    webbrowser.open(url3)
   
def close_window():
    window.destroy()

# Make window
window = Tk()
window.title("About Linux Lite")
window.geometry("242x242")
window.resizable(0,0)

# adding a logo
photo=PhotoImage(file="logo.png")
l1 = Label(image=photo)
l1.grid(row=4, column=0)

# adding a frame for ll website button
GUIFrame1=Frame(window)
GUIFrame1.grid(row=10, column=0)

#adding a frame for last row of buttons
GUIFrame2=Frame(window)
GUIFrame2.grid(row=11, column=0)

# define title, nym, year
l2 = Label(window, text=u"\u00a9Copyright 2012-2018 Jerry Bezencon", fg="grey", font="none 8")
l2.grid(row=13, column=0)

l3 = Label(window, text="     ")
l3.grid(row=0, column=0, sticky=W)
l3 = Label(window, text="     ")
l3.grid(row=10, column=0, sticky=W)
l3 = Label(window, text="     ")
l3.grid(row=7, column=0, sticky=W)
l3 = Label(window, text="     ")
l3.grid(row=12, column=0, sticky=W)

l4 = Label(window, text="Current Version: 5.0")
l4.grid(row=8, column=0)
l3 = Label(window, text="      ")
l3.grid(row=9, column=0, sticky=W)

# ll website button
l5 = Label(GUIFrame1, text=" ")
l5.grid(row=11, column=0, sticky=W)
Button(GUIFrame1, text="Visit Linux Lite website", width=16, command=OpenUrl3).grid(row=10, column=0)

# last row of buttons
l6 = Label(GUIFrame2, text=" ")
l6.grid(row=11, column=0)
Button(GUIFrame2, text="Credits", width=6, command=OpenUrl1).grid(row=11, column=1)
Button(GUIFrame2, text="License", width=6, command=OpenUrl2).grid(row=11, column=2)
Button(GUIFrame2, text="Close", width=6, command=window.destroy).grid(row=11, column=3)

window.mainloop()

Edits -
added code for x and y coordinates for aligning the logo image more exactly.
Completely redone spacing, and row numbering used.

I thought x,y is a good option for future proofing, as logo sizes and designs may change over time and this allows for exact positioning of the logo in the gui, as it is not relying upon the grid (rows and columns alone) to position the logo, so providing accuracy and ease of changing in an efficient way.

[Image: llver9.png]

Code:
#!/usr/bin/env python
# code by bitsnpcs

from Tkinter import *
import webbrowser

url1 = 'https://www.linuxliteos.com/development.html#team'
url2 = 'https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html'
url3 = 'https://www.linuxliteos.com/'

# open browser and display url at line 7 thru 9
def OpenUrl1():
    webbrowser.open(url1)

def OpenUrl2():
    webbrowser.open(url2)

def OpenUrl3():
    webbrowser.open(url3)
   
def close_window():
    window.destroy()

# Make window
window = Tk()
window.title("About Linux Lite")
window.geometry("242x242")
window.resizable(0,0)

# adding a logo
photo=PhotoImage(file="logo.png")
l1 = Label(image=photo)
l1.grid(row=4, column=0)
l1.place(x=45, y=15)
l1 = Label(window, text="     ")
l1.grid(row=5, column=0, sticky=W)
l1 = Label(window, text="     ")
l1.grid(row=6, column=0, sticky=W)
l1 = Label(window, text="     ")
l1.grid(row=7, column=0, sticky=W)
l1 = Label(window, text="     ")
l1.grid(row=8, column=0, sticky=W)

# adding a frame for ll website button
GUIFrame1=Frame(window)
GUIFrame1.grid(row=11, column=0)

#adding a frame for last row of buttons
GUIFrame2=Frame(window)
GUIFrame2.grid(row=13, column=0)

# define title, nym, year
l2 = Label(window, text=u"\u00a9Copyright 2012-2018 Jerry Bezencon", fg="grey", font="none 8")
l2.grid(row=15, column=0)

l3 = Label(window, text="     ")
l3.grid(row=0, column=0, sticky=W)
l3 = Label(window, text="     ")
l3.grid(row=10, column=0, sticky=W)
l3 = Label(window, text="     ")
l3.grid(row=12, column=0, sticky=W)
l3 = Label(window, text="     ")
l3.grid(row=14, column=0, sticky=W)

l4 = Label(window, text="Current Version: 5.0")
l4.grid(row=9, column=0)

# ll website button
l5 = Label(GUIFrame1, text=" ")
l5.grid(row=11, column=0, sticky=W)
Button(GUIFrame1, text="Visit Linux Lite website", width=16, command=OpenUrl3).grid(row=11, column=0)

# last row of buttons
l6 = Label(GUIFrame2, text=" ")
l6.grid(row=13, column=0)
Button(GUIFrame2, text="Credits", width=6, command=OpenUrl1).grid(row=13, column=1)
Button(GUIFrame2, text="License", width=6, command=OpenUrl2).grid(row=13, column=2)
Button(GUIFrame2, text="Close", width=6, command=window.destroy).grid(row=13, column=3)

window.mainloop()


Edit -
I realized I didn't state the logo image size I used, this is 150x49 pixels
[member=411]bitsnpcs[/member] it looks nice  Smile
Thank You [member=8093]Shanti[/member]
Looks like this needs the python-tk package for tkinter. I'll add it as a dependency in 5.x

- Top logo also links to main website.
- Add button somewhere logical that links to internal Help Manual. /usr/share/doc/litemanual/index.html
- Could you please add our logo as a taskbar icon, points to in Series 4.x+: /usr/share/icons/Papirus/48x48/apps/liteicon.png (or whatever size suits)
- Rename app to llabout.py and pull and display the current LL version from /etc/llver file.

Hope you're enjoying the challenges. Smile
Pages: 1 2 3 4 5 6