all repos — catppuccin-mocha-regolith @ 92fcdf7bc487bb79f44f04676838ee0231010e57

Config files for Catppuccin theme in Regolith Linux

Customize Catppuccin base
Tim Izzo tim@octree.ch
Tue, 18 Feb 2025 17:47:37 +0100
commit

92fcdf7bc487bb79f44f04676838ee0231010e57

8 files changed, 591 insertions(+), 0 deletions(-)

jump to
A README.md

@@ -0,0 +1,13 @@

+# Catppuccin customized theme for Regolith Linux + +[Catppuccin](https://github.com/catppuccin) + +## Install + +1. Clone https://github.com/Alien-Tec/regolith-look-extra locally +2. Copy `icons` and `themes` to `/usr/share/icons/` and `/usr/share/themes` (only 'Catppuccin' related directories) +3. Clone this repo in `/usr/share/regolith-look` +4. Set theme with `regolith-look set catppuccin-mocha` + +A [merge request](https://github.com/regolith-linux/regolith-look-extra/pull/18) is currently pending to integrate Catppuccin themes to regolith-look-extra. +
A gnome-terminal

@@ -0,0 +1,19 @@

+gnome.terminal.color0: color_base +gnome.terminal.color1: color_red +gnome.terminal.color2: color_green +gnome.terminal.color3: color_yellow +gnome.terminal.color4: color_blue +gnome.terminal.color5: color_pink +gnome.terminal.color6: color_teal +gnome.terminal.color7: color_text +gnome.terminal.color8: color_surface2 +gnome.terminal.color9: color_red +gnome.terminal.color10: color_green +gnome.terminal.color11: color_yellow +gnome.terminal.color12: color_blue +gnome.terminal.color13: color_pink +gnome.terminal.color14: color_teal +gnome.terminal.color15: color_subtext0 + +gnome.terminal.font: gtk_monospace_font_name +gnome.terminal.scrollbar: never
A i3xrocks

@@ -0,0 +1,89 @@

+#define typeface_bar_glyph_app_launcher  +#define typeface_bar_glyph_battery_0  +#define typeface_bar_glyph_battery_100  +#define typeface_bar_glyph_battery_20  +#define typeface_bar_glyph_battery_50  +#define typeface_bar_glyph_battery_80  +#define typeface_bar_glyph_battery_ac  +#define typeface_bar_glyph_battery_charging  +#define typeface_bar_glyph_battery_unknown  +#define typeface_bar_glyph_capslock  +#define typeface_bar_glyph_cpu  +#define typeface_bar_glyph_disk  +#define typeface_bar_glyph_dn  +#define typeface_bar_glyph_error  +#define typeface_bar_glyph_help  +#define typeface_bar_glyph_media_paused  +#define typeface_bar_glyph_media_playing  +#define typeface_bar_glyph_memory  +#define typeface_bar_glyph_mute  +#define typeface_bar_glyph_next_workspace  +#define typeface_bar_glyph_notify_error  +#define typeface_bar_glyph_notify_none  +#define typeface_bar_glyph_notify_some  +#define typeface_bar_glyph_numlock  +#define typeface_bar_glyph_off  +#define typeface_bar_glyph_on  +#define typeface_bar_glyph_sound  +#define typeface_bar_glyph_thermometer  +#define typeface_bar_glyph_time  +#define typeface_bar_glyph_up  +#define typeface_bar_glyph_wifi  +#define typeface_bar_glyph_wired  +#define typeface_bar_glyph_workspace  + +i3xrocks.label.color: color_text +i3xrocks.value.color: color_text +i3xrocks.value.font: gtk_monospace_font_name +i3xrocks.critical.color: color_red +i3xrocks.error.color: color_red +i3xrocks.warning: color_yellow +i3xrocks.nominal: color_text + +i3xrocks.label.thermometer: typeface_bar_glyph_thermometer + +i3xrocks.label.wifi: typeface_bar_glyph_wifi +i3xrocks.label.wired: typeface_bar_glyph_wired +i3xrocks.label.up: typeface_bar_glyph_up +i3xrocks.label.dn: typeface_bar_glyph_dn + +i3xrocks.label.cpu: typeface_bar_glyph_cpu + +i3xrocks.label.disk: typeface_bar_glyph_disk + +i3xrocks.label.battery100: typeface_bar_glyph_battery_100 +i3xrocks.label.battery80: typeface_bar_glyph_battery_80 +i3xrocks.label.battery50: typeface_bar_glyph_battery_50 +i3xrocks.label.battery20: typeface_bar_glyph_battery_20 +i3xrocks.label.battery0: typeface_bar_glyph_battery_0 +i3xrocks.label.batterycharging: typeface_bar_glyph_battery_charging +i3xrocks.label.batteryac: typeface_bar_glyph_battery_ac +i3xrocks.label.batteryunknown: typeface_bar_glyph_battery_unknown + +i3xrocks.label.time: typeface_bar_glyph_time + +i3xrocks.label.mediaplaying: typeface_bar_glyph_media_playing +i3xrocks.label.mediapaused: typeface_bar_glyph_media_paused +i3xrocks.value.mediaplayerwidth: 25 + +i3xrocks.label.notify.none: typeface_bar_glyph_notify_none +i3xrocks.label.notify.some: typeface_bar_glyph_notify_some +i3xrocks.label.notify.error: typeface_bar_glyph_notify_error + +i3xrocks.label.help: typeface_bar_glyph_help + +i3xrocks.label.sound: typeface_bar_glyph_sound +i3xrocks.label.mute: typeface_bar_glyph_mute +i3xrocks.label.memory: typeface_bar_glyph_memory + +i3xrocks.label.on: typeface_bar_glyph_on +i3xrocks.label.off: typeface_bar_glyph_off + +i3xrocks.label.capslock: typeface_bar_glyph_capslock +i3xrocks.label.numlock: typeface_bar_glyph_numlock + +i3xrocks.weather.error_message: typeface_bar_glyph_error + +i3xrocks.label.next-workspace-widget: typeface_bar_glyph_next_workspace + +i3xrocks.label.app_launcher: typeface_bar_glyph_app_launcher
A ilia.css

@@ -0,0 +1,18 @@

+.root_box { + margin: 8px; +} + +.filter_entry { + border: none; + background: none; + min-height: 36px; + min-width: 320px; +} + +.notebook { + border: none; +} + +.keybindings { + font-family: RobotoMono Nerd Font; +}
A picom.conf

@@ -0,0 +1,246 @@

+################################# +# +# Adapted for Regolith from https://gist.github.com/vemacs/458d101ad0bfb79ab70792ecb977c40c +# Modified per https://github.com/regolith-linux/regolith-desktop/issues/578 +# +################################# + +################################# +# +# Backend +# +################################# + +# Backend to use: "xrender" or "glx". +# GLX backend is typically much faster but depends on a sane driver. +backend = "glx"; + +################################# +# +# GLX backend +# +################################# + +glx-no-stencil = true; + +# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all. +# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified, +# but a 20% increase when only 1/4 is. +# My tests on nouveau show terrible slowdown. +# Useful with --glx-swap-method, as well. +glx-copy-from-front = false; + +# GLX backend: Use MESA_copy_sub_buffer to do partial screen update. +# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated. +# May break VSync and is not available on some drivers. +# Overrides --glx-copy-from-front. +# glx-use-copysubbuffermesa = true; + +# GLX backend: Avoid rebinding pixmap on window damage. +# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe). +# Recommended if it works. +glx-no-rebind-pixmap = true; + +use-damage = true; + +# Additionally use X Sync fence to sync clients' draw calls. +# Needed on nvidia-drivers with GLX backend for some users. +xrender-sync-fence = true; + +################################# +# +# Shadows +# +################################# + +# Enabled client-side shadows on windows. +shadow = true; +# The blur radius for shadows. (default 12) +shadow-radius = 5; +# The left offset for shadows. (default -15) +shadow-offset-x = -5; +# The top offset for shadows. (default -15) +shadow-offset-y = -5; +# The translucency for shadows. (default .75) +shadow-opacity = 0.5; + +# Set if you want different colour shadows +# shadow-red = 0.0; +# shadow-green = 0.0; +# shadow-blue = 0.0; + +# The shadow exclude options are helpful if you have shadows enabled. Due to the way picom draws its shadows, certain applications will have visual glitches +# (most applications are fine, only apps that do weird things with xshapes or argb are affected). +# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher. +shadow-exclude = [ + "! name~=''", + "name = 'Notification'", + "name = 'Plank'", + "name = 'Docky'", + "name = 'Kupfer'", + "name = 'xfce4-notifyd'", + "name *= 'compton'", + "name *= 'picom'", + "name *= 'cpt_frame_window'", + "name *= 'cpt_frame_xcb_window'", + "name *= 'wrapper-2.0'", + "name *= 'Nautilus'", + "class_g = 'Conky'", + "class_g = 'Kupfer'", + "class_g = 'Synapse'", + "class_g ?= 'Notify-osd'", + "class_g ?= 'Cairo-dock'", + "_GTK_FRAME_EXTENTS@:c", + "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'" +]; +# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners) +shadow-ignore-shaped = true; + +################################# +# +# Opacity +# +################################# + +inactive-opacity = 1; +active-opacity = 1; +frame-opacity = 1; +inactive-opacity-override = false; + +# Dim inactive windows. (0.0 - 1.0) +inactive-dim = 0.1; +# Do not let dimness adjust based on window opacity. +inactive-dim-fixed = true; +# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred. +# blur-background = true; +# Blur background of opaque windows with transparent frames as well. +# blur-background-frame = true; +# Do not let blur radius adjust based on window opacity. +blur-background-fixed = false; +blur-background-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'" +]; + +################################# +# Corners # +################################# + +# Sets the radius of rounded window corners. When > 0, the compositor will +# round the corners of windows. Does not interact well with +# `transparent-clipping`. +corner-radius = 4 + +# Exclude conditions for rounded corners. +rounded-corners-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'" +]; + +################################# +# +# Fading +# +################################# + +# Fade windows during opacity changes. +fading = true; +# The time between steps in a fade in milliseconds. (default 10). +fade-delta = 3; +# Opacity change between steps while fading in. (default 0.028). +fade-in-step = 0.03; +# Opacity change between steps while fading out. (default 0.03). +fade-out-step = 0.03; +# Fade windows in/out when opening/closing +# no-fading-openclose = true; + +# Specify a list of conditions of windows that should not be faded. +fade-exclude = [ + "name *= 'ilia'" +]; + +################################# +# +# Other +# +################################# + +# Try to detect WM windows and mark them as active. +mark-wmwin-focused = true; +# Mark all non-WM but override-redirect windows active (e.g. menus). +mark-ovredir-focused = true; +# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events. +# Usually more reliable but depends on a EWMH-compliant WM. +use-ewmh-active-win = true; +# Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on. +detect-rounded-corners = false; + +# Detect _NET_WM_OPACITY on client windows, useful for window managers not passing _NET_WM_OPACITY of client windows to frame windows. +# This prevents opacity being ignored for some apps. +# For example without this enabled my xfce4-notifyd is 100% opacity no matter what. +detect-client-opacity = true; + +# Specify refresh rate of the screen. +# If not specified or 0, picom will try detecting this with X RandR extension. +refresh-rate = 0; + +# Set VSync. +vsync = true; + +# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing. +# Reported to have no effect, though. +dbe = false; + +# Limit picom to repaint at most once every 1 / refresh_rate second to boost performance. +# This should not be used with --vsync drm/opengl/opengl-oml as they essentially does --sw-opti's job already, +# unless you wish to specify a lower refresh rate than the actual value. +sw-opti = false; + +# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games. +# Known to cause flickering when redirecting/unredirecting windows. +# paint-on-overlay may make the flickering less obvious. +unredir-if-possible = true; + +# Specify a list of conditions of windows that should always be considered focused. +focus-exclude = [ ]; + +# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time. +detect-transient = true; +# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time. +# WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too. +detect-client-leader = true; + +# Prevent shadows from drawing across displays. +xinerama-shadow-crop = true; + +################################# +# +# Window type settings +# +################################# + +wintypes: +{ + tooltip = + { + # fade: Fade the particular type of windows. + fade = true; + # shadow: Give those windows shadow + shadow = false; + # opacity: Default opacity for the type of windows. + opacity = 0.85; + # focus: Whether to always consider windows of this type focused. + focus = true; + }; + dock = { shadow = true; } + dnd = { shadow = false; } + popup_menu = { + opacity = 1.0; + shadow = false; + fade = false; + } + dropdown_menu = { + opacity = 1.0; + fade = false; + } +};
A root

@@ -0,0 +1,122 @@

+! -------------------------------------------- +! -- This file is in the Xresource file format +! -------------------------------------------- + +! -------------------------------------------- +! -- Look name +! -------------------------------------------- + +regolith.look: catppuccin-mocha + +! -------------------------------------------- +! -- Wallpaper +! -------------------------------------------- + +! -- Specify either a complete file path to an image + +regolith.wallpaper.file: /usr/share/regolith-look/catppuccin-mocha/mocha.png +regolith.wallpaper.options: zoom + +!-- *Or* specify a color + +regolith.wallpaper.color.primary: + +!-- If specifying a primary color, optional additional settings + +regolith.wallpaper.color.secondary: +regolith.wallpaper.color.shading.type: + +! -------------------------------------------- +! -- Lockscreen Wallpaper +! -------------------------------------------- + +!-- the following keys can be set to specify the lockscreen background, as above with desktop wallpaper + +! -- Specify either a complete file path to an image +! -- and (optionally) options how to display the file + +regolith.lockscreen.wallpaper.file: /usr/share/regolith-look/catppuccin-mocha/mocha.png +regolith.lockscreen.wallpaper.options: zoom + +!-- *Or* specify a color + +regolith.lockscreen.wallpaper.color.primary: + +!-- If specifying a primary color, optional additional settings + +regolith.lockscreen.wallpaper.color.secondary: +regolith.lockscreen.wallpaper.color.shading.type: + +! -------------------------------------------- +! -- Theme elements +! -------------------------------------------- + +gtk.theme_name: Catppuccin-Mocha-Standard-Lavender-Dark +gtk.icon_theme_name: Catppuccin-Mocha + +! -------------------------------------------- +! -- Compositor Config +! -------------------------------------------- + +regolith.compositor.picom.config: /usr/share/regolith-look/catppuccin-mocha/picom.conf +! -- Other compositor configs may be specified as desired: +! -- regolith.compositor.compton.config + +! -------------------------------------------- +! -- Fonts +! -------------------------------------------- + +!#define gtk_font_name RobotoMono Nerd Font 12 +#define gtk_font_name Bitstream Vera Sans 11 +#define gtk_document_font_name Sans 12 +#define gtk_monospace_font_name RobotoMono Nerd Font 12 + +gtk.font_name: gtk_font_name +gtk.document_font_name: gtk_document_font_name +gtk.monospace_font_name: gtk_monospace_font_name + +! -------------------------------------------- +! -- Colors +! -------------------------------------------- + +#define color_rosewater #f5e0dc +#define color_flamingo #f2cdcd +#define color_pink #f5c2e7 +#define color_mauve #cba6f7 +#define color_red #f38ba8 +#define color_maroon #eba0ac +#define color_peach #fab387 +#define color_yellow #f9e2af +#define color_green #a6e3a1 +#define color_teal #94e2d5 +#define color_sky #89dceb +#define color_sapphire #74c7ec +#define color_blue #89b4fa +#define color_lavender #b4befe +#define color_text #cdd6f4 +#define color_subtext1 #bac2de +#define color_subtext0 #a6adc8 +#define color_overlay2 #9399b2 +#define color_overlay1 #7f849c +#define color_overlay0 #6c7086 +#define color_surface2 #585b70 +#define color_surface1 #45475a +#define color_surface0 #313244 +#define color_base #1e1e2e +#define color_mantle #181825 +#define color_crust #11111b + +! -------------------------------------------- +! -- Component resources +! -------------------------------------------- + +#include "/usr/share/regolith-look/catppuccin-mocha/i3xrocks" +#include "/usr/share/regolith-look/catppuccin-mocha/wm" +#include "/usr/share/regolith-look/catppuccin-mocha/gnome-terminal" + +! -------------------------------------------- +! -- Loader Path - Path to script responsible +! -- for configuring UI from Xres values +! -------------------------------------------- + +regolith.look.loader: /usr/share/regolith-look/default_loader.sh
A wm

@@ -0,0 +1,84 @@

+#define i3wm_window_border_style pixel +#define i3wm_floatingwindow_border_style pixel +#define i3wm_window_border_size 2 +#define i3wm_floatingwindow_border_size 2 +#define i3wm_gaps_inner_size 5 +#define i3wm_gaps_outer_size 0 +#define i3wm_bar_position bottom + +#define Q(x) #x +#define QUOTE(x) Q(x) +#define glyph_font QUOTE(gtk_monospace_font_name) +#define glyph typeface_bar_glyph_workspace + +ilia.stylesheet: /usr/share/regolith-look/catppuccin-mocha/ilia.css + +wm.bar.position: i3wm_bar_position +wm.bar.background.color: color_mantle +wm.bar.statusline.color: color_surface0 +wm.bar.separator.color: color_accent +wm.bar.workspace.focused.border.color: color_accent +wm.bar.workspace.focused.background.color: color_surface0 +wm.bar.workspace.focused.text.color: color_text +wm.bar.workspace.active.border.color: color_surface0 +wm.bar.workspace.active.background.color: color_surface0 +wm.bar.workspace.active.text.color: color_text +wm.bar.workspace.inactive.border.color: color_surface0 +wm.bar.workspace.inactive.background.color: color_surface0 +wm.bar.workspace.inactive.text.color: color_text +wm.bar.workspace.urgent.border.color: color_red +wm.bar.workspace.urgent.background.color: color_surface0 +wm.bar.workspace.urgent.text.color: color_text + +wm.client.focused.color.border: color_accent +wm.client.focused.color.background: color_surface0 +wm.client.focused.color.text: color_text +wm.client.focused.color.indicator: color_accent +wm.client.focused.color.child_border: color_accent + +wm.client.focused_inactive.color.border: color_accent +wm.client.focused_inactive.color.background: color_mantle +wm.client.focused_inactive.color.text: color_text +wm.client.focused_inactive.color.indicator: color_accent +wm.client.focused_inactive.color.child_border: color_accent + +wm.client.unfocused.color.border: color_surface0 +wm.client.unfocused.color.background: color_surface0 +wm.client.unfocused.color.text: color_text +wm.client.unfocused.color.indicator: color_surface0 +wm.client.unfocused.color.child_border: color_surface0 + +wm.client.urgent.color.border: color_red +wm.client.urgent.color.background: color_red +wm.client.urgent.color.text: color_text +wm.client.urgent.color.indicator: color_red +wm.client.urgent.color.child_border: color_red + +wm.window.border.style: i3wm_window_border_style +wm.window.border.size: i3wm_window_border_size +wm.floatingwindow.border.style: i3wm_floatingwindow_border_style +wm.floatingwindow.border.size: i3wm_floatingwindow_border_size +wm.gaps.inner.size: i3wm_gaps_inner_size +wm.gaps.outer.size: i3wm_gaps_outer_size + +#define WORKSPACE_NAME(INDEX, FONT, COLOR, GLYPH) INDEX:<span> </span><span font_desc=FONT>INDEX </span><span foreground=COLOR>GLYPH</span><span> </span> + +wm.workspace.01.name: WORKSPACE_NAME(1, glyph_font, QUOTE(color_mauve), glyph) +wm.workspace.02.name: WORKSPACE_NAME(2, glyph_font, QUOTE(color_red), glyph) +wm.workspace.03.name: WORKSPACE_NAME(3, glyph_font, QUOTE(color_maroon), glyph) +wm.workspace.04.name: WORKSPACE_NAME(4, glyph_font, QUOTE(color_peach), glyph) +wm.workspace.05.name: WORKSPACE_NAME(5, glyph_font, QUOTE(color_yellow), glyph) +wm.workspace.06.name: WORKSPACE_NAME(6, glyph_font, QUOTE(color_green), glyph) +wm.workspace.07.name: WORKSPACE_NAME(7, glyph_font, QUOTE(color_teal), glyph) +wm.workspace.08.name: WORKSPACE_NAME(8, glyph_font, QUOTE(color_sky), glyph) +wm.workspace.09.name: WORKSPACE_NAME(9, glyph_font, QUOTE(color_sapphire), glyph) +wm.workspace.10.name: WORKSPACE_NAME(10, glyph_font, QUOTE(color_blue), glyph) +wm.workspace.11.name: WORKSPACE_NAME(11, glyph_font, QUOTE(color_lavender), glyph) +wm.workspace.12.name: WORKSPACE_NAME(12, glyph_font, QUOTE(color_mauve), glyph) +wm.workspace.13.name: WORKSPACE_NAME(13, glyph_font, QUOTE(color_red), glyph) +wm.workspace.14.name: WORKSPACE_NAME(14, glyph_font, QUOTE(color_maroon), glyph) +wm.workspace.15.name: WORKSPACE_NAME(15, glyph_font, QUOTE(color_peach), glyph) +wm.workspace.16.name: WORKSPACE_NAME(16, glyph_font, QUOTE(color_yellow), glyph) +wm.workspace.17.name: WORKSPACE_NAME(17, glyph_font, QUOTE(color_green), glyph) +wm.workspace.18.name: WORKSPACE_NAME(18, glyph_font, QUOTE(color_teal), glyph) +wm.workspace.19.name: WORKSPACE_NAME(19, glyph_font, QUOTE(color_sky), glyph)