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.
