-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Please remove stupid charset confirmation on startup #1613
Comments
Yeah, I also asked to Iliya to remove this, but nobody was really interested into it.
The real problem with this dialog is that it appears when you have e.g. set a CP1251 encoding in the editor, you leave mc and then start it again (and the locale is still UTF8). Unless we have a per-file encoding history I think that mc should just reset it to UTF8, which it does if you press FIX IT. But the real trouble is that if you press FIX, but tick the checkbox, next time it will silently choose SKIP which is COUNTER-INTUITIVE.
I would vote for removing it altogether and having mc automatically fix it no matter what. |
Still present in mc-4.7.0-pre4. I attach a screenshot. There are three bugs:
I have a modern, by default fully UTF-8 system. I have hundreds, if not thousands of applications that just handle accented letters correctly. Midnight commander, on the other hand, when started up for the first time, does have to ask a question about how to set up accented letter support - a question that I don't understand and don't know how to answer, even though I do have quite a lot of experience with charset and stuff. How would a simple average user understand a single bit of it? Why can't mc just work correctly on its own? Without asking the user? Without presenting a terrible user experience right as its very first step?
I'm really grateful for everyone's hard work adding UTF-8 support for mc. Really, seriously, huge kudos! But I feel that after understanding how UTF-8 as a character set works and coming up with the implementation, it would be nice if you would also try to understand the philosophy behind, the whole point of Unicode, and why this is such a cool thing - if, and only if, developers understand and follow this philosophy, instead of annoying users with braindamaged questions saying "sorry, I'm the developer, but I don't know how to do this correctly, could you dear user please help me?".
I think it's unacceptable to release a new version of mc, claiming UTF-8 support as one of its most important new features, that for most of the users would start up with this insane question, instead of the standard two blue panels. |
screenshot at first startup |
|
Created branch 1613_remove_charset_confirmation
Initial changeset: [1ce774def07caaf867d395ff80483b7408ba2778]
Review, please. |
|
|
|
Important
This issue was migrated from Trac:
egmont
(@egmontkob)mc 4.7.0-pre2 with --enable-charset; ~/.mc removed. Fully UTF-8 environment.
When I start mc, it gives me a confirm dialog: "Chosen display charset or source codeset does not match one set via locale. Blahblah. <Fix it> <Skip>".
This dialog doesn't make sense for various reasons.
First, users don't read. And even if they do read it, they likely don't understand. Even if they understand, they'd have to have some knowledge about charsets and mc's way of implementing them. They don't have it.
After choosing "skip", special characters in mc's viewer and editor are horribly broken, and they remain broken no matter what codepage you choose with Ctrl-T.
However, choosing "fix it" fixes everything.
An application shouldn't ask the user whether it should behave correctly or not. Especially not in a way that it's not clear which one the correct answer is. An application should behave correctly, without asking the user, and without even giving a config option where the user can break it.
On systems with locale support applications all have to trust the LANG/LC_* variables. There are only a very few apps that let you override them, and I consider all of them buggy in this respect: they shouldn't allow. If you've misconfigured any of these variables, there's absolutely no hope that you'll get a console where you can work with accented letters - basically all applications will behave incorrectly. You should fully trust in those variables and fully respect them. If they are messed up, that's not mc's problem. I see no reason why mc should ever override them, and I especially see no reason why mc should do it by asking the user on first startup.
In a fully UTF-8 environment, which is provided by all modern distributions, mc should just use UTF-8 everywhere, without asking.
(It might make sense to configure charset and such things inside mc on systems without locale support. However, this particular dialog is about some mismatch between the locale and something else - so this particular dialog just never makes sense.)
Note
Original attachments:
egmont
(@egmontkob) onNov 4, 2009 at 9:26 UTC
The text was updated successfully, but these errors were encountered: