wltile

Crates.iowltile
lib.rswltile
version
sourcesrc
created_at2025-03-01 12:27:24.380105+00
updated_at2025-03-14 14:13:26.755384+00
descriptionA cli tool that positions outputs/displays for wlroots based compositors
homepage
repositoryhttps://gitlab.com/eldoheiri/wltile
max_upload_size
id1573712
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Khalid Eldehairy (kdehairy)

documentation

README

Overview

wltile is a cli tool that positions outputs/displays for wlroots based compositors.

Usage

wltile <COMMAND>

Commands:
  list      Lists all connected outputs
  show      Shows detailed info for the specified output
  position  Position outputs
  set       Sets properties of the output to a desired value
  help      Print this message or the help of the given subcommand(s)

Options:
  -h, --help  Print help

List

$ wltile list
eDP-1:
	Make: Lenovo Group Limited 0x414B
	Size: 2880 x 1800 scale: 2
	Refresh Rate: 120 kHz
	Position: (3440, 540)
DP-2:
	Make: Dell Inc. DELL S3423DWC
	Size: 3440 x 1440 scale: 1
	Refresh Rate: 60 kHz
	Position: (0, 0)

Show

$ wltile show DP-2
Make: Lenovo Group Limited
Model: 0x414B
Size: 2880 x 1800
Scale: 2
Transform: 0
Physical Size: 300 x 190 mm
Refresh Rate: 120 kHz
Position: (0, 0)
Modes:
        > 0. 2880 x 1800 @ 120 kHz (*)
          1. 2880 x 1800 @ 60 kHz
          2. 1920 x 1200 @ 120 kHz
          3. 1920 x 1080 @ 120 kHz
          4. 1600 x 1200 @ 120 kHz
          5. 1680 x 1050 @ 120 kHz
          6. 1440 x 900 @ 120 kHz
          7. 1280 x 1024 @ 120 kHz
          8. 1280 x 800 @ 120 kHz
          9. 1280 x 720 @ 120 kHz
          10. 1024 x 768 @ 120 kHz
          11. 800 x 600 @ 120 kHz
          12. 640 x 480 @ 120 kHz

Modes format is as following: <ordinal> <resolution> @ <refresh rate> <prefered mode>. The <ordinal> is used later to refer to the mode in other operations (for example to set the mode to a desired one).

Modes are always shown ordered from the highest resolution and referesh rate, to the lowest. This makes the ordinals stable between runs.

Position

wltile position <TARGET_OUTPUT> <RELATION> <REFERENCE_OUTPUT> [ALIGNMENT]

Arguments:
  <TARGET_OUTPUT>     Output to be positioned
  <RELATION>          How is it positioned to the reference output [possible values: left-of, right-of]
  <REFERENCE_OUTPUT>  Reference Output
  [ALIGNMENT]         Alignment [default: align-bottom] [possible values: align-bottom, align-top]

Options:
  -h, --help  Print help

Example:

$ wltile position DP-2 left-of eDP-1 align-bottom

Set

wltile set <TARGET_OUTPUT> <PROPERTY> <VALUE>

Arguments:
  <TARGET_OUTPUT>  
  <PROPERTY>       [possible values: mode]
  <VALUE>          

Options:
  -h, --help  Print help

Example:

$ wltile show DP-2 # Show the supported modes
Make: Lenovo Group Limited
Model: 0x414B
Size: 2880 x 1800
Scale: 2
Transform: 0
Physical Size: 300 x 190 mm
Refresh Rate: 120 kHz
Position: (0, 0)
Modes:
        > 0. 2880 x 1800 @ 120 kHz (*)
          1. 2880 x 1800 @ 60 kHz
          2. 1920 x 1200 @ 120 kHz
          3. 1920 x 1080 @ 120 kHz
          4. 1600 x 1200 @ 120 kHz
          5. 1680 x 1050 @ 120 kHz
          6. 1440 x 900 @ 120 kHz
          7. 1280 x 1024 @ 120 kHz
          8. 1280 x 800 @ 120 kHz
          9. 1280 x 720 @ 120 kHz
          10. 1024 x 768 @ 120 kHz
          11. 800 x 600 @ 120 kHz
          12. 640 x 480 @ 120 kHz

$ wltile set eDP-1 mode 3 # set the desired mode using shown ordinal

$ wltile show DP-2 # Show again after changes
Make: Lenovo Group Limited
Model: 0x414B
Size: 2880 x 1800
Scale: 2
Transform: 0
Physical Size: 300 x 190 mm
Refresh Rate: 120 kHz
Position: (0, 0)
Modes:
          0. 2880 x 1800 @ 120 kHz (*)
          1. 2880 x 1800 @ 60 kHz
          2. 1920 x 1200 @ 120 kHz
        > 3. 1920 x 1080 @ 120 kHz # the new current mode
          4. 1600 x 1200 @ 120 kHz
          5. 1680 x 1050 @ 120 kHz
          6. 1440 x 900 @ 120 kHz
          7. 1280 x 1024 @ 120 kHz
          8. 1280 x 800 @ 120 kHz
          9. 1280 x 720 @ 120 kHz
          10. 1024 x 768 @ 120 kHz
          11. 800 x 600 @ 120 kHz
          12. 640 x 480 @ 120 kHz

Roadmap

  • Change output scale.
  • Change output orientation.
  • Interactive CLI mode
Commit count: 0

cargo fmt