michaelbrusegard / tabline.wez

A versatile and easy to use retro tab bar plugin for the WezTerm terminal emulator created with the lualine.nvim configuration format
MIT License
55 stars 5 forks source link

Feature Request: Support for Customizing Active and Inactive Process Icon Colors #39

Closed 0xJWLabs closed 1 week ago

0xJWLabs commented 1 month ago

Currently, the process_to_icon functionality allows setting an icon color, but the same color is applied to both active and inactive states. This limits customization and visual distinction between different states of a process. Adding the ability to customize the icon color separately for active and inactive states would provide more flexibility and enhance the UI's clarity and responsiveness.

Proposal

Maybe a config like this?

process_to_icon = {
  ['apt'] = { wezterm.nerdfonts.dev_debian, active_color = { fg = scheme.ansi[2] }, inactive_color = { fg = scheme.ansi[1] }
}
michaelbrusegard commented 4 weeks ago

Since process is using the same color function as every other component, it would be a larger rewrite to support this. I will accept a good PR if everything is implemented correctly, but it will lead to breaking changes for others. I think it would actually be better to have its own plugin for a component like this than can be added to tabline.wez similar to the battery.wez plugin component.

0xJWLabs commented 4 weeks ago

Uhm maybe something like lualine might be good? it has like extend from base component?

because i don’t know how to get like tab to update like the default process one. find the window and list all tabs?

0xJWLabs commented 4 weeks ago

Btw this is kind of out of topic, does wezterm use somehow like encoder for the plugin path? if i wanna refer it to local directory how to get the encoded path?

0xJWLabs commented 4 weeks ago

Or maybe something like this?

{
  function()
    return " "
  end,
  padding = { left = 0, right = 1 }
}
michaelbrusegard commented 3 weeks ago

I am not completely sure what you are asking. If you want to create your own component you can just create function that returns a string and put that function in the section you want

0xJWLabs commented 3 weeks ago

Yes i know, but i also want to have uhm like options from component like padding option etc.

michaelbrusegard commented 3 weeks ago

You can just add spaces on each side of the string, it is the same thing

0xJWLabs commented 3 weeks ago

hey, sorry it’s unrelated but i wanna talk about your dotfiles, where can we talk?

michaelbrusegard commented 3 weeks ago

You can send me an Email and I will answer when I have time, you can find it on my GitHub profile

michaelbrusegard commented 1 week ago

I am gonna close this as it seems inactive and it is out of the scope of this plugin and could instead be its own component