Unrotate dell monitor to reflect new physical reality.
Had some quirks with latest i3 + nvidia drivers, so unrotate for now.
This commit is contained in:
parent
da10975070
commit
2e9f3f2ea0
19
default.nix
19
default.nix
@ -1,19 +0,0 @@
|
||||
let
|
||||
unstableTarball = fetchTarball
|
||||
"https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz";
|
||||
pkgs = import <nixpkgs> { };
|
||||
unstable = import unstableTarball { };
|
||||
|
||||
in with pkgs;
|
||||
pkgs.mkShell {
|
||||
name = "rust";
|
||||
buildInputs = [
|
||||
openssl
|
||||
pkg-config
|
||||
unstable.cargo
|
||||
unstable.rustc
|
||||
unstable.rustfmt
|
||||
unstable.rust-analyzer
|
||||
postgresql
|
||||
];
|
||||
}
|
||||
@ -51,8 +51,8 @@ pub struct Resolution {
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub struct Offset {
|
||||
pub x: usize,
|
||||
pub y: usize,
|
||||
pub x: isize,
|
||||
pub y: isize,
|
||||
}
|
||||
|
||||
pub enum Orientation {
|
||||
@ -106,7 +106,7 @@ impl Screen {
|
||||
None => return Err(CommandError::MissingMonitor(self.name.to_string())),
|
||||
};
|
||||
|
||||
Ok(format!("{connection}: {w}x{h} @{in_w}x{in_h} +{x}+{y} {{ForceCompositionPipeline=On, ViewPortIn={in_w}x{in_h}, ViewPortOut={w}x{h}+0+0, Rotation={rotation}}}",
|
||||
Ok(format!("{connection}: {w}x{h} @{in_w}x{in_h} {x:+}{y:+} {{ForceCompositionPipeline=On, ViewPortIn={in_w}x{in_h}, ViewPortOut={w}x{h}+0+0, Rotation={rotation}}}",
|
||||
connection=connection,
|
||||
w=width,
|
||||
h=height,
|
||||
@ -167,6 +167,7 @@ mod tests {
|
||||
width: 1920,
|
||||
height: 1200,
|
||||
},
|
||||
offset: Offset { x: 0, y: 0 },
|
||||
orientation: Orientation::Right,
|
||||
..Default::default()
|
||||
},
|
||||
|
||||
29
src/main.rs
29
src/main.rs
@ -3,36 +3,41 @@ use anyhow::Result;
|
||||
use fixscreen::*;
|
||||
|
||||
fn main() -> Result<()> {
|
||||
let cfg = Config {
|
||||
screens: vec![
|
||||
Screen {
|
||||
let dell = Screen {
|
||||
name: ("DELL U2415".to_string()),
|
||||
resolution: Resolution {
|
||||
width: 1920,
|
||||
height: 1200,
|
||||
},
|
||||
orientation: Orientation::Left,
|
||||
offset: Offset { x: 0, y: 360 },
|
||||
..Default::default()
|
||||
},
|
||||
Screen {
|
||||
};
|
||||
let lg = Screen {
|
||||
name: ("LG Electronics 34UM95".to_string()),
|
||||
resolution: Resolution {
|
||||
width: 3440,
|
||||
height: 1440,
|
||||
},
|
||||
offset: Offset { x: 1200, y: 0 },
|
||||
..Default::default()
|
||||
offset: Offset {
|
||||
x: dell.resolution.width as isize,
|
||||
y: 0,
|
||||
},
|
||||
Screen {
|
||||
..Default::default()
|
||||
};
|
||||
let lenovo = Screen {
|
||||
name: ("Lenovo Group Limited P27h-20".to_string()),
|
||||
resolution: Resolution {
|
||||
width: 2560,
|
||||
height: 1440,
|
||||
},
|
||||
offset: Offset { x: 4640, y: 0 },
|
||||
..Default::default()
|
||||
offset: Offset {
|
||||
x: (dell.resolution.width + lg.resolution.width) as isize,
|
||||
y: 0,
|
||||
},
|
||||
],
|
||||
..Default::default()
|
||||
};
|
||||
let cfg = Config {
|
||||
screens: vec![dell, lg, lenovo],
|
||||
};
|
||||
|
||||
let map = screen_mapping_from_xorg_log("/var/log/X.0.log")?;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user