54 lines
2.5 KiB
JavaScript
54 lines
2.5 KiB
JavaScript
const { GLib } = imports.gi;
|
|
import Variable from 'resource:///com/github/Aylur/ags/variable.js';
|
|
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
|
|
const { execAsync, exec } = Utils;
|
|
|
|
export const distroID = exec(`bash -c 'cat /etc/os-release | grep "^ID=" | cut -d "=" -f 2 | sed "s/\\"//g"'`).trim();
|
|
export const isDebianDistro = (distroID == 'linuxmint' || distroID == 'ubuntu' || distroID == 'debian' || distroID == 'zorin' || distroID == 'popos' || distroID == 'raspbian' || distroID == 'kali');
|
|
export const isArchDistro = (distroID == 'arch' || distroID == 'endeavouros' || distroID == 'cachyos');
|
|
export const hasFlatpak = !!exec(`bash -c 'command -v flatpak'`);
|
|
|
|
const LIGHTDARK_FILE_LOCATION = `${GLib.get_user_cache_dir()}/ags/user/colormode.txt`;
|
|
const colorMode = Utils.exec('bash -c "sed -n \'1p\' $HOME/.cache/ags/user/colormode.txt"');
|
|
export let darkMode = Variable(!(Utils.readFile(LIGHTDARK_FILE_LOCATION).split('\n')[0].trim() == 'light'));
|
|
export const hasPlasmaIntegration = !!Utils.exec('bash -c "command -v plasma-browser-integration-host"');
|
|
|
|
export const getDistroIcon = () => {
|
|
// Arches
|
|
if(distroID == 'arch') return 'arch-symbolic';
|
|
if(distroID == 'endeavouros') return 'endeavouros-symbolic';
|
|
if(distroID == 'cachyos') return 'cachyos-symbolic';
|
|
// Funny flake
|
|
if(distroID == 'nixos') return 'nixos-symbolic';
|
|
// Cool thing
|
|
if(distroID == 'fedora') return 'fedora-symbolic';
|
|
// Debians
|
|
if(distroID == 'linuxmint') return 'ubuntu-symbolic';
|
|
if(distroID == 'ubuntu') return 'ubuntu-symbolic';
|
|
if(distroID == 'debian') return 'debian-symbolic';
|
|
if(distroID == 'zorin') return 'ubuntu-symbolic';
|
|
if(distroID == 'popos') return 'ubuntu-symbolic';
|
|
if(distroID == 'raspbian') return 'debian-symbolic';
|
|
if(distroID == 'kali') return 'debian-symbolic';
|
|
return 'linux-symbolic';
|
|
}
|
|
|
|
export const getDistroName = () => {
|
|
// Arches
|
|
if(distroID == 'arch') return 'Arch Linux';
|
|
if(distroID == 'endeavouros') return 'EndeavourOS';
|
|
if(distroID == 'cachyos') return 'CachyOS';
|
|
// Funny flake
|
|
if(distroID == 'nixos') return 'NixOS';
|
|
// Cool thing
|
|
if(distroID == 'fedora') return 'Fedora';
|
|
// Debians
|
|
if(distroID == 'linuxmint') return 'Linux Mint';
|
|
if(distroID == 'ubuntu') return 'Ubuntu';
|
|
if(distroID == 'debian') return 'Debian';
|
|
if(distroID == 'zorin') return 'Zorin';
|
|
if(distroID == 'popos') return 'Pop!_OS';
|
|
if(distroID == 'raspbian') return 'Raspbian';
|
|
if(distroID == 'kali') return 'Kali Linux';
|
|
return 'Linux';
|
|
} |