Commit graph

164 commits

Author SHA1 Message Date
0992f08a94
refactor: clean-up some unused stuff 2026-01-20 14:42:25 +01:00
6029c705e6
fix: improve active and focused tab state tracking 2026-01-20 13:48:40 +01:00
95cb63c42a
refactor: render unfocused tabs with style from theme 2026-01-20 13:48:06 +01:00
18f4d9cef3
refactor: add tab bar theme variables for unfocused tabs 2026-01-20 13:46:49 +01:00
a1fbd9cf7b
fix: navigate to tab after moving it if it was active before move 2026-01-20 10:49:59 +01:00
933df0cdd5
fix: make select_next_tab and select_previous_tab wrap around again 2026-01-19 22:53:31 +01:00
768032d3ea
fix: improve movement of tabs
This switches to movement semantics for tab dragging and moving.
Previously we switched tabs, which was confusing and a little buggy.

closes #459
2026-01-19 22:45:38 +01:00
48c42737a6
fix: don't skip tab updates while dragging 2026-01-15 22:07:34 +01:00
a4b80377c1
fix: tabbar initial render 2026-01-15 20:30:13 +01:00
a632305a6f
refactor: tab rendering 2026-01-15 20:12:17 +01:00
8c6091c419
fix: only update tabbar widgets if buffers have changed 2026-01-15 19:53:40 +01:00
ff38c37df7
refactor: make tab bar split aware 2026-01-15 17:56:08 +01:00
8cfab31104
refactor: add tracing for update_hover, clear_hover_focus and refresh_hover 2026-01-15 17:53:12 +01:00
c3cf5ea02f
refactor: add source location tracing for need_render calls 2026-01-15 17:51:38 +01:00
2d5288aa6f
refactor: remove unused error return in Plane.put_yx and Plane.cursor_move_yx 2026-01-13 16:19:47 +01:00
25d5f80a4c
refactor: drop all c_(u)int usage in Plane
The use of c_int and c_uint comes from the days when flow supported
building agains notcurses has a c API.
2026-01-13 12:44:40 +01:00
c1200ac5bd
refactor: make Widget.get method const 2026-01-06 19:22:24 +01:00
5bb742fe58
feat: render red lock symbol in modestate when running as root 2025-11-24 13:24:55 +01:00
15c9469365
fix: render auto_save state in filestate widget
closes #344
2025-11-03 22:16:48 +01:00
0c38e8c4ea
fix: don't show dirty state in tabs for auto_save buffers 2025-11-03 22:14:43 +01:00
fa6ea11d57
fix: only reset mouse drag context when the dragging button is released
closes #320
2025-11-03 20:48:08 +01:00
Igor Támara
7f7f12a441 feat: update vcs changed files info when click on branch status 2025-10-28 22:20:36 +01:00
3e4a604739
refactor: move git status request to project_manager 2025-10-28 21:31:32 +01:00
265bff583b
feat: make tabs draggable 2025-10-25 00:09:35 +02:00
2704c7be07
feat: add place_next_tab and swap_tabs commands 2025-10-24 12:21:48 +02:00
89e9fd7b83
feat: add move_tab_next/_previous commands 2025-10-24 12:19:03 +02:00
25a719382f
fix: store button click locations as signed values 2025-10-10 16:05:50 +02:00
e6cc1c35f9
fix: rendering of tab bar background 2025-10-10 15:38:49 +02:00
00bbeaedf9
feat: if buffer is dirty show save button in tabs instead of close 2025-10-09 21:12:15 +02:00
4e38d15878
feat: close buffer if tab close icon is clicked 2025-10-09 20:52:00 +02:00
ce87dcfa2b
refactor: pass relative click position to button click handlers
This a big refactor just to clean-up type definitions used by Button and Menu.
The goals is to pass the click position as a cursor object.
2025-10-09 19:11:25 +02:00
35ccf7f1df
feat: optionally customize tab clean indicator 2025-10-09 17:11:28 +02:00
52e29b7825
feat: add optional tab padding 2025-10-09 17:11:07 +02:00
94adc72283
feat: render close icon in tabs on hover 2025-10-09 16:50:29 +02:00
e2c0325a7a
fix: incorrect tab width when file type icons are turned on 2025-10-09 15:23:37 +02:00
78b29c321e
fix: don't render color for black or white file type icons in tabs 2025-10-09 14:33:09 +02:00
455565ee26
feat: add file type icons to tabs
Optionally disable icons in tabs with `file_type_icon = false` in `status.tabs.style.config`.
2025-10-09 14:01:49 +02:00
3c55ed876b
refactor: allow mocking of root module functions for easier unittesting 2025-10-08 14:18:03 +02:00
bf0d4402ea
refactor: lots more writergate fixes - first successful build 2025-09-25 22:01:29 +02:00
b043dfe34f
feat: reduce mode indicator clutter 2025-08-15 11:27:08 +02:00
aee7c30c65
feat: display indent mode in status bar 2025-08-08 21:30:42 +02:00
1ebdae310e
feat: save and restore tabbar state 2025-08-08 20:40:00 +02:00
c88e2dd975
fix: don't leak Buffer.file_path 2025-08-05 15:24:18 +02:00
410a6aadce
fix: branch widget: don't call git status if there is no git workspace 2025-08-04 09:47:24 +02:00
Ingo Lohmar
28da270834 harmonize selection display 2025-08-03 18:07:58 +02:00
a5af34e13f feat: select mode widget style "fancy" or "plain" with descriptor arg
"fancy" mode is the previous behaviour and the default. "plain" mode makes the
mode widget use the same styling as other status bar widgets.

Select "plain" mode with a descriptor arg in the config. e.g:

`
bottom_bar "mode:plain file log selection diagnostics keybind branch linenumber clock spacer"
`
2025-08-03 17:53:34 +02:00
Ingo Lohmar
d011294c69 use statusbar.hover style for actual hovering
The style was used for regular display of the style_label instead, which
gives the current keymap/mode weird prominence, and which means that
actual (mouse) hovering needed to use the unrelated "selection" style.

This commit uses the hover style for just hovering, or if a mini mode is
used (which, to me, sounds at least plausible).

For modal-workflow users, it may be more helpful to actually highlight
the mode (sometimes?), but I have no experience with that.
2025-08-03 17:53:34 +02:00
0c98460ca8
refactor: remove duplicate style definition in modestate widget 2025-08-03 17:28:37 +02:00
b97b8e8fb7
feat: auto hide tabs widget if there are less than {n} tabs
This can be configured via an integer argument in the bar widget descriptor, or
via the tab styles configuration file. A value of 0 will effectively disable
auto hide.
2025-08-03 17:08:53 +02:00
dfcc825e4b
feat: auto hide bars with empty widget layouts 2025-08-03 16:17:05 +02:00