diff --git a/.config/ags/assets/icons/cachyos-symbolic.svg b/.config/ags/assets/icons/cachyos-symbolic.svg index f2649b1e6..4a9db19ab 100644 --- a/.config/ags/assets/icons/cachyos-symbolic.svg +++ b/.config/ags/assets/icons/cachyos-symbolic.svg @@ -4,8 +4,8 @@ width="20" height="20" version="1.1" - viewBox="0 0 17.921002 17.921002" - sodipodi:docname="CachyOS_Logo.svg" + viewBox="0 0 17.921003 17.921002" + sodipodi:docname="cachyos-symbolic.svg" inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" @@ -21,10 +21,10 @@ inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" - inkscape:zoom="12.91837" - inkscape:cx="9.869666" - inkscape:cy="15.907579" - inkscape:window-width="1424" + inkscape:zoom="32" + inkscape:cx="10.671875" + inkscape:cy="11.234375" + inkscape:window-width="1687" inkscape:window-height="1028" inkscape:window-x="0" inkscape:window-y="0" @@ -38,7 +38,7 @@ x2="237.07001" y1="296.20001" y2="304.07999" - gradientTransform="matrix(0.04476,0,0,0.044679,-8.5923,-4.6302)" + gradientTransform="matrix(0.04476,0,0,0.044679,-8.5042241,-4.351186)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient937" /> + + + + + + + + + - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/.config/ags/assets/icons/linux-symbolic.svg b/.config/ags/assets/icons/linux-symbolic.svg new file mode 100644 index 000000000..63f9c7e58 --- /dev/null +++ b/.config/ags/assets/icons/linux-symbolic.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.config/ags/modules/.miscutils/mathfuncs.js b/.config/ags/modules/.miscutils/mathfuncs.js new file mode 100644 index 000000000..ba1c0b594 --- /dev/null +++ b/.config/ags/modules/.miscutils/mathfuncs.js @@ -0,0 +1,4 @@ + +export function clamp(x, min, max) { + return Math.min(Math.max(x, min), max); +} \ No newline at end of file diff --git a/.config/ags/modules/.miscutils/system.js b/.config/ags/modules/.miscutils/system.js new file mode 100644 index 000000000..002f5123d --- /dev/null +++ b/.config/ags/modules/.miscutils/system.js @@ -0,0 +1,37 @@ +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'`).trim(); +export const isDebianDistro = (distroID == 'linuxmint' || distroID == 'ubuntu' || distroID == 'debian' || distroID == 'zorin' || distroID == 'popos' || distroID == 'raspbian' || distroID == 'kali' || distroID == 'elementary'); +export const isArchDistro = (distroID == 'arch' || distroID == 'endeavouros' || distroID == 'cachyos'); +export const hasFlatpak = !!exec(`bash -c 'command -v flatpak'`); + +export const getDistroIcon = () => { + 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'; + if(distroID == 'elementary') return 'debian-symbolic'; + if(distroID == 'arch') return 'arch-symbolic'; + if(distroID == 'endeavouros') return 'endeavouros-symbolic'; + if(distroID == 'cachyos') return 'cachyos-symbolic'; + return 'linux-symbolic'; +} + +export const getDistroName = () => { + if(distroID == 'linuxmint') return 'Linux Mint'; + if(distroID == 'ubuntu') return 'Ubuntu'; + if(distroID == 'debian') return 'Debian'; + if(distroID == 'zorin') return 'Zorin'; + if(distroID == 'pop') return 'Pop!_OS'; + if(distroID == 'raspbian') return 'Raspbian'; + if(distroID == 'kali') return 'Kali Linux'; + if(distroID == 'elementary') return 'elementary OS'; + if(distroID == 'arch') return 'Arch Linux'; + if(distroID == 'endeavouros') return 'EndeavourOS'; + if(distroID == 'cachyos') return 'CachyOS'; + return 'Linux'; +} \ No newline at end of file diff --git a/.config/ags/modules/desktopbackground/wallpaper.js b/.config/ags/modules/desktopbackground/wallpaper.js index 5ab0e6c8a..da98c2176 100644 --- a/.config/ags/modules/desktopbackground/wallpaper.js +++ b/.config/ags/modules/desktopbackground/wallpaper.js @@ -8,6 +8,7 @@ import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js'; import Wallpaper from '../../services/wallpaper.js'; import { setupCursorHover } from '../.widgetutils/cursorhover.js'; +import { clamp } from '../.miscutils/mathfuncs.js'; const DISABLE_AGS_WALLPAPER = true; @@ -18,10 +19,6 @@ const MAX_WORKSPACES = 10; const WALLPAPER_OFFSCREEN_X = (WALLPAPER_ZOOM_SCALE - 1) * SCREEN_WIDTH; const WALLPAPER_OFFSCREEN_Y = (WALLPAPER_ZOOM_SCALE - 1) * SCREEN_HEIGHT; -function clamp(x, min, max) { - return Math.min(Math.max(x, min), max); -} - export default (monitor = 0) => { const wallpaperImage = Widget.DrawingArea({ diff --git a/.config/ags/modules/sideleft/tools/color.js b/.config/ags/modules/sideleft/tools/color.js index f93b56b57..568a04c33 100644 --- a/.config/ags/modules/sideleft/tools/color.js +++ b/.config/ags/modules/sideleft/tools/color.js @@ -3,8 +3,7 @@ const { Gio, GLib } = imports.gi; import Service from 'resource:///com/github/Aylur/ags/service.js'; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; const { exec, execAsync } = Utils; - -const clamp = (num, min, max) => Math.min(Math.max(num, min), max); +import { clamp } from '../../.miscutils/mathfuncs.js'; export class ColorPickerSelection extends Service { static { diff --git a/.config/ags/modules/sideleft/tools/colorpicker.js b/.config/ags/modules/sideleft/tools/colorpicker.js index 9c490545c..203695dc3 100644 --- a/.config/ags/modules/sideleft/tools/colorpicker.js +++ b/.config/ags/modules/sideleft/tools/colorpicker.js @@ -11,8 +11,7 @@ import { MaterialIcon } from '../../.commonwidgets/materialicon.js'; import { setupCursorHover } from '../../.widgetutils/cursorhover.js'; import { ColorPickerSelection, hslToHex, hslToRgbValues, hexToHSL } from './color.js'; - -const clamp = (num, min, max) => Math.min(Math.max(num, min), max); +import { clamp } from '../../.miscutils/mathfuncs.js'; export default () => { const selectedColor = new ColorPickerSelection(); diff --git a/.config/ags/modules/sideleft/tools/quickscripts.js b/.config/ags/modules/sideleft/tools/quickscripts.js index a0bb205d1..5b3fbec8e 100644 --- a/.config/ags/modules/sideleft/tools/quickscripts.js +++ b/.config/ags/modules/sideleft/tools/quickscripts.js @@ -9,10 +9,8 @@ import { MaterialIcon } from '../../.commonwidgets/materialicon.js'; import { setupCursorHover } from '../../.widgetutils/cursorhover.js'; Gtk.IconTheme.get_default().append_search_path(`${App.configDir}/assets/icons`); -const distroID = exec(`bash -c 'cat /etc/os-release | grep "^ID=" | cut -d "=" -f 2'`).trim(); -const isDebianDistro = (distroID == 'linuxmint' || distroID == 'ubuntu' || distroID == 'debian' || distroID == 'zorin' || distroID == 'pop' || distroID == 'raspbian' || distroID == 'kali' || distroID == 'elementary'); -const isArchDistro = (distroID == 'arch' || distroID == 'endeavouros' || distroID == 'cachyos'); -const hasFlatpak = !!exec(`bash -c 'command -v flatpak'`); +import { distroID, isArchDistro, isDebianDistro, hasFlatpak } from '../../.miscutils/system.js'; + const scripts = [ { diff --git a/.config/ags/modules/sideright/sideright.js b/.config/ags/modules/sideright/sideright.js index 911ed1411..7ed8095eb 100644 --- a/.config/ags/modules/sideright/sideright.js +++ b/.config/ags/modules/sideright/sideright.js @@ -16,10 +16,15 @@ import { } from "./quicktoggles.js"; import ModuleNotificationList from "./notificationlist.js"; import { ModuleCalendar } from "./calendar.js"; +import { getDistroIcon } from '../.miscutils/system.js'; const timeRow = Box({ - className: 'spacing-h-5 sidebar-group-invisible-morehorizpad', + className: 'spacing-h-10 sidebar-group-invisible-morehorizpad', children: [ + Widget.Icon({ + icon: getDistroIcon(), + className: 'txt txt-larger', + }), Widget.Label({ hpack: 'center', className: 'txt-small txt', diff --git a/.config/ags/scss/_musicmaterial.scss b/.config/ags/scss/_musicmaterial.scss index 8b1378917..e69de29bb 100644 --- a/.config/ags/scss/_musicmaterial.scss +++ b/.config/ags/scss/_musicmaterial.scss @@ -1 +0,0 @@ - diff --git a/.config/ags/services/brightness.js b/.config/ags/services/brightness.js index 8032b14ae..89bfbac10 100644 --- a/.config/ags/services/brightness.js +++ b/.config/ags/services/brightness.js @@ -2,7 +2,7 @@ import Service from 'resource:///com/github/Aylur/ags/service.js'; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; const { exec, execAsync } = Utils; -const clamp = (num, min, max) => Math.min(Math.max(num, min), max); +import { clamp } from '../modules/.miscutils/mathfuncs.js'; class BrightnessService extends Service { static {