mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-01-29 16:02:51 -05:00
Compare commits
2 Commits
f2611e0de0
...
6ef08c3d54
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6ef08c3d54 | ||
|
|
908b4b58cd |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -101,6 +101,7 @@ go.work.sum
|
||||
# Editor/IDE
|
||||
# .idea/
|
||||
# .vscode/
|
||||
vim/
|
||||
|
||||
bin/
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ func init() {
|
||||
dank16Cmd.Flags().Bool("json", false, "Output in JSON format")
|
||||
dank16Cmd.Flags().Bool("kitty", false, "Output in Kitty terminal format")
|
||||
dank16Cmd.Flags().Bool("foot", false, "Output in Foot terminal format")
|
||||
dank16Cmd.Flags().Bool("neovim", false, "Output in Neovim plugin format")
|
||||
dank16Cmd.Flags().Bool("alacritty", false, "Output in Alacritty terminal format")
|
||||
dank16Cmd.Flags().Bool("ghostty", false, "Output in Ghostty terminal format")
|
||||
dank16Cmd.Flags().Bool("wezterm", false, "Output in Wezterm terminal format")
|
||||
@@ -40,6 +41,7 @@ func runDank16(cmd *cobra.Command, args []string) {
|
||||
isJson, _ := cmd.Flags().GetBool("json")
|
||||
isKitty, _ := cmd.Flags().GetBool("kitty")
|
||||
isFoot, _ := cmd.Flags().GetBool("foot")
|
||||
isNeovim, _ := cmd.Flags().GetBool("neovim")
|
||||
isAlacritty, _ := cmd.Flags().GetBool("alacritty")
|
||||
isGhostty, _ := cmd.Flags().GetBool("ghostty")
|
||||
isWezterm, _ := cmd.Flags().GetBool("wezterm")
|
||||
@@ -116,6 +118,8 @@ func runDank16(cmd *cobra.Command, args []string) {
|
||||
fmt.Print(dank16.GenerateGhosttyTheme(colors))
|
||||
} else if isWezterm {
|
||||
fmt.Print(dank16.GenerateWeztermTheme(colors))
|
||||
} else if isNeovim {
|
||||
fmt.Print(dank16.GenerateNeovimTheme(colors))
|
||||
} else {
|
||||
fmt.Print(dank16.GenerateGhosttyTheme(colors))
|
||||
}
|
||||
|
||||
@@ -112,3 +112,24 @@ func GenerateWeztermTheme(p Palette) string {
|
||||
p.Color12.Hex, p.Color13.Hex, p.Color14.Hex, p.Color15.Hex)
|
||||
return result.String()
|
||||
}
|
||||
|
||||
func GenerateNeovimTheme(p Palette) string {
|
||||
var result strings.Builder
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_0 = \"%s\"\n", p.Color0.Hex)
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_1 = \"%s\"\n", p.Color1.Hex)
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_2 = \"%s\"\n", p.Color2.Hex)
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_3 = \"%s\"\n", p.Color3.Hex)
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_4 = \"%s\"\n", p.Color4.Hex)
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_5 = \"%s\"\n", p.Color5.Hex)
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_6 = \"%s\"\n", p.Color6.Hex)
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_7 = \"%s\"\n", p.Color7.Hex)
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_8 = \"%s\"\n", p.Color8.Hex)
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_9 = \"%s\"\n", p.Color9.Hex)
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_10 = \"%s\"\n", p.Color10.Hex)
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_11 = \"%s\"\n", p.Color11.Hex)
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_12 = \"%s\"\n", p.Color12.Hex)
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_13 = \"%s\"\n", p.Color13.Hex)
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_14 = \"%s\"\n", p.Color14.Hex)
|
||||
fmt.Fprintf(&result, "vim.g.terminal_color_15 = \"%s\"\n", p.Color15.Hex)
|
||||
return result.String()
|
||||
}
|
||||
|
||||
@@ -274,6 +274,9 @@ output_path = '%s'
|
||||
if !opts.ShouldSkipTemplate("wezterm") {
|
||||
appendTerminalConfig(opts, cfgFile, tmpDir, "wezterm", "wezterm.toml")
|
||||
}
|
||||
if !opts.ShouldSkipTemplate("nvim") {
|
||||
appendTerminalConfig(opts, cfgFile, tmpDir, "nvim", "neovim.toml")
|
||||
}
|
||||
|
||||
if !opts.ShouldSkipTemplate("dgop") {
|
||||
appendConfig(opts, cfgFile, "dgop", "dgop.toml")
|
||||
|
||||
@@ -282,6 +282,7 @@ Singleton {
|
||||
property bool matugenTemplateGhostty: true
|
||||
property bool matugenTemplateKitty: true
|
||||
property bool matugenTemplateFoot: true
|
||||
property bool matugenTemplateNeovim: true
|
||||
property bool matugenTemplateAlacritty: true
|
||||
property bool matugenTemplateWezterm: true
|
||||
property bool matugenTemplateDgop: true
|
||||
@@ -447,6 +448,21 @@ Singleton {
|
||||
property var systemMonitorDisplayPreferences: ["all"]
|
||||
property var systemMonitorVariants: []
|
||||
property var desktopWidgetPositions: ({})
|
||||
property var desktopWidgetGridSettings: ({})
|
||||
|
||||
function getDesktopWidgetGridSetting(screenKey, property, defaultValue) {
|
||||
const val = desktopWidgetGridSettings?.[screenKey]?.[property];
|
||||
return val !== undefined ? val : defaultValue;
|
||||
}
|
||||
|
||||
function setDesktopWidgetGridSetting(screenKey, property, value) {
|
||||
const allSettings = JSON.parse(JSON.stringify(desktopWidgetGridSettings || {}));
|
||||
if (!allSettings[screenKey])
|
||||
allSettings[screenKey] = {};
|
||||
allSettings[screenKey][property] = value;
|
||||
desktopWidgetGridSettings = allSettings;
|
||||
saveSettings();
|
||||
}
|
||||
|
||||
function getDesktopWidgetPosition(pluginId, screenKey, property, defaultValue) {
|
||||
const pos = desktopWidgetPositions?.[pluginId]?.[screenKey]?.[property];
|
||||
|
||||
@@ -829,7 +829,7 @@ Singleton {
|
||||
if (typeof SettingsData !== "undefined") {
|
||||
const skipTemplates = [];
|
||||
if (!SettingsData.runDmsMatugenTemplates) {
|
||||
skipTemplates.push("gtk", "niri", "qt5ct", "qt6ct", "firefox", "pywalfox", "vesktop", "ghostty", "kitty", "foot", "alacritty", "wezterm", "dgop", "kcolorscheme", "vscode");
|
||||
skipTemplates.push("gtk", "neovim", "niri", "qt5ct", "qt6ct", "firefox", "pywalfox", "vesktop", "ghostty", "kitty", "foot", "alacritty", "wezterm", "dgop", "kcolorscheme", "vscode");
|
||||
} else {
|
||||
if (!SettingsData.matugenTemplateGtk)
|
||||
skipTemplates.push("gtk");
|
||||
@@ -851,6 +851,8 @@ Singleton {
|
||||
skipTemplates.push("kitty");
|
||||
if (!SettingsData.matugenTemplateFoot)
|
||||
skipTemplates.push("foot");
|
||||
if (!SettingsData.matugenTemplateNeovim)
|
||||
skipTemplates.push("nvim");
|
||||
if (!SettingsData.matugenTemplateAlacritty)
|
||||
skipTemplates.push("alacritty");
|
||||
if (!SettingsData.matugenTemplateWezterm)
|
||||
|
||||
@@ -182,6 +182,7 @@ var SPEC = {
|
||||
matugenTemplateKitty: { def: true },
|
||||
matugenTemplateFoot: { def: true },
|
||||
matugenTemplateAlacritty: { def: true },
|
||||
matugenTemplateNeovim: { def: true },
|
||||
matugenTemplateWezterm: { def: true },
|
||||
matugenTemplateDgop: { def: true },
|
||||
matugenTemplateKcolorscheme: { def: true },
|
||||
@@ -341,7 +342,8 @@ var SPEC = {
|
||||
systemMonitorHeight: { def: 480 },
|
||||
systemMonitorDisplayPreferences: { def: ["all"] },
|
||||
systemMonitorVariants: { def: [] },
|
||||
desktopWidgetPositions: { def: {} }
|
||||
desktopWidgetPositions: { def: {} },
|
||||
desktopWidgetGridSettings: { def: {} }
|
||||
};
|
||||
|
||||
function getValidKeys() {
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import Quickshell
|
||||
import Quickshell.Wayland
|
||||
import Quickshell.Hyprland
|
||||
import qs.Common
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
Item {
|
||||
id: root
|
||||
@@ -86,6 +88,20 @@ Item {
|
||||
property bool forceSquare: contentLoader.item?.forceSquare ?? false
|
||||
property bool isInteracting: dragArea.pressed || resizeArea.pressed
|
||||
|
||||
property var _gridSettingsTrigger: SettingsData.desktopWidgetGridSettings
|
||||
readonly property int gridSize: {
|
||||
void _gridSettingsTrigger;
|
||||
return SettingsData.getDesktopWidgetGridSetting(screenKey, "size", 40);
|
||||
}
|
||||
readonly property bool gridEnabled: {
|
||||
void _gridSettingsTrigger;
|
||||
return SettingsData.getDesktopWidgetGridSetting(screenKey, "enabled", false);
|
||||
}
|
||||
|
||||
function snapToGrid(value) {
|
||||
return Math.round(value / gridSize) * gridSize;
|
||||
}
|
||||
|
||||
function updateVariantPositions(updates) {
|
||||
const positions = JSON.parse(JSON.stringify(variantData?.positions || {}));
|
||||
positions[screenKey] = Object.assign({}, positions[screenKey] || {}, updates);
|
||||
@@ -141,7 +157,13 @@ Item {
|
||||
WlrLayershell.namespace: "quickshell:desktop-widget:" + root.pluginId + (root.variantId ? ":" + root.variantId : "")
|
||||
WlrLayershell.layer: WlrLayer.Bottom
|
||||
WlrLayershell.exclusionMode: ExclusionMode.Ignore
|
||||
WlrLayershell.keyboardFocus: (CompositorService.useHyprlandFocusGrab && root.isInteracting) ? WlrKeyboardFocus.OnDemand : WlrKeyboardFocus.None
|
||||
WlrLayershell.keyboardFocus: {
|
||||
if (!root.isInteracting)
|
||||
return WlrKeyboardFocus.None;
|
||||
if (CompositorService.useHyprlandFocusGrab)
|
||||
return WlrKeyboardFocus.OnDemand;
|
||||
return WlrKeyboardFocus.Exclusive;
|
||||
}
|
||||
|
||||
HyprlandFocusGrab {
|
||||
active: CompositorService.isHyprland && root.isInteracting
|
||||
@@ -238,8 +260,12 @@ Item {
|
||||
if (!pressed)
|
||||
return;
|
||||
const currentPos = root.useGhostPreview ? Qt.point(mouse.x, mouse.y) : mapToGlobal(mouse.x, mouse.y);
|
||||
const newX = Math.max(0, Math.min(startX + currentPos.x - startPos.x, root.screenWidth - root.widgetWidth));
|
||||
const newY = Math.max(0, Math.min(startY + currentPos.y - startPos.y, root.screenHeight - root.widgetHeight));
|
||||
let newX = Math.max(0, Math.min(startX + currentPos.x - startPos.x, root.screenWidth - root.widgetWidth));
|
||||
let newY = Math.max(0, Math.min(startY + currentPos.y - startPos.y, root.screenHeight - root.widgetHeight));
|
||||
if (root.gridEnabled) {
|
||||
newX = Math.max(0, Math.min(root.snapToGrid(newX), root.screenWidth - root.widgetWidth));
|
||||
newY = Math.max(0, Math.min(root.snapToGrid(newY), root.screenHeight - root.widgetHeight));
|
||||
}
|
||||
if (root.useGhostPreview) {
|
||||
root.previewX = newX;
|
||||
root.previewY = newY;
|
||||
@@ -285,6 +311,10 @@ Item {
|
||||
const currentPos = root.useGhostPreview ? Qt.point(mouse.x, mouse.y) : mapToGlobal(mouse.x, mouse.y);
|
||||
let newW = Math.max(root.minWidth, Math.min(startWidth + currentPos.x - startPos.x, root.screenWidth - root.widgetX));
|
||||
let newH = Math.max(root.minHeight, Math.min(startHeight + currentPos.y - startPos.y, root.screenHeight - root.widgetY));
|
||||
if (root.gridEnabled) {
|
||||
newW = Math.max(root.minWidth, root.snapToGrid(newW));
|
||||
newH = Math.max(root.minHeight, root.snapToGrid(newH));
|
||||
}
|
||||
if (root.forceSquare) {
|
||||
const size = Math.max(newW, newH);
|
||||
newW = Math.min(size, root.screenWidth - root.widgetX);
|
||||
@@ -330,6 +360,39 @@ Item {
|
||||
WlrLayershell.exclusionMode: ExclusionMode.Ignore
|
||||
WlrLayershell.keyboardFocus: WlrKeyboardFocus.None
|
||||
|
||||
Item {
|
||||
id: gridOverlay
|
||||
anchors.fill: parent
|
||||
visible: root.gridEnabled
|
||||
opacity: 0.3
|
||||
|
||||
Repeater {
|
||||
model: Math.ceil(root.screenWidth / root.gridSize)
|
||||
|
||||
Rectangle {
|
||||
required property int index
|
||||
x: index * root.gridSize
|
||||
y: 0
|
||||
width: 1
|
||||
height: root.screenHeight
|
||||
color: Theme.primary
|
||||
}
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: Math.ceil(root.screenHeight / root.gridSize)
|
||||
|
||||
Rectangle {
|
||||
required property int index
|
||||
x: 0
|
||||
y: index * root.gridSize
|
||||
width: root.screenWidth
|
||||
height: 1
|
||||
color: Theme.primary
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
x: root.previewX
|
||||
y: root.previewY
|
||||
@@ -355,4 +418,177 @@ Item {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
active: root.isInteracting && root.gridEnabled && !root.useGhostPreview
|
||||
|
||||
sourceComponent: PanelWindow {
|
||||
screen: root.screen
|
||||
color: "transparent"
|
||||
|
||||
anchors {
|
||||
left: true
|
||||
right: true
|
||||
top: true
|
||||
bottom: true
|
||||
}
|
||||
|
||||
mask: Region {}
|
||||
|
||||
WlrLayershell.namespace: "quickshell:desktop-widget-grid"
|
||||
WlrLayershell.layer: WlrLayer.Background
|
||||
WlrLayershell.exclusionMode: ExclusionMode.Ignore
|
||||
WlrLayershell.keyboardFocus: WlrKeyboardFocus.None
|
||||
|
||||
Item {
|
||||
anchors.fill: parent
|
||||
opacity: 0.3
|
||||
|
||||
Repeater {
|
||||
model: Math.ceil(root.screenWidth / root.gridSize)
|
||||
|
||||
Rectangle {
|
||||
required property int index
|
||||
x: index * root.gridSize
|
||||
y: 0
|
||||
width: 1
|
||||
height: root.screenHeight
|
||||
color: Theme.primary
|
||||
}
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: Math.ceil(root.screenHeight / root.gridSize)
|
||||
|
||||
Rectangle {
|
||||
required property int index
|
||||
x: 0
|
||||
y: index * root.gridSize
|
||||
width: root.screenWidth
|
||||
height: 1
|
||||
color: Theme.primary
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
active: root.isInteracting
|
||||
|
||||
sourceComponent: PanelWindow {
|
||||
id: helperWindow
|
||||
screen: root.screen
|
||||
color: "transparent"
|
||||
|
||||
WlrLayershell.namespace: "quickshell:desktop-widget-helper"
|
||||
WlrLayershell.layer: WlrLayer.Overlay
|
||||
WlrLayershell.exclusionMode: ExclusionMode.Ignore
|
||||
WlrLayershell.keyboardFocus: {
|
||||
if (CompositorService.useHyprlandFocusGrab)
|
||||
return WlrKeyboardFocus.OnDemand;
|
||||
return WlrKeyboardFocus.Exclusive;
|
||||
}
|
||||
|
||||
HyprlandFocusGrab {
|
||||
active: CompositorService.isHyprland
|
||||
windows: [helperWindow]
|
||||
}
|
||||
|
||||
anchors {
|
||||
bottom: true
|
||||
left: true
|
||||
right: true
|
||||
}
|
||||
|
||||
implicitHeight: 60
|
||||
|
||||
Item {
|
||||
anchors.fill: parent
|
||||
focus: true
|
||||
|
||||
Keys.onPressed: event => {
|
||||
switch (event.key) {
|
||||
case Qt.Key_G:
|
||||
SettingsData.setDesktopWidgetGridSetting(root.screenKey, "enabled", !root.gridEnabled);
|
||||
event.accepted = true;
|
||||
break;
|
||||
case Qt.Key_Z:
|
||||
SettingsData.setDesktopWidgetGridSetting(root.screenKey, "size", Math.max(10, root.gridSize - 10));
|
||||
event.accepted = true;
|
||||
break;
|
||||
case Qt.Key_X:
|
||||
SettingsData.setDesktopWidgetGridSetting(root.screenKey, "size", Math.min(200, root.gridSize + 10));
|
||||
event.accepted = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: helperContent
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: Theme.spacingL
|
||||
width: helperRow.implicitWidth + Theme.spacingM * 2
|
||||
height: 32
|
||||
radius: Theme.cornerRadius
|
||||
color: Theme.surface
|
||||
|
||||
Row {
|
||||
id: helperRow
|
||||
anchors.centerIn: parent
|
||||
spacing: Theme.spacingM
|
||||
height: parent.height
|
||||
|
||||
DankIcon {
|
||||
name: "grid_on"
|
||||
size: 16
|
||||
color: root.gridEnabled ? Theme.primary : Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
Text {
|
||||
text: root.gridEnabled ? I18n.tr("Grid: ON", "Widget grid snap status") : I18n.tr("Grid: OFF", "Widget grid snap status")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
font.family: Theme.fontFamily
|
||||
color: root.gridEnabled ? Theme.primary : Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: 1
|
||||
height: 16
|
||||
color: Theme.outline
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
Text {
|
||||
text: root.gridSize + "px"
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
font.family: Theme.fontFamily
|
||||
color: Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: 1
|
||||
height: 16
|
||||
color: Theme.outline
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
Text {
|
||||
text: I18n.tr("G: grid • Z/X: size", "Widget grid keyboard hints")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
font.family: Theme.fontFamily
|
||||
font.italic: true
|
||||
color: Theme.surfaceText
|
||||
opacity: 0.7
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -846,6 +846,16 @@ Item {
|
||||
checked: SettingsData.matugenTemplateFoot
|
||||
onToggled: checked => SettingsData.set("matugenTemplateFoot", checked)
|
||||
}
|
||||
SettingsToggleRow {
|
||||
tab: "theme"
|
||||
tags: ["matugen", "neovim", "terminal", "template"]
|
||||
settingKey: "matugenTemplateNeovim"
|
||||
text: "neovim"
|
||||
description: "Requires lazy plugin manager"
|
||||
visible: SettingsData.runDmsMatugenTemplates
|
||||
checked: SettingsData.matugenTemplateNeovim
|
||||
onToggled: checked => SettingsData.set("matugenTemplateNeovim", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
tab: "theme"
|
||||
|
||||
@@ -117,6 +117,7 @@ Templates in `scripts/templates/` generate themes for:
|
||||
- GTK 3/4
|
||||
- Qt5/Qt6
|
||||
- Alacritty, Kitty, Ghostty, Foot, Wezterm terminals
|
||||
- Neovim
|
||||
- VSCode/VSCodium
|
||||
- Firefox
|
||||
|
||||
|
||||
3
quickshell/matugen/configs/neovim.toml
Normal file
3
quickshell/matugen/configs/neovim.toml
Normal file
@@ -0,0 +1,3 @@
|
||||
[templates.dmsneovim]
|
||||
input_path = 'SHELL_DIR/matugen/templates/neovim.lua'
|
||||
output_path = '~/.config/nvim/lua/plugins/dankcolors.lua'
|
||||
51
quickshell/matugen/templates/neovim.lua
Normal file
51
quickshell/matugen/templates/neovim.lua
Normal file
@@ -0,0 +1,51 @@
|
||||
return {
|
||||
{
|
||||
"RRethy/base16-nvim",
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require('base16-colorscheme').setup({
|
||||
base00 = '{{colors.background.default.hex}}',
|
||||
base01 = '{{colors.surface_container.default.hex}}',
|
||||
base02 = '{{colors.surface_container_highest.default.hex}}',
|
||||
base03 = '{{colors.outline_variant.default.hex}}',
|
||||
base04 = '{{colors.on_surface_variant.default.hex}}',
|
||||
base05 = '{{colors.on_surface.default.hex}}',
|
||||
base06 = '{{colors.on_surface.default.hex}}',
|
||||
base07 = '{{colors.inverse_on_surface.default.hex}}',
|
||||
base08 = '{{colors.error.default.hex}}',
|
||||
base09 = '{{colors.tertiary.default.hex}}',
|
||||
base0A = '{{colors.on_surface_variant.default.hex}}',
|
||||
base0B = '{{colors.primary.default.hex}}',
|
||||
base0C = '{{colors.secondary.default.hex}}',
|
||||
base0D = '{{colors.primary.default.hex}}',
|
||||
base0E = '{{colors.secondary.default.hex}}',
|
||||
base0F = '{{colors.error.default.hex}}',
|
||||
})
|
||||
|
||||
local function set_hl_mutliple(groups, value)
|
||||
for _, v in pairs(groups) do vim.api.nvim_set_hl(0, v, value) end
|
||||
end
|
||||
|
||||
vim.api.nvim_set_hl(0, 'Visual',
|
||||
{ bg = '{{colors.primary_container.default.hex}}', fg = '{{colors.on_primary_container.default.hex}}', bold = true })
|
||||
vim.api.nvim_set_hl(0, 'LineNr', { fg = '{{colors.outline_variant.default.hex}}' })
|
||||
vim.api.nvim_set_hl(0, 'CursorLineNr', { fg = '{{colors.primary.default.hex}}', bold = true })
|
||||
|
||||
local current_file_path = vim.fn.stdpath("config") .. "/lua/plugins/dankcolors.lua"
|
||||
|
||||
if not _G._matugen_theme_watcher then
|
||||
local uv = vim.uv or vim.loop
|
||||
_G._matugen_theme_watcher = uv.new_fs_event()
|
||||
|
||||
_G._matugen_theme_watcher:start(current_file_path, {}, vim.schedule_wrap(function()
|
||||
local new_spec = dofile(current_file_path)
|
||||
|
||||
if new_spec and new_spec[1] and new_spec[1].config then
|
||||
new_spec[1].config()
|
||||
print(" Matugen: Colors reloaded!")
|
||||
end
|
||||
end))
|
||||
end
|
||||
end
|
||||
}
|
||||
}
|
||||
@@ -548,7 +548,7 @@
|
||||
{
|
||||
"term": "Audio Codec Selection",
|
||||
"context": "Audio Codec Selection",
|
||||
"reference": "Modules/ControlCenter/Details/BluetoothCodecSelector.qml:173",
|
||||
"reference": "Modules/ControlCenter/Details/BluetoothCodecSelector.qml:180",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -848,7 +848,7 @@
|
||||
{
|
||||
"term": "Battery",
|
||||
"context": "Battery",
|
||||
"reference": "Modules/Settings/WidgetsTabSection.qml:838, Modules/Settings/WidgetsTab.qml:168, Modules/ControlCenter/Models/WidgetModel.qml:161, Modules/ControlCenter/Widgets/BatteryPill.qml:19",
|
||||
"reference": "Modules/Settings/WidgetsTabSection.qml:838, Modules/Settings/WidgetsTab.qml:168, Modules/ControlCenter/Models/WidgetModel.qml:161, Modules/ControlCenter/Widgets/BatteryPill.qml:17",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -884,7 +884,7 @@
|
||||
{
|
||||
"term": "Binds include added",
|
||||
"context": "Binds include added",
|
||||
"reference": "Services/KeybindsService.qml:217",
|
||||
"reference": "Services/KeybindsService.qml:218",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -1118,7 +1118,7 @@
|
||||
{
|
||||
"term": "Capacity",
|
||||
"context": "Capacity",
|
||||
"reference": "Modules/ControlCenter/Details/BatteryDetail.qml:171, Modules/DankBar/Popouts/BatteryPopout.qml:340, Modules/DankBar/Popouts/BatteryPopout.qml:498",
|
||||
"reference": "Modules/ControlCenter/Details/BatteryDetail.qml:169, Modules/DankBar/Popouts/BatteryPopout.qml:340, Modules/DankBar/Popouts/BatteryPopout.qml:498",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -1172,7 +1172,7 @@
|
||||
{
|
||||
"term": "Charging",
|
||||
"context": "Charging",
|
||||
"reference": "Modules/ControlCenter/Widgets/BatteryPill.qml:27",
|
||||
"reference": "Modules/ControlCenter/Widgets/BatteryPill.qml:25",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -1196,7 +1196,7 @@
|
||||
{
|
||||
"term": "Choose a color",
|
||||
"context": "Choose a color",
|
||||
"reference": "Modules/ControlCenter/Widgets/ColorPickerPill.qml:18",
|
||||
"reference": "Modules/ControlCenter/Widgets/ColorPickerPill.qml:14",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -1412,7 +1412,7 @@
|
||||
{
|
||||
"term": "Color Picker",
|
||||
"context": "Color Picker",
|
||||
"reference": "Modules/Settings/WidgetsTab.qml:231, Modules/ControlCenter/Models/WidgetModel.qml:179, Modules/ControlCenter/Widgets/ColorPickerPill.qml:17",
|
||||
"reference": "Modules/Settings/WidgetsTab.qml:231, Modules/ControlCenter/Models/WidgetModel.qml:179, Modules/ControlCenter/Widgets/ColorPickerPill.qml:13",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -1760,7 +1760,7 @@
|
||||
{
|
||||
"term": "Current: %1",
|
||||
"context": "Current: %1",
|
||||
"reference": "Modules/ControlCenter/Details/BluetoothCodecSelector.qml:189",
|
||||
"reference": "Modules/ControlCenter/Details/BluetoothCodecSelector.qml:194",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -2186,7 +2186,7 @@
|
||||
{
|
||||
"term": "Disk Usage",
|
||||
"context": "Disk Usage",
|
||||
"reference": "Modules/Settings/WidgetsTab.qml:116, Modules/ControlCenter/Models/WidgetModel.qml:169, Modules/ControlCenter/Widgets/DiskUsagePill.qml:37",
|
||||
"reference": "Modules/Settings/WidgetsTab.qml:116, Modules/ControlCenter/Models/WidgetModel.qml:169, Modules/ControlCenter/Widgets/DiskUsagePill.qml:35",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -2666,7 +2666,7 @@
|
||||
{
|
||||
"term": "Failed to add binds include",
|
||||
"context": "Failed to add binds include",
|
||||
"reference": "Services/KeybindsService.qml:204",
|
||||
"reference": "Services/KeybindsService.qml:205",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -2834,7 +2834,7 @@
|
||||
{
|
||||
"term": "Failed to remove keybind",
|
||||
"context": "Failed to remove keybind",
|
||||
"reference": "Services/KeybindsService.qml:181",
|
||||
"reference": "Services/KeybindsService.qml:182",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -2864,7 +2864,7 @@
|
||||
{
|
||||
"term": "Failed to save keybind",
|
||||
"context": "Failed to save keybind",
|
||||
"reference": "Services/KeybindsService.qml:155",
|
||||
"reference": "Services/KeybindsService.qml:156",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -2894,13 +2894,13 @@
|
||||
{
|
||||
"term": "Failed to set profile image",
|
||||
"context": "Failed to set profile image",
|
||||
"reference": "Services/PortalService.qml:150",
|
||||
"reference": "Services/PortalService.qml:145",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"term": "Failed to set profile image: %1",
|
||||
"context": "Failed to set profile image: %1",
|
||||
"reference": "Services/PortalService.qml:159",
|
||||
"reference": "Services/PortalService.qml:154",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -3155,6 +3155,12 @@
|
||||
"reference": "Widgets/DankIconPicker.qml:60",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"term": "G: grid • Z/X: size",
|
||||
"context": "Widget grid keyboard hints",
|
||||
"reference": "Modules/Plugins/DesktopPluginWrapper.qml:582",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"term": "GPU",
|
||||
"context": "GPU",
|
||||
@@ -3245,6 +3251,18 @@
|
||||
"reference": "Modules/Settings/LauncherTab.qml:330",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"term": "Grid: OFF",
|
||||
"context": "Widget grid snap status",
|
||||
"reference": "Modules/Plugins/DesktopPluginWrapper.qml:552",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"term": "Grid: ON",
|
||||
"context": "Widget grid snap status",
|
||||
"reference": "Modules/Plugins/DesktopPluginWrapper.qml:552",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"term": "Group by App",
|
||||
"context": "Group by App",
|
||||
@@ -3284,7 +3302,7 @@
|
||||
{
|
||||
"term": "Health",
|
||||
"context": "Health",
|
||||
"reference": "Modules/ControlCenter/Details/BatteryDetail.qml:136, Modules/DankBar/Popouts/BatteryPopout.qml:305, Modules/DankBar/Popouts/BatteryPopout.qml:461",
|
||||
"reference": "Modules/ControlCenter/Details/BatteryDetail.qml:134, Modules/DankBar/Popouts/BatteryPopout.qml:305, Modules/DankBar/Popouts/BatteryPopout.qml:461",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -3788,7 +3806,7 @@
|
||||
{
|
||||
"term": "Loading codecs...",
|
||||
"context": "Loading codecs...",
|
||||
"reference": "Modules/ControlCenter/Details/BluetoothCodecSelector.qml:189",
|
||||
"reference": "Modules/ControlCenter/Details/BluetoothCodecSelector.qml:194",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -3926,7 +3944,7 @@
|
||||
{
|
||||
"term": "Management",
|
||||
"context": "Management",
|
||||
"reference": "Modules/ControlCenter/Details/BatteryDetail.qml:84",
|
||||
"reference": "Modules/ControlCenter/Details/BatteryDetail.qml:82",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -4448,7 +4466,7 @@
|
||||
{
|
||||
"term": "No battery",
|
||||
"context": "No battery",
|
||||
"reference": "Modules/ControlCenter/Widgets/BatteryPill.qml:17",
|
||||
"reference": "Modules/ControlCenter/Widgets/BatteryPill.qml:15",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -4478,13 +4496,13 @@
|
||||
{
|
||||
"term": "No disk data",
|
||||
"context": "No disk data",
|
||||
"reference": "Modules/ControlCenter/Widgets/DiskUsagePill.qml:40",
|
||||
"reference": "Modules/ControlCenter/Widgets/DiskUsagePill.qml:38",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"term": "No disk data available",
|
||||
"context": "No disk data available",
|
||||
"reference": "Modules/ControlCenter/Details/DiskUsageDetail.qml:64, Modules/ControlCenter/Widgets/DiskUsagePill.qml:50",
|
||||
"reference": "Modules/ControlCenter/Details/DiskUsageDetail.qml:62, Modules/ControlCenter/Widgets/DiskUsagePill.qml:48",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -4586,7 +4604,7 @@
|
||||
{
|
||||
"term": "Not available",
|
||||
"context": "Not available",
|
||||
"reference": "Modules/ControlCenter/Widgets/BatteryPill.qml:24",
|
||||
"reference": "Modules/ControlCenter/Widgets/BatteryPill.qml:22",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -4940,7 +4958,7 @@
|
||||
{
|
||||
"term": "Permission denied to set profile image.",
|
||||
"context": "Permission denied to set profile image.",
|
||||
"reference": "Services/PortalService.qml:155",
|
||||
"reference": "Services/PortalService.qml:150",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -5018,7 +5036,7 @@
|
||||
{
|
||||
"term": "Plugged in",
|
||||
"context": "Plugged in",
|
||||
"reference": "Modules/ControlCenter/Widgets/BatteryPill.qml:30",
|
||||
"reference": "Modules/ControlCenter/Widgets/BatteryPill.qml:28",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -5084,7 +5102,7 @@
|
||||
{
|
||||
"term": "Power",
|
||||
"context": "Power",
|
||||
"reference": "Modules/Settings/WidgetsTab.qml:245, Modules/ControlCenter/Details/BatteryDetail.qml:69",
|
||||
"reference": "Modules/Settings/WidgetsTab.qml:245, Modules/ControlCenter/Details/BatteryDetail.qml:67",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -5132,13 +5150,13 @@
|
||||
{
|
||||
"term": "Power Profile Degradation",
|
||||
"context": "Power Profile Degradation",
|
||||
"reference": "Modules/ControlCenter/Details/BatteryDetail.qml:242, Modules/DankBar/Popouts/BatteryPopout.qml:620",
|
||||
"reference": "Modules/ControlCenter/Details/BatteryDetail.qml:240, Modules/DankBar/Popouts/BatteryPopout.qml:620",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"term": "Power profile management available",
|
||||
"context": "Power profile management available",
|
||||
"reference": "Modules/ControlCenter/Details/BatteryDetail.qml:103",
|
||||
"reference": "Modules/ControlCenter/Details/BatteryDetail.qml:101",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -5276,13 +5294,13 @@
|
||||
{
|
||||
"term": "Profile Image Error",
|
||||
"context": "Profile Image Error",
|
||||
"reference": "Services/PortalService.qml:162",
|
||||
"reference": "Services/PortalService.qml:157",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"term": "Profile image is too large. Please use a smaller image.",
|
||||
"context": "Profile image is too large. Please use a smaller image.",
|
||||
"reference": "Services/PortalService.qml:153",
|
||||
"reference": "Services/PortalService.qml:148",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -5876,7 +5894,7 @@
|
||||
{
|
||||
"term": "Selected image file not found.",
|
||||
"context": "Selected image file not found.",
|
||||
"reference": "Services/PortalService.qml:157",
|
||||
"reference": "Services/PortalService.qml:152",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -6752,13 +6770,13 @@
|
||||
{
|
||||
"term": "Time remaining: %1",
|
||||
"context": "Time remaining: %1",
|
||||
"reference": "Modules/ControlCenter/Details/BatteryDetail.qml:106",
|
||||
"reference": "Modules/ControlCenter/Details/BatteryDetail.qml:104",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"term": "Time until full: %1",
|
||||
"context": "Time until full: %1",
|
||||
"reference": "Modules/ControlCenter/Details/BatteryDetail.qml:106",
|
||||
"reference": "Modules/ControlCenter/Details/BatteryDetail.qml:104",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -6950,7 +6968,7 @@
|
||||
{
|
||||
"term": "Unknown",
|
||||
"context": "Unknown",
|
||||
"reference": "Modules/Settings/PrinterTab.qml:1296, Modules/Settings/NetworkTab.qml:121, Modules/Settings/NetworkTab.qml:163, Modules/Settings/NetworkTab.qml:369, Modules/Settings/NetworkTab.qml:390, Modules/Settings/NetworkTab.qml:538, Modules/Settings/NetworkTab.qml:667, Modules/Settings/NetworkTab.qml:1071, Modules/ControlCenter/Details/BatteryDetail.qml:179, Modules/ControlCenter/Components/HeaderPane.qml:60",
|
||||
"reference": "Modules/Settings/PrinterTab.qml:1296, Modules/Settings/NetworkTab.qml:121, Modules/Settings/NetworkTab.qml:163, Modules/Settings/NetworkTab.qml:369, Modules/Settings/NetworkTab.qml:390, Modules/Settings/NetworkTab.qml:538, Modules/Settings/NetworkTab.qml:667, Modules/Settings/NetworkTab.qml:1071, Modules/ControlCenter/Details/BatteryDetail.qml:177, Modules/ControlCenter/Components/HeaderPane.qml:60",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -7592,7 +7610,7 @@
|
||||
{
|
||||
"term": "dgop not available",
|
||||
"context": "dgop not available",
|
||||
"reference": "Modules/ControlCenter/Details/DiskUsageDetail.qml:64, Modules/ControlCenter/Widgets/DiskUsagePill.qml:47",
|
||||
"reference": "Modules/ControlCenter/Details/DiskUsageDetail.qml:62, Modules/ControlCenter/Widgets/DiskUsagePill.qml:45",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
@@ -7604,7 +7622,7 @@
|
||||
{
|
||||
"term": "dms/binds.kdl is now included in config.kdl",
|
||||
"context": "dms/binds.kdl is now included in config.kdl",
|
||||
"reference": "Services/KeybindsService.qml:217",
|
||||
"reference": "Services/KeybindsService.qml:218",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -3681,6 +3681,13 @@
|
||||
"reference": "",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"term": "G: grid • Z/X: size",
|
||||
"translation": "",
|
||||
"context": "Widget grid keyboard hints",
|
||||
"reference": "",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"term": "GPU",
|
||||
"translation": "",
|
||||
@@ -3786,6 +3793,20 @@
|
||||
"reference": "",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"term": "Grid: OFF",
|
||||
"translation": "",
|
||||
"context": "Widget grid snap status",
|
||||
"reference": "",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"term": "Grid: ON",
|
||||
"translation": "",
|
||||
"context": "Widget grid snap status",
|
||||
"reference": "",
|
||||
"comment": ""
|
||||
},
|
||||
{
|
||||
"term": "Group by App",
|
||||
"translation": "",
|
||||
|
||||
Reference in New Issue
Block a user