All Projects → johnae → persway

johnae / persway

Licence: other
Small Sway IPC Daemon

Programming Languages

rust
11053 projects
Nix
1067 projects

Projects that are alternatives of or similar to persway

kitti3
Kitty drop-down service for sway & i3wm
Stars: ✭ 73 (+43.14%)
Mutual labels:  ipc, swaywm
nixpkgs-review-checks
Add additional checks and more information from build logs and outputs to the reports generated by nixpkgs-review.
Stars: ✭ 27 (-47.06%)
Mutual labels:  nix
laptop
💻 Handy Dandy macOS Environment Setup
Stars: ✭ 41 (-19.61%)
Mutual labels:  nix
psc-package2nix
Tool to derive a Nix expression from a psc-package.json configuration.
Stars: ✭ 13 (-74.51%)
Mutual labels:  nix
theCore
theCore: C++ embedded framework
Stars: ✭ 76 (+49.02%)
Mutual labels:  nix
nix-configs
My Nix{OS} configuration files
Stars: ✭ 54 (+5.88%)
Mutual labels:  nix
comma
Comma runs software without installing it. [maintainers=@Artturin,@burke,@DavHau]
Stars: ✭ 626 (+1127.45%)
Mutual labels:  nix
yarn-plugin-nixify
Yarn v3 plugin to help with Nix packaging
Stars: ✭ 41 (-19.61%)
Mutual labels:  nix
wat
How fast are computers?
Stars: ✭ 26 (-49.02%)
Mutual labels:  ipc
dns.nix
A Nix DSL for DNS zone files
Stars: ✭ 69 (+35.29%)
Mutual labels:  nix
nyoom.emacs
Configurable, Minimal, Fast emacs config based on Nano-emacs and Doom
Stars: ✭ 59 (+15.69%)
Mutual labels:  nix
nixos-installer
Combining the power of Nix, Guile & Elm to install NixOS
Stars: ✭ 14 (-72.55%)
Mutual labels:  nix
nix-xdg
[WIP] Nix overlay for making programs xdg compliant
Stars: ✭ 18 (-64.71%)
Mutual labels:  nix
nix-straight.el
No description or website provided.
Stars: ✭ 25 (-50.98%)
Mutual labels:  nix
freebsd-ports-nix
Nix package manager port for the FreeBSD Ports Collection
Stars: ✭ 33 (-35.29%)
Mutual labels:  nix
procbridge
A super-lightweight IPC (Inter-Process Communication) protocol over TCP socket.
Stars: ✭ 118 (+131.37%)
Mutual labels:  ipc
nvfetcher
Generate nix sources expr for the latest version of packages
Stars: ✭ 95 (+86.27%)
Mutual labels:  nix
terranix
terranix is a terraform.json generator with a nix-like feeling
Stars: ✭ 164 (+221.57%)
Mutual labels:  nix
apollo-link-electron
Get GraphQL results over IPC for Electron apps. (WIP)
Stars: ✭ 17 (-66.67%)
Mutual labels:  ipc
nix-config
A collection of my system configs and dotfiles
Stars: ✭ 35 (-31.37%)
Mutual labels:  nix

Persway - a simple sway ipc daemon

This is a small daemon that listens to sway events over an ipc socket. It will set the workspace name dynamically to the name of the focused application if workspace-renaming is enabled. If autolayout is enabled (see command line options below), it will also alternate between horizontal / vertical splits, sort of like AwesomeWM.

The meat of persway are the on-window-focus and on-exit handlers which can be used to set the opacity of focused and non-focused windows for example (see below examples.)

persway 0.5.0
I am Persway. A friendly daemon.

I talk to the Sway Compositor and persuade it to do little evil things. Give me an option and see what it brings.

USAGE:
    persway [FLAGS] [OPTIONS]

FLAGS:
    -a, --autolayout
            Set the level of opacity to give non-focused containers, the default of 1.0 means persway will not set any
            opacity at all. Do not set opacity of the windows with given criteria. Multiple criteria can be specified.
            Enable autolayout, alternating between horizontal and vertical somewhat reminiscent of the Awesome WM
    -h, --help
            Prints help information

    -V, --version
            Prints version information

    -w, --workspace-renaming
            Enable automatic workspace renaming based on what is running in the workspace (eg. application name)


OPTIONS:
    -e, --on-exit <on-exit>
            Called when persway exits. This can be used to reset any opacity changes or other settings when persway
            exits. For example, if changing the opacity on window focus, you would probably want to reset that on exit
            like this:

            [tiling] opacity 1

            Eg. set all tiling windows to opacity 1
    -f, --on-window-focus <on-window-focus>
            Called when window comes into focus. To automatically set the opacity of all other windows to 0.8 for
            example, you would set this to:

            [tiling] opacity 0.8; opacity 1

            Eg. set all tiling windows to opacity 0.8 but set the currently focused window to opacity 1. Or if you want
            to skip some applications - in this case firefox - you would do something like:

            [tiling] opacity 0.8; [app_id="firefox"] opacity 1; opacity 1
    -l, --on-window-focus-leave <on-window-focus-leave>
            Called when window leaves focus. To automatically mark these for example, you would set this to:

            mark --add _prev

            and then in your sway config:

            bindsym Mod1+tab [con_mark=_prev] focus

If you have trouble with workspace naming/numbering and switching workspaces, please see this issue comment: #2 (comment) - the gist of it is that it is likely a sway config issue.

Nix flake

If you happen to be on NixOS or you're using the Nix Package Manager, you can easily use the flake and overlay from this repo (provided you're using Nix flakes ofc).

Persway is released under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].