From e5171305479b4fe3fea8cdeff5cb8a2ed4e84967 Mon Sep 17 00:00:00 2001 From: Chandler J Date: Sun, 11 Feb 2024 16:43:36 -0700 Subject: progress on tui --- src/instant_rice.py | 9 ++----- src/tui.py | 67 +++++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 59 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/instant_rice.py b/src/instant_rice.py index 9dcc1ec..a55f2c8 100644 --- a/src/instant_rice.py +++ b/src/instant_rice.py @@ -6,8 +6,8 @@ import update_i3 import update_polybar from get_args import get_args from paths import Paths - -def main(): + +if __name__ == '__main__': img_path, update_dmenu, i3lock = get_args(sys.argv) hex_colors, hex_compliments = user_interface.colorPickerUI(img_path) @@ -18,8 +18,3 @@ def main(): if 'i3' in Paths: generate_i3lock = False if ('--nolock' in sys.argv) else True update_i3.updatei3Theme(Paths['i3'], img_path, hex_colors, hex_compliments, generate_i3lock, update_dmenu) - - - -if __name__ == '__main__': - main() diff --git a/src/tui.py b/src/tui.py index 7bb770f..c73c3f2 100644 --- a/src/tui.py +++ b/src/tui.py @@ -1,7 +1,22 @@ import pytermgui as ptg -gapsToggle = ptg.Checkbox(parent_align=2) + +appearence_settings = { + "window_gaps": False, + "titlebars": False, + "win_boarders": False, + "inner_gap_sz": "6", + "outter_gap_sz": "6", + "win_boarders_width": "6", + "i3-font": "default", + "i3-font-size": "10" + } + +# callback functions +def set_window_gaps(state) -> None: + appearence_settings['window_gaps'] = state + with ptg.WindowManager() as manager: #layout = ptg.Layout() @@ -11,23 +26,55 @@ with ptg.WindowManager() as manager: ptg.Window( "[bold]i3 Configuration Settings", ptg.Label("[italic gray]gaps", parent_align=0), - ptg.Splitter(ptg.Label("Window gaps", parent_align=0), gapsToggle), - ptg.InputField(prompt="Inner Gaps: ", value="6"), - ptg.InputField(prompt="Outer Gaps: "), + ptg.Splitter( + ptg.Label( + "Window gaps", + parent_align=0 + ), + ptg.Checkbox( + parent_align=2, + callback=set_window_gaps, + checked=appearence_settings["window_gaps"] + ) + ), + ptg.InputField(prompt="Inner Gaps: ", value=appearence_settings["inner_gap_sz"]), + ptg.InputField(prompt="Outer Gaps: ", value=appearence_settings["outter_gap_sz"]), ptg.Label(""), ptg.Label("[italic gray]Window Boarders", parent_align=0), - ptg.Splitter(ptg.Label("Titlebars", parent_align=0), ptg.Checkbox(parent_align=2)), + ptg.Splitter( + ptg.Label( + "Titlebars", + parent_align=0 + ), + ptg.Checkbox( + parent_align=2 + ) + ), ptg.Splitter(ptg.Label("Window Boarders", parent_align=0), ptg.Checkbox(parent_align=2)), ptg.InputField(prompt="Boarder Width: "), + ptg.Label(""), + ptg.Label("[italic gray]Font", parent_align=0), + ptg.InputField(prompt="Font: ", value=appearence_settings["i3-font"]), + ptg.InputField(prompt="Font Size: ", value=appearence_settings["i3-font-size"]), ptg.Button("Save Changes") ) - .set_title("[italic inverse !gradient(60)]i3 Configuration[/!]") - ) + .set_title("[italic inverse !gradient(60)]i3 Configuration[/!]") + ) polybar_window = ( ptg.Window( - "[bold]Polybar Configuration Settings" - ).set_title("[italic inverse !gradient(45)]Polybar Configuration") - ) + "[bold]Polybar Configuration Settings", + ptg.Label("[italic gray]Font", parent_align=0), + ptg.InputField(prompt="Font: ", value=appearence_settings["i3-font"]), + ptg.InputField(prompt="Font Size: ", value=appearence_settings["i3-font-size"]), + ptg.Label(""), + ptg.Label("[italic gray]Modules", parent_align=0), + ptg.InputField(prompt="Font: ", value=appearence_settings["i3-font"]), + ptg.InputField(prompt="Font Size: ", value=appearence_settings["i3-font-size"]), + + ptg.Button("Save Changes") + ) + .set_title("[italic inverse !gradient(45)]Polybar Configuration")) + #layout.assign(polybar_window, index=0) #layout.assign(i3window, index=1) manager.add(i3window) -- cgit v1.2.3