• QML 31.8%
  • Shell 26.8%
  • Python 18.3%
  • CSS 15.5%
  • Makefile 7.6%
Find a file
Aleksei Bavshin 463bfb8291
sway: stop passing commands from rofi to swaymsg exec
There are issues with escaping and arguments splitting that we're unable
to solve at the moment. For example, `.desktop` files with whitespaces
and other characters treated specially by Sway in the `Exec=` field
are known to be broken[1][2].

Removing `-run-command`/`-run-shell-command` costs us pid-based
workspace assignment. I.e. the applications that take a while to load
will appear on the current workspace instead of the one they were
launched on.
That is at least partially mitigated by the fact that the app will
inherit `XDG_ACTIVATION_TOKEN` and `DESKTOP_STARTUP_ID` variables
created for for `exec rofi` command with a default lifetime of 30s[3].
But not all applications or UI frameworks support that.

This could be revisited later, once we have a solution that correctly
escapes the command to pass it through `swaymsg exec`.

[1]: https://i3wm.org/docs/userguide.html#exec_quoting
[2]: https://github.com/swaywm/sway/issues/5931
[3]: https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/0.16/types/wlr_xdg_activation_v1.c#L361
2023-03-30 20:40:30 -07:00
scripts sway: limit volume boost via helper script 2023-03-23 00:37:54 -07:00
sddm sddm: fix fullscreen command invocation 2023-03-22 22:19:12 -07:00
sway sway: stop passing commands from rofi to swaymsg exec 2023-03-30 20:40:30 -07:00
swaylock sway: add swayidle and swaylock configuration 2022-06-29 07:32:07 -07:00
waybar waybar: sync config with upstream release 0.9.16 2022-12-11 18:49:14 -08:00
LICENSE Update copyright 2022-11-29 20:51:54 -08:00
Makefile Add configs for Live to show install instructions 2023-01-14 20:13:10 +00:00
README.md sway: allow overriding or disabling our configs per user 2022-08-05 06:48:41 -07:00
rpkg.conf Add rpm spec 2022-05-30 21:58:59 -07:00
rpkg.macros rpkg: switch to the current snapshot versioning scheme 2022-12-19 08:10:41 -08:00
sway-config-fedora.spec.rpkg sway: update XDG user dirs on startup 2023-03-27 19:21:11 -07:00

Sway config

Sway config is split to 2 parts:

  • sway/config — is the main config to be installed to /etc/sway/config. Some light changes are applied, such as removing things we want to override later (bar, launcher, etc.).
  • sway/config.d/*.conf — is a set of small self-contained configuration snippets with each containing the description and the list of required packages. Will be installed as /usr/share/sway/config.d/*.conf and loaded by default.

Upstream config changes sync

The process described below should used to update the configuration for a new upstream project release. The goal is to limit merges to changes since last release and to simplify tracking our local modifications.

  1. Switch to the upstream branch
  2. Overwrite the configuration file with an updated one
  3. Do any pre-processing if necessary, e.g. replace variables, paths or anything else upstream buildsystem does before installing the file.
  4. Commit changes, specifying the upstream release or tag in the commit message. Example: sway: sync config with upstream release 1.8
  5. Switch to the fedora branch and merge changes from upstream
  6. Update required project version in the RPM spec as necessary.