From ee622ed9026b7cbec84499d908c1ff515a92ba27 Mon Sep 17 00:00:00 2001 From: Nathan Woodburn Date: Sat, 19 Apr 2025 17:42:27 +1000 Subject: [PATCH] feat: Add some more themeing --- .config/.gitignore | 2 + .../btop@5hubham5ingh.js | 180 ++++++ .../vsCode@5hubham5ingh.js | 534 ++++++++++++++++++ .config/btop/btop.conf | 249 ++++++++ .config/btop/btop.log | 91 +++ .config/btop/themes/WallRizz.theme | 86 +++ .config/btop/themes/catppuccin_frappe.theme | 42 ++ .config/btop/themes/catppuccin_latte.theme | 42 ++ .../btop/themes/catppuccin_macchiato.theme | 42 ++ .config/btop/themes/catppuccin_mocha.theme | 42 ++ .config/hypr/WallRizzTheme.conf | 1 + .config/hypr/hyprland.conf | 2 +- 12 files changed, 1312 insertions(+), 1 deletion(-) create mode 100644 .config/WallRizz/themeExtensionScripts/btop@5hubham5ingh.js create mode 100644 .config/WallRizz/themeExtensionScripts/vsCode@5hubham5ingh.js create mode 100644 .config/btop/btop.conf create mode 100644 .config/btop/btop.log create mode 100644 .config/btop/themes/WallRizz.theme create mode 100644 .config/btop/themes/catppuccin_frappe.theme create mode 100644 .config/btop/themes/catppuccin_latte.theme create mode 100644 .config/btop/themes/catppuccin_macchiato.theme create mode 100644 .config/btop/themes/catppuccin_mocha.theme create mode 100644 .config/hypr/WallRizzTheme.conf diff --git a/.config/.gitignore b/.config/.gitignore index ad548e6..758cec8 100644 --- a/.config/.gitignore +++ b/.config/.gitignore @@ -24,3 +24,5 @@ !hyprpanel/** !WallRizz !WallRizz/** +!btop +!btop/** diff --git a/.config/WallRizz/themeExtensionScripts/btop@5hubham5ingh.js b/.config/WallRizz/themeExtensionScripts/btop@5hubham5ingh.js new file mode 100644 index 0000000..a09a4ae --- /dev/null +++ b/.config/WallRizz/themeExtensionScripts/btop@5hubham5ingh.js @@ -0,0 +1,180 @@ +/* + For: Btop, https://github.com/aristocratos/btop + Author: https://github.com/5hubham5ingh + Version: 0.0.1 + Prerequisite: Edit the ~/.config/btop/btop.conf file to add this line- + color_theme = "WallRizz.theme" + + Note: The theme only takes effect after restarting btop. +*/ + +function generateTheme(colors, isDark) { + const sortedColors = colors.sort((a, b) => { + const la = Color(a).getLuminance(); + const lb = Color(b).getLuminance(); + return isDark ? la - lb : lb - la; + }); + + const background = sortedColors[0]; + const foreground = sortedColors[colors.length - 1]; + + const midIndex = Math.floor(sortedColors.length / 2); + const selection = sortedColors[midIndex]; + const cursor = isDark + ? sortedColors[Math.floor(midIndex / 2)] + : sortedColors[Math.floor(midIndex * 1.5)]; + + const black = isDark + ? sortedColors[1] + : sortedColors[sortedColors.length - 2]; + const white = isDark + ? sortedColors[sortedColors.length - 2] + : sortedColors[1]; + + return Object.assign( + { + background, + foreground, + selection, + cursor, + black, + white, + }, + ...sortedColors.filter( + (color) => + color !== selection || + color !== cursor, + ) + .map((color, i) => ({ + [`color${i + 1}`]: adjustColorForReadability(background, color), + })), + ); +} + +function adjustColorForReadability(background, foreground) { + const fg = Color(foreground); + while (!Color.isReadable(background, foreground)) { + fg.brighten(1).saturate(1); + const hex = fg.toHex(); + if (hex === "000000" || hex === "ffffff") { + return Color(foreground).brighten().saturate().toHexString(); + } + } + + return fg.toHexString(); +} + +function generateBtopConfig(theme) { + const config = ` +# Main background +theme[main_bg]="${theme.background}" + +# Main text color +theme[main_fg]="${theme.foreground}" + +# Title color for boxes +theme[title]="${theme.foreground}" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="${theme.color1}" + +# Background color of selected items +theme[selected_bg]="${theme.selection}" + +# Foreground color of selected items +theme[selected_fg]="${theme.color3}" + +# Color of inactive/disabled text +theme[inactive_fg]="${theme.black}" + +# Color of text appearing on top of graphs +theme[graph_text]="${theme.foreground}" + +# Misc colors for processes box +theme[proc_misc]="${theme.color2}" + +# CPU box outline color +theme[cpu_box]="${theme.selection}" + +# Memory/disks box outline color +theme[mem_box]="${theme.selection}" + +# Network up/down box outline color +theme[net_box]="${theme.selection}" + +# Processes box outline color +theme[proc_box]="${theme.selection}" + +# Box divider lines and small box borders +theme[div_line]="${theme.selection}" + +# Temperature graph colors +theme[temp_start]="${theme.color2}" +theme[temp_mid]="${theme.color3}" +theme[temp_end]="${theme.color1}" + +# CPU graph colors +theme[cpu_start]="${theme.color2}" +theme[cpu_mid]="${theme.color3}" +theme[cpu_end]="${theme.color1}" + +# Mem/Disk free meter +theme[free_start]="${theme.color1}" +theme[free_mid]="${theme.color3}" +theme[free_end]="${theme.color2}" + +# Mem/Disk cached meter +theme[cached_start]="${theme.color6}" +theme[cached_mid]="${theme.color2}" +theme[cached_end]="${theme.color3}" + +# Mem/Disk available meter +theme[available_start]="${theme.color1}" +theme[available_mid]="${theme.color3}" +theme[available_end]="${theme.color2}" + +# Mem/Disk used meter +theme[used_start]="${theme.color2}" +theme[used_mid]="${theme.color3}" +theme[used_end]="${theme.color1}" + +# Download graph colors +theme[download_start]="${theme.color2}" +theme[download_mid]="${theme.color6}" +theme[download_end]="${theme.color4}" + +# Upload graph colors +theme[upload_start]="${theme.color3}" +theme[upload_mid]="${theme.color5}" +theme[upload_end]="${theme.color1}" + +# Process box color gradient for threads, mem and cpu usage +theme[process_start]="${theme.color2}" +theme[process_mid]="${theme.color1}" +theme[process_end]="${theme.color4}" +`.trim(); + + return config; +} + +function getDarkThemeConf(colors) { + const theme = generateTheme(colors, true); + return generateBtopConfig(theme, true); +} + +function getLightThemeConf(colors) { + const theme = generateTheme(colors, false); + return generateBtopConfig(theme, false); +} + +function setTheme(themeConfPath) { + const btopThemeConf = STD.open( + HOME_DIR.concat("/.config/btop/themes/WallRizz.theme"), + "w+", + ); + const conf = STD.loadFile(themeConfPath); + btopThemeConf.puts(conf); + btopThemeConf.close(); +} + +export { getDarkThemeConf, getLightThemeConf, setTheme }; diff --git a/.config/WallRizz/themeExtensionScripts/vsCode@5hubham5ingh.js b/.config/WallRizz/themeExtensionScripts/vsCode@5hubham5ingh.js new file mode 100644 index 0000000..c2cacca --- /dev/null +++ b/.config/WallRizz/themeExtensionScripts/vsCode@5hubham5ingh.js @@ -0,0 +1,534 @@ +/* + For: Visual studio code + Author: https://github.com/5hubham5ingh + Prerequisite: Installed and enabled WallRizz-theme in vscode from vscode marketplace. + Version: 1.0.0 + */ + +function generateTheme(colors, isDark) { + const sortedColors = colors.sort((a, b) => { + const la = Color(a).getLuminance(); + const lb = Color(b).getLuminance(); + return isDark ? la - lb : lb - la; + }); + + const background = sortedColors[0]; + const foreground = sortedColors[colors.length - 1]; + + const midIndex = Math.floor(sortedColors.length / 2); + const selection = sortedColors[midIndex]; + const cursor = isDark + ? sortedColors[Math.floor(midIndex / 2)] + : sortedColors[Math.floor(midIndex * 1.5)]; + + const black = isDark + ? sortedColors[1] + : sortedColors[sortedColors.length - 2]; + const white = isDark + ? sortedColors[sortedColors.length - 2] + : sortedColors[1]; + + return Object.assign( + { + background, + foreground, + selection, + cursor, + black, + white, + }, + ...sortedColors.filter( + (color) => + color !== selection || + color !== cursor, + ) + .map((color, i) => ({ + [`color${i + 1}`]: adjustColorForReadability(background, color), + })), + ); +} + +function adjustColorForReadability(background, foreground) { + const fg = Color(foreground); + while (!Color.isReadable(background, foreground)) { + fg.brighten(1).saturate(1); + const hex = fg.toHex(); + if (hex === "000000" || hex === "ffffff") { + return Color(foreground).brighten().saturate().toHexString(); + } + } + + return fg.toHexString(); +} + +function generateThemeConfig(theme, isDark) { + const vscodeTheme = { + "name": "WallWiz Theme", + "semanticHighlighting": true, + "colors": { + // General + "editor.background": isDark + ? Color(theme.background).darken().toHexString() + : Color(theme.background).lighten().toHexString(), + "editor.foreground": theme.foreground, + "textLink.foreground": "#569cd6", + "textLink.activeForeground": "#569cd6", + "editor.selectionForeground": theme.foreground, + "editorCursor.foreground": theme.cursor, + + // Title Bar + "titleBar.activeBackground": theme.background, + "titleBar.activeForeground": theme.foreground, + "titleBar.inactiveBackground": Color(theme.background).lighten() + .toHexString(), + "titleBar.inactiveForeground": Color(theme.foreground).lighten() + .toHexString(), + + // Side Bar + "sideBar.background": theme.black, + "sideBar.foreground": theme.foreground, + + // Status bar + "statusBar.background": theme.background, + "statusBar.foreground": theme.foreground, + "statusBar.debuggingBackground": Color(theme.background).brighten() + .saturate() + .toHexString(), + "statusBar.debuggingForeground": Color(theme.foreground).brighten() + .saturate() + .toHexString(), + "statusBar.border": "#000", + + // Activity bar + "activityBar.background": theme.background, + "activityBar.foreground": theme.foreground, + "activityBar.activeBorder": Color(theme.background).brighten() + .toHexString(), + "activityBar.inactiveForeground": Color(theme.foreground).lighten() + .toHexString(), + "activityBar.activeFocusBorder": theme.white, + "activityBar.border": theme.black, + + // Remove borders + "tab.border": "#00000000", + "sideBar.border": "#00000000", + "panel.border": "#00000000", + "titleBar.border": "#00000000", + "focusBorder": "#00000000", + "window.activeBorder": "#00000000", + "contrastBorder": "#00000000", + + // Set borders to white (unless covered by another section) + "button.border": theme.white, + "input.border": theme.white, + "dropdown.border": theme.white, + "editor.lineHighlightBorder": theme.white, + "editor.selectionBackground": theme.white, + "editor.findMatchHighlightBorder": theme.white, // another way to show would be nice + + // Panel + "panelTitle.inactiveForeground": theme.white, + "panelTitle.activeForeground": theme.white, + + // Badges + "activityBarBadge.background": theme.white, + "activityBarBadge.foreground": theme.black, + "badge.background": theme.white, + "badge.foreground": theme.black, + + // List + "list.activeSelectionIconForeground": theme.background, + "list.focusHighlightForeground": theme.foreground, + "list.activeSelectionBackground": theme.white, + "list.activeSelectionForeground": theme.background, + "list.dropBackground": theme.white, + "list.focusBackground": theme.white, + "list.focusForeground": theme.black, + "list.highlightForeground": theme.background, + "list.hoverBackground": theme.white, + "list.hoverForeground": theme.black, + "list.inactiveSelectionBackground": theme.background, + "list.inactiveSelectionForeground": theme.foreground, + "list.inactiveSelectionIconForeground": theme.black, + "list.matchHighlightBackground": theme.cursor, + "list.matchHighlightForeground": theme.black, + "list.selectionBackground": theme.white, + "list.selectionForeground": theme.black, + "list.selectionIconForeground": theme.black, + "list.warningForeground": theme.cursor, + + // Inlay type inferences + "editorInlayHint.background": "#000", + "editorInlayHint.foreground": Color(theme.color1).lighten().toHexString(), + + // Editor tabs + "tab.inactiveBackground": theme.black, + "tab.inactiveForeground": theme.foreground, + "tab.activeBackground": theme.background, + "tab.activeForeground": theme.foreground, + "tab.activeBorder": "#000", + "editorGroupHeader.tabsBackground": theme.black, + "sideBySideEditor.horizontalBorder": theme.black, + "sideBySideEditor.verticalBorder": theme.black, + + // Errors + "editorWarning.background": "#ffb51669", + "editorError.background": "#ff000069", + + // Line nums + "editorLineNumber.activeForeground": theme.background, + "editorLineNumber.foreground": theme.foreground, + + // Peek view + "peekView.border": theme.background, + "peekViewEditor.background": theme.black, + "peekViewResult.background": theme.background, + "peekViewTitle.background": theme.background, + "peekViewEditor.matchHighlightBackground": theme.white, + "peekViewTitleDescription.foreground": theme.foreground, + + // Menu bar + "menubar.selectionForeground": "#000", + "menubar.selectionBackground": "#fff", + "menu.border": "#000", + + // Notifications center + "notificationCenter.border": "#fff", + "notificationCenterHeader.background": "#000", + "notificationCenterHeader.foreground": "#fff", + + // Notifications + "notifications.background": theme.background, + "notifications.foreground": theme.foreground, + + // Quick picker + "quickInput.background": "#000", + "quickInput.foreground": "#fff", + "quickInputList.focusBackground": "#fff", + "quickInputList.focusForeground": "#000", + "quickInputList.focusIconForeground": "#000", + "pickerGroup.border": "#fff", + + // Symbol icons (outline, breadcrumbs, suggest) + "symbolIcon.classForeground": "#4EC9B0", + "symbolIcon.structForeground": "#4EC9B0", + "symbolIcon.enumeratorForeground": "#4EC9B0", + "symbolIcon.enumeratorMemberForeground": "#9CDCFE", + "symbolIcon.constantForeground": "#9CDCFE", + "symbolIcon.moduleForeground": "#fff", + "symbolIcon.functionForeground": "#FFEC8B", + "symbolIcon.methodForeground": "#FFEC8B", + "symbolIcon.objectForeground": "#F1644B", // impl block + "symbolIcon.typeParameterForeground": "#4EC9B0", + + // Scrollbar + "scrollbarSlider.background": "#ffffff69", + "scrollbarSlider.hoverBackground": "#fff", + "scrollbarSlider.activeBackground": "#fff", + + // Settings + "keybindingTable.rowsBackground": "#000", + "keybindingLabel.bottomBorder": "#000", + + // Keybinding label colors + "keybindingLabel.foreground": "#000", + "keybindingLabel.background": "#fff", + "keybindingLabel.border": "#fff", + + // Terminal + "terminal.findMatchBackground": "#fff", + "terminal.findMatchHighlightBorder": "#ffffff69", + "terminal.selectionForeground": "#000", + "terminal.selectionBackground": "#fff", + "terminal.foreground": "#fff", + "terminal.background": "#000", + + // Widgets + "editorWidget.border": "#fff", + "editorWidget.background": "#000", + "editorHoverWidget.background": "#000", + "editorHoverWidget.foreground": "#fff", + "editorHoverWidget.border": "#fff", + + // Jupyter + "notebook.cellBorderColor": "#ffffff69", + "notebook.focusedEditorBorder": "#fff", + "notebook.outputContainerBorderColor": "#ffffff69", + }, + "tokenColors": [ + { + "scope": [ + "", + "meta.selector", + "keyword", + "keyword.other", + "keyword.control.directive", + "punctuation.section.directive", + ], + "settings": { + "foreground": theme.color1, + "fontStyle": "bold", + }, + }, + { + "scope": [ + "keyword.operator.quantifier.regexp", + "punctuation.definition.tag", + "keyword.control", + "punctuation.separator", + "punctuation.terminator", + "punctuation.accessor", + "punctuation.bracket", + "punctuation.section", + ], + "settings": { + "foreground": theme.color2, + }, + }, + { + "scope": [ + "support.other.escape.special.regexp", + "constant.character.escape.regexp", + "constant.language", + "meta.preprocessor", + "constant.other.placeholder", + "constant.character", + "keyword.other.special-method", + ], + "settings": { + "foreground": theme.color3, + }, + }, + { + "scope": [ + "meta.character.set.regexp", + "meta.preprocessor.string", + "string.regexp", + "constant.character.escape", + "constant.other.character-class.regexp", + ], + "settings": { + "foreground": theme.color4, + }, + }, + { + "scope": [ + "meta.function.decorator.python", + "entity.name.function.decorator.python", + "source.css entity.other.attribute-name", + "source.css.less entity.other.attribute-name.id", + "source.scss entity.other.attribute-name", + "meta.preprocessor.numeric", + "keyword.operator", + "keyword.control.conditional", + "keyword.operator.logical", + "keyword.operator.comparison", + ], + "settings": { + "foreground": theme.color5, + "fontStyle": "italic", + }, + }, + { + "scope": [ + "meta.attribute", + "meta.item-access", + "meta.structure.dictionary.key.python", + "invalid", + "variable", + "meta.definition.variable.name", + "support.variable", + "entity.name.variable", + "variable.parameter", + "variable.other", + "variable.language", + ], + "settings": { + "foreground": theme.color6, + }, + }, + { + "scope": [ + "meta.function-call", + "storage", + "markup.heading", + "keyword.other.unit", + "meta.object-literal.key", + "meta.object-literal.key entity.name.function", + "entity.name.function.call", + "support.function", + ], + "settings": { + "foreground": theme.background, + }, + }, + { + "scope": [ + "meta.diff.header", + "markup.inserted", + "storage.type", + "support.constant.property-value", + "support.constant.font-name", + "support.constant.media-type", + "support.constant.media", + "constant.other.color.rgb-value", + "constant.other.rgb-value", + "support.constant.color", + "storage.type.primitive", + ], + "settings": { + "foreground": theme.white, + }, + }, + { + "scope": [ + "markup.deleted", + "storage.modifier", + "constant.sha.git-rebase", + "keyword.control.flow", + "keyword.control.import", + ], + "settings": { + "foreground": theme.color9, + }, + }, + { + "scope": [ + "markup.changed", + "string", + "storage.modifier.import.java", + "variable.language.wildcard.java", + "storage.modifier.package.java", + "string.quoted", + "string.interpolated", + "string.template", + ], + "settings": { + "foreground": theme.color10, + }, + }, + { + "scope": [ + "constant.numeric", + "constant.other.color.rgb-value", + "constant.other.rgb-value", + "support.constant.color", + "string.tag", + "variable.language.this", + "constant.language.boolean", + "constant.language.null", + ], + "settings": { + "foreground": theme.color11, + }, + }, + { + "scope": [ + "entity.name.tag", + "string.value", + "entity.name.function", + "support.function", + "support.constant.handlebars", + "meta.function.identifier", + ], + "settings": { + "foreground": theme.foreground, + }, + }, + { + "scope": [ + "entity.name.tag.css", + "punctuation.definition.template-expression.begin.js", + "punctuation.definition.template-expression.begin.ts", + "punctuation.definition.template-expression.end.ts", + "punctuation.definition.template-expression.end.js", + "meta.return-type", + "support.class", + "support.type", + "entity.name.type", + "entity.name.class", + "source.cs storage.type", + "storage.type.class", + "storage.type.function", + ], + "settings": { + "foreground": theme.color13, + }, + }, + { + "scope": [ + "entity.other.attribute-name", + "support.type.vendored.property-name", + "support.type.property-name", + "variable.css", + "variable.scss", + "variable.other.less", + "meta.type.cast.expr", + "meta.type.new.expr", + "support.constant.math", + "support.constant.dom", + "support.constant.json", + "entity.other.inherited-class", + "support.type.property-name.json", + ], + "settings": { + "foreground": theme.color14, + }, + }, + { + "scope": [ + "mutable", + "storage.modifier.mut", + "emphasis", + "strong", + "markup.underline", + "markup.bold", + "markup.italic", + ], + "settings": { + "fontStyle": "underline bold italic", + }, + }, + { + "scope": [ + "comment", + "string.quoted.docstring", + "comment.line", + "comment.block", + ], + "settings": { + "foreground": "#292826", + }, + }, + ], + }; + + return JSON.stringify(vscodeTheme); +} + +function getDarkThemeConf(colors) { + const theme = generateTheme(colors, true); + return generateThemeConfig(theme, true); +} + +function getLightThemeConf(colors) { + const theme = generateTheme(colors, false); + return generateThemeConfig(theme, false); +} + +function setTheme( + themeConfPath, +) { + const config = STD.loadFile(themeConfPath); + const themeDir = + "/.vscode/extensions/ssdev.wallrizz-theme-0.0.6/themes/wallrizz-theme.json"; + const vscodeThemeFile = STD.open( + HOME_DIR.concat(themeDir), + "w", + ); + if (!vscodeThemeFile) return; + vscodeThemeFile.puts(config); + vscodeThemeFile.close(); +} + +export { getDarkThemeConf, getLightThemeConf, setTheme }; diff --git a/.config/btop/btop.conf b/.config/btop/btop.conf new file mode 100644 index 0000000..66932bc --- /dev/null +++ b/.config/btop/btop.conf @@ -0,0 +1,249 @@ +#? Config file for btop v. 1.4.0 + +#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. +#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" +#color_theme = "$HOME/.config/btop/themes/catppuccin_macchiato.theme" +color_theme = "WallRizz.theme" + +#* If the theme set background should be shown, set to False if you want terminal background transparency. +theme_background = False + +#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. +truecolor = True + +#* Set to true to force tty mode regardless if a real tty has been detected or not. +#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. +force_tty = False + +#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. +#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. +#* Use whitespace " " as separator between different presets. +#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" +presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" + +#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. +#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. +vim_keys = False + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = True + +#* Default symbols to use for graph creation, "braille", "block" or "tty". +#* "braille" offers the highest resolution but might not be included in all fonts. +#* "block" has half the resolution of braille but uses more common characters. +#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. +#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. +graph_symbol = "braille" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_cpu = "default" + +# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty". +graph_symbol_gpu = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_mem = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_net = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_proc = "default" + +#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. +shown_boxes = "cpu mem net" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 2000 + +#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", +#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. +proc_sorting = "cpu direct" + +#* Reverse sorting order, True or False. +proc_reversed = False + +#* Show processes as a tree. +proc_tree = False + +#* Use the cpu graph colors in the process list. +proc_colors = True + +#* Use a darkening gradient in the process list. +proc_gradient = True + +#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. +proc_per_core = False + +#* Show process memory as bytes instead of percent. +proc_mem_bytes = True + +#* Show cpu graph for each process. +proc_cpu_graphs = True + +#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) +proc_info_smaps = False + +#* Show proc box on left side of screen instead of right. +proc_left = False + +#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). +proc_filter_kernel = False + +#* In tree-view, always accumulate child process resources in the parent process. +proc_aggregate = False + +#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_upper = "total" + +#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_lower = "total" + +#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off". +show_gpu_info = "Auto" + +#* Toggles if the lower CPU graph should be inverted. +cpu_invert_lower = True + +#* Set to True to completely disable the lower CPU graph. +cpu_single_graph = False + +#* Show cpu box at bottom of screen instead of top. +cpu_bottom = False + +#* Shows the system uptime in the CPU box. +show_uptime = True + +#* Show cpu temperature. +check_temp = True + +#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. +cpu_sensor = "Auto" + +#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. +show_coretemp = True + +#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. +#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. +#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. +#* Example: "4:0 5:1 6:3" +cpu_core_map = "" + +#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". +temp_scale = "celsius" + +#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. +base_10_sizes = True + +#* Show CPU frequency. +show_cpu_freq = True + +#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. +#* Special formatting: /host = hostname | /user = username | /uptime = system uptime +clock_format = "%X" + +#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. +background_update = True + +#* Custom cpu model name, empty string to disable. +custom_cpu_name = "" + +#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". +#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user". +disks_filter = "" + +#* Show graphs instead of meters for memory values. +mem_graphs = True + +#* Show mem box below net box instead of above. +mem_below_net = False + +#* Count ZFS ARC in cached and available memory. +zfs_arc_cached = True + +#* If swap memory should be shown in memory box. +show_swap = True + +#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. +swap_disk = True + +#* If mem box should be split to also show disks info. +show_disks = True + +#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. +only_physical = True + +#* Read disks list from /etc/fstab. This also disables only_physical. +use_fstab = True + +#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) +zfs_hide_datasets = False + +#* Set to true to show available disk space for privileged users. +disk_free_priv = False + +#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. +show_io_stat = True + +#* Toggles io mode for disks, showing big graphs for disk read/write speeds. +io_mode = False + +#* Set to True to show combined read/write io graphs in io mode. +io_graph_combined = False + +#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". +#* Example: "/mnt/media:100 /:20 /boot:1". +io_graph_speeds = "" + +#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. +net_download = 100 + +net_upload = 100 + +#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. +net_auto = True + +#* Sync the auto scaling for download and upload to whichever currently has the highest scale. +net_sync = True + +#* Starts with the Network Interface specified here. +net_iface = "" + +#* Show battery stats in top right if battery is present. +show_battery = False + +#* Which battery to use if multiple are present. "Auto" for auto detection. +selected_battery = "Auto" + +#* Show power stats of battery next to charge indicator. +show_battery_watts = True + +#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". +#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. +log_level = "WARNING" + +#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. +nvml_measure_pcie_speeds = True + +#* Horizontally mirror the GPU graph. +gpu_mirror_graph = True + +#* Custom gpu0 model name, empty string to disable. +custom_gpu_name0 = "" + +#* Custom gpu1 model name, empty string to disable. +custom_gpu_name1 = "" + +#* Custom gpu2 model name, empty string to disable. +custom_gpu_name2 = "" + +#* Custom gpu3 model name, empty string to disable. +custom_gpu_name3 = "" + +#* Custom gpu4 model name, empty string to disable. +custom_gpu_name4 = "" + +#* Custom gpu5 model name, empty string to disable. +custom_gpu_name5 = "" diff --git a/.config/btop/btop.log b/.config/btop/btop.log new file mode 100644 index 0000000..871197e --- /dev/null +++ b/.config/btop/btop.log @@ -0,0 +1,91 @@ + +2025/04/03 (15:28:50) | ===> btop++ v.1.4.0 +2025/04/03 (15:28:50) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/03 (17:04:21) | ===> btop++ v.1.4.0 +2025/04/03 (17:04:21) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/03 (19:12:00) | ===> btop++ v.1.4.0 +2025/04/03 (19:12:00) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/03 (19:12:15) | ===> btop++ v.1.4.0 +2025/04/03 (19:12:15) | WARNING: Intel GPU: Failed to initialize PMU +2025/04/03 (19:12:39) | ERROR: Stall in Runner thread, restarting! + +2025/04/03 (19:13:16) | ===> btop++ v.1.4.0 +2025/04/03 (19:13:16) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/03 (19:13:17) | ===> btop++ v.1.4.0 +2025/04/03 (19:13:17) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/03 (19:13:24) | ===> btop++ v.1.4.0 +2025/04/03 (19:13:24) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/03 (19:42:15) | ===> btop++ v.1.4.0 +2025/04/03 (19:42:15) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/03 (19:59:14) | ===> btop++ v.1.4.0 +2025/04/03 (19:59:14) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/04 (12:20:48) | ===> btop++ v.1.4.0 +2025/04/04 (12:20:48) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/04 (12:35:50) | ===> btop++ v.1.4.0 +2025/04/04 (12:35:50) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/04 (17:08:48) | ===> btop++ v.1.4.0 +2025/04/04 (17:08:48) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/04 (18:17:39) | ===> btop++ v.1.4.0 +2025/04/04 (18:17:39) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/04 (18:30:39) | ===> btop++ v.1.4.0 +2025/04/04 (18:30:39) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/04 (18:32:11) | ===> btop++ v.1.4.0 +2025/04/04 (18:32:11) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/05 (14:07:19) | ===> btop++ v.1.4.0 +2025/04/05 (14:07:19) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/08 (12:20:25) | ===> btop++ v.1.4.0 +2025/04/08 (12:20:25) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/08 (14:28:39) | ===> btop++ v.1.4.0 +2025/04/08 (14:28:39) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/08 (22:53:43) | ===> btop++ v.1.4.0 +2025/04/08 (22:53:43) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/10 (15:24:50) | ===> btop++ v.1.4.0 +2025/04/10 (15:24:50) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/10 (16:02:00) | ===> btop++ v.1.4.0 +2025/04/10 (16:02:00) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/11 (13:53:22) | ===> btop++ v.1.4.0 +2025/04/11 (13:53:22) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/11 (14:05:35) | ===> btop++ v.1.4.0 +2025/04/11 (14:05:35) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/15 (11:56:11) | ===> btop++ v.1.4.0 +2025/04/15 (11:56:11) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/19 (16:03:55) | ===> btop++ v.1.4.0 +2025/04/19 (16:03:55) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/19 (17:13:46) | ===> btop++ v.1.4.0 +2025/04/19 (17:13:46) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/19 (17:13:56) | ===> btop++ v.1.4.0 +2025/04/19 (17:13:56) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/19 (17:14:03) | ===> btop++ v.1.4.0 +2025/04/19 (17:14:03) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/19 (17:17:05) | ===> btop++ v.1.4.0 +2025/04/19 (17:17:05) | WARNING: Intel GPU: Failed to initialize PMU + +2025/04/19 (17:17:40) | ===> btop++ v.1.4.0 +2025/04/19 (17:17:40) | WARNING: Intel GPU: Failed to initialize PMU diff --git a/.config/btop/themes/WallRizz.theme b/.config/btop/themes/WallRizz.theme new file mode 100644 index 0000000..772da53 --- /dev/null +++ b/.config/btop/themes/WallRizz.theme @@ -0,0 +1,86 @@ +# Main background +theme[main_bg]="#000000" + +# Main text color +theme[main_fg]="#ececed" + +# Title color for boxes +theme[title]="#ececed" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="#1b1616" + +# Background color of selected items +theme[selected_bg]="#807f81" + +# Foreground color of selected items +theme[selected_fg]="#3f323f" + +# Color of inactive/disabled text +theme[inactive_fg]="#000000" + +# Color of text appearing on top of graphs +theme[graph_text]="#ececed" + +# Misc colors for processes box +theme[proc_misc]="#1b1616" + +# CPU box outline color +theme[cpu_box]="#807f81" + +# Memory/disks box outline color +theme[mem_box]="#807f81" + +# Network up/down box outline color +theme[net_box]="#807f81" + +# Processes box outline color +theme[proc_box]="#807f81" + +# Box divider lines and small box borders +theme[div_line]="#807f81" + +# Temperature graph colors +theme[temp_start]="#1b1616" +theme[temp_mid]="#3f323f" +theme[temp_end]="#1b1616" + +# CPU graph colors +theme[cpu_start]="#1b1616" +theme[cpu_mid]="#3f323f" +theme[cpu_end]="#1b1616" + +# Mem/Disk free meter +theme[free_start]="#1b1616" +theme[free_mid]="#3f323f" +theme[free_end]="#1b1616" + +# Mem/Disk cached meter +theme[cached_start]="#3e3e4d" +theme[cached_mid]="#1b1616" +theme[cached_end]="#3f323f" + +# Mem/Disk available meter +theme[available_start]="#1b1616" +theme[available_mid]="#3f323f" +theme[available_end]="#1b1616" + +# Mem/Disk used meter +theme[used_start]="#1b1616" +theme[used_mid]="#3f323f" +theme[used_end]="#1b1616" + +# Download graph colors +theme[download_start]="#1b1616" +theme[download_mid]="#3e3e4d" +theme[download_end]="#3f323f" + +# Upload graph colors +theme[upload_start]="#3f323f" +theme[upload_mid]="#3e3e4d" +theme[upload_end]="#1b1616" + +# Process box color gradient for threads, mem and cpu usage +theme[process_start]="#1b1616" +theme[process_mid]="#1b1616" +theme[process_end]="#3f323f" \ No newline at end of file diff --git a/.config/btop/themes/catppuccin_frappe.theme b/.config/btop/themes/catppuccin_frappe.theme new file mode 100644 index 0000000..000a9b0 --- /dev/null +++ b/.config/btop/themes/catppuccin_frappe.theme @@ -0,0 +1,42 @@ +theme[main_bg]="#303446" +theme[main_fg]="#C6D0F5" +theme[title]="#C6D0F5" +theme[hi_fg]="#8CAAEE" +theme[selected_bg]="#51576D" +theme[selected_fg]="#8CAAEE" +theme[inactive_fg]="#838BA7" +theme[graph_text]="#F2D5CF" +theme[meter_bg]="#51576D" +theme[proc_misc]="#F2D5CF" +theme[cpu_box]="#85C1DC" +theme[mem_box]="#A6D189" +theme[net_box]="#CA9EE6" +theme[proc_box]="#EEBEBE" +theme[div_line]="#737994" +theme[temp_start]="#E5C890" +theme[temp_mid]="#EF9F76" +theme[temp_end]="#E78284" +theme[cpu_start]="#85C1DC" +theme[cpu_mid]="#99D1DB" +theme[cpu_end]="#81C8BE" +theme[free_start]="#81C8BE" +theme[free_mid]="#81C8BE" +theme[free_end]="#A6D189" +theme[cached_start]="#F4B8E4" +theme[cached_mid]="#F4B8E4" +theme[cached_end]="#CA9EE6" +theme[available_start]="#F2D5CF" +theme[available_mid]="#EEBEBE" +theme[available_end]="#EEBEBE" +theme[used_start]="#EF9F76" +theme[used_mid]="#EF9F76" +theme[used_end]="#E78284" +theme[download_start]="#BABBF1" +theme[download_mid]="#BABBF1" +theme[download_end]="#CA9EE6" +theme[upload_start]="#BABBF1" +theme[upload_mid]="#BABBF1" +theme[upload_end]="#CA9EE6" +theme[process_start]="#85C1DC" +theme[process_mid]="#99D1DB" +theme[process_end]="#81C8BE" diff --git a/.config/btop/themes/catppuccin_latte.theme b/.config/btop/themes/catppuccin_latte.theme new file mode 100644 index 0000000..2975ba7 --- /dev/null +++ b/.config/btop/themes/catppuccin_latte.theme @@ -0,0 +1,42 @@ +theme[main_bg]="#EFF1F5" +theme[main_fg]="#4C4F69" +theme[title]="#4C4F69" +theme[hi_fg]="#1E66F5" +theme[selected_bg]="#BCC0CC" +theme[selected_fg]="#1E66F5" +theme[inactive_fg]="#8C8FA1" +theme[graph_text]="#DC8A78" +theme[meter_bg]="#BCC0CC" +theme[proc_misc]="#DC8A78" +theme[cpu_box]="#209FB5" +theme[mem_box]="#40A02B" +theme[net_box]="#8839EF" +theme[proc_box]="#DD7878" +theme[div_line]="#9CA0B0" +theme[temp_start]="#DF8E1D" +theme[temp_mid]="#FE640B" +theme[temp_end]="#D20F39" +theme[cpu_start]="#209FB5" +theme[cpu_mid]="#04A5E5" +theme[cpu_end]="#179299" +theme[free_start]="#179299" +theme[free_mid]="#179299" +theme[free_end]="#40A02B" +theme[cached_start]="#EA76CB" +theme[cached_mid]="#EA76CB" +theme[cached_end]="#8839EF" +theme[available_start]="#DC8A78" +theme[available_mid]="#DD7878" +theme[available_end]="#DD7878" +theme[used_start]="#FE640B" +theme[used_mid]="#FE640B" +theme[used_end]="#D20F39" +theme[download_start]="#7287FD" +theme[download_mid]="#7287FD" +theme[download_end]="#8839EF" +theme[upload_start]="#7287FD" +theme[upload_mid]="#7287FD" +theme[upload_end]="#8839EF" +theme[process_start]="#209FB5" +theme[process_mid]="#04A5E5" +theme[process_end]="#179299" diff --git a/.config/btop/themes/catppuccin_macchiato.theme b/.config/btop/themes/catppuccin_macchiato.theme new file mode 100644 index 0000000..7abd0bf --- /dev/null +++ b/.config/btop/themes/catppuccin_macchiato.theme @@ -0,0 +1,42 @@ +theme[main_bg]="#24273A" +theme[main_fg]="#CAD3F5" +theme[title]="#CAD3F5" +theme[hi_fg]="#8AADF4" +theme[selected_bg]="#494D64" +theme[selected_fg]="#8AADF4" +theme[inactive_fg]="#8087A2" +theme[graph_text]="#F4DBD6" +theme[meter_bg]="#494D64" +theme[proc_misc]="#F4DBD6" +theme[cpu_box]="#7DC4E4" +theme[mem_box]="#A6DA95" +theme[net_box]="#C6A0F6" +theme[proc_box]="#F0C6C6" +theme[div_line]="#6E738D" +theme[temp_start]="#EED49F" +theme[temp_mid]="#F5A97F" +theme[temp_end]="#ED8796" +theme[cpu_start]="#7DC4E4" +theme[cpu_mid]="#91D7E3" +theme[cpu_end]="#8BD5CA" +theme[free_start]="#8BD5CA" +theme[free_mid]="#8BD5CA" +theme[free_end]="#A6DA95" +theme[cached_start]="#F5BDE6" +theme[cached_mid]="#F5BDE6" +theme[cached_end]="#C6A0F6" +theme[available_start]="#F4DBD6" +theme[available_mid]="#F0C6C6" +theme[available_end]="#F0C6C6" +theme[used_start]="#F5A97F" +theme[used_mid]="#F5A97F" +theme[used_end]="#ED8796" +theme[download_start]="#B7BDF8" +theme[download_mid]="#B7BDF8" +theme[download_end]="#C6A0F6" +theme[upload_start]="#B7BDF8" +theme[upload_mid]="#B7BDF8" +theme[upload_end]="#C6A0F6" +theme[process_start]="#7DC4E4" +theme[process_mid]="#91D7E3" +theme[process_end]="#8BD5CA" diff --git a/.config/btop/themes/catppuccin_mocha.theme b/.config/btop/themes/catppuccin_mocha.theme new file mode 100644 index 0000000..13cec40 --- /dev/null +++ b/.config/btop/themes/catppuccin_mocha.theme @@ -0,0 +1,42 @@ +theme[main_bg]="#1E1E2E" +theme[main_fg]="#CDD6F4" +theme[title]="#CDD6F4" +theme[hi_fg]="#89B4FA" +theme[selected_bg]="#45475A" +theme[selected_fg]="#89B4FA" +theme[inactive_fg]="#7F849C" +theme[graph_text]="#F5E0DC" +theme[meter_bg]="#45475A" +theme[proc_misc]="#F5E0DC" +theme[cpu_box]="#74C7EC" +theme[mem_box]="#A6E3A1" +theme[net_box]="#CBA6F7" +theme[proc_box]="#F2CDCD" +theme[div_line]="#6C7086" +theme[temp_start]="#F9E2AF" +theme[temp_mid]="#FAB387" +theme[temp_end]="#F38BA8" +theme[cpu_start]="#74C7EC" +theme[cpu_mid]="#89DCEB" +theme[cpu_end]="#94E2D5" +theme[free_start]="#94E2D5" +theme[free_mid]="#94E2D5" +theme[free_end]="#A6E3A1" +theme[cached_start]="#F5C2E7" +theme[cached_mid]="#F5C2E7" +theme[cached_end]="#CBA6F7" +theme[available_start]="#F5E0DC" +theme[available_mid]="#F2CDCD" +theme[available_end]="#F2CDCD" +theme[used_start]="#FAB387" +theme[used_mid]="#FAB387" +theme[used_end]="#F38BA8" +theme[download_start]="#B4BEFE" +theme[download_mid]="#B4BEFE" +theme[download_end]="#CBA6F7" +theme[upload_start]="#B4BEFE" +theme[upload_mid]="#B4BEFE" +theme[upload_end]="#CBA6F7" +theme[process_start]="#74C7EC" +theme[process_mid]="#89DCEB" +theme[process_end]="#94E2D5" diff --git a/.config/hypr/WallRizzTheme.conf b/.config/hypr/WallRizzTheme.conf new file mode 100644 index 0000000..d10e500 --- /dev/null +++ b/.config/hypr/WallRizzTheme.conf @@ -0,0 +1 @@ +source = /home/nathan/.cache/WallRizz/themes/hyprland@5hubham5ingh.js/542275709.png-dark.conf \ No newline at end of file diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 8f8f8f1..ffcfc7e 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -288,4 +288,4 @@ bind = $mainMod, PERIOD, exec, bemoji bind = $mainMod, T, exec, alacritty --config-file ~/dotfiles/.alacritty-nozellij.toml # Save output to ~/tmp/errors.log -bind = $mainMod CTRL, W, exec, kitty -o allow_remote_control=yes --class float-80 WallRizz -n -d ~/.config/backgrounds \ No newline at end of file +bind = $mainMod CTRL, W, exec, pgrep -x WallRizz && pkill -x WallRizz || kitty -o allow_remote_control=yes --class float-80 WallRizz -n -d ~/.config/backgrounds \ No newline at end of file