Package Details: kanshi-git r92.dabd7a2-2

Git Clone URL: https://aur.archlinux.org/kanshi-git.git (read-only, click to copy)
Package Base: kanshi-git
Description: Dynamic output configuration for Wayland WMs
Upstream URL: https://github.com/emersion/kanshi
Keywords: sway wayland
Licenses: MIT
Conflicts: kanshi
Provides: kanshi
Submitter: lowercase
Maintainer: pychuang
Last Packager: pychuang
Votes: 9
Popularity: 0.44
First Submitted: 2019-03-19 14:21
Last Updated: 2021-02-24 18:32

Pinned Comments

pychuang commented on 2021-02-24 18:58

This package comes with a systemd unit file that is not supported by the upstream. To enable the unit, run $ systemctl --user enable kanshi.service. Some notes:

  1. This unit won't automatically start unless graphical-session.target has already started. Though on many users' systems, graphical-session.target always starts under Sway, Sway actually does not activate graphical-session.target by default. The graphical-session.target may be activated silently by some other applications/units or by explicit exec command in the Sway config.
  2. Many other X11 window managers or Wayland compositors also activate graphical-session.target. This says, if you sometimes use other WM, like gnome or kde, kanshi.service will also automatically start (and then fail because kanshi is a Sway-only application).

The best practice is to create your own sway-session.target, and modify (or create your own) the kanshi.service to be wanted by sway-session.target. See the Wiki at Sway's GitHub and also ArchWiki:

Latest Comments

« First ‹ Previous 1 2

lowercase commented on 2020-10-11 23:52

Fails to build with aurtools and stuff using it like aurto. Use of meson in the prepare function will fail there. Maybe you could adjust the PKGBUILD to resemble something like https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/eog or https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/fwupd

eschwartz commented on 2019-09-23 20:05

I'd simplify your definition.

There are two ways pacman checks if a dependency is satisfied:

  • The dependency is satisfied by an installed package. All actual packages must contain version metadata.

  • If the dependency is not satisfied by a package, check if it is satisfied by a virtual package created by an installed package with the provides metadata.

    • If the virtual package contains optional version metadata, the virtual package can satisfy a versioned dependency.

    • If the virtual package does not contain optional version metadata, the virtual package cannot satisfy a versioned dependency.

Ferdi265 commented on 2019-09-23 18:08

I decided I'd look into why pacman doesn't allow wlroots-git even though it provides wlroots.

* one deep dive into the pacman source later *

What actually happens

There are two ways in which pacman checks if a dependency is satisfied:

  • literal check: the package wlroots is installed
    • => pacman compares versions
  • provides check: a package providing wlroots is installed
    • if dependency check asks for any version:
      • => return true
    • if provides section of the package specifies a version:
      • => pacman compares versions
    • else:
      • => return false

the comparison against wlroots>=0.7 runs into the latter case:

  • wlroots-git provides wlroots (no specified version)
    • => ergo, only comparisons without specific versions succeed
Possible Solutions and Workarounds
change kanshi-git (workaround)

depend on wlroots instead of wlroots>=0.7

change wlroots-git

(see edit) ~~change the provides line to provides=('wlroots==0.7.0') or anything involving $pkgver.~~

(see edit) ~~I don't know if that can be generated from git like pkgver().~~

EDIT: that doesn't seem to be valid syntax according to makepkg
EDIT2: manually setting provides to wlroots==0.7.0 after the package has been built works though, so not allowing this is a bug in makepkg
EDIT3: answer from makepkg developer: not a bug, the syntax should be wlroots=0.7.0, further discussion in the bug tracker: https://bugs.archlinux.org/task/63895

bwidawsk commented on 2019-09-10 15:00

@naibafo: I'm somewhat ignorant to the build system, but I had assumed wlroots-git would have satisfied the wlroots>=0.7 dep. Not sure if wlroots-git package should say it provides wlroots??

I've disowned the package because I personally want a release version, and only used this, and maintained this until 1.0.

naibafo commented on 2019-09-10 11:55

Why did you remove the alternative dependency on wlroots-git?

My whole sway/wayland setup at the moment still consists of *-git aur packages, including wlroots-git. I can't imagine that I am the only one. I think with this pkg being -git it would be nice if the wlroots-git package could be used without editing the pkgbuild myself.

mpsq commented on 2019-08-30 12:45

Now that wlroots 0.7 is out and available in Arch official repos, I think we can drop the dependency on wlroots-git in favor of community/wlroots. https://www.archlinux.org/packages/community/x86_64/wlroots/

lowercase commented on 2019-06-06 02:17

Please excuse my late reply. I have begun editing the PKGBUILD, but could not finalize it as of yet. I disowned the package now, so you may take over. Thank you very much

bwidawsk commented on 2019-06-05 18:11

I'd be happy to take over maintenance.

mazzolino commented on 2019-06-01 10:44

The author just rewrote the tool in C...

https://github.com/emersion/kanshi/pull/29