terminal user interface to jujutsu. Focused on speed and clarity
9
fork

Configure Feed

Select the types of activity you want to include in your feed.

nicer padding

+18 -17
+2 -1
jj_tui/bin/graph_view.ml
··· 245 245 246 246 (*Renders the commit graph from the UI state*) 247 247 let graph_view = 248 - Wd.scroll_area (ui_state.jj_tree $-> Ui.atom) 248 + (*pad one on the left because it's hard to see the graph if it's too close*) 249 + Wd.scroll_area (ui_state.jj_tree $-> (I.pad ~l:1 >> Ui.atom)) 249 250 |>$ Ui.keyboard_area (function 250 251 | `ASCII k, [] -> 251 252 handleInputs command_mapping k
+16 -16
jj_tui/bin/jj_ui.ml
··· 70 70 [ 71 71 File_view.file_view sw () 72 72 |>$ Ui.resize ~w:5 ~sw:1 ~mw:1000 73 - |> Wd.border_box_focusable ~focus:file_focus ~pad_h:0 73 + |> Wd.border_box_focusable ~focus:file_focus ~pad_h:0 ~pad_w:1 74 74 ; Graph_view.graph_view 75 75 |>$ Ui.resize ~sh:3 ~w:5 ~sw:1 ~mw:1000 ~h:10 ~mh:1000 76 - |> Wd.border_box_focusable ~focus:graph_focus ~pad_h:0 77 - ; Wd.scroll_area (ui_state.jj_branches $-> Ui.atom) 78 - |>Wd.is_focused ~focus:branch_focus(fun ui focused-> 79 - ui 80 - |> Ui.resize 81 - ~w:5 82 - ~sw:1 83 - ~sh:(if focused then 3 else 0) 84 - ~h:2 85 - ~mh:1000 86 - ~mw:1000) 87 - |> Wd.border_box_focusable ~focus:branch_focus ~pad_h:0 76 + |> Wd.border_box_focusable ~focus:graph_focus ~pad_h:0 ~pad_w:1 77 + ; Wd.scroll_area (ui_state.jj_branches $-> Ui.atom) 78 + |> Wd.is_focused ~focus:branch_focus (fun ui focused -> 79 + ui 80 + |> Ui.resize 81 + ~w:5 82 + ~sw:1 83 + ~sh:(if focused then 3 else 0) 84 + ~h:2 85 + ~mh:1000 86 + ~mw:1000) 87 + |> Wd.border_box_focusable ~focus:branch_focus ~pad_h:0 ~pad_w:1 88 88 ] 89 89 ; (*Right side summary/status/fileinfo view*) 90 90 (let$* file_focus = file_focus |> Focus.status in 91 91 if file_focus |> Focus.has_focus 92 92 then 93 93 let$ status = File_view.file_status () in 94 - status |> AnsiReverse.colored_string |> I.pad ~l:1 ~r:1 |> Ui.atom 95 - else (fun x -> x |> I.pad ~l:1 ~r:1 |> Ui.atom) <-$ ui_state.jj_show) 94 + status |> AnsiReverse.colored_string |> Ui.atom 95 + else (fun x -> x |> Ui.atom) <-$ ui_state.jj_show) 96 96 |> Wd.scroll_area 97 97 (* let mw=Int.max (Ui.layout_max_width ui) 100 in *) 98 98 |>$ Ui.resize ~w:0 ~sh:3 ~sw:2 ~mw:100 ~mh:10000 99 99 |> Wd.on_focus ~focus:summary_focus (Ui.resize ~sw:3 ~mw:1000) 100 - |> Wd.border_box_focusable ~focus:summary_focus 100 + |> Wd.border_box_focusable ~focus:summary_focus ~pad_h:0 ~pad_w:1 101 101 ] 102 102 (*These outer prompts can popup and show them selves over the main view*) 103 103 |> Widgets.general_prompt ~char_count:true ~show_prompt_var:ui_state.show_prompt