agsdotfilesdotshyprlandhyprland-configricerofirofi-configshell-scriptsswwwwallustwaybarwaybar-modulewaybar-themes
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
2.5 KiB
54 lines
2.5 KiB
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'; |
|
}
|
|
|