Update displays.pl
This commit is contained in:
parent
a2719e8c43
commit
671bc03816
|
@ -1,5 +1,9 @@
|
||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
use v5.36;
|
||||||
|
#no warnings 'builtin::blessed';
|
||||||
|
#use experimental qw( builtin::blessed );
|
||||||
|
|
||||||
# TODO: push list with dynamic wallpapers to ~/.spool/wallpaper_outputs
|
# TODO: push list with dynamic wallpapers to ~/.spool/wallpaper_outputs
|
||||||
########################################################################
|
########################################################################
|
||||||
# Usage
|
# Usage
|
||||||
|
@ -16,7 +20,7 @@
|
||||||
# Dependencies
|
# Dependencies
|
||||||
########################################################################
|
########################################################################
|
||||||
#
|
#
|
||||||
# Depends on JSON::XS and Proc::ProcessTable
|
# Depends on JSON::MaybeXS and Proc::ProcessTable
|
||||||
#
|
#
|
||||||
# Debian:
|
# Debian:
|
||||||
# apt install libjson-xs-perl libproc-processtable-perl
|
# apt install libjson-xs-perl libproc-processtable-perl
|
||||||
|
@ -37,7 +41,8 @@ my $swaysock = $ENV{'SWAYSOCK'} || $ENV{'HOME'} . "/.spool/sway-ipc.sock";
|
||||||
my $waybar_config = "$ENV{'HOME'}/.config/waybar/config";
|
my $waybar_config = "$ENV{'HOME'}/.config/waybar/config";
|
||||||
|
|
||||||
# Path to waybar binary
|
# Path to waybar binary
|
||||||
my $waybar_bin = "$ENV{'HOME'}/.dotfiles/nix/bin/waybar";
|
#my $waybar_bin = "$ENV{'HOME'}/.dotfiles/nix/bin/waybar";
|
||||||
|
my $waybar_bin = "/usr/bin/waybar";
|
||||||
|
|
||||||
# File to log and recover last used layout name
|
# File to log and recover last used layout name
|
||||||
my $last = "$ENV{'HOME'}/.spool/last_display";
|
my $last = "$ENV{'HOME'}/.spool/last_display";
|
||||||
|
@ -132,7 +137,7 @@ my %configs = (
|
||||||
'bg' => "$ENV{HOME}/wallpapers/wallpaper.png"
|
'bg' => "$ENV{HOME}/wallpapers/wallpaper.png"
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'detached' => {
|
'x1' => {
|
||||||
'x1' => {
|
'x1' => {
|
||||||
'on' => 1,
|
'on' => 1,
|
||||||
'width' => 2560,
|
'width' => 2560,
|
||||||
|
@ -145,6 +150,32 @@ my %configs = (
|
||||||
'fallback' => '#010101',
|
'fallback' => '#010101',
|
||||||
'bg' => "$ENV{HOME}/wallpapers/wallpaper.png"
|
'bg' => "$ENV{HOME}/wallpapers/wallpaper.png"
|
||||||
},
|
},
|
||||||
|
'x13' => {
|
||||||
|
'on' => 0
|
||||||
|
},
|
||||||
|
'eInk' => {
|
||||||
|
'on' => 0
|
||||||
|
},
|
||||||
|
'TV' => {
|
||||||
|
'on' => 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'x13' => {
|
||||||
|
'x1' => {
|
||||||
|
'on' => 0
|
||||||
|
},
|
||||||
|
'x13' => {
|
||||||
|
'on' => 1,
|
||||||
|
'width' => 2560,
|
||||||
|
'height' => 1440,
|
||||||
|
'x' => 0,
|
||||||
|
'y' => 0,
|
||||||
|
'rotate' => 0,
|
||||||
|
'scale' => 1.5,
|
||||||
|
'waybar' => 'bottom',
|
||||||
|
'fallback' => '#010101',
|
||||||
|
'bg' => "$ENV{HOME}/wallpapers/wallpaper.png"
|
||||||
|
},
|
||||||
'eInk' => {
|
'eInk' => {
|
||||||
'on' => 0
|
'on' => 0
|
||||||
},
|
},
|
||||||
|
@ -246,8 +277,8 @@ if (open(my $fh, '>', $last)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
# Fetch connected displays
|
# Fetch connected displays
|
||||||
use JSON::XS;
|
use JSON::MaybeXS;
|
||||||
my $json = JSON::XS->new();
|
my $json = JSON::MaybeXS->new();
|
||||||
my $displays_raw = `swaymsg -s $swaysock -t get_outputs --raw`;
|
my $displays_raw = `swaymsg -s $swaysock -t get_outputs --raw`;
|
||||||
my $displays = $json->decode($displays_raw);
|
my $displays = $json->decode($displays_raw);
|
||||||
|
|
||||||
|
@ -319,7 +350,7 @@ unless ($waybar_only) {
|
||||||
|
|
||||||
# Kill existing Waybars
|
# Kill existing Waybars
|
||||||
require Proc::ProcessTable;
|
require Proc::ProcessTable;
|
||||||
my $t = new Proc::ProcessTable;
|
my $t = Proc::ProcessTable->new();
|
||||||
foreach my $p ( @{ $t->table } ) {
|
foreach my $p ( @{ $t->table } ) {
|
||||||
my $cmndline = $p->{'cmndline'};
|
my $cmndline = $p->{'cmndline'};
|
||||||
$cmndline =~ s/\s*$//g;
|
$cmndline =~ s/\s*$//g;
|
||||||
|
|
Loading…
Reference in New Issue