mirror of
https://github.com/smxi/inxi.git
synced 2024-11-17 00:31:19 +00:00
added debian/ubuntu spin detections
This commit is contained in:
parent
c667a01092
commit
e8ac808fcd
51
pinxi
51
pinxi
|
@ -50,8 +50,8 @@ use POSIX qw(ceil uname strftime ttyname);
|
||||||
## INXI INFO ##
|
## INXI INFO ##
|
||||||
my $self_name='pinxi';
|
my $self_name='pinxi';
|
||||||
my $self_version='3.3.31';
|
my $self_version='3.3.31';
|
||||||
my $self_date='2023-11-02';
|
my $self_date='2023-11-05';
|
||||||
my $self_patch='02';
|
my $self_patch='03';
|
||||||
## END INXI INFO ##
|
## END INXI INFO ##
|
||||||
|
|
||||||
my ($b_pledge,@pledges);
|
my ($b_pledge,@pledges);
|
||||||
|
@ -17416,6 +17416,7 @@ sub xrandr_data {
|
||||||
my ($res_x,$res_x_max,$res_y,$res_y_max);
|
my ($res_x,$res_x_max,$res_y,$res_y_max);
|
||||||
my ($screen_id,$set_as,$size_x,$size_x_i,$size_y,$size_y_i);
|
my ($screen_id,$set_as,$size_x,$size_x_i,$size_y,$size_y_i);
|
||||||
my (@ids,%monitors,@xrandr_screens,$xrandr);
|
my (@ids,%monitors,@xrandr_screens,$xrandr);
|
||||||
|
# note: --prop support added v 1.2, ~2009 in distros
|
||||||
if (!$fake{'xrandr'}){
|
if (!$fake{'xrandr'}){
|
||||||
$xrandr = main::grabber("$program $display_opt 2>/dev/null",'','strip','ref');
|
$xrandr = main::grabber("$program $display_opt 2>/dev/null",'','strip','ref');
|
||||||
}
|
}
|
||||||
|
@ -18673,7 +18674,7 @@ sub set_monitors_sys {
|
||||||
eval $start if $b_log;
|
eval $start if $b_log;
|
||||||
my $pattern = '/sys/class/drm/card[0-9]/device/driver/module/drivers/*';
|
my $pattern = '/sys/class/drm/card[0-9]/device/driver/module/drivers/*';
|
||||||
my @cards_glob = main::globber($pattern);
|
my @cards_glob = main::globber($pattern);
|
||||||
$pattern = '/sys/class/drm/card*-*/{edid,enabled,status,modes}';
|
$pattern = '/sys/class/drm/card*-*/{connector_id,edid,enabled,status,modes}';
|
||||||
my @ports_glob = main::globber($pattern);
|
my @ports_glob = main::globber($pattern);
|
||||||
# print Data::Dumper::Dumper \@cards_glob;
|
# print Data::Dumper::Dumper \@cards_glob;
|
||||||
# print Data::Dumper::Dumper \@ports_glob;
|
# print Data::Dumper::Dumper \@ports_glob;
|
||||||
|
@ -18707,6 +18708,9 @@ sub set_monitors_sys {
|
||||||
# print "$file\n";
|
# print "$file\n";
|
||||||
$monitor_ids->{$port}{$item} = main::reader($file,'strip',0);
|
$monitor_ids->{$port}{$item} = main::reader($file,'strip',0);
|
||||||
}
|
}
|
||||||
|
elsif ($item eq 'connector_id'){
|
||||||
|
$monitor_ids->{$port}{'connector-id'} = main::reader($file,'strip',0);
|
||||||
|
}
|
||||||
# arm: U:1680x1050p-0
|
# arm: U:1680x1050p-0
|
||||||
elsif ($item eq 'modes'){
|
elsif ($item eq 'modes'){
|
||||||
@data = main::reader($file,'strip');
|
@data = main::reader($file,'strip');
|
||||||
|
@ -31113,6 +31117,15 @@ sub get_linux_distro {
|
||||||
elsif (-d '/etc/salixtools/' && $distro =~ /Slackware/i){
|
elsif (-d '/etc/salixtools/' && $distro =~ /Slackware/i){
|
||||||
$distro =~ s/Slackware/Salix/;
|
$distro =~ s/Slackware/Salix/;
|
||||||
}
|
}
|
||||||
|
# check for spins
|
||||||
|
elsif ($distro =~ /^(Debian|Ubuntu)/i){
|
||||||
|
my $base = $1;
|
||||||
|
my $temp = distro_spin($distro);
|
||||||
|
if ($temp ne $distro){
|
||||||
|
$system_base = $base if !$system_base && $extra > 0;
|
||||||
|
$distro = $temp;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
# android fallback, sometimes requires root, sometimes doesn't
|
# android fallback, sometimes requires root, sometimes doesn't
|
||||||
|
@ -31548,6 +31561,38 @@ sub ubuntu_id {
|
||||||
eval $end if $b_log;
|
eval $end if $b_log;
|
||||||
return $id;
|
return $id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub distro_spin {
|
||||||
|
my $name = $_[0];
|
||||||
|
eval $start if $b_log;
|
||||||
|
my @spins = (
|
||||||
|
['budgie','budgie','Ubuntu Budgie','Ubuntu'],
|
||||||
|
['cinnamon','cinnamon','Ubuntu Cinnamon','Ubuntu'],
|
||||||
|
['edubuntu','edubuntu','Edubuntu','Ubuntu'],
|
||||||
|
['icebox','icebox','Debian Icebox','Debian'],
|
||||||
|
['kubuntu','plasma','Kubuntu','Ubuntu'],
|
||||||
|
['kylin','kylin','Ubuntu Kylin','Ubuntu'],
|
||||||
|
['lubuntu','lubuntu','Lubuntu','Ubuntu'],
|
||||||
|
['mate','mate','Ubuntu MATE','Ubuntu'],
|
||||||
|
['studio','studio','Ubuntu Studio','Ubuntu'],
|
||||||
|
['xebian','xebian','Xebian','Debian'],
|
||||||
|
['xubuntu','xubuntu','Xubuntu','Ubuntu'],
|
||||||
|
);
|
||||||
|
my $tests = 'budgie,cinna,edub,plasma,kylin,lubu,mate,studio,xebi,xubu';
|
||||||
|
$tests = join(':',
|
||||||
|
main::globber("/etc/xdg/xdg-*{$tests}*"));
|
||||||
|
# xdg is poor since only works in gui
|
||||||
|
foreach my $spin (@spins){
|
||||||
|
if ($name !~ /$spin->[0]/i && (
|
||||||
|
($ENV{'XDG_CONFIG_DIRS'} && $ENV{'XDG_CONFIG_DIRS'} =~ /$spin->[1]/i) ||
|
||||||
|
($tests && $tests =~ /$spin->[1]/i))){
|
||||||
|
$name =~ s/\b$spin->[3]/$spin->[2]/i;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
eval $end if $b_log;
|
||||||
|
return $name;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
## DmidecodeData
|
## DmidecodeData
|
||||||
|
|
Loading…
Reference in a new issue