Page MenuHomePhabricator

Elm hard coded defaults don't match system defaults and enable broken features, system defaults are no longer used
Open, Showstopper IssuesPublic

Description

See D7351 for some more info.

But discussion there is starting to go beyond concerns of just that patch. Even if that patch is reverted we're still left with a bug.

If I delete my ~/.elementary directory I'm subjected to "thumb scrolling" by default, which does ludicrous things. With that patch reverted this doesn't happen, but that's only because we don't fall back to the hard coded defaults.

ManMower created this task.Jan 11 2019, 7:32 AM
ManMower triaged this task as Showstopper Issues priority.

I personally like meaningful hard coded value. The main question would be why do we have weird hard coded value? Is it because nobody is testing them? Or is it a choice?

My guess on thumbscroll being hardcoded to enabled is that someone working on elm for touchscreen devices/or a patch from Tizen who works on it with touchscreen devices, or something similar set thumbscroll as enabled somewhere along the way in the hardcoded default without considering the desktop use of elm. Either that or the values just have the hardcoded values but because they weren't used, they weren't tested, and no one cared.

zmike edited projects, added efl (efl-1.22); removed efl.Jan 11 2019, 12:25 PM

how about removing hard-coded default and throwing a error, if elm_config fails to get system fallback finally.

zmike added a subscriber: zmike.Jan 22 2019, 9:31 AM

I think the optimal solution to this would be to somehow directly include the eet config source for the "standard" profile in the build tree, then do an in-process compile/decompile to get the expected struct. This would mean we can permanently remove hard-coded defaults while still retaining their functionality.

The initial difficulty with this approach would be that, syntactically, C would disallow double quotes from existing naturally in a string. This means that directly using #include for this purpose will fail since the config eet uses double quotes.