/i3wm-themer

My collection of Themes and scripts for i3-wm

Primary LanguagePythonMIT LicenseMIT

i3wm-themer

    Personal collection of themes and scripts for i3wm.

Update [April 4, 2018]

    Due to the high amount of requests to update this repository, I took the time to *completely* rework it from the ground up. The old script is gone, the old configs are long gone. There is a new script used to apply/modify the themes for i3wm, polybar and .Xresources, all the old themes have been reworked and a few new added. The script now uses a configuration file used to locate your configs more accurately and the themes are now presented in a JSON format to make them easier to read/modify/add your own. This time I decided to add a few default configuration files for you to use, to avoid the "oh my dots are now messed up" complains. With all that said, I hope you enjoy the fully reworked repo, I put a lot of effort to make it meet everyone's needs/likings.

Why?

  • You like CLI tools too much
  • You like simple and minimalistic desktop themes
  • You always wanted to use i3wm but can't figure it out on your own
  • You want to change themes on the go
  • i3wm is awesome
  • Satan > Jesus

What you will need

Using the script

    Clone this repository and install the requirements for the script.
    git clone https://github.com/unix121/i3wm-themer
    cd i3wm-themer/
    sudo pip install -r requirements.txt
    

    Install all the requirements from the 'What you will need' section. Either manually or use one of the scripts created for some distros:

    # For Arch, ArchLabs or Manjaro Linux
    # (Should work for other Arch-based distros as well)
    ./install_requirements_arch.sh
    # or
    ./install_arch.sh
    
    # For Debian
    ./install_debian.sh
    
    # For Ubuntu
    ./install_ubuntu.sh
    

    If you are not on one of the above, install them using your Package manager.

    Make sure you have the requirements mentioned earlier installed. Edit the config.yaml file and add your full path of i3wm config, polybar config and .Xresources files. In the end it should look something like this:

    i3-config: /home/[USER]/.i3/config
    polybar-config: /home/[USER]/.config/polybar/config
    xresources: /home/[USER]/.Xresources
    

    Where [USER] is your $USER.

    Copy the script in the scripts folder to your polybar directory:

    cp -r ../scripts/* /home/$USER/.config/polybar/
    

    Backup your files:

    mkdir ~/Backups
    python i3wm-themer.py --config config.yaml --backup /home/[USER]/Backups
    

    This step will copy the files that you set in the config.yaml for safekeeping in case things go wrong.

    Install the config files located in the src/defaults/ directory (not 100% required but I suggest you do so just to be sure).

    python i3wm-themer.py --config config.yaml --install defaults/
    

    In case you get lost $mod+Return will open a new terminal, $mode+d will launch Rofi. (For the rest of the shortcuts just take a look on the config file for i3, and change them to your needs.)

    Now you are basically ready to go. Pick a theme you like from the collection and load it:

    python i3wm-themer.py --config config.yaml --load themes/[theme_id].json
    

    (Where [theme_id] is the name of the theme you want to try!)

    TADA!!!

    Now every time you want to change a theme you can just run the command above with the theme you like and apply it instantly.

    You can always use the --help on the script to check the given options.

Disclaimer

    I am not responsible for any harm done to your PC by anything in the repository. Use everything with caution!

Available Themes

Contribute to the project

    If you want to contribute to the project you can do it in two ways:
    • Add new themes by following this guide
    • Help with the script by helping cross out more things from the TODO list

Author

Support this project

Credits

    This whole project wouldn't be possible without the creators of all those awesome tools: i3wm, i3-gaps, polybar and everyone who worked on those projects.