forked from Shinonome/dots-hyprland
Merge with latest upstream
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
const { GLib } = imports.gi;
|
||||||
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
|
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
|
||||||
const { execAsync, exec } = Utils;
|
const { execAsync, exec } = Utils;
|
||||||
|
|
||||||
@@ -6,6 +7,10 @@ export const isDebianDistro = (distroID == 'linuxmint' || distroID == 'ubuntu' |
|
|||||||
export const isArchDistro = (distroID == 'arch' || distroID == 'endeavouros' || distroID == 'cachyos');
|
export const isArchDistro = (distroID == 'arch' || distroID == 'endeavouros' || distroID == 'cachyos');
|
||||||
export const hasFlatpak = !!exec(`bash -c 'command -v flatpak'`);
|
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 = !(Utils.readFile(LIGHTDARK_FILE_LOCATION).trim() == 'light');
|
||||||
|
|
||||||
export const getDistroIcon = () => {
|
export const getDistroIcon = () => {
|
||||||
// Arches
|
// Arches
|
||||||
if(distroID == 'arch') return 'arch-symbolic';
|
if(distroID == 'arch') return 'arch-symbolic';
|
||||||
@@ -40,4 +45,4 @@ export const getDistroName = () => {
|
|||||||
if(distroID == 'raspbian') return 'Raspbian';
|
if(distroID == 'raspbian') return 'Raspbian';
|
||||||
if(distroID == 'kali') return 'Kali Linux';
|
if(distroID == 'kali') return 'Kali Linux';
|
||||||
return 'Linux';
|
return 'Linux';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -208,18 +208,20 @@ export default () => {
|
|||||||
return EventBox({
|
return EventBox({
|
||||||
onScrollUp: (self) => switchToRelativeWorkspace(self, -1),
|
onScrollUp: (self) => switchToRelativeWorkspace(self, -1),
|
||||||
onScrollDown: (self) => switchToRelativeWorkspace(self, +1),
|
onScrollDown: (self) => switchToRelativeWorkspace(self, +1),
|
||||||
onPrimaryClick: () => showMusicControls.setValue(!showMusicControls.value),
|
|
||||||
onSecondaryClick: () => execAsync(['bash', '-c', 'playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` &']).catch(print),
|
|
||||||
onMiddleClick: () => execAsync('playerctl play-pause').catch(print),
|
|
||||||
setup: (self) => self.on('button-press-event', (self, event) => {
|
|
||||||
if (event.get_button()[1] === 8) // Side button
|
|
||||||
execAsync('playerctl previous').catch(print)
|
|
||||||
}),
|
|
||||||
child: Box({
|
child: Box({
|
||||||
className: 'spacing-h-4',
|
className: 'spacing-h-4',
|
||||||
children: [
|
children: [
|
||||||
SystemResourcesOrCustomModule(),
|
SystemResourcesOrCustomModule(),
|
||||||
BarGroup({ child: musicStuff }),
|
EventBox({
|
||||||
|
child: BarGroup({ child: musicStuff }),
|
||||||
|
onPrimaryClick: () => showMusicControls.setValue(!showMusicControls.value),
|
||||||
|
onSecondaryClick: () => execAsync(['bash', '-c', 'playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` &']).catch(print),
|
||||||
|
onMiddleClick: () => execAsync('playerctl play-pause').catch(print),
|
||||||
|
setup: (self) => self.on('button-press-event', (self, event) => {
|
||||||
|
if (event.get_button()[1] === 8) // Side button
|
||||||
|
execAsync('playerctl previous').catch(print)
|
||||||
|
}),
|
||||||
|
})
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -39,18 +39,6 @@ export default () => {
|
|||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
const SpaceRightDefaultClicks = (child) => Widget.EventBox({
|
const SpaceRightDefaultClicks = (child) => Widget.EventBox({
|
||||||
onScrollUp: () => {
|
|
||||||
if (!Audio.speaker) return;
|
|
||||||
if (Audio.speaker.volume <= 0.09) Audio.speaker.volume += 0.01;
|
|
||||||
else Audio.speaker.volume += 0.03;
|
|
||||||
Indicator.popup(1);
|
|
||||||
},
|
|
||||||
onScrollDown: () => {
|
|
||||||
if (!Audio.speaker) return;
|
|
||||||
if (Audio.speaker.volume <= 0.09) Audio.speaker.volume -= 0.01;
|
|
||||||
else Audio.speaker.volume -= 0.03;
|
|
||||||
Indicator.popup(1);
|
|
||||||
},
|
|
||||||
onHover: () => { barStatusIcons.toggleClassName('bar-statusicons-hover', true) },
|
onHover: () => { barStatusIcons.toggleClassName('bar-statusicons-hover', true) },
|
||||||
onHoverLost: () => { barStatusIcons.toggleClassName('bar-statusicons-hover', false) },
|
onHoverLost: () => { barStatusIcons.toggleClassName('bar-statusicons-hover', false) },
|
||||||
onPrimaryClick: () => App.toggleWindow('sideright'),
|
onPrimaryClick: () => App.toggleWindow('sideright'),
|
||||||
@@ -79,10 +67,24 @@ export default () => {
|
|||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
return Widget.Box({
|
return Widget.EventBox({
|
||||||
children: [
|
onScrollUp: () => {
|
||||||
actualContent,
|
if (!Audio.speaker) return;
|
||||||
Widget.Box({ className: 'bar-corner-spacing' }),
|
if (Audio.speaker.volume <= 0.09) Audio.speaker.volume += 0.01;
|
||||||
]
|
else Audio.speaker.volume += 0.03;
|
||||||
|
Indicator.popup(1);
|
||||||
|
},
|
||||||
|
onScrollDown: () => {
|
||||||
|
if (!Audio.speaker) return;
|
||||||
|
if (Audio.speaker.volume <= 0.09) Audio.speaker.volume -= 0.01;
|
||||||
|
else Audio.speaker.volume -= 0.03;
|
||||||
|
Indicator.popup(1);
|
||||||
|
},
|
||||||
|
child: Widget.Box({
|
||||||
|
children: [
|
||||||
|
actualContent,
|
||||||
|
SpaceRightDefaultClicks(Widget.Box({ className: 'bar-corner-spacing' })),
|
||||||
|
]
|
||||||
|
})
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,11 @@ import { MarginRevealer } from '../.widgethacks/advancedrevealers.js';
|
|||||||
import Brightness from '../../services/brightness.js';
|
import Brightness from '../../services/brightness.js';
|
||||||
import Indicator from '../../services/indicator.js';
|
import Indicator from '../../services/indicator.js';
|
||||||
|
|
||||||
const OsdValue = ({ name, nameSetup = undefined, labelSetup, progressSetup, ...rest }) => {
|
const OsdValue = ({
|
||||||
|
name, nameSetup = undefined, labelSetup, progressSetup,
|
||||||
|
extraClassName = '', extraProgressClassName = '',
|
||||||
|
...rest
|
||||||
|
}) => {
|
||||||
const valueName = Label({
|
const valueName = Label({
|
||||||
xalign: 0, yalign: 0, hexpand: true,
|
xalign: 0, yalign: 0, hexpand: true,
|
||||||
className: 'osd-label',
|
className: 'osd-label',
|
||||||
@@ -20,7 +24,7 @@ const OsdValue = ({ name, nameSetup = undefined, labelSetup, progressSetup, ...r
|
|||||||
return Box({ // Volume
|
return Box({ // Volume
|
||||||
vertical: true,
|
vertical: true,
|
||||||
hexpand: true,
|
hexpand: true,
|
||||||
className: 'osd-bg osd-value',
|
className: `osd-bg osd-value ${extraClassName}`,
|
||||||
attribute: {
|
attribute: {
|
||||||
'disable': () => {
|
'disable': () => {
|
||||||
valueNumber.label = '';
|
valueNumber.label = '';
|
||||||
@@ -35,7 +39,7 @@ const OsdValue = ({ name, nameSetup = undefined, labelSetup, progressSetup, ...r
|
|||||||
]
|
]
|
||||||
}),
|
}),
|
||||||
ProgressBar({
|
ProgressBar({
|
||||||
className: 'osd-progress',
|
className: `osd-progress ${extraProgressClassName}`,
|
||||||
hexpand: true,
|
hexpand: true,
|
||||||
vertical: false,
|
vertical: false,
|
||||||
setup: progressSetup,
|
setup: progressSetup,
|
||||||
@@ -48,6 +52,8 @@ const OsdValue = ({ name, nameSetup = undefined, labelSetup, progressSetup, ...r
|
|||||||
export default () => {
|
export default () => {
|
||||||
const brightnessIndicator = OsdValue({
|
const brightnessIndicator = OsdValue({
|
||||||
name: 'Brightness',
|
name: 'Brightness',
|
||||||
|
extraClassName: 'osd-brightness',
|
||||||
|
extraProgressClassName: 'osd-brightness-progress',
|
||||||
labelSetup: (self) => self.hook(Brightness, self => {
|
labelSetup: (self) => self.hook(Brightness, self => {
|
||||||
self.label = `${Math.round(Brightness.screen_value * 100)}`;
|
self.label = `${Math.round(Brightness.screen_value * 100)}`;
|
||||||
}, 'notify::screen-value'),
|
}, 'notify::screen-value'),
|
||||||
@@ -59,9 +65,9 @@ export default () => {
|
|||||||
|
|
||||||
const volumeIndicator = OsdValue({
|
const volumeIndicator = OsdValue({
|
||||||
name: 'Volume',
|
name: 'Volume',
|
||||||
attribute: {
|
extraClassName: 'osd-volume',
|
||||||
headphones: undefined,
|
extraProgressClassName: 'osd-volume-progress',
|
||||||
},
|
attribute: { headphones: undefined },
|
||||||
nameSetup: (self) => Utils.timeout(1, () => {
|
nameSetup: (self) => Utils.timeout(1, () => {
|
||||||
const updateAudioDevice = (self) => {
|
const updateAudioDevice = (self) => {
|
||||||
const usingHeadphones = (Audio.speaker?.stream?.port)?.toLowerCase().includes('headphone');
|
const usingHeadphones = (Audio.speaker?.stream?.port)?.toLowerCase().includes('headphone');
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const { Gdk, GdkPixbuf, GLib, Gtk } = imports.gi;
|
const { GLib } = imports.gi;
|
||||||
import App from 'resource:///com/github/Aylur/ags/app.js';
|
import App from 'resource:///com/github/Aylur/ags/app.js';
|
||||||
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
|
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
|
||||||
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
|
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
|
||||||
@@ -9,6 +9,7 @@ const { Box, EventBox, Icon, Scrollable, Label, Button, Revealer } = Widget;
|
|||||||
import { fileExists } from '../.miscutils/files.js';
|
import { fileExists } from '../.miscutils/files.js';
|
||||||
import { AnimatedCircProg } from "../.commonwidgets/cairo_circularprogress.js";
|
import { AnimatedCircProg } from "../.commonwidgets/cairo_circularprogress.js";
|
||||||
import { showMusicControls } from '../../variables.js';
|
import { showMusicControls } from '../../variables.js';
|
||||||
|
import { darkMode } from '../.miscutils/system.js';
|
||||||
|
|
||||||
const COMPILED_STYLE_DIR = `${GLib.get_user_cache_dir()}/ags/user/generated`
|
const COMPILED_STYLE_DIR = `${GLib.get_user_cache_dir()}/ags/user/generated`
|
||||||
const LIGHTDARK_FILE_LOCATION = `${GLib.get_user_cache_dir()}/ags/user/colormode.txt`;
|
const LIGHTDARK_FILE_LOCATION = `${GLib.get_user_cache_dir()}/ags/user/colormode.txt`;
|
||||||
@@ -182,7 +183,7 @@ const CoverArt = ({ player, ...rest }) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const coverPath = player.coverPath;
|
const coverPath = player.coverPath;
|
||||||
const stylePath = `${player.coverPath}${lightDark}${COVER_COLORSCHEME_SUFFIX}`;
|
const stylePath = `${player.coverPath}${darkMode ? '' : '-l'}${COVER_COLORSCHEME_SUFFIX}`;
|
||||||
if (player.coverPath == lastCoverPath) { // Since 'notify::cover-path' emits on cover download complete
|
if (player.coverPath == lastCoverPath) { // Since 'notify::cover-path' emits on cover download complete
|
||||||
Utils.timeout(200, () => {
|
Utils.timeout(200, () => {
|
||||||
// self.attribute.showImage(self, coverPath);
|
// self.attribute.showImage(self, coverPath);
|
||||||
@@ -201,9 +202,9 @@ const CoverArt = ({ player, ...rest }) => {
|
|||||||
|
|
||||||
// Generate colors
|
// Generate colors
|
||||||
execAsync(['bash', '-c',
|
execAsync(['bash', '-c',
|
||||||
`${App.configDir}/scripts/color_generation/generate_colors_material.py --path '${coverPath}' --mode '${colorMode}' > ${App.configDir}/scss/_musicmaterial.scss`])
|
`${App.configDir}/scripts/color_generation/generate_colors_material.py --path '${coverPath}' --mode ${darkMode ? 'dark' : 'light'} > ${App.configDir}/scss/_musicmaterial.scss`])
|
||||||
.then(() => {
|
.then(() => {
|
||||||
exec(`wal -i "${player.coverPath}" -n -t -s -e -q ${lightDark}`)
|
exec(`wal -i "${player.coverPath}" -n -t -s -e -q ${darkMode ? '' : '-l'}`)
|
||||||
exec(`cp ${GLib.get_user_cache_dir()}/wal/colors.scss ${App.configDir}/scss/_musicwal.scss`);
|
exec(`cp ${GLib.get_user_cache_dir()}/wal/colors.scss ${App.configDir}/scss/_musicwal.scss`);
|
||||||
exec(`sass ${App.configDir}/scss/_music.scss ${stylePath}`);
|
exec(`sass ${App.configDir}/scss/_music.scss ${stylePath}`);
|
||||||
Utils.timeout(200, () => {
|
Utils.timeout(200, () => {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
|
|||||||
|
|
||||||
const { exec, execAsync } = Utils;
|
const { exec, execAsync } = Utils;
|
||||||
|
|
||||||
const SessionButton = (name, icon, command, props = {}) => {
|
const SessionButton = (name, icon, command, props = {}, colorid = 0) => {
|
||||||
const buttonDescription = Widget.Revealer({
|
const buttonDescription = Widget.Revealer({
|
||||||
vpack: 'end',
|
vpack: 'end',
|
||||||
transitionDuration: userOptions.animations.durationSmall,
|
transitionDuration: userOptions.animations.durationSmall,
|
||||||
@@ -21,7 +21,7 @@ const SessionButton = (name, icon, command, props = {}) => {
|
|||||||
});
|
});
|
||||||
return Widget.Button({
|
return Widget.Button({
|
||||||
onClicked: command,
|
onClicked: command,
|
||||||
className: 'session-button',
|
className: `session-button session-color-${colorid}`,
|
||||||
child: Widget.Overlay({
|
child: Widget.Overlay({
|
||||||
className: 'session-button-box',
|
className: 'session-button-box',
|
||||||
child: Widget.Label({
|
child: Widget.Label({
|
||||||
@@ -61,14 +61,14 @@ const SessionButton = (name, icon, command, props = {}) => {
|
|||||||
|
|
||||||
export default () => {
|
export default () => {
|
||||||
// lock, logout, sleep
|
// lock, logout, sleep
|
||||||
const lockButton = SessionButton('Lock', 'lock', () => { App.closeWindow('session'); execAsync(['loginctl', 'lock-session']) });
|
const lockButton = SessionButton('Lock', 'lock', () => { App.closeWindow('session'); execAsync(['loginctl', 'lock-session']) }, {}, 1);
|
||||||
const logoutButton = SessionButton('Logout', 'logout', () => { App.closeWindow('session'); execAsync(['bash', '-c', 'pkill Hyprland || pkill sway']) });
|
const logoutButton = SessionButton('Logout', 'logout', () => { App.closeWindow('session'); execAsync(['bash', '-c', 'pkill Hyprland || pkill sway']) }, {}, 2);
|
||||||
const sleepButton = SessionButton('Sleep', 'sleep', () => { App.closeWindow('session'); execAsync('systemctl suspend') });
|
const sleepButton = SessionButton('Sleep', 'sleep', () => { App.closeWindow('session'); execAsync('systemctl suspend') }, {}, 3);
|
||||||
// hibernate, shutdown, reboot
|
// hibernate, shutdown, reboot
|
||||||
const hibernateButton = SessionButton('Hibernate', 'downloading', () => { App.closeWindow('session'); execAsync('systemctl hibernate') });
|
const hibernateButton = SessionButton('Hibernate', 'downloading', () => { App.closeWindow('session'); execAsync('systemctl hibernate') }, {}, 4);
|
||||||
const shutdownButton = SessionButton('Shutdown', 'power_settings_new', () => { App.closeWindow('session'); execAsync('systemctl poweroff') });
|
const shutdownButton = SessionButton('Shutdown', 'power_settings_new', () => { App.closeWindow('session'); execAsync('systemctl poweroff') }, {}, 5);
|
||||||
const rebootButton = SessionButton('Reboot', 'restart_alt', () => { App.closeWindow('session'); execAsync('systemctl reboot') });
|
const rebootButton = SessionButton('Reboot', 'restart_alt', () => { App.closeWindow('session'); execAsync('systemctl reboot') }, {}, 6);
|
||||||
const cancelButton = SessionButton('Cancel', 'close', () => App.closeWindow('session'), { className: 'session-button-cancel' });
|
const cancelButton = SessionButton('Cancel', 'close', () => App.closeWindow('session'), { className: 'session-button-cancel' }, 7);
|
||||||
|
|
||||||
const sessionDescription = Widget.Box({
|
const sessionDescription = Widget.Box({
|
||||||
vertical: true,
|
vertical: true,
|
||||||
|
|||||||
@@ -283,19 +283,15 @@ export const ChatMessage = (message, modelName = 'Model') => {
|
|||||||
const messageContentBox = MessageContent(message.content);
|
const messageContentBox = MessageContent(message.content);
|
||||||
const thisMessage = Box({
|
const thisMessage = Box({
|
||||||
className: 'sidebar-chat-message',
|
className: 'sidebar-chat-message',
|
||||||
|
homogeneous: true,
|
||||||
children: [
|
children: [
|
||||||
Box({
|
|
||||||
className: `sidebar-chat-indicator ${message.role == 'user' ? 'sidebar-chat-indicator-user' : 'sidebar-chat-indicator-bot'}`,
|
|
||||||
}),
|
|
||||||
Box({
|
Box({
|
||||||
vertical: true,
|
vertical: true,
|
||||||
hpack: 'fill',
|
|
||||||
hexpand: true,
|
|
||||||
children: [
|
children: [
|
||||||
Label({
|
Label({
|
||||||
hpack: 'fill',
|
hpack: 'start',
|
||||||
xalign: 0,
|
xalign: 0,
|
||||||
className: 'txt txt-bold sidebar-chat-name',
|
className: `txt txt-bold sidebar-chat-name sidebar-chat-name-${message.role == 'user' ? 'user' : 'bot'}`,
|
||||||
wrap: true,
|
wrap: true,
|
||||||
useMarkup: true,
|
useMarkup: true,
|
||||||
label: (message.role == 'user' ? USERNAME : modelName),
|
label: (message.role == 'user' ? USERNAME : modelName),
|
||||||
@@ -324,17 +320,13 @@ export const SystemMessage = (content, commandName, scrolledWindow) => {
|
|||||||
const thisMessage = Box({
|
const thisMessage = Box({
|
||||||
className: 'sidebar-chat-message',
|
className: 'sidebar-chat-message',
|
||||||
children: [
|
children: [
|
||||||
Box({
|
|
||||||
className: `sidebar-chat-indicator sidebar-chat-indicator-System`,
|
|
||||||
}),
|
|
||||||
Box({
|
Box({
|
||||||
vertical: true,
|
vertical: true,
|
||||||
hpack: 'fill',
|
|
||||||
hexpand: true,
|
|
||||||
children: [
|
children: [
|
||||||
Label({
|
Label({
|
||||||
xalign: 0,
|
xalign: 0,
|
||||||
className: 'txt txt-bold sidebar-chat-name',
|
hpack: 'start',
|
||||||
|
className: 'txt txt-bold sidebar-chat-name sidebar-chat-name-system',
|
||||||
wrap: true,
|
wrap: true,
|
||||||
label: `System • ${commandName}`,
|
label: `System • ${commandName}`,
|
||||||
}),
|
}),
|
||||||
|
|||||||
@@ -204,9 +204,6 @@ const BooruPage = (taglist) => {
|
|||||||
overlays: [imageActions]
|
overlays: [imageActions]
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const colorIndicator = Box({
|
|
||||||
className: `sidebar-chat-indicator`,
|
|
||||||
});
|
|
||||||
const downloadState = Stack({
|
const downloadState = Stack({
|
||||||
homogeneous: false,
|
homogeneous: false,
|
||||||
transition: 'slide_up_down',
|
transition: 'slide_up_down',
|
||||||
@@ -233,7 +230,7 @@ const BooruPage = (taglist) => {
|
|||||||
hscroll: 'automatic',
|
hscroll: 'automatic',
|
||||||
child: Box({
|
child: Box({
|
||||||
hpack: 'fill',
|
hpack: 'fill',
|
||||||
className: 'sidebar-waifu-content spacing-h-5',
|
className: 'spacing-h-5',
|
||||||
children: [
|
children: [
|
||||||
...taglist.map((tag) => CommandButton(tag)),
|
...taglist.map((tag) => CommandButton(tag)),
|
||||||
Box({ hexpand: true }),
|
Box({ hexpand: true }),
|
||||||
@@ -246,8 +243,7 @@ const BooruPage = (taglist) => {
|
|||||||
const pageImageGrid = Grid({
|
const pageImageGrid = Grid({
|
||||||
// columnHomogeneous: true,
|
// columnHomogeneous: true,
|
||||||
// rowHomogeneous: true,
|
// rowHomogeneous: true,
|
||||||
className: 'sidebar-waifu-image',
|
className: 'sidebar-booru-imagegrid',
|
||||||
// css: 'min-height: 90px;'
|
|
||||||
});
|
});
|
||||||
const pageImageRevealer = Revealer({
|
const pageImageRevealer = Revealer({
|
||||||
transition: 'slide_down',
|
transition: 'slide_down',
|
||||||
@@ -256,6 +252,7 @@ const BooruPage = (taglist) => {
|
|||||||
child: pageImageGrid,
|
child: pageImageGrid,
|
||||||
});
|
});
|
||||||
const thisPage = Box({
|
const thisPage = Box({
|
||||||
|
homogeneous: true,
|
||||||
className: 'sidebar-chat-message',
|
className: 'sidebar-chat-message',
|
||||||
attribute: {
|
attribute: {
|
||||||
'imagePath': '',
|
'imagePath': '',
|
||||||
@@ -289,20 +286,17 @@ const BooruPage = (taglist) => {
|
|||||||
downloadIndicator.attribute.hide();
|
downloadIndicator.attribute.hide();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
children: [
|
children: [Box({
|
||||||
colorIndicator,
|
vertical: true,
|
||||||
Box({
|
className: 'spacing-v-5',
|
||||||
vertical: true,
|
children: [
|
||||||
className: 'spacing-v-5',
|
pageHeading,
|
||||||
children: [
|
Box({
|
||||||
pageHeading,
|
vertical: true,
|
||||||
Box({
|
children: [pageImageRevealer],
|
||||||
vertical: true,
|
})
|
||||||
children: [pageImageRevealer],
|
]
|
||||||
})
|
})],
|
||||||
]
|
|
||||||
})
|
|
||||||
],
|
|
||||||
});
|
});
|
||||||
return thisPage;
|
return thisPage;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -247,7 +247,7 @@ const GPTWelcome = () => Box({
|
|||||||
});
|
});
|
||||||
|
|
||||||
export const chatContent = Box({
|
export const chatContent = Box({
|
||||||
className: 'spacing-v-15',
|
className: 'spacing-v-5',
|
||||||
vertical: true,
|
vertical: true,
|
||||||
setup: (self) => self
|
setup: (self) => self
|
||||||
.hook(GPTService, (box, id) => {
|
.hook(GPTService, (box, id) => {
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ const geminiWelcome = Box({
|
|||||||
});
|
});
|
||||||
|
|
||||||
export const chatContent = Box({
|
export const chatContent = Box({
|
||||||
className: 'spacing-v-15',
|
className: 'spacing-v-5',
|
||||||
vertical: true,
|
vertical: true,
|
||||||
setup: (self) => self
|
setup: (self) => self
|
||||||
.hook(GeminiService, (box, id) => {
|
.hook(GeminiService, (box, id) => {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import { MaterialIcon } from '../../.commonwidgets/materialicon.js';
|
|||||||
import { MarginRevealer } from '../../.widgethacks/advancedrevealers.js';
|
import { MarginRevealer } from '../../.widgethacks/advancedrevealers.js';
|
||||||
import { setupCursorHover, setupCursorHoverInfo } from '../../.widgetutils/cursorhover.js';
|
import { setupCursorHover, setupCursorHoverInfo } from '../../.widgetutils/cursorhover.js';
|
||||||
import WaifuService from '../../../services/waifus.js';
|
import WaifuService from '../../../services/waifus.js';
|
||||||
|
import { darkMode } from '../../.miscutils/system.js';
|
||||||
|
|
||||||
async function getImageViewerApp(preferredApp) {
|
async function getImageViewerApp(preferredApp) {
|
||||||
Utils.execAsync(['bash', '-c', `command -v ${preferredApp}`])
|
Utils.execAsync(['bash', '-c', `command -v ${preferredApp}`])
|
||||||
@@ -117,9 +118,6 @@ const WaifuImage = (taglist) => {
|
|||||||
onClicked: action,
|
onClicked: action,
|
||||||
setup: setupCursorHover,
|
setup: setupCursorHover,
|
||||||
})
|
})
|
||||||
const colorIndicator = Box({
|
|
||||||
className: `sidebar-chat-indicator`,
|
|
||||||
});
|
|
||||||
const downloadState = Stack({
|
const downloadState = Stack({
|
||||||
homogeneous: false,
|
homogeneous: false,
|
||||||
transition: 'slide_up_down',
|
transition: 'slide_up_down',
|
||||||
@@ -139,7 +137,7 @@ const WaifuImage = (taglist) => {
|
|||||||
});
|
});
|
||||||
const blockHeading = Box({
|
const blockHeading = Box({
|
||||||
hpack: 'fill',
|
hpack: 'fill',
|
||||||
className: 'sidebar-waifu-content spacing-h-5',
|
className: 'spacing-h-5',
|
||||||
children: [
|
children: [
|
||||||
...taglist.map((tag) => CommandButton(tag)),
|
...taglist.map((tag) => CommandButton(tag)),
|
||||||
Box({ hexpand: true }),
|
Box({ hexpand: true }),
|
||||||
@@ -248,14 +246,10 @@ const WaifuImage = (taglist) => {
|
|||||||
else Utils.execAsync(['bash', '-c', `wget -O '${thisBlock.attribute.imagePath}' '${url}'`])
|
else Utils.execAsync(['bash', '-c', `wget -O '${thisBlock.attribute.imagePath}' '${url}'`])
|
||||||
.then(showImage)
|
.then(showImage)
|
||||||
.catch(print);
|
.catch(print);
|
||||||
blockHeading.get_children().forEach((child) => {
|
thisBlock.css = `background-color: mix(${darkMode ? 'black' : 'white'}, ${dominant_color}, 0.9);`;
|
||||||
child.setCss(`border-color: ${dominant_color};`);
|
|
||||||
})
|
|
||||||
colorIndicator.css = `background-color: ${dominant_color};`;
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
children: [
|
children: [
|
||||||
colorIndicator,
|
|
||||||
Box({
|
Box({
|
||||||
vertical: true,
|
vertical: true,
|
||||||
className: 'spacing-v-5',
|
className: 'spacing-v-5',
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
term_alpha=80 #Set this to < 100 make all your terminals transparent
|
term_alpha=100 #Set this to < 100 make all your terminals transparent
|
||||||
# sleep 0 # idk i wanted some delay or colors dont get applied properly
|
# sleep 0 # idk i wanted some delay or colors dont get applied properly
|
||||||
if [ ! -d "$HOME"/.cache/ags/user/generated ]; then
|
if [ ! -d "$HOME"/.cache/ags/user/generated ]; then
|
||||||
mkdir -p "$HOME"/.cache/ags/user/generated
|
mkdir -p "$HOME"/.cache/ags/user/generated
|
||||||
|
|||||||
@@ -68,8 +68,10 @@ $onLayer1Inactive: mix($onLayer1, $layer1, 45%);
|
|||||||
$onLayer1: $onSurfaceVariant;
|
$onLayer1: $onSurfaceVariant;
|
||||||
$layer2: $secondaryContainer;
|
$layer2: $secondaryContainer;
|
||||||
$onLayer2: $onSecondaryContainer;
|
$onLayer2: $onSecondaryContainer;
|
||||||
$layer2Hover: mix($layer2, $onSurfaceVariant, 90%);
|
$layer1Hover: mix($layer1, $onLayer1, 85%);
|
||||||
$layer2Active: mix($layer2, $onSurfaceVariant, 80%);
|
$layer1Active: mix($layer1, $onLayer1, 70%);
|
||||||
|
$layer2Hover: mix($layer2, $onLayer2, 90%);
|
||||||
|
$layer2Active: mix($layer2, $onLayer2, 80%);
|
||||||
// Elements
|
// Elements
|
||||||
$windowtitleOnLayer0Inactive: $onLayer0Inactive;
|
$windowtitleOnLayer0Inactive: $onLayer0Inactive;
|
||||||
$windowtitleOnLayer0: $onLayer0;
|
$windowtitleOnLayer0: $onLayer0;
|
||||||
@@ -110,3 +112,15 @@ $cheatsheetColors: (
|
|||||||
$onSecondaryContainer
|
$onSecondaryContainer
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$sessionColors: (
|
||||||
|
$onLayer1,
|
||||||
|
$onLayer1,
|
||||||
|
$onLayer1,
|
||||||
|
$onLayer1,
|
||||||
|
$onLayer1,
|
||||||
|
$onLayer1,
|
||||||
|
$onLayer1
|
||||||
|
);
|
||||||
|
$brightnessOnLayer0: $onLayer0;
|
||||||
|
$volumeOnLayer0: $onLayer0;
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
color: $onSecondary;
|
color: $onSecondary;
|
||||||
}
|
}
|
||||||
|
|
||||||
caret-color: $primary;
|
caret-color: $onLayer2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes appear {
|
@keyframes appear {
|
||||||
@@ -29,8 +29,8 @@
|
|||||||
menu {
|
menu {
|
||||||
@include elevation-border-softer;
|
@include elevation-border-softer;
|
||||||
padding: 0.681rem;
|
padding: 0.681rem;
|
||||||
background: $surfaceVariant;
|
background: $layer2;
|
||||||
color: $onSurfaceVariant;
|
color: $onLayer2;
|
||||||
border-radius: 1.159rem;
|
border-radius: 1.159rem;
|
||||||
-gtk-outline-radius: 1.159rem;
|
-gtk-outline-radius: 1.159rem;
|
||||||
|
|
||||||
@@ -50,18 +50,18 @@ menubar>menuitem {
|
|||||||
menu>menuitem {
|
menu>menuitem {
|
||||||
padding: 0.4em 1.5rem;
|
padding: 0.4em 1.5rem;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
transition: 0.2s ease background;
|
transition: 0.2s ease background-color;
|
||||||
border-radius: 0.545rem;
|
border-radius: 0.545rem;
|
||||||
-gtk-outline-radius: 0.545rem;
|
-gtk-outline-radius: 0.545rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
menu>menuitem:hover,
|
menu>menuitem:hover,
|
||||||
menu>menuitem:focus {
|
menu>menuitem:focus {
|
||||||
background-color: mix($surfaceVariant, $onSurfaceVariant, 90%);
|
background-color: $layer2Hover;
|
||||||
}
|
}
|
||||||
|
|
||||||
menu>menuitem:active {
|
menu>menuitem:active {
|
||||||
background-color: mix($surfaceVariant, $onSurfaceVariant, 80%);
|
background-color: $layer2Active;
|
||||||
}
|
}
|
||||||
|
|
||||||
radio {
|
radio {
|
||||||
|
|||||||
@@ -1,56 +1,56 @@
|
|||||||
$darkmode: True;
|
$darkmode: True;
|
||||||
$transparent: False;
|
$transparent: False;
|
||||||
$primary_paletteKeyColor: #427DA3;
|
$primary_paletteKeyColor: #A76837;
|
||||||
$secondary_paletteKeyColor: #687987;
|
$secondary_paletteKeyColor: #8F715C;
|
||||||
$tertiary_paletteKeyColor: #7D7195;
|
$tertiary_paletteKeyColor: #777A4B;
|
||||||
$neutral_paletteKeyColor: #73777B;
|
$neutral_paletteKeyColor: #81756D;
|
||||||
$neutral_variant_paletteKeyColor: #71787E;
|
$neutral_variant_paletteKeyColor: #84746A;
|
||||||
$background: #101417;
|
$background: #19120D;
|
||||||
$onBackground: #DFE3E8;
|
$onBackground: #F0DFD6;
|
||||||
$surface: #101417;
|
$surface: #19120D;
|
||||||
$surfaceDim: #101417;
|
$surfaceDim: #19120D;
|
||||||
$surfaceBright: #353A3E;
|
$surfaceBright: #413731;
|
||||||
$surfaceContainerLowest: #FFFFFF;
|
$surfaceContainerLowest: #FFFFFF;
|
||||||
$surfaceContainerLow: #181C20;
|
$surfaceContainerLow: #221A15;
|
||||||
$surfaceContainer: #1C2024;
|
$surfaceContainer: #261E18;
|
||||||
$surfaceContainerHigh: #262A2E;
|
$surfaceContainerHigh: #312822;
|
||||||
$surfaceContainerHighest: #313539;
|
$surfaceContainerHighest: #3C332D;
|
||||||
$onSurface: #DFE3E8;
|
$onSurface: #F0DFD6;
|
||||||
$surfaceVariant: #41484D;
|
$surfaceVariant: #52443B;
|
||||||
$onSurfaceVariant: #C1C7CE;
|
$onSurfaceVariant: #D6C3B7;
|
||||||
$inverseSurface: #DFE3E8;
|
$inverseSurface: #F0DFD6;
|
||||||
$inverseOnSurface: #2D3135;
|
$inverseOnSurface: #382F29;
|
||||||
$outline: #8B9198;
|
$outline: #9F8D83;
|
||||||
$outlineVariant: #41484D;
|
$outlineVariant: #52443B;
|
||||||
$shadow: #000000;
|
$shadow: #000000;
|
||||||
$scrim: #000000;
|
$scrim: #000000;
|
||||||
$surfaceTint: #94CDF7;
|
$surfaceTint: #FFB783;
|
||||||
$primary: #94CDF7;
|
$primary: #FFB783;
|
||||||
$onPrimary: #00344D;
|
$onPrimary: #4F2500;
|
||||||
$primaryContainer: #004C6D;
|
$primaryContainer: #6D390B;
|
||||||
$onPrimaryContainer: #C8E6FF;
|
$onPrimaryContainer: #FFDCC5;
|
||||||
$inversePrimary: #246488;
|
$inversePrimary: #8A5021;
|
||||||
$secondary: #B7C9D8;
|
$secondary: #E4BFA7;
|
||||||
$onSecondary: #21323F;
|
$onSecondary: #422B1B;
|
||||||
$secondaryContainer: #384956;
|
$secondaryContainer: #5B412F;
|
||||||
$onSecondaryContainer: #D3E5F5;
|
$onSecondaryContainer: #FFDCC5;
|
||||||
$tertiary: #CEC0E8;
|
$tertiary: #C8CA94;
|
||||||
$onTertiary: #352B4B;
|
$onTertiary: #30330B;
|
||||||
$tertiaryContainer: #978BB0;
|
$tertiaryContainer: #919463;
|
||||||
$onTertiaryContainer: #000000;
|
$onTertiaryContainer: #000000;
|
||||||
$error: #FFB4AB;
|
$error: #FFB4AB;
|
||||||
$onError: #690005;
|
$onError: #690005;
|
||||||
$errorContainer: #93000A;
|
$errorContainer: #93000A;
|
||||||
$onErrorContainer: #FFDAD6;
|
$onErrorContainer: #FFDAD6;
|
||||||
$primaryFixed: #C8E6FF;
|
$primaryFixed: #FFDCC5;
|
||||||
$primaryFixedDim: #94CDF7;
|
$primaryFixedDim: #FFB783;
|
||||||
$onPrimaryFixed: #001E2E;
|
$onPrimaryFixed: #301400;
|
||||||
$onPrimaryFixedVariant: #004C6D;
|
$onPrimaryFixedVariant: #6D390B;
|
||||||
$secondaryFixed: #D3E5F5;
|
$secondaryFixed: #FFDCC5;
|
||||||
$secondaryFixedDim: #B7C9D8;
|
$secondaryFixedDim: #E4BFA7;
|
||||||
$onSecondaryFixed: #0B1D29;
|
$onSecondaryFixed: #2A1708;
|
||||||
$onSecondaryFixedVariant: #384956;
|
$onSecondaryFixedVariant: #5B412F;
|
||||||
$tertiaryFixed: #E9DDFF;
|
$tertiaryFixed: #E4E6AE;
|
||||||
$tertiaryFixedDim: #CEC0E8;
|
$tertiaryFixedDim: #C8CA94;
|
||||||
$onTertiaryFixed: #1F1635;
|
$onTertiaryFixed: #1B1D00;
|
||||||
$onTertiaryFixedVariant: #4B4163;
|
$onTertiaryFixedVariant: #474920;
|
||||||
|
|||||||
+31
-14
@@ -10,7 +10,7 @@
|
|||||||
.osd-value {
|
.osd-value {
|
||||||
@include elevation-border;
|
@include elevation-border;
|
||||||
@include elevation2;
|
@include elevation2;
|
||||||
background-color: $background;
|
background-color: $layer0;
|
||||||
border-radius: 1.023rem;
|
border-radius: 1.023rem;
|
||||||
padding: 0.625rem 1.023rem;
|
padding: 0.625rem 1.023rem;
|
||||||
padding-top: 0.313rem;
|
padding-top: 0.313rem;
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
min-height: 0.954rem;
|
min-height: 0.954rem;
|
||||||
min-width: 0.068rem;
|
min-width: 0.068rem;
|
||||||
border-radius: 10rem;
|
border-radius: 10rem;
|
||||||
background-color: $secondaryContainer;
|
background-color: $layer2;
|
||||||
// border: 0.068rem solid $onSecondaryContainer;
|
// border: 0.068rem solid $onSecondaryContainer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -37,18 +37,13 @@
|
|||||||
min-width: 0.680rem;
|
min-width: 0.680rem;
|
||||||
margin: 0rem 0.137rem;
|
margin: 0rem 0.137rem;
|
||||||
border-radius: 10rem;
|
border-radius: 10rem;
|
||||||
background-color: $onSecondaryContainer;
|
background-color: $onLayer2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.osd-icon {
|
|
||||||
color: $onPrimaryContainer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.osd-label {
|
.osd-label {
|
||||||
font-size: 1.023rem;
|
font-size: 1.023rem;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: $onBackground;
|
|
||||||
margin-top: 0.341rem;
|
margin-top: 0.341rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,7 +51,24 @@
|
|||||||
@include titlefont;
|
@include titlefont;
|
||||||
font-size: 1.688rem;
|
font-size: 1.688rem;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: $onBackground;
|
color: $onLayer0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.osd-brightness {
|
||||||
|
color: $brightnessOnLayer0;
|
||||||
|
}
|
||||||
|
.osd-brightness-progress {
|
||||||
|
progress {
|
||||||
|
background-color: $brightnessOnLayer0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.osd-volume {
|
||||||
|
color: $volumeOnLayer0;
|
||||||
|
}
|
||||||
|
.osd-volume-progress {
|
||||||
|
progress {
|
||||||
|
background-color: $volumeOnLayer0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.osd-notifs {
|
.osd-notifs {
|
||||||
@@ -65,7 +77,7 @@
|
|||||||
|
|
||||||
.osd-colorscheme {
|
.osd-colorscheme {
|
||||||
border-radius: 1.023rem;
|
border-radius: 1.023rem;
|
||||||
background-color: $background;
|
background-color: $layer0;
|
||||||
padding: 0.313rem 0.626rem;
|
padding: 0.313rem 0.626rem;
|
||||||
@include elevation2;
|
@include elevation2;
|
||||||
}
|
}
|
||||||
@@ -157,11 +169,16 @@
|
|||||||
color: $onSurfaceVariant;
|
color: $onSurfaceVariant;
|
||||||
box { background-color: $onSurfaceVariant; }
|
box { background-color: $onSurfaceVariant; }
|
||||||
}
|
}
|
||||||
|
.osd-color-L1 {
|
||||||
|
background-color: $layer1;
|
||||||
|
color: $onLayer1;
|
||||||
|
box { background-color: $onLayer1; }
|
||||||
|
}
|
||||||
|
|
||||||
.osd-color-background {
|
.osd-color-layer0 {
|
||||||
background-color: $background;
|
background-color: $layer0;
|
||||||
color: $onBackground;
|
color: $onLayer0;
|
||||||
box { background-color: $onBackground; }
|
box { background-color: $onLayer0; }
|
||||||
}
|
}
|
||||||
|
|
||||||
.osd-settings-btn-arrow {
|
.osd-settings-btn-arrow {
|
||||||
|
|||||||
+13
-13
@@ -1,7 +1,7 @@
|
|||||||
$osk_key_height: 2.5rem;
|
$osk_key_height: 2.5rem;
|
||||||
$osk_key_width: 2.5rem;
|
$osk_key_width: 2.5rem;
|
||||||
$osk_key_padding: 0.188rem;
|
$osk_key_padding: 0.188rem;
|
||||||
$osk_key_rounding: 0.682rem;
|
$osk_key_rounding: 0.545rem;
|
||||||
$osk_key_fontsize: 1.091rem;
|
$osk_key_fontsize: 1.091rem;
|
||||||
|
|
||||||
.osk-window {
|
.osk-window {
|
||||||
@@ -11,12 +11,12 @@ $osk_key_fontsize: 1.091rem;
|
|||||||
@include elevation2;
|
@include elevation2;
|
||||||
// min-height: 29.591rem;
|
// min-height: 29.591rem;
|
||||||
// min-width: 50rem;
|
// min-width: 50rem;
|
||||||
background-color: $t_background;
|
background-color: $layer0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.osk-body {
|
.osk-body {
|
||||||
padding: 1.023rem;
|
padding: 1.023rem;
|
||||||
padding-top: 0px;
|
padding-top: 0rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.osk-show {
|
.osk-show {
|
||||||
@@ -32,7 +32,7 @@ $osk_key_fontsize: 1.091rem;
|
|||||||
|
|
||||||
.osk-dragline {
|
.osk-dragline {
|
||||||
@include full-rounding;
|
@include full-rounding;
|
||||||
background-color: $surfaceVariant;
|
background-color: $onLayer0Inactive;
|
||||||
min-height: 0.273rem;
|
min-height: 0.273rem;
|
||||||
min-width: 10.227rem;
|
min-width: 10.227rem;
|
||||||
margin-top: 0.545rem;
|
margin-top: 0.545rem;
|
||||||
@@ -41,8 +41,8 @@ $osk_key_fontsize: 1.091rem;
|
|||||||
|
|
||||||
.osk-key {
|
.osk-key {
|
||||||
border-radius: $osk_key_rounding;
|
border-radius: $osk_key_rounding;
|
||||||
background-color: $t_surfaceVariant;
|
background-color: $layer1;
|
||||||
color: $onSurfaceVariant;
|
color: $onLayer1;
|
||||||
padding: $osk_key_padding;
|
padding: $osk_key_padding;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-size: $osk_key_fontsize;
|
font-size: $osk_key_fontsize;
|
||||||
@@ -50,16 +50,16 @@ $osk_key_fontsize: 1.091rem;
|
|||||||
|
|
||||||
.osk-key:hover,
|
.osk-key:hover,
|
||||||
.osk-key:focus {
|
.osk-key:focus {
|
||||||
background-color: $hovercolor;
|
background-color: $layer1Hover;
|
||||||
}
|
}
|
||||||
|
|
||||||
.osk-key:active {
|
.osk-key:active {
|
||||||
background-color: $activecolor;
|
background-color: $layer1Active;
|
||||||
font-size: $osk_key_fontsize;
|
font-size: $osk_key_fontsize;
|
||||||
}
|
}
|
||||||
|
|
||||||
.osk-key-active {
|
.osk-key-active {
|
||||||
background-color: $activecolor;
|
background-color: $layer1Active;
|
||||||
}
|
}
|
||||||
|
|
||||||
.osk-key-normal {
|
.osk-key-normal {
|
||||||
@@ -95,8 +95,8 @@ $osk_key_fontsize: 1.091rem;
|
|||||||
|
|
||||||
.osk-control-button {
|
.osk-control-button {
|
||||||
border-radius: $osk_key_rounding;
|
border-radius: $osk_key_rounding;
|
||||||
background-color: $t_surfaceVariant;
|
background-color: $layer1;
|
||||||
color: $onSurfaceVariant;
|
color: $onLayer1;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-size: $osk_key_fontsize;
|
font-size: $osk_key_fontsize;
|
||||||
padding: 0.682rem;
|
padding: 0.682rem;
|
||||||
@@ -104,11 +104,11 @@ $osk_key_fontsize: 1.091rem;
|
|||||||
|
|
||||||
.osk-control-button:hover,
|
.osk-control-button:hover,
|
||||||
.osk-control-button:focus {
|
.osk-control-button:focus {
|
||||||
background-color: mix($t_surfaceVariant, $onSurfaceVariant, 90%);
|
background-color: $layer1Hover;
|
||||||
}
|
}
|
||||||
|
|
||||||
.osk-control-button:active {
|
.osk-control-button:active {
|
||||||
background-color: mix($t_surfaceVariant, $onSurfaceVariant, 70%);
|
background-color: $layer1Active;
|
||||||
font-size: $osk_key_fontsize;
|
font-size: $osk_key_fontsize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,24 +1,23 @@
|
|||||||
.session-bg {
|
.session-bg {
|
||||||
background-color: $t_surface;
|
background-color: transparentize($color: $layer0, $amount: 0.4);
|
||||||
}
|
}
|
||||||
|
|
||||||
.session-button {
|
.session-button {
|
||||||
@include large-rounding;
|
@include large-rounding;
|
||||||
min-width: 8.182rem;
|
min-width: 8.182rem;
|
||||||
min-height: 8.182rem;
|
min-height: 8.182rem;
|
||||||
background-color: $surfaceVariant;
|
background-color: $layer1;
|
||||||
color: $onSurfaceVariant;
|
color: $onLayer1;
|
||||||
font-size: 3rem;
|
font-size: 3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.session-button-focused {
|
.session-button-focused {
|
||||||
background-color: $secondaryContainer;
|
background-color: $layer1Hover;
|
||||||
color: $onSecondaryContainer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.session-button-desc {
|
.session-button-desc {
|
||||||
background-color: mix($surface, $surfaceVariant, 50%);
|
background-color: $layer2;
|
||||||
color: mix($onSurface, $onSurfaceVariant, 50%);
|
color: $onLayer2;
|
||||||
border-bottom-left-radius: $rounding_large;
|
border-bottom-left-radius: $rounding_large;
|
||||||
border-bottom-right-radius: $rounding_large;
|
border-bottom-right-radius: $rounding_large;
|
||||||
padding: 0.205rem 0.341rem;
|
padding: 0.205rem 0.341rem;
|
||||||
@@ -29,7 +28,13 @@
|
|||||||
@include large-rounding;
|
@include large-rounding;
|
||||||
min-width: 8.182rem;
|
min-width: 8.182rem;
|
||||||
min-height: 5.455rem;
|
min-height: 5.455rem;
|
||||||
background-color: $surfaceVariant;
|
background-color: $layer1;
|
||||||
color: $onSurfaceVariant;
|
color: $onLayer1;
|
||||||
font-size: 3rem;
|
font-size: 3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@for $i from 1 through 7 {
|
||||||
|
.session-color-#{$i} {
|
||||||
|
color: nth($sessionColors, $i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,8 +2,6 @@ $sidebar_chat_textboxareaColor: mix($onSurfaceVariant, $surfaceVariant, 40%);
|
|||||||
$textboxColor: $surfaceContainerHigh;
|
$textboxColor: $surfaceContainerHigh;
|
||||||
$system: $secondary;
|
$system: $secondary;
|
||||||
$onSystem: $onSecondary;
|
$onSystem: $onSecondary;
|
||||||
$chatgpt: $primary;
|
|
||||||
$onChatgpt: $onPrimary;
|
|
||||||
|
|
||||||
@mixin group-padding {
|
@mixin group-padding {
|
||||||
padding: 0.341rem;
|
padding: 0.341rem;
|
||||||
@@ -588,32 +586,47 @@ $colorpicker_rounding: 0.341rem;
|
|||||||
|
|
||||||
.sidebar-chat-message {
|
.sidebar-chat-message {
|
||||||
margin: 0.682rem;
|
margin: 0.682rem;
|
||||||
|
@include normal-rounding;
|
||||||
|
@include group-padding;
|
||||||
|
background-color: $layer1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebar-chat-indicator {
|
.sidebar-chat-indicator {
|
||||||
@include element_decel;
|
@include element_decel;
|
||||||
@include full-rounding;
|
@include full-rounding;
|
||||||
min-width: 0.136rem;
|
min-width: 0.136rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-chat-indicator-waifu {
|
||||||
|
@include element_decel;
|
||||||
|
@include full-rounding;
|
||||||
|
min-width: 0.136rem;
|
||||||
background-color: $onBackground;
|
background-color: $onBackground;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebar-chat-indicator-user {
|
|
||||||
background-color: $onBackground;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar-chat-indicator-bot {
|
|
||||||
background-color: $chatgpt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar-chat-indicator-System {
|
|
||||||
background-color: $system;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar-chat-name {
|
.sidebar-chat-name {
|
||||||
@include titlefont;
|
@include titlefont;
|
||||||
padding: 0.341rem;
|
@include small-rounding;
|
||||||
margin-left: -0.136rem;
|
padding: 0.341rem 0.818rem;
|
||||||
padding-left: 0.818rem;
|
margin: 0.341rem;
|
||||||
|
// margin-left: 0rem;
|
||||||
|
background-color: $layer2;
|
||||||
|
color: $onLayer2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-chat-name-user {
|
||||||
|
background-color: $layer2;
|
||||||
|
color: $onLayer2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-chat-name-bot {
|
||||||
|
background-color: $secondary;
|
||||||
|
color: $onSecondary;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-chat-name-system {
|
||||||
|
background-color: $secondaryContainer;
|
||||||
|
color: $onSecondaryContainer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebar-chat-txtblock {
|
.sidebar-chat-txtblock {
|
||||||
@@ -800,17 +813,11 @@ $colorpicker_rounding: 0.341rem;
|
|||||||
padding-left: 0.818rem;
|
padding-left: 0.818rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebar-waifu-content {
|
|
||||||
margin-left: 0.682rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar-waifu-txt {
|
.sidebar-waifu-txt {
|
||||||
@include readingfont;
|
@include readingfont;
|
||||||
margin-left: 0.682rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebar-waifu-image {
|
.sidebar-waifu-image {
|
||||||
margin-left: 0.682rem;
|
|
||||||
@include normal-rounding;
|
@include normal-rounding;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
@@ -842,6 +849,10 @@ $waifu_image_overlay_transparency: 0.7;
|
|||||||
background-color: rgba(60, 60, 60, $waifu_image_overlay_transparency);
|
background-color: rgba(60, 60, 60, $waifu_image_overlay_transparency);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sidebar-booru-imagegrid {
|
||||||
|
@include normal-rounding;
|
||||||
|
}
|
||||||
|
|
||||||
.sidebar-booru-image {
|
.sidebar-booru-image {
|
||||||
@include small-rounding;
|
@include small-rounding;
|
||||||
margin: 0.273rem;
|
margin: 0.273rem;
|
||||||
|
|||||||
Reference in New Issue
Block a user