mirror of
https://github.com/sahinakkaya/dotfiles.git
synced 2025-06-24 21:51:09 +02:00
Update kitty config
This commit is contained in:
parent
6fa57fba4d
commit
3c64972def
@ -18,7 +18,7 @@ action_alias kitty_scrollback_nvim kitten $HOME/.local/share/nvim/lazy/kitty-scr
|
||||
|
||||
# include ./themes/themes/OneDark.conf
|
||||
# include ~/.local/share/nvim/lazy/tokyonight.nvim/extras/kitty/tokyonight_day.conf
|
||||
include ~/.local/share/nvim/lazy/kanagawa.nvim/extras/kanagawa_light.conf
|
||||
include ~/.local/share/nvim/lazy/kanagawa.nvim/extras/kitty/kanagawa.conf
|
||||
#include ./tokyonight.conf
|
||||
#Fonts {{{
|
||||
|
||||
|
89
.config/kitty/tab_bar.py
Normal file
89
.config/kitty/tab_bar.py
Normal file
@ -0,0 +1,89 @@
|
||||
import math
|
||||
from kitty.fast_data_types import Screen, get_options
|
||||
from kitty.tab_bar import (
|
||||
DrawData,
|
||||
ExtraData,
|
||||
TabBarData,
|
||||
as_rgb,
|
||||
draw_tab_with_powerline,
|
||||
)
|
||||
|
||||
opts = get_options()
|
||||
|
||||
surface1 = as_rgb(int("45475A", 16))
|
||||
window_icon = ""
|
||||
layout_icon = ""
|
||||
|
||||
active_tab_layout_name = ""
|
||||
active_tab_num_windows = 1
|
||||
|
||||
layout_symbols = {
|
||||
"grid": " ",
|
||||
"stack": " ",
|
||||
"fat": " ",
|
||||
"tall": " ",
|
||||
"splits": " "
|
||||
}
|
||||
|
||||
def draw_tab(
|
||||
draw_data: DrawData,
|
||||
screen: Screen,
|
||||
tab: TabBarData,
|
||||
before: int,
|
||||
max_title_length: int,
|
||||
index: int,
|
||||
is_last: bool,
|
||||
extra_data: ExtraData,
|
||||
) -> int:
|
||||
global active_tab_layout_name
|
||||
global active_tab_num_windows
|
||||
if tab.is_active:
|
||||
active_tab_layout_name = tab.layout_name
|
||||
active_tab_num_windows = tab.num_windows
|
||||
end = draw_tab_with_powerline(
|
||||
draw_data, screen, tab, before, max_title_length, index, is_last, extra_data
|
||||
)
|
||||
_draw_right_status(
|
||||
screen,
|
||||
is_last,
|
||||
)
|
||||
return end
|
||||
|
||||
|
||||
def _draw_right_status(screen: Screen, is_last: bool) -> int:
|
||||
if not is_last:
|
||||
return screen.cursor.x
|
||||
|
||||
cells = [
|
||||
# layout name
|
||||
(surface1, screen.cursor.bg, " " + layout_symbols[active_tab_layout_name] + " "),
|
||||
(surface1, screen.cursor.bg, active_tab_layout_name + ('' if active_tab_num_windows == 1 else f" ({active_tab_num_windows} windows)")),
|
||||
]
|
||||
|
||||
# calculate leading spaces to separate tabs from right status
|
||||
right_status_length = 0
|
||||
for _, _, cell in cells:
|
||||
right_status_length += len(cell)
|
||||
leading_spaces = 0
|
||||
if opts.tab_bar_align == "center":
|
||||
leading_spaces = (
|
||||
math.ceil((screen.columns - screen.cursor.x) / 2) - right_status_length
|
||||
)
|
||||
elif opts.tab_bar_align == "left":
|
||||
leading_spaces = screen.columns - screen.cursor.x - right_status_length
|
||||
|
||||
# draw leading spaces
|
||||
if leading_spaces > 0:
|
||||
screen.draw(" " * leading_spaces)
|
||||
|
||||
# draw right status
|
||||
for fg, bg, cell in cells:
|
||||
screen.cursor.fg = fg
|
||||
screen.cursor.bg = bg
|
||||
screen.draw(cell)
|
||||
screen.cursor.fg = 0
|
||||
screen.cursor.bg = 0
|
||||
|
||||
# update cursor position
|
||||
screen.cursor.x = max(screen.cursor.x, screen.columns - right_status_length)
|
||||
return screen.cursor.x
|
Loading…
Reference in New Issue
Block a user