#!/usr/bin/python3 import os import time import sys sys.path.insert(0,"/opt/LibreLight/Xdesk/") import tkinter tk = tkinter import __main__ as MAIN from lib.cprint import cprint import lib.libwin as libwin import lib.baselib as baselib import json _config = [] try: h = os.environ["HOME"] lines = [{}] try: f = open(h +"/LibreLight/config.json") lines = f.readlines() except FileNotFoundError as e: #Exception as e: f = open(h +"/LibreLight/config.json","w") f.write('{"POS_TOP":0}\n{"POS_LEFT":0}') f.close() cprint("Exception:",e) cprint("config read") for line in lines: line=line.strip() print(" config:",line) row = json.loads(line) _config.append(row) except Exception as e: cprint("Exception:",e) _POS_LEFT = 0 _POS_TOP = 15 try: for row in _config: #print(" config:",row) if "POS_LEFT" in row: _POS_LEFT = int(row["POS_LEFT"]) if "POS_TOP" in row: _POS_TOP = int(row["POS_TOP"]) except Exception as e: cprint("Exception:",e) class Event(): def __init__(self,name): self.name=name #print("init",self) def event(self,event): print(self.name,event) class scroll(): def __init__(self,canvas): self.canvas=canvas def config(self,event): canvas = self.canvas canvas.configure(scrollregion=canvas.bbox("all"))#,width=400,height=200) def ScrollFrame(root,width=50,height=100,bd=1,bg="black",head=None,foot=None): rframe=tk.Frame(root) rframe.pack(side="top",fill="both",expand=1) #x=0,y=0) # frame grid start ========= if head: height -= 25 hframe=tk.Frame(rframe) #l = tk.Label(hframe,text="frame") #l.pack() hframe.pack(side="top",fill="x",expand=0) #x=0,y=0) aframe=tk.Frame(rframe) aframe.pack(side="top",fill="both",expand=1) #x=0,y=0) if foot: height -= 25 fframe=tk.Frame(rframe) #l = tk.Label(fframe,text="frame") #l.pack() fframe.pack(side="top",fill="x",expand=0) #x=0,y=0) # frame grid end ========== canvas=tk.Canvas(aframe,width=width-24,height=height) if bg == "": bg="orange" canvas["bg"] = bg # "black" #"green" bframe=tk.Frame(canvas,width=width,height=height,relief=tk.GROOVE) bframe["bg"] = "blue" scrollbar=tk.Scrollbar(aframe,orient="vertical",command=canvas.yview,width=20) canvas.configure(yscrollcommand=scrollbar.set) scrollbar.pack(side="right",fill="y") canvas.pack(side="left",expand=1,fill="both") canvas.create_window((0,0),window=bframe,anchor='nw') bframe.bind("",scroll(canvas).config) canvas.bind("