folder restructure round 1 (#271)

This commit is contained in:
end-4
2024-02-19 23:55:01 +07:00
parent 83e837e920
commit 4151d52737
86 changed files with 607 additions and 181 deletions

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

@@ -0,0 +1,370 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="SVGRoot"
width="20"
height="20"
version="1.1"
viewBox="0 0 17.921002 17.921002"
sodipodi:docname="CachyOS_Logo.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"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview30"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
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:window-height="1028"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="SVGRoot" />
<defs
id="defs6">
<linearGradient
id="linearGradient939"
x1="237.19"
x2="237.07001"
y1="296.20001"
y2="304.07999"
gradientTransform="matrix(0.04476,0,0,0.044679,-8.5923,-4.6302)"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient937" />
<linearGradient
id="linearGradient937">
<stop
stop-color="#001313"
offset="0"
id="stop1" />
<stop
stop-color="#001313"
stop-opacity="0"
offset="1"
id="stop2" />
</linearGradient>
<linearGradient
id="linearGradient5185"
x1="994.81"
x2="982.34003"
y1="1533.3"
y2="1556.8"
gradientTransform="matrix(0.084141,0,0,0.083989,-76.331,-126.67)"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient4353" />
<linearGradient
id="linearGradient4353">
<stop
stop-color="#020202"
offset="0"
id="stop3" />
<stop
stop-color="#020202"
stop-opacity="0"
offset="1"
id="stop4" />
</linearGradient>
<linearGradient
id="linearGradient9102"
x1="1022.5"
x2="1018.6"
y1="1582.4"
y2="1575.6"
gradientTransform="matrix(0.086381,0,0,0.081808,-79.192,-124.97)"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient4353" />
<linearGradient
id="linearGradient11890"
x1="940.42999"
x2="930.59003"
y1="1612.5"
y2="1594.5"
gradientTransform="matrix(0.084141,0,0,0.083989,-76.331,-126.67)"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient4353" />
<linearGradient
id="linearGradient11670"
x1="965.59998"
x2="951.65997"
y1="1571.4"
y2="1571.3"
gradientTransform="matrix(0.084141,0,0,0.083989,-76.331,-126.67)"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient4353" />
<linearGradient
id="linearGradient13770"
x1="946.22998"
x2="961.37"
y1="1655.9"
y2="1655.8"
gradientTransform="matrix(0.084141,0,0,0.083989,-76.331,-126.67)"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient4353" />
<linearGradient
id="linearGradient2816"
x1="366.14999"
x2="350.92001"
y1="427.32001"
y2="419.64001"
gradientTransform="matrix(0.04476,0,0,0.044679,-10.921,-4.4349)"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient937" />
<linearGradient
id="linearGradient12421"
x1="936.34003"
x2="933.38"
y1="1628.8"
y2="1623"
gradientTransform="matrix(0.084141,0,0,0.083989,-76.331,-126.67)"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient4353" />
<linearGradient
id="linearGradient13391"
x1="950.33002"
x2="941.96997"
y1="1618.6"
y2="1645.8"
gradientTransform="matrix(0.084141,0,0,0.083989,-76.331,-126.67)"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient4353" />
<linearGradient
id="linearGradient13599"
x1="1008.2"
x2="1015.7"
y1="1681.3"
y2="1668.4"
gradientTransform="matrix(0.084141,0,0,0.083989,-76.331,-126.67)"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient4353" />
<linearGradient
id="linearGradient18175"
x1="1148.3"
x2="1145.4"
y1="1585.5"
y2="1630"
gradientTransform="matrix(0.34992,0,0,0.34992,-282.87,-491.67)"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient18299" />
<linearGradient
id="linearGradient18299">
<stop
stop-color="#008066"
stop-opacity="0"
offset="0"
id="stop5" />
<stop
stop-color="#0fc"
offset="1"
id="stop6" />
</linearGradient>
<linearGradient
id="linearGradient18632"
x1="1148.3"
x2="1145.4"
y1="1585.5"
y2="1630"
gradientTransform="matrix(0.26565,0,0,0.26565,-211.15,-375.49)"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient18299" />
<linearGradient
id="linearGradient18659"
x1="1148.3"
x2="1145.4"
y1="1585.5"
y2="1630"
gradientTransform="matrix(0.13679,0,0,0.13679,-53.624,-195.03)"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient18299" />
<linearGradient
id="linearGradient3254"
x1="348.04999"
x2="361.20999"
y1="194.78"
y2="187.24001"
gradientTransform="matrix(0.04476,0,0,0.044679,-10.921,-4.4349)"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient937" />
</defs>
<circle
cx="64.510002"
cy="62.02"
r="87.449997"
opacity="0"
stroke-width="0.27971"
id="circle6" />
<g
id="g31"
transform="translate(-0.01237617,0.135951)">
<path
d="m 4.3286,1.9244 h 8.3458 l -2.1127,3.6528 h -4.526 l -1.8859,3.2605 1.9121,3.306 h 8.8286 l -2.1664,3.7456 H 4.1494 L 0.0125,8.7368 3.973,1.8893 Z"
fill="#ffffff"
id="path6" />
<path
d="m 3.973,1.8893 6.5887,3.6879 2.1127,-3.6528 z"
fill="#0a8"
id="path7"
style="fill:#000000" />
<path
d="m 6.0619,12.144 -1.9125,3.7456 h 8.5747 l 2.1664,-3.7456 z"
fill="#0a8"
id="path8"
style="fill:#000000" />
<path
d="m 3.973,1.8893 6.5887,3.6879 H 6.0357 L 4.1498,8.8377 6.0619,12.1437 4.1494,15.8893 0.0125,8.7368 3.973,1.8893"
fill="#0cf"
id="path9"
style="fill:#000000" />
<path
d="M 0.0125,8.7368 4.1498,8.83771 4.26548,9.03559 0.14248,8.952703 Z"
fill="url(#linearGradient939)"
id="path10"
style="fill:url(#linearGradient939)" />
<path
d="M 10.562,5.5772 3.9733,1.8893 3.47224,2.7914 8.46694,5.5562 Z"
fill="url(#linearGradient5185)"
id="path11"
style="fill:#000000" />
<path
d="M 6.0029,5.5427 12.714,1.7595 10.545,5.3174 Z"
fill="url(#linearGradient9102)"
id="path12"
style="fill:#000000" />
<path
d="M 6.0356,5.5772 12.6744,1.9244 10.5617,5.5772 Z"
fill="#0a8"
id="path13"
style="fill:#000000" />
<path
d="M 0.0125,8.7368 6.0356,5.5772 4.1497,8.8377 Z"
fill="#0a8"
id="path14"
style="fill:#000000" />
<path
d="M 0.0125,8.7368 6.0356,5.5772 5.6287,4.9418 0.4379,7.9454 Z"
fill="url(#linearGradient11890)"
id="path15"
style="fill:url(#linearGradient11890)" />
<path
d="M 6.0356,5.5772 3.973,1.8893 4.14973,8.8377 Z"
fill="#0a8"
id="path16"
style="fill:#000000" />
<path
d="m 6.0619,12.144 6.6622,3.7456 2.1664,-3.7456 z"
fill="#0cf"
id="path17"
style="fill:#000000" />
<path
d="M 3.973,1.8893 3.47194,2.7914 3.520006,8.8082 4.149736,8.837756 Z"
fill="url(#linearGradient11670)"
id="path18"
style="fill:#000000" />
<path
d="m 4.1498,8.8377 -3.1586,1.5811 3.1583,5.4705 z"
fill="#0a8"
id="path19"
style="fill:#000000" />
<path
d="m 4.1498,8.8377 v 7.0516 l 0.77392,-1.5077 0.059767,-4.1337 z"
fill="url(#linearGradient13770)"
id="path20"
style="fill:#000000" />
<path
d="m 4.1494,15.889 -0.29801,-0.53544 1.9191,-3.6995 0.29137,0.48935 z"
fill="url(#linearGradient2816)"
id="path21"
style="fill:#000000" />
<path
d="m 0.99115,10.419 3.1586,-1.5811 -0.62972,-0.029556 -2.7405,1.307 z"
fill="url(#linearGradient12421)"
id="path22"
style="fill:#000000" />
<path
d="m 0.99115,10.419 5.0708,1.7248 -1.9121,-3.306 z"
fill="#0a8"
id="path23"
style="fill:#000000" />
<path
d="m 6.0619,12.144 -5.0708,-1.7248 0.55061,0.94903 4.1672,1.5109 z"
fill="url(#linearGradient13391)"
id="path24"
style="fill:#000000" />
<path
d="m 6.0619,12.144 6.6622,3.7456 0.79849,-1.4187 -4.2878,-2.3635 z"
fill="url(#linearGradient13599)"
id="path25"
style="fill:#000000" />
<g
transform="matrix(0.14699,0,0,0.14672,-0.84757,-0.42617)"
id="g26"
style="fill:#000000">
<circle
cx="117.95"
cy="75.441002"
r="9.6893997"
fill="#0cf"
id="circle25"
style="fill:#000000" />
<circle
cx="118.08"
cy="75.341003"
r="9.6893997"
fill="url(#linearGradient18175)"
id="circle26"
style="fill:#000000" />
</g>
<g
transform="matrix(0.14699,0,0,0.14672,-0.20056,-0.74963)"
id="g28"
style="fill:#000000">
<circle
cx="93.138"
cy="55.044998"
r="7.3558998"
fill="#0cf"
id="circle27"
style="fill:#000000" />
<circle
cx="93.238998"
cy="54.969002"
r="7.3558998"
fill="url(#linearGradient18632)"
id="circle28"
style="fill:#000000" />
</g>
<g
transform="matrix(0.14699,0,0,0.14672,-0.17051,-0.32616)"
id="g30"
style="fill:#000000">
<circle
cx="103.06"
cy="26.657"
r="3.7876999"
fill="#0cf"
id="circle29"
style="fill:#000000" />
<circle
cx="103.11"
cy="26.618"
r="3.7876999"
fill="url(#linearGradient18659)"
id="circle30"
style="fill:#000000" />
</g>
<path
d="M 6.0356,5.5772 3.973,1.8893 4.49844,1.88188 l 1.9387,3.4465 z"
fill="url(#linearGradient3254)"
id="path30"
style="fill:#000000" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

@@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="20mm"
height="20mm"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
sodipodi:docname="EndeavourOS Logo.svg"
version="1.1"
viewBox="0 0 48.231007 48.231007"
id="svg8"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs8" />
<sodipodi:namedview
id="cvfa"
bordercolor="#666666"
borderopacity="1.0"
inkscape:current-layer="g3"
inkscape:cx="52.728754"
inkscape:cy="60.739468"
inkscape:document-rotation="0"
inkscape:document-units="mm"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:window-height="1028"
inkscape:window-maximized="1"
inkscape:window-width="1316"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:zoom="4.930896"
pagecolor="#ffffff"
showgrid="false"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<title
id="title1">EndeavourOS Logo</title>
<metadata
id="metadata1">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>EndeavourOS Logo</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(-66.790568,-123.01834)"
inkscape:groupmode="layer"
inkscape:label="Layer 1"
id="g8">
<g
transform="translate(76.2,-12.7)"
id="g7">
<g
transform="matrix(1.47,0,0,1.47,-519,105)"
id="g6">
<g
transform="matrix(0.963,0,0,0.983,13.5,0.76)"
id="g5">
<g
transform="matrix(0.678,0,0,0.678,452,49.2)"
id="g3">
<g
id="g9"
transform="translate(6.8384014e-4,3.6851185)">
<path
d="m -127,-42.3 c 4.57,6.45 23.8,31.4 10.7,36.6 -6.12,2.81 -34,-1.65 -33.6,-0.921 -2,3.28 -3.59,5.92 -3.59,5.92 0,0 21.5,0.967 38.1,-1.27 23.7,-3.18 -4.88,-33.5 -11.6,-40.3 z"
style="fill:#333333;fill-opacity:0.7;stroke-width:0.585"
inkscape:connector-curvature="0"
id="path1" />
<path
d="m -127,-42.3 c -1.52,0.209 -29.4,34.5 -29.4,34.5 0,0 2.01,0.57 6.58,1.23 1.48,-1.15 22.3,-36.2 22.9,-35.7 -0.0107,-0.0141 -0.028,-0.0193 -0.0522,-0.016 z"
style="fill:#333333;fill-opacity:0.7;stroke-width:0.585"
inkscape:connector-curvature="0"
id="path2" />
<path
d="m -127,-42.3 c -0.96,-0.156 -22.9,35.7 -22.9,35.7 0,0 19.9,2.1 28.1,1.96 23.1,-0.39 0.176,-30.6 -5.16,-37.7 -0.007,-0.007 -0.0151,-0.0108 -0.0248,-0.0124 z"
style="fill:#1a1a1a;stroke-width:0.585"
inkscape:connector-curvature="0"
id="path3" />
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

+20 -15
View File
@@ -1,20 +1,21 @@
"use strict";
// Import
import Gdk from 'gi://Gdk';
import GLib from 'gi://GLib';
import App from 'resource:///com/github/Aylur/ags/app.js'
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'
// Widgets
import { Bar, BarCornerTopleft, BarCornerTopright } from './widgets/bar/main.js';
import Cheatsheet from './widgets/cheatsheet/main.js';
// import DesktopBackground from './widgets/desktopbackground/main.js';
// import Dock from './widgets/dock/main.js';
import Corner from './widgets/screencorners/main.js';
import Indicator from './widgets/indicators/main.js';
import Osk from './widgets/onscreenkeyboard/main.js';
import Overview from './widgets/overview/main.js';
import Session from './widgets/session/main.js';
import SideLeft from './widgets/sideleft/main.js';
import SideRight from './widgets/sideright/main.js';
import { Bar, BarCornerTopleft, BarCornerTopright } from './modules/bar/main.js';
import Cheatsheet from './modules/cheatsheet/main.js';
// import DesktopBackground from './modules/desktopbackground/main.js';
// import Dock from './modules/dock/main.js';
import Corner from './modules/screencorners/main.js';
import Indicator from './modules/indicators/main.js';
import Osk from './modules/onscreenkeyboard/main.js';
import Overview from './modules/overview/main.js';
import Session from './modules/session/main.js';
import SideLeft from './modules/sideleft/main.js';
import SideRight from './modules/sideright/main.js';
const range = (length, start = 1) => Array.from({ length }, (_, i) => i + start);
function forMonitors(widget) {
@@ -25,13 +26,15 @@ function forMonitors(widget) {
// SCSS compilation
Utils.exec(`bash -c 'echo "" > ${App.configDir}/scss/_musicwal.scss'`); // reset music styles
Utils.exec(`bash -c 'echo "" > ${App.configDir}/scss/_musicmaterial.scss'`); // reset music styles
function applyStyle() {
Utils.exec(`sassc ${App.configDir}/scss/main.scss ${App.configDir}/style.css`);
async function applyStyle() {
const COMPILED_STYLE_DIR = `${GLib.get_user_cache_dir()}/ags/user/generated`
Utils.exec(`mkdir -p ${COMPILED_STYLE_DIR}`);
Utils.exec(`sassc ${App.configDir}/scss/main.scss ${COMPILED_STYLE_DIR}/style.css`);
App.resetCss();
App.applyCss(`${App.configDir}/style.css`);
App.applyCss(`${COMPILED_STYLE_DIR}/style.css`);
console.log('[LOG] Styles loaded')
}
applyStyle();
applyStyle().catch(print);
const Windows = () => [
// forMonitors(DesktopBackground),
@@ -65,6 +68,8 @@ export default {
// Stuff that don't need to be toggled. And they're async so ugh...
// Bar().catch(print); // Use this to debug the bar. Single monitor only.
// BarCornerTopleft().catch(print); // Use this to debug the bar. Single monitor only.
// BarCornerTopright().catch(print); // Use this to debug the bar. Single monitor only.
forMonitors(Bar);
forMonitors(BarCornerTopleft);
forMonitors(BarCornerTopright);
-38
View File
@@ -1,38 +0,0 @@
const resource = file => `resource:///com/github/Aylur/ags/${file}.js`;
const require = async file => (await import(resource(file))).default;
const service = async file => (await require(`service/${file}`));
export const App = await require('app');
// export const Widget = await require('widget');
// export const Service = await require('service');
// export const Variable = await require('variable');
export const Utils = await import(resource('utils'));
// export const Applications = await service('applications');
// export const Audio = await service('audio');
// export const Battery = await service('battery');
// export const Bluetooth = await service('bluetooth');
// export const Hyprland = await service('hyprland');
export const Mpris = await service('mpris');
export const Network = await service('network');
export const Notifications = await service('notifications');
// export const SystemTray = await service('systemtray');
globalThis['App'] = App; //////////////////////////////
// globalThis['Widget'] = Widget;
// globalThis['Service'] = Service;
// globalThis['Variable'] = Variable;
globalThis['Utils'] = Utils; ///////////////////////////
// globalThis['Applications'] = Applications;
// globalThis['Audio'] = Audio;
// globalThis['Battery'] = Battery;
// globalThis['Bluetooth'] = Bluetooth;
// globalThis['Hyprland'] = Hyprland;
globalThis['Mpris'] = Mpris;
globalThis['Network'] = Network;
globalThis['Notifications'] = Notifications;
// globalThis['SystemTray'] = SystemTray;
const { exec } = Utils;
export const SCREEN_WIDTH = Number(exec(`bash -c "xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f1 | head -1" | awk '{print $1}'`));
export const SCREEN_HEIGHT = Number(exec(`bash -c "xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f2 | head -1" | awk '{print $1}'`));
-5
View File
@@ -1,5 +0,0 @@
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
export const separatorLine = Widget.Box({
className: 'separator-line',
})
@@ -1,10 +1,6 @@
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
const { Gtk } = imports.gi;
const Lang = imports.lang;
import Cairo from 'gi://cairo?version=1.0';
export const dummyRegion = new Cairo.Region();
export const enableClickthrough = (self) => self.input_shape_combine_region(dummyRegion);
export const RoundedCorner = (place, props) => Widget.DrawingArea({
...props,
@@ -1,7 +1,7 @@
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
import { MaterialIcon } from './materialicon.js';
import { setupCursorHover } from './cursorhover.js';
import { setupCursorHover } from '../.widgetutils/cursorhover.js';
const { Box, Button, Label, Revealer } = Widget;
export const ConfigToggle = ({ icon, name, desc = '', initValue, onChange, ...rest }) => {
@@ -4,9 +4,9 @@ const { GLib, Gdk, Gtk } = imports.gi;
import Widget from 'resource:///com/github/Aylur/ags/widget.js'
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'
const { Box, EventBox, Icon, Overlay, Label, Button, Revealer } = Widget;
import { MaterialIcon } from "./materialicon.js";
import { setupCursorHover } from "./cursorhover.js";
import { AnimatedCircProg } from "./animatedcircularprogress.js";
import { MaterialIcon } from './materialicon.js';
import { setupCursorHover } from "../.widgetutils/cursorhover.js";
import { AnimatedCircProg } from "./cairo_circularprogress.js";
function guessMessageType(summary) {
if (summary.includes('recording')) return 'screen_record';
@@ -6,7 +6,7 @@ import { MaterialIcon } from './materialicon.js';
import Bluetooth from 'resource:///com/github/Aylur/ags/service/bluetooth.js';
import Network from 'resource:///com/github/Aylur/ags/service/network.js';
import Notifications from 'resource:///com/github/Aylur/ags/service/notifications.js';
import { languages } from '../data/languages.js';
import { languages } from './statusicons_languages.js';
// A guessing func to try to support langs not listed in data/languages.js
function isLanguageMatch(abbreviation, word) {
@@ -1,4 +1,4 @@
// For keyboard layout in lib/statusicons.js
// For keyboard layout in statusicons.js
// This list is not exhaustive. It just includes known/possible languages of users of my dotfiles
// Add your language here if you use multi-lang xkb input. Else, ignore
// Note that something like "French (Canada)" should go before "French"
@@ -0,0 +1,4 @@
import Cairo from 'gi://cairo?version=1.0';
export const dummyRegion = new Cairo.Region();
export const enableClickthrough = (self) => self.input_shape_combine_region(dummyRegion);
@@ -5,7 +5,8 @@ import WindowTitle from "./spaceleft.js";
import Indicators from "./spaceright.js";
import Music from "./music.js";
import System from "./system.js";
import { RoundedCorner, enableClickthrough } from "../../lib/roundedcorner.js";
import { enableClickthrough } from "../.widgetutils/clickthrough.js";
import { RoundedCorner } from "../.commonwidgets/cairo_roundedcorner.js";
const OptionalWorkspaces = async () => {
try {
@@ -3,8 +3,8 @@ import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
import Mpris from 'resource:///com/github/Aylur/ags/service/mpris.js';
const { Box, Label, Overlay, Revealer } = Widget;
const { execAsync, exec } = Utils;
import { AnimatedCircProg } from "../../lib/animatedcircularprogress.js";
import { MaterialIcon } from '../../lib/materialicon.js';
import { AnimatedCircProg } from "../.commonwidgets/cairo_circularprogress.js";
import { MaterialIcon } from '../.commonwidgets/materialicon.js';
import { showMusicControls } from '../../variables.js';
function trimTrackTitle(title) {
@@ -6,7 +6,7 @@ import Audio from 'resource:///com/github/Aylur/ags/service/audio.js';
import SystemTray from 'resource:///com/github/Aylur/ags/service/systemtray.js';
const { execAsync } = Utils;
import Indicator from '../../services/indicator.js';
import { StatusIcons } from "../../lib/statusicons.js";
import { StatusIcons } from '../.commonwidgets/statusicons.js';
import { Tray } from "./tray.js";
export default () => {
@@ -5,9 +5,9 @@ const { Box, Label, Button, Overlay, Revealer, Scrollable, Stack, EventBox } = W
const { exec, execAsync } = Utils;
const { GLib } = imports.gi;
import Battery from 'resource:///com/github/Aylur/ags/service/battery.js';
import { MaterialIcon } from '../../lib/materialicon.js';
import { AnimatedCircProg } from "../../lib/animatedcircularprogress.js";
import { WWO_CODE, WEATHER_SYMBOL, NIGHT_WEATHER_SYMBOL } from '../../data/weather.js';
import { MaterialIcon } from '../.commonwidgets/materialicon.js';
import { AnimatedCircProg } from "../.commonwidgets/cairo_circularprogress.js";
import { WWO_CODE, WEATHER_SYMBOL, NIGHT_WEATHER_SYMBOL } from '../.commondata/weather.js';
const BATTERY_LOW = 20;
const WEATHER_CACHE_FOLDER = `${GLib.get_user_cache_dir()}/ags/weather`;
@@ -1,5 +1,5 @@
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import { keybindList } from "../../data/keybinds.js";
import { keybindList } from "./data_keybinds.js";
export const Keybinds = () => Widget.Box({
vertical: false,
@@ -2,7 +2,7 @@ const { Gdk, Gtk } = imports.gi;
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import Service from 'resource:///com/github/Aylur/ags/service.js';
import { Keybinds } from "./keybinds.js";
import { setupCursorHover } from "../../lib/cursorhover.js";
import { setupCursorHover } from "../.widgetutils/cursorhover.js";
const cheatsheetHeader = () => Widget.CenterBox({
vertical: false,
@@ -2,8 +2,8 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
const { execAsync, exec } = Utils;
const { Box, EventBox, Label, Revealer, Overlay } = Widget;
import { AnimatedCircProg } from '../../lib/animatedcircularprogress.js'
import { MaterialIcon } from '../../lib/materialicon.js';
import { AnimatedCircProg } from "../.commonwidgets/cairo_circularprogress.js";
import { MaterialIcon } from '../.commonwidgets/materialicon.js';
const ResourceValue = (name, icon, interval, valueUpdateCmd, displayFunc, props = {}) => Box({
...props,
@@ -7,9 +7,8 @@ import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
import Variable from 'resource:///com/github/Aylur/ags/variable.js';
const { execAsync, exec } = Utils;
const { Box, Label, Button, Revealer, EventBox } = Widget;
import { setupCursorHover } from '../../lib/cursorhover.js';
import { quickLaunchItems } from '../../data/quicklaunches.js'
import { setupCursorHover } from '../.widgetutils/cursorhover.js';
import { quickLaunchItems } from './data_quicklaunches.js'
const TimeAndDate = () => Box({
vertical: true,
@@ -1,13 +1,13 @@
const { Gdk, GdkPixbuf, Gio, GLib, Gtk } = imports.gi;
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../imports.js';
import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../variables.js';
const { exec, execAsync } = Utils;
const { Box, Button, Label, Stack } = Widget;
import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js';
import Wallpaper from '../../services/wallpaper.js';
import { setupCursorHover } from '../../lib/cursorhover.js';
import { setupCursorHover } from '../.widgetutils/cursorhover.js';
const DISABLE_AGS_WALLPAPER = true;
@@ -1,5 +1,5 @@
const { Gtk } = imports.gi;
import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../imports.js';
import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../variables.js';
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
const { EventBox } = Widget;
@@ -8,7 +8,7 @@ import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js';
import Applications from 'resource:///com/github/Aylur/ags/service/applications.js';
const { execAsync, exec } = Utils;
const { Box, Revealer } = Widget;
import { setupCursorHover } from "../../lib/cursorhover.js";
import { setupCursorHover } from '../.widgetutils/cursorhover.js';
const ANIMATION_TIME = 150;
const pinnedApps = [
@@ -2,7 +2,7 @@
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import Audio from 'resource:///com/github/Aylur/ags/service/audio.js';
const { Box, Label, ProgressBar } = Widget;
import { MarginRevealer } from '../../lib/advancedwidgets.js';
import { MarginRevealer } from '../.widgethacks/advancedrevealers.js';
import Brightness from '../../services/brightness.js';
import Indicator from '../../services/indicator.js';
@@ -6,9 +6,7 @@ const { exec, execAsync } = Utils;
import Mpris from 'resource:///com/github/Aylur/ags/service/mpris.js';
const { Box, EventBox, Icon, Scrollable, Label, Button, Revealer } = Widget;
import { MarginRevealer } from '../../lib/advancedwidgets.js';
import { AnimatedCircProg } from "../../lib/animatedcircularprogress.js";
import { MaterialIcon } from '../../lib/materialicon.js';
import { AnimatedCircProg } from "../.commonwidgets/cairo_circularprogress.js";
import { showMusicControls } from '../../variables.js';
function expandTilde(path) {
@@ -2,7 +2,7 @@
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import Notifications from 'resource:///com/github/Aylur/ags/service/notifications.js';
const { Box } = Widget;
import Notification from '../../lib/notification.js';
import Notification from '../.commonwidgets/notification.js';
export default () => Box({
vertical: true,
@@ -1,4 +1,4 @@
import PopupWindow from '../../lib/popupwindow.js';
import PopupWindow from '../.widgethacks/popupwindow.js';
import OnScreenKeyboard from "./onscreenkeyboard.js";
export default () => PopupWindow({
@@ -5,10 +5,9 @@ import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
const { Box, EventBox, Button, Revealer } = Widget;
const { execAsync } = Utils;
import { MaterialIcon } from '../../lib/materialicon.js';
import { separatorLine } from '../../lib/separator.js';
import { defaultOskLayout, oskLayouts } from '../../data/keyboardlayouts.js';
import { setupCursorHoverGrab } from '../../lib/cursorhover.js';
import { MaterialIcon } from '../.commonwidgets/materialicon.js';
import { defaultOskLayout, oskLayouts } from './data_keyboardlayouts.js';
import { setupCursorHoverGrab } from '../.widgetutils/cursorhover.js';
const keyboardLayout = defaultOskLayout;
const keyboardJson = oskLayouts[keyboardLayout];
@@ -204,7 +203,7 @@ const keyboardWindow = Box({
className: 'osk-body spacing-h-10',
children: [
keyboardControls,
separatorLine,
Widget.Box({ className: 'separator-line' }),
keyboardItself(keyboardJson),
],
})
@@ -4,7 +4,7 @@
//
const { Gdk, Gtk } = imports.gi;
const { Gravity } = imports.gi.Gdk;
import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../imports.js';
import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../variables.js';
import App from 'resource:///com/github/Aylur/ags/app.js';
import Variable from 'resource:///com/github/Aylur/ags/variable.js';
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
@@ -12,7 +12,7 @@ import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js';
const { execAsync, exec } = Utils;
import { setupCursorHoverGrab } from "../../lib/cursorhover.js";
import { setupCursorHoverGrab } from '../.widgetutils/cursorhover.js';
import { dumpToWorkspace, swapWorkspace } from "./actions.js";
const OVERVIEW_SCALE = 0.18;
@@ -219,7 +219,6 @@ export const SearchAndWindows = () => {
className: 'overview-search-icon-box',
setup: (box) => {
box.pack_start(entryPromptRevealer, true, true, 0)
// enableClickthrough(box);
},
}),
entryIcon,
@@ -1,5 +1,6 @@
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import { RoundedCorner, dummyRegion, enableClickthrough } from "../../lib/roundedcorner.js";
import { enableClickthrough } from "../.widgetutils/clickthrough.js";
import { RoundedCorner } from "../.commonwidgets/cairo_roundedcorner.js";
export default (monitor = 0, where = 'bottom left') => {
const positionString = where.replace(/\s/, ""); // remove space
@@ -1,7 +1,7 @@
// This is for the cool memory indicator on the sidebar
// For the right pill of the bar, see system.js
const { Gdk, Gtk } = imports.gi;
import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../imports.js';
import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../variables.js';
import App from 'resource:///com/github/Aylur/ags/app.js';
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
@@ -5,11 +5,11 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
const { Box, Button, Label, Scrollable } = Widget;
const { execAsync, exec } = Utils;
import { MaterialIcon } from "../../../lib/materialicon.js";
import md2pango from "../../../lib/md2pango.js";
import { MaterialIcon } from '../../.commonwidgets/materialicon.js';
import md2pango from '../../.miscutils/md2pango.js';
const CUSTOM_SOURCEVIEW_SCHEME_PATH = `${App.configDir}/data/sourceviewtheme.xml`;
const CUSTOM_SOURCEVIEW_SCHEME_PATH = `${App.configDir}/assets/themes/sourceviewtheme.xml`;
const CUSTOM_SCHEME_ID = 'custom';
const USERNAME = GLib.get_user_name();
const CHATGPT_CURSOR = ' ...';
@@ -3,17 +3,15 @@ import App from 'resource:///com/github/Aylur/ags/app.js';
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
const { Box, Button, Entry, EventBox, Icon, Label, Revealer, Scrollable, Stack } = Widget;
const { execAsync, exec } = Utils;
const { Box, Button, Icon, Label, Revealer, Scrollable } = Widget;
import ChatGPT from '../../../services/chatgpt.js';
import { MaterialIcon } from "../../../lib/materialicon.js";
import { setupCursorHover, setupCursorHoverInfo } from "../../../lib/cursorhover.js";
import { setupCursorHover, setupCursorHoverInfo } from '../../.widgetutils/cursorhover.js';
import { SystemMessage, ChatMessage } from "./ai_chatmessage.js";
import { ConfigToggle, ConfigSegmentedSelection, ConfigGap } from '../../../lib/configwidgets.js';
import { markdownTest } from '../../../lib/md2pango.js';
import { MarginRevealer } from '../../../lib/advancedwidgets.js';
import { ConfigToggle, ConfigSegmentedSelection, ConfigGap } from '../../.commonwidgets/configwidgets.js';
import { markdownTest } from '../../.miscutils/md2pango.js';
import { MarginRevealer } from '../../.widgethacks/advancedrevealers.js';
Gtk.IconTheme.get_default().append_search_path(`${App.configDir}/assets`);
Gtk.IconTheme.get_default().append_search_path(`${App.configDir}/assets/icons`);
export const chatGPTTabIcon = Icon({
hpack: 'center',
@@ -3,17 +3,15 @@ import App from 'resource:///com/github/Aylur/ags/app.js';
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
const { Box, Button, Entry, EventBox, Icon, Label, Revealer, Scrollable, Stack } = Widget;
const { execAsync, exec } = Utils;
const { Box, Button, Icon, Label, Revealer, Scrollable } = Widget;
import Gemini from '../../../services/gemini.js';
import { MaterialIcon } from "../../../lib/materialicon.js";
import { setupCursorHover, setupCursorHoverInfo } from "../../../lib/cursorhover.js";
import { setupCursorHover, setupCursorHoverInfo } from '../../.widgetutils/cursorhover.js';
import { SystemMessage, ChatMessage } from "./ai_chatmessage.js";
import { ConfigToggle, ConfigSegmentedSelection, ConfigGap } from '../../../lib/configwidgets.js';
import { markdownTest } from '../../../lib/md2pango.js';
import { MarginRevealer } from '../../../lib/advancedwidgets.js';
import { ConfigToggle, ConfigSegmentedSelection, ConfigGap } from '../../.commonwidgets/configwidgets.js';
import { markdownTest } from '../../.miscutils/md2pango.js';
import { MarginRevealer } from '../../.widgethacks/advancedrevealers.js';
Gtk.IconTheme.get_default().append_search_path(`${App.configDir}/assets`);
Gtk.IconTheme.get_default().append_search_path(`${App.configDir}/assets/icons`);
const MODEL_NAME = `Gemini`;
export const geminiTabIcon = Icon({
@@ -6,9 +6,9 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
const { Box, Button, Label, Overlay, Revealer, Scrollable, Stack } = Widget;
const { execAsync, exec } = Utils;
import { MaterialIcon } from "../../../lib/materialicon.js";
import { MarginRevealer } from '../../../lib/advancedwidgets.js';
import { setupCursorHover, setupCursorHoverInfo } from "../../../lib/cursorhover.js";
import { MaterialIcon } from '../../.commonwidgets/materialicon.js';
import { MarginRevealer } from '../../.widgethacks/advancedrevealers.js';
import { setupCursorHover, setupCursorHoverInfo } from '../../.widgetutils/cursorhover.js';
import WaifuService from '../../../services/waifus.js';
async function getImageViewerApp(preferredApp) {
@@ -1,11 +1,9 @@
const { Gtk, Gdk } = imports.gi;
import App from 'resource:///com/github/Aylur/ags/app.js';
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import AgsWidget from "resource:///com/github/Aylur/ags/widgets/widget.js";
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
const { Box, Button, CenterBox, Entry, EventBox, Icon, Label, Overlay, Revealer, Scrollable, Stack } = Widget;
const { execAsync, exec } = Utils;
import { setupCursorHover, setupCursorHoverInfo } from "../../lib/cursorhover.js";
import { setupCursorHover, setupCursorHoverInfo } from '../.widgetutils/cursorhover.js';
import { contentStack } from './sideleft.js';
// APIs
import ChatGPT from '../../services/chatgpt.js';
@@ -13,7 +11,7 @@ import Gemini from '../../services/gemini.js';
import { geminiView, geminiCommands, sendMessage as geminiSendMessage, geminiTabIcon } from './apis/gemini.js';
import { chatGPTView, chatGPTCommands, sendMessage as chatGPTSendMessage, chatGPTTabIcon } from './apis/chatgpt.js';
import { waifuView, waifuCommands, sendMessage as waifuSendMessage, waifuTabIcon } from './apis/waifu.js';
import { enableClickthrough } from '../../lib/roundedcorner.js';
import { enableClickthrough } from "../.widgetutils/clickthrough.js";
const TextView = Widget.subclass(Gtk.TextView, "AgsTextView");
@@ -1,4 +1,4 @@
import PopupWindow from '../../lib/popupwindow.js';
import PopupWindow from '../.widgethacks/popupwindow.js';
import SidebarLeft from "./sideleft.js";
export default () => PopupWindow({
@@ -4,9 +4,9 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
const { Box, Button, EventBox, Label, Revealer, Scrollable, Stack } = Widget;
const { execAsync, exec } = Utils;
import { MaterialIcon } from "../../lib/materialicon.js";
import { setupCursorHover } from "../../lib/cursorhover.js";
import { NavigationIndicator } from "../../lib/navigationindicator.js";
import { MaterialIcon } from '../.commonwidgets/materialicon.js';
import { setupCursorHover } from '../.widgetutils/cursorhover.js';
import { NavigationIndicator } from '../.commonwidgets/cairo_navigationindicator.js';
import toolBox from './toolbox.js';
import apiWidgets from './apiwidgets.js';
import apiwidgets, { chatEntry } from './apiwidgets.js';
@@ -7,8 +7,8 @@ import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
const { execAsync, exec } = Utils;
const { Box, Button, Entry, EventBox, Icon, Label, Overlay, Scrollable } = Widget;
import SidebarModule from './module.js';
import { MaterialIcon } from '../../../lib/materialicon.js';
import { setupCursorHover } from '../../../lib/cursorhover.js';
import { MaterialIcon } from '../../.commonwidgets/materialicon.js';
import { setupCursorHover } from '../../.widgetutils/cursorhover.js';
import { ColorPickerSelection, hslToHex, hslToRgbValues, hexToHSL } from './color.js';
@@ -1,6 +1,6 @@
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import { setupCursorHover } from '../../../lib/cursorhover.js';
import { MaterialIcon } from '../../../lib/materialicon.js';
import { setupCursorHover } from '../../.widgetutils/cursorhover.js';
import { MaterialIcon } from '../../.commonwidgets/materialicon.js';
const { Box, Button, Icon, Label, Revealer } = Widget;
export default ({
@@ -5,10 +5,10 @@ import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
const { execAsync, exec } = Utils;
const { Box, Button, EventBox, Icon, Label, Scrollable } = Widget;
import SidebarModule from './module.js';
import { MaterialIcon } from '../../../lib/materialicon.js';
import { setupCursorHover } from '../../../lib/cursorhover.js';
import { MaterialIcon } from '../../.commonwidgets/materialicon.js';
import { setupCursorHover } from '../../.widgetutils/cursorhover.js';
Gtk.IconTheme.get_default().append_search_path(`${App.configDir}/assets`);
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');
@@ -2,11 +2,11 @@ const { Gio } = imports.gi;
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
const { Box, Button, Label } = Widget;
import { MaterialIcon } from "../../lib/materialicon.js";
import { getCalendarLayout } from "../../lib/calendarlayout.js";
import { setupCursorHover } from "../../lib/cursorhover.js";
import { MaterialIcon } from '../.commonwidgets/materialicon.js';
import { setupCursorHover } from '../.widgetutils/cursorhover.js';
import { TodoWidget } from "./todolist.js";
import { getCalendarLayout } from "./calendar_layout.js";
let calendarJson = getCalendarLayout(undefined, true);
let monthshift = 0;
@@ -1,4 +1,4 @@
import PopupWindow from '../../lib/popupwindow.js';
import PopupWindow from '../.widgethacks/popupwindow.js';
import SidebarRight from "./sideright.js";
export default () => PopupWindow({
@@ -1,12 +1,12 @@
// This file is for the notification list on the sidebar
// For the popup notifications, see onscreendisplay.js
// The actual widget for each single notification is in lib/notification.js
// The actual widget for each single notification is in ags/modules/.commonwidgets/notification.js
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import Notifications from 'resource:///com/github/Aylur/ags/service/notifications.js';
const { Box, Button, Label, Scrollable, Stack } = Widget;
import { MaterialIcon } from "../../lib/materialicon.js";
import { setupCursorHover } from "../../lib/cursorhover.js";
import Notification from "../../lib/notification.js";
import { MaterialIcon } from '../.commonwidgets/materialicon.js';
import { setupCursorHover } from '../.widgetutils/cursorhover.js';
import Notification from '../.commonwidgets/notification.js';
export default (props) => {
const notifEmptyContent = Box({
@@ -6,9 +6,9 @@ import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
import Bluetooth from 'resource:///com/github/Aylur/ags/service/bluetooth.js';
import Network from 'resource:///com/github/Aylur/ags/service/network.js';
const { execAsync, exec } = Utils;
import { BluetoothIndicator, NetworkIndicator } from "../../lib/statusicons.js";
import { setupCursorHover } from "../../lib/cursorhover.js";
import { MaterialIcon } from '../../lib/materialicon.js';
import { BluetoothIndicator, NetworkIndicator } from '../.commonwidgets/statusicons.js';
import { setupCursorHover } from '../.widgetutils/cursorhover.js';
import { MaterialIcon } from '../.commonwidgets/materialicon.js';
function expandTilde(path) {
if (path.startsWith('~')) {
@@ -1,10 +1,10 @@
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
const { Box, Button, Label, Revealer } = Widget;
import { MaterialIcon } from "../../lib/materialicon.js";
import { MaterialIcon } from '../.commonwidgets/materialicon.js';
import Todo from "../../services/todo.js";
import { setupCursorHover } from "../../lib/cursorhover.js";
import { NavigationIndicator } from "../../lib/navigationindicator.js";
import { setupCursorHover } from '../.widgetutils/cursorhover.js';
import { NavigationIndicator } from '../.commonwidgets/cairo_navigationindicator.js';
const defaultTodoSelected = 'undone';
+28 -27
View File
@@ -1,29 +1,30 @@
$darkmode: true;
$primary: #ffb1c3;
$onPrimary: #66002a;
$primaryContainer: #861c40;
$onPrimaryContainer: #ffd9e0;
$secondary: #e4bcc3;
$onSecondary: #42292e;
$secondaryContainer: #5c3f45;
$onSecondaryContainer: #ffd9df;
$tertiary: #ecbe91;
$onTertiary: #462a08;
$tertiaryContainer: #60401d;
$onTertiaryContainer: #ffdcb9;
$error: #ffb4a9;
$onError: #680003;
$errorContainer: #930006;
$onErrorContainer: #ffb4a9;
$colorbarbg: #130F10;
$background: #130F10;
$onBackground: #ecdfe0;
$surface: #201a1b;
$onSurface: #ecdfe0;
$surfaceVariant: #514345;
$onSurfaceVariant: #d6c1c4;
$outline: #9f8c8f;
$primary: #e2e2e2;
$onPrimary: #000000;
$primaryContainer: #6b6b6b;
$onPrimaryContainer: #e2e2e2;
$secondary: #e2e2e2;
$onSecondary: #000000;
$secondaryContainer: #313131;
$onSecondaryContainer: #e2e2e2;
$tertiary: #e2e2e2;
$onTertiary: #000000;
$tertiaryContainer: #000000;
$onTertiaryContainer: #e2e2e2;
$error: #e2e2e2;
$onError: #000000;
$errorContainer: #000000;
$onErrorContainer: #e2e2e2;
$colorbarbg: #000000;
$background: #000000;
$onBackground: #e2e2e2;
$surface: #161616;
$onSurface: #e2e2e2;
$surfaceVariant: #242424;
$onSurfaceVariant: #e2e2e2;
$outline: #a1a1a1;
$shadow: #000000;
$inverseSurface: #ecdfe0;
$inverseOnSurface: #362f30;
$inversePrimary: #a53557;
$inverseSurface: #e2e2e2;
$inverseOnSurface: #000000;
$inversePrimary: #e2e2e2;
+7 -1
View File
@@ -1,7 +1,13 @@
import Variable from 'resource:///com/github/Aylur/ags/variable.js';
const { exec } = Utils;
// AGS Variables
// Global vars for external control (through keybinds)
export const showMusicControls = Variable(false, {})
export const showColorScheme = Variable(false, {})
globalThis['openMusicControls'] = showMusicControls;
globalThis['openColorScheme'] = showColorScheme;
// Screen size
export const SCREEN_WIDTH = Number(exec(`bash -c "xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f1 | head -1" | awk '{print $1}'`));
export const SCREEN_HEIGHT = Number(exec(`bash -c "xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f2 | head -1" | awk '{print $1}'`));