aboutsummaryrefslogtreecommitdiffstats
path: root/config/ags/modules/.miscutils/system.js
diff options
context:
space:
mode:
authorJa.KooLit <jimmielovejay@gmail.com>2024-05-04 15:42:48 +0900
committerGitHub <noreply@github.com>2024-05-04 15:42:48 +0900
commit1127bae8815e1b60b637d0c88832bddae7cc5a1a (patch)
tree2501119e4914f79535e5bd1e12d64fc6754337c6 /config/ags/modules/.miscutils/system.js
parent5e304d31a220a64338e5cb84e397d1a102855260 (diff)
parentdc9f0cd58454b4cb33a704b11e4cc8a7c6594e67 (diff)
Merge pull request #231 from SherLock707/dev_overview
Added ags overview widget
Diffstat (limited to 'config/ags/modules/.miscutils/system.js')
-rw-r--r--config/ags/modules/.miscutils/system.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/config/ags/modules/.miscutils/system.js b/config/ags/modules/.miscutils/system.js
new file mode 100644
index 00000000..ef7d15c3
--- /dev/null
+++ b/config/ags/modules/.miscutils/system.js
@@ -0,0 +1,54 @@
+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';
+}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage