Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Generally those config panels write to files for you (how else would their changes be persisted?)


The storage mechanism is not the interaction mechanism, and Linux config files are not user friendly. All other desktop operating systems have a control pane for this stuff.


Configuration files are a developer-friendly and user-friendly way of supporting customization. It allows more conventional Linux users to do their customization using their favorite text editor, in the familiar interface that they already like. And, if somebody decides they want to write a GUI for configuration (maybe to chase users who are more familiar with consumer OSes), all the GUI has to do is write to a file (an easy task in most languages).


I'm a user and I don't find being made to directly edit config files user-friendly at all. Why on earth would I want to use a text editor to configure my printer? I don't use Powerpoint to edit photos either, even though in theory I probably could, but what a hassle. That sort of paradigm is fine for applications intended for professional use to be deployed to servers etc., but config management systems exist for those uses and the people managing these applications tend to be paid quite well, which is no coincidence. Targeting ordinary users? If there is no (decent) config UI, then it may be developer-friendly, but it's definitely not user-friendly. Yes, that can be a valid trade-off for resource-strapped hobby projects, and yes, it's fine if there is a config file in the back, but that shouldn't be the only way to configure an application. No other platform tolerates this sort of thing, and with good reason, given that most people find configuring software to be both intimidating and annoying even under the best of circumstances. I think devs actually believing that all users are just like themselves for decidedly non-dev applications plays a sizable part in why desktop Linux fails to break out of its tiny hardcore technical people and sometimes their parents niche year after year. Most people's favorite (i.e. only) text editor likely will be Microsoft Word, and I'm not sure how many of those people would say they like it.


Because you can diff the configs after changes?

You can check into git so you have a history of changes?

So you can copy the config to another machine?

There are lots of reasons why text files are the preferred format to store configuration in.

Other than perhaps a slight performance boost, why do we want settings in a non-human readable database?

Hell, even Microsoft are starting to use json config files for stuff like Windows terminal because they know people like to be able to quickly copy and edit settings.


But you are talking about something else!

You are talking about the configs being stored in text files. The comment you are responding to was talking about being forced to edit text files to configure.

Yours is about the format of data representation and theirs is about UX.

The first step of not forcing users to edit text files is having sensible well thought out defaults. If I have to think about configs the designers of the app failed me.

The second way to not force the users to edit text files is by having a well thought out gui for the kind of changes you might want.

The format of how the config settings are stored is almost orthogonal to this questions. And yes, you are right, a text based format is preferable over a properitary binary one.


Windows Terminal also has a GUI for most of the settings configuration.


It is user-friendly to typical Linux users.

It is a community-developed project, so it only really needs to appeal to developers. What motivation is there to attract non-technical users? Particularly ones who require lots of effort doing uninteresting polishing related tasks to keep them happy. Other platforms do this sort of thing because their entire reason for existing is to satisfy customers.


> What motivation is there to attract non-technical users? Particularly ones who require lots of effort doing uninteresting polishing related tasks to keep them happy.

First of all, adjusting scrolling speed is not an "uninteresting polishing related task," it is a basic standard of usability.

Secondly, if you don't think Linux on laptops should be broadly usable by the general population, you are in the wrong thread. The central point of the HN post we are all commenting on is the usability of the Linux desktop ecosystem on commodity laptops.


This isn't either/or - you can have a nice preferences GUI and a sensible yaml or toml config file backend.


Except on Linux usually most environments stop at the config file part. And if a GUI tool happens to exist, it isn't kept in sync with the file format.


Yes - ideally there should be a standard library for this. There is no reason the GUI cant update the config file and refresh from it when it updates.


A convention for writing JSON, YAML, or whatever config files that standardized types of options, their default, and something about their types (is it a toggleable boolean, a bounded continuous value, an integer, etc etc) could be nice. It might be possible to provide enough info automatically generate the GUI (draw the first as a button, the second as a slider, and the third as a number box), and that sort of info would be helpful to have if you were writing the file by hand anyway.


Adjustable scrolling speed is useful (I mean, I haven't used it, but I can see why one might want it). Creating a GUI to adjust it is an uninteresting polishing task.

Swaywm has the ability to set this (you have to edit the config file). It seems weird that gnome or whatever you use lacks this option. Although, gnome has a lot of t's to cross and i's to dot, maybe they just haven't gotten around to it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: