Page MenuHomeSolus

Plasma Testing ISO
Closed, ResolvedPublic

Description

I installed the latest testing ISO, found a few things I thought should be changed.

When first starting Konsole, the default character encoding was set to US-ASCII. I would think it should default to UTF-8, otherwise many fonts won't render correctly.

The default text editor is set to Kate. While Kate is an excellent editor, it might be a bit too complicate and advanced for most user's need. Kwrite might be a better default. As it's being installed anyway, it should just be a matter of setting it as default.

There currently is no character map application included, nor any Plasma-friendly one in the repos. I've already put in a package request for kcharselect which is the default in most spins.

folcred created this task.Jan 30 2018, 9:25 PM

question is do we need both kate and kwrite? one should be enough in my eyes

They're both the same thing, same package

And I need to work out how to set the default...maybe the mimetype at the distro level. Then to stop getting weird packages taking over the directory/inode mimetype

They are, but Kwrite exposes less options and would IMHO be less intimidating than Kate to the average user. It could be set as the default interface instead of Kate.

Just a suggestion.

@folcred thoughts on best way of making it default?

I've always just set it in System Settings > Applications > File Associations @sunnyflunk, but honestly have no idea how one would set it as a system default. I've never built an ISO before. I'm looking now to see how it might be done.

I've always just set it in System Settings > Applications > File Associations

Then you need to change the order for all text mimetype's? Or is there a better way I'm not seeing (I'm a pretty new user xD)

I'd hope there's an easier way. :D

KDE has an "InitialPreference" setting for it's .desktop files. I don't know if that only affects the service menus in the file manager, or if it's some kind of global thing. There's some chat about it here.

I noticed in the Kate .desktop file it's set to 9, and Kwrite's is set to 8. My understanding is that would change the order of preference when clicking on a file in Dolphin. Perhaps setting Kwrite to something like 7 or lower would cause it to always be the default in the list of kpart editors?

Actually, that should be setting Kate's to something lower. It seems the higher number takes precedence.

@sunnyflunk afaik kwrite and kate are just interfaces for the same library, couldn't kwrite and kate be splitted into two packages (three if we count the library itself)? I found this from Arch.

Yes it's always been possible (without installing and removing files twice....), I imagine it will be about a 20KB compressed package when split (i.e. is that really worthwhile?).

What's needed is a good way to tackle these priorities from a distribution level (i.e. so things like dropbox and git-cola don't suddenly take over as file manager without just deleting the .desktop [which do have a purpose]) and at a user level (so they can ultimately decide their preferences). The same issue arises when you install another program that can edit text (say rstudio, which isn't primarily a text editor) and then it suddenly becomes the default.

I really don't know if it's worth all the trouble to change the default editor. I'm guessing that's the way it's set by upstream, so perhaps it should be left as is until you get more user feedback @sunnyflunk.

Personally I prefer Kate, but when you compare it to stock Gedit or Pluma, in my mind it would be sort of like having Geany for the GTK editor. I think more feedback would help decide whether it's worth the trouble or not.

I'm wondering if that "InitialPreference" option KDE has is causing the mime problems. Just thinking out loud here, but most apps outside Plasma/KDE wouldn't have that option, and I'm wondering if the lack of it causes an app to be pushed up the stack to default. I'm going to see if I can find any chatter about it, with luck maybe a solution.

Ya, I wasn't set on changing the default (I would look at whether kwrite did avoid some slowdowns I've seen in kate though), but working out a smoother way to handle mimetype associations and priorities beyond plasma as well (I mean I think I have *.sh files preferring ark which is beyond annoying!). InitialPreference=1 could a viable alternative for things you don't really want it to open (rather than just deleting the .desktop file which is the other way).

After spending a while reading about mime handling, I've come to the conclusion it's a complete train wreck. Freedesktop tries to create and set standards, but everyone seems to just ignore them and do their own. XDG, dbus, mimeapp, *.desktop, etc., etc., there's just too many ways of activating file associations, and too many places the associations are can be stored/set.

Tomorrow I'll try installing something that should break a default file association, then figure out where it broke, why it broke, and (maybe) what can be done to stop it. Mime handling in Linux is such a quagmire though I don't hold out much hope that any solution I might find will work universally.

folcred added a comment.EditedJan 31 2018, 7:05 AM

I think I may have found the cause @sunnyflunk, though not a solution. I installed Keepassx, which immediately was set as the default for almost every filetype there is.

Searching around for where it was set, I just couldn't find it. My guess is it's set in one of the binary mime files under /usr/share/mime, "magic", "mime.cache" or somewhere similar. So I tried to figure out how it was set.

Keepassx uses a file extension .kdbx, which isn't a standard mimetype. My guess is that because it's not standard, the mime database doesn't know quite what to do with it, where to set it. I noticed there's a difference in the .xml configuration for it under /usr/share/mime/packages compared to other non-standard packages there.

This is the contents of /usr/share/mime/packages/keepassxc.xml:

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
  <mime-type type="application/x-keepass2">
    <comment>KeePass 2 Database</comment>
    <glob pattern="*.kdbx"/>
    <icon name="application-x-keepassxc"/>
  </mime-type>
</mime-info>

and this is the contents of /usr/share/mime/packages/vapoursynth.xml:

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="text/x-vpy">
    <sub-class-of type="text/x-python"/>
    <comment>VapourSynth script</comment>
    <glob pattern="*.vpy"/>
  </mime-type>
</mime-info>

Notice the "sub-class-of" section in the Vapoursynth one. I just wonder if because Keepassx (and obviously some others) use a non-standard extension, mime-type, and don't give any other help to the mime database to tell it where it should go, it just somehow gets put everywhere. At first I thought perhaps the difference was the Vapoursynth one was a file type, and Keepassx is an application. But looking at another one in the folder, kerfuffle.xml, I find that's not the case.

The file is pretty long, so I just copied the relative bits:

<mime-type type="application/x-lzip-compressed-tar">
      <sub-class-of type="application/x-executable"/>
       <sub-class-of type="application/x-cd-image"/>

I can't for sure say that's the problem, but that .xml file is the only thing I can see in Keepassx's package list that would have anything to do with the mime database, and it certainly polluted the file associations!

Btw, will Solus 4 ship with Plasma 5.12? Apparently it's going to be released on 2018-02-06.

5.12 is out now. All reports indicate at solid release, dunno if we want to wait for point release, considering current ISO is already beta. Might as well get more eyeballs on future issues early on.

folcred closed this task as Resolved.Feb 9 2018, 2:05 PM
folcred claimed this task.

All original issues have been resolved. Any issues added later should have a new task created for that specific issue. I suggest waiting until after the next testing ISO is released, as some may be fixed upstream.

@folcred spot on about the train wreck mate :D