From 10ecf85feae7d8f4b7c11de0c98a8f5b3575bc0f Mon Sep 17 00:00:00 2001 From: Botspot <54716352+Botspot@users.noreply.github.com> Date: Tue, 14 Apr 2020 08:40:49 -0500 Subject: [PATCH 1/5] Improve button appearance substantially --- pimenu.py | 55 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/pimenu.py b/pimenu.py index 4c5f34f..a4a0e12 100755 --- a/pimenu.py +++ b/pimenu.py @@ -9,6 +9,26 @@ import yaml +def colorscale(self, hexstr, scalefactor): + hexstr = hexstr.strip('#') + + if scalefactor < 0 or len(hexstr) != 6: + return hexstr + + r, g, b = int(hexstr[:2], 16), int(hexstr[2:4], 16), int(hexstr[4:], 16) + + r = clamp(r + scalefactor) + g = clamp(g + scalefactor) + b = clamp(b + scalefactor) + + return "#%02x%02x%02x" % (r, g, b) + +def clamp(val, minimum=0, maximum=255): + if val < minimum: + return minimum + if val > maximum: + return maximum + return val class FlatButton(Button): def __init__(self, master=None, cnf=None, **kw): @@ -20,20 +40,21 @@ def __init__(self, master=None, cnf=None, **kw): bd=0, bg="#b91d47", # dark-red fg="white", - activebackground="#b91d47", # dark-red + activebackground=colorscale(self, "#b91d47", 30), # dark-red activeforeground="white", - highlightthickness=0 + highlightthickness=2, + highlightbackground=colorscale(self, "#b91d47", 60) ) def set_color(self, color): self.configure( bg=color, fg="white", - activebackground=color, - activeforeground="white" + activebackground=colorscale(self, color, 30), + activeforeground="white", + highlightbackground=colorscale(self, color, 60) ) - class PiMenu(Frame): framestack = [] icons = {} @@ -94,12 +115,12 @@ def show_items(self, items, upper=None): self.hide_top() back = FlatButton( wrap, - text='back…', + text='back', image=self.get_icon("arrow.left"), command=self.go_back, ) back.set_color("#00a300") # green - back.grid(row=0, column=0, padx=1, pady=1, sticky=TkC.W + TkC.E + TkC.N + TkC.S) + back.grid(row=0, column=0, padx=0, pady=0, sticky=TkC.W + TkC.E + TkC.N + TkC.S) num += 1 # add the new frame to the stack and display it @@ -135,7 +156,7 @@ def show_items(self, items, upper=None): if 'items' in item: # this is a deeper level btn.configure(command=lambda act=act, item=item: self.show_items(item['items'], act), - text=item['label'] + '…') + text=item['label']) btn.set_color("#2b5797") # dark-blue else: # this is an action @@ -148,8 +169,8 @@ def show_items(self, items, upper=None): btn.grid( row=int(floor(num / cols)), column=int(num % cols), - padx=1, - pady=1, + padx=0, + pady=0, sticky=TkC.W + TkC.E + TkC.N + TkC.S ) num += 1 @@ -211,18 +232,20 @@ def go_action(self, actions): """ # hide the menu and show a delay screen self.hide_top() - delay = Frame(self, bg="#2d89ef") - delay.pack(fill=TkC.BOTH, expand=1) - label = Label(delay, text="Executing...", fg="white", bg="#2d89ef", font="Sans 30") - label.pack(fill=TkC.BOTH, expand=1) + #delay = Frame(self, bg="#2d89ef") + #delay.pack(fill=TkC.BOTH, expand=1) + #label = Label(delay, text="Executing...", fg="white", bg="#2d89ef", font="Sans 30") + #label.pack(fill=TkC.BOTH, expand=1) self.parent.update() # excute shell script subprocess.call([self.path + '/pimenu.sh'] + actions) # remove delay screen and show menu again - delay.destroy() + #delay.destroy() self.destroy_all() + if len(sys.argv) > 1 and sys.argv[1] == 'fs': + quit() self.show_top() def go_back(self): @@ -240,7 +263,7 @@ def go_back(self): def main(): root = Tk() - root.geometry("320x240") + root.geometry("640x480") root.wm_title('PiMenu') if len(sys.argv) > 1 and sys.argv[1] == 'fs': root.wm_attributes('-fullscreen', True) From 9d2d3e8be8b98e505a57c3e56b19f2fa2b2b4d81 Mon Sep 17 00:00:00 2001 From: Botspot <54716352+Botspot@users.noreply.github.com> Date: Tue, 14 Apr 2020 08:44:27 -0500 Subject: [PATCH 2/5] Delete screenshot --- screenshot.png | Bin 6813 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 screenshot.png diff --git a/screenshot.png b/screenshot.png deleted file mode 100644 index ed0951436dd3e418811f66d8b5e53b44a101e4e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6813 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 EU)eU1Jpcdz From f57f6f01f468d2c6a45195513623dd171af17493 Mon Sep 17 00:00:00 2001 From: Botspot <54716352+Botspot@users.noreply.github.com> Date: Tue, 14 Apr 2020 08:44:48 -0500 Subject: [PATCH 3/5] Upload screenshot.png --- screenshot.png | Bin 0 -> 54405 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 screenshot.png diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..54d6853b4b5d2679444899262477b3e606610403 GIT binary patch literal 54405 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 F{y*R>R(Jpa literal 0 HcmV?d00001 From ac3b4effd1dca386b195459c1b24b3ad9214f795 Mon Sep 17 00:00:00 2001 From: Botspot <54716352+Botspot@users.noreply.github.com> Date: Tue, 14 Apr 2020 08:52:02 -0500 Subject: [PATCH 4/5] Update README.md --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index aea9a92..d6fca17 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,9 @@ PiMenu ====== -This is a simple fullscreen menu system written in Python TKInter. It has been -developed with a Raspberry Pi Touchscreen in mind and is optimized for small -screens (320x240 is assumed). +This is a simple fullscreen menu system written in Python TKInter. It has been developed with a Raspberry Pi Touchscreen in mind and is optimized for small screens (640x480 is assumed). -The design is inspired by Windows 8's Metro design. Tiles are configured in -```pimenu.yaml```, they can either open new pages of tiles or execute the action -script ```pimenu.sh``` to execute arbitrary tasks. +The design is inspired by Windows 8's Metro design. Tiles are configured in ```pimenu.yaml```, they can either open new pages of tiles or execute the action script ```pimenu.sh``` to execute arbitrary tasks. On the Raspberry, install python-yaml: @@ -22,6 +18,11 @@ The app can be started in fullscreen by passing ```fs``` as first parameter. ./pimenu.py fs +Botspot has improved the appearance of the buttons: + + - The edges of the buttons are a lighter color + - The buttons "light up" a little twhen the mouse hovers over them. + ![Screenshot](screenshot.png) License From 37884c6f5527c1fc16815294771f8ec96a3d38af Mon Sep 17 00:00:00 2001 From: Botspot <54716352+Botspot@users.noreply.github.com> Date: Tue, 14 Apr 2020 08:52:32 -0500 Subject: [PATCH 5/5] fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d6fca17..c2737b8 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ The app can be started in fullscreen by passing ```fs``` as first parameter. Botspot has improved the appearance of the buttons: - The edges of the buttons are a lighter color - - The buttons "light up" a little twhen the mouse hovers over them. + - The buttons "light up" a little when the mouse hovers over them. ![Screenshot](screenshot.png)