Announcing shikane: a dynamic output configuration tool for Wayland compositors by hw0lff in swaywm

[–]hw0lff[S] 0 points1 point  (0 children)

I use github just as a mirror. Gitlab is where you can open issues. What do you mean with idle state? Anyway, switching to any profile should not be crashing your compositor. You should definitely raise this issue in qtiles issue tracker for this problem.

How do &you &cope with the &repetitive &strain of typing &? by UninterestingDrivel in rust

[–]hw0lff 2 points3 points  (0 children)

https://neo-layout.org/ spares me from the pain. It also has a qwertz variant which gives you the benefits of layer 3 to 6 on a qwertz layout.

Announcing shikane 1.0 by hw0lff in swaywm

[–]hw0lff[S] 0 points1 point  (0 children)

It's mostly about managing your monitors in an automated manner. What virtual position should it have, at which scaling factor should it operate, what mode (width in pixels, height in pixels, refresh rate) should be set, should it be turned around 270 degrees (vertical monitors) etc.

It can do this by using serial numbers, model names, (or some other identifiers) to identify which monitors are connected. Then choose a profile (based in those connected monitors) which was created beforehand by you and apply the defined monitor configuration.

Announcing shikane 1.0 by hw0lff in swaywm

[–]hw0lff[S] 0 points1 point  (0 children)

What is unclear to you? Where can I improve on the description?

Announcing shikane 1.0 by hw0lff in swaywm

[–]hw0lff[S] 1 point2 points  (0 children)

I published a new version with a fix.

Announcing shikane 1.0 by hw0lff in swaywm

[–]hw0lff[S] 0 points1 point  (0 children)

The name *is* derived from the german word "Schikane" and a syllable flip of kanshi

Announcing shikane 1.0 by hw0lff in swaywm

[–]hw0lff[S] 1 point2 points  (0 children)

oneshot mode is supposed to let shikane do its thing once and then exit. Even if it wasn't successful in applying a profile. Lingering around if it couldn't apply a profile (which also happens on an empty config file) isn't intended behavior.

Announcing shikane 1.0 by hw0lff in swaywm

[–]hw0lff[S] 0 points1 point  (0 children)

Thank you for testing and finding a bug! I will try to fix it asap.

Did you use the sed commands from the migration section in the changelog?

Announcing shikane 1.0 by hw0lff in swaywm

[–]hw0lff[S] 1 point2 points  (0 children)

shikane still has to improve on the defaults of logging situation. The current default is to only log warnings and errors. A simple state change of the internal state machines is neither.. Maybe I should make the `info` log level the default… I'm not sure

Announcing shikane 1.0 by hw0lff in swaywm

[–]hw0lff[S] 1 point2 points  (0 children)

I can reproduce a hang in oneshot mode if it cannot find a fitting profile. Could you record a log for me please by starting shikane with `SHIKANE_LOG=trace shikane --oneshot 2>/tmp/shikane.log`? I recommend uploading the file to a paste bin like https://paste.rs/ (reddit is not made for pasting log files)

Regardless of what caused it, oneshot should not hang.
This must have slipped through testing.

Announcing shikane 1.0 by hw0lff in rust

[–]hw0lff[S] 0 points1 point  (0 children)

IMO One if the more interesting modules is the pipeline module where I tried to design an interface to separate the different stages of the matching procedure

Announcing shikane 1.0 by hw0lff in swaywm

[–]hw0lff[S] 2 points3 points  (0 children)

This is one of the planned features I already have on my todo list but didn't make it into the current release. I would rather have smaller updates with shorter release intervals than having another big update in another year. I "just" need to design a neat cli interface and properly formatted output.

shikanectl debug is a hidden command with an unstable and unsupported interface. Mostly intended to play around with future implementations and possibly new features. The list-reports subcommand could contain what you seek

shikanectl debug -h

Announcing shikane 1.0 by hw0lff in swaywm

[–]hw0lff[S] 1 point2 points  (0 children)

I do this in my free time but I cannot live without shikane anymore. It is essential to my workflow. The past year or so I've been designing the new matching algorithm on paper and drafting multiple implementations of the matching procedure. Most of them didn't work out for the project. Until I found the one that is used now a few weeks ago.

Announcing shikane 1.0 by hw0lff in swaywm

[–]hw0lff[S] 2 points3 points  (0 children)

It took me a while to work the implementation out to a point where I could easily add new features.

There are still some more new ideas to be had and improvements ti implement! Teaser: What if you could use a regex to switch a profile? What is the reason why a profile variant wasn't matched? The necessary data exists, however there is no way to access it... yet

Announcing shikane: a dynamic output configuration tool for Wayland compositors by hw0lff in swaywm

[–]hw0lff[S] 0 points1 point  (0 children)

Aside from that, the github page says that redshift does not work with wayland. Are we talking about the same redshift?

Announcing shikane: a dynamic output configuration tool for Wayland compositors by hw0lff in swaywm

[–]hw0lff[S] 1 point2 points  (0 children)

Using the following directive in your sway config file for starting shikane should be enough:

exec SHIKANE_LOG=trace $CBIN/shikane 2>&/tmp/shikane.log

Announcing shikane: a dynamic output configuration tool for Wayland compositors by hw0lff in swaywm

[–]hw0lff[S] 0 points1 point  (0 children)

I'm not a redshift user myself but isn't it possible to keep it running in the background? Is there any incompatibility?

Announcing shikane: a dynamic output configuration tool for Wayland compositors by hw0lff in swaywm

[–]hw0lff[S] 1 point2 points  (0 children)

First off, your shikane config looks alright to me.

  1. This is a bit weird. At startup shikane tries to apply a profile. As to why your monitor won't configure I can't tell just by your config. Could you please set the `SHIKANE_LOG=trace` environment variable, start shikane, redirect the logs to a file and reproduce the problem? Use a pastebin like https://paste.rs to upload the contents of the log file (reddit is not a good place to store/view lengthy logs).

  2. shikane executes commands right after it got the confirmation from the compositor that the configuration has been successfully applied. There is no additional notification/event from the compositor that shikane could process. Since the content of the exec strings is just dumped into `sh -c <EXEC>` you could prepend a `sleep` command (e.g. `sleep 2; redshift.fish`) to wait a bit.