Flatpak
Flatpak is the new framework for desktop applications on Linux
Distributing applications on Linux is a pain: different distributions in
multiple versions, each with their own versions of libraries and packaging
formats. Flatpak is here to change all that. It allows the same app to be
installed on different Linux distributions, including different versions. And
it has been designed from the ground up with security in mind, so that apps
are isolated from each other and from the host system.
You can find many apps already available on https://flathub.org/
Apps that require pulse audio (like steam, skype, etc) need PULSE_SERVER
environment variable to be set. This is not set for most shells in slackware
by default. One way I found to set this is:
```
export `xprop -root -notype PULSE_SERVER | tr -d ' '`
```
Some of the examples from http://flatpak.org/#users are relying on polkit
helpers, that expect a user in the 'wheel' group to have privileges for, but
default polkit admin rule for slackware is just the root user.
So, if you run a command like:
```
flatpak remote-add --from gnome https://sdk.gnome.org/gnome.flatpakrepo
flatpak remote-add --from gnome-apps https://sdk.gnome.org/gnome-apps.flatpakrepo
```
as a limited user, you will get a polkit prompt for root's password. This is
because the default location for establishing these repos is in
`/var/lib/flatpak` and requires admin privileges.
You can optionally add the flag `--user` to flatpak commands, and it will
instead manage the repos in `~/.local/share/flatpak`.
There are examples of flatpak runtimes and applications on their wiki:
https://github.com/flatpak/flatpak/wiki/Examples
They too have desktop launchers search by desktops like KDE and XFCE, it will
require a logout, as /etc/profile.d/flatpak.sh will need to be sourced.