Clearly mark the active theme
The active theme in F9 - Options - Colors - Themes right now it looks like this:
From the picture above, how can I know what theme am I using?
It is far3-sp808-v6.
Please mark it clearly in the list with a check mark.
There is no such thing as "the active theme". These are basically color presets. You choose one and it overrides the current color values, that's it.
I guess we can track the "last selected item" and mark it in the menu, but... The theme isn't fixed, nothing stops you from going to color settings and changing absolutely everything.
Then the menu Themes in Far is a little misleading for someone used to the term of themes in other software. How about this: the current theme could be marked in the menu. And if the user changes anything, Far prompts to save that as a new theme.
… or Themes could be just renamed to Presets to avoid any confusion right away
For users the great advantage of computers is that they can reuse in one software something they learned elsewhere. The intention to implement the theme concept in Far is an excellent one. Their name, be it Themes or Presets, suggests the same thing. I would vote for Themes. But it needs to follow through to the end, to align Far to other software in terms of colors and looks. So the user should be able to see what is selected and active at one time. Also, the name of the themes should uniquely identify them, like in any other software, so any modifications should be saved under a different name. This would modernize Far a bit, and users coming here with common knowledge from other software would feel comfortable and pick it up more easily.
@ags1234 it's a very good idea! I just worked with color theme menu and it's actually very confusing. I think @alabuzhev made the first step with suggestion to mark last selected color theme (with check mark or color).
I suggest further options:
- if any color in that theme changes then replace check mark with asterisk but keep the selection. But it's also may be confusing with colors totally different from the originally selected theme.
or (better): 2. If any color in theme changes (there is also saving in settings complication) then we need to create new menu item something like Custom and select it with check mark. It would be nice to have name of original theme like "VaxColors*", for example, with classic modifier symbol or with added "_mod" to the end.
Both suggestions may required some non-trivial changes.
Yes, if the user modifies anything about the current theme, Far will force the user to save the new theme with a different name and then reread the directory of themes to include it in the menu.
@ags1234 That will require a lot of internal changes: as I see Far doesn't use those color themes directly. It uses DB which it creates from its code for default colors and then uses that color DB with any saved color changes.
Color themes are used only to load colors. And those color themes are split in a few parts. To track DB color changes and compare them with a few color files is already a very complicated task.
As it was mentioned by @alabuzhev adding checkmark is easy but it doesn't make too much sense as Far uses colors from DB anyway. In total it's a huge work that will require the whole color usage refactoring.
@ags1234, what I'm trying to say Far works differently with color themes than it looks from colors menu. I support your idea, but finding volunteers to implement it will be very difficult.
@yulian5 I understand the general idea of what you said about how Far works, but it is weird to me why is it so different from everything else. The concept of colors was there even from before Far was created, Why wasn't it implemented in a simpler way? I like Far and is some aspects it is amazing. But there are some other aspects that are strangely convoluted and unnecessarily complicated. I also believe that the development is not very active and probably many of the problems in these tickets will remain unsolved for a long time.
@ags1234 Far Manager codebase with plugins is huge, up to 300k lines of code, with more than 17000 commits and many contributors it's still actively maintained C++ project.
Far Manager began decades ago and carries design decisions, data structures, and UI concepts from older Windows and DOS-era paradigms. Preserving compatibility for existing users and many plugins forces to keep older, complex codepaths.
Older architecture patterns and custom UI code tend to produce code that is harder to refactor into simpler, modern abstractions without a large rewrite. Maintainers obviously prioritize stability and new features while keep balance between feature requests, bug fixes, and refactors.
Windows platform quirks for app close to the filesystem, console, and many Windows APIs require workarounds and conditional logic which increases apparent complexity.
In other words much of the complexity comes from long legacy support and backward compatibility that preserve older design decisions and APIs. Any change in the code often leads to changes in many places, as well as unexpected errors and failures.
@ags1234 Looking more into this issue "Clearly mark the active theme" transferred into "Color theme management". Actually Far has very good code related to colors. But Far UI is outdated and not finished in many cases. I see the code related to proper color theme management is done about 80%. Most likely it needs different file format for color themes to easily transfer between theme files and working DB profile and UI for color theme management (Save As, Rename, Delete). Everything else looks already in place. It doesn't mean that it's easy to implement as I already explained but it's quite feasible.
@yulian5 It is nice to find out you kept looking into the problem of the color management. It is also great that you understand C++ programming and know how to evaluate this problem. As you say, I am sure there is a lot of well written code in Far, one can see that from using it. Maybe all it needs is some new talented developers, willing to put some effort into it, to finish implementing things started long ago and also to bring the code and UI from 2005 to 2025. Haha!
@ags1234 Far UI is actually from around 1996. I didn't use Far as long as I can mostly because of its unpleasant sharp colors and unfinished interface using it only for FTP and macros. But later it remains the only console based program oriented on fast keyboard file manipulation, plugins, macros and network support. By the time I've got used to default colors. However the UI is still driving me crazy.
There are a few major problems I see:
- Design and code. There is currently no clear new design, there is a code patching another code which in turn has additional exceptions and special cases with some bugs and the code around them. That understandable consider a few dozens developers from different countries and even centuries. Touching that code and especially adding new features is an extreme challenge.
- Design is from 1995 era, first Windows, oriented on maximum performance, not on UI beauty or standards, mouse support is minimal, dialogs are with stripped functionality, etc.
- And then there is a furious resistance from existing developers and users: almost everything works, probably not the best way, but works. Why change anything except fixing the bugs? Users have skills honed over decades, they have macros, they have workaround for every Far problem or missing feature.
- And then it is a free open software without any payments where the developers are involved for totally different reasons but cannot spend too much time (except @alabuzhev and @shmuz, I don't know how they manage to devote so much time to Far development).
@yulian5 You make excellent points. Just as a side note, there is another excellent software, which is very well made, being very small, fast and having a lot of options, also not very much active, or even unmaintained unfortunately.
Necromancer's DOS Navigator (NDN) - https://ecsoft2.org/necromancers-dos-navigator-ndn Dos Navigator Open Source - https://github.com/angelbbs/DosNavigator
Thanks, @ags1234. Unfortunately DN clones (and original one) have only basic functionality. But one time it was the best file manager by my opinion.