Code Monkey home page Code Monkey logo

i3wm-themer's Introduction

i3wm-themer

    Personal collection of themes and scripts for i3wm.

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

What you will need

Using the script

    Clone this repository and install the requirements for the script. For Debian users, check the "Debian" section below.
    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
    ./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
    python3 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 defaults/ directory (not 100% required but I suggest you do so just to be sure).

    python3 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:

    python3 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

Author

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.

Advice for Debian and Fedora users

Since this project is focused on Arch-based distros it may behave unexpectedly in other distributions. For that matter we have a fork that is exclusively focused on Debian and Fedora with minor changes. Feel free to check it out!

i3 themer for Debian

i3wm-themer's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

i3wm-themer's Issues

backup.py should check there are files

i was installing this theme with script, but i couldn't notice this thing make a just one backup file, a original config file that i edited is gone forever. it was totally my mistake but i want no one do this dummy thing again. this thing should check there are backup files and if its exist it should make another backup like backup[2]/i3/config etc.... Thanks

Reverting changes made

Is there a way to revert/uninstall the changes made during installation? I ran the installation and there was no bar, plus I decided I wanted to go back to how things were. I replaced the new config with my old config but there is still no bar and I haven't got my old window settings back.

Best way to tweak settings without breaking updates?

Hi there - pretty slick setup here. Few questions:

  1. Is there a recommended way to make changes to the setup that will not break future updates? (theme - I assume I can just copy one, and tweak as wanted, then load)
  2. What is the proper way to update? git pull and run the script again?
  3. I'm having a hard time finding where to make changes (in a safe way) to the bar. I simply want a bar on each monitor with the appropriate workspace number represented there. Current config always makes me look around to find my windows when cycling through.

Thank you in advance.

Failed to Overwrite Everything?

I setup a fresh install, fresh i3 config, polybar config, etc..

The initial -c command completed without error.

When applying any themes I am faced with the following output.


[*] i3wmthemer script started

[*] You have entered theming mode.
	[*] Located the theme directory.
	[+] Fonts are set up successfully
	[+] GTK Theme migration completed successfully.
	[+] Icon migration completed successfully.
	[*] Located .extend.Xresources file in theme the directory.
	[*] Located ~/.Xresources file.
	[-] Failed to apply change: Overwrite *.background: .
	[-] Failed to apply change: Overwrite *.foreground: .
	[-] Failed to apply change: Overwrite *.cursorColor: .
	[-] Failed to apply change: Overwrite URxvt.background .
	[-] Failed to apply change: Overwrite URxvt*foreground .
	[-] Failed to apply change: Overwrite URxvt*cursorColor .
	[-] Failed to apply change: Overwrite URxvt.font .
	[-] Failed to apply change: Overwrite *.color0: .
	[-] Failed to apply change: Overwrite *.color1: .
	[-] Failed to apply change: Overwrite *.color2: .
	[-] Failed to apply change: Overwrite *.color3: .
	[-] Failed to apply change: Overwrite *.color4: .
	[-] Failed to apply change: Overwrite *.color5: .
	[-] Failed to apply change: Overwrite *.color6: .
	[-] Failed to apply change: Overwrite *.color7: .
	[-] Failed to apply change: Overwrite *.color8: .
	[-] Failed to apply change: Overwrite *.color9: .
	[-] Failed to apply change: Overwrite *.color10: .
	[-] Failed to apply change: Overwrite *.color11: .
	[-] Failed to apply change: Overwrite *.color12: .
	[-] Failed to apply change: Overwrite *.color13: .
	[-] Failed to apply change: Overwrite *.color14: .
	[-] Failed to apply change: Overwrite *.color15: .
	[-] Failed to apply change: Overwrite rofi.color-enabled .
	[-] Failed to apply change: Overwrite rofi.color-window .
	[-] Failed to apply change: Overwrite rofi.color-normal .
	[-] Failed to apply change: Overwrite rofi.color-active .
	[-] Failed to apply change: Overwrite rofi.color-urgent .
	[-] Failed to apply change: Overwrite rofi.font .
	[*] Finished editing ~/.extend.Xresources file.
	[*] Executing 'xrdb ~/.Xresources' command.
	[*] Success!
	[+] Located .i3/config file in the theme directory.
	[+] Located ~/.config/i3/config file.
	[-] Failed to apply change: Overwrite new_window .
	[-] Failed to apply change: Overwrite new_float .
	[-] Failed to apply change: Overwrite new_window .
	[-] Failed to apply change: Overwrite client.background .
	[-] Failed to apply change: Overwrite client.focused .
	[-] Failed to apply change: Overwrite client.unfocused .
	[-] Failed to apply change: Overwrite client.focused_inactive .
	[-] Failed to apply change: Overwrite client.urgent .
	[-] Failed to apply change: Overwrite client.placeholder .
	[+] Located .config/polybar/config file in the theme directory.
	[+] Located ~/.config/polybar/config file.
	[-] Failed to apply change: Overwrite bottom .
	[+] Applied change: Overwrite height .
	[+] Applied change: Overwrite width .
	[-] Failed to apply change: Overwrite offset-x .
	[-] Failed to apply change: Overwrite offset-y .
	[+] Applied change: Overwrite fixed-center .
	[+] Applied change: Overwrite line-size .
	[+] Applied change: Overwrite line-color .
	[+] Applied change: Overwrite border-size .
	[+] Applied change: Overwrite border-color .
	[+] Applied change: Overwrite padding-left .
	[+] Applied change: Overwrite padding-right .
	[+] Applied change: Overwrite module-margin-left .
	[+] Applied change: Overwrite module-margin-right .
	[+] Applied change: Overwrite tray-position .
	[+] Applied change: Overwrite tray-padding .
	[-] Failed to apply change: Overwrite tray-transparent .
	[-] Failed to apply change: Overwrite tray-offset-x .
	[-] Failed to apply change: Overwrite tray-offset-y .
	[-] Failed to apply change: Overwrite tray-maxsize .
	[-] Failed to apply change: Overwrite tray-detached .
	[-] Failed to apply change: Overwrite tray-background .
	[-] Failed to apply change: Overwrite wm-restack .
	[-] Failed to apply change: Overwrite background .
	[-] Failed to apply change: Overwrite foreground .
	[+] Applied change: Overwrite ;override-redirect
	[-] Failed to apply change: Overwrite label-unfocused-background .
	[-] Failed to apply change: Overwrite label-unfocused-foreground .
	[-] Failed to apply change: Overwrite label-unfocused-underline .
	[-] Failed to apply change: Overwrite label-focused-background .
	[-] Failed to apply change: Overwrite label-focused-foreground .
	[-] Failed to apply change: Overwrite label-focused-underline .
	[+] Applied change: Overwrite label-mode-background .
	[-] Failed to apply change: Overwrite label-visible-background .
	[-] Failed to apply change: Overwrite label-visible-foreground .
	[+] Applied change: Overwrite label-visible-underline .
	[-] Failed to apply change: Overwrite label-urgent-background .
	[-] Failed to apply change: Overwrite label-urgent-foreground .
	[-] Failed to apply change: Overwrite label-urgent-underline .
	[+] Applied change: Overwrite line-size .
	[+] Applied change: Overwrite line-color .
	[+] Applied change: Overwrite border-size .
	[+] Applied change: Overwrite border-color .
	[+] Located .config/polybar/config file in the theme directory.
	[+] Located ~/.dmenurc file.
	[-] Failed to apply change: Overwrite DMENU_NF= .
	[-] Failed to apply change: Overwrite DMENU_FN= .
	[-] Failed to apply change: Overwrite DMENU_SB= .
	[-] Failed to apply change: Overwrite DMENU_NB= .
	[-] Failed to apply change: Overwrite DMENU_SF= .
	[+] Located .config/compton.config file in the theme directory.
	[-] Failed to locate ~/.config/compton.conf in your configuration
	[+] Wallpaper set successfully
	[*] Restarting i3wm...
	[*] Success!
[!] Almost done, please use your appearance manager to set the wallpaper and GTK/Icon themes

[*] i3wmthemer finished

The theme does not load properly, and no visible changes are made to i3 as a result.

Running ArchLinux currently. Let me know if you need some more info.

Icons stopped showing in terminal after install

Just did a full reinstall of my system. Before I installed the i3wmthemer I saw icons for folders in ranger. After the install the icons turned into those squares that indicates missing characters. Any idea why this might be? Thanks for your work!
2018-10-07-013455_1366x768_scrot

Crashes while trying to parse non-ascii characters in old file

This is my log:

`

�[0;34;40m [>]  Located the config file �[0m

�[0;32;40m [>] �[0m Located the json file

�[0;34;40m [>]  Replacing the colors in .Xresources �[0m

�[0;32;40m [>] �[0m Located your .Xresources file

�[0;32;40m [>] �[0m Found the Xresources info in the JSON file

�[0;32;40m [>] �[0m Replacing line: '*background: #162025' with '*background: #162025'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*foreground: #bfbfbf' with '*foreground: #bfbfbf'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*cursorColor: #bfbfbf' with '*cursorColor: #bfbfbf'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*color0: #162025' with '*color0: #162025'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*color1: #393843' with '*color1: #393843'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*color2: #193a48' with '*color2: #193a48'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*color3: #235964' with '*color3: #235964'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*color4: #193a48' with '*color4: #193a48'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*color5: #2a474a' with '*color5: #2a474a'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*color6: #662b37' with '*color6: #662b37'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*color7: #bfbfbf' with '*color7: #bfbfbf'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*color8: #365a5c' with '*color8: #365a5c'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*color9: #662b37' with '*color9: #662b37'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*color10: #193a48' with '*color10: #193a48'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*color11: #193a48' with '*color11: #193a48'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*color12: #75404b' with '*color12: #75404b'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*color13: #662b37' with '*color13: #662b37'

�[0;32;40m [>] �[0m Success!

�[0;32;40m [>] �[0m Replacing line: '*color14: #083842' with '*color14: #083842'

�[0;32;40m [>] �[0m Success!

�[0;34;40m [>]  Replacing the colors in your i3 configuration file �[0m

�[0;32;40m [>] �[0m Located your i3 configuration file

�[0;32;40m [>] �[0m Found the i3wm info in the JSON file

Traceback (most recent call last):

  File "i3wm-themer.py", line 51, in <module>

    ri.replace_i3( configuration, jfile)

  File "/home/noone/i3wm-themer/src/replace_i3.py", line 15, in replace_i3

    rl.replace_line( configuration['i3-config'], 'client.background', 'client.background 
'+i3wm['client.background'])

  File "/home/noone/i3wm-themer/src/replace_line.py", line 11, in replace_line
    for line in old_file:

  File "/usr/lib/python-exec/python3.5/../../../lib64/python3.5/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 6809: ordinal not in range(128)

The program should be able to replace these without crashing. Might I suggest just invoking sed instead of trying to do this in-house with python replacements?

./install_ubuntu.sh ends with errors:

After letting the script generate example files I am presented with this:

[>] Located the config file
[>] Located the json file
[>] Replacing the colors in .Xresources
[x] Failed to locate your .Xresources file
[>] Replacing the colors in your i3 configuration file
[x] Failed to locate your i3 configuration file
[>] Replacing your Polybar configuration file
[x] Failed to locate your polybar configuration file
[>] Replacing wallpaper
[x] Failed to locate your nitrogen configuration file
[>] Refreshing i3 and xrdb and setting wallpaper
xrdb: No such file or directory
xrdb: can't open file '/home/root/.Xresources'
[>] Done!

Not sure if I can leave it like this, but the python script is nowhere to be found, and change.sh 003 does "something" but it's immediately reversed to the previous (default) I3 design.

I installed i3 gaps, polybar and nitrogen manually, yet I get these errors and wonder how to proceed. Thank you!

btw. using mint19 and latest i3 gaps

Setting themes is not working, wallpapers not working.

When I run
python i3wm-themer.py --config config.yaml --load themes/[theme_id].json
terminal returns "failed to load .json file"
Also as of this moment my wallpaper has not changed during the install process.
I am running MANJARO I3 gaps, and I was successful every step of the way on this install process up until this point. Please advise. Thanx

Failed to apply change: Overwrite background .

Good afternoon:
I encountered a problem:

➜  scripts git:(master) ✗ ./i3wmthemer -t Colors    


[*] i3wmthemer script started

[*] You have entered theming mode.
	[*] Located the theme directory.
	[+] Fonts are set up successfully
	[+] GTK Theme migration completed successfully.
	[+] Icon migration completed successfully.
	[*] Located .extend.Xresources file in theme the directory.
	[*] Located ~/.Xresources file.
	[+] Applied change: Overwrite *.background:
	[+] Applied change: Overwrite *.foreground:
	[+] Applied change: Overwrite *.cursorColor:
	[+] Applied change: Overwrite URxvt.background:
	[+] Applied change: Overwrite URxvt*foreground:
	[+] Applied change: Overwrite URxvt*cursorColor:
	[+] Applied change: Overwrite URxvt.font:
	[+] Applied change: Overwrite *.color0:
	[+] Applied change: Overwrite *.color1:
	[+] Applied change: Overwrite *.color2:
	[+] Applied change: Overwrite *.color3:
	[+] Applied change: Overwrite *.color4:
	[+] Applied change: Overwrite *.color5:
	[+] Applied change: Overwrite *.color6:
	[+] Applied change: Overwrite *.color7:
	[+] Applied change: Overwrite *.color8:
	[+] Applied change: Overwrite *.color9:
	[+] Applied change: Overwrite *.color10:
	[+] Applied change: Overwrite *.color11:
	[+] Applied change: Overwrite *.color12:
	[+] Applied change: Overwrite *.color13:
	[+] Applied change: Overwrite *.color14:
	[+] Applied change: Overwrite *.color15:
	[+] Applied change: Overwrite rofi.color-enabled:
	[+] Applied change: Overwrite rofi.color-window:
	[+] Applied change: Overwrite rofi.color-normal:
	[+] Applied change: Overwrite rofi.color-active:
	[+] Applied change: Overwrite rofi.color-urgent:
	[+] Applied change: Overwrite rofi.font:
	[*] Finished editing ~/.extend.Xresources file.
	[*] Executing 'xrdb ~/.Xresources' command.
	[*] Success!
	[+] Located .i3/config file in the theme directory.
	[+] Located ~/.config/i3/config file.
	[+] Applied change: Overwrite new_window
	[+] Applied change: Overwrite new_float
	[+] Applied change: Overwrite new_window
	[-] Failed to apply change: Overwrite client.background .
	[+] Applied change: Overwrite client.focused .
	[+] Applied change: Overwrite client.unfocused .
	[+] Applied change: Overwrite client.focused_inactive .
	[+] Applied change: Overwrite client.urgent .
	[+] Applied change: Overwrite client.placeholder .
	[+] Located .config/polybar/config file in the theme directory.
	[+] Located ~/.config/polybar/config file.
	[+] Applied change: Overwrite bottom .
	[+] Applied change: Overwrite height .
	[+] Applied change: Overwrite width .
	[+] Applied change: Overwrite offset-x .
	[+] Applied change: Overwrite offset-y .
	[+] Applied change: Overwrite fixed-center .
	[+] Applied change: Overwrite line-size .
	[+] Applied change: Overwrite line-color .
	[+] Applied change: Overwrite border-size .
	[+] Applied change: Overwrite border-color .
	[+] Applied change: Overwrite padding-left .
	[+] Applied change: Overwrite padding-right .
	[+] Applied change: Overwrite module-margin-left .
	[+] Applied change: Overwrite module-margin-right .
	[+] Applied change: Overwrite tray-position .
	[+] Applied change: Overwrite tray-padding .
	[+] Applied change: Overwrite tray-transparent .
	[+] Applied change: Overwrite tray-offset-x .
	[+] Applied change: Overwrite tray-offset-y .
	[+] Applied change: Overwrite tray-maxsize .
	[+] Applied change: Overwrite tray-detached .
	[+] Applied change: Overwrite tray-background .
	[+] Applied change: Overwrite wm-restack .
	[-] Failed to apply change: Overwrite background .
	[-] Failed to apply change: Overwrite foreground .
	[+] Applied change: Overwrite ;override-redirect
	[+] Applied change: Overwrite label-unfocused-background .
	[+] Applied change: Overwrite label-unfocused-foreground .
	[-] Failed to apply change: Overwrite label-unfocused-underline .
	[-] Failed to apply change: Overwrite label-focused-background .
	[+] Applied change: Overwrite label-focused-foreground .
	[-] Failed to apply change: Overwrite label-focused-underline .
	[+] Applied change: Overwrite label-mode-background .
	[-] Failed to apply change: Overwrite label-visible-background .
	[-] Failed to apply change: Overwrite label-visible-foreground .
	[+] Applied change: Overwrite label-visible-underline .
	[-] Failed to apply change: Overwrite label-urgent-background .
	[+] Applied change: Overwrite label-urgent-foreground .
	[+] Applied change: Overwrite label-urgent-underline .
	[+] Applied change: Overwrite line-size .
	[+] Applied change: Overwrite line-color .
	[+] Applied change: Overwrite border-size .
	[+] Applied change: Overwrite border-color .
	[+] Located .config/polybar/config file in the theme directory.
	[+] Located ~/.dmenurc file.
	[+] Applied change: Overwrite DMENU_NF="#ead49b" .
	[+] Applied change: Overwrite DMENU_FN="Hack-10.5" .
	[+] Applied change: Overwrite DMENU_SB="#1e272b" .
	[+] Applied change: Overwrite DMENU_NB="#1e272b" .
	[+] Applied change: Overwrite DMENU_SF="#78824b" .
	[+] Located .config/compton.config file in the theme directory.
	[+] Located ~/.config/compton.conf file.
	[+] Applied change: Overwrite shadow-radius
	[+] Applied change: Overwrite shadow-offset-x
	[+] Applied change: Overwrite shadow-offset-y
	[+] Applied change: Overwrite shadow-opacity
	[+] Applied change: Overwrite no-dock-shadow
	[+] Wallpaper set successfully
	[*] Restarting i3wm...
	[*] Success!
[!] Almost done, please use your appearance manager to set the wallpaper and GTK/Icon themes

[*] i3wmthemer finished

this is my polybar config:

;=====================================================
;
;   To learn more about how to configure Polybar
;   go to https://github.com/jaagr/polybar
;
;   The README contains alot of information
;
;=====================================================

[colors]

color15_i3wmthemer	    = ${xrdb:color15}
color14_i3wmthemer	    = ${xrdb:color14}
color13_i3wmthemer	    = ${xrdb:color13}
color12_i3wmthemer	    = ${xrdb:color12}
color11_i3wmthemer	    = ${xrdb:color11}
color10_i3wmthemer	    = ${xrdb:color10}
color09_i3wmthemer	      = ${xrdb:color9}
color08_i3wmthemer	      = ${xrdb:color8}
color07_i3wmthemer	      = ${xrdb:color7}
color06_i3wmthemer	      = ${xrdb:color6}
color05_i3wmthemer	      = ${xrdb:color5}
color04_i3wmthemer	      = ${xrdb:color4}
color03_i3wmthemer	      = ${xrdb:color3}
color02_i3wmthemer	      = ${xrdb:color2}
color01_i3wmthemer      = ${xrdb:color1}
color00_i3wmthemer	      = ${xrdb:color0}
foreground_i3wmthemer 	= ${xrdb:foreground}
background_i3wmthemer 	= ${xrdb:background}

;background = ${xrdb:color0:#222}
background = #222
background-alt = #444
;foreground = ${xrdb:color7:#222}
foreground = #dfdfdf
foreground-alt = #555
primary = #ffb52a
secondary = #e60053
alert = #bd2c40

[bar/main_bar]
;monitor = ${env:MONITOR:HDMI-1}
bottom = false
width = 100%
height = 20
offset-x = 0
offset-y = 0
radius = 6.0
fixed-center = true

background = ${colors.background_i3wmthemer}
foreground =  ${colors.foreground_i3wmthemer}

line-size = 3
line-color = ${colors.color04_i3wmthemer}

border-size = 0
border-color = ${colors.color02_i3wmthemer}

padding-left = 0
padding-right = 0

module-margin-left = 0
module-margin-right = 0

font-0 = fixed:pixelsize=10;1
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
font-2 = siji:pixelsize=10;1

modules-left = bspwm i3
modules-center = 
modules-right = filesystem xbacklight volume xkeyboard memory cpu wlan eth battery temperature date powermenu

tray-position = right
tray-padding = 9
tray-transparent = false
tray-offset-y = 0%
tray-offset-x = 0%
tray-maxsize = 18
tray-detached = false
tray-background = ${colors.background_i3wmthemer}

;wm-restack = bspwm
wm-restack = i3

;override-redirect = true

;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev

;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev

cursor-click = pointer
cursor-scroll = ns-resize

[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%

[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock

format-prefix = ""
format-prefix-foreground = ${colors.foreground-alt}
format-prefix-underline = ${colors.secondary}

label-layout = %layout%
label-layout-underline = ${colors.secondary}

label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-background = ${colors.secondary}
label-indicator-underline = ${colors.secondary}

[module/filesystem]
type = internal/fs
interval = 25

mount-0 = /

label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}

[module/bspwm]
type = internal/bspwm

label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2

label-occupied = %index%
label-occupied-padding = 2

label-urgent = %index%!
label-urgent-background = ${colors.alert}
label-urgent-padding = 2

label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2

[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = false
strip-wsnumbers = true
pin-workspaces = true
; Only show workspaces on the same output as the bar
;pin-workspaces = true
label-unfocused-background = ${colors.background_i3wmthemer}
label-unfocused-foreground = ${colors.foreground_i3wmthemer}

label-mode = %name%
label-mode-padding = 2
label-mode-foreground = #000
label-mode-background = ${colors.color04_i3wmthemer}

; focused = Active workspace on focused monitor
label-focused = %name%
label-focused-foreground = ${colors.color04_i3wmthemer}
label-focused-background = ${module/bspwm.label-focused-background}
label-focused-underline = ${module/bspwm.label-focused-underline}
label-focused-padding = ${module/bspwm.label-focused-padding}

; unfocused = Inactive workspace on any monitor
label-unfocused = %name%
label-unfocused-padding = ${module/bspwm.label-occupied-padding}

; visible = Active workspace on unfocused monitor
label-visible = %name%
label-visible-foreground = ${colors.color04_i3wmthemer}
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${colors.color04_i3wmthemer}
label-visible-padding = ${self.label-focused-padding}

; urgent = Workspace with urgency hint set
label-urgent = %name%
label-urgent-foreground = ${colors.foreground_i3wmthemer}
label-urgent-background = ${colors.background_i3wmthemer}
label-urgent-underline = ${colors.color02_i3wmthemer}
label-urgent-padding = ${module/bspwm.label-urgent-padding}

[module/mpd]
type = internal/mpd
format-online = <label-song>  <icon-prev> <icon-stop> <toggle> <icon-next>

icon-prev = 
icon-stop = 
icon-play = 
icon-pause = 
icon-next = 

label-song-maxlen = 25
label-song-ellipsis = true

[module/xbacklight]
type = internal/xbacklight

format = <label> <bar>
label = BL

bar-width = 10
bar-indicator = |
bar-indicator-foreground = #ff
bar-indicator-font = 2
bar-fill = ─
bar-fill-font = 2
bar-fill-foreground = #9f78e1
bar-empty = ─
bar-empty-font = 2
bar-empty-foreground = ${colors.foreground-alt}

[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight

[module/cpu]
type = internal/cpu
interval = 2
format-prefix = ""
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #f90000
label = %percentage:2%%

[module/memory]
type = internal/memory
interval = 2
format-prefix = ""
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #4bffdc
label = %percentage_used%%

[module/wlan]
type = internal/network
interface = wlp3s0
interval = 3.0

format-connected = <ramp-signal> <label-connected>
format-connected-underline = #9f78e1
label-connected = %essid%

format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}

ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = ${colors.foreground-alt}

[module/eth]
type = internal/network
interface = zt0
interval = 3.0

format-connected-underline = #55aa55
format-connected-prefix = ""
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%

format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}

[module/date]
type = internal/date
interval = 5

date =
date-alt = " %Y-%m-%d"

time = %H:%M
time-alt = %H:%M:%S

format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5

label = %date% %time%

[module/volume]
type = internal/volume

format-volume = <label-volume> <bar-volume>
label-volume = VOL
label-volume-foreground = ${root.foreground}

format-muted-prefix = ""
format-muted-foreground = ${colors.foreground-alt}
label-muted = sound muted

bar-volume-width = 10
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}

[module/battery]
type = internal/battery
battery = BAT0
adapter = ADP1
full-at = 98

format-charging = <animation-charging> <label-charging>
format-charging-underline = #ffb52a

format-discharging = <ramp-capacity> <label-discharging>
format-discharging-underline = ${self.format-charging-underline}

format-full-prefix = ""
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = ${self.format-charging-underline}

ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-foreground = ${colors.foreground-alt}

animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750

[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60

format = <ramp> <label>
format-underline = #f50a4d
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}

label = %temperature%
label-warn = %temperature%
label-warn-foreground = ${colors.secondary}

ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-foreground = ${colors.foreground-alt}

[module/powermenu]
type = custom/menu

expand-right = true

format-spacing = 1

label-open = 
label-open-foreground = ${colors.secondary}
label-close =  cancel
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}

menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2

menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot

menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0

[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over

[global/wm]
margin-top = 5
margin-bottom = 5

; vim:ft=dosini

I found a rule that errors only appear in places containing "background" or "foreground"

Apply theme colors to terminal?

Installation from script on Ubuntu 18.04 with i3 went great! The only issue I ran into is that the terminal theme and color didn't seem to be applied to my terminal (i.e. it's still purple). To install, I installed the Python dependencies, then ran the install script. Is there a step I'm missing?

Thanks for your help :) these themes look amazing.

Feature request: update Readme.md

First of all: thanks for the amazing work and super easy install scripts. Now to my point:

The readme is well written, unfortunately not absolutely up to date. for example, it is missing completely the information about the very handy script 'change.sh' and how to use it.

Furthermore, it would make sense to me to include installation of the python-pip package in the install_ubuntu.sh script, and afterwards installing the requirements from requirements.txt in the script, effectively making it super-easy to install via only one script.

pip3 install -r requirements.txt fails for Python 3.7.1, upgrading from PyYAML 3.12 to 3.13 fixes the issue

Relevant info:

  • python 3.7.1
  • pip 18.1

I'm not that versed in Python, but I tried to pip install pyyaml==3.12 and it failed to compile libyaml according to the logs. Then I found on the library's changelog for the latest version, currently 3.13 the following section:

3.13 (2018-07-05)
-----------------

* Rebuilt with the latest Cython to support the new Python 3.7 release.
* No functionality is different from PyYAML 3.12 in this release.

Then I decided to install pyyaml==3.13 instead, and it worked. Considering that according to the changelog - and I also checked the commits - there are no changes in functionalities, would it be ok to bump the version in the requirements.txt to 3.13?

Gentoo Support

There were a bunch of hoops I had to go throught to get this working on gentoo that I should probably add to the Readme, for the good of humanity. Package Names, versions, use flags, etc. I will go ahead and submit a pull request for the installation section and attach it to this issue. Now if only I could remember what I did to get it working...

i3 config file is not changing & polybar errors

I tried applying some themes but every time after your script applied these changes, my i3 Appearance + my i3 config haven't changed at all. If I try to run polybar I get this error: "error: The reference ${colors.color04_i3wmthemer} does not exist (no fallback set)". What can I do? My i3 config is located in .config/i3/config + a link from .i3/config to .config/i3/config.

Yaourt Automatically installed for Arch users

Yaourt has not been in active development for a number of years now and is no longer recommended as it is not secure in the way that it builds packages from the AUR.

Instead of forcing this on Arch users (and not uninstalling it at the end of setup if it installed itself in the first place...), I would instead attempt to find an AUR helper from the Arch WIKI that is already installed and use that instead.

wallpaper

I keep losing the wallpaper, any ideas?

Polybar eth and wlan module not working

2019-04-23-173706_1919x27_scrot
In polybar config file,https://github.com/unix121/i3wm-themer/blob/f8e269d02199494b52f2525d7a3ff93459fe3203/src/defaults/polybar.template#L28
The right module not working except powermenu. The situation appears in all themes I'v tried.
In before screenshot picture, the center 8% is pulseaudio module I added to test and it is working.

[module/pulseaudio]
type = internal/pulseaudio_12_00.3.analog-stereo
use-ui-max = true
interval = 5

This is my config file:

[bar/i3wmthemer_bar]
width = 100%
height = 27
radius = 0
fixed-center = false

background = #162025
foreground = #bfbfbf

line-size = 3
line-color =

border-size = 0
border-color =

padding-left = 0
padding-right = 2

module-margin-left = 1
module-margin-right = 2

font-0 = "Source Code Pro Semibold:size=10;1"
font-1 = "Font Awesome 5 Free:style=Solid:size=10;1"
font-2 = "Font Awesome 5 Brands:size=10;1"

modules-left = i3
modules-center = date
modules-right = wlan eth powermenu

tray-position = right
tray-padding = 4  

cursor-click = pointer
cursor-scroll = ns-resize

[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = false

label-mode-padding = 2
label-mode-foreground = #162025
label-mode-background = #75404b

label-focused = %index%
label-focused-background = #75404b
label-focused-foreground = #6b7443
label-focused-padding = 2

label-unfocused = %index%
label-unfocused-background = #75404b
label-unfocused-foreground = #162025
label-unfocused-padding = 2

label-visible = %index%
label-visible-background = #75404b
label-visible-foreground = #162025
label-visible-padding = 2

label-urgent = %index%
label-urgent-background = #BA2922
label-urgent-padding = 2

[module/pulseaudio]
type = internal/pulseaudio

; Sink to be used, if it exists (find using `pacmd list-sinks`, name field)
; If not, uses default sink
sink = alsa_output.pci-0000_12_00.3.analog-stereo

; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false
; Default: true
use-ui-max = true

; Interval for volume increase/decrease (in percent points)
; Default: 5
interval = 5

[module/wlan]
type = internal/network
interface = net1
interval = 3.0

format-connected = <ramp-signal> <label-connected>
format-connected-foreground = #162025
format-connected-background = #39402e
format-connected-padding = 2
label-connected = %essid%

format-disconnected =

ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = #162025

[module/eth]
;type = internal/network
;interface = enp0s3
;interval = 3.0
;
;format-connected-padding = 2
;format-connected-foreground = #162025
;format-connected-background = #39402e
;format-connected-prefix = " "
;format-connected-prefix-foreground = #162025
;label-connected = %local_ip%
;
;format-disconnected =
type = internal/network
interface = enp2s0
interval = 3.0
format-connected = <label-connected>
format-connected-prefix = ""
format-connected-prefix-foreground = #b6a49b
label-connected = %downspeed:9%
format-disconnected = <label-disconnected>
label-disconnected = not connected
label-disconnected-foreground = #66ffffff
format-padding = 1

[module/date]
type = internal/date
interval = 5

date =
date-alt = " %Y-%m-%d"

time = %H:%M
time-alt = %H:%M:%S

format-prefix = 
format-foreground = #162025
format-background = #4c584a
format-padding = 2

label = %date% %time%

[module/powermenu]
type = custom/menu

expand-right = true

format-spacing = 1

label-open = 
label-open-foreground = #39402e
label-close =  cancel
label-close-foreground = #39402e
label-separator = |
label-separator-foreground = #39402e

menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2
menu-0-2 = log off
menu-0-2-exec = menu-open-3

menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = reboot

menu-2-0 = power off
menu-2-0-exec = poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0

menu-3-0 = log off
menu-3-0-exec = pkill -KILL -u $USER
menu-3-1 = cancel
menu-3-1-exec = menu-open-0

[settings]
screenchange-reload = true

[global/wm]
margin-top = 0
margin-bottom = 0

No module named yaml

I'm on Debian Sid. Ran

./install_debian.sh
pip install -r requirements.txt
cd src
cp -r ../scripts/* /home/$USER/.config/polybar/

When trying to do the next step, it get this:

i3wm-themer/src on  master [!]
➜ pwd
/home/suseika/.config/i3/i3wm-themer/src

i3wm-themer/src on  master [!]
➜ python i3wm-themer.py --config config.yaml --install defaults/
Traceback (most recent call last):
  File "i3wm-themer.py", line 8, in <module>
    import yaml
ImportError: No module named yaml

but the yaml module from requirements.txt seems to be installed:

➜ sudo python3 -m pip install -r ../requirements.txt
Requirement already satisfied: pyyaml==3.13 in /usr/lib/python3/dist-packages (from -r ../requirements.txt (line 1)) (3.13)

Input method not support?

I installed fcitx-im, and whatever i try to open fcitx-configtool and set up language, no tray icon appears and I can't operate to change input method.
I'v followed wiki to add export XMODIFIERS="@im=fcitx" export GTK_IM_MODULE="fcitx" export QT_IM_MODULE="fcitx" in .xinitrcfile.
Then i try to install ibus, still no tray icon and have no idea to deal.
But usingps -e | grep fcitx,the fcitx is running. I think whether polybar hide the original bar?
Then i try to repeat all these install operating in my another Virtual Machine without i3wm-themer , the tray icon works
1
and i can easily change the sunpinyin and keyboard English using ctrl+space.
So is there any way to support input method?

Limited number of modules

Hello unix121,
first of all, thank you for your work; I like what you did.
I successfully installed everything on my machine, and it seems to be working well in general. However, I would like to have more than 4 modules with polybar. Currently it shows: the wifi; the workspace numbers; the time/date; the power button. I would like to add cpu & memory usage, battery status, xkeyboard, and volume.
Modifying the polybar config file, I tried to add a few modules, but they do not appear on the bar on restart. I guess it has something to do with the parameters in the section [bar/i3wmthemer_bar]? Or do I have to change some other config file in the /i3wm-themer folder?
Here is my polybar config file:

[bar/i3wmthemer_bar]
width = 100%
height = 27
radius = 0
fixed-center = false

background = #1d1f21
foreground = #c5c8c6

line-size = 3
line-color =

border-size = 0
border-color =

padding-left = 0
padding-right = 2

module-margin-left = 1
module-margin-right = 2

font-0 = "Source Code Pro Semibold:pixelsize=10;1"
font-1 = "Font Awesome 5 Free:style=Solid:pixelsize=10;1"
font-2 = "Font Awesome 5 Brands:pixelsize=10;1"

modules-left = wlan eth
modules-center = i3
modules-right = date powermenu

tray-position =
;tray-padding =

cursor-click = pointer
cursor-scroll = ns-resize

[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = false

label-mode-padding = 2
label-mode-foreground = #282a2e
label-mode-background = #1d1f21

label-focused = %index%
label-focused-background = #5f819d
label-focused-foreground = #1d1f21
label-focused-padding = 2

label-unfocused = %index%
label-unfocused-background = #81a2be
label-unfocused-foreground = #1d1f21
label-unfocused-padding = 2

label-visible = %index%
label-visible-background = #81a2be
label-visible-foreground = #1d1f21
label-visible-padding = 2

label-urgent = %index%
label-urgent-background = #BA2922
label-urgent-padding = 2

[module/wlan]
type = internal/network
interface = wlp3s0
interval = 3.0

format-connected = <ramp-signal> <label-connected>
format-connected-foreground = #1d1f21
format-connected-background = #81a2be
format-connected-padding = 2
label-connected = %essid%

format-disconnected =

ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = #1d1f21

; Test connectivity every Nth update
; A value of 0 disables the feature
; NOTE: Experimental (needs more testing)
; Default: 0
;ping-interval = 3

; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%)
; Minimum output width of upload/download rate
; Default: 3
udspeed-minwidth = 5

; Accumulate values from all interfaces
; when querying for up/downspeed rate
; Default: false
accumulate-stats = true

; Consider an `UNKNOWN` interface state as up.
; Some devices have an unknown state, even when they're running
; Default: false
unknown-as-up = true

[module/eth]
type = internal/network
interface = enp2s0f1
interval = 3.0

format-connected-padding = 2
format-connected-foreground = #1d1f21
format-connected-background = #81a2be
format-connected-prefix = " "
format-connected-prefix-foreground = #1d1f21
label-connected = %local_ip%

format-disconnected =

[module/date]
type = internal/date
interval = 5

date =
date-alt = " %Y-%m-%d"

time = %H:%M
time-alt = %H:%M:%S

format-prefix = 
format-foreground = #1d1f21
format-background = #81a2be
format-padding = 2

label = %date% %time%

[module/powermenu]
type = custom/menu

expand-right = true

format-spacing = 1

label-open = 
label-open-foreground = #81a2be
label-close =  cancel
label-close-foreground = #81a2be
label-separator = |
label-separator-foreground = #81a2be

menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2

menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot

menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0

[settings]
screenchange-reload = true

[global/wm]
margin-top = 0
margin-bottom = 0

[module/battery]
type = internal/battery

; This is useful in case the battery never reports 100% charge
full-at = 99

; Use the following command to list batteries and adapters:
; $ ls -1 /sys/class/power_supply/
battery = BAT1
adapter = ACAD

; If an inotify event haven't been reported in this many
; seconds, manually poll for new values.
;
; Needed as a fallback for systems that don't report events
; on sysfs/procfs.
;
; Disable polling by setting the interval to 0.
;
; Default: 5
poll-interval = 5

; see "man date" for details on how to format the time string
; NOTE: if you want to use syntax tags here you need to use %%{...}
; Default: %H:%M:%S
;time-format = %H:%M

; Available tags:
;   <label-charging> (default)
;   <bar-capacity>
;   <ramp-capacity>
;   <animation-charging>
format-charging = <animation-charging> <label-charging>

; Available tags:
;   <label-discharging> (default)
;   <bar-capacity>
;   <ramp-capacity>
;   <animation-discharging>
format-discharging = <ramp-capacity> <label-discharging>

; Available tags:
;   <label-full> (default)
;   <bar-capacity>
;   <ramp-capacity>
;format-full = <ramp-capacity> <label-full>

; Available tokens:
;   %percentage% (default)
;   %time%
;   %consumption% (shows current charge rate in watts)
label-charging = Charging %percentage%%

; Available tokens:
;   %percentage% (default)
;   %time%
;   %consumption% (shows current discharge rate in watts)
label-discharging = Discharging %percentage%%

; Available tokens:
;   %percentage% (default)
label-full = Fully charged

; Only applies if <ramp-capacity> is used
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 

; Only applies if <bar-capacity> is used
bar-capacity-width = 10

; Only applies if <animation-charging> is used
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-3 = 
animation-charging-4 = 
; Framerate in milliseconds
animation-charging-framerate = 750

; Only applies if <animation-discharging> is used
animation-discharging-0 = 
animation-discharging-1 = 
animation-discharging-2 = 
animation-discharging-3 = 
animation-discharging-4 = 
; Framerate in milliseconds
animation-discharging-framerate = 500

[module/cpu]
type = internal/cpu

; Seconds to sleep between updates
; Default: 1
interval = 0.5

; Available tags:
;   <label> (default)
;   <bar-load>
;   <ramp-load>
;   <ramp-coreload>
format = <label> <ramp-coreload>

; Available tokens:
;   %percentage% (default) - total cpu load
;   %percentage-cores% - load percentage for each core
;   %percentage-core[1-9]% - load percentage for specific core
label = CPU %percentage%%

ramp-coreload-0 = ▁
ramp-coreload-1 = ▂
ramp-coreload-2 = ▃
ramp-coreload-3 = ▄
ramp-coreload-4 = ▅
ramp-coreload-5 = ▆
ramp-coreload-6 = ▇
ramp-coreload-7 = █

My system:
Kernel: 4.9.98-1-MANJARO x86_64 bits: 64 compiler: gcc v: 7.3.1 Desktop: i3 4.15.0.1 Distro: Manjaro Linux 17.1.10 Hakoila Machine: Type: Laptop System: Acer product: Aspire A515-51G

I would appreciate if you could help me out.

Please convert every file in this to a jinja theme or similar.

Hello,

Avoiding the apparent design issues with interpolation checks, I might suggest that you instead move to using jinja templates or similar for all files and then doing a full file replacement during application of themes,after storing the last used theme in a backup folder automatically. And then making the paths configurable in a config file for the tool itself.

This will give you much greater flexibility in each theme and will make themes almost universally applicable. I would also do away completely with any interaction with .Xresources and .extend.X*.

I'd submit a pull request doing this myself but it would be a full rewrite, and I'll need to devote that time to unkinking all my config files now to get a usable desktop again.

sudo pip / Arch

On line 14 of the Arch install script, the Python dependencies get installed globally through pip. However, from past experience, running sudo pip anything can get you into trouble in Arch, because it confuses pacman. From the Arch wiki:

If you must use pip, use a virtual environment or with pip install --user to avoid conflicting with packages in /usr. It is always preferred to use pacman to install software.

I already had pyyaml installed globally through pacman (sudo pacman -S python-yaml), and it worked just fine for me. I think if that's the only Python dependency that is forseen to be used, it makes more sense to just add python-yaml to the packages getting installed by pacman on line 10 and skip installing requirements.txt altogether; if not, line 14 should probably be pip install --user -r requirements.txt.

Theme fails to load on login

First of all I am in love with this.
There's one problem I've been experiencing lately.
After I set the theme, logout of the session and re-login, the theme fails to load.
I have to run the script again to make it load.
the .xresources file and the i3 config are not even changed after re-login. And if i try reloading i3, theres no change either.
I have to always run the script at startup to get back the theme.

Environment:
manjaro i3 edition
secondary cinnamon DE
linux 4.15-manjaro

Large Mouse

When im inside applications such as chrome my mouse is the correct size, otherwise the mouse size is giant, any thoughts?

How to change i3 settings

Hello noob here. I'm wondering if I can change my i3 settings while using this theme selector. It looks great but my i3 config changes about workspace positions and applications is gone. That is fine I can re-input them but I'm not sure how to do that. Modifying my original ~/.i3/config file doesn't change anything. I assume now my system is looking elsewhere for these settings?

Love the look of these themes, I'm just hoping to be able to configure it appropriately.

Cheers.

Theme 004 is missing a lighter color for the focused workspace text

Hello.

I love your work so much I wanted to make an account to contribute. As mentioned in the title - I was missing a white color for the text of the active workspace. I managed to fix it, though!

In .config/polybar/config - change
label-focused-foreground = #1d1e26
to
label-focused-foreground = #ffffff

Thank you for your work, I hope this helps someone!

Please differentiate between visible and focused in polybar module/i3

For multi-monitor users there is no visual cue as to which workspace is visible on non-focused windows.

We can clearly see the workspace number that is focused, but it would also be nice to know which workspace is currently being displayed on our secondary and tertiary monitors.

I3 config file has some errors.

I have executed ./apply_theme.sh -t Minimal and it's successd.
What I need do additional ?
I use Fedora 25.
The themes is so nice.

ERROR: CONFIG: Expected one of these tokens:
ERROR: CONFIG: (in file /home/caiyuyu/.config/i3/config)
ERROR: CONFIG: Line 328: client.focused_inactive
ERROR: CONFIG: Line 329: client.urgent
ERROR: CONFIG: Line 330: client.placeholder
ERROR: CONFIG: ^^^^^^^^^^^^^^^^^^^^^^^
ERROR: CONFIG: Line 331:
ERROR: CONFIG: Line 332:
ERROR: CONFIG: Expected one of these tokens:
ERROR: CONFIG: (in file /home/caiyuyu/.config/i3/config)
ERROR: CONFIG: Line 329: client.urgent
ERROR: CONFIG: Line 330: client.placeholder
ERROR: CONFIG: Line 331:
ERROR: CONFIG:
ERROR: CONFIG: Line 332:
ERROR: CONFIG: Line 333: #############################
ERROR: CONFIG: Expected one of these tokens: , '#', 'set', 'set_from_resource', 'bindsym', 'bindcode', 'bind', 'bar', 'font', 'mode', 'floating_minimum_size', 'floating_maximum_size', 'floating_modifier', 'default_orientation', 'workspace_layout', 'new_window', 'new_float', 'hide_edge_borders', 'for_window', 'assign', 'no_focus', 'focus_follows_mouse', 'mouse_warping', 'force_focus_wrapping', 'force_xinerama', 'force-xinerama', 'workspace_auto_back_and_forth', 'fake_outputs', 'fake-outputs', 'force_display_urgency_hint', 'focus_on_window_activation', 'show_marks', 'workspace', 'ipc_socket', 'ipc-socket', 'restart_state', 'popup_during_fullscreen', 'exec_always', 'exec', 'client.background', 'client.focused_inactive', 'client.focused', 'client.unfocused', 'client.urgent', 'client.placeholder'
ERROR: CONFIG: (in file /home/caiyuyu/.config/i3/config)
ERROR: CONFIG: Line 337:
ERROR: CONFIG: Line 338: # Set inner/outer gaps
ERROR: CONFIG: Line 339: gaps inner 8
ERROR: CONFIG: ^^^^^^^^^^^^
ERROR: CONFIG: Line 340: gaps outer -4
ERROR: CONFIG: Line 341:
ERROR: CONFIG: Expected one of these tokens: , '#', 'set', 'set_from_resource', 'bindsym', 'bindcode', 'bind', 'bar', 'font', 'mode', 'floating_minimum_size', 'floating_maximum_size', 'floating_modifier', 'default_orientation', 'workspace_layout', 'new_window', 'new_float', 'hide_edge_borders', 'for_window', 'assign', 'no_focus', 'focus_follows_mouse', 'mouse_warping', 'force_focus_wrapping', 'force_xinerama', 'force-xinerama', 'workspace_auto_back_and_forth', 'fake_outputs', 'fake-outputs', 'force_display_urgency_hint', 'focus_on_window_activation', 'show_marks', 'workspace', 'ipc_socket', 'ipc-socket', 'restart_state', 'popup_during_fullscreen', 'exec_always', 'exec', 'client.background', 'client.focused_inactive', 'client.focused', 'client.unfocused', 'client.urgent', 'client.placeholder'
ERROR: CONFIG: (in file /home/caiyuyu/.config/i3/config)
ERROR: CONFIG: Line 338: # Set inner/outer gaps
ERROR: CONFIG: Line 339: gaps inner 8
ERROR: CONFIG: Line 340: gaps outer -4
ERROR: CONFIG: ^^^^^^^^^^^^^
ERROR: CONFIG: Line 341:
ERROR: CONFIG: Line 342: # Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
ERROR: CONFIG: Expected one of these tokens: , '#', 'set', 'set_from_resource', 'bindsym', 'bindcode', 'bind', 'bar', 'font', 'mode', 'floating_minimum_size', 'floating_maximum_size', 'floating_modifier', 'default_orientation', 'workspace_layout', 'new_window', 'new_float', 'hide_edge_borders', 'for_window', 'assign', 'no_focus', 'focus_follows_mouse', 'mouse_warping', 'force_focus_wrapping', 'force_xinerama', 'force-xinerama', 'workspace_auto_back_and_forth', 'fake_outputs', 'fake-outputs', 'force_display_urgency_hint', 'focus_on_window_activation', 'show_marks', 'workspace', 'ipc_socket', 'ipc-socket', 'restart_state', 'popup_during_fullscreen', 'exec_always', 'exec', 'client.background', 'client.focused_inactive', 'client.focused', 'client.unfocused', 'client.urgent', 'client.placeholder'
ERROR: CONFIG: (in file /home/caiyuyu/.config/i3/config)
ERROR: CONFIG: Line 346:
ERROR: CONFIG: Line 347: # Smart gaps (gaps used if only more than one container on the workspace)
ERROR: CONFIG: Line 348: smart_gaps on
ERROR: CONFIG: ^^^^^^^^^^^^^
ERROR: CONFIG: Line 349:
ERROR: CONFIG: Line 350: # Smart borders (draw borders around container only if it is not the only container on this workspace)
ERROR: FYI: You are using i3 version 4.13 (2016-11-08)
ERROR: Received ConfigureNotify for unknown window 0x00400000
ERROR: Received ExposeEvent for unknown window 0x00400000
ERROR: Received ConfigureNotify for unknown window 0x00400000
ERROR: Received ExposeEvent for unknown window 0x00400000
ERROR: Received ExposeEvent for unknown window 0x00400000
ERROR: No output found at destination coordinates?
ERROR: No output found at destination coordinates?

Failed to overwrite 2 lines.

After a couple of minutes try fixing this issue manually, now i'm stuck with this 2 lines.

label-unfocused-underline .
label-visible-background .

This is the output of ./i3wmthemer -t [namethemes]

[*] i3wmthemer script started

[*] You have entered theming mode.
	[*] Located the theme directory.
	[+] Fonts are set up successfully
	[+] GTK Theme migration completed successfully.
	[+] Icon migration completed successfully.
	[*] Located .extend.Xresources file in theme the directory.
	[+] Located .i3/config file in the theme directory.
	[+] Located ~/.config/i3/config file.
	[+] Applied change: Overwrite new_window
	[+] Applied change: Overwrite new_float
	[+] Applied change: Overwrite new_window
	[+] Applied change: Overwrite client.background .
	[+] Applied change: Overwrite client.focused .
	[+] Applied change: Overwrite client.unfocused .
	[+] Applied change: Overwrite client.focused_inactive .
	[+] Applied change: Overwrite client.urgent .
	[+] Applied change: Overwrite client.placeholder .
	[+] Located .config/polybar/config file in the theme directory.
	[+] Located ~/.config/polybar/config file.
	[+] Applied change: Overwrite bottom .
	[+] Applied change: Overwrite height .
	[+] Applied change: Overwrite width .
	[+] Applied change: Overwrite offset-x .
	[+] Applied change: Overwrite offset-y .
	[+] Applied change: Overwrite fixed-center .
	[+] Applied change: Overwrite line-size .
	[+] Applied change: Overwrite line-color .
	[+] Applied change: Overwrite border-size .
	[+] Applied change: Overwrite border-color .
	[+] Applied change: Overwrite padding-left .
	[+] Applied change: Overwrite padding-right .
	[+] Applied change: Overwrite module-margin-left .
	[+] Applied change: Overwrite module-margin-right .
	[+] Applied change: Overwrite tray-position .
	[+] Applied change: Overwrite tray-padding .
	[+] Applied change: Overwrite tray-transparent .
	[+] Applied change: Overwrite tray-offset-x .
	[+] Applied change: Overwrite tray-offset-y .
	[+] Applied change: Overwrite tray-maxsize .
	[+] Applied change: Overwrite tray-detached .
	[+] Applied change: Overwrite tray-background .
	[+] Applied change: Overwrite wm-restack .
	[+] Applied change: Overwrite background .
	[+] Applied change: Overwrite foreground .
	[+] Applied change: Overwrite override-redirect
	[+] Applied change: Overwrite label-unfocused-background .
	[+] Applied change: Overwrite label-unfocused-foreground .
	[-] Failed to apply change: Overwrite label-unfocused-underline .
	[+] Applied change: Overwrite label-focused-background .
	[+] Applied change: Overwrite label-focused-foreground .
	[+] Applied change: Overwrite label-focused-underline .
	[+] Applied change: Overwrite label-mode-background .
	[-] Failed to apply change: Overwrite label-visible-background .
	[+] Applied change: Overwrite label-visible-foreground .
	[+] Applied change: Overwrite label-visible-underline .
	[+] Applied change: Overwrite label-urgent-background .
	[+] Applied change: Overwrite label-urgent-foreground .
	[+] Applied change: Overwrite label-urgent-underline .
	[+] Applied change: Overwrite line-size .
	[+] Applied change: Overwrite line-color .
	[+] Applied change: Overwrite border-size .
	[+] Applied change: Overwrite border-color .
	[+] Located .config/polybar/config file in the theme directory.
	[+] Located ~/.dmenurc file.
	[+] Applied change: Overwrite DMENU_NF="#bcbcbc" .
	[+] Applied change: Overwrite DMENU_FN="Hack-10" .
	[+] Applied change: Overwrite DMENU_SB="#3e646f" .
	[+] Applied change: Overwrite DMENU_NB="#1c1c22" .
	[+] Applied change: Overwrite DMENU_SF="#bcbcbc" .
	[+] Located .config/compton.config file in the theme directory.
	[+] Located ~/.config/compton.conf file.
	[+] Applied change: Overwrite shadow-radius
	[+] Applied change: Overwrite shadow-offset-x
	[+] Applied change: Overwrite shadow-offset-y
	[+] Applied change: Overwrite shadow-opacity
	[+] Applied change: Overwrite no-dock-shadow
	[+] Wallpaper set successfully
	[*] Restarting i3wm...
	[*] Success!
[!] Almost done, please use your appearance manager to set the wallpaper and GTK/Icon themes

[*] i3wmthemer finished

Best way to uninstall?

Hello. Thank you so much for making this themer, I have really enjoyed it. However, I want to start experimenting with my own themes and setups. What is the best way to uninstall this themer and revert back to stock i3 settings?

Thanks!

Not able to get theme changes

I am not able to get changes on my i3wm for any theme.

> ./i3wmthemer -t Forest                 


[*] i3wmthemer script started

[*] You have entered theming mode.
	[*] Located the theme directory.
	[+] Fonts are set up successfully
	[+] GTK Theme migration completed successfully.
	[+] Icon migration completed successfully.
	[*] Located .extend.Xresources file in theme the directory.
	[*] Located ~/.extend.Xresources file.
	[-] Failed to apply change: Overwrite *.background: .
	[-] Failed to apply change: Overwrite *.foreground: .
	[-] Failed to apply change: Overwrite *.cursorColor: .
	[-] Failed to apply change: Overwrite URxvt.background .
	[-] Failed to apply change: Overwrite URxvt*foreground .
	[-] Failed to apply change: Overwrite URxvt*cursorColor .
	[-] Failed to apply change: Overwrite URxvt.font .
	[-] Failed to apply change: Overwrite *.color0: .
	[-] Failed to apply change: Overwrite *.color1: .
	[-] Failed to apply change: Overwrite *.color2: .
	[-] Failed to apply change: Overwrite *.color3: .
	[-] Failed to apply change: Overwrite *.color4: .
	[-] Failed to apply change: Overwrite *.color5: .
	[-] Failed to apply change: Overwrite *.color6: .
	[-] Failed to apply change: Overwrite *.color7: .
	[-] Failed to apply change: Overwrite *.color8: .
	[-] Failed to apply change: Overwrite *.color9: .
	[-] Failed to apply change: Overwrite *.color10: .
	[-] Failed to apply change: Overwrite *.color11: .
	[-] Failed to apply change: Overwrite *.color12: .
	[-] Failed to apply change: Overwrite *.color13: .
	[-] Failed to apply change: Overwrite *.color14: .
	[-] Failed to apply change: Overwrite *.color15: .
	[-] Failed to apply change: Overwrite rofi.color-enabled .
	[-] Failed to apply change: Overwrite rofi.color-window .
	[-] Failed to apply change: Overwrite rofi.color-normal .
	[-] Failed to apply change: Overwrite rofi.color-active .
	[-] Failed to apply change: Overwrite rofi.color-urgent .
	[-] Failed to apply change: Overwrite rofi.font .
	[*] Finished editing ~/.Xresources file.
	[*] Executing 'xrdb ~/.Xresources' command.
	[*] Success!
	[+] Located .i3/config file in the theme directory.
	[+] Located ~/.config/i3/config file.
	[-] Failed to apply change: Overwrite new_window .
	[-] Failed to apply change: Overwrite new_float .
	[-] Failed to apply change: Overwrite new_window .
	[-] Failed to apply change: Overwrite client.background .
	[-] Failed to apply change: Overwrite client.focused .
	[-] Failed to apply change: Overwrite client.unfocused .
	[-] Failed to apply change: Overwrite client.focused_inactive .
	[-] Failed to apply change: Overwrite client.urgent .
	[-] Failed to apply change: Overwrite client.placeholder .
	[+] Located .config/polybar/config file in the theme directory.
	[+] Located ~/.config/polybar/config file.
	[+] Applied change: Overwrite fixed-center .
	[+] Applied change: Overwrite font-0 .
	[+] Applied change: Overwrite font-1 .
	[+] Applied change: Overwrite font-2 .
	[-] Failed to apply change: Overwrite font-3 .
	[+] Applied change: Overwrite line-size .
	[+] Applied change: Overwrite line-color .
	[+] Applied change: Overwrite border-size .
	[+] Applied change: Overwrite border-color .
	[+] Applied change: Overwrite padding-left .
	[+] Applied change: Overwrite padding-right .
	[+] Applied change: Overwrite module-margin-left .
	[+] Applied change: Overwrite module-margin-right .
	[+] Applied change: Overwrite tray-position .
	[+] Applied change: Overwrite tray-padding .
	[+] Applied change: Overwrite tray-transparent .
	[-] Failed to apply change: Overwrite tray-offset-x .
	[-] Failed to apply change: Overwrite tray-offset-y .
	[-] Failed to apply change: Overwrite tray-maxsize .
	[-] Failed to apply change: Overwrite tray-detached .
	[+] Applied change: Overwrite tray-background .
	[-] Failed to apply change: Overwrite wm-restack .
	[+] Located .config/polybar/config file in the theme directory.
	[+] Located ~/.dmenurc file.
	[-] Failed to apply change: Overwrite DMENU_NF= .
	[-] Failed to apply change: Overwrite DMENU_FN= .
	[-] Failed to apply change: Overwrite DMENU_SB= .
	[-] Failed to apply change: Overwrite DMENU_NB= .
	[-] Failed to apply change: Overwrite DMENU_SF= .
	[+] Located .config/compton.config file in the theme directory.
	[+] Located ~/.config/compton.conf file.
	[+] Applied change: Overwrite shadow-radius .
	[+] Applied change: Overwrite shadow-offset-x .
	[+] Applied change: Overwrite shadow-offset-y .
	[+] Applied change: Overwrite shadow-opacity .
	[+] Applied change: Overwrite no-dock-shadow .
	[+] Wallpaper set successfully
	[*] Restarting i3wm...
	[*] Success!
[!] Almost done, please use your appearance manager to set the wallpaper and GTK/Icon themes

[*] i3wmthemer finished

Modules not showing up on polybar

The modules visible are i3, date and power menu. Network, batter etc. aren't showing up even though they are in the code

[bar/i3wmthemer_bar]
width = 100%
height = 27
radius = 0
fixed-center = true

background = #2f2f38
foreground = #b0c4bb

line-size = 3
line-color =

border-size = 0
border-color =

padding-left = 0
padding-right = 2

module-margin-left = 1
module-margin-right = 2

font-0 = "Source Code Pro Semibold:size=10;1"
font-1 = "Font Awesome 5 Free:style=Solid:size=10;1"
font-2 = "Font Awesome 5 Brands:size=10;1"

modules-left = i3
modules-center = date
modules-right = wlan eth battery powermenu

tray-position =
;tray-padding =

cursor-click = pointer
cursor-scroll = ns-resize

[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = false

label-mode-padding = 2
label-mode-foreground = #34343e
label-mode-background = #2f2f38

label-focused = %index%
label-focused-background = #688486
label-focused-foreground = #2f2f38
label-focused-padding = 2

label-unfocused = %index%
label-unfocused-background = #81a2be
label-unfocused-foreground = #2f2f38
label-unfocused-padding = 2

label-visible = %index%
label-visible-background = #81a2be
label-visible-foreground = #2f2f38
label-visible-padding = 2

label-urgent = %index%
label-urgent-background = #BA2922
label-urgent-padding = 2

[module/wlan]
type = internal/network
interface = net1
interval = 3.0

format-connected = <ramp-signal> <label-connected>
format-connected-foreground = #2f2f38
format-connected-background = #81a2be
format-connected-padding = 2
label-connected = %essid%

format-disconnected =

ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = #2f2f38

[module/eth]
type = internal/network
interface = enp0s3
interval = 3.0

format-connected-padding = 2
format-connected-foreground = #2f2f38
format-connected-background = #81a2be
format-connected-prefix = " "
format-connected-prefix-foreground = #2f2f38
label-connected = %local_ip%

format-disconnected =

[module/date]
type = internal/date
interval = 5

date =
date-alt = " %Y-%m-%d"

time = %H:%M
time-alt = %H:%M:%S

format-prefix = 
format-foreground = #2f2f38
format-background = #81a2be
format-padding = 2

label = %date% %time%

[module/battery]
type = internal/battery
battery = BAT0
adapter = ADP1
full-at = 98

format-charging = <animation-charging> <label-charging>
format-charging-underline = #ffb52a

format-discharging = <ramp-capacity> <label-discharging>
format-discharging-underline = ${self.format-charging-underline}

format-full-prefix = " "
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = ${self.format-charging-underline}

ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-foreground = ${colors.foreground-alt}

animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750

[module/powermenu]
type = custom/menu

expand-right = true

format-spacing = 1

label-open = 
label-open-foreground = #81a2be
label-close =  cancel
label-close-foreground = #81a2be
label-separator = |
label-separator-foreground = #81a2be

menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2
menu-0-2 = log off
menu-0-2-exec = menu-open-3

menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = reboot

menu-2-0 = power off
menu-2-0-exec = poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0

menu-3-0 = log off
menu-3-0-exec = pkill -KILL -u $USER
menu-3-1 = cancel
menu-3-1-exec = menu-open-0

[settings]
screenchange-reload = true

[global/wm]
margin-top = 0
margin-bottom = 0

Problem installing default files

First of all, thanks for the project!

While trying to install the defaults, I keep running on this problems:

'\x1b[0;34;40m [>] ', 'Located the config file', '\x1b[0m')
('\x1b[0;34;40m [>] ', 'Intalling the files from defaults/file.', '\x1b[0m')
('\x1b[0;34;40m [>] ', 'Located the folder.', '\x1b[0m')
('\x1b[0;32;40m [>] \x1b[0m', 'Located /home/fibrasek/.config/.i3/configfile!')
('\x1b[0;31;40m [x] \x1b[0m', 'Failed to install the new file!')
('\x1b[0;31;40m [x] \x1b[0m', 'Failed!')
('\x1b[0;32;40m [>] \x1b[0m', 'Located /home/fibrasek/.config/polybar/configfile!')
('\x1b[0;31;40m [x] \x1b[0m', 'Failed to install the new file!')
('\x1b[0;31;40m [x] \x1b[0m', 'Failed!')
('\x1b[0;32;40m [>] \x1b[0m', 'Located /home/fibrasek/.Xresourcesfile!')
('\x1b[0;31;40m [x] \x1b[0m', 'Failed to install the new file!')
('\x1b[0;31;40m [x] \x1b[0m', 'Failed!')
('\x1b[0;34;40m [>] ', 'Refreshing i3 and xrdb and setting wallpaper', '\x1b[0m')
('\x1b[0;32;40m [>] \x1b[0m', 'Done!')

Already checked the permission on the files, and they are fine. Can this be related to python itself? I am not a python developer, so I don't know the quirks of the language.

polybar-git does not create a config dir

after installing polybar-git from the arch user repository I see that it has created an executable file ~/.config/polybar there is no folder at that location and thus im unable to copy the scripts as required by the readme.
Any suggestions regarding this?

Polybar overlapping on top of i3 windows

I'm trying to get my polybar look like yours in the Minimal theme, but when I open an application, the top part of it is hidden under the polybar.
In my config, I have:
override-redirect = true
and disabled wm-restack for i3, because otherwise i3 windows overlap on top of the polybar instead.

Changing theme is not possible :(

I'm using arch linux and I want to install the Forest theme. I followed the instructions and when i3 restart, I have an error. It tell me that client.focused or client.unfocused aren't allowed.

polybar adn i3 can't detect colors

Hi, I just followed your instructions form the readme by first running with the -c arguemtn which successfully added the required stuff to the start of both files. However running the script to set a theme fails and a lot of actions list as failed in the terminal. The rofi colorscheme and gtk theme seem to work fine but polybar,i3 urxvt fail to set new colors. Here's the output on running the script.

�[1;1m�[1;32m�[1;1m[*] i3wmthemer script started�[1;0m

�[1;1m�[1;32m�[1;1m[] You have entered theming mode.�[1;0m
�[1;1m�[1;32m�[1;1m[
] Located the theme directory.�[1;0m
�[1;1m�[1;32m�[1;1m[+]�[1;0m Fonts are set up successfully
�[1;1m�[1;32m�[1;1m[+]�[1;0m GTK Theme migration completed successfully.
�[1;1m�[1;32m�[1;1m[+]�[1;0m Icon migration completed successfully.
�[1;1m�[1;32m�[1;1m[] Located .extend.Xresources file in theme the directory.�[1;0m
�[1;1m�[1;32m�[1;1m[
] Located ~/.Xresources file.�[1;0m
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite *.background: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite .foreground: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite .cursorColor: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite URxvt.background .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite URxvt
foreground .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite URxvt
cursorColor .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite URxvt.font .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite *.color0: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite *.color1: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite *.color2: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite *.color3: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite *.color4: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite *.color5: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite *.color6: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite *.color7: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite *.color8: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite *.color9: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite *.color10: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite .color11: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite .color12: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite .color13: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite .color14: .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite .color15: .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite rofi.color-enabled:
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite rofi.color-window:
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite rofi.color-normal:
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite rofi.color-active:
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite rofi.color-urgent:
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite rofi.font:
�[1;1m�[1;32m�[1;1m[
] Finished editing ~/.extend.Xresources file.�[1;0m
�[1;1m�[1;32m�[1;1m[
] Executing 'xrdb ~/.Xresources' command.�[1;0m
�[1;1m�[1;32m�[1;1m[
] Success!�[1;0m
�[1;1m�[1;32m�[1;1m[+]�[1;0m Located .i3/config file in the theme directory.
�[1;1m�[1;32m�[1;1m[+]�[1;0m Located ~/.config/i3/config file.
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite new_window .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite new_float .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite new_window .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite client.background .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite client.focused .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite client.unfocused .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite client.focused_inactive .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite client.urgent .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite client.placeholder .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Located .config/polybar/config file in the theme directory.
�[1;1m�[1;32m�[1;1m[+]�[1;0m Located ~/.config/polybar/config file.
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite bottom .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite height .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite width .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite offset-x .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite offset-y .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite fixed-center .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite line-size .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite line-color .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite border-size .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite border-color .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite padding-left .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite padding-right .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite module-margin-left .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite module-margin-right .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite tray-position .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite tray-padding .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite tray-transparent .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite tray-offset-x .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite tray-offset-y .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite tray-maxsize .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite tray-detached .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite tray-background .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite wm-restack .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite background .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite foreground .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite ;override-redirect
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite label-unfocused-background .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite label-unfocused-foreground .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite label-unfocused-underline .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite label-focused-background .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite label-focused-foreground .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite label-focused-underline .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite label-mode-background .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite label-visible-background .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite label-visible-foreground .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite label-visible-underline .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite label-urgent-background .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite label-urgent-foreground .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite label-urgent-underline .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Applied change: Overwrite line-size .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite line-color .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite border-size .
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to apply change: Overwrite border-color .
�[1;1m�[1;32m�[1;1m[+]�[1;0m Located .config/polybar/config file in the theme directory.
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to locate ~/.dmenurc in your configuration
�[1;1m�[1;32m�[1;1m[+]�[1;0m Located .config/compton.config file in the theme directory.
�[1;1m�[1;32m�[1;1m[-]�[1;0m Failed to locate ~/.config/compton.conf in your configuration
�[1;1m�[1;32m�[1;1m[+]�[1;0m Wallpaper set successfully
�[1;1m�[1;32m�[1;1m[
] Restarting i3wm...�[1;0m
�[1;1m�[1;32m�[1;1m[
] Success!�[1;0m
�[1;1m�[1;32m�[1;1m[!]�[1;0m Almost done, please use your appearance manager to set the wallpaper and GTK/Icon themes

�[1;1m�[1;32m�[1;1m[*] i3wmthemer finished

�[1;0m

Things I had to do

Although these are obvious and easy things to do, just in case someone else needs.

  • Copy the file /usr/share/doc/polybar/config into /home/$USER/.config/polybar/config
  • Change i3-config in config.yaml to /home/$USER/.config/i3/config
  • Install yaourt (I use packer)
  • Install nitrogen with pacman
  • Install i3-gaps
  • Install rofi (I used dmenu)

Problem when default platform encoding is utf-8.

Hey I stumbled upon an error while trying to run the themer. My platform encoding is utf-8 so the themer threw this error:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 6821: ordinal not in range(128)

I fixed it with an ok solution in my opinion and decided to share. Basically i added import sys command and used it to resolve default platform encoding and added it to read files commands as a parameter. Changes to other files are not neccesary.
file src/replace_line.py

from tempfile import mkstemp
from shutil import move
from os import fdopen, remove
import sys

import msgfunc as prnt

def replace_line(file, pattern, new_line):
    fh, abs_path = mkstemp()
    with fdopen(fh, 'w', encoding=sys.getdefaultencoding()) as new_file:
        with open(file, encoding=sys.getdefaultencoding()) as old_file:
            for line in old_file:
                if line.startswith( pattern ):
                    pl1 = line
                    pl1 = pl1.rstrip()
                    pl2 = new_line
                    pl2 = pl2.rstrip()
                    prnt.prnt( '-s', 'Replacing line: \''+pl1+'\' with \''+pl2+'\'')
                    if(new_file.write( new_line+'\n' )):
                        prnt.prnt( '-s', 'Success!')
                    else:
                        prnt.prnt( '-f', 'Failed!')
                else:
                    new_file.write( line )
                #new_file.write( new_line if pattern in line else line)
    remove(file)
    move(abs_path, file)

Errors when trying to install or retheme files

When I try to install files, the program returns that the folder was located, but failed to install the new file:

python i3wm-themer.py --config config.yaml --install defaults/
('\x1b[0;34;40m [>] ', 'Located the config file', '\x1b[0m')
('\x1b[0;34;40m [>] ', 'Intalling the files from defaults/file.', '\x1b[0m')
('\x1b[0;34;40m [>] ', 'Located the folder.', '\x1b[0m')
('\x1b[0;32;40m [>] \x1b[0m', 'Located /home/jason/.config/i3/configfile!')
('\x1b[0;31;40m [x] \x1b[0m', 'Failed to install the new file!')
('\x1b[0;31;40m [x] \x1b[0m', 'Failed!')
('\x1b[0;32;40m [>] \x1b[0m', 'Located /home/jason/.config/polybar/configfile!')
('\x1b[0;31;40m [x] \x1b[0m', 'Failed to install the new file!')
('\x1b[0;31;40m [x] \x1b[0m', 'Failed!')
('\x1b[0;32;40m [>] \x1b[0m', 'Located /home/jason/.Xresourcesfile!')
('\x1b[0;31;40m [x] \x1b[0m', 'Failed to install the new file!')
('\x1b[0;31;40m [x] \x1b[0m', 'Failed!')
('\x1b[0;34;40m [>] ', 'Refreshing i3 and xrdb and setting wallpaper', '\x1b[0m')
('\x1b[0;32;40m [>] \x1b[0m', 'Done!')

Polybar is also not loading at all, but rofi is working fine. I am using Ubuntu 17.10.

about the lightdm bug

  • i use login management is lightdm
  • my linux releases is arch now i can't open the terminal on desktop and no wallpaper
  • everything works fine in a non-graphical interface
  • there is no way to shutdown my computer from the graphical interface

what should i do

Slowed down window opening

Hi
I installed i3wm-themer on ubuntu 16.04, however after installation my workstation seems to betremendously slowed down when opening windows. dmenu_run takes 2 (similar for opening a terminal etc. )seconds to pop up. I am relative clue less what can cause this issue. The issue seems to be indpendet from from the config files (.Xresources (also erased the file), i3/config, polybar/confg) as I am facing the same issue under unity. Do you have any idea what could cause this problem? And / or guide me through a clean uninstall?

Best wishes

General writing difficulties

The majority of this program is fine, and the themes are nice. But, when I try to backup, it says that it can't find the polybar config file. So, I try to config, and the program can't find things like xResources or icons in the theme I want to apply (Sky). I think what may be going on with it is some sort of error with its pathfinding or configuration. But I cannot say for certain.

Here's the terminal output, incase if anything looks weird;

[*] i3wmthemer script started

[*] You have entered theming mode.
	[*] Located the theme directory.
	[+] Fonts are set up successfully
	[-] This theme does not have a GTK Theme included.
	[-] This theme does not have an Icon pack included.
	[*] Located .extend.Xresources file in theme the directory.
	[*] Located ~/.extend.Xresources file.
	[-] Failed to apply change: Overwrite *.background: .
	[-] Failed to apply change: Overwrite *.foreground: .
	[-] Failed to apply change: Overwrite *.cursorColor: .
	[+] Applied change: Overwrite URxvt.background:
	[+] Applied change: Overwrite URxvt*foreground:
	[-] Failed to apply change: Overwrite URxvt*cursorColor:
	[-] Failed to apply change: Overwrite URxvt.font:
	[-] Failed to apply change: Overwrite *.color0: .
	[-] Failed to apply change: Overwrite *.color1: .
	[-] Failed to apply change: Overwrite *.color2: .
	[-] Failed to apply change: Overwrite *.color3: .
	[-] Failed to apply change: Overwrite *.color4: .
	[-] Failed to apply change: Overwrite *.color5: .
	[-] Failed to apply change: Overwrite *.color6: .
	[-] Failed to apply change: Overwrite *.color7: .
	[-] Failed to apply change: Overwrite *.color8: .
	[-] Failed to apply change: Overwrite *.color9: .
	[-] Failed to apply change: Overwrite *.color10: .
	[-] Failed to apply change: Overwrite *.color11: .
	[-] Failed to apply change: Overwrite *.color12: .
	[-] Failed to apply change: Overwrite *.color13: .
	[-] Failed to apply change: Overwrite *.color14: .
	[-] Failed to apply change: Overwrite *.color15: .
	[-] Failed to apply change: Overwrite rofi.color-enabled .
	[-] Failed to apply change: Overwrite rofi.color-window .
	[-] Failed to apply change: Overwrite rofi.color-normal .
	[-] Failed to apply change: Overwrite rofi.color-active .
	[-] Failed to apply change: Overwrite rofi.color-urgent .
	[-] Failed to apply change: Overwrite rofi.font .
	[*] Finished editing ~/.extend.Xresources file.
	[*] Executing 'xrdb ~/.Xresources' command.
	[*] Success!
	[+] Located .i3/config file in the theme directory.
	[+] Located ~/.i3/config file.
	[+] Applied change: Overwrite new_window
	[+] Applied change: Overwrite new_float
	[+] Applied change: Overwrite new_window
	[+] Applied change: Overwrite client.background .
	[+] Applied change: Overwrite client.focused .
	[+] Applied change: Overwrite client.unfocused .
	[+] Applied change: Overwrite client.focused_inactive .
	[+] Applied change: Overwrite client.urgent .
	[+] Applied change: Overwrite client.placeholder .
	[+] Located .config/polybar/config file in the theme directory.
	[+] Located ~/.config/polybar/config file.
	[+] Applied change: Overwrite bottom .
	[+] Applied change: Overwrite height .
	[+] Applied change: Overwrite width .
	[-] Failed to apply change: Overwrite offset-x .
	[-] Failed to apply change: Overwrite offset-y .
	[+] Applied change: Overwrite fixed-center .
	[-] Failed to apply change: Overwrite line-size .
	[-] Failed to apply change: Overwrite line-color .
	[-] Failed to apply change: Overwrite border-size .
	[-] Failed to apply change: Overwrite border-color .
	[-] Failed to apply change: Overwrite padding-left .
	[-] Failed to apply change: Overwrite padding-right .
	[-] Failed to apply change: Overwrite module-margin-left .
	[-] Failed to apply change: Overwrite module-margin-right .
	[-] Failed to apply change: Overwrite tray-position .
	[-] Failed to apply change: Overwrite tray-padding .
	[-] Failed to apply change: Overwrite tray-transparent .
	[-] Failed to apply change: Overwrite tray-offset-x .
	[-] Failed to apply change: Overwrite tray-offset-y .
	[-] Failed to apply change: Overwrite tray-maxsize .
	[-] Failed to apply change: Overwrite tray-detached .
	[-] Failed to apply change: Overwrite tray-background .
	[-] Failed to apply change: Overwrite wm-restack .
	[-] Failed to apply change: Overwrite background .
	[-] Failed to apply change: Overwrite foreground .
	[-] Failed to apply change: Overwrite ;override-redirect
	[-] Failed to apply change: Overwrite label-unfocused-background .
	[-] Failed to apply change: Overwrite label-unfocused-foreground .
	[-] Failed to apply change: Overwrite label-unfocused-underline .
	[-] Failed to apply change: Overwrite label-focused-background .
	[-] Failed to apply change: Overwrite label-focused-foreground .
	[-] Failed to apply change: Overwrite label-focused-underline .
	[-] Failed to apply change: Overwrite label-mode-background .
	[-] Failed to apply change: Overwrite label-visible-background .
	[-] Failed to apply change: Overwrite label-visible-foreground .
	[-] Failed to apply change: Overwrite label-visible-underline .
	[-] Failed to apply change: Overwrite label-urgent-background .
	[-] Failed to apply change: Overwrite label-urgent-foreground .
	[-] Failed to apply change: Overwrite label-urgent-underline .
	[-] Failed to apply change: Overwrite line-size .
	[-] Failed to apply change: Overwrite line-color .
	[-] Failed to apply change: Overwrite border-size .
	[-] Failed to apply change: Overwrite border-color .
	[+] Located .config/polybar/config file in the theme directory.
	[+] Located ~/.dmenurc file.
	[+] Applied change: Overwrite DMENU_NF="#aab0bc" .
	[+] Applied change: Overwrite DMENU_FN="monofur-10.5" .
	[+] Applied change: Overwrite DMENU_SB="#131822" .
	[+] Applied change: Overwrite DMENU_NB="#131822" .
	[+] Applied change: Overwrite DMENU_SF="#233f66" .
	[+] Located .config/compton.config file in the theme directory.
	[+] Located ~/.config/compton.conf file.
	[+] Applied change: Overwrite shadow-radius
	[+] Applied change: Overwrite shadow-offset-x
	[+] Applied change: Overwrite shadow-offset-y
	[+] Applied change: Overwrite shadow-opacity
	[+] Applied change: Overwrite no-dock-shadow
	[+] Wallpaper set successfully
	[*] Restarting i3wm...
	[*] Success!
[!] Almost done, please use your appearance manager to set the wallpaper and GTK/Icon themes

[*] i3wmthemer finished

Xrandr miss behaving

I tried one of your themes .. and I am not able to figure out what your scripts changed.But it has got my xrandr in trouble for dual screen with different res. Please let me know what u change in the display settings

Maybe try dual screen?

I add a old screen with display resolution(1280 * 1024) by HDMI of laptop. The laptop's screen is 1920 * 1080, the layout is that:
1
Adding the config to i3 file:

exec --no-startup-id xrandr --output HDMI1 --primary --mode 1280x1024 --pos 0x0 --rotate normal --output VIRTUAL1 --off --output eDP1 --mode 1920x1080 --pos 1280x0 --rotate normal

so the vice screen and main screen have their own workspace individually(like that: vice screen at workspace 1 and main screen at workspace 2).
One of my questions is whether i can have the two screens all at one workspace?
Another question is how to let the polybar show on the two screens simultaneously.
2019-03-01-230608_3200x1080_scrot
That is my screens. Obviously the left screen has no bar.
By the way, the background wallpaper is tiling on two windows rather than tiling on a window one by one. Is any way to fix these?

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.