Giter Club home page Giter Club logo

catppuccin's Introduction

Catppuccin

A LeftWM minimalistic theme inspired by the adorable homonymous pastel theme s

Screenshots

screenshot1 screenshot2 launcher launcher2 powermenu powermenu2 layout layout2

Dependencies

Fonts

  • Iosevka Nerd Font
  • Roboto
  • Noto Sans
  • FontAwesome

Fee free to install some fonts from the theme root folder

./installfonts.sh

In general it might be a good idea to install all nerd fonts.

Run by up script

  • polybar
  • feh
  • numlockx
  • picom

Run by polybar (and keybindings)

  • pavucontrol
  • nm-connection-editor
  • blueberry
  • pamac

Misc

  • alacritty (or change configs to match your terminal emulator)
  • dunst / xfce4-notifyd (adapt up script accordingly)
  • papirus-icon-theme

Installation

  1. Install all required dependencies

  2. Clone the repository in ~/.config/leftwm/themes

cd ~/.config/leftwm/themes
git clone https://github.com/di-effe/catppuccin.git
  1. Remove the symlink to your current theme if set
rm ~/.config/leftwm/themes/current
  1. Set this as your current theme
ln -s ~/.config/leftwm/themes/catppuccin ~/.config/leftwm/themes/current
  1. Restart your window manager
$MOD + Shift + r

Configuration

Colors

In a theme like this colors are spread all over the place and it's not fun keep track of everything, every time you want to change something. That's why I am using a custom color script to do the dirty job for me.

Colors are set each time the UP script run

source $SCRIPTPATH/scripts/colors.sh catppuccin

Two color themes are already available to choose from:

  • catppuccin
  • catppuccin2

Long story short colors.sh performs different tasks, mostly sed, in all files where colors are set. The parameter after the script is communicating colors.sh to read from the colors variables from scripts/colors_<THEME_NAME>.sh, and by default that would be scripts/colors_catppuccin.sh

## Catppuccin theme
COLOR_BAR_BACKGROUND="#332E41"
COLOR_BAR_FOREGROUND="#B7E5E6"
COLOR_BACKGROUND="#332E41"
COLOR_FOREGROUND="#DFDEF1"
COLOR_FOREGROUND_DARK="#988BA2"
COLOR_PRIMARY="#C6AAE8"
COLOR_SECONDARY="#DFDEF1"
COLOR_ALTERNATE="#C6AAE8"
COLOR_INACTIVE="#6E6C7E"
COLOR_BORDER_ACTIVE="#C6AAE8"
COLOR_BORDER_INACTIVE="#1E1E28"
COLOR_BORDER_FLOATING="#F2CDCD"
COLOR_APPLET_BACKGROUND="#332E41"
COLOR_APPLET_BACKGROUND_LIGHT="#575268"

So, if you want to change colors manually comment the source $SCRIPTPATH/scripts/colors.sh catppuccin or your changes will be overwritten.

My suggestion, to avoid going crazy, would be to use the same method and

  • create a custom color theme
  • add your theme to the themes=(catppuccin catppuccin2); array in colors.sh
  • optionally adapt colors.sh to your needs

Applets

This theme doesn´t have a launcher and powermenu modules configured in Polybar, but you can configured a few keybindings to launch some Rofi applets.

For example you could add these to your config.toml

# Theme applets

# Launcher
[[keybind]]
command = "Execute"
value = "$HOME/.config/leftwm/themes/current/scripts/launcher.sh"
modifier = ["modkey"]
key = "space"

# Powermenu
[[keybind]]
command = "Execute"
value = "$HOME/.config/leftwm/themes/current/scripts/powermenu.sh"
modifier = ["modkey", "Shift"]
key = "p"

# Layout switcher
[[keybind]]
command = "Execute"
value = "$HOME/.config/leftwm/themes/current/scripts/layout.sh"
modifier = ["modkey", "Shift"]
key = "l"

Run a leftwm-check to ensure you don´t have multiple bindings on the same keys.

Wallpapers

up is configured with the options to

  • set random wallpapers from the /wallpapers folder
  • set ONE wallpaper for all displays
  • set MULTIPLE wallpapers for all displays (default)

Uncomment what you prefer and comment the rest. It should be clear enough reading the file.

Polybar

Pulseaudio Control

This is an interesting module you might want to use, just keep in mind it will grab your device description from

pactl list sinks | grep device.description

and that is usually a very long string. The pulseaudio-control module in polybar.modules has been configured to use fancier nicknames for speakers and headphone, but you have to replace my values with yours.

For speakers (without any wired or bluetooth headphone connected) check

pactl list sinks short | cut -f2

and use the output here

--sink-nickname "VALUE_DETECTED_HERE:蓼 Speakers" 

For wired headphones, plug them, check again

pactl list sinks short | cut -f2

and use the output here

--sink-nickname "VALUE_DETECTED_HER: Headphones"

Systray

Systray has beed disabled by default in polybar.config

tray-position = none

If you want to use it change position and adjust the tray-offset-x value.

Changelog

v0.1.2

  • catppuccino 1.2 updates

v0.1.1

  • Multiple color themes
    • catppuccin
    • catppuccin2
  • Updated documentation
  • Minor changes

v0.1.0

  • First release

To do

  • More color schemes from the catppuccin project

Credit / Sources

  • Polybar modules configuration style (plus snippets and scripts) from Peter Dauwe and adi1090x

  • Application launcher is based on the rofi-themes-collection by LR Tech covered by a GNU General Public License v3.0

  • Powermenu is loosely based on the rofi-themes by adi1090x covered by a GNU General Public License v3.0

  • Wallpapers and color schemes by catppuccin, of course

catppuccin's People

Contributors

di-effe avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.