dbordak / telephone-line

A new implementation of Powerline for Emacs
GNU General Public License v3.0
550 stars 51 forks source link

Theme/configuration support for telephone-line #50

Closed ogdenwebb closed 6 years ago

ogdenwebb commented 6 years ago

Firstly it isn't directly a feature request, because I just want to discuss how to best integrate my Emacs theme and the telephone-line configuration at this moment. Well, at least I don't plan to include tl configuration into my theme in the near future.

For example, some non-default Emacs mode-lines such as powerline and smart-mode-line support theme settings via set a variable or through a function call, but there's no way related to telephone-line.

Of course, at any time I can just exclude telephone-line config from emacs.d and provide this as a optional part of my theme, but I want to easily switch between my own telephone line configuration, maybe some other user configs and tl defaults for testing purposes.

dbordak commented 6 years ago

Sorry, I'm a bit confused as to what you're asking. When you say theme, do you mean a colorscheme or a segment configuration?

If you're asking how you'd add it to a colorscheme, I'd just add the telephone-line variables like anything else to the theme. You could alternatively have them as a separate file, since emacs supports loading multiple themes.

Powerline and SML calls their premade configurations themes, which is where my source of confusion lies, I think. Powerline's (powerline-vim-theme) is analogous to my (telephone-line-evil-config). If you want to make new configs like this, you can look at https://github.com/dbordak/telephone-line/blob/master/telephone-line-config.el where the existing one is defined.

ogdenwebb commented 6 years ago

Sorry about that, I might explain my point a bit clearly. Now I doubt about my idea, but I try to figure out my reflections.

When you say theme, do you mean a colorscheme or a segment configuration?

Exactly I mean how to find the best way to manage a bunch of code related to telephone-line segments outside of user Emacs directory. Now I understand that all I need to do is just split defined custom segment from my config and provide them as library. Damn, it's kind of hard for me today. :(

Well, then I have the final question: What you are thinking about something like telephone-line-load-theme/config(obviously inspired by Emacs default load-theme, witch called through M-x)? I mean change telephone line setup on the fly.

dbordak commented 6 years ago

I'm not sure how doable that would be. Changing themes on the fly will only apply to new buffers, I believe -- same as that message buffer issue a couple days ago.

This is because of how much is precompiled. I could probably reduce that, I dunno if it'd affect performance?

ogdenwebb commented 6 years ago

I'm not sure about performance changes due to lack experience of Elisp development. Personally, I appreciate performance more than extra features such the above. So I wouldn't be disappointed if you reject my suggestion because of productivity costs.

Let me know if you don't want to include configuration management into the package, then I will just write own wrapper around telephone-line.

dbordak commented 6 years ago

If you think you can make that work, by all means, give it a shot. It sounds like you've put a lot of thought into it, whereas I hadn't even considered this.

ogdenwebb commented 6 years ago

Thank you for the answers.

Well, if I write something useful I'll notice you with other issue/PR.