├── .gitignore ├── config ├── ncmpcpp │ └── patterns.list ├── pip │ └── pip.conf ├── fontconfig │ └── conf.d │ │ ├── 20-disable-embedded-bitmap.conf │ │ ├── 99-emoji.conf │ │ ├── 10-powerline-symbols.conf │ │ ├── 44-source-han-sans-otc.conf │ │ ├── 60-latin-free.conf │ │ └── 65-non-latin-free.conf ├── mpv │ ├── mpv.conf │ └── input.conf ├── themes │ ├── nord │ │ ├── termcolors │ │ ├── theme_config │ │ └── panel.sh │ ├── candra │ │ ├── panel.sh │ │ ├── termcolors │ │ ├── theme_config │ │ └── dzen_panel.sh │ ├── onedark │ │ ├── termcolors │ │ ├── panel.sh │ │ ├── theme_config │ │ └── lemonbar_panel.sh │ ├── feb17 │ │ ├── termcolors │ │ ├── theme_config │ │ └── panel.sh │ ├── january17 │ │ ├── termcolors │ │ ├── theme_config │ │ └── panel.sh │ ├── yosemite │ │ ├── panel.sh │ │ ├── termcolors │ │ ├── theme_config │ │ ├── lemonbar_panel.sh │ │ └── lemonbar_conkyrc │ ├── february │ │ ├── panel.sh │ │ ├── termcolors │ │ ├── theme_config │ │ ├── lemonbar_panel.sh │ │ └── lemonbar_conkyrc │ ├── flwr │ │ ├── panel.sh │ │ ├── termcolors │ │ ├── theme_config │ │ ├── lemonbar_panel.sh │ │ └── lemonbar_conkyrc │ ├── base16-mod │ │ ├── panel.sh │ │ ├── termcolors │ │ ├── theme_config │ │ ├── lemonbar_panel.sh │ │ └── lemonbar_conkyrc │ ├── july17 │ │ ├── termcolors │ │ ├── theme_config │ │ └── panel.sh │ └── sol-light │ │ ├── theme_config │ │ └── panel.sh ├── openbox │ ├── autostart │ └── menu.xml ├── termite │ └── config ├── bspwm │ └── bspwmrc ├── dunst │ └── dunstrc └── sxhkd │ └── sxhkdrc ├── scripts ├── panel.sh ├── termcolors ├── theme_config ├── lock.out ├── lockscreen.sh ├── restart_panel.sh ├── numlock.sh ├── togglempdwidget.sh ├── toggleinfo.sh ├── scrot.sh ├── dzen_popup_toggle.sh ├── turnoff.sh ├── clone_termite.sh ├── color_squares.sh ├── popup.sh ├── color_codes.sh ├── brightness.sh ├── detail_panel.sh ├── dzen_popup_diskinfo.sh ├── scratchpad.sh ├── dzen_popup_sysinfo.sh ├── exit-box.sh ├── dzen_popup_playlist.sh ├── volume_level.sh ├── color_blocks.sh ├── dzen_popup_netinfo.sh ├── dzen_popup_config ├── themer.sh ├── dzen_popup_musicinfo.sh ├── dzen_popup_calendar.sh ├── dzen_brightness.sh ├── info.sh ├── dzen_volume.sh └── color_dna.sh ├── current.png ├── .Xmodmap ├── icons ├── ac.xbm ├── ac6.xbm ├── ac7.xbm ├── mem.xbm ├── vol0.xbm ├── vol1.xbm ├── vol2.xbm ├── vol3.xbm ├── arch.xbm ├── cpu.xbm ├── file1.xbm ├── home.xbm ├── info1.xbm ├── info3.xbm ├── info7.xbm ├── info8.xbm ├── note1.xbm ├── temp.xbm ├── clock1.xbm ├── clock2.xbm ├── disk.xbm ├── error.xbm ├── info11.xbm ├── info12.xbm ├── pacman.xbm ├── power.xbm ├── batt1full.xbm ├── batt1half.xbm ├── batt2full.xbm ├── batt5full.xbm ├── batt5half.xbm ├── wireless.xbm ├── batt1empty.xbm ├── batt5empty.xbm ├── next.xbm ├── play.xbm ├── prev.xbm ├── pause.xbm ├── volume0.xbm ├── wireless0.xbm ├── volume25.xbm ├── volume50.xbm ├── volume75.xbm ├── volume100.xbm └── brightness.xbm ├── README.md ├── .Xresources ├── panelinfo ├── deprecated │ ├── Makefile │ ├── config.h │ ├── mpdinfo.c │ ├── genconfig.sh │ └── sysinfo.c ├── bar_netinfo.c └── bar_sysinfo.c ├── .bash_profile ├── .xinitrc ├── deploy └── pkglist.txt ├── powersave ├── .bashrc ├── vimrc ├── userChrome.css └── .dircolors /.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /config/ncmpcpp/patterns.list: -------------------------------------------------------------------------------- 1 | %t 2 | -------------------------------------------------------------------------------- /scripts/panel.sh: -------------------------------------------------------------------------------- 1 | ../config/themes/nord/panel.sh -------------------------------------------------------------------------------- /scripts/termcolors: -------------------------------------------------------------------------------- 1 | ../config/themes/nord/termcolors -------------------------------------------------------------------------------- /scripts/theme_config: -------------------------------------------------------------------------------- 1 | ../config/themes/nord/theme_config -------------------------------------------------------------------------------- /current.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easysid/dotfiles/HEAD/current.png -------------------------------------------------------------------------------- /scripts/lock.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easysid/dotfiles/HEAD/scripts/lock.out -------------------------------------------------------------------------------- /scripts/lockscreen.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | xtrlock & 4 | sleep 1 5 | xset dpms force off 6 | -------------------------------------------------------------------------------- /config/pip/pip.conf: -------------------------------------------------------------------------------- 1 | [install] 2 | user = yes 3 | no-binary = :all: 4 | [list] 5 | format=columns 6 | -------------------------------------------------------------------------------- /scripts/restart_panel.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | pkill -x panel.sh 4 | pkill lemonbar 5 | 6 | # launch panel 7 | panel.sh & 8 | 9 | -------------------------------------------------------------------------------- /.Xmodmap: -------------------------------------------------------------------------------- 1 | ! assign Super to Alt Left 2 | 3 | remove mod1 = Alt_L 4 | clear mod4 5 | keycode 64 = Super_L 6 | add mod4 = Super_L 7 | 8 | -------------------------------------------------------------------------------- /icons/ac.xbm: -------------------------------------------------------------------------------- 1 | #define ac7_width 8 2 | #define ac7_height 8 3 | static unsigned char ac7_bits[] = { 4 | 0x44, 0x44, 0xfe, 0xfe, 0x7c, 0x38, 0x38, 0x38}; 5 | -------------------------------------------------------------------------------- /icons/ac6.xbm: -------------------------------------------------------------------------------- 1 | #define ac6_width 8 2 | #define ac6_height 8 3 | static unsigned char ac6_bits[] = { 4 | 0x00, 0x30, 0xf8, 0x3f, 0x3f, 0x3f, 0xf8, 0x30}; 5 | -------------------------------------------------------------------------------- /icons/ac7.xbm: -------------------------------------------------------------------------------- 1 | #define ac7_width 8 2 | #define ac7_height 8 3 | static unsigned char ac7_bits[] = { 4 | 0x1c, 0x12, 0xf1, 0x11, 0x11, 0xf1, 0x12, 0x1c}; 5 | -------------------------------------------------------------------------------- /icons/mem.xbm: -------------------------------------------------------------------------------- 1 | #define mem1_width 8 2 | #define mem1_height 8 3 | static unsigned char mem1_bits[] = { 4 | 0xaa, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0xaa}; 5 | -------------------------------------------------------------------------------- /icons/vol0.xbm: -------------------------------------------------------------------------------- 1 | #define vol3_width 8 2 | #define vol3_height 8 3 | static unsigned char vol3_bits[] = { 4 | 0x20, 0x30, 0xbc, 0x5c, 0x2c, 0x14, 0x28, 0x24}; 5 | -------------------------------------------------------------------------------- /icons/vol1.xbm: -------------------------------------------------------------------------------- 1 | #define vol1_width 8 2 | #define vol1_height 8 3 | static unsigned char vol1_bits[] = { 4 | 0x08, 0x4c, 0x8f, 0xaf, 0xaf, 0x8f, 0x4c, 0x08}; 5 | -------------------------------------------------------------------------------- /icons/vol2.xbm: -------------------------------------------------------------------------------- 1 | #define vol2_width 8 2 | #define vol2_height 8 3 | static unsigned char vol2_bits[] = { 4 | 0x20, 0x30, 0xbc, 0xbc, 0xbc, 0xbc, 0x30, 0x20}; 5 | -------------------------------------------------------------------------------- /icons/vol3.xbm: -------------------------------------------------------------------------------- 1 | #define vol3_width 8 2 | #define vol3_height 8 3 | static unsigned char vol3_bits[] = { 4 | 0x20, 0x30, 0xbc, 0x5c, 0x2c, 0x14, 0x28, 0x24}; 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | My various scripts and config files. 2 | 3 | 4 | **Current Desktop** 5 | 6 | ![current](https://github.com/easysid/dotfiles/raw/master/current.png) 7 | -------------------------------------------------------------------------------- /icons/arch.xbm: -------------------------------------------------------------------------------- 1 | #define arch1_width 8 2 | #define arch1_height 8 3 | static unsigned char arch1_bits[] = { 4 | 0x18, 0x18, 0x3c, 0x3c, 0x7e, 0x66, 0xe7, 0xc3}; 5 | -------------------------------------------------------------------------------- /icons/cpu.xbm: -------------------------------------------------------------------------------- 1 | #define cpu13_width 8 2 | #define cpu13_height 8 3 | static unsigned char cpu13_bits[] = { 4 | 0xdb, 0xc3, 0x3c, 0xbd, 0xbd, 0x3c, 0xc3, 0xdb}; 5 | -------------------------------------------------------------------------------- /icons/file1.xbm: -------------------------------------------------------------------------------- 1 | #define file1_width 8 2 | #define file1_height 8 3 | static unsigned char file1_bits[] = { 4 | 0xff, 0x99, 0x81, 0xff, 0x99, 0x81, 0x81, 0xff}; 5 | -------------------------------------------------------------------------------- /icons/home.xbm: -------------------------------------------------------------------------------- 1 | #define home1_width 8 2 | #define home1_height 8 3 | static unsigned char home1_bits[] = { 4 | 0x18, 0x3c, 0x7e, 0xff, 0x42, 0x52, 0x52, 0x7e}; 5 | -------------------------------------------------------------------------------- /icons/info1.xbm: -------------------------------------------------------------------------------- 1 | #define info1_width 8 2 | #define info1_height 8 3 | static unsigned char info1_bits[] = { 4 | 0x70, 0x70, 0x00, 0x78, 0x70, 0x70, 0x70, 0xf8}; 5 | -------------------------------------------------------------------------------- /icons/info3.xbm: -------------------------------------------------------------------------------- 1 | #define info3_width 8 2 | #define info3_height 8 3 | static unsigned char info3_bits[] = { 4 | 0x78, 0xcc, 0xfc, 0xcc, 0xcc, 0xcc, 0xcc, 0x78}; 5 | -------------------------------------------------------------------------------- /icons/info7.xbm: -------------------------------------------------------------------------------- 1 | #define info7_width 8 2 | #define info7_height 8 3 | static unsigned char info7_bits[] = { 4 | 0x3c, 0x66, 0xff, 0xe7, 0xe7, 0xe7, 0x66, 0x3c}; 5 | -------------------------------------------------------------------------------- /icons/info8.xbm: -------------------------------------------------------------------------------- 1 | #define info8_width 8 2 | #define info8_height 8 3 | static unsigned char info8_bits[] = { 4 | 0x3c, 0x66, 0xe7, 0xe7, 0xe7, 0xff, 0x66, 0x3c}; 5 | -------------------------------------------------------------------------------- /icons/note1.xbm: -------------------------------------------------------------------------------- 1 | #define note1_width 8 2 | #define note1_height 8 3 | static unsigned char note1_bits[] = { 4 | 0xfc, 0xfc, 0x84, 0x84, 0x84, 0xc6, 0xe7, 0x63}; 5 | -------------------------------------------------------------------------------- /icons/temp.xbm: -------------------------------------------------------------------------------- 1 | #define temp5_width 8 2 | #define temp5_height 8 3 | static unsigned char temp5_bits[] = { 4 | 0xc4, 0xe0, 0x71, 0x28, 0x16, 0x09, 0x09, 0x06}; 5 | -------------------------------------------------------------------------------- /icons/clock1.xbm: -------------------------------------------------------------------------------- 1 | #define clock1_width 8 2 | #define clock1_height 8 3 | static unsigned char clock1_bits[] = { 4 | 0xff, 0xf7, 0xf7, 0xf7, 0x87, 0xff, 0xff, 0xff}; 5 | -------------------------------------------------------------------------------- /icons/clock2.xbm: -------------------------------------------------------------------------------- 1 | #define clock3_width 8 2 | #define clock3_height 8 3 | static unsigned char clock3_bits[] = { 4 | 0x3c, 0x76, 0xf7, 0xf7, 0x87, 0xff, 0x7e, 0x3c}; 5 | -------------------------------------------------------------------------------- /icons/disk.xbm: -------------------------------------------------------------------------------- 1 | #define diskette_width 8 2 | #define diskette_height 8 3 | static unsigned char diskette_bits[] = { 4 | 0xFF, 0x81, 0x81, 0x81, 0xBD, 0xB5, 0xB5, 0xFE }; 5 | -------------------------------------------------------------------------------- /icons/error.xbm: -------------------------------------------------------------------------------- 1 | #define error1_width 8 2 | #define error1_height 8 3 | static unsigned char error1_bits[] = { 4 | 0xff, 0xbd, 0xdb, 0xe7, 0xe7, 0xdb, 0xbd, 0xff}; 5 | -------------------------------------------------------------------------------- /icons/info11.xbm: -------------------------------------------------------------------------------- 1 | #define info12_width 8 2 | #define info12_height 8 3 | static unsigned char info12_bits[] = { 4 | 0xfc, 0xcc, 0xfc, 0xcc, 0xcc, 0xcc, 0xcc, 0xfc}; 5 | -------------------------------------------------------------------------------- /icons/info12.xbm: -------------------------------------------------------------------------------- 1 | #define info11_width 8 2 | #define info11_height 8 3 | static unsigned char info11_bits[] = { 4 | 0xfc, 0xcc, 0xcc, 0xcc, 0xcc, 0xfc, 0xcc, 0xfc}; 5 | -------------------------------------------------------------------------------- /icons/pacman.xbm: -------------------------------------------------------------------------------- 1 | #define pacman1_width 8 2 | #define pacman1_height 8 3 | static unsigned char pacman1_bits[] = { 4 | 0x3c, 0x76, 0x3f, 0x1f, 0x0f, 0xff, 0x7e, 0x3c}; 5 | -------------------------------------------------------------------------------- /icons/power.xbm: -------------------------------------------------------------------------------- 1 | #define logout1_width 8 2 | #define logout1_height 8 3 | static unsigned char logout1_bits[] = { 4 | 0x18, 0x18, 0x5a, 0x99, 0x99, 0x81, 0x42, 0x3c}; 5 | -------------------------------------------------------------------------------- /icons/batt1full.xbm: -------------------------------------------------------------------------------- 1 | #define batt1full_width 8 2 | #define batt1full_height 8 3 | static unsigned char batt1full_bits[] = { 4 | 0x30, 0xfc, 0x84, 0xb4, 0xb4, 0xb4, 0x84, 0xfc}; 5 | -------------------------------------------------------------------------------- /icons/batt1half.xbm: -------------------------------------------------------------------------------- 1 | #define batt1half_width 8 2 | #define batt1half_height 8 3 | static unsigned char batt1half_bits[] = { 4 | 0x30, 0xfc, 0x84, 0x84, 0x94, 0xb4, 0x84, 0xfc}; 5 | -------------------------------------------------------------------------------- /icons/batt2full.xbm: -------------------------------------------------------------------------------- 1 | #define batt2full_width 8 2 | #define batt2full_height 8 3 | static unsigned char batt2full_bits[] = { 4 | 0x00, 0x30, 0xfc, 0x84, 0xb4, 0xb4, 0x84, 0xfc}; 5 | -------------------------------------------------------------------------------- /icons/batt5full.xbm: -------------------------------------------------------------------------------- 1 | #define batt5full_width 8 2 | #define batt5full_height 8 3 | static unsigned char batt5full_bits[] = { 4 | 0x00, 0x7f, 0x41, 0xdd, 0xdd, 0x41, 0x7f, 0x00}; 5 | -------------------------------------------------------------------------------- /icons/batt5half.xbm: -------------------------------------------------------------------------------- 1 | #define batt5half_width 8 2 | #define batt5half_height 8 3 | static unsigned char batt5half_bits[] = { 4 | 0x00, 0x7f, 0x41, 0xc5, 0xcd, 0x41, 0x7f, 0x00}; 5 | -------------------------------------------------------------------------------- /icons/wireless.xbm: -------------------------------------------------------------------------------- 1 | #define wireless1_width 8 2 | #define wireless1_height 8 3 | static unsigned char wireless1_bits[] = { 4 | 0xc0, 0xc0, 0xd8, 0xd8, 0xdb, 0xdb, 0xdb, 0xdb}; 5 | -------------------------------------------------------------------------------- /icons/batt1empty.xbm: -------------------------------------------------------------------------------- 1 | #define batt1empty_width 8 2 | #define batt1empty_height 8 3 | static unsigned char batt1empty_bits[] = { 4 | 0x30, 0xfc, 0x84, 0x84, 0x84, 0x84, 0x84, 0xfc}; 5 | -------------------------------------------------------------------------------- /icons/batt5empty.xbm: -------------------------------------------------------------------------------- 1 | #define batt5empty_width 8 2 | #define batt5empty_height 8 3 | static unsigned char batt5empty_bits[] = { 4 | 0x00, 0x7f, 0x41, 0xc1, 0xc1, 0x41, 0x7f, 0x00}; 5 | -------------------------------------------------------------------------------- /scripts/numlock.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Turn on numlock. Requires xdotool 3 | 4 | status=$(xset q | awk '/: Num Lock:/{print $8}') 5 | [ "$status" = "on" ] || xdotool key Num_Lock 6 | 7 | -------------------------------------------------------------------------------- /.Xresources: -------------------------------------------------------------------------------- 1 | ! fontconfig 2 | Xft.dpi: 144 3 | Xft.antialias: true 4 | Xft.hinting: true 5 | Xft.autohint: false 6 | Xft.hintstyle: hintslight 7 | Xft.rgba: rgb 8 | Xft.lcdfilter: lcddefault 9 | -------------------------------------------------------------------------------- /icons/next.xbm: -------------------------------------------------------------------------------- 1 | #define next_width 9 2 | #define next_height 9 3 | static unsigned char next_bits[] = { 4 | 0x10, 0x00, 0x31, 0x00, 0x73, 0x00, 0xf7, 0x00, 0xff, 0x01, 0xf7, 0x00, 5 | 0x73, 0x00, 0x31, 0x00, 0x10, 0x00 }; 6 | -------------------------------------------------------------------------------- /icons/play.xbm: -------------------------------------------------------------------------------- 1 | #define play_width 9 2 | #define play_height 9 3 | static unsigned char play_bits[] = { 4 | 0x10, 0x00, 0x30, 0x00, 0x70, 0x00, 0xf0, 0x00, 0xf0, 0x01, 0xf0, 0x00, 5 | 0x70, 0x00, 0x30, 0x00, 0x10, 0x00 }; 6 | -------------------------------------------------------------------------------- /icons/prev.xbm: -------------------------------------------------------------------------------- 1 | #define prev_width 9 2 | #define prev_height 9 3 | static unsigned char prev_bits[] = { 4 | 0x10, 0x00, 0x18, 0x01, 0x9c, 0x01, 0xde, 0x01, 0xff, 0x01, 0xde, 0x01, 5 | 0x9c, 0x01, 0x18, 0x01, 0x10, 0x00 }; 6 | -------------------------------------------------------------------------------- /icons/pause.xbm: -------------------------------------------------------------------------------- 1 | #define pause_width 9 2 | #define pause_height 9 3 | static unsigned char pause_bits[] = { 4 | 0xb8, 0x01, 0xb8, 0x01, 0xb8, 0x01, 0xb8, 0x01, 0xb8, 0x01, 0xb8, 0x01, 5 | 0xb8, 0x01, 0xb8, 0x01, 0xb8, 0x01 }; 6 | -------------------------------------------------------------------------------- /icons/volume0.xbm: -------------------------------------------------------------------------------- 1 | #define volume0_width 14 2 | #define volume0_height 9 3 | static unsigned char volume0_bits[] = { 4 | 0x30, 0x20, 0x58, 0x10, 0x9c, 0x08, 0x1f, 0x05, 0x1f, 0x02, 0x1f, 0x05, 5 | 0x9c, 0x08, 0x58, 0x10, 0x30, 0x20 }; 6 | -------------------------------------------------------------------------------- /icons/wireless0.xbm: -------------------------------------------------------------------------------- 1 | #define wireless0_width 12 2 | #define wireless0_height 8 3 | static unsigned char wireless0_bits[] = { 4 | 0x40, 0x00, 0x20, 0x08, 0x50, 0x04, 0x94, 0x02, 0x54, 0x01, 0x95, 0x02, 5 | 0x55, 0x04, 0x35, 0x08 }; 6 | -------------------------------------------------------------------------------- /icons/volume25.xbm: -------------------------------------------------------------------------------- 1 | #define volume25_width 14 2 | #define volume25_height 9 3 | static unsigned char volume25_bits[] = { 4 | 0x10, 0x20, 0x18, 0x00, 0x1c, 0x00, 0x5f, 0x00, 0x5f, 0x00, 0x5f, 0x00, 5 | 0x1c, 0x00, 0x18, 0x00, 0x10, 0x20 }; 6 | -------------------------------------------------------------------------------- /icons/volume50.xbm: -------------------------------------------------------------------------------- 1 | #define volume50_width 14 2 | #define volume50_height 9 3 | static unsigned char volume50_bits[] = { 4 | 0x10, 0x20, 0x18, 0x00, 0x1c, 0x01, 0x5f, 0x01, 0x5f, 0x01, 0x5f, 0x01, 5 | 0x1c, 0x01, 0x18, 0x00, 0x10, 0x20 }; 6 | -------------------------------------------------------------------------------- /icons/volume75.xbm: -------------------------------------------------------------------------------- 1 | #define volume75_width 14 2 | #define volume75_height 9 3 | static unsigned char volume75_bits[] = { 4 | 0x10, 0x20, 0x18, 0x04, 0x1c, 0x05, 0x5f, 0x05, 0x5f, 0x05, 0x5f, 0x05, 5 | 0x1c, 0x05, 0x18, 0x04, 0x10, 0x20 }; 6 | -------------------------------------------------------------------------------- /icons/volume100.xbm: -------------------------------------------------------------------------------- 1 | #define volume100_width 14 2 | #define volume100_height 9 3 | static unsigned char volume100_bits[] = { 4 | 0x10, 0x30, 0x18, 0x14, 0x1c, 0x15, 0x5f, 0x15, 0x5f, 0x15, 0x5f, 0x15, 5 | 0x1c, 0x15, 0x18, 0x14, 0x10, 0x30 }; 6 | -------------------------------------------------------------------------------- /icons/brightness.xbm: -------------------------------------------------------------------------------- 1 | #define brightness_width 11 2 | #define brightness_height 11 3 | static unsigned char brightness_bits[] = { 4 | 0x20, 0x00, 0x22, 0x02, 0x04, 0x01, 0x70, 0x00, 0x88, 0x00, 0x8b, 0x06, 5 | 0x88, 0x00, 0x70, 0x00, 0x04, 0x01, 0x22, 0x02, 0x20, 0x00 }; 6 | -------------------------------------------------------------------------------- /scripts/togglempdwidget.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # Script to toggle status info in bar. Expand or contract. 4 | 5 | # Make sure the following file exists in autostart. 6 | FILE='/tmp/mpdwidget' 7 | 8 | [[ $(< $FILE) -eq 0 ]] && echo -n 1 > $FILE || echo -n 0 > $FILE 9 | 10 | -------------------------------------------------------------------------------- /config/fontconfig/conf.d/20-disable-embedded-bitmap.conf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | false 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /scripts/toggleinfo.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # Script to toggle status info in bar. Expand or contract. 4 | 5 | # Make sure the following file exists in autostart. 6 | # FILE='/tmp/bartoggle' 7 | FILE='/tmp/bar_sysinfo_toggle' 8 | 9 | [ "$(cat $FILE)" -eq 0 ] && echo -n 1 > $FILE || echo -n 0 > $FILE 10 | 11 | -------------------------------------------------------------------------------- /config/mpv/mpv.conf: -------------------------------------------------------------------------------- 1 | # mpv config file 2 | 3 | # use HW acceleration 4 | hwdec=vaapi 5 | gpu-context=wayland 6 | 7 | # subtitle font size 8 | sub-font="sans" 9 | sub-font-size=36 10 | 11 | # volume 12 | volume-max=200 13 | volume=75 14 | 15 | # cache 16 | cache=auto 17 | cache-default=100000 18 | cache-initial=5000 19 | cache-secs=30 20 | 21 | -------------------------------------------------------------------------------- /scripts/scrot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -n "$1" ]; 4 | then k=${1} 5 | else k=3 6 | fi 7 | echo -n 'Taking shot in ' 8 | while [ $k -gt 0 ] 9 | do echo -n "$k..." 10 | k=$(($k - 1)) 11 | sleep 1 12 | done 13 | k=$(date +%y%m%d_%H%M%S) 14 | # imlib2_grab ~/shot$k.png 15 | import -window root ~/shot$k.png 16 | # echo "Saved as $HOME/shot$k.png" 17 | 18 | 19 | -------------------------------------------------------------------------------- /scripts/dzen_popup_toggle.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | REGEX="dzen2 .*popup_$1" 4 | COMMAND="dzen_popup_$1.sh" 5 | 6 | if [[ $# -ne 1 ]]; then 7 | echo -e "Usage:\ndzen_popup_toggle.sh " 1>&2 8 | exit 1 9 | fi 10 | pid=$(pgrep -f "$REGEX") 11 | if [[ -z $pid ]]; then # if popup does not exit 12 | $COMMAND & 13 | else 14 | kill $pid 15 | fi 16 | 17 | -------------------------------------------------------------------------------- /scripts/turnoff.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # shutdown dialog. Uses lemonbar-xft 3 | 4 | [ $(pgrep -cx turnoff.sh) -gt 1 ] && exit 101 5 | 6 | pad=' ' 7 | 8 | echo "%{c}%{A:systemctl poweroff:} Shutdown %{A} ${pad} %{A:kill -- -${$}:} Cancel %{A}" | 9 | lemonbar -d -p -g 'x200+0+280' -B '#9997544d' -F '#ffffffff' \ 10 | -f 'sans:size=20' \ 11 | | sh 12 | 13 | -------------------------------------------------------------------------------- /scripts/clone_termite.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # clone_termite.sh - script to open another terminal in the same working dir 4 | # taken from i3 forums 5 | # Tuesday, 12 December 2017 21:40 IST 6 | # 7 | 8 | DIR=$HOME 9 | win_id="$(bspc query -N -n)" 10 | bash_pid=$(xprop -id $win_id _NET_WM_PID | awk '{print $3+5}') 11 | if [ -e "/proc/$bash_pid/cwd" ]; then 12 | DIR="$(readlink /proc/$bash_pid/cwd)" 13 | fi 14 | termite -d "$DIR" & 15 | -------------------------------------------------------------------------------- /panelinfo/deprecated/Makefile: -------------------------------------------------------------------------------- 1 | CC ?= gcc 2 | CFLAGS += -march=native -O2 -pedantic -Wall -Wextra -Werror 3 | 4 | DESTDIR = $(HOME)/.scripts/ 5 | 6 | all: sysinfo mpdinfo 7 | 8 | sysinfo: sysinfo.c config.h 9 | $(CC) $(CFLAGS) $@.c -o $@ 10 | 11 | mpdinfo: mpdinfo.c config.h 12 | $(CC) $(CFLAGS) $@.c -o $@ -lmpdclient 13 | 14 | install: all 15 | install -m 0755 sysinfo $(DESTDIR) 16 | install -m 0755 mpdinfo $(DESTDIR) 17 | 18 | clean: 19 | -rm -vf sysinfo mpdinfo 20 | 21 | .PHONY: all clean install 22 | -------------------------------------------------------------------------------- /.bash_profile: -------------------------------------------------------------------------------- 1 | # 2 | # ~/.bash_profile 3 | # 4 | 5 | [[ -f ~/.bashrc ]] && . ~/.bashrc 6 | 7 | # set custom PATH 8 | export PATH="${PATH}:${HOME}/.local/bin" 9 | 10 | # editor 11 | export EDITOR=vim 12 | 13 | # bspwm FIFO 14 | export PANEL_FIFO="/tmp/panel_fifo" 15 | 16 | # fix accesibility DBus errors 17 | # export NO_AT_BRIDGE=1 18 | 19 | # start X 20 | # if [[ -z $DISPLAY && $XDG_VTNR -eq 1 && $(tty) == '/dev/tty1' ]]; then 21 | # exec startx &> /dev/null 22 | # else 23 | # echo "Not starting GUI on $(tty)" 24 | # fi 25 | -------------------------------------------------------------------------------- /scripts/color_squares.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # ANSI color scheme script by pfh 4 | # 5 | # Initializing mod by lolilolicon from Archlinux 6 | # 7 | 8 | f=3 b=4 9 | for j in f b; do 10 | for i in {1..6}; do 11 | printf -v $j$i %b "\e[${!j}${i}m" 12 | done 13 | done 14 | bld=$'\e[1m' 15 | rst=$'\e[0m' 16 | inv=$'\e[7m' 17 | echo -e '\n\n' 18 | cat << EOF 19 | 20 | ${f1}████ ${f2}████ ${f3}████ ${f4}████ ${f5}████ ${f6}████ 21 | ${bld}\ 22 | ${f1}████ ${f2}████ ${f3}████ ${f4}████ ${f5}████ ${f6}████ 23 | ${rst} 24 | 25 | EOF 26 | echo 27 | -------------------------------------------------------------------------------- /config/themes/nord/termcolors: -------------------------------------------------------------------------------- 1 | ! nord colorscheme 2 | *foreground: #D8DEE9 3 | *background: #2E3440 4 | 5 | *color0: #3B4252 6 | *color1: #BF616A 7 | *color2: #A3BE8C 8 | *color3: #EBCB8B 9 | *color4: #81A1C1 10 | *color5: #B48EAD 11 | *color6: #88C0D0 12 | *color7: #E5E9F0 13 | *color8: #4C566A 14 | *color9: #BF616A 15 | *color10: #A3BE8C 16 | *color11: #EBCB8B 17 | *color12: #81A1C1 18 | *color13: #B48EAD 19 | *color14: #8FBCBB 20 | *color15: #ECEFF4 21 | 22 | ! man pages. Change according to taste 23 | *colorBD: 2 24 | *colorUL: 4 25 | 26 | ! vim: ft=xdefaults 27 | -------------------------------------------------------------------------------- /.xinitrc: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | 4 | if [ -f ~/.Xresources ]; then 5 | xrdb -merge ~/.Xresources 6 | fi 7 | 8 | 9 | # if [ -f ~/.Xmodmap ]; then 10 | # xmodmap ~/.Xmodmap 11 | # fi 12 | 13 | if [ -d /etc/X11/xinit/xinitrc.d ] ; then 14 | for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do 15 | [ -x "$f" ] && . "$f" 16 | done 17 | unset f 18 | fi 19 | 20 | # extra ctrl key 21 | #setxkbmap -option ctrl:nocaps 22 | 23 | # get bitmap fonts 24 | #for i in ~/.fonts/bitmap/*; do 25 | # xset +fp "$i" 26 | #done 27 | 28 | # start programs 29 | sxhkd & 30 | exec bspwm 31 | -------------------------------------------------------------------------------- /config/openbox/autostart: -------------------------------------------------------------------------------- 1 | # 2 | # These things are run when an Openbox X Session is started. 3 | 4 | # Compositor 5 | compton & 6 | 7 | 8 | # launch conky before tint2 9 | #conky -c ~/Conky/simple/panel_20px_conkyrc & 10 | 11 | # Wallpaper 12 | nitrogen --restore # no background as this process exits 13 | 14 | # utilities 15 | tint2 -c ~/.config/tint2/tint2rc_dzen & 16 | numlockx & 17 | #volumeicon & 18 | #nm-applet & 19 | 20 | #dzen2 21 | dzen_panel.sh & 22 | 23 | # second conky 24 | #conky -c ~/Conky/simple/tree_conkyrc & 25 | #conky -c /home/siddharth/Conky/simple/topbars_conkyrc & -------------------------------------------------------------------------------- /config/themes/candra/panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | . theme_config 4 | 5 | if [ $(pgrep -cx panel.sh) -gt 1 ] ; then 6 | printf "%s\n" "The panel is already running." >&2 7 | exit 1 8 | fi 9 | 10 | trap 'trap - TERM; kill 0' INT TERM QUIT EXIT 11 | 12 | [ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO" 13 | mkfifo "$PANEL_FIFO" 14 | 15 | bspc subscribe > "$PANEL_FIFO" & 16 | ~/Workspace/c/a.out > "$PANEL_FIFO" & 17 | 18 | dzen_panel.sh < "$PANEL_FIFO" \ 19 | | ocelot-dzen -p -x 0 -y 100 -w 28 -l 27 -h 20 \ 20 | -bg ${BG} -fg ${FG} -sa 'c' \ 21 | -fn "monospace:size=10" -e "onstart=uncollapse" 22 | 23 | -------------------------------------------------------------------------------- /config/themes/onedark/termcolors: -------------------------------------------------------------------------------- 1 | ! colorscheme for onedark.vim 2 | 3 | *.foreground: #abb2bf 4 | *.background: #282c34 5 | 6 | *.color0: #0f131b 7 | *.color1: #be5046 8 | *.color2: #98c379 9 | *.color3: #d19a66 10 | *.color4: #61afef 11 | *.color5: #c678dd 12 | *.color6: #56b6c2 13 | *.color7: #5c6370 14 | 15 | *.color8: #636d83 16 | *.color9: #e06c75 17 | *.color10: #98c379 18 | *.color11: #e5c07b 19 | *.color12: #61afef 20 | *.color13: #c678dd 21 | *.color14: #56b6c2 22 | *.color15: #dee5f2 23 | 24 | ! man pages. Change according to taste 25 | *colorBD: 2 26 | *colorUL: 4 27 | 28 | ! vim: ft=xdefaults 29 | -------------------------------------------------------------------------------- /scripts/popup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # a script to pop up whatever is sent to it. 3 | # taken from z3bra's blog 4 | # Uses lemonbar fork with borders from github.com/dark-yux/bar 5 | # Binary is ~/.local/bin/border-lemonbar 6 | # Thursday, 04 January 2018 17:32 IST 7 | # 8 | 9 | bg='#E52c2c2c' 10 | fg='#FFf0f0f0' 11 | bo='#E5B1506A' # border color 12 | font="sans:size=8" 13 | 14 | X=1366 15 | interval=3 16 | h=30 17 | 18 | text="${@}" 19 | w=$(txtw -f "${font}" "$text") 20 | x=$((X-w-20)) 21 | y=$h 22 | g="${w}x${h}+${x}+${y}" 23 | 24 | text="%{c}%{A:exit 0:}$text%{A}" 25 | (echo $text; sleep $interval) | border-lemonbar -d \ 26 | -B ${bg} -F ${fg} -R ${bo} -g ${g} -f ${font} -r 3 | sh 27 | 28 | -------------------------------------------------------------------------------- /config/themes/feb17/termcolors: -------------------------------------------------------------------------------- 1 | ! Hybrid Terminal Colours. Uses the palette from Tomorrow-Night: 2 | ! https://github.com/chriskempson/tomorrow-theme/blob/master/vim/colors/Tomorrow-Night.vim 3 | ! vim: ft=xdefaults 4 | 5 | *background: #1D1F21 6 | *foreground: #C5C8C6 7 | ! black 8 | *color0: #282A2E 9 | *color8: #42464D 10 | ! red 11 | *color1: #A54242 12 | *color9: #CC6666 13 | ! green 14 | *color2: #8C9440 15 | *color10: #B5BD68 16 | ! yellow 17 | *color3: #DE935F 18 | *color11: #F0C674 19 | ! blue 20 | *color4: #5F819D 21 | *color12: #81A2BE 22 | ! magenta 23 | *color5: #85678F 24 | *color13: #B294BB 25 | ! cyan 26 | *color6: #5E8D87 27 | *color14: #8ABEB7 28 | ! white 29 | *color7: #707880 30 | *color15: #C5C8C6 31 | -------------------------------------------------------------------------------- /scripts/color_codes.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | bar="██████" 4 | 5 | declare -A colors 6 | while read -r num hex; do 7 | colors[$num]="$hex" 8 | done < <(awk '/^color[0-9]+/{gsub("color","",$1);gsub("#","",$3); print $1,$3}' ~/.config/termite/config) 9 | # done < <( xrdb -query | grep -E color[0-9]+ | sed -re 's/.*color([0-9]+):/\1/g;s/#//g') 10 | 11 | echo -e "\n\n\n\n" 12 | for i in {0..7}; do echo -en "\e[$((30+$i))m ${colors[$i]} \e[0m"; done 13 | echo 14 | for i in {0..7}; do echo -en "\e[$((30+$i))m ${bar} \e[0m"; done 15 | echo 16 | for i in {8..15}; do echo -en "\e[1;$((22+$i))m ${bar} \e[0m"; done 17 | echo 18 | for i in {8..15}; do echo -en "\e[1;$((22+$i))m ${colors[$i]} \e[0m"; done 19 | echo -e "\n\n\n\n" 20 | -------------------------------------------------------------------------------- /config/termite/config: -------------------------------------------------------------------------------- 1 | [options] 2 | allow_bold = true 3 | font = fira mono medium 9 4 | # scrollback buffer - 0 = disabled, negative value = infinite scrollback 5 | scrollback_lines = 10000 6 | # "system", "on" or "off" 7 | # cursor_shape = block 8 | cursor_blink = off 9 | 10 | [colors] 11 | # Solarized light 12 | background = #FDF6E3 13 | foreground = #657B83 14 | color0 = #EEE8D5 15 | color1 = #DC322F 16 | color2 = #859900 17 | color3 = #B58900 18 | color4 = #268BD2 19 | color5 = #D33682 20 | color6 = #2AA198 21 | color7 = #073642 22 | color8 = #FDF6E3 23 | color9 = #DC322F 24 | color10 = #859900 25 | color11 = #B58900 26 | color12 = #268BD2 27 | color13 = #D33682 28 | color14 = #2AA198 29 | color15 = #002B36 30 | -------------------------------------------------------------------------------- /config/themes/onedark/panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | . theme_config 4 | 5 | if [ $(pgrep -cx panel.sh) -gt 1 ] ; then 6 | printf "%s\n" "The panel is already running." >&2 7 | exit 1 8 | fi 9 | 10 | trap 'trap - TERM; kill 0' INT TERM QUIT EXIT 11 | 12 | [ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO" 13 | mkfifo "$PANEL_FIFO" 14 | 15 | bspc subscribe > "$PANEL_FIFO" & 16 | sysinfo > "$PANEL_FIFO" & 17 | 18 | lemonbar_panel.sh < "$PANEL_FIFO" \ 19 | | lemonbar -p -d \ 20 | -g "$geometry" \ 21 | -f "$ICON_FONT" -f "$FONT1"\ 22 | -B "$BAR_BG" \ 23 | -F "$BAR_FG" \ 24 | -n 'bspwm_panel' \ 25 | -a 20 \ 26 | -u 2 \ 27 | | sh 28 | 29 | -------------------------------------------------------------------------------- /config/themes/january17/termcolors: -------------------------------------------------------------------------------- 1 | ! Base16 default 2 | ! Scheme: Chris Kempson (http://chriskempson.com) 3 | 4 | *.foreground: #d8d8d8 5 | *.background: #181818 6 | *.cursorColor: #d8d8d8 7 | 8 | *.color0: #383838 9 | *.color1: #ab4642 10 | *.color2: #a1b56c 11 | *.color3: #f7ca88 12 | *.color4: #7cafc2 13 | *.color5: #ba8baf 14 | *.color6: #86c1b9 15 | *.color7: #c0c0c0 16 | 17 | *.color8: #686868 18 | *.color9: #ab4642 19 | *.color10: #a1b56c 20 | *.color11: #f7ca88 21 | *.color12: #7cafc2 22 | *.color13: #ba8baf 23 | *.color14: #86c1b9 24 | *.color15: #f8f8f8 25 | 26 | *colorBD: 1 27 | *colorUL: 4 28 | 29 | ! vim: ft=xdefaults 30 | -------------------------------------------------------------------------------- /scripts/brightness.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Tuesday, 08 October 2013 19:42 4 | # brightness script for openbox 5 | # call brightness up/down in rc.xml 6 | 7 | CURR=$(< /sys/class/backlight/acpi_video0/brightness) 8 | MAX=$(< /sys/class/backlight/acpi_video0/max_brightness) 9 | 10 | case $1 in 11 | up) 12 | if [[ $CURR -lt $MAX ]]; then 13 | CURR=$((CURR+1)) 14 | echo $CURR > /sys/class/backlight/acpi_video0/brightness 15 | fi 16 | ;; 17 | down) 18 | if [[ $CURR -gt 0 ]]; then 19 | CURR=$((CURR-1)) 20 | echo $CURR > /sys/class/backlight/acpi_video0/brightness 21 | fi 22 | ;; 23 | esac 24 | 25 | notify-send -t 1500 "Brightness $CURR" 26 | -------------------------------------------------------------------------------- /scripts/detail_panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # detail_panel.sh 4 | # displays a lemonbar segment with more detailed sysinfo 5 | # 6 | 7 | [ $(pgrep -cx detail_panel.sh) -gt 1 ] && killall detail_panel.sh 8 | 9 | trap "trap - TERM; kill 0" INT TERM QUIT EXIT 10 | 11 | . theme_config 12 | # bar geometry 13 | # o=${IFS} 14 | # IFS='x+' 15 | # l=400 16 | # read -r x y gx gy << EOF 17 | # $geometry 18 | # EOF 19 | # IFS=${o} 20 | # geometry="${l}x${y}+$((x+gx-l))+${gy}" 21 | geometry='400x25+960+738' 22 | BAR_BG="#FF${background}" 23 | 24 | sysinfo -f "%{r}" -l | lemonbar -p -d \ 25 | -g "$geometry" \ 26 | -f "$ICON_FONT" -f "$FONT1"\ 27 | -B "$BAR_BG" \ 28 | -F "$BAR_FG" \ 29 | | sh & 30 | wait 31 | 32 | -------------------------------------------------------------------------------- /scripts/dzen_popup_diskinfo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | LINES=4 4 | WIDTH=350 5 | #XPOS=900 6 | 7 | . dzen_popup_config 8 | 9 | ( 10 | echo "^fg($titlecol)Diskinfo^fg()" 11 | echo " " 12 | df -h | grep -E 'sda[12]' | while read -r F TOTAL USED AVAIL P M; do 13 | MOUNT=${M/\/*\//\/} 14 | USE=${P%\%} 15 | if [ "$USE" -gt 75 ]; then 16 | BAR=$(echo "$USE" | gdbar -bg $bar_bg -fg $bar_warn -h 2 -w 130) 17 | else 18 | BAR=$(echo "$USE" | gdbar -bg $bar_bg -fg $bar_fg -h $bar_h -w $bar_w) 19 | fi 20 | echo -e "$PAD ^fg("$highlight")$(printf '%-6s' $MOUNT)^fg() $BAR $USED / $TOTAL ($AVAIL free)$PAD" 21 | done 22 | ) | dzen2 -title-name "popup_diskinfo" -p "$TIME" -l "$LINES" -sa 'l' \ 23 | -fn "$FONT" ${OPTIONS} 24 | 25 | -------------------------------------------------------------------------------- /scripts/scratchpad.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | SCRATCHPAD_ID="/tmp/ScratchPadWinId" 4 | 5 | launch() { 6 | st -c 'scratchpad' -g '85x20-20+35' \ 7 | -e $SHELL --rcfile ~/.config/scratchpad/bashrc & 8 | sleep 3 9 | bspc query -N -n .hidden > "$SCRATCHPAD_ID" 10 | } 11 | 12 | toggle() { 13 | id=$(cat $SCRATCHPAD_ID) 14 | case "$id" in 15 | 0x*) 16 | bspc node $id --flag hidden; bspc node -f $id 17 | ;; 18 | *) 19 | notify-send "$0" "Wrong window Id" 20 | ;; 21 | esac 22 | } 23 | 24 | case "$1" in 25 | launch) 26 | launch 27 | ;; 28 | toggle) 29 | toggle 30 | ;; 31 | *) 32 | echo "Incorrect usage" 33 | ;; 34 | esac 35 | -------------------------------------------------------------------------------- /scripts/dzen_popup_sysinfo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | LINES=5 4 | WIDTH=220 5 | # XPOS=800 6 | 7 | . dzen_popup_config 8 | 9 | KERNEL=$(uname -r) 10 | UPTIME=$( uptime | sed 's/.* up *//;s/[0-9]* us.*//;s/ day, /d /;s/ days, /d /;s/:/h /;s/ min//;s/,/m/;s/ / /') 11 | PACKAGES=$(dpkg -l | grep -c '^ii') 12 | UPDATE=$(awk '/upgrade/ {line=$0;} END {$0=line; print $1}' /var/log/dpkg.log) 13 | 14 | ( 15 | echo "^fg($titlecol)Sysinfo^fg()" 16 | echo "$PAD ^fg("$highlight")Uptime:^fg() $UPTIME" 17 | echo "$PAD ^fg("$highlight")Kernel:^fg() $KERNEL" 18 | echo "$PAD ^fg("$highlight")Pacman:^fg() $PACKAGES packages" 19 | echo "$PAD ^fg("$highlight")Last updated on:^fg() $UPDATE $PAD" 20 | ) | dzen2 -title-name 'popup_sysinfo' -p "$TIME" -l "$LINES" -sa 'l' \ 21 | -fn "$FONT" ${OPTIONS} 22 | 23 | -------------------------------------------------------------------------------- /scripts/exit-box.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Multiple Exit Script using Zenity for non GDM installs 3 | # Requires zenity 4 | # 5 | ######## This part is the Exit Type picker ########## 6 | title="EXIT" 7 | exit_type=$(zenity --width="200" --height="200" --text="What do you want to do?" \ 8 | --title="$title" --list --radiolist --column '' --column '' \ 9 | TRUE "Shutdown" \ 10 | FALSE "Reboot" \ 11 | FALSE "Logout" \ 12 | | sed 's/ max//g') 13 | 14 | ######### This part takes the selection and applies it ############# 15 | case "$exit_type" in 16 | Logout) 17 | bspc quit 18 | ;; 19 | Reboot) 20 | systemctl reboot 21 | ;; 22 | Shutdown) 23 | systemctl poweroff 24 | ;; 25 | *) 26 | exit 0 27 | ;; 28 | esac 29 | 30 | -------------------------------------------------------------------------------- /config/themes/yosemite/panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | . theme_config 4 | 5 | if [ $(pgrep -cx panel.sh) -gt 1 ] ; then 6 | printf "%s\n" "The panel is already running." >&2 7 | exit 1 8 | fi 9 | 10 | trap 'trap - TERM; kill 0' INT TERM QUIT EXIT 11 | 12 | [ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO" 13 | mkfifo "$PANEL_FIFO" 14 | 15 | bspc subscribe > "$PANEL_FIFO" & 16 | 17 | ## create the toggle file before running this conky 18 | echo -n 0 > /tmp/bartoggle 19 | conky -c ~/Conky/lemonbar_conkyrc > "$PANEL_FIFO" & 20 | 21 | lemonbar_panel.sh < "$PANEL_FIFO" \ 22 | | lemonbar -p -d \ 23 | -g "$geometry" \ 24 | -f "$ICON" -f "$FONT1"\ 25 | -B "$BAR_BG" \ 26 | -F "$BAR_FG" \ 27 | -n 'bspwm_panel' \ 28 | -a 20 \ 29 | | sh 30 | wait 31 | 32 | -------------------------------------------------------------------------------- /config/themes/february/panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | . theme_config 4 | 5 | if [ $(pgrep -cx panel.sh) -gt 1 ] ; then 6 | printf "%s\n" "The panel is already running." >&2 7 | exit 1 8 | fi 9 | 10 | trap 'trap - TERM; kill 0' INT TERM QUIT EXIT 11 | 12 | [ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO" 13 | mkfifo "$PANEL_FIFO" 14 | 15 | bspc subscribe > "$PANEL_FIFO" & 16 | 17 | ## create the toggle file before running this conky 18 | echo -n 0 > /tmp/bartoggle 19 | conky -c ~/Conky/lemonbar_conkyrc > "$PANEL_FIFO" & 20 | 21 | lemonbar_panel.sh < "$PANEL_FIFO" \ 22 | | lemonbar -p -d \ 23 | -g "$geometry" \ 24 | -f "$ICON_FONT" -f "$FONT1"\ 25 | -B "$BAR_BG" \ 26 | -F "$BAR_FG" \ 27 | -n 'bspwm_panel' \ 28 | -a 20 \ 29 | | sh 30 | wait 31 | 32 | -------------------------------------------------------------------------------- /config/themes/flwr/panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | . theme_config 4 | 5 | if [ $(pgrep -cx panel.sh) -gt 1 ] ; then 6 | printf "%s\n" "The panel is already running." >&2 7 | exit 1 8 | fi 9 | 10 | trap 'trap - TERM; kill 0' INT TERM QUIT EXIT 11 | 12 | [ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO" 13 | mkfifo "$PANEL_FIFO" 14 | 15 | bspc subscribe > "$PANEL_FIFO" & 16 | 17 | ## create the toggle file before running this conky 18 | echo -n 0 > /tmp/bartoggle 19 | conky -c ~/Conky/lemonbar_conkyrc > "$PANEL_FIFO" & 20 | 21 | lemonbar_panel.sh < "$PANEL_FIFO" \ 22 | | lemonbar -p -d \ 23 | -g "$geometry" \ 24 | -f "$ICON_FONT" -f "$FONT1"\ 25 | -B "$BAR_BG" \ 26 | -F "$BAR_FG" \ 27 | -n 'bspwm_panel' \ 28 | -a 20 \ 29 | -u 2 \ 30 | | sh 31 | wait 32 | 33 | -------------------------------------------------------------------------------- /config/themes/base16-mod/panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | . theme_config 4 | 5 | if [ $(pgrep -cx panel.sh) -gt 1 ] ; then 6 | printf "%s\n" "The panel is already running." >&2 7 | exit 1 8 | fi 9 | 10 | trap 'trap - TERM; kill 0' INT TERM QUIT EXIT 11 | 12 | [ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO" 13 | mkfifo "$PANEL_FIFO" 14 | 15 | bspc subscribe > "$PANEL_FIFO" & 16 | 17 | ## create the toggle file before running this conky 18 | echo -n 0 > /tmp/bartoggle 19 | conky -c ~/Conky/lemonbar_conkyrc > "$PANEL_FIFO" & 20 | 21 | lemonbar_panel.sh < "$PANEL_FIFO" \ 22 | | lemonbar -p -d \ 23 | -g "$geometry" \ 24 | -f "$ICON_FONT" -f "$FONT1"\ 25 | -B "$BAR_BG" \ 26 | -F "$BAR_FG" \ 27 | -n 'bspwm_panel' \ 28 | -a 20 \ 29 | -u 2 \ 30 | | sh 31 | wait 32 | 33 | -------------------------------------------------------------------------------- /config/themes/july17/termcolors: -------------------------------------------------------------------------------- 1 | ! colorscheme for onedark.vim 2 | ! special 3 | *.foreground: #ABB2BF 4 | *.background: #282C34 5 | *.cursorColor: #ABB2BF 6 | 7 | ! black 8 | *.color0: #282C34 9 | *.color8: #3E4452 10 | 11 | ! red 12 | *.color1: #E06C75 13 | *.color9: #BE5046 14 | 15 | ! green 16 | *.color2: #98C379 17 | *.color10: #98C379 18 | 19 | ! yellow 20 | *.color3: #E5C07B 21 | *.color11: #D19A66 22 | 23 | ! blue 24 | *.color4: #61AFEF 25 | *.color12: #61AFEF 26 | 27 | ! magenta 28 | *.color5: #C678DD 29 | *.color13: #C678DD 30 | 31 | ! cyan 32 | *.color6: #56B6C2 33 | *.color14: #56B6C2 34 | 35 | ! white 36 | *.color7: #ABB2BF 37 | *.color15: #5C6370 38 | 39 | ! man pages. Change according to taste 40 | *colorBD: 2 41 | *colorUL: 4 42 | 43 | ! vim: ft=xdefaults 44 | -------------------------------------------------------------------------------- /config/themes/yosemite/termcolors: -------------------------------------------------------------------------------- 1 | ! color settings 2 | !---------------------------------------------------- 3 | ! easysid - yosmite_by_amdpastrana 4 | ! Sunday, 01 November 2015 14:34 IST 5 | ! 6 | 7 | *background: #E0E0E0 8 | *foreground: #333333 9 | 10 | ! BLACK 11 | *color0: #ECECEC 12 | *color8: #B9B9B9 13 | 14 | ! RED 15 | *color1: #9E3C7C 16 | *color9: #9E3C7C 17 | 18 | ! GREEN 19 | *color2: #2373B2 20 | *color10: #2373B2 21 | 22 | ! YELLOW 23 | *color3: #B07D96 24 | *color11: #B07D96 25 | 26 | ! BLUE 27 | *color4: #11458A 28 | *color12: #11458A 29 | 30 | ! MAGENTA 31 | *color5: #9860AC 32 | *color13: #9860AC 33 | 34 | ! CYAN 35 | *color6: #8182B9 36 | *color14: #8182B9 37 | 38 | ! WHITE 39 | *color7: #909090 40 | *color15: #2A2A2A 41 | 42 | ! man pages 43 | *colorBD: 1 44 | *colorUL: 4 45 | 46 | ! vim: ft=xdefaults 47 | -------------------------------------------------------------------------------- /scripts/dzen_popup_playlist.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # playlist popup for dzen2 4 | # Friday, 04 March 2016 14:50 IST 5 | 6 | songs=5 7 | format="%position% [[%artist% - ]%title%]|[%file%]" 8 | pattern=$(mpc current -f %position%) 9 | LINES=$(( $songs*2 + 1 )) 10 | WIDTH=280 11 | . dzen_popup_config 12 | 13 | # expand list if there aren't sufficient songs before current one 14 | [[ $pattern -lt $songs ]] && songs=$(( $songs*2 - $pattern )) 15 | ( 16 | echo "^fg($titlecol)Playlist^fg()" 17 | mpc playlist -f "$format" | grep -$songs "\<$pattern\>" | while read -r position song; do 18 | if [[ $position -eq $pattern ]]; then 19 | echo "^fg($highlight)$PAD^ca(1, mpc play $position)$song^ca()$PAD" 20 | continue 21 | fi 22 | echo "$PAD^ca(1, mpc play $position)$song^ca()$PAD" 23 | done 24 | ) | dzen2 -title-name "popup_playlist" -p "$TIME" -l "$LINES" -sa 'l' -m \ 25 | -fn "$FONT" ${OPTIONS} 26 | 27 | -------------------------------------------------------------------------------- /config/themes/candra/termcolors: -------------------------------------------------------------------------------- 1 | ! color settings 2 | !---------------------------------------------------- 3 | ! easysid - candra 4 | ! Sunday, 27 November 2016 21:48 IST 5 | ! copied from paramount.vim and xero blaquemagick 6 | ! 7 | 8 | *background: #262626 9 | *foreground: #c6c6c6 10 | 11 | ! BLACK 12 | *color0: #707070 13 | *color8: #707070 14 | 15 | ! red 16 | *.color1: #2e9e9e 17 | *.color9: #2e9e9e 18 | 19 | ! green 20 | *.color2: #dddddd 21 | *.color10: #dddddd 22 | 23 | ! yellow 24 | *.color3: #999999 25 | *.color11: #999999 26 | 27 | ! blue 28 | *.color4: #999999 29 | *.color12: #999999 30 | 31 | ! magenta 32 | *.color5: #999999 33 | *.color13: #999999 34 | 35 | ! cyan 36 | *.color6: #a790d5 37 | *.color14: #a790d5 38 | 39 | ! white 40 | *.color7: #c6c6c6 41 | *.color15: #c6c6c6 42 | ! man pages 43 | *colorBD: 1 44 | *colorUL: 4 45 | 46 | ! vim: ft=xdefaults 47 | -------------------------------------------------------------------------------- /scripts/volume_level.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | VOL=$(amixer -M get Master | grep -oE '[0-9]+%' | sed 's/%//') 5 | ICON= 6 | FUNC=${1:-"dzen_icon"} 7 | 8 | bar_font() { 9 | if amixer get Master | grep '\[on\]' > /dev/null; then 10 | if [ "$VOL" -lt "50" ]; then 11 | ICON='%{F\#FF9c818e}%{F-}' 12 | else 13 | ICON='%{F\#FF9c818e}%{F-}' 14 | fi 15 | else 16 | ICON='%{F\#FFb45a5a}%{F-}' 17 | fi 18 | } 19 | 20 | dzen_icon() { 21 | if amixer get Master | grep '\[on\]' > /dev/null; then 22 | if [ "$VOL" -lt "50" ]; then 23 | ICON=' ^fg(\#888888)^i(/home/siddharth/.icons/dzen/volume25.xbm)^fg()' 24 | else 25 | ICON=' ^fg(\#888888)^i(/home/siddharth/.icons/dzen/volume75.xbm)^fg()' 26 | fi 27 | else 28 | ICON=' ^fg(\#b45a5a)^i(/home/siddharth/.icons/dzen/volume0.xbm)^fg()' 29 | fi 30 | } 31 | 32 | "$FUNC" 33 | echo "$ICON $VOL%" 34 | -------------------------------------------------------------------------------- /scripts/color_blocks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # ANSI color scheme script by pfh 4 | # 5 | # Initializing mod by lolilolicon from Archlinux 6 | # 7 | 8 | f=3 b=4 9 | for j in f b; do 10 | for i in {0..7}; do 11 | printf -v $j$i %b "\e[${!j}${i}m" 12 | done 13 | done 14 | bld=$'\e[1m' 15 | rst=$'\e[0m' 16 | inv=$'\e[7m' 17 | cat << EOF 18 | 19 | 20 | 21 | 22 | 23 | ${f1}▀ █ ${bld}${f1}█ ▀${rst} ${f2}▀ █ ${bld}${f2}█ ▀${rst} ${f3}▀ █ ${bld}${f3}█ ▀${rst} ${f4}▀ █ ${bld}${f4}█ ▀${rst} ${f5}▀ █ ${bld}${f5}█ ▀${rst} ${f6}▀ █ ${bld}${f6}█ ▀${rst} 24 | ${f1}██ ${bld}${f1} ██${rst} ${f2}██ ${bld}${f2} ██${rst} ${f3}██ ${bld}${f3} ██${rst} ${f4}██ ${bld}${f4} ██${rst} ${f5}██ ${bld}${f5} ██${rst} ${f6}██ ${bld}${f6} ██${rst} 25 | ${f1}▄ █ ${bld}${f1}█ ▄${rst} ${f2}▄ █ ${bld}${f2}█ ▄${rst} ${f3}▄ █ ${bld}${f3}█ ▄${rst} ${f4}▄ █ ${bld}${f4}█ ▄${rst} ${f5}▄ █ ${bld}${f5}█ ▄${rst} ${f6}▄ █ ${bld}${f6}█ ▄${rst} 26 | 27 | 28 | 29 | 30 | 31 | EOF 32 | echo 33 | -------------------------------------------------------------------------------- /scripts/dzen_popup_netinfo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | LINES=5 4 | WIDTH=240 5 | #XPOS=1000 6 | 7 | . dzen_popup_config 8 | 9 | shopt -s expand_aliases 10 | alias vnstat='vnstat -i wlp2s0+enp4s0' 11 | ( 12 | echo "^fg($titlecol)Netinfo^fg()" 13 | # QUAL=$((iwconfig wlp2s0 | sed -n 's@.*Quality=\([0-9]*/[0-9]*\).*@100\*\1@p')) 14 | BAR=$(echo $QUAL | gdbar -bg $bar_bg -fg $bar_fg -h $bar_h -w $bar_w) 15 | MONTH=$(vnstat --short | grep "\<$(date +%b)\>" |\ 16 | awk '{ gsub("iB",""); printf "%s%-4s %s%-3s %s%-3s",$3,$4,$6,$7,$9,$10}') 17 | TODAY=$(vnstat --short |\ 18 | awk '/today/{ gsub("iB",""); printf "%s%-3s %s%-2s %s%-2s",$2,$3,$5,$6,$8,$9}') 19 | echo -e "$PAD ^fg("$highlight")Qual: ^fg() $BAR $QUAL%" 20 | echo -e "$PAD ^fg("$highlight")Usage: Down Up Total" 21 | echo -e "$PAD ^fg("$highlight")Month: ^fg() $MONTH" 22 | echo -e "$PAD ^fg("$highlight")Today: ^fg() $TODAY" 23 | ) | dzen2 -title-name "popup_netinfo" -p "$TIME" -l "$LINES" -sa 'l'\ 24 | -fn "$FONT" ${OPTIONS} 25 | unalias vnstat 26 | 27 | -------------------------------------------------------------------------------- /scripts/dzen_popup_config: -------------------------------------------------------------------------------- 1 | # config options for dzen popups 2 | # 3 | 4 | # get the colors 5 | . theme_config 6 | 7 | # gdbar width and height 8 | bar_h=2 9 | bar_w=130 10 | 11 | # function to get mouse x-coordinate 12 | function mouselocation(){ 13 | eval $(xdotool getmouselocation --shell 2> /dev/null) 14 | screen_width=$(sres -W) 15 | x_offset=$((WIDTH/2)) 16 | R_edge=$((X+x_offset)) 17 | XPOS=$((X-x_offset)) 18 | if [[ $XPOS -lt 0 ]]; then 19 | XPOS=$X 20 | fi 21 | if [[ $R_edge -gt $screen_width ]]; then 22 | XPOS=$((X-WIDTH)) 23 | fi 24 | } 25 | 26 | PAD=" " 27 | # YPOS=$(( $(bspc config -m LVDS top_padding)+5 )) 28 | YPOS=28 29 | TIME=4 30 | 31 | # Options specific to individual popups. Do not override. 32 | [[ $XPOS ]] || mouselocation 33 | [[ $ACT ]] || ACT="onstart=uncollapse;button1=exit;button3=exit" 34 | 35 | # Some options below may not have been defined in this file. 36 | OPTIONS="-bg ${BG} -fg ${FG} -x ${XPOS} -y ${YPOS} -w ${WIDTH} -e ${ACT} -ta 'c'" 37 | 38 | # vim: ft=sh 39 | -------------------------------------------------------------------------------- /config/fontconfig/conf.d/99-emoji.conf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Apple Color Emoji 7 | Noto Color Emoji 8 | 9 | 10 | Segoe UI Emoji 11 | Noto Color Emoji 12 | 13 | 14 | Segoe UI Symbol 15 | Noto Color Emoji 16 | 17 | 18 | Noto Emoji 19 | Noto Color Emoji 20 | 21 | 22 | Symbola 23 | Noto Color Emoji 24 | 25 | 26 | Android Emoji 27 | Noto Color Emoji 28 | 29 | 30 | EmojiSymbols 31 | Noto Color Emoji 32 | 33 | 34 | -------------------------------------------------------------------------------- /config/fontconfig/conf.d/10-powerline-symbols.conf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | monospace 7 | PowerlineSymbols 8 | 9 | 10 | DejaVu Sans Mono 11 | PowerlineSymbols 12 | 13 | 14 | Fira Mono 15 | PowerlineSymbols 16 | 17 | 18 | Inconsolata 19 | PowerlineSymbols 20 | 21 | 22 | Liberation Mono 23 | PowerlineSymbols 24 | 25 | 26 | Monaco 27 | PowerlineSymbols 28 | 29 | 30 | Ubuntu Mono 31 | PowerlineSymbols 32 | 33 | 34 | -------------------------------------------------------------------------------- /config/themes/base16-mod/termcolors: -------------------------------------------------------------------------------- 1 | ! Base16 mod 2 | ! slightly modified from default 3 | ! Scheme: Chris Kempson (http://chriskempson.com) 4 | 5 | #define base00 #1d1d1d 6 | #define base01 #282828 7 | #define base02 #383838 8 | #define base03 #585858 9 | #define base04 #b8b8b8 10 | #define base05 #c0c0c0 11 | #define base06 #e8e8e8 12 | #define base07 #f8f8f8 13 | #define base08 #ab4642 14 | #define base09 #dc9656 15 | #define base0A #f7ca88 16 | #define base0B #a1b56c 17 | #define base0C #86c1b9 18 | #define base0D #7cafc2 19 | #define base0E #ba8baf 20 | #define base0F #a16946 21 | 22 | *.foreground: base05 23 | *.background: base00 24 | *.cursorColor: base05 25 | 26 | *.color0: base00 27 | *.color1: base08 28 | *.color2: base0B 29 | *.color3: base0A 30 | *.color4: base0D 31 | *.color5: base0E 32 | *.color6: base0C 33 | *.color7: base05 34 | 35 | *.color8: base03 36 | *.color9: base09 37 | *.color10: base01 38 | *.color11: base02 39 | *.color12: base04 40 | *.color13: base06 41 | *.color14: base0F 42 | *.color15: base07 43 | 44 | *colorBD: 1 45 | *colorUL: 4 46 | 47 | ! vim: ft=xdefaults 48 | -------------------------------------------------------------------------------- /config/themes/flwr/termcolors: -------------------------------------------------------------------------------- 1 | ! Color palette modified from base16-mocha.vim 2 | #define base00 #3B3228 3 | #define base01 #534636 4 | #define base02 #645240 5 | #define base03 #7e705a 6 | #define base04 #b8afad 7 | #define base05 #d7ccc1 8 | #define base06 #e9e1dd 9 | #define base07 #f5eeeb 10 | #define base08 #ae835b 11 | #define base09 #d28b71 12 | #define base0A #f3b67c 13 | #define base0B #beb880 14 | #define base0C #bb9584 15 | #define base0D #f6cba2 16 | #define base0E #b3ac6b 17 | #define base0F #bb9584 18 | 19 | ! Slightly modified terminal color definitions from the default base16 Xresources 20 | ! You should not need to make any changes below. 21 | *.foreground: base05 22 | *.background: base00 23 | *.cursorColor: base05 24 | 25 | *.color0: base01 26 | *.color1: base08 27 | *.color2: base0B 28 | *.color3: base0A 29 | *.color4: base0D 30 | *.color5: base0E 31 | *.color6: base0C 32 | *.color7: base03 33 | 34 | *.color8: base02 35 | *.color9: base09 36 | *.color10: base0B 37 | *.color11: base0A 38 | *.color12: base0D 39 | *.color13: base0E 40 | *.color14: base0F 41 | *.color15: base04 42 | 43 | ! man pages. Change according to taste 44 | *colorBD: 2 45 | *colorUL: 4 46 | 47 | ! vim: ft=xdefaults 48 | -------------------------------------------------------------------------------- /deploy/pkglist.txt: -------------------------------------------------------------------------------- 1 | alsa-utils 2 | android-tools 3 | autoconf 4 | automake 5 | bash-completion 6 | bison 7 | bspwm 8 | calibre 9 | compton 10 | dash 11 | deadbeef 12 | dhcpcd 13 | fakeroot 14 | ffmpegthumbnailer 15 | file-roller 16 | firefox 17 | flake8 18 | flex 19 | gcc 20 | gimp 21 | git 22 | gmrun 23 | gnome-themes-standard 24 | grsync 25 | grub 26 | gtk-engine-murrine 27 | gtk-engines 28 | gucharmap 29 | gvfs-mtp 30 | gvim 31 | imagemagick 32 | intel-ucode 33 | iputils 34 | iw 35 | keepassxc 36 | libmad 37 | licenses 38 | linux 39 | logrotate 40 | lxappearance 41 | lxtask 42 | make 43 | man-db 44 | man-pages 45 | mesa-vdpau 46 | mpv 47 | nano 48 | netctl 49 | nitrogen 50 | noto-fonts 51 | ntfs-3g 52 | pacman 53 | patch 54 | pavucontrol 55 | pcmciautils 56 | pkg-config 57 | pulseaudio 58 | python-pip 59 | sudo 60 | sxhkd 61 | systemd-sysvcompat 62 | termite 63 | thunar 64 | thunar-archive-plugin 65 | thunar-media-tags-plugin 66 | thunar-volman 67 | transmission-gtk 68 | ttf-liberation 69 | ttf-symbola 70 | tumbler 71 | unrar 72 | usbutils 73 | viewnior 74 | which 75 | wpa_actiond 76 | xdotool 77 | xf86-input-synaptics 78 | xf86-video-ati 79 | xorg-server 80 | xorg-xinit 81 | xorg-xinput 82 | xorg-xlsfonts 83 | xorg-xprop 84 | xorg-xsetroot 85 | youtube-dl 86 | zathura-djvu 87 | zathura-pdf-poppler 88 | -------------------------------------------------------------------------------- /config/fontconfig/conf.d/44-source-han-sans-otc.conf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | Source Han Sans J Medium 13 | 14 | 15 | demibold 16 | 17 | 18 | 19 | 20 | Source Han Sans K Medium 21 | 22 | 23 | demibold 24 | 25 | 26 | 27 | 28 | Source Han Sans SC Medium 29 | 30 | 31 | demibold 32 | 33 | 34 | 35 | 36 | Source Han Sans TC Medium 37 | 38 | 39 | demibold 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /config/themes/february/termcolors: -------------------------------------------------------------------------------- 1 | ! Base16 Ocean for mod8 2 | ! Scheme: Chris Kempson (http://chriskempson.com) 3 | 4 | ! Change the following palette according to the colorscheme 5 | #define base00 #2b303b 6 | #define base01 #343d46 7 | #define base02 #4f5b66 8 | #define base03 #65737e 9 | #define base04 #a7adba 10 | #define base05 #c0c5ce 11 | #define base06 #dfe1e8 12 | #define base07 #eff1f5 13 | #define base08 #bf616a 14 | #define base09 #d08770 15 | #define base0A #ebcb8b 16 | #define base0B #a3be8c 17 | #define base0C #96b5b4 18 | #define base0D #8fa1b3 19 | #define base0E #b48ead 20 | #define base0F #ab7967 21 | 22 | ! Slightly modified terminal color definitions from the default base16 Xresources 23 | ! You should not need to make any changes below. 24 | *.foreground: base05 25 | *.background: base00 26 | *.cursorColor: base05 27 | 28 | *.color0: base01 29 | *.color1: base08 30 | *.color2: base0B 31 | *.color3: base0A 32 | *.color4: base0D 33 | *.color5: base0E 34 | *.color6: base0C 35 | *.color7: base03 36 | 37 | *.color8: base02 38 | *.color9: base09 39 | *.color10: base0B 40 | *.color11: base0A 41 | *.color12: base0D 42 | *.color13: base0E 43 | *.color14: base0F 44 | *.color15: base04 45 | 46 | ! man pages. Change according to taste 47 | *colorBD: 1 48 | *colorUL: 4 49 | 50 | ! vim: ft=xdefaults 51 | -------------------------------------------------------------------------------- /config/fontconfig/conf.d/60-latin-free.conf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | serif 10 | 11 | Liberation Serif 12 | Noto Serif 13 | DejaVu Serif 14 | Nimbus Roman 15 | 16 | 17 | 18 | 19 | sans-serif 20 | 21 | Noto Sans 22 | Liberation Sans 23 | DejaVu Sans 24 | Nimbus Sans 25 | 26 | 27 | 28 | 29 | monospace 30 | 31 | Liberation Mono 32 | DejaVu Sans Mono 33 | Cousine 34 | 35 | 36 | 37 | 38 | fantasy 39 | 40 | Signika 41 | 42 | 43 | 44 | 45 | cursive 46 | 47 | TeX Gyre Chorus 48 | Chancery URW 49 | Quintessential 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /config/bspwm/bspwmrc: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | . ~/.scripts/theme_config 4 | 5 | # config options 6 | bspc config border_width 3 7 | bspc config top_padding $PANEL_HEIGHT 8 | bspc config window_gap 15 9 | bspc config split_ratio 0.50 10 | bspc config borderless_monocle true 11 | bspc config gapless_monocle true 12 | bspc config focus_follows_pointer true 13 | bspc config click_to_focus true 14 | bspc config initial_polarity second_child # new split to the right 15 | 16 | # desktops 17 | bspc monitor -d main web term misc foo 18 | 19 | # Rules 20 | bspc desktop ^2 -l monocle 21 | bspc rule -a Firefox desktop=^2 22 | bspc rule -a Gimp desktop=^4 23 | bspc rule -a Gimp-2.10 desktop=^4 24 | # bspc rule -a Transmission-gtk desktop=^5 25 | bspc rule -a Lxappearance state=floating center=true 26 | bspc rule -a Nitrogen state=floating center=true 27 | bspc rule -a File-roller state=floating center=true 28 | bspc rule -a keepassxc state=floating 29 | 30 | # colors 31 | bspc config focused_border_color ${focused_border_color} 32 | bspc config normal_border_color ${normal_border_color} 33 | bspc config active_border_color ${active_border_color} 34 | bspc config presel_feedback_color ${presel_color} 35 | 36 | # Autostart apps 37 | xsetroot -cursor_name left_ptr 38 | /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & 39 | #numlock.sh & 40 | # allow_rgb10_configs=false compton & 41 | compton & 42 | nitrogen --restore 43 | restart_panel.sh & 44 | firefox -private-window & 45 | 46 | -------------------------------------------------------------------------------- /panelinfo/deprecated/config.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Macros for commands, colors, and icons. 3 | * Use genconfig.sh to generate 4 | */ 5 | 6 | #define FORMAT "S" 7 | #define INTERVAL 3 8 | 9 | /* CPU and RAM */ 10 | #define STR_CPU " %%{F#FFc678dd A:dzen_popup_toggle.sh sysinfo:}\ue082%%{F-} %.0f%%%%{A} " 11 | #define STR_RAM_M " %%{F#FFc678dd A:dzen_popup_toggle.sh diskinfo:}\ue028%%{F-} %.0fM%%{A} " 12 | #define STR_RAM_G " %%{F#FFc678dd A:dzen_popup_toggle.sh diskinfo:}\ue028%%{F-} %.2fG%%{A} " 13 | 14 | /* internet connection */ 15 | #define STR_NET "%%{F#FF61afef A:dzen_popup_toggle.sh netinfo:} \ue19c %%{F- A}" 16 | #define STR_NONET "%%{F#FF636d83 A:dzen_popup_toggle.sh netinfo:} \ue19c %%{F- A}" 17 | 18 | /* temperatures */ 19 | #define STR_TEMP " %%{F#FFe06c75}\ue0ca%%{F-} %ld° %%{F#FFe06c75}\ue0ca%%{F-} %ld° " 20 | 21 | /* clock */ 22 | #define STR_CLK " %%{F#FFabb2bf A:dzen_popup_toggle.sh calendar:}%%{F-}%s%%{A} " 23 | 24 | /* ac and battery status */ 25 | #define STR_AC " %%{F#FFabb2bf}\ue041%%{F-}" 26 | #define STR_BATF " %%{F#FFabb2bf}\ue1ff%%{F-}" 27 | #define STR_BATH " %%{F#FFd19a66}\ue1fe%%{F-}" 28 | #define STR_BATC " %%{F#FFe06c75}\ue1fd%%{F-}" 29 | 30 | /* mpd status */ 31 | #define STR_PLAY "M %%{F#FFabb2bf A:mpc toggle > /dev/null:}\ue1a6%%{A F-} %%{A: dzen_popup_toggle.sh musicinfo:}%.40s%%{A} " 32 | #define STR_PAUSE "M %%{F#FFabb2bf A:mpc toggle > /dev/null:}\ue1a6%%{A F#FF636d83} %%{A:dzen_popup_toggle.sh musicinfo:}%.40s%%{F- A} " 33 | #define STR_STOP "M %%{F#FF636d83}\ue1a6%%{F-} " 34 | 35 | /* field separator for long info */ 36 | #define STR_SEP "%{F#FFa0a0a0}|%{F-}" 37 | -------------------------------------------------------------------------------- /scripts/themer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # script to change theme by creating links from themes dir to proper palces. 4 | # 5 | # Monday, 14 December 2015 21:30 IST 6 | # 7 | 8 | export dotdir="$HOME/Workspace/dotfiles" 9 | cd "$dotdir" 10 | 11 | createlinks () { 12 | theme="config/themes/$1" 13 | themedir="$dotdir/$theme" 14 | err="\033[1;31m" 15 | rst="\033[0m" 16 | declare -a filelist=( 17 | "panel.sh" 18 | "termcolors" 19 | "theme_config" 20 | ) 21 | if [[ -d $theme ]]; then 22 | cd ${theme} 23 | for i in "${filelist[@]}"; do 24 | if [[ -f $i ]]; then 25 | echo -e "$i exists" 26 | else 27 | echo -e "${err}Error:${rst} $i not found" 28 | echo -e "${err}Error:${rst} $1 is not a valid theme." 29 | exit 101 30 | fi 31 | done 32 | # Now create links 33 | echo 34 | cd "$dotdir/scripts" 35 | ln -svf "../$theme/panel.sh" . 36 | ln -svf "../$theme/theme_config" . 37 | ln -svf "../$theme/termcolors" . 38 | # if conkyrc files exist, link them to ~/Conky 39 | cd "$dotdir" 40 | find ${themedir} -type f -name '*conkyrc' -exec ln -svf {} "$HOME/Conky/" \; 41 | # change xcolors and update xrdb 42 | xrdb merge ~/.Xresources 43 | else 44 | echo -e "${err}Error:${rst} $theme does not exist." 45 | exit 101 46 | fi 47 | } 48 | 49 | if [[ $# -eq 0 ]]; then 50 | ls $dotdir/config/themes 51 | read -rp 'Enter the theme name: ' themename 52 | createlinks $themename 53 | else 54 | createlinks $1 55 | fi 56 | 57 | -------------------------------------------------------------------------------- /scripts/dzen_popup_musicinfo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # dzen2 popup for album art and music osd 4 | # Tuesday, 26 April 2016 22:34 IST 5 | # 6 | 7 | WIDTH=300 8 | HEIGHT=82 9 | TIME=8 10 | 11 | . dzen_popup_config 12 | 13 | # define pipe 14 | PIPE=/tmp/musicinfo_pipe 15 | 16 | # if terminated by TERM 17 | trap "rm -f $PIPE" SIGTERM 18 | 19 | if mpc status | grep '\[playing\]' > /dev/null; then 20 | play="$HOME/.icons/dzen/pause.xbm" 21 | else 22 | play="$HOME/.icons/dzen/play.xbm" 23 | fi 24 | next="$HOME/.icons/dzen/next.xbm" 25 | prev="$HOME/.icons/dzen/prev.xbm" 26 | title=$(mpc current -f '%title%') 27 | artist=$(mpc current -f '%artist%') 28 | album=$(mpc current -f '%album%') 29 | file=$(mpc current -f '%file%') 30 | perc=$(mpc | awk 'NR == 2 {gsub(/[()%]/,""); print $4}') 31 | bar=$(echo $perc | gdbar -bg $bar_bg -fg $bar_fg -h 3 -w 200) 32 | temp=${file%/*} 33 | temp="${temp##*/}.xpm" 34 | albumart="$HOME/.config/covers/$temp" 35 | if [[ ! -f $albumart ]]; then 36 | albumart="$HOME/.config/covers/notfound.xpm" 37 | fi 38 | 39 | # read from the pipe 40 | if [[ ! -e $PIPE ]]; then 41 | mkfifo "$PIPE" 42 | ( dzen2 -u -title-name 'popup_musicinfo' -h "$HEIGHT" \ 43 | -fn "$FONT" ${OPTIONS} -ta 'l' < "$PIPE" 44 | rm -f "$PIPE" ) & 45 | fi 46 | 47 | # feed the pipe 48 | ( 49 | echo "^pa(5;5)^i($albumart)^ib(1) \ 50 | ^pa(110;5)^ca(1, mpc prev;$0) ^i($prev) ^ca() \ 51 | ^pa(180;5)^ca(1, mpc toggle;$0) ^i($play) ^ca() \ 52 | ^pa(250;5)^ca(1, mpc next;$0) ^i($next) ^ca() \ 53 | ^pa(90;25)^fg($titlecol)$title^fg() \ 54 | ^pa(90;40)^fg($ylw)$artist^fg() \ 55 | ^pa(90;55)^fg($ylw)$album^fg() \ 56 | ^pa(90;73)$bar \ 57 | " 58 | sleep 8s 59 | ) > "$PIPE" 60 | 61 | -------------------------------------------------------------------------------- /config/dunst/dunstrc: -------------------------------------------------------------------------------- 1 | [urgency_low] 2 | background = "#222d32" 3 | foreground = "#fafbfc" 4 | timeout = 3 5 | [urgency_normal] 6 | background = "#222d32" 7 | foreground = "#fafbfc" 8 | timeout = 3 9 | [urgency_critical] 10 | background = "#900000" 11 | foreground = "#ffffff" 12 | frame_color = "#ff0000" 13 | timeout = 0 14 | 15 | [global] 16 | font = sans 8 17 | frame_width = 3 18 | frame_color = "#00bcd4" 19 | separator_color = frame 20 | geometry = "200x5-30+20" 21 | 22 | monitor = 0 23 | follow = mouse 24 | indicate_hidden = yes 25 | shrink = no 26 | transparency = 0 27 | notification_height = 0 28 | separator_height = 2 29 | padding = 5 30 | horizontal_padding = 5 31 | sort = yes 32 | idle_threshold = 120 33 | line_height = 0 34 | 35 | markup = full 36 | format = "%s\n%b" 37 | alignment = center 38 | show_age_threshold = 60 39 | word_wrap = yes 40 | ellipsize = middle 41 | ignore_newline = no 42 | stack_duplicates = true 43 | hide_duplicate_count = false 44 | show_indicators = yes 45 | icon_position = off 46 | max_icon_size = 32 47 | icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ 48 | sticky_history = yes 49 | history_length = 20 50 | browser = /usr/bin/firefox -private-window 51 | always_run_script = true 52 | title = Dunst 53 | class = Dunst 54 | startup_notification = false 55 | 56 | force_xinerama = false 57 | 58 | [experimental] 59 | per_monitor_dpi = false 60 | 61 | [shortcuts] 62 | close = 63 | close_all = 64 | history = 65 | context = 66 | -------------------------------------------------------------------------------- /config/themes/candra/theme_config: -------------------------------------------------------------------------------- 1 | # theme_config 2 | # define the various colors used in lemonbar, dzen popups, and bspwm 3 | # 4 | 5 | ########################## 6 | ## Colors ## 7 | ########################## 8 | 9 | foreground="c6c6c6" 10 | background="262626" 11 | color1="f0f0f0" 12 | color2="2e9e9e" 13 | red="97544d" 14 | green="dddddd" 15 | grey1="999999" 16 | grey2="404040" 17 | 18 | ########################## 19 | ## dzen popups ## 20 | ########################## 21 | 22 | FONT="-lucy-tewi-medium-r-normal--11-90-75-75-p-58-iso10646-1" 23 | 24 | BG="#${background}" 25 | FG="#${foreground}" 26 | bar_bg="#${grey2}" # for gdbar 27 | bar_fg="#${green}" 28 | bar_warn="#${red}" 29 | titlecol="#${color1}" # popup titles 30 | highlight="#${color2}" 31 | 32 | ########################## 33 | ## bspwm panel config ## 34 | ########################## 35 | 36 | geometry="1316x20+20+5" 37 | ICON_FONT="-wuncon-siji-medium-r-normal--10-100-75-75-c-80-iso10646-1" 38 | FONT1="-ypn-envypn-medium-r-normal--13-130-75-75-c-90-iso8859-1" 39 | ICN="FontAwesome:size=14" 40 | 41 | PAD=" " 42 | RPAD=" " 43 | 44 | # color definitions 45 | BAR_BG="#${background}" 46 | BAR_FG="#${foreground}" 47 | 48 | F_O_FG="#${color1}" 49 | F_F_FG="#${color2}" 50 | F_U_FG="#${red}" 51 | O_FG="#${grey1}" 52 | F_FG="#${grey2}" 53 | U_FG="#${red}" 54 | 55 | ########################## 56 | ## bspwm borders ## 57 | ########################## 58 | 59 | focused_border_color=${FG} 60 | normal_border_color=${BG} 61 | active_border_color=${BG} 62 | focused_locked_border_color=${BG} 63 | normal_locked_border_color=${BG} 64 | active_locked_border_color=${BG} 65 | urgent_border_color="#${color1}" 66 | presel_color="#${red}" 67 | 68 | # vim: ft=sh 69 | -------------------------------------------------------------------------------- /config/themes/nord/theme_config: -------------------------------------------------------------------------------- 1 | # theme_config 2 | # define the various colors used in lemonbar, dzen popups, and bspwm 3 | # 4 | 5 | ########################## 6 | ## Colors ## 7 | ########################## 8 | 9 | foreground="abb2bf" 10 | background="282c34" 11 | yellow="ebcb8b" 12 | red="BF616A" 13 | green="a3b38c" 14 | blue="81a1c1" 15 | grey1="636d83" 16 | grey2="a0a0a0" 17 | 18 | ########################## 19 | ## dzen popups ## 20 | ########################## 21 | 22 | FONT="-lucy-tewi-medium-r-normal--11-90-100-100-c-60-iso10646-1" 23 | 24 | BG="#${background}" 25 | FG="#${foreground}" 26 | bar_bg="#${grey1}" # for gdbar 27 | bar_fg="#${green}" 28 | bar_warn="#${red}" 29 | titlecol="#${red}" # popup titles 30 | highlight="#${yellow}" 31 | 32 | ########################## 33 | ## bspwm panel config ## 34 | ########################## 35 | 36 | geometry="1366x20" 37 | ICON_FONT="material\-design\-iconic\-font:size=11" 38 | TEXT_FONT="fira mono:bold:size=8" 39 | PAD=" " 40 | RPAD=" " 41 | 42 | # Desktop symbols 43 | # DFO="\356\200\200" 44 | # DO="\356\203\247" 45 | # DF="\356\203\267" 46 | 47 | # color definitions 48 | BAR_BG="#504c566a" 49 | BAR_FG="#Fffafafa" 50 | 51 | UN_1="#FF${blue}" 52 | UN_2="#FF${green}" 53 | F_O_FG=${BAR_FG} 54 | F_O_BG=${BAR_BG} 55 | F_F_FG="#FF${green}" 56 | F_F_BG=${BAR_BG} 57 | F_U_FG=${BAR_FG} 58 | F_U_BG="#FF${red}" 59 | O_FG="#Ffd0d0d0" 60 | O_BG=${BAR_BG} 61 | F_FG="#FF${grey1}" 62 | F_BG=${BAR_BG} 63 | U_FG=${F_U_FG} 64 | U_BG=${F_U_BG} 65 | 66 | ########################## 67 | ## bspwm borders ## 68 | ########################## 69 | 70 | focused_border_color="#f0f0f0" 71 | normal_border_color="${BG}" 72 | active_border_color=${BG} 73 | presel_color="#${red}" 74 | 75 | # vim: ft=sh 76 | -------------------------------------------------------------------------------- /config/themes/sol-light/theme_config: -------------------------------------------------------------------------------- 1 | # theme_config 2 | # define the various colors used in lemonbar, dzen popups, and bspwm 3 | # 4 | 5 | ########################## 6 | ## Colors ## 7 | ########################## 8 | 9 | foreground="FAFBFC" 10 | background="282C34" 11 | yellow="EBCB8B" 12 | red="DC322F" 13 | green="A3B38C" 14 | blue="81A1C1" 15 | grey1="515A5F" 16 | grey2="A0A0A0" 17 | 18 | ########################## 19 | ## dzen popups ## 20 | ########################## 21 | 22 | FONT="-lucy-tewi-medium-r-normal--11-90-100-100-c-60-iso10646-1" 23 | 24 | BG="#${background}" 25 | FG="#${foreground}" 26 | bar_bg="#${grey1}" # for gdbar 27 | bar_fg="#${green}" 28 | bar_warn="#${red}" 29 | titlecol="#${red}" # popup titles 30 | highlight="#${yellow}" 31 | 32 | ########################## 33 | ## bspwm panel config ## 34 | ########################## 35 | 36 | PANEL_HEIGHT=20 37 | geometry="1366x$PANEL_HEIGHT" 38 | ICON_FONT="material\-design\-iconic\-font:size=11" 39 | TEXT_FONT="fira mono:bold:size=8" 40 | PAD=" " 41 | RPAD=" " 42 | 43 | # Desktop symbols 44 | # DFO="\356\200\200" 45 | # DO="\356\203\247" 46 | # DF="\356\203\267" 47 | 48 | # color definitions 49 | BAR_BG="#FF222d32" 50 | BAR_FG="#FFFAFBFC" 51 | 52 | UN_1="#FF00BCD4" 53 | UN_2="#FF${green}" 54 | F_O_FG=${BAR_FG} 55 | F_O_BG=${BAR_BG} 56 | F_F_FG="#FF${green}" 57 | F_F_BG=${BAR_BG} 58 | F_U_FG=${BAR_FG} 59 | F_U_BG="#FF${red}" 60 | O_FG="#FFC0C0C0" 61 | O_BG=${BAR_BG} 62 | F_FG="#FF${grey1}" 63 | F_BG=${BAR_BG} 64 | U_FG=${F_U_FG} 65 | U_BG=${F_U_BG} 66 | 67 | ########################## 68 | ## bspwm borders ## 69 | ########################## 70 | 71 | focused_border_color="#00BCD4" 72 | normal_border_color="${FG}" 73 | active_border_color=${FG} 74 | presel_color="#${red}" 75 | 76 | # vim: ft=sh 77 | -------------------------------------------------------------------------------- /config/themes/flwr/theme_config: -------------------------------------------------------------------------------- 1 | # theme_config 2 | # define the various colors used in lemonbar, dzen popups, and bspwm 3 | # 4 | 5 | ########################## 6 | ## Colors ## 7 | ########################## 8 | 9 | foreground="9b8582" 10 | background="1c1616" 11 | ylw="a47951" 12 | red="ab6d4e" 13 | green="beb880" 14 | grey1="645240" 15 | grey2="a0a0a0" 16 | 17 | ########################## 18 | ## dzen popups ## 19 | ########################## 20 | 21 | FONT="-lucy-tewi-medium-r-normal--11-90-100-100-c-60-iso10646-1" 22 | 23 | BG="#${background}" 24 | FG="#${foreground}" 25 | bar_bg="#${grey1}" # for gdbar 26 | bar_fg="#${green}" 27 | bar_warn="#${red}" 28 | titlecol="#${red}" # popup titles 29 | highlight="#${ylw}" 30 | 31 | ########################## 32 | ## bspwm panel config ## 33 | ########################## 34 | 35 | geometry="1166x22+100+5" 36 | ICON_FONT="-wuncon-siji-medium-r-normal--10-100-75-75-c-80-iso10646-1" 37 | FONT1="-ypn-envypn-medium-r-normal--13-130-75-75-c-90-iso8859-1" 38 | 39 | PAD=" " 40 | RPAD=" " 41 | 42 | # Desktop symbols 43 | # DFO="\356\200\200" 44 | # DO="\356\203\247" 45 | # DF="\356\203\267" 46 | 47 | # color definitions 48 | BAR_BG="#FF${background}" 49 | BAR_FG="#FF${foreground}" 50 | 51 | UN_1="#FF${red}" 52 | UN_2="#FF${green}" 53 | F_O_FG=${BAR_FG} 54 | F_O_BG=${BAR_BG} 55 | F_F_FG="#FF${green}" 56 | F_F_BG=${BAR_BG} 57 | F_U_FG="#FF${red}" 58 | F_U_BG=${BAR_BG} 59 | O_FG=${BAR_FG} 60 | O_BG=${BAR_BG} 61 | F_FG="#FF${grey1}" 62 | F_BG=${BAR_BG} 63 | U_FG="#FF${red}" 64 | U_BG="#FF${grey2}" 65 | 66 | ########################## 67 | ## bspwm borders ## 68 | ########################## 69 | 70 | focused_border_color=${FG} 71 | normal_border_color="#3b3228" 72 | active_border_color=${BG} 73 | presel_color="#${red}" 74 | 75 | # vim: ft=sh 76 | -------------------------------------------------------------------------------- /config/themes/onedark/theme_config: -------------------------------------------------------------------------------- 1 | # theme_config 2 | # define the various colors used in lemonbar, dzen popups, and bspwm 3 | # 4 | 5 | ########################## 6 | ## Colors ## 7 | ########################## 8 | 9 | foreground="abb2bf" 10 | background="282c34" 11 | yellow="d19a66" 12 | red="e06c75" 13 | green="98c379" 14 | blue="61afef" 15 | grey1="636d83" 16 | grey2="a0a0a0" 17 | 18 | ########################## 19 | ## dzen popups ## 20 | ########################## 21 | 22 | FONT="-lucy-tewi-medium-r-normal--11-90-100-100-c-60-iso10646-1" 23 | 24 | BG="#${background}" 25 | FG="#${foreground}" 26 | bar_bg="#${grey1}" # for gdbar 27 | bar_fg="#${green}" 28 | bar_warn="#${red}" 29 | titlecol="#${red}" # popup titles 30 | highlight="#${yellow}" 31 | 32 | ########################## 33 | ## bspwm panel config ## 34 | ########################## 35 | 36 | geometry="966x22+200+5" 37 | ICON_FONT="-wuncon-siji-medium-r-normal--10-100-75-75-c-80-iso10646-1" 38 | FONT1="-ypn-envypn-medium-r-normal--13-130-75-75-c-90-iso8859-1" 39 | 40 | PAD=" " 41 | RPAD=" " 42 | 43 | # Desktop symbols 44 | # DFO="\356\200\200" 45 | # DO="\356\203\247" 46 | # DF="\356\203\267" 47 | 48 | # color definitions 49 | BAR_BG="#FF${background}" 50 | BAR_FG="#FF${foreground}" 51 | 52 | UN_1="#FF${red}" 53 | UN_2="#FF${green}" 54 | F_O_FG=${BAR_FG} 55 | F_O_BG=${BAR_BG} 56 | F_F_FG="#FF${green}" 57 | F_F_BG=${BAR_BG} 58 | F_U_FG="#FF${red}" 59 | F_U_BG=${BAR_BG} 60 | O_FG=${BAR_FG} 61 | O_BG=${BAR_BG} 62 | F_FG="#FF${grey1}" 63 | F_BG=${BAR_BG} 64 | U_FG="#FF${red}" 65 | U_BG="#FF${grey2}" 66 | 67 | ########################## 68 | ## bspwm borders ## 69 | ########################## 70 | 71 | focused_border_color="#fafafa" 72 | normal_border_color="${BG}" 73 | active_border_color=${BG} 74 | presel_color="#${red}" 75 | 76 | # vim: ft=sh 77 | -------------------------------------------------------------------------------- /config/themes/february/theme_config: -------------------------------------------------------------------------------- 1 | # theme_config 2 | # define the various colors used in lemonbar, dzen popups, and bspwm 3 | # 4 | 5 | ########################## 6 | ## Colors ## 7 | ########################## 8 | 9 | foreground="c0c5ce" 10 | background="2f343f" 11 | ylw="ebcb8b" 12 | blue="8fa1b3" 13 | red="bf616a" 14 | green="A3BE8C" 15 | grey1="4f5b66" 16 | grey2="a0a0a0" 17 | 18 | ########################## 19 | ## dzen popups ## 20 | ########################## 21 | 22 | FONT="-lucy-tewi-medium-r-normal--11-90-100-100-c-60-iso10646-1" 23 | 24 | BG="#${background}" 25 | FG="#${foreground}" 26 | bar_bg="#${grey1}" # for gdbar 27 | bar_fg="#${green}" 28 | bar_warn="#${red}" 29 | titlecol="#${red}" # popup titles 30 | highlight="#${ylw}" 31 | 32 | ########################## 33 | ## bspwm panel config ## 34 | ########################## 35 | 36 | geometry="1266x22+50+5" 37 | ICON_FONT="-wuncon-siji-medium-r-normal--10-100-75-75-c-80-iso10646-1" 38 | FONT1="$FONT" 39 | 40 | PAD=" " 41 | RPAD=" " 42 | 43 | # Desktop symbols 44 | DFO="\356\200\200" 45 | DO="\356\203\247" 46 | DF="\356\203\267" 47 | 48 | # color definitions 49 | BAR_BG="#FF${background}" 50 | BAR_FG="#FF${foreground}" 51 | 52 | F_O_FG=${BAR_FG} 53 | F_O_BG=${BAR_BG} 54 | F_F_FG="#FF${blue}" 55 | F_F_BG=${BAR_BG} 56 | F_U_FG="#FF${red}" 57 | F_U_BG=${BAR_BG} 58 | O_FG=${BAR_FG} 59 | O_BG=${BAR_BG} 60 | F_FG="#FF${grey1}" 61 | F_BG=${BAR_BG} 62 | U_FG="#FF${red}" 63 | U_BG="#FF${grey2}" 64 | 65 | ########################## 66 | ## bspwm borders ## 67 | ########################## 68 | 69 | focused_border_color=${FG} 70 | normal_border_color=${BG} 71 | active_border_color=${BG} 72 | focused_locked_border_color=${BG} 73 | normal_locked_border_color=${BG} 74 | active_locked_border_color=${BG} 75 | urgent_border_color=${green} 76 | presel_color="#${red}" 77 | 78 | # vim: ft=sh 79 | -------------------------------------------------------------------------------- /scripts/dzen_popup_calendar.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # pop-up calendar for dzen 4 | # 5 | # based on (c) 2007, by Robert Manea 6 | # http://dzen.geekmode.org/dwiki/doku.php?id=dzen:calendar 7 | # modified by urukrama 8 | # modified by senft 9 | # modified by easysid 10 | 11 | WIDTH=150 12 | LINES=8 13 | #XPOS=1200 14 | 15 | . dzen_popup_config 16 | 17 | # define pipe 18 | PIPE=/tmp/calendar_pipe 19 | 20 | # if terminated by TERM 21 | trap "rm -f $PIPE" SIGTERM 22 | 23 | function mcal () { 24 | ncal -b -h $@ 25 | } 26 | 27 | TODAY=$(expr `date +'%d'` + 0) 28 | MONTH="10#$(date +'%m')" 29 | YEAR="10#$(date +'%Y')" 30 | 31 | MM=${1:-"$MONTH"} 32 | YY=${2:-"$YEAR"} 33 | NEXT=$((MM+1)) 34 | PREV=$((MM-1)) 35 | let Y_NEXT=Y_PREV=YY 36 | if [[ $NEXT -eq 13 ]]; then 37 | NEXT=1 38 | Y_NEXT=$((YY+1)) 39 | fi 40 | 41 | if [[ $PREV -eq 0 ]]; then 42 | PREV=12 43 | Y_PREV=$((YY-1)) 44 | fi 45 | 46 | # generate calender 47 | if [[ $MM -eq $MONTH ]] && [[ $YY -eq $YEAR ]]; then # current month, highlight header and date 48 | CAL=$(mcal | \ 49 | sed -re "1 s/^(.*[A-Za-z]+.*)$/^fg($titlecol)\1^fg()/;\ 50 | 2 s/^(.*[A-Za-z]+.*)$/^fg($highlight)\1^fg()/;\ 51 | s/(^|[ ])($TODAY)($|[ ])/\1^bg($FG)^fg($BG)\2^fg()^bg()\3/") 52 | else # another month, just highlight header 53 | CAL=$(mcal "$MM" "$YY" | \ 54 | sed -re "1 s/^(.*[A-Za-z]+.*)$/^fg($titlecol)\1^fg()/;\ 55 | 2 s/^(.*[A-Za-z]+.*)$/^fg($highlight)\1^fg()/;") 56 | fi 57 | 58 | # read from pipe 59 | if [[ ! -e $PIPE ]]; then 60 | mkfifo "$PIPE" 61 | ( dzen2 -u -l $LINES -sa 'c' -title-name 'popup_calendar' -fn "$FONT" ${OPTIONS} < "$PIPE" 62 | rm -f "$PIPE") & 63 | fi 64 | 65 | # feed the pipe 66 | ( 67 | echo "$CAL" 68 | echo "^fg($highlight)^ca(1, $0 $PREV $Y_PREV)<< Prev^ca() ^ca(1, $0 $NEXT $Y_NEXT)Next >>^ca()^fg()" 69 | sleep 8s 70 | ) > "$PIPE" 71 | 72 | -------------------------------------------------------------------------------- /config/themes/january17/theme_config: -------------------------------------------------------------------------------- 1 | # theme_config 2 | # define the various colors used in lemonbar, dzen popups, and bspwm 3 | # 4 | 5 | ########################## 6 | ## Colors ## 7 | ########################## 8 | 9 | foreground="bebebe" 10 | background="2a2a2a" 11 | ylw="dc9656" 12 | blue="7cafc2" 13 | red="AB4642" 14 | green="A1B56C" 15 | grey1="707070" 16 | grey2="c0c0c0" 17 | theme_bg="#1f1f1f" 18 | 19 | ########################## 20 | ## dzen popups ## 21 | ########################## 22 | 23 | FONT="-lucy-tewi-medium-r-normal--11-90-75-75-p-58-iso10646-1" 24 | 25 | BG="#${background}" 26 | FG="#${foreground}" 27 | bar_bg="#${grey1}" # for gdbar 28 | bar_fg="#${green}" 29 | bar_warn="#${red}" 30 | titlecol="#${red}" # popup titles 31 | highlight="#${ylw}" 32 | 33 | ########################## 34 | ## bspwm panel config ## 35 | ########################## 36 | 37 | geometry="1366x21+0+0" 38 | ICON_FONT="-wuncon-siji-medium-r-normal--10-100-75-75-c-80-iso10646-1" 39 | FONT1="-ypn-envypn-medium-r-normal--13-130-75-75-c-90-iso8859-1" 40 | 41 | PAD=" " 42 | RPAD=" " 43 | 44 | # Desktop symbols 45 | DFO="▄▄▄▄▄" 46 | DO="▄▄▄▄▄" 47 | DF="▄▄▄▄▄" 48 | 49 | # color definitions 50 | BAR_BG="#40707070" 51 | BAR_FG="#FFF0F0F0" 52 | 53 | F_O_FG="#FFFFFFFF" 54 | F_O_BG=${BAR_BG} 55 | F_F_FG="#F086c1b9" 56 | F_F_BG=${BAR_BG} 57 | F_U_FG="#FF${red}" 58 | F_U_BG=${BAR_BG} 59 | O_FG=#FF${grey2} 60 | O_BG=${BAR_BG} 61 | F_FG="#FF${grey1}" 62 | F_BG=${BAR_BG} 63 | U_FG="#FF${red}" 64 | U_BG="${BAR_BG}" 65 | 66 | ########################## 67 | ## bspwm borders ## 68 | ########################## 69 | 70 | focused_border_color=${FG} 71 | normal_border_color=${theme_bg} 72 | active_border_color=${theme_bg} 73 | focused_locked_border_color=${theme_bg} 74 | normal_locked_border_color=${theme_bg} 75 | active_locked_border_color=${theme_bg} 76 | urgent_border_color=${green} 77 | presel_color="#${red}" 78 | 79 | # vim: ft=sh 80 | -------------------------------------------------------------------------------- /config/themes/feb17/theme_config: -------------------------------------------------------------------------------- 1 | # theme_config 2 | # define the various colors used in lemonbar, dzen popups, and bspwm 3 | # 4 | 5 | ########################## 6 | ## Colors ## 7 | ########################## 8 | 9 | foreground="c5c8c6" 10 | background="1d1f21" 11 | ylw="f0c674" 12 | blue="90A4AE" 13 | red="cc6666" 14 | green="b5bd68" 15 | grey1="42464d" 16 | grey2="808080" 17 | theme_bg="#1f1f1f" 18 | 19 | ########################## 20 | ## dzen popups ## 21 | ########################## 22 | 23 | FONT="-lucy-tewi-medium-r-normal--11-90-75-75-p-58-iso10646-1" 24 | 25 | BG="#${background}" 26 | FG="#${foreground}" 27 | bar_bg="#${grey1}" # for gdbar 28 | bar_fg="#${green}" 29 | bar_warn="#${red}" 30 | titlecol="#${red}" # popup titles 31 | highlight="#${ylw}" 32 | 33 | ########################## 34 | ## bspwm panel config ## 35 | ########################## 36 | 37 | geometry="1366x21+0+0" 38 | ICON_FONT="-wuncon-siji-medium-r-normal--10-100-75-75-c-80-iso10646-1" 39 | FONT1="-ypn-envypn-medium-r-normal--13-130-75-75-c-90-iso8859-1" 40 | 41 | PAD=" " 42 | RPAD=" " 43 | 44 | # Desktop symbols 45 | DFO="▄▄▄▄▄" 46 | DO="▄▄▄▄▄" 47 | DF="_____" 48 | # DF="▄▄▄▄▄" 49 | 50 | # color definitions 51 | BAR_BG="#A0${background}" 52 | BAR_FG="#FFdddddd" 53 | 54 | F_O_FG="#FF${blue}" 55 | F_O_BG=${BAR_BG} 56 | F_F_FG=${F_O_FG} 57 | F_F_BG=${BAR_BG} 58 | F_U_FG="#FF${red}" 59 | F_U_BG=${BAR_BG} 60 | O_FG=#C0${grey2} 61 | O_BG=${BAR_BG} 62 | F_FG=${O_FG} 63 | F_BG=${BAR_BG} 64 | U_FG="#FF${red}" 65 | U_BG="${BAR_BG}" 66 | 67 | ########################## 68 | ## bspwm borders ## 69 | ########################## 70 | 71 | focused_border_color=${FG} 72 | normal_border_color=${theme_bg} 73 | active_border_color=${theme_bg} 74 | focused_locked_border_color=${theme_bg} 75 | normal_locked_border_color=${theme_bg} 76 | active_locked_border_color=${theme_bg} 77 | urgent_border_color=${green} 78 | presel_color="#${red}" 79 | 80 | # vim: ft=sh 81 | -------------------------------------------------------------------------------- /config/themes/july17/theme_config: -------------------------------------------------------------------------------- 1 | # theme_config 2 | # define the various colors used in lemonbar, dzen popups, and bspwm 3 | # Saturday, 01 July 2017 20:35 IST 4 | # Use onedark.vim colors 5 | 6 | ########################## 7 | ## Colors ## 8 | ########################## 9 | 10 | foreground="abb2bf" 11 | background="282c34" 12 | ylw="d19a66" 13 | red="e06c75" 14 | green="98c379" 15 | blue="61afef" 16 | grey1="636d83" 17 | grey2="a0a0a0" 18 | 19 | theme_bg="#1f1f1f" 20 | 21 | ########################## 22 | ## dzen popups ## 23 | ########################## 24 | 25 | FONT="-lucy-tewi-medium-r-normal--11-90-75-75-p-58-iso10646-1" 26 | 27 | BG="#${background}" 28 | FG="#${foreground}" 29 | bar_bg="#${grey1}" # for gdbar 30 | bar_fg="#${green}" 31 | bar_warn="#${red}" 32 | titlecol="#${red}" # popup titles 33 | highlight="#${ylw}" 34 | 35 | ########################## 36 | ## bspwm panel config ## 37 | ########################## 38 | 39 | geometry="1366x26+0+0" 40 | TEXT_FONT1="fira mono:bold:size=9" 41 | ICON_FONT1="material\-design\-iconic\-font:size=14" 42 | ICON_FONT2="fontAwesome:size=11" 43 | 44 | PAD=" " 45 | RPAD=" " 46 | 47 | # Desktop symbols 48 | DFO="" 49 | DO="" 50 | DF="" 51 | 52 | # color definitions 53 | BAR_BG="#10ffffff" 54 | BAR_FG="#FFFAFAFA" 55 | 56 | F_O_FG=${BAR_FG} 57 | F_O_BG=${BAR_BG} 58 | F_F_FG=${F_O_FG} 59 | F_F_BG=${BAR_BG} 60 | F_U_FG="#FF${red}" 61 | F_U_BG=${BAR_BG} 62 | O_FG=${BAR_FG} 63 | O_BG=${BAR_BG} 64 | F_FG=${O_FG} 65 | F_BG=${BAR_BG} 66 | U_FG="#FF${red}" 67 | U_BG="${BAR_BG}" 68 | 69 | ########################## 70 | ## bspwm borders ## 71 | ########################## 72 | 73 | focused_border_color=${FG} 74 | normal_border_color=${theme_bg} 75 | active_border_color=${theme_bg} 76 | focused_locked_border_color=${theme_bg} 77 | normal_locked_border_color=${theme_bg} 78 | active_locked_border_color=${theme_bg} 79 | urgent_border_color=${green} 80 | presel_color="#${red}" 81 | 82 | # vim: ft=sh 83 | -------------------------------------------------------------------------------- /scripts/dzen_brightness.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # dzen_brightness.sh : OSD brightness utility 4 | # modified from dvol.sh 5 | # Sunday, 16 February 2014 19:01 IST 6 | # 7 | 8 | 9 | #Customize this stuff 10 | SECS="1" # sleep $SECS 11 | XPOS="1000" # horizontal positioning 12 | HEIGHT="30" # window height 13 | WIDTH="220" # window width 14 | icon='^i(/home/siddharth/.icons/dzen/brightness.xbm)' 15 | 16 | . dzen_popup_config 17 | 18 | #Probably do not customize 19 | PIPE="/tmp/dbright_pipe" 20 | 21 | err() { 22 | echo "$1" 23 | exit 1 24 | } 25 | 26 | usage() { 27 | echo "usage: dvol [option]" 28 | echo 29 | echo "Options:" 30 | echo " up - increase brightness " 31 | echo " down - decrease brightness" 32 | echo " -h, --help - display this" 33 | exit 34 | } 35 | 36 | CURR=$(< /sys/class/backlight/acpi_video0/brightness) 37 | MAX=$(< /sys/class/backlight/acpi_video0/max_brightness) 38 | 39 | case $1 in 40 | up) 41 | if [[ $CURR -lt $MAX ]]; then 42 | CURR=$((CURR+1)) 43 | echo $CURR > /sys/class/backlight/acpi_video0/brightness 44 | fi 45 | ;; 46 | down) 47 | if [[ $CURR -gt 0 ]]; then 48 | CURR=$((CURR-1)) 49 | echo $CURR > /sys/class/backlight/acpi_video0/brightness 50 | fi 51 | ;; 52 | ''|'-h'|'--help') 53 | usage 54 | ;; 55 | *) 56 | err "Unrecognized option \`$1', see --help" 57 | ;; 58 | esac 59 | 60 | PERC=$((CURR*100/MAX)) 61 | 62 | #Using named pipe to determine whether previous call still exists 63 | #Also prevents multiple instances 64 | if [[ ! -e $PIPE ]]; then 65 | mkfifo "$PIPE" 66 | (dzen2 -h "$HEIGHT" -fn "$FONT" ${OPTIONS} < "$PIPE" 67 | rm -f "$PIPE") & 68 | fi 69 | 70 | BAR=$(echo "$PERC" | gdbar -fg "$bar_fg" -bg "$bar_bg" -w "$bar_w" -h "$bar_h") 71 | 72 | #Feed the pipe! 73 | (echo "$icon $BAR $CURR"; sleep "$SECS" ) > "$PIPE" 74 | 75 | -------------------------------------------------------------------------------- /config/themes/base16-mod/theme_config: -------------------------------------------------------------------------------- 1 | # theme_config 2 | # define the various colors used in lemonbar, dzen popups, and bspwm 3 | # 4 | 5 | ########################## 6 | ## Colors ## 7 | ########################## 8 | 9 | foreground="bebebe" 10 | background="2a2a2a" 11 | ylw="dc9656" 12 | blue="7cafc2" 13 | red="AB4642" 14 | green="A1B56C" 15 | grey1="808080" 16 | grey2="a0a0a0" 17 | theme_bg="1f1f1f" 18 | 19 | ########################## 20 | ## dzen popups ## 21 | ########################## 22 | 23 | FONT="-lucy-tewi-medium-r-normal--11-90-75-75-p-58-iso10646-1" 24 | 25 | BG="#${background}" 26 | FG="#${foreground}" 27 | bar_bg="#${grey1}" # for gdbar 28 | bar_fg="#${green}" 29 | bar_warn="#${red}" 30 | titlecol="#${red}" # popup titles 31 | highlight="#${ylw}" 32 | 33 | ########################## 34 | ## bspwm panel config ## 35 | ########################## 36 | 37 | geometry="1166x22+100+5" 38 | ICON_FONT="-wuncon-siji-medium-r-normal--10-100-75-75-c-80-iso10646-1" 39 | FONT1="-ypn-envypn-medium-r-normal--13-130-75-75-c-90-iso8859-1" 40 | 41 | PAD=" " 42 | RPAD=" " 43 | 44 | # Desktop symbols 45 | # DFO="\356\200\200" 46 | # DO="\356\203\247" 47 | # DF="\356\203\267" 48 | 49 | # color definitions 50 | BAR_BG="#FF${background}" 51 | BAR_FG="#FF${foreground}" 52 | 53 | # F_O_FG=${BAR_FG} 54 | # F_O_BG=${BAR_BG} 55 | # F_F_FG=${BAR_FG} 56 | # F_F_BG=${BAR_BG} 57 | F_U_FG="#FF${red}" 58 | F_U_BG=${BAR_BG} 59 | O_FG=${BAR_FG} 60 | O_BG=${BAR_BG} 61 | F_FG="#FF${grey1}" 62 | F_BG=${BAR_BG} 63 | U_FG="#FF${red}" 64 | U_BG="#FF${grey2}" 65 | UN_1="#FF${red}" 66 | UN_2="#FF${blue}" 67 | 68 | ########################## 69 | ## bspwm borders ## 70 | ########################## 71 | 72 | focused_border_color=${FG} 73 | normal_border_color=${theme_bg} 74 | active_border_color=${theme_bg} 75 | focused_locked_border_color=${theme_bg} 76 | normal_locked_border_color=${theme_bg} 77 | active_locked_border_color=${theme_bg} 78 | urgent_border_color=${green} 79 | presel_color="#${red}" 80 | 81 | # vim: ft=sh 82 | -------------------------------------------------------------------------------- /config/themes/yosemite/theme_config: -------------------------------------------------------------------------------- 1 | # theme_config 2 | # define the various colors used in lemonbar, dzen popups, and bspwm 3 | # 4 | 5 | ########################## 6 | ## Colors ## 7 | ########################## 8 | 9 | foreground="333333" 10 | background="ECECEC" 11 | color1="9E3C7C" 12 | color2="11458A" 13 | red="9E3C7C" 14 | green="2373B2" 15 | grey1="AFAFAF" 16 | grey2="8182B9" 17 | 18 | ########################## 19 | ## dzen popups ## 20 | ########################## 21 | 22 | FONT="-lucy-tewi-medium-r-normal--11-90-75-75-p-58-iso10646-1" 23 | 24 | BG="#${background}" 25 | FG="#${foreground}" 26 | bar_bg="#${grey1}" # for gdbar 27 | bar_fg="#${green}" 28 | bar_warn="#${red}" 29 | titlecol="#${color2}" # popup titles 30 | highlight="#${color1}" 31 | 32 | ########################## 33 | ## bspwm panel config ## 34 | ########################## 35 | 36 | geometry="1316x24+25+8" 37 | ICON="-wuncon-siji-medium-r-normal--10-100-75-75-c-80-iso10646-1" 38 | FONT1="-ypn-envypn-medium-r-normal--13-130-75-75-c-90-iso8859-1" 39 | 40 | PAD=" " 41 | RPAD=" " 42 | 43 | # Desktop symbols 44 | DFO="\356\200\200" 45 | DO="\356\203\247" 46 | DF="\356\203\267" 47 | 48 | # color definitions 49 | BAR_BG="#FF${background}" 50 | BAR_FG="#FF${foreground}" 51 | 52 | F_O_FG="#FF${color1}" 53 | F_O_BG=${BAR_BG} 54 | F_F_FG="#FF${green}" 55 | F_F_BG=${BAR_BG} 56 | F_U_FG="#FF${red}" 57 | F_U_BG=${BAR_BG} 58 | O_FG="#FF${color1}" 59 | O_BG=${BAR_BG} 60 | F_FG="#FF${grey2}" 61 | F_BG=${BAR_BG} 62 | U_FG="#FF${red}" 63 | U_BG="#FF${grey2}" 64 | #CLOCK_FG="${BAR_FG}" 65 | #CLOCK_BG="${BAR_BG}" 66 | # LAYOUT_FG="#FF${grey2}" 67 | # LAYOUT_BG=${BAR_BG} 68 | #STATUS_FG="${BAR_FG}" 69 | #STATUS_BG=${BAR_BG} 70 | # TITLE_FG="#FF${grey2}" 71 | # TITLE_BG=${BAR_BG} 72 | 73 | ########################## 74 | ## bspwm borders ## 75 | ########################## 76 | 77 | focused_border_color=${color2} 78 | normal_border_color=${BG} 79 | active_border_color=${BG} 80 | focused_locked_border_color=${BG} 81 | normal_locked_border_color=${BG} 82 | active_locked_border_color=${BG} 83 | urgent_border_color=${green} 84 | presel_color="#${red}" 85 | 86 | # vim: ft=sh 87 | -------------------------------------------------------------------------------- /scripts/info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # info.sh - displays info about wm, font, gtk theme 4 | # copied from z3bra's blog 5 | # 6 | 7 | c00=$'\e[0;30m' 8 | c01=$'\e[0;31m' 9 | c02=$'\e[0;32m' 10 | c03=$'\e[0;33m' 11 | c04=$'\e[0;34m' 12 | c05=$'\e[0;35m' 13 | c06=$'\e[0;36m' 14 | c07=$'\e[0;37m' 15 | c08=$'\e[1;30m' 16 | c09=$'\e[1;31m' 17 | c10=$'\e[1;32m' 18 | c11=$'\e[1;33m' 19 | c12=$'\e[1;34m' 20 | c13=$'\e[1;35m' 21 | c14=$'\e[1;36m' 22 | c15=$'\e[1;37m' 23 | 24 | f0=$'\e[1;30m' 25 | f1=$'\e[1;37m' 26 | f2=$'\e[0;37m' 27 | 28 | kernel=$(uname -rmo) 29 | system=$(sed 's/\s*[\(\\]\+.*$//' /etc/issue) 30 | 31 | if [[ -n $DISPLAY ]]; then 32 | WM=$(xprop -root _NET_SUPPORTING_WM_CHECK) 33 | wmname=$(xprop -id ${WM//* } _NET_WM_NAME | sed -re 's/.*= "(.*)"/\1/') 34 | # fon=$(xrdb -query | sed -n 's/^UR.*\*font:\s*//p') 35 | # if [[ $fon =~ "xft" ]]; then 36 | # termfn=$(echo $fon | awk -F ':' '{print $2}') 37 | # else 38 | # termfn=$(echo $fon | sed -re 's/^-\w+-(\w+)-.*/\1/') 39 | # fi 40 | termfn=$(sed -n 's/^font = \(.*\)/\1/p' ~/.config/termite/config ) 41 | systfn=$(sed -n 's/^.*font.*"\(.*\)".*$/\1/p' ~/.gtkrc-2.0) 42 | gtktheme=$(sed -n 's/^gtk-theme.*"\(.*\)".*$/\1/p' ~/.gtkrc-2.0) 43 | icons=$(sed -n 's/^.*icon.*"\(.*\)".*$/\1/p' ~/.gtkrc-2.0) 44 | else 45 | wmname="none" 46 | termfn="none" 47 | systfn="none" 48 | fi 49 | 50 | pkgnum=$(pacman -Q | wc -l) 51 | birthd=$(date -d $(sed -n '1s/^\[\([0-9-]*\).*$/\1/p' /var/log/pacman.log) +'%d-%B-%Y') 52 | 53 | cat << EOF 54 | 55 | 56 | ${c00}██ | ${f1}OS ${f0}........... $f2$system 57 | ${c08} ██| ${f1}name ${f0}......... $f2$HOSTNAME 58 | ${c01}██ | ${f1}birth day${f0}..... $f2$birthd 59 | ${c09} ██| ${f1}packages ${f0}..... $f2$pkgnum 60 | ${c02}██ | 61 | ${c10} ██| ${f1}kernel ${f0}....... $f2$kernel 62 | ${c03}██ | ${f1}wm ${f0}........... $f2$wmname 63 | ${c11} ██| ${f1}shell ${f0}........ $f2$SHELL 64 | ${c04}██ | 65 | ${c12} ██| ${f1}terminal ${f0}..... $f2$TERM 66 | ${c05}██ | ${f1}term font ${f0}.... $f2$termfn 67 | ${c13} ██| ${f1}system font ${f0}.. $f2$systfn 68 | ${c06}██ | 69 | ${c14} ██| ${f1}gtk theme ${f0}.... $f2$gtktheme 70 | ${c07}██ | ${f1}icon theme ${f0}... $f2$icons 71 | ${c15} ██| 72 | 73 | 74 | EOF 75 | -------------------------------------------------------------------------------- /config/themes/february/lemonbar_panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # bar input parser for bspwm Sunday, 01 November 2015 11:42 IST 4 | 5 | #screen_width=$(sres -W) 6 | 7 | NORMIFS=$IFS 8 | FIELDIFS=':' 9 | 10 | . theme_config 11 | 12 | while read -r line ; do 13 | case $line in 14 | S*) 15 | # conky 16 | sys_infos="${line#?}" 17 | ;; 18 | W*) 19 | # bspwm internal state 20 | wm_infos="" 21 | IFS=$FIELDIFS 22 | set -- ${line#?} 23 | while [ $# -gt 0 ] ; do 24 | item=$1 25 | case $item in 26 | [OoFfUu]*) 27 | # desktops 28 | name=${item#?} 29 | case $item in 30 | O*) 31 | # focused occupied desktop 32 | desk="%{F$F_O_FG B$F_O_BG} $DFO %{F- B-}" 33 | ;; 34 | F*) 35 | # focused free desktop 36 | desk="%{F$F_F_FG B$F_F_BG} $DFO %{F- B-}" 37 | ;; 38 | U*) 39 | # focused urgent desktop 40 | desk="%{F$F_U_FG B$F_U_BG} $DFO %{F- B-}" 41 | ;; 42 | o*) 43 | # occupied desktop 44 | desk="%{F$O_FG B$O_BG} $DO %{F- B-}" 45 | ;; 46 | f*) 47 | # free desktop 48 | desk="%{F$F_FG B$F_BG} $DF %{F- B-}" 49 | ;; 50 | u*) 51 | # urgent desktop 52 | desk="%{F$U_FG B$U_BG} $DO %{F- B-}" 53 | ;; 54 | esac 55 | wm_infos="${wm_infos}%{A:bspc desktop -f ${name}:}${desk} %{A}" 56 | ;; 57 | esac 58 | shift 59 | done 60 | IFS=$NORMIFS 61 | ;; 62 | esac 63 | printf "%s\n" "%{c}$wm_infos $sys_infos" 64 | done 65 | 66 | -------------------------------------------------------------------------------- /config/themes/yosemite/lemonbar_panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # bar input parser for bspwm Sunday, 01 November 2015 11:42 IST 4 | 5 | #screen_width=$(sres -W) 6 | 7 | NORMIFS=$IFS 8 | FIELDIFS=':' 9 | 10 | . theme_config 11 | 12 | while read -r line ; do 13 | case $line in 14 | S*) 15 | # conky 16 | sys_infos="${line#?}" 17 | ;; 18 | W*) 19 | # bspwm internal state 20 | wm_infos="" 21 | IFS=$FIELDIFS 22 | set -- ${line#?} 23 | while [ $# -gt 0 ] ; do 24 | item=$1 25 | case $item in 26 | [OoFfUu]*) 27 | # desktops 28 | name=${item#?} 29 | case $item in 30 | O*) 31 | # focused occupied desktop 32 | desk="%{F$F_O_FG B$F_O_BG} $DFO %{F- B-}" 33 | ;; 34 | F*) 35 | # focused free desktop 36 | desk="%{F$F_F_FG B$F_F_BG} $DFO %{F- B-}" 37 | ;; 38 | U*) 39 | # focused urgent desktop 40 | desk="%{F$F_U_FG B$F_U_BG} $DFO %{F- B-}" 41 | ;; 42 | o*) 43 | # occupied desktop 44 | desk="%{F$O_FG B$O_BG} $DO %{F- B-}" 45 | ;; 46 | f*) 47 | # free desktop 48 | desk="%{F$F_FG B$F_BG} $DF %{F- B-}" 49 | ;; 50 | u*) 51 | # urgent desktop 52 | desk="%{F$U_FG B$U_BG} $DO %{F- B-}" 53 | ;; 54 | esac 55 | wm_infos="${wm_infos}%{A:bspc desktop -f ${name}:}${desk} %{A}" 56 | ;; 57 | esac 58 | shift 59 | done 60 | IFS=$NORMIFS 61 | ;; 62 | esac 63 | printf "%s\n" "%{c}$wm_infos $sys_infos" 64 | done 65 | 66 | -------------------------------------------------------------------------------- /config/themes/flwr/lemonbar_panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # bar input parser for bspwm Sunday, 01 November 2015 11:42 IST 4 | 5 | #screen_width=$(sres -W) 6 | 7 | NORMIFS=$IFS 8 | FIELDIFS=':' 9 | 10 | . theme_config 11 | 12 | while read -r line ; do 13 | case $line in 14 | S*) 15 | # conky 16 | sys_infos="${line#?}" 17 | ;; 18 | W*) 19 | # bspwm internal state 20 | wm_infos="" 21 | IFS=$FIELDIFS 22 | set -- ${line#?} 23 | while [ $# -gt 0 ] ; do 24 | item=$1 25 | case $item in 26 | [OoFfUu]*) 27 | # desktops 28 | name=${item#?} 29 | case $item in 30 | O*) 31 | # focused occupied desktop 32 | desk="%{F- B- U$UN_1 +u} ${name} %{F- B- -u}" 33 | ;; 34 | F*) 35 | # focused free desktop 36 | desk="%{F- B- U$UN_2 +u} ${name} %{F- B- -u}" 37 | ;; 38 | U*) 39 | # focused urgent desktop 40 | desk="%{F$F_U_FG B$F_U_BG} ${name} %{F- B-}" 41 | ;; 42 | o*) 43 | # occupied desktop 44 | desk="%{F$O_FG B$O_BG} ${name} %{F- B-}" 45 | ;; 46 | f*) 47 | # free desktop 48 | desk="%{F$F_FG B$F_BG} ${name} %{F- B-}" 49 | ;; 50 | u*) 51 | # urgent desktop 52 | desk="%{F$U_FG B$U_BG} ${name} %{F- B-}" 53 | ;; 54 | esac 55 | wm_infos="${wm_infos}%{A:bspc desktop -f ${name}:}${desk} %{A}" 56 | ;; 57 | esac 58 | shift 59 | done 60 | IFS=$NORMIFS 61 | ;; 62 | esac 63 | printf "%s\n" "%{l}$wm_infos $sys_infos" 64 | done 65 | 66 | -------------------------------------------------------------------------------- /config/themes/base16-mod/lemonbar_panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # bar input parser for bspwm Sunday, 01 November 2015 11:42 IST 4 | 5 | #screen_width=$(sres -W) 6 | 7 | NORMIFS=$IFS 8 | FIELDIFS=':' 9 | 10 | . theme_config 11 | 12 | while read -r line ; do 13 | case $line in 14 | S*) 15 | # conky 16 | sys_infos="${line#?}" 17 | ;; 18 | W*) 19 | # bspwm internal state 20 | wm_infos="" 21 | IFS=$FIELDIFS 22 | set -- ${line#?} 23 | while [ $# -gt 0 ] ; do 24 | item=$1 25 | case $item in 26 | [OoFfUu]*) 27 | # desktops 28 | name=${item#?} 29 | case $item in 30 | O*) 31 | # focused occupied desktop 32 | desk="%{F- B- U$UN_1 +u} ${name} %{F- B- -u}" 33 | ;; 34 | F*) 35 | # focused free desktop 36 | desk="%{F- B- U$UN_2 +u} ${name} %{F- B- -u}" 37 | ;; 38 | U*) 39 | # focused urgent desktop 40 | desk="%{F$F_U_FG B$F_U_BG} ${name} %{F- B-}" 41 | ;; 42 | o*) 43 | # occupied desktop 44 | desk="%{F$O_FG B$O_BG} ${name} %{F- B-}" 45 | ;; 46 | f*) 47 | # free desktop 48 | desk="%{F$F_FG B$F_BG} ${name} %{F- B-}" 49 | ;; 50 | u*) 51 | # urgent desktop 52 | desk="%{F$U_FG B$U_BG} ${name} %{F- B-}" 53 | ;; 54 | esac 55 | wm_infos="${wm_infos}%{A:bspc desktop -f ${name}:}${desk} %{A}" 56 | ;; 57 | esac 58 | shift 59 | done 60 | IFS=$NORMIFS 61 | ;; 62 | esac 63 | printf "%s\n" "%{l}$wm_infos $sys_infos" 64 | done 65 | 66 | -------------------------------------------------------------------------------- /config/themes/onedark/lemonbar_panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # bar input parser for bspwm Sunday, 01 November 2015 11:42 IST 4 | 5 | #screen_width=$(sres -W) 6 | 7 | NORMIFS=$IFS 8 | FIELDIFS=':' 9 | 10 | . theme_config 11 | 12 | while read -r line ; do 13 | case $line in 14 | S*) 15 | # sysinfos 16 | sys_infos="${line#?}" 17 | ;; 18 | W*) 19 | # bspwm internal state 20 | wm_infos="" 21 | IFS=$FIELDIFS 22 | set -- ${line#?} 23 | while [ $# -gt 0 ] ; do 24 | item=$1 25 | case $item in 26 | [OoFfUu]*) 27 | # desktops 28 | name=${item#?} 29 | case $item in 30 | O*) 31 | # focused occupied desktop 32 | desk="%{F- B- U$UN_1 +u} ${name} %{F- B- -u}" 33 | ;; 34 | F*) 35 | # focused free desktop 36 | desk="%{F- B- U$UN_2 +u} ${name} %{F- B- -u}" 37 | ;; 38 | U*) 39 | # focused urgent desktop 40 | desk="%{F$F_U_FG B$F_U_BG} ${name} %{F- B-}" 41 | ;; 42 | o*) 43 | # occupied desktop 44 | desk="%{F$O_FG B$O_BG} ${name} %{F- B-}" 45 | ;; 46 | f*) 47 | # free desktop 48 | desk="%{F$F_FG B$F_BG} ${name} %{F- B-}" 49 | ;; 50 | u*) 51 | # urgent desktop 52 | desk="%{F$U_FG B$U_BG} ${name} %{F- B-}" 53 | ;; 54 | esac 55 | wm_infos="${wm_infos}%{A:bspc desktop -f ${name}:}${desk} %{A}" 56 | ;; 57 | esac 58 | shift 59 | done 60 | IFS=$NORMIFS 61 | ;; 62 | esac 63 | printf "%s\n" "%{l}$wm_infos %{r}$sys_infos" 64 | done 65 | 66 | -------------------------------------------------------------------------------- /panelinfo/deprecated/mpdinfo.c: -------------------------------------------------------------------------------- 1 | /* 2 | * mpdinfo.c 3 | * prints the current song state for my lemonbar config 4 | * 5 | * easysid - Tuesday, 21 June 2016 12:33 IST 6 | * 7 | * Shoutout to the libmpdclient devs for great documentation 8 | * https://www.musicpd.org/doc/libmpdclient/index.html 9 | */ 10 | 11 | #include 12 | #include 13 | #include 14 | 15 | #include "config.h" 16 | 17 | 18 | void print_song_info(struct mpd_connection *conn, struct mpd_status *status) 19 | { 20 | const char *title; 21 | struct mpd_song *song; 22 | enum mpd_state state; 23 | state = mpd_status_get_state(status); 24 | if (state == MPD_STATE_PLAY || state == MPD_STATE_PAUSE) { 25 | title = "default title"; 26 | song = mpd_run_current_song(conn); 27 | if (song != NULL){ 28 | title = mpd_song_get_tag(song, mpd_tag_name_iparse("title") , 0); 29 | if (state == MPD_STATE_PLAY) 30 | printf(STR_PLAY, title); 31 | else 32 | printf(STR_PAUSE, title); 33 | } 34 | mpd_song_free(song); 35 | } 36 | else 37 | printf(STR_STOP); 38 | printf("\n"); 39 | fflush(stdout); 40 | } 41 | 42 | void run_event_loop(struct mpd_connection *conn, enum mpd_idle event) 43 | { 44 | struct mpd_status *status; 45 | while (mpd_run_idle_mask(conn, event)) { 46 | status = mpd_run_status(conn); 47 | if (status == NULL) 48 | break; 49 | print_song_info(conn, status); 50 | mpd_status_free(status); 51 | } 52 | } 53 | 54 | int main() 55 | { 56 | struct mpd_connection *conn; 57 | struct mpd_status *status; 58 | // Keep trying to connect every INTERVAL seconds 59 | while (true) { 60 | /* fprintf(stderr, "\tconnecting ...\n"); */ 61 | conn = mpd_connection_new(NULL, 0, 0); 62 | status = mpd_run_status(conn); 63 | if (status != NULL) { 64 | // Get initial values 65 | print_song_info(conn, status); 66 | mpd_status_free(status); 67 | // Start the idle loop 68 | run_event_loop(conn, MPD_IDLE_PLAYER); 69 | /* fprintf(stderr, "\tevent loop has failed\n"); */ 70 | } 71 | /* fprintf(stderr, "\tconnection declined\n"); */ 72 | mpd_connection_free(conn); 73 | sleep(INTERVAL); 74 | } 75 | return 0; 76 | } 77 | -------------------------------------------------------------------------------- /scripts/dzen_volume.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # dvolbar - OSD Volume utility 4 | # 5 | 6 | #Customize this stuff 7 | IF="Master" # audio channel: Master|PCM 8 | SECS="1" # sleep $SECS 9 | XPOS="1000" # horizontal positioning 10 | HEIGHT="30" # window height 11 | WIDTH="230" # window width 12 | icon='^i(/home/siddharth/.icons/dzen/volume50.xbm)' 13 | MUTEICON='^i(/home/siddharth/.icons/dzen/volume0.xbm)' 14 | 15 | . dzen_popup_config 16 | 17 | #Probably do not customize 18 | PIPE="/tmp/dvolpipe" 19 | 20 | err() { 21 | echo "$1" 22 | exit 1 23 | } 24 | 25 | usage() { 26 | echo "usage: dvol [option] [argument]" 27 | echo 28 | echo "Options:" 29 | echo " -i, --increase - increase volume by \`argument'" 30 | echo " -d, --decrease - decrease volume by \`argument'" 31 | echo " -t, --toggle - toggle mute on and off" 32 | echo " -h, --help - display this" 33 | exit 34 | } 35 | 36 | #Argument Parsing 37 | case "$1" in 38 | '-i'|'--increase') 39 | [[ -z $2 ]] && err "No argument specified for increase." 40 | [[ -n $(tr -d [0-9] <<<$2) ]] && err "The argument needs to be an integer." 41 | AMIXARG="${2}%+" 42 | ;; 43 | '-d'|'--decrease') 44 | [[ -z $2 ]] && err "No argument specified for decrease." 45 | [[ -n $(tr -d [0-9] <<<$2) ]] && err "The argument needs to be an integer." 46 | AMIXARG="${2}%-" 47 | ;; 48 | '-t'|'--toggle') 49 | AMIXARG="toggle" 50 | ;; 51 | ''|'-h'|'--help') 52 | usage 53 | ;; 54 | *) 55 | err "Unrecognized option \`$1', see dvol --help" 56 | ;; 57 | esac 58 | 59 | #Actual volume changing (readability low) 60 | AMIXOUT="$(amixer -M set "$IF" "$AMIXARG" | tail -n 1)" 61 | MUTE="$(cut -d '[' -f 4 <<<"$AMIXOUT")" 62 | if [[ $MUTE = "off]" ]]; then 63 | VOL="0" 64 | icon="^fg($bar_warn)$MUTEICON" 65 | else 66 | VOL="$(cut -d '[' -f 2 <<<"$AMIXOUT" | sed 's/%.*//g')" 67 | fi 68 | 69 | #Using named pipe to determine whether previous call still exists 70 | #Also prevents multiple volume bar instances 71 | if [[ ! -e $PIPE ]]; then 72 | mkfifo "$PIPE" 73 | (dzen2 -h "$HEIGHT" -fn "$FONT" ${OPTIONS} < "$PIPE" 74 | rm -f "$PIPE") & 75 | fi 76 | 77 | BAR=$(echo "$VOL" | gdbar -fg "$bar_fg" -bg "$bar_bg" -w "$bar_w" -h "$bar_h") 78 | 79 | #Feed the pipe! 80 | (echo "$icon $BAR $VOL%"; sleep "$SECS") > "$PIPE" 81 | 82 | -------------------------------------------------------------------------------- /powersave: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | case "$1" in 4 | true) # Enable power saving settings on battery 5 | logger "power saving mode enabled" 6 | 7 | # dim the brightness 8 | echo 1 > /sys/class/backlight/acpi_video0/brightness 9 | 10 | # bus 11 | for i in /sys/bus/pci/devices/*/power/control; do echo auto > $i; done 12 | 13 | # usb autosuspend 14 | for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $i; done 15 | for i in /sys/bus/usb/devices/*/power/control; do echo auto > $i; done 16 | 17 | ## disable nmi_watchdog 18 | echo 0 > /proc/sys/kernel/nmi_watchdog 19 | 20 | ## aspm 21 | ##echo powersave > /sys/module/pcie_aspm/parameters/policy 22 | 23 | ## kernel write mode 24 | echo 5 > /proc/sys/vm/laptop_mode 25 | echo 90 > /proc/sys/vm/dirty_ratio 26 | echo 1 > /proc/sys/vm/dirty_background_ratio 27 | echo 60000 > /proc/sys/vm/dirty_expire_centisecs 28 | echo 60000 > /proc/sys/vm/dirty_writeback_centisecs 29 | 30 | ## SATA Active Link Power management 31 | for i in /sys/class/scsi_host/host*/link_power_management_policy; do echo min_power > $i; done 32 | 33 | ## sound card powersave 34 | echo 1 > /sys/module/snd_hda_intel/parameters/power_save 35 | echo Y > /sys/module/snd_hda_intel/parameters/power_save_controller 36 | 37 | ;; 38 | 39 | false) # Return to default on AC power 40 | 41 | logger "return to default AC power" 42 | 43 | # brighten up the screen 44 | echo 7 > /sys/class/backlight/acpi_video0/brightness 45 | 46 | ## bus 47 | for i in /sys/bus/pci/devices/*/power/control; do echo on > $i; done 48 | 49 | ## usb autosuspend 50 | for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 2 > $i; done 51 | for i in /sys/bus/usb/devices/*/power/control; do echo auto > $i; done 52 | 53 | ## enable nmi_watchdog 54 | echo 1 > /proc/sys/kernel/nmi_watchdog 55 | 56 | ## cpu frequency scaling 57 | #for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo ondemand > $i; done 58 | 59 | ## aspm 60 | ##echo default > /sys/module/pcie_aspm/parameters/policy 61 | 62 | ## kernel write mode 63 | echo 0 > /proc/sys/vm/laptop_mode 64 | echo 30 > /proc/sys/vm/dirty_ratio 65 | echo 30 > /proc/sys/vm/dirty_background_ratio 66 | echo 3000 > /proc/sys/vm/dirty_expire_centisecs 67 | echo 600 > /proc/sys/vm/dirty_writeback_centisecs 68 | 69 | ## SATA Active Link Power management 70 | for i in /sys/class/scsi_host/host0/link_power_management_policy; do echo max_performance > $i; done 71 | 72 | ## sound card powersave 73 | echo 0 > /sys/module/snd_hda_intel/parameters/power_save 74 | echo Y > /sys/module/snd_hda_intel/parameters/power_save_controller 75 | ;; 76 | esac 77 | exit 0 78 | -------------------------------------------------------------------------------- /config/themes/candra/dzen_panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # vertical dzen input parser for bspwm 4 | # uses ocelot-dzen https://github.com/poinck/ocelot-dzen 5 | # Monday, 28 November 2016 22:36 IST 6 | 7 | 8 | #screen_width=$(sres -W) 9 | 10 | NORMIFS=$IFS 11 | FIELDIFS=':' 12 | 13 | . theme_config 14 | 15 | 16 | while read -r line ; do 17 | case $line in 18 | B*) 19 | # battery 20 | bat="${line#?}" 21 | ;; 22 | N*) 23 | # network 24 | net="${line#?}" 25 | ;; 26 | C*) 27 | #clock 28 | clk="${line#?}" 29 | read -r h m p << EOF 30 | $clk 31 | EOF 32 | clk="$h\n$m\n$p" 33 | ;; 34 | W*) 35 | # bspwm internal state 36 | wm_infos="" 37 | IFS=$FIELDIFS 38 | set -- ${line#?} 39 | while [ $# -gt 0 ] ; do 40 | item=$1 41 | case $item in 42 | [OoFfUu]*) 43 | # desktops 44 | name=${item#?} 45 | case $item in 46 | O*) 47 | # focused occupied desktop 48 | desk="^fg($F_O_FG)${name}^fg()" 49 | ;; 50 | F*) 51 | # focused free desktop 52 | desk="^fg($F_F_FG)${name}^fg()" 53 | ;; 54 | U*) 55 | # focused urgent desktop 56 | desk="^fg($F_U_FG)${name}^fg()" 57 | ;; 58 | o*) 59 | # occupied desktop 60 | desk="^fg($O_FG)${name}^fg()" 61 | ;; 62 | f*) 63 | # free desktop 64 | desk="^fg($F_FG)${name}^fg()" 65 | ;; 66 | u*) 67 | # urgent desktop 68 | desk="^fg($U_FG)${name}^fg()" 69 | ;; 70 | esac 71 | wm_infos="${wm_infos}^ca(1, bspc desktop -f ${name})^fn($ICN)${desk}^fn()^ca()\n\n\n" 72 | ;; 73 | esac 74 | shift 75 | done 76 | IFS=$NORMIFS 77 | ;; 78 | esac 79 | printf "\n^p1()\n${wm_infos}\n\n\n\n${net}\n\n${bat}\n\n${clk}\n\n" 80 | done 81 | 82 | -------------------------------------------------------------------------------- /config/sxhkd/sxhkdrc: -------------------------------------------------------------------------------- 1 | # 2 | # bspwm hotkeys 3 | # 4 | 5 | # close focussed window 6 | super + w 7 | bspc node -c 8 | 9 | # toogle pseudo tiled 10 | super + shift + t 11 | bspc node -t ~pseudo_tiled 12 | 13 | # toggle floating window 14 | super + shift + f 15 | bspc node -t ~floating 16 | 17 | # cycle windows forward backward 18 | alt + {_,shift + }Tab 19 | bspc node -f {next,prev}.local 20 | 21 | # focus or swap windows 22 | super + {_,shift + }{h,j,k,l} 23 | bspc node -{f,s} {west,south,north,east} 24 | 25 | # Same thing with arrow keys 26 | super + {_,shift + }{Left,Down,Up,Right} 27 | bspc node -{f,s} {west,south,north,east} 28 | 29 | # preselect the splitting area 30 | super + ctrl + {h,j,k,l} 31 | bspc node -p ~{west,south,north,east} 32 | 33 | # same thing with arrow keys 34 | super + ctrl + {Left,Down,Up,Right} 35 | bspc node -p ~{west,south,north,east} 36 | 37 | # move the window into the selected area 38 | super + shift + {a,s,w,d} 39 | bspc node -n {west,south,north,east} 40 | 41 | # expand a window by moving one of its side outward 42 | super + alt + {h,j,k,l} 43 | bspc node @{west -r -10,south -r +10,north -r -10,east -r +10} 44 | 45 | # contract a window by moving one of its side inward 46 | super + alt + shift + {h,j,k,l} 47 | bspc node @{east -r -10,north -r +10,south -r -10,west -r +10} 48 | 49 | # focus last window, desktop 50 | super + {grave,Tab} 51 | bspc {node,desktop} -f last 52 | 53 | # focus desktop / send window to desktop 54 | super + {_,shift + }{1-9,0} 55 | bspc {desktop -f,node -d} ^{1-9,10} 56 | 57 | # next layout (monocle or tiled) 58 | super + t 59 | bspc desktop -l next 60 | 61 | # rotate the leaves of the tree 62 | super + bracket{left,right} 63 | bspc node @focused:/ -R {270,90} 64 | 65 | # flip the desktop tree 66 | super + shift + bracket{left,right} 67 | bspc node @focused:/ -F {horizontal,vertical} 68 | 69 | # select all nodes 70 | super + a 71 | bspc node -f @/ 72 | 73 | # 74 | #--- application launchers ---# 75 | # 76 | 77 | super + x 78 | clone_termite.sh 79 | 80 | super + space 81 | gmrun 82 | 83 | super + f 84 | firefox -private-window 85 | 86 | super + z 87 | thunar 88 | 89 | super + p 90 | lxtask 91 | 92 | # screenshot 93 | Print 94 | scrot.sh 0 95 | 96 | # detail panel 97 | super + F1 98 | toggleinfo.sh 99 | 100 | # exit 101 | super + F4 102 | turnoff.sh 103 | 104 | # make sxhkd reload its configuration files: 105 | super + shift + Escape 106 | pkill -USR1 -x sxhkd 107 | 108 | # brightness keys 109 | XF86MonBrightnessDown 110 | brightness.sh down 111 | 112 | XF86MonBrightnessUp 113 | brightness.sh up 114 | 115 | -------------------------------------------------------------------------------- /panelinfo/bar_netinfo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | 7 | /* icons from siji */ 8 | // #define STR_NET "N %%{F#FFFAFAFA}\ue048%%{F-}\n" 9 | // #define STR_NONET "N %%{F#FF999999}\ue217%%{F-}\n" 10 | 11 | /* material icons */ 12 | #define STR_NET "N%%{F-}\uf2e8 %%{F-}\n" 13 | #define STR_NONET "N%%{F#FF999999}\uf2e6 %%{F-}\n" 14 | #define STR_ROUTER "N%%{F#FFAAAAAA}\uf2e4 %%{F-}\n" 15 | 16 | #define _GOOGLE "8.8.8.8" 17 | #define _ROUTER "192.168.1.1" 18 | #define INTERVAL 3 19 | #define CYCLES 5 20 | 21 | /* detail control */ 22 | #define DEBUGFILE "/tmp/bar_sysinfo_toggle" 23 | int DEBUG = 0; 24 | 25 | 26 | void netinfo() 27 | { 28 | int router, google; 29 | int show_net, count; 30 | char tmp[50]; 31 | FILE *infile; 32 | show_net = 1; 33 | count = 0; 34 | struct timeval timeout; 35 | timeout.tv_sec = INTERVAL; 36 | timeout.tv_usec = 0; 37 | struct sockaddr_in GOOG = {AF_INET, htons(53), {inet_addr(_GOOGLE)}, {0}}; 38 | struct sockaddr_in ROUT = {AF_INET, htons(80), {inet_addr(_ROUTER)}, {0}}; 39 | while (1) { 40 | infile = fopen(DEBUGFILE, "r"); 41 | if (infile) 42 | fscanf(infile, "%d", &DEBUG); 43 | fclose(infile); 44 | tmp[0] = '\0'; 45 | router = socket(AF_INET, SOCK_STREAM, 0); 46 | setsockopt(router, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, sizeof(timeout)); 47 | setsockopt(router, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout, sizeof(timeout)); 48 | if (connect(router, (struct sockaddr *) &ROUT, sizeof(ROUT)) == 0) { 49 | google = socket(AF_INET, SOCK_STREAM, 0); 50 | setsockopt(google, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, sizeof(timeout)); 51 | setsockopt(google, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout, sizeof(timeout)); 52 | if (connect(google, (struct sockaddr *) &GOOG, sizeof(GOOG)) == 0) { 53 | sprintf(tmp, STR_NET); 54 | show_net = 0; 55 | count++; 56 | } 57 | else { 58 | sprintf(tmp, STR_ROUTER); 59 | show_net = count = 1; 60 | } 61 | close(google); 62 | } 63 | else { 64 | sprintf(tmp, STR_NONET); 65 | show_net = count = 1; 66 | } 67 | close(router); 68 | if( show_net || count < CYCLES || DEBUG) 69 | printf(tmp); 70 | else 71 | printf("N \n"); 72 | fflush(stdout); 73 | sleep(INTERVAL); 74 | } 75 | } 76 | 77 | int main() 78 | { 79 | FILE *dfile; 80 | dfile = fopen(DEBUGFILE, "w"); 81 | fprintf(dfile, "%d", DEBUG); 82 | fclose(dfile); 83 | netinfo(); 84 | return 0; 85 | } 86 | -------------------------------------------------------------------------------- /config/themes/july17/panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | . theme_config 4 | 5 | if [ $(pgrep -cx panel.sh) -gt 1 ] ; then 6 | printf "%s\n" "The panel is already running." >&2 7 | exit 1 8 | fi 9 | 10 | trap 'trap - TERM; kill 0' INT TERM QUIT EXIT 11 | 12 | [ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO" 13 | mkfifo "$PANEL_FIFO" 14 | 15 | bspc subscribe > "$PANEL_FIFO" & 16 | 17 | sysinfo > "$PANEL_FIFO" & 18 | 19 | NORMIFS=$IFS 20 | FIELDIFS=':' 21 | 22 | while read -r line ; do 23 | case $line in 24 | S*) 25 | # sysinfo 26 | sys_infos="${line#?}" 27 | ;; 28 | C*) 29 | # clock 30 | clock="${line#?}" 31 | ;; 32 | W*) 33 | # bspwm internal state 34 | wm_infos="" 35 | IFS=$FIELDIFS 36 | set -- ${line#?} 37 | while [ $# -gt 0 ] ; do 38 | item=$1 39 | case $item in 40 | [OoFfUu]*) 41 | # desktops 42 | name=${item#?} 43 | case $item in 44 | O*) 45 | # focused occupied desktop 46 | desk="%{F$F_O_FG B$F_O_BG} $DFO %{F- B-}" 47 | ;; 48 | F*) 49 | # focused free desktop 50 | desk="%{F$F_F_FG B$F_F_BG} $DFO %{F- B-}" 51 | ;; 52 | U*) 53 | # focused urgent desktop 54 | desk="%{F$F_U_FG B$F_U_BG} $DFO %{F- B-}" 55 | ;; 56 | o*) 57 | # occupied desktop 58 | desk="%{F$O_FG B$O_BG} $DO %{F- B-}" 59 | ;; 60 | f*) 61 | # free desktop 62 | desk="%{F$F_FG B$F_BG} $DF %{F- B-}" 63 | ;; 64 | u*) 65 | # urgent desktop 66 | desk="%{F$U_FG B$U_BG} $DO %{F- B-}" 67 | ;; 68 | esac 69 | wm_infos="${wm_infos}%{A:bspc desktop -f ${name}:}${desk}%{A} " 70 | ;; 71 | esac 72 | shift 73 | done 74 | IFS=$NORMIFS 75 | ;; 76 | esac 77 | printf "%s\n" "%{l} %{T3}$wm_infos%{T-} %{c} $clock %{r} $sys_infos " 78 | done < "$PANEL_FIFO" \ 79 | | xft-lemonbar -p -d \ 80 | -g "$geometry" \ 81 | -B "$BAR_BG" \ 82 | -F "$BAR_FG" \ 83 | -o -1 -f "$TEXT_FONT1" \ 84 | -o 0 -f "$ICON_FONT1" -o -1 -f "$ICON_FONT2" \ 85 | -n 'bspwm_panel' \ 86 | -a 20 \ 87 | | sh 88 | 89 | -------------------------------------------------------------------------------- /config/themes/base16-mod/lemonbar_conkyrc: -------------------------------------------------------------------------------- 1 | # 2 | # toggle conky for lemonbar 3 | # easysid 4 | 5 | # 6 | ###### Information ###### 7 | # Uses external files to store the toggle state 8 | # and share it between conky and lemonbar 9 | # Ensure that the relevant files are present before running this conky 10 | # 11 | # Uses siji font for icons https://github.com/gstk/siji 12 | # 13 | 14 | 15 | # conky settings 16 | background no 17 | update_interval 1 18 | cpu_avg_samples 1 19 | total_run_times 0 20 | override_utf8_locale yes 21 | short_units yes 22 | pad_percents 2 23 | uppercase no 24 | out_to_console yes 25 | out_to_x no 26 | 27 | TEXT 28 | S%{r}\ 29 | ###### 30 | # System Info - Expanded part 31 | ###### 32 | # 33 | # Hide info sign 34 | # 35 | ${if_existing /tmp/bartoggle 1}%{F\#ff909090 A:toggleinfo.sh:} » %{A}\ 36 | # 37 | # Cpu and RAM 38 | # 39 | %{F\#FFa0a0a0 A:dzen_popup_toggle.sh sysinfo:} %{F-} ${cpu cpu0}%%{A} \ 40 | %{F\#FFa0a0a0 A:dzen_popup_toggle.sh diskinfo:} %{F-} ${mem} %{A}\ 41 | # 42 | # Temperatures 43 | # 44 | %{F\#FFa0a0a0}|%{F\#FFa0a0a0} %{F-} ${hwmon 1 temp 2}°\ 45 | %{F\#FFa0a0a0} %{F-} ${hwmon 2 temp 1}° %{F\#FFa0a0a0}| %{F-}\ 46 | # 47 | # Wireless 48 | # 49 | ${if_existing /proc/net/route wlp2s0}\ 50 | %{F\#FFa0a0a0 A:dzen_popup_toggle.sh netinfo:}\ 51 | ${if_match ${wireless_link_qual_perc wlp2s0} < 40}${else}\ 52 | ${if_match ${wireless_link_qual_perc wlp2s0} <= 60}${else}\ 53 | ${endif}${endif} %{F-}\ 54 | ${texeci 4 ping -c1 -w1 8.8.8.8 > /dev/null 2>&1 || echo "%{F#FF808080}*"}\ 55 | ${wireless_essid wlp2s0} %{A}${else}\ 56 | %{F\#FFa0a0a0} %{F-}${endif}\ 57 | # 58 | # Power 59 | # 60 | %{F\#FFa0a0a0}|${if_match "${acpiacadapter}" == "on-line"}\ 61 | %{F\#FFa0a0a0} %{F-} ${battery_percent}% ${else}\ 62 | ${if_match ${battery_percent BAT0} <= 30}\ 63 | %{F\#FFcf3932}  ${else}\ 64 | %{F\#FFa0a0a0} %{F-} ${endif}${battery_percent}% ${endif}\ 65 | %{F\#FFa0a0a0}| \ 66 | ###### 67 | # The Condensed part 68 | ###### 69 | # 70 | # Expand sign 71 | # 72 | ${else} %{F\#ff909090 A:toggleinfo.sh:} « %{A}\ 73 | # 74 | # Wireless 75 | # 76 | ${if_existing /proc/net/route wlp2s0}\ 77 | %{F- A:dzen_popup_toggle.sh netinfo:}\ 78 | ${texeci 4 ping -c1 -w1 8.8.8.8 > /dev/null 2>&1 || echo "%{F#FF808080}"}\ 79 | ${if_match ${wireless_link_qual_perc wlp2s0} < 40} ${else}\ 80 | ${if_match ${wireless_link_qual_perc wlp2s0} < 60} ${else}\ 81 | ${endif}${endif} %{F-}%{A}${endif}\ 82 | # 83 | # Power 84 | # 85 | ${if_match "${acpiacadapter}" == "on-line"}%{F-}  \ 86 | ${if_match ${battery_percent} < 90}${battery_percent}% ${endif}\ 87 | ${else}\ 88 | ${if_match ${battery_percent BAT0} <= 30}%{F\#FFcf3939}  ${battery_percent}% \ 89 | ${else}${if_match ${battery_percent BAT0} <= 70}%{F-}  ${battery_percent}% \ 90 | ${else}%{F-}  ${endif}${endif}${endif}\ 91 | ${endif}\ 92 | # 93 | ###### 94 | # Following is always displayed as is 95 | ###### 96 | # 97 | # Datetime 98 | # 99 | %{F- A:dzen_popup_toggle.sh calendar:} ${time %H:%M} %{A} %{F- B-}\ 100 | 101 | -------------------------------------------------------------------------------- /panelinfo/deprecated/genconfig.sh: -------------------------------------------------------------------------------- 1 | #/bin/bash 2 | 3 | # include theme_config 4 | source ~/.scripts/theme_config 5 | 6 | # define colors. Use #RRGGBB format. alpha is defined separately 7 | color_cpu="c678dd" 8 | color_temp="${red}" 9 | color_net="${blue}" 10 | color_nonet="${grey1}" 11 | color_ac="${foreground}" 12 | color_batf="${foreground}" 13 | color_bath="${yellow}" 14 | color_batc="${red}" 15 | color_clk="${foreground}" 16 | color_mpd_play="${foreground}" 17 | color_mpd_stop="${grey1}" 18 | color_separator="${grey2}" 19 | # alpha 20 | alpha="FF" 21 | 22 | # define icons 23 | icon_cpu='\ue082' 24 | icon_ram='\ue028' 25 | icon_temp='\ue0ca' 26 | icon_net='\ue19c' 27 | icon_ac='\ue041' 28 | icon_batf='\ue1ff' 29 | icon_bath='\ue1fe' 30 | icon_batc='\ue1fd' 31 | icon_mpd='\ue1a6' 32 | 33 | # commands for click areas 34 | cmd_cpu="dzen_popup_toggle.sh sysinfo" 35 | cmd_ram="dzen_popup_toggle.sh diskinfo" 36 | cmd_net="dzen_popup_toggle.sh netinfo" 37 | cmd_clk="dzen_popup_toggle.sh calendar" 38 | cmd_mpd1="mpc toggle > /dev/null" 39 | cmd_mpd2="dzen_popup_toggle.sh musicinfo" 40 | 41 | interval=3 42 | format_info="S" 43 | format_mpd="M" 44 | mpd_max_len=40 45 | 46 | # generate config.h 47 | cat << EOF 48 | /* 49 | * Macros for commands, colors, and icons. 50 | * Use genconfig.sh to generate 51 | */ 52 | 53 | #define FORMAT "${format_info}" 54 | #define INTERVAL ${interval} 55 | 56 | /* CPU and RAM */ 57 | #define STR_CPU " %%{F#${alpha}${color_cpu} A:${cmd_cpu}:}${icon_cpu}%%{F-} %.0f%%%%{A} " 58 | #define STR_RAM_M " %%{F#${alpha}${color_cpu} A:${cmd_ram}:}${icon_ram}%%{F-} %.0fM%%{A} " 59 | #define STR_RAM_G " %%{F#${alpha}${color_cpu} A:${cmd_ram}:}${icon_ram}%%{F-} %.2fG%%{A} " 60 | 61 | /* internet connection */ 62 | #define STR_NET "%%{F#${alpha}${color_net} A:${cmd_net}:} ${icon_net} %%{F- A}" 63 | #define STR_NONET "%%{F#${alpha}${color_nonet} A:${cmd_net}:} ${icon_net} %%{F- A}" 64 | 65 | /* temperatures */ 66 | #define STR_TEMP " %%{F#${alpha}${color_temp}}${icon_temp}%%{F-} %ld° %%{F#${alpha}${color_temp}}${icon_temp}%%{F-} %ld° " 67 | 68 | /* clock */ 69 | #define STR_CLK " %%{F#${alpha}${color_clk} A:${cmd_clk}:}${icon_clk}%%{F-}%s%%{A} " 70 | 71 | /* ac and battery status */ 72 | #define STR_AC " %%{F#${alpha}${color_ac}}${icon_ac}%%{F-}" 73 | #define STR_BATF " %%{F#${alpha}${color_batf}}${icon_batf}%%{F-}" 74 | #define STR_BATH " %%{F#${alpha}${color_bath}}${icon_bath}%%{F-}" 75 | #define STR_BATC " %%{F#${alpha}${color_batc}}${icon_batc}%%{F-}" 76 | 77 | /* mpd status */ 78 | #define STR_PLAY "${format_mpd} %%{F#${alpha}${color_mpd_play} A:${cmd_mpd1}:}${icon_mpd}%%{A F-} %%{A: ${cmd_mpd2}:}%.${mpd_max_len}s%%{A} " 79 | #define STR_PAUSE "${format_mpd} %%{F#${alpha}${color_mpd_play} A:${cmd_mpd1}:}${icon_mpd}%%{A F#${alpha}${color_mpd_stop}} %%{A:${cmd_mpd2}:}%.${mpd_max_len}s%%{F- A} " 80 | #define STR_STOP "${format_mpd} %%{F#${alpha}${color_mpd_stop}}${icon_mpd}%%{F-} " 81 | 82 | /* field separator for long info */ 83 | #define STR_SEP "%{F#${alpha}${color_separator}}|%{F-}" 84 | EOF 85 | -------------------------------------------------------------------------------- /config/themes/feb17/panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | . theme_config 4 | 5 | if [ $(pgrep -cx panel.sh) -gt 1 ] ; then 6 | printf "%s\n" "The panel is already running." >&2 7 | exit 1 8 | fi 9 | 10 | trap 'trap - TERM; kill 0' INT TERM QUIT EXIT 11 | 12 | [ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO" 13 | mkfifo "$PANEL_FIFO" 14 | 15 | bspc subscribe > "$PANEL_FIFO" & 16 | 17 | longinfo > "$PANEL_FIFO" & 18 | 19 | NORMIFS=$IFS 20 | FIELDIFS=':' 21 | 22 | while read -r line ; do 23 | case $line in 24 | S*) 25 | # sysinfo 26 | sys_infos="${line#?}" 27 | ;; 28 | C*) 29 | # clock 30 | clock="${line#?}" 31 | ;; 32 | W*) 33 | # bspwm internal state 34 | wm_infos="" 35 | IFS=$FIELDIFS 36 | set -- ${line#?} 37 | while [ $# -gt 0 ] ; do 38 | item=$1 39 | case $item in 40 | [OoFfUu]*) 41 | # desktops 42 | name=${item#?} 43 | case $item in 44 | O*) 45 | # focused occupied desktop 46 | desk="%{F$F_O_FG B$F_O_BG} $DFO %{F- B-}" 47 | ;; 48 | F*) 49 | # focused free desktop 50 | desk="%{F$F_F_FG B$F_F_BG} $DFO %{F- B-}" 51 | ;; 52 | U*) 53 | # focused urgent desktop 54 | desk="%{F$F_U_FG B$F_U_BG} $DFO %{F- B-}" 55 | ;; 56 | o*) 57 | # occupied desktop 58 | desk="%{F$O_FG B$O_BG} $DO %{F- B-}" 59 | ;; 60 | f*) 61 | # free desktop 62 | desk="%{F$F_FG B$F_BG} $DF %{F- B-}" 63 | ;; 64 | u*) 65 | # urgent desktop 66 | desk="%{F$U_FG B$U_BG} $DO %{F- B-}" 67 | ;; 68 | esac 69 | wm_infos="${wm_infos}%{A:bspc desktop -f ${name}:}${desk}%{A} " 70 | ;; 71 | esac 72 | shift 73 | done 74 | IFS=$NORMIFS 75 | ;; 76 | esac 77 | printf "%s\n" "%{l} %{T3}$wm_infos%{T-} %{c} $clock %{r} $sys_infos " 78 | done < "$PANEL_FIFO" \ 79 | | xft-lemonbar -p -d \ 80 | -g "$geometry" \ 81 | -B "$BAR_BG" \ 82 | -F "$BAR_FG" \ 83 | -o -1 -f "fontAwesome:size=11" \ 84 | -o 0 -f "fira mono:size=9" \ 85 | -o -5 -f "-lucy-tewi-medium-r-normal--11-90-100-100-c-60-iso10646-1" \ 86 | -n 'bspwm_panel' \ 87 | -a 20 \ 88 | | sh 89 | 90 | -------------------------------------------------------------------------------- /config/themes/january17/panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | . theme_config 4 | 5 | if [ $(pgrep -cx panel.sh) -gt 1 ] ; then 6 | printf "%s\n" "The panel is already running." >&2 7 | exit 1 8 | fi 9 | 10 | trap 'trap - TERM; kill 0' INT TERM QUIT EXIT 11 | 12 | [ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO" 13 | mkfifo "$PANEL_FIFO" 14 | 15 | bspc subscribe > "$PANEL_FIFO" & 16 | 17 | shortinfo > "$PANEL_FIFO" & 18 | xtitle -s -t 40 -f "X%s" > "$PANEL_FIFO" & 19 | 20 | NORMIFS=$IFS 21 | FIELDIFS=':' 22 | 23 | while read -r line ; do 24 | case $line in 25 | S*) 26 | # sysinfo 27 | sys_infos="${line#?}" 28 | ;; 29 | X*) 30 | # xtitle 31 | title="${line#?}" 32 | ;; 33 | W*) 34 | # bspwm internal state 35 | wm_infos="" 36 | IFS=$FIELDIFS 37 | set -- ${line#?} 38 | while [ $# -gt 0 ] ; do 39 | item=$1 40 | case $item in 41 | [OoFfUu]*) 42 | # desktops 43 | name=${item#?} 44 | case $item in 45 | O*) 46 | # focused occupied desktop 47 | desk="%{F$F_O_FG B$F_O_BG} $DFO %{F- B-}" 48 | ;; 49 | F*) 50 | # focused free desktop 51 | desk="%{F$F_F_FG B$F_F_BG} $DFO %{F- B-}" 52 | ;; 53 | U*) 54 | # focused urgent desktop 55 | desk="%{F$F_U_FG B$F_U_BG} $DFO %{F- B-}" 56 | ;; 57 | o*) 58 | # occupied desktop 59 | desk="%{F$O_FG B$O_BG} $DO %{F- B-}" 60 | ;; 61 | f*) 62 | # free desktop 63 | desk="%{F$F_FG B$F_BG} $DF %{F- B-}" 64 | ;; 65 | u*) 66 | # urgent desktop 67 | desk="%{F$U_FG B$U_BG} $DO %{F- B-}" 68 | ;; 69 | esac 70 | wm_infos="${wm_infos}%{A:bspc desktop -f ${name}:}${desk}%{A}" 71 | ;; 72 | esac 73 | shift 74 | done 75 | IFS=$NORMIFS 76 | ;; 77 | esac 78 | printf "%s\n" "%{l} $title %{c} %{T3}$wm_infos%{T-} %{r} $sys_infos " 79 | done < "$PANEL_FIFO" \ 80 | | xft-lemonbar -p -d \ 81 | -g "$geometry" \ 82 | -B "$BAR_BG" \ 83 | -F "$BAR_FG" \ 84 | -o -1 -f "fontAwesome:size=11" \ 85 | -o 0 -f "fira mono:size=9" \ 86 | -o -5 -f "-lucy-tewi-medium-r-normal--11-90-100-100-c-60-iso10646-1" \ 87 | -n 'bspwm_panel' \ 88 | -a 20 \ 89 | | sh 90 | 91 | -------------------------------------------------------------------------------- /config/themes/sol-light/panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # panel.sh - parse bspwm information and run lemonbar 3 | # Monday, 11 December 2017 17:47 IST 4 | 5 | . theme_config 6 | 7 | if [ $(pgrep -cx panel.sh) -gt 1 ] ; then 8 | printf "%s\n" "The panel is already running." >&2 9 | exit 1 10 | fi 11 | 12 | trap 'trap - TERM; kill 0' INT TERM QUIT EXIT 13 | 14 | [ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO" 15 | mkfifo "$PANEL_FIFO" 16 | 17 | bspc subscribe > "$PANEL_FIFO" & 18 | bar_sysinfo > "$PANEL_FIFO" & 19 | bar_netinfo > "$PANEL_FIFO" & 20 | 21 | NORMIFS=$IFS 22 | FIELDIFS=':' 23 | 24 | while read -r line ; do 25 | case $line in 26 | C*) 27 | # clock 28 | clock="${line#?}" 29 | ;; 30 | S*) 31 | # sysinfos 32 | sys_infos="${line#?}" 33 | ;; 34 | N*) 35 | # netinfo 36 | netinfo="${line#?}" 37 | ;; 38 | B*) 39 | # battery and calendar 40 | batcal="${line#?}" 41 | ;; 42 | W*) 43 | # bspwm internal state 44 | wm_infos="" 45 | IFS=$FIELDIFS 46 | set -- ${line#?} 47 | while [ $# -gt 0 ] ; do 48 | item=$1 49 | case $item in 50 | [OoFfUu]*) 51 | # desktops 52 | name=${item#?} 53 | case $item in 54 | O*) 55 | # focused occupied desktop 56 | desk="%{F- B- U$UN_1 +u} ${name} %{F- B- -u}" 57 | ;; 58 | F*) 59 | # focused free desktop 60 | desk="%{F- B- U$UN_2 +u} ${name} %{F- B- -u}" 61 | ;; 62 | U*) 63 | # focused urgent desktop 64 | desk="%{F$F_U_FG B$F_U_BG} ${name} %{F- B-}" 65 | ;; 66 | o*) 67 | # occupied desktop 68 | desk="%{F$O_FG B$O_BG} ${name} %{F- B-}" 69 | ;; 70 | f*) 71 | # free desktop 72 | desk="%{F$F_FG B$F_BG} ${name} %{F- B-}" 73 | ;; 74 | u*) 75 | # urgent desktop 76 | desk="%{F$U_FG B$U_BG} ${name} %{F- B-}" 77 | ;; 78 | esac 79 | wm_infos="${wm_infos}%{A:bspc desktop -f ${name}:}${desk} %{A}$PAD" 80 | ;; 81 | esac 82 | shift 83 | done 84 | IFS=$NORMIFS 85 | ;; 86 | esac 87 | printf "%s\n" "%{l} $wm_infos %{r} ${sys_infos} ${netinfo}${batcal} " 88 | done < "$PANEL_FIFO" \ 89 | | xft-lemonbar -p -d \ 90 | -g "$geometry" \ 91 | -B "$BAR_BG" \ 92 | -F "$BAR_FG" \ 93 | -f "$TEXT_FONT" -f "$ICON_FONT" \ 94 | -n 'bspwm_panel' \ 95 | -a 20 \ 96 | -u 2 \ 97 | | sh 98 | 99 | 100 | -------------------------------------------------------------------------------- /config/themes/nord/panel.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # panel.sh - parse bspwm information and run lemonbar 3 | # Monday, 11 December 2017 17:47 IST 4 | 5 | . theme_config 6 | 7 | if [ $(pgrep -cx panel.sh) -gt 1 ] ; then 8 | printf "%s\n" "The panel is already running." >&2 9 | exit 1 10 | fi 11 | 12 | trap 'trap - TERM; kill 0' INT TERM QUIT EXIT 13 | 14 | [ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO" 15 | mkfifo "$PANEL_FIFO" 16 | 17 | bspc subscribe > "$PANEL_FIFO" & 18 | bar_sysinfo > "$PANEL_FIFO" & 19 | bar_netinfo > "$PANEL_FIFO" & 20 | 21 | NORMIFS=$IFS 22 | FIELDIFS=':' 23 | 24 | while read -r line ; do 25 | case $line in 26 | C*) 27 | # clock 28 | clock="${line#?}" 29 | ;; 30 | S*) 31 | # sysinfos 32 | sys_infos="${line#?}" 33 | ;; 34 | N*) 35 | # netinfo 36 | netinfo="${line#?}" 37 | ;; 38 | B*) 39 | # battery and calendar 40 | batcal="${line#?}" 41 | ;; 42 | W*) 43 | # bspwm internal state 44 | wm_infos="" 45 | IFS=$FIELDIFS 46 | set -- ${line#?} 47 | while [ $# -gt 0 ] ; do 48 | item=$1 49 | case $item in 50 | [OoFfUu]*) 51 | # desktops 52 | name=${item#?} 53 | case $item in 54 | O*) 55 | # focused occupied desktop 56 | desk="%{F- B- U$UN_1 +u} ${name} %{F- B- -u}" 57 | ;; 58 | F*) 59 | # focused free desktop 60 | desk="%{F- B- U$UN_2 +u} ${name} %{F- B- -u}" 61 | ;; 62 | U*) 63 | # focused urgent desktop 64 | desk="%{F$F_U_FG B$F_U_BG} ${name} %{F- B-}" 65 | ;; 66 | o*) 67 | # occupied desktop 68 | desk="%{F$O_FG B$O_BG} ${name} %{F- B-}" 69 | ;; 70 | f*) 71 | # free desktop 72 | desk="%{F$F_FG B$F_BG} ${name} %{F- B-}" 73 | ;; 74 | u*) 75 | # urgent desktop 76 | desk="%{F$U_FG B$U_BG} ${name} %{F- B-}" 77 | ;; 78 | esac 79 | wm_infos="${wm_infos}%{A:bspc desktop -f ${name}:}${desk} %{A}$PAD" 80 | ;; 81 | esac 82 | shift 83 | done 84 | IFS=$NORMIFS 85 | ;; 86 | esac 87 | printf "%s\n" "%{l} $wm_infos %{c} $clock %{r} ${sys_infos} ${netinfo} ${batcal} " 88 | done < "$PANEL_FIFO" \ 89 | | xft-lemonbar -p -d \ 90 | -g "$geometry" \ 91 | -B "$BAR_BG" \ 92 | -F "$BAR_FG" \ 93 | -f "$TEXT_FONT" -f "$ICON_FONT" \ 94 | -n 'bspwm_panel' \ 95 | -a 20 \ 96 | -u 2 \ 97 | | sh 98 | 99 | 100 | -------------------------------------------------------------------------------- /config/themes/yosemite/lemonbar_conkyrc: -------------------------------------------------------------------------------- 1 | # 2 | # toggle conky for lemonbar - final version (hopefully !!) 3 | # Sunday, 02 August 2015 11:48 IST 4 | # 5 | 6 | # 7 | ###### Information ###### 8 | # Uses external files to store the toggle state and share it between conky and lemonbar 9 | # Ensure that the relevant files are present (in /tmp), before running this conky 10 | # 11 | # Uses siji font for icons https://github.com/gstk/siji 12 | # 13 | 14 | 15 | # conky settings 16 | background no 17 | update_interval 1 18 | cpu_avg_samples 1 19 | total_run_times 0 20 | override_utf8_locale yes 21 | short_units yes 22 | pad_percents 2 23 | uppercase no 24 | out_to_console yes 25 | out_to_x no 26 | # 27 | 28 | TEXT 29 | S\ 30 | # 31 | # music info 32 | # 33 | %{l F\#FF505050} \ 34 | ${if_match "${mpd_status}" == "Playing"}\ 35 | %{A:mpc -q prev:}%{A} %{A:mpc -q pause:}%{A} %{A:mpc -q next:}%{A} \ 36 | ${else}\ 37 | %{A:mpc -q prev:}%{A} %{A:mpc -q play:}%{A} %{A:mpc -q next:}%{A} \ 38 | ${endif} \ 39 | %{A:dzen_popup_toggle.sh playlist:}\ 40 | ${if_match "${mpd_status}" == "Stopped"}%{F\#FFa0a0a0}${else} \ 41 | ${mpd_title 35}${endif}%{A} \ 42 | # 43 | ###### 44 | # System Info - Expanded part 45 | ###### 46 | # 47 | # Hide info sign 48 | # 49 | %{r}${if_existing /tmp/bartoggle 1}%{F\#ff606060 A:toggleinfo.sh:} - %{A}\ 50 | # 51 | # Cpu and RAM 52 | # 53 | %{F\#FF8a8e78 A:dzen_popup_toggle.sh sysinfo:} %{F-} ${cpu cpu0}%%{A} \ 54 | %{F\#FF8a8e78 A:dzen_popup_toggle.sh diskinfo:} %{F-} ${mem} %{A}\ 55 | # 56 | # Temperatures 57 | # 58 | %{F\#ff606060}|%{F\#ffcc6666} %{F-} ${hwmon 1 temp 2}°\ 59 | %{F\#ffcc6666} %{F-} ${hwmon 2 temp 1}° %{F\#ff606060}| %{F-}\ 60 | ${if_existing /proc/net/route wlp2s0}\ 61 | # 62 | # Wireless 63 | # 64 | %{F\#FF505050 A:dzen_popup_toggle.sh netinfo:}\ 65 | ${if_match ${wireless_link_qual_perc wlp2s0} < 40}${else}\ 66 | ${if_match ${wireless_link_qual_perc wlp2s0} <= 60}${else}\ 67 | ${endif}${endif} %{F-}\ 68 | ${texeci 4 ping -c1 -w1 8.8.8.8 > /dev/null 2>&1 || echo "%{F#ff606060}*"}\ 69 | ${wireless_essid wlp2s0} %{A}${else}\ 70 | %{F\#ff606060} %{F-}${endif}\ 71 | # 72 | # Power 73 | # 74 | %{F\#ff606060}|${if_match "${acpiacadapter}" == "on-line"}\ 75 | %{F\#ff505050} %{F-} ${battery_percent}% ${else}\ 76 | ${if_match ${battery_percent BAT0} <= 30}\ 77 | %{F\#FFFF8700} %{F-} ${else}\ 78 | %{F\#FFbb4455} %{F-} ${endif}${battery_percent}% ${endif}\ 79 | %{F\#ff606060}| \ 80 | ###### 81 | # The Condensed part 82 | ###### 83 | # 84 | # Expand sign 85 | # 86 | ${else} %{F\#ff606060 A:toggleinfo.sh:} + %{A}\ 87 | # 88 | # Wireless 89 | # 90 | ${if_existing /proc/net/route wlp2s0}\ 91 | %{F\#ff505050 A:dzen_popup_toggle.sh netinfo:} \ 92 | ${texeci 4 ping -c1 -w1 8.8.8.8 > /dev/null 2>&1 || echo "%{F#ffafafaf}"}\ 93 | ${if_match ${wireless_link_qual_perc wlp2s0} < 40}${else}\ 94 | ${if_match ${wireless_link_qual_perc wlp2s0} <= 60}${else}\ 95 | ${endif}${endif} %{F-}%{A}${endif}\ 96 | # 97 | # Power 98 | # 99 | ${if_match "${acpiacadapter}" == "on-line"}\ 100 | %{F\#ff505050} %{F-} ${if_match ${battery_percent} >= 93}${else}\ 101 | ${battery_percent}% ${endif}${else}\ 102 | ${if_match ${battery_percent BAT0} <= 30}\ 103 | %{F\#FFFF8700} %{F-} ${else}\ 104 | %{F\#FF9e3c7c} %{F-} ${endif}${battery_percent}% ${endif}\ 105 | ${endif}\ 106 | # 107 | ###### 108 | # Following is always displayed 109 | ###### 110 | # 111 | # Datetime 112 | # 113 | %{F\#ff505050 A:dzen_popup_toggle.sh calendar:} ${time %a, %d %b}%{F-} ${time %H:%M} %{A} %{B-}\ 114 | 115 | -------------------------------------------------------------------------------- /.bashrc: -------------------------------------------------------------------------------- 1 | # 2 | # ~/.bashrc 3 | # 4 | 5 | # If not running interactively, don't do anything 6 | [[ $- != *i* ]] && return 7 | 8 | # source my own .dircolors file 9 | if [ -f $HOME/.dircolors ]; then 10 | eval $(dircolors -b $HOME/.dircolors) 11 | fi 12 | 13 | # aliases 14 | alias ls='ls --color=auto --group-directories-first -h' 15 | alias la='ls -a' 16 | alias grep='grep --color=auto' 17 | alias ..='cd ..' 18 | alias ...='cd ../..' 19 | 20 | # PS1 with error, and git info 21 | #__set_ps1 (){ 22 | # local err="\[\033[1;31m\]" # error -- red 23 | # local nor="\[\033[1;30m\]" # normal -- white 24 | # local por="\[\033[1;30m\]" # prompt char 25 | # local dirty="\[\033[0;33m\]" # dirty git 26 | # local rst="\[\033[0m\]" # Text Reset 27 | # # random color 28 | # # local color="\[\033[$(( $RANDOM%2 ));$(( 31+$RANDOM%7 ))m\]" 29 | # # 30 | # # git info 31 | # local gitinfo= 32 | # local branch=$(git symbolic-ref HEAD --short 2> /dev/null) 33 | # if [[ $branch ]]; then 34 | # local x=$(git status --porcelain) 35 | # if [[ $x ]]; then 36 | # gitinfo="${nor}(${dirty}${branch}${nor}) " 37 | # else 38 | # gitinfo="${nor}(${branch}) " 39 | # fi 40 | # fi 41 | # # 42 | # # generate prompt 43 | # PS1="\n \$([[ \$? != 0 ]] && echo \"$err\" || echo \"$nor\")\W ${gitinfo}${por}$ $rst" 44 | #} 45 | 46 | # powerline style PS1 47 | __powerline_ps1 () { 48 | local status=$? 49 | # define colors 50 | local text='\[\]' # text color black 51 | local nor_bg='\[\]' # normal bg blue 52 | local nor_fg='\[\]' # normal fg blue 53 | local err_bg='\[\]' # error bg red 54 | local err_fg='\[\]' # error fg red 55 | local git_bg='\[\]' # clean git bg green 56 | local git_fg='\[\]' # clean git fg green 57 | local dir_bg='\[\]' # dirty git bg yellow 58 | local dir_fg='\[\]' # dirty git fg yellow 59 | local rst_bg='\[\]' # reset bg color 60 | local rst='\[\]' # reset all 61 | local bld='\[\]' # bold colors 62 | local git_symbol='' 63 | local arrow='' 64 | local gitc="$rst_bg" 65 | 66 | # check last command status 67 | if [[ $status != 0 ]]; then 68 | nor_bg="$err_bg" 69 | nor_fg="$err_fg" 70 | fi 71 | # git info 72 | local gitinfo= 73 | local branch=$(git symbolic-ref HEAD --short 2> /dev/null) 74 | if [[ $branch ]]; then 75 | local x=$(git status --porcelain) 76 | if [[ $x ]]; then 77 | gitc="$dir_bg" 78 | gitinfo="${text} ${git_symbol} ${branch} ${rst_bg}${dir_fg}${arrow}" 79 | else 80 | gitc="$git_bg" 81 | gitinfo="${text} ${git_symbol} ${branch} ${rst_bg}${git_fg}${arrow}" 82 | fi 83 | fi 84 | # cwd 85 | local cwd="${text}${nor_bg} \W ${gitc}${nor_fg}${arrow}" 86 | PS1="\n${bld}${cwd}${gitinfo}${rst} " 87 | } 88 | 89 | # set PS1 90 | case "$TERM" in 91 | xterm*|rxvt*) 92 | # PROMPT_COMMAND="__set_ps1" 93 | PROMPT_COMMAND="__powerline_ps1" 94 | ;; 95 | *) 96 | PS1='\[\e[1;37m\]┌─$([ $? -eq 0 ] || echo "(\[\e[1;31m\]fail\[\e[1;37m\])─")(\t)─(\u@\h)─(\w)\n└─>\[\e[0m\] ' 97 | ;; 98 | esac 99 | 100 | # history settings 101 | export HISTSIZE=2000 102 | export HISTFILESIZE=2000 103 | export HISTCONTROL=ignoreboth 104 | export HISTIGNORE="cd *:ls:ls *:history*:cat *:clear:pwd:..:..." 105 | 106 | # disable flow control 107 | stty -ixon 108 | 109 | -------------------------------------------------------------------------------- /config/themes/flwr/lemonbar_conkyrc: -------------------------------------------------------------------------------- 1 | # 2 | # toggle conky for lemonbar 3 | # easysid 4 | 5 | # 6 | ###### Information ###### 7 | # Uses external files to store the toggle state 8 | # and share it between conky and lemonbar 9 | # Ensure that the relevant files are present before running this conky 10 | # 11 | # Uses siji font for icons https://github.com/gstk/siji 12 | # 13 | 14 | # conky settings 15 | background no 16 | update_interval 1 17 | cpu_avg_samples 1 18 | total_run_times 0 19 | override_utf8_locale yes 20 | short_units yes 21 | pad_percents 2 22 | uppercase no 23 | out_to_console yes 24 | out_to_x no 25 | 26 | TEXT 27 | S\ 28 | # right align 29 | %{r}\ 30 | ###### 31 | # Music info 32 | ###### 33 | ${if_match "${mpd_status}" == "Stopped"}%{F\#FF645240}${else}\ 34 | %{A:mpc toggle > /dev/null:} %{A} \ 35 | %{A:dzen_popup_toggle.sh musicinfo:}${mpd_title 35}%{A}${endif} \ 36 | ###### 37 | # System Info - Expanded part 38 | ###### 39 | # 40 | # Hide info sign 41 | # 42 | ${if_existing /tmp/bartoggle 1}%{F\#FF645240 A:toggleinfo.sh:} » %{A}\ 43 | # 44 | # Cpu and RAM 45 | # 46 | %{F\#FF886f6d A:dzen_popup_toggle.sh sysinfo:} %{F-} ${cpu cpu0}%%{A} \ 47 | %{F\#FF886f6d A:dzen_popup_toggle.sh diskinfo:} %{F-} ${mem} %{A}\ 48 | # 49 | # Temperatures 50 | # 51 | %{F\#FFa0a0a0}|%{F\#FF886f6d} %{F-} ${hwmon 1 temp 2}°\ 52 | %{F\#FF886f6d} %{F-} ${hwmon 2 temp 1}° %{F\#FFa0a0a0}| %{F-}\ 53 | # 54 | # Wireless 55 | # 56 | # ${if_existing /proc/net/route wlp2s0}\ 57 | # %{F\#FF886f6d A:dzen_popup_toggle.sh netinfo:}\ 58 | # ${if_match ${wireless_link_qual_perc wlp2s0} < 40}${else}\ 59 | # ${if_match ${wireless_link_qual_perc wlp2s0} <= 60}${else}\ 60 | # ${endif}${endif} %{F-}\ 61 | # ${texeci 4 ping -c1 -w1 8.8.8.8 > /dev/null 2>&1 || echo "%{F#FF808080}*"}\ 62 | # ${wireless_essid wlp2s0} %{A}${else}\ 63 | # %{F\#FFa0a0a0} %{F-}${endif}\ 64 | # 65 | # Wired 66 | # 67 | %{F- A:dzen_popup_toggle.sh netinfo:}\ 68 | ${texeci 4 ping -c1 -w1 8.8.8.8 > /dev/null 2>&1 || echo "%{F#FF645240}"} \ 69 | %{A}\ 70 | # 71 | # Power 72 | # 73 | %{F\#FFa0a0a0}|${if_match "${acpiacadapter}" == "on-line"}\ 74 | %{F\#FF886f6d} %{F-} ${battery_percent}% ${else}\ 75 | ${if_match ${battery_percent BAT0} <= 30}\ 76 | %{F\#FFcf3932}  ${else}\ 77 | %{F\#FF886f6d} %{F-} ${endif}${battery_percent}% ${endif}\ 78 | %{F\#FFa0a0a0}| \ 79 | ###### 80 | # The Condensed part 81 | ###### 82 | # 83 | # Expand sign 84 | # 85 | ${else} %{F\#FF645240 A:toggleinfo.sh:} « %{A}\ 86 | # 87 | # Wireless 88 | # 89 | # ${if_existing /proc/net/route wlp2s0}\ 90 | # %{F- A:dzen_popup_toggle.sh netinfo:}\ 91 | # ${texeci 4 ping -c1 -w1 8.8.8.8 > /dev/null 2>&1 || echo "%{F#FF645240}"}\ 92 | # ${if_match ${wireless_link_qual_perc wlp2s0} < 45} ${else}\ 93 | # ${if_match ${wireless_link_qual_perc wlp2s0} < 70} ${else}\ 94 | # ${endif}${endif} %{F-}%{A}${endif}\ 95 | # 96 | # Wired - display only if we are disconnected 97 | # 98 | %{F-}${texeci 4 ping -c1 -w1 8.8.8.8 > /dev/null 2>&1 || echo "%{F#FFbf6a6a}  "}\ 99 | # 100 | # Power 101 | # 102 | ${if_match "${acpiacadapter}" == "on-line"}%{F-}  \ 103 | ${if_match ${battery_percent} < 90}${battery_percent}% ${endif}\ 104 | ${else}\ 105 | ${if_match ${battery_percent BAT0} <= 30}%{F\#FFcf3939}  ${battery_percent}% \ 106 | ${else}${if_match ${battery_percent BAT0} <= 70}%{F-}  ${battery_percent}% \ 107 | ${else}%{F-}  ${endif}${endif}${endif} \ 108 | ${endif}\ 109 | # 110 | ###### 111 | # Following is always displayed as is 112 | ###### 113 | # 114 | # Datetime 115 | # 116 | %{F- A:dzen_popup_toggle.sh calendar:}${time %H:%M} %{A} %{F- B-}\ 117 | 118 | -------------------------------------------------------------------------------- /scripts/color_dna.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # ANSI color scheme script by pfh 4 | # 5 | # Initializing mod by lolilolicon from Archlinux 6 | # 7 | 8 | f=3 b=4 9 | for j in f b; do 10 | for i in {0..7}; do 11 | printf -v $j$i %b "\e[${!j}${i}m" 12 | done 13 | done 14 | bld=$'\e[1m' 15 | rst=$'\e[0m' 16 | inv=$'\e[7m' 17 | 18 | cat << EOF 19 | 20 | $f1█-----$bld█ $rst$f2█-----$bld█$rst $f3█-----$bld█$rst $f4█-----$bld█$rst $f5█-----$bld█$rst $f6█-----$bld█$rst 21 | $f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst 22 | $f1 █-$bld█$rst $f2 █-$bld█$rst $f3 █-$bld█$rst $f4 █-$bld█$rst $f5 █-$bld█$rst $f6 █-$bld█$rst 23 | $f1█$rst $f2█$rst $f3█$rst $f4█$rst $f5█$rst $f6█$rst 24 | $f1$bld█-$rst$f1█$rst $f2$bld█_$rst$f2█$rst $f3$bld█-$rst$f3█$rst $f4$bld█-$rst$f4█$rst $f5$bld█-$rst$f5█$rst $f6$bld█-$rst$f6█$rst 25 | $f1$bld█---$rst$f1█$rst $f2$bld█---$rst$f2█$rst $f3$bld█---$rst$f3█$rst $f4$bld█---$rst$f4█$rst $f5$bld█---$rst$f5█$rst $f6$bld█---$rst$f6█$rst 26 | $f1$bld█-----$rst$f1█$rst $f2$bld█-----$rst$f2█$rst $f3$bld█-----$rst$f3█$rst $f4$bld█-----$rst$f4█$rst $f5$bld█-----$rst$f5█$rst $f6$bld█-----$rst$f6█$rst 27 | $f1$bld█---$rst$f1█$rst $f2$bld█---$rst$f2█$rst $f3$bld█---$rst$f3█$rst $f4$bld█---$rst$f4█$rst $f5$bld█---$rst$f5█$rst $f6$bld█---$rst$f6█$rst 28 | $f1$bld█-$rst$f1█$rst $f2$bld█-$rst$f2█$rst $f3$bld█-$rst$f3█$rst $f4$bld█-$rst$f4█$rst $f5$bld█-$rst$f5█$rst $f6$bld█-$rst$f6█$rst 29 | $f1$bld█$rst $f2$bld█$rst $f3$bld█$rst $f4$bld█$rst $f5$bld█$rst $f6$bld█$rst 30 | $f1█-$bld█$rst $f2█-$bld█$rst $f3█-$bld█$rst $f4█-$bld█$rst $f5█-$bld█$rst $f6█-$bld█$rst 31 | $f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst 32 | $f1█-----$bld█ $rst$f2█-----$bld█$rst $f3█-----$bld█$rst $f4█-----$bld█$rst $f5█-----$bld█$rst $f6█-----$bld█$rst 33 | $f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst 34 | $f1 █-$bld█$rst $f2 █-$bld█$rst $f3 █-$bld█$rst $f4 █-$bld█$rst $f5 █-$bld█$rst $f6 █-$bld█$rst 35 | $f1█$rst $f2█$rst $f3█$rst $f4█$rst $f5█$rst $f6█$rst 36 | $f1$bld█-$rst$f1█$rst $f2$bld█_$rst$f2█$rst $f3$bld█-$rst$f3█$rst $f4$bld█-$rst$f4█$rst $f5$bld█-$rst$f5█$rst $f6$bld█-$rst$f6█$rst 37 | $f1$bld█---$rst$f1█$rst $f2$bld█---$rst$f2█$rst $f3$bld█---$rst$f3█$rst $f4$bld█---$rst$f4█$rst $f5$bld█---$rst$f5█$rst $f6$bld█---$rst$f6█$rst 38 | $f1$bld█-----$rst$f1█$rst $f2$bld█-----$rst$f2█$rst $f3$bld█-----$rst$f3█$rst $f4$bld█-----$rst$f4█$rst $f5$bld█-----$rst$f5█$rst $f6$bld█-----$rst$f6█$rst 39 | $f1$bld█---$rst$f1█$rst $f2$bld█---$rst$f2█$rst $f3$bld█---$rst$f3█$rst $f4$bld█---$rst$f4█$rst $f5$bld█---$rst$f5█$rst $f6$bld█---$rst$f6█$rst 40 | $f1$bld█-$rst$f1█$rst $f2$bld█-$rst$f2█$rst $f3$bld█-$rst$f3█$rst $f4$bld█-$rst$f4█$rst $f5$bld█-$rst$f5█$rst $f6$bld█-$rst$f6█$rst 41 | $f1$bld█$rst $f2$bld█$rst $f3$bld█$rst $f4$bld█$rst $f5$bld█$rst $f6$bld█$rst 42 | $f1█-$bld█$rst $f2█-$bld█$rst $f3█-$bld█$rst $f4█-$bld█$rst $f5█-$bld█$rst $f6█-$bld█$rst 43 | $f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst 44 | $f1█-----$bld█ $rst$f2█-----$bld█$rst $f3█-----$bld█$rst $f4█-----$bld█$rst $f5█-----$bld█$rst $f6█-----$bld█$rst 45 | 46 | EOF -------------------------------------------------------------------------------- /config/themes/february/lemonbar_conkyrc: -------------------------------------------------------------------------------- 1 | # 2 | # toggle conky for lemonbar 3 | # easysid 4 | 5 | # 6 | ###### Information ###### 7 | # Uses external files to store the toggle state 8 | # and share it between conky and lemonbar 9 | # Ensure that the relevant files are present before running this conky 10 | # 11 | # Uses siji font for icons https://github.com/gstk/siji 12 | # 13 | 14 | 15 | # conky settings 16 | background no 17 | update_interval 1 18 | cpu_avg_samples 1 19 | total_run_times 0 20 | override_utf8_locale yes 21 | short_units yes 22 | pad_percents 2 23 | uppercase no 24 | out_to_console yes 25 | out_to_x no 26 | 27 | TEXT 28 | S\ 29 | ###### 30 | # Music info 31 | ###### 32 | # left align 33 | %{l}\ 34 | %{F\#FFa0a0a0} \ 35 | ${if_match "${mpd_status}" == "Playing"}\ 36 | %{A:mpc -q prev:}%{A} %{A:mpc -q pause:}%{A} %{A:mpc -q next:}%{A} \ 37 | ${else}\ 38 | %{A:mpc -q prev:}%{A} %{A:mpc -q play:}%{A} %{A:mpc -q next:}%{A} \ 39 | ${endif} \ 40 | %{A:dzen_popup_toggle.sh playlist:}\ 41 | ${if_match "${mpd_status}" == "Stopped"}%{F\#FF4f5b66}${else} \ 42 | ${mpd_title 35}${endif}%{A} \ 43 | ###### 44 | # System Info - Expanded part 45 | ###### 46 | # right align 47 | %{r}\ 48 | # 49 | # Hide info sign 50 | # 51 | ${if_existing /tmp/bartoggle 1}%{F\#ff909090 A:toggleinfo.sh:} » %{A}\ 52 | # 53 | # Cpu and RAM 54 | # 55 | %{F\#FFa0a0a0 A:dzen_popup_toggle.sh sysinfo:} %{F-} ${cpu cpu0}%%{A} \ 56 | %{F\#FFa0a0a0 A:dzen_popup_toggle.sh diskinfo:} %{F-} ${mem} %{A}\ 57 | # 58 | # Temperatures 59 | # 60 | %{F\#FFa0a0a0}|%{F\#FFa0a0a0} %{F-} ${hwmon 1 temp 2}°\ 61 | %{F\#FFa0a0a0} %{F-} ${hwmon 2 temp 1}° %{F\#FFa0a0a0}| %{F-}\ 62 | # 63 | # Wireless 64 | # 65 | # ${if_existing /proc/net/route wlp2s0}\ 66 | # %{F\#FFa0a0a0 A:dzen_popup_toggle.sh netinfo:}\ 67 | # ${if_match ${wireless_link_qual_perc wlp2s0} < 40}${else}\ 68 | # ${if_match ${wireless_link_qual_perc wlp2s0} <= 60}${else}\ 69 | # ${endif}${endif} %{F-}\ 70 | # ${texeci 4 ping -c1 -w1 8.8.8.8 > /dev/null 2>&1 || echo "%{F#FF808080}*"}\ 71 | # ${wireless_essid wlp2s0} %{A}${else}\ 72 | # %{F\#FFa0a0a0} %{F-}${endif}\ 73 | # 74 | # Wired 75 | # 76 | %{F- A:dzen_popup_toggle.sh netinfo:}\ 77 | ${texeci 4 ping -c1 -w1 8.8.8.8 > /dev/null 2>&1 || echo "%{F#FF4f5b66}"} \ 78 | %{A}\ 79 | # 80 | # Power 81 | # 82 | %{F\#FFa0a0a0}|${if_match "${acpiacadapter}" == "on-line"}\ 83 | %{F\#FFa0a0a0} %{F-} ${battery_percent}% ${else}\ 84 | ${if_match ${battery_percent BAT0} <= 30}\ 85 | %{F\#FFcf3932}  ${else}\ 86 | %{F\#FFa0a0a0} %{F-} ${endif}${battery_percent}% ${endif}\ 87 | %{F\#FFa0a0a0}| \ 88 | ###### 89 | # The Condensed part 90 | ###### 91 | # 92 | # Expand sign 93 | # 94 | ${else} %{F\#ff909090 A:toggleinfo.sh:} « %{A}\ 95 | # 96 | # Wireless 97 | # 98 | # ${if_existing /proc/net/route wlp2s0}\ 99 | # %{F- A:dzen_popup_toggle.sh netinfo:}\ 100 | # ${texeci 4 ping -c1 -w1 8.8.8.8 > /dev/null 2>&1 || echo "%{F#FF4f5b66}"}\ 101 | # ${if_match ${wireless_link_qual_perc wlp2s0} < 45} ${else}\ 102 | # ${if_match ${wireless_link_qual_perc wlp2s0} < 70} ${else}\ 103 | # ${endif}${endif} %{F-}%{A}${endif}\ 104 | # 105 | # Wired - display only if we are disconnected 106 | # 107 | %{F-}${texeci 4 ping -c1 -w1 8.8.8.8 > /dev/null 2>&1 || echo "%{F#FFbf6a6a}  "}\ 108 | # 109 | # Power 110 | # 111 | ${if_match "${acpiacadapter}" == "on-line"}%{F-}  \ 112 | ${if_match ${battery_percent} < 90}${battery_percent}% ${endif}\ 113 | ${else}\ 114 | ${if_match ${battery_percent BAT0} <= 30}%{F\#FFcf3939}  ${battery_percent}% \ 115 | ${else}${if_match ${battery_percent BAT0} <= 70}%{F-}  ${battery_percent}% \ 116 | ${else}%{F-}  ${endif}${endif}${endif}\ 117 | ${endif}\ 118 | # 119 | ###### 120 | # Following is always displayed as is 121 | ###### 122 | # 123 | # Datetime 124 | # 125 | %{F- A:dzen_popup_toggle.sh calendar:} ${time %H:%M} %{A} %{F- B-}\ 126 | 127 | -------------------------------------------------------------------------------- /config/openbox/menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | nitrogen --no-recurse --sort=alpha 7 | lxtask 8 | gmrun 9 | 10 | 11 | file-roller 12 | gucharmap 13 | evince 14 | thunar 15 | libreoffice 16 | urxvt 17 | geany 18 | 19 | 20 | geany 21 | gvim -f 22 | meld 23 | 24 | 25 | gimp 26 | viewnior 27 | 28 | 29 | clementine 30 | deadbeef 31 | /usr/bin/vlc 32 | 33 | 34 | google-chrome-stable 35 | firefox 36 | qbittorrent 37 | 38 | 39 | lxappearance 40 | 41 | 42 | geany /home/siddharth/.config/openbox/autostart 43 | geany /home/siddharth/.config/openbox/rc.xml 44 | geany /home/siddharth/.config/openbox/menu.xml 45 | 46 | 47 | flash-player-properties 48 | dconf-editor 49 | /usr/lib/jvm/java-7-openjdk/bin/itweb-settings 50 | /usr/bin/jconsole 51 | /usr/bin/policytool 52 | 53 | 54 | 55 | 57 | 58 | 59 | 60 | exit-box.sh 61 | 62 | 63 | -------------------------------------------------------------------------------- /config/fontconfig/conf.d/65-non-latin-free.conf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | serif 10 | 11 | 12 | IPAmjMincho 13 | IPAMincho 14 | 15 | NanumMyeongjo 16 | 17 | 18 | DDC Uchen 19 | 20 | Noto Naskh Arabic 21 | Noto Serif Armenian 22 | Noto Serif Georgian 23 | Noto Serif Khmer 24 | Noto Serif Lao 25 | Noto Serif Thai 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | sans-serif 42 | 43 | 44 | Noto Sans CJK JP 45 | Noto Sans CJK TC 46 | Noto Sans CJK KR 47 | Noto Sans CJK SC 48 | Noto Sans Cherokee 49 | 50 | DDC Uchen 51 | TharLon 52 | Noto Sans Myanmar 53 | Faruma 54 | 55 | Noto Sans Buginese 56 | 57 | Noto Kufi Arabic 58 | LKLUG 59 | Noto Sans Sinhala 60 | Noto Sans Kannada 61 | Noto Sans Khmer 62 | Noto Sans Malayalam 63 | 64 | Lohit Devanagari 65 | Lohit Nepali 66 | Noto Sans Devanagari 67 | Noto Sans Hebrew 68 | 69 | Noto Sans Bengali 70 | Noto Sans Lao 71 | Noto Sans Thai 72 | Noto Sans Telugu 73 | Noto Sans Gujarati 74 | Noto Sans Ethiopic 75 | Noto Sans Tamil 76 | Noto Sans Georgian 77 | Noto Sans Brahmi 78 | Noto Sans Kaithi 79 | 80 | Noto Sans Vai 81 | Noto Sans Osmanya 82 | 83 | Lohit Odia 84 | 85 | Estrangelo Edessa 86 | Noto Sans Syriac Estrangela 87 | Noto Sans Syriac Eastern 88 | Noto Sans Syriac Western 89 | 90 | Euphemia UCAS 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | monospace 148 | 149 | VL Gothic 150 | WenQuanYi Micro Hei Mono 151 | DejaVu Sans YuanTi Mono 152 | Thabit 153 | 154 | 155 | 156 | 157 | -------------------------------------------------------------------------------- /vimrc: -------------------------------------------------------------------------------- 1 | " vimrc 2 | " plugins 3 | call plug#begin() 4 | Plug 'tpope/vim-commentary' 5 | Plug 'w0rp/ale' 6 | Plug 'Valloric/YouCompleteMe', { 'do': './install.py' } 7 | call plug#end() 8 | 9 | " general settings 10 | set autoread 11 | set backspace=indent,eol,start 12 | set clipboard=unnamedplus " normal clipboard 13 | set ttimeoutlen=50 " fast escape 14 | set cursorline 15 | set hidden 16 | set mouse=a 17 | set nowrap " do not wrap lines 18 | set showcmd 19 | set nobackup noswapfile " no swap and backup files 20 | set number relativenumber 21 | set splitbelow splitright " new splits below and to the right 22 | set tabstop=4 " Set tab=4 spaces 23 | set shiftwidth=4 24 | set expandtab " Use spaces instead of tabs 25 | set foldmethod=indent " code folding 26 | set foldnestmax=2 27 | set nofoldenable 28 | " search 29 | set incsearch 30 | set hlsearch 31 | set ignorecase 32 | set smartcase 33 | set showmatch 34 | " wildmode 35 | set completeopt=noinsert,menuone,noselect 36 | set wildignore+=*.so,*.o,*.pyc,*.javac,*.out,*.luac,*.class,*.bmp,*.jpg,*.jpeg,*.png 37 | set wildmenu 38 | set wildmode=longest:full,full 39 | 40 | " statusline 41 | " file flags [trail] [mixed] <-> unix | utf-8 | filetype line/total, column 42 | set laststatus=2 43 | set statusline=\ %F " filename 44 | set statusline+=\ %m%r%h " flags 45 | set statusline+=\ %#error#%{TrailingSpaceWarning()}%* 46 | set statusline+=\ %#error#%{MixedIndentWarning()}%* 47 | set statusline+=%= " goto right hand side 48 | set statusline+=%{&ff!='unix'?&ff.'\ \|\ ':''} " format if not unix 49 | set statusline+=%{&fenc!='utf-8'&&&fenc!=''?&fenc.'\ \|\ ':''} " encoding if not utf-8 50 | set statusline+=%{&ft}\ " filetype 51 | set statusline+=%5l/%L,\ %-4v " line/total, col 52 | 53 | " custom functions and commands 54 | " Removes trailing spaces (vimcasts) 55 | function! TrimWhiteSpace() 56 | " Save last search, and cursor position. 57 | let _s=@/ 58 | let l = line(".") 59 | let c = col(".") 60 | " Do the business: 61 | %s/\s\+$//e 62 | " Clean up: restore previous search history, and cursor position 63 | let @/=_s 64 | call cursor(l, c) 65 | update 66 | endfunction 67 | 68 | " Check trailing spaces for statusline 69 | function! TrailingSpaceWarning() 70 | if !exists("b:trailing_space_warning") 71 | if search('\s\+$', 'nw') != 0 72 | let b:trailing_space_warning = '[trailing]' 73 | else 74 | let b:trailing_space_warning = '' 75 | endif 76 | endif 77 | return b:trailing_space_warning 78 | endfunction 79 | 80 | " Check mixed indent 81 | function! MixedIndentWarning() 82 | if !exists("b:mixed_indent_warning") 83 | if (search('^\t', 'nw') != 0 && search('^\s', 'nw') != 0) 84 | let b:mixed_indent_warning = '[mixed]' 85 | else 86 | let b:mixed_indent_warning = '' 87 | endif 88 | endif 89 | return b:mixed_indent_warning 90 | endfunction 91 | 92 | " Higlight long lines 93 | function! HlLongLines() 94 | " display a colorcolumn only if there are long lines 95 | if search('\%>80v.\+', 'nw') != 0 96 | setlocal colorcolumn=80 97 | else 98 | setlocal colorcolumn= 99 | endif 100 | endfunction 101 | 102 | augroup vimrc 103 | autocmd! 104 | " recheck trailing spaces and indent when saving files 105 | autocmd BufWritePost * unlet! b:trailing_space_warning 106 | autocmd BufWritePost * unlet! b:mixed_indent_warning 107 | " text files - enable wrapping 108 | autocmd FileType text setlocal wrap linebreak nolist 109 | " vim commentary 110 | autocmd FileType xdefaults setlocal commentstring=!\ %s 111 | autocmd FileType cpp setlocal commentstring=//\ %s 112 | " display a colorcolumn if there are long lines 113 | autocmd BufEnter,BufWritePost *.{c,cpp,lua,py,sh} call HlLongLines() 114 | augroup END 115 | 116 | augroup Python 117 | autocmd! 118 | " highlight self keyword 119 | autocmd FileType python syn keyword pythonBuiltin self 120 | " use yapf for formatting 121 | autocmd FileType python setlocal equalprg=yapf 122 | " abbreviation snippet 123 | autocmd FileType python iabbrev ifm if __name__ == "__main__": 124 | augroup END 125 | 126 | " keymappings 127 | " remove keymaps 128 | imap 129 | " friendly keymaps 130 | let mapleader="\" 131 | inoremap jk 132 | inoremap kj 133 | " navigate wrapped lines 134 | nnoremap j gj 135 | nnoremap k gk 136 | " split navigation 137 | nnoremap 138 | nnoremap 139 | nnoremap 140 | nnoremap 141 | " Quickfix 142 | nnoremap [q :cprevious 143 | nnoremap ]q :cnext 144 | " Location List 145 | nnoremap [l :lprevious 146 | nnoremap ]l :lnext 147 | " buffer navigation 148 | nnoremap [b :bprevious 149 | nnoremap ]b :bnext 150 | " goto buffer /r/vim 151 | nnoremap gb :ls:buffer 152 | " Delete current buffer 153 | nnoremap :bd 154 | " save with C-s 155 | inoremap :update 156 | nnoremap :update 157 | " Y consistent with D and C 158 | nnoremap Y y$ 159 | " goto end of line 160 | nnoremap - $ 161 | " search and center 162 | nnoremap n nzz 163 | nnoremap N Nzz 164 | " show total matches 165 | nnoremap * *:%s///gn`` 166 | nnoremap m :%s///gn 167 | " Clear search highlight 168 | nnoremap :noh 169 | " Substitution shortcut 170 | nnoremap s :%s 171 | vnoremap s :s 172 | " Strip trailing space 173 | nnoremap :call TrimWhiteSpace() 174 | " Toggle numbering 175 | nnoremap :set relativenumber! 176 | " Autoclose braces 177 | inoremap { {}O 178 | " Tab completion 179 | inoremap pumvisible() ? "\" : "\" 180 | " Insert timestamp 181 | iabbrev _date =strftime("%A, %d %B %Y %H:%M %Z") 182 | 183 | " package specific options 184 | " ALE 185 | let g:ale_sign_column_always = 1 186 | let g:ale_open_list='on_save' 187 | 188 | " colorscheme 189 | if (&t_Co == 256) 190 | set termguicolors 191 | " cursor shape. insert - ibeam, normal - block, replace - underline 192 | let &t_SI = "\[6 q" 193 | let &t_EI = "\[2 q" 194 | let &t_SR = "\[4 q" 195 | endif 196 | set background=dark 197 | colorscheme gruvbox 198 | -------------------------------------------------------------------------------- /config/mpv/input.conf: -------------------------------------------------------------------------------- 1 | # mpv keybindings 2 | # 3 | # Location of user-defined bindings: ~/.config/mpv/input.conf 4 | # 5 | # Lines starting with # are comments. Use SHARP to assign the # key. 6 | # Copy this file and uncomment and edit the bindings you want to change. 7 | # 8 | # List of commands and further details: DOCS/man/input.rst 9 | # List of special keys: --input-keylist 10 | # Keybindings testing mode: mpv --input-test --force-window --idle 11 | # 12 | # Use 'ignore' to unbind a key fully (e.g. 'ctrl+a ignore'). 13 | # 14 | # Strings need to be quoted and escaped: 15 | # KEY show-text "This is a single backslash: \\ and a quote: \" !" 16 | # 17 | # You can use modifier-key combinations like Shift+Left or Ctrl+Alt+x with 18 | # the modifiers Shift, Ctrl, Alt and Meta (may not work on the terminal). 19 | # 20 | # The default keybindings are hardcoded into the mpv binary. 21 | # You can disable them completely with: --no-input-default-bindings 22 | 23 | # Developer note: 24 | # On compilation, this file is baked into the mpv binary, and all lines are 25 | # uncommented (unless '#' is followed by a space) - thus this file defines the 26 | # default key bindings. 27 | 28 | # If this is enabled, treat all the following bindings as default. 29 | #default-bindings start 30 | 31 | #MOUSE_BTN0 ignore # don't do anything 32 | #MOUSE_BTN0_DBL cycle fullscreen # toggle fullscreen on/off 33 | #MOUSE_BTN2 cycle pause # toggle pause on/off 34 | #MOUSE_BTN3 seek 10 35 | #MOUSE_BTN4 seek -10 36 | #MOUSE_BTN5 add volume -2 37 | #MOUSE_BTN6 add volume 2 38 | 39 | # Mouse wheels, touchpad or other input devices that have axes 40 | # if the input devices supports precise scrolling it will also scale the 41 | # numeric value accordingly 42 | #AXIS_UP seek 10 43 | #AXIS_DOWN seek -10 44 | #AXIS_LEFT seek 5 45 | #AXIS_RIGHT seek -5 46 | 47 | ## Seek units are in seconds, but note that these are limited by keyframes 48 | # RIGHT ignore 49 | # LEFT ignore 50 | # UP ignore 51 | # DOWN ignore 52 | # Do smaller, always exact (non-keyframe-limited), seeks with shift. 53 | # Don't show them on the OSD (no-osd). 54 | LEFT no-osd seek -5 exact 55 | RIGHT no-osd seek 5 exact 56 | Shift+LEFT seek -60 57 | Shift+RIGHT seek 60 58 | Ctrl+LEFT seek -300 59 | Ctrl+RIGHT seek 300 60 | 61 | UP add volume 5 62 | DOWN add volume -5 63 | #PGUP add chapter 1 # skip to next chapter 64 | #PGDWN add chapter -1 # skip to previous chapter 65 | #Shift+PGUP seek 600 66 | #Shift+PGDWN seek -600 67 | #[ multiply speed 0.9091 # scale playback speed 68 | #] multiply speed 1.1 69 | #{ multiply speed 0.5 70 | #} multiply speed 2.0 71 | #BS set speed 1.0 # reset speed to normal 72 | #q quit 73 | #Q quit-watch-later 74 | #q {encode} quit 4 75 | #ESC set fullscreen no 76 | #ESC {encode} quit 4 77 | #p cycle pause # toggle pause/playback mode 78 | #. frame-step # advance one frame and pause 79 | #, frame-back-step # go back by one frame and pause 80 | #SPACE cycle pause 81 | #> playlist-next # skip to next file 82 | #ENTER playlist-next # skip to next file 83 | #< playlist-prev # skip to previous file 84 | #O no-osd cycle_values osd-level 3 1 # cycle through OSD mode 85 | #o show-progress 86 | #P show-progress 87 | #I show-text "${filename}" # display filename in osd 88 | g add sub-delay -0.1 # subtract 100 ms delay from subs 89 | h add sub-delay +0.1 # add 90 | k add audio-delay 0.1 # this changes audio/video sync 91 | j add audio-delay -0.1 92 | #9 add volume -2 93 | #/ add volume -2 94 | #0 add volume 2 95 | #* add volume 2 96 | m cycle mute 97 | #1 add contrast -1 98 | #2 add contrast 1 99 | #3 add brightness -1 100 | #4 add brightness 1 101 | #5 add gamma -1 102 | #6 add gamma 1 103 | #7 add saturation -1 104 | #8 add saturation 1 105 | #Alt+0 set window-scale 0.5 106 | #Alt+1 set window-scale 1.0 107 | #Alt+2 set window-scale 2.0 108 | # toggle deinterlacer (automatically inserts or removes required filter) 109 | #d cycle deinterlace 110 | #r add sub-pos -1 # move subtitles up 111 | #t add sub-pos +1 # down 112 | # v cycle sub-visibility 113 | # stretch SSA/ASS subtitles with anamorphic videos to match historical 114 | #V cycle ass-vsfilter-aspect-compat 115 | # switch between applying no style overrides to SSA/ASS subtitles, and 116 | # overriding them almost completely with the normal subtitle style 117 | #u cycle-values ass-style-override "force" "no" 118 | v cycle sub # cycle through subtitles 119 | #J cycle sub down # ...backwards 120 | #SHARP cycle audio # switch audio streams 121 | #_ cycle video 122 | #T cycle ontop # toggle video window ontop of other windows 123 | f cycle fullscreen # toggle fullscreen 124 | #s screenshot # take a screenshot 125 | #S screenshot video # ...without subtitles 126 | #Ctrl+s screenshot window # ...with subtitles and OSD, and scaled 127 | #Alt+s screenshot each-frame # automatically screenshot every frame 128 | #w add panscan -0.1 # zoom out with -panscan 0 -fs 129 | #e add panscan +0.1 # in 130 | # cycle video aspect ratios; "-1" is the container aspect 131 | a cycle-values video-aspect "16:9" "4:3" "2.35:1" "-1" 132 | #POWER quit 133 | #PLAY cycle pause 134 | #PAUSE cycle pause 135 | #PLAYPAUSE cycle pause 136 | #STOP quit 137 | #FORWARD seek 60 138 | #REWIND seek -60 139 | #NEXT playlist-next 140 | #PREV playlist-prev 141 | #VOLUME_UP add volume 2 142 | #VOLUME_DOWN add volume -2 143 | #MUTE cycle mute 144 | #CLOSE_WIN quit 145 | #CLOSE_WIN {encode} quit 4 146 | #E cycle edition # next edition 147 | #l ab_loop # Set/clear A-B loop points 148 | #L cycle-values loop "inf" "no" # toggle infinite looping 149 | #ctrl+c quit 4 150 | 151 | 152 | 153 | # 154 | # Not assigned by default 155 | # (not an exhaustive list of unbound commands) 156 | # 157 | 158 | Ctrl++ add sub-scale +0.1 # increase subtitle font size 159 | Ctrl+- add sub-scale -0.1 # decrease subtitle font size 160 | # ? sub-step -1 # immediately display next subtitle 161 | # ? sub-step +1 # previous 162 | # ? cycle angle # switch DVD/Bluray angle 163 | # ? add balance -0.1 # adjust audio balance in favor of left 164 | # ? add balance 0.1 # right 165 | # ? cycle sub-forced-only # toggle DVD forced subs 166 | # ? cycle program # cycle transport stream programs 167 | # ? stop # stop playback (quit or enter idle mode) 168 | -------------------------------------------------------------------------------- /panelinfo/deprecated/sysinfo.c: -------------------------------------------------------------------------------- 1 | /* 2 | * sysinfos.c 3 | * generate sys infos for my lemonbar config 4 | * 5 | * easysid - Friday, 17 June 2016 18:01 IST 6 | * 7 | * broadly copied from https://github.com/TrilbyWhite/dwmStatus 8 | * and other sources on the internet. 9 | */ 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | #include "config.h" 19 | 20 | 21 | #define CPU_FILE "/proc/stat" 22 | #define RAM_FILE "/proc/meminfo" 23 | #define AC_ADP_FILE "/sys/class/power_supply/ADP1/online" 24 | #define BAT_CAP_FILE "/sys/class/power_supply/BAT0/capacity" 25 | #define CPU_TEMP_FILE "/sys/class/hwmon/hwmon1/temp2_input" 26 | #define GPU_TEMP_FILE "/sys/class/hwmon/hwmon2/temp1_input" 27 | #define _SERVER "8.8.8.8" 28 | #define _PORT 53 29 | #define _TIMEOUT 500000 30 | 31 | void print_short_info(char *format) 32 | { 33 | // Requires only net, battery, and time 34 | // declare 35 | int a, c, sock; 36 | char str[30], tmp[100], status[256]; 37 | FILE *infile; 38 | time_t now; 39 | struct tm *lt; 40 | struct timeval timeout; 41 | struct sockaddr_in addr = {AF_INET, htons(_PORT), {inet_addr(_SERVER)}, {0}}; 42 | timeout.tv_sec = 0; 43 | timeout.tv_usec = _TIMEOUT; 44 | 45 | // infinite loop 46 | for (;;) { 47 | tmp[0] = status[0] = '\0'; 48 | 49 | // Network 50 | sock = socket(AF_INET, SOCK_STREAM, 0); 51 | setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, sizeof(timeout)); 52 | setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout, sizeof(timeout)); 53 | if (connect(sock, (struct sockaddr *) &addr, sizeof(addr)) != 0) 54 | sprintf(tmp, STR_NONET); 55 | close(sock); 56 | strcat(status, tmp); 57 | 58 | // Battery 59 | infile = fopen(AC_ADP_FILE, "r"); 60 | fscanf(infile, "%d\n", &a); 61 | fclose(infile); 62 | infile = fopen(BAT_CAP_FILE, "r"); 63 | fscanf(infile, "%d\n", &c); 64 | fclose(infile); 65 | if (a == 1) 66 | sprintf(tmp, STR_AC" "); 67 | else if (c < 30) 68 | sprintf(tmp, STR_BATC" "); 69 | else if (c < 70) 70 | sprintf(tmp, STR_BATH" "); 71 | else 72 | sprintf(tmp, STR_BATF" "); 73 | strcat(status, tmp); 74 | if (c < 70){ 75 | sprintf(tmp,"%d%% ", c); 76 | strcat(status, tmp); 77 | } 78 | 79 | // Time 80 | time(&now); 81 | lt = localtime(&now); 82 | strftime(str, sizeof(str),"%H:%M", lt); 83 | sprintf(tmp, STR_CLK, str); 84 | strcat(status, tmp); 85 | 86 | printf("%s%s\n", format, status); 87 | fflush(stdout); 88 | sleep(INTERVAL); 89 | } 90 | } 91 | 92 | void print_long_info(char *format) 93 | { 94 | // declare the variables outside the loop 95 | int sock; 96 | long a, b, c, d, e, f, g, idle, total, oldidle, oldtotal, total_d, idle_d; 97 | float used; 98 | char str[30], tmp[100], status[512]; 99 | FILE *infile; 100 | time_t now; 101 | struct tm *lt; 102 | struct timeval timeout; 103 | struct sockaddr_in addr = {AF_INET, htons(_PORT), {inet_addr(_SERVER)}, {0}}; 104 | timeout.tv_sec = 0; 105 | timeout.tv_usec = _TIMEOUT; 106 | // seed cpu usage values. Saves time in main loop 107 | infile = fopen(CPU_FILE, "r"); 108 | fscanf(infile, "cpu %ld %ld %ld %ld %ld %ld %ld", &a, &b, &c, &d, &e, &f, &g); 109 | fclose(infile); 110 | oldtotal = a+b+c+d+e+f+g; 111 | oldidle = d+e; 112 | 113 | // infinite loop 114 | for (;;) { 115 | tmp[0] = status[0] = '\0'; 116 | 117 | // CPU 118 | infile = fopen(CPU_FILE, "r"); 119 | fscanf(infile, "cpu %ld %ld %ld %ld %ld %ld %ld", &a, &b, &c, &d, &e, &f, &g); 120 | fclose(infile); 121 | total = a+b+c+d+e+f+g; 122 | idle = d+e; 123 | total_d = total - oldtotal; 124 | idle_d = idle - oldidle; 125 | oldtotal = total; 126 | oldidle = idle; 127 | used = 0.0; 128 | if (total_d > 0) 129 | used = 100*(total_d - idle_d)/total_d; 130 | sprintf(tmp, STR_CPU, used); 131 | strcat(status, tmp); 132 | 133 | // RAM 134 | infile = fopen(RAM_FILE, "r"); 135 | fscanf(infile, "MemTotal: %ld kB\nMemFree: %ld kB\nMemAvailable: %ld kB\ 136 | \nBuffers: %ld kB\nCached: %ld kB", &total, &f, &a, &b, &c); 137 | fclose(infile); 138 | used = (total - f - b - c)/1024; 139 | if (used >= 1000) 140 | sprintf(tmp, STR_RAM_G, used/1024); 141 | else 142 | sprintf(tmp, STR_RAM_M, used); 143 | strcat(status, tmp); 144 | strcat(status, STR_SEP); 145 | 146 | // Temperatures 147 | infile = fopen(CPU_TEMP_FILE, "r"); 148 | fscanf(infile, "%ld\n", &a); 149 | fclose(infile); 150 | infile = fopen(GPU_TEMP_FILE, "r"); 151 | fscanf(infile, "%ld\n", &b); 152 | fclose(infile); 153 | sprintf(tmp, STR_TEMP, a/1000, b/1000); 154 | strcat(status, tmp); 155 | strcat(status, STR_SEP); 156 | 157 | // Network 158 | sock = socket(AF_INET, SOCK_STREAM, 0); 159 | setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, sizeof(timeout)); 160 | setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout, sizeof(timeout)); 161 | if (connect(sock, (struct sockaddr *) &addr, sizeof(addr)) != 0) 162 | sprintf(tmp, STR_NONET); 163 | else 164 | sprintf(tmp, STR_NET); 165 | close(sock); 166 | strcat(status, tmp); 167 | strcat(status, STR_SEP); 168 | 169 | // Battery 170 | infile = fopen(AC_ADP_FILE, "r"); 171 | fscanf(infile, "%ld\n", &a); 172 | fclose(infile); 173 | infile = fopen(BAT_CAP_FILE, "r"); 174 | fscanf(infile, "%ld\n", &c); 175 | fclose(infile); 176 | if (a == 1) 177 | sprintf(tmp, STR_AC" %ld%% ", c); 178 | else if (c < 30) 179 | sprintf(tmp, STR_BATC" %ld%% ", c); 180 | else if (c < 70) 181 | sprintf(tmp, STR_BATH" %ld%% ", c); 182 | else 183 | sprintf(tmp, STR_BATF" %ld%% ", c); 184 | strcat(status, tmp); 185 | strcat(status, STR_SEP); 186 | 187 | // Time 188 | time(&now); 189 | lt = localtime(&now); 190 | strftime(str, sizeof(str), "%H:%M", lt); 191 | sprintf(tmp, STR_CLK, str); 192 | strcat(status, tmp); 193 | 194 | printf("%s%s\n", format, status); 195 | fflush(stdout); 196 | sleep(INTERVAL); 197 | } 198 | } 199 | 200 | int main(int argc, char *argv[]) 201 | { 202 | char *format = FORMAT; 203 | int short_info = 1; 204 | int opt; 205 | while ((opt = getopt(argc, argv, "hlf:")) != -1) { 206 | switch (opt) { 207 | case 'h': 208 | printf("-h Help | -l long info | -f format"); 209 | return 0; 210 | break; 211 | case 'l': 212 | short_info = 0; 213 | break; 214 | case 'f': 215 | format = optarg; 216 | break; 217 | } 218 | } 219 | if (short_info) 220 | print_short_info(format); 221 | else 222 | print_long_info(format); 223 | return 0; 224 | } 225 | 226 | -------------------------------------------------------------------------------- /userChrome.css: -------------------------------------------------------------------------------- 1 | @namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); 2 | 3 | /* These settings used to be in userchrome.css */ 4 | 5 | /* Define colors, and fonts */ 6 | 7 | :root { 8 | /* tabs */ 9 | --theme-bg: #1d1f21; 10 | --theme-fg: #a29491; 11 | --tabs-bg-selected: #373b41; 12 | --tabs-fg-selected: #c5c8c6; 13 | --tabs-bg-hover: #282a2e; 14 | --tabs-fg-hover: #ffffff; 15 | --tabs-font: fira mono; 16 | --tabs-font-size: 10px; 17 | 18 | /* urlbar */ 19 | --url-bg: var(--theme-bg); 20 | --url-fg: var(--theme-fg); 21 | --url-bg-hover: var(--tabs-bg-hover); 22 | --url-fg-hover: var(--tabs-fg-hover); 23 | --url-font: var(--tabs-font); 24 | --url-font-size: 11px; 25 | } 26 | 27 | 28 | /* hide various indicators, and buttons that we do not need */ 29 | #private-browsing-indicator, 30 | #alltabs-button, 31 | .tabs-newtab-button, 32 | .tab-icon-image, 33 | #urlbar-go-button, 34 | #urlbar-stop-button, 35 | #urlbar-reload-button, 36 | .urlbar-history-dropmarker 37 | { 38 | display: none !important; 39 | } 40 | 41 | /* remove the separator beside hamburger */ 42 | #PanelUI-button { 43 | background-image: none !important; 44 | } 45 | 46 | /* hide scrollbars */ 47 | #content browser { 48 | margin-right: -14px !important; 49 | overflow-y: scroll; 50 | overflow-x: hidden; 51 | } 52 | 53 | /*show tab close button on hover and focus only*/ 54 | .tabbrowser-tab:not([selected]):not(:hover) 55 | .tab-close-button { 56 | opacity:0; 57 | } 58 | 59 | 60 | /* Reduce Toolbar Height - Frank @mozillazine*/ 61 | toolbarbutton { 62 | padding-top: 0px !important; 63 | padding-bottom: 0px !important; 64 | } 65 | 66 | #nav-bar { 67 | height: 23px !important; 68 | padding-top: 0px !important; 69 | padding-bottom: 0px !important; 70 | } 71 | 72 | 73 | /**** URLbar ****/ 74 | 75 | #urlbar { 76 | border: none !important; 77 | background: none !important; 78 | color: var(--theme-fg) !important; 79 | font-family: var(--url-font) !important; 80 | font-size: var(--url-font-size) !important; 81 | height: 20px !important; 82 | } 83 | 84 | .urlbar-textbox-container:hover,.urlbar-textbox-container[focused] { 85 | background: var(--url-bg-hover) !important; 86 | color: var(--url-fg-hover) !important; 87 | border-color: transparent !important; 88 | } 89 | 90 | /**** Back and forward buttons ****/ 91 | 92 | /* always show forward button */ 93 | #urlbar-wrapper > #forward-button { 94 | margin:0 !important; 95 | } 96 | 97 | #urlbar-wrapper { 98 | clip-path: none !important; 99 | } 100 | 101 | /* Strip all decorations */ 102 | #main-window:not([customizing]) #back-button[disabled] > .toolbarbutton-icon, 103 | #back-button > .toolbarbutton-icon, 104 | #forward-button > .toolbarbutton-icon{ 105 | background: none !important; 106 | background-image: none !important; 107 | border: none !important; 108 | box-shadow: none !important; 109 | } 110 | 111 | /* some adjustments */ 112 | #back-button > .toolbarbutton-icon{ 113 | -moz-image-region: rect(0,54px,18px,36px) !important; 114 | border-radius: 0 !important; 115 | padding: 1px 2px !important; 116 | } 117 | 118 | #forward-button > .toolbarbutton-icon{ 119 | padding: 3px 2px !important; 120 | } 121 | 122 | /* add hover */ 123 | #back-button:not([disabled]):-moz-any(:hover, [open]) > .toolbarbutton-icon, 124 | #forward-button:not([disabled]):-moz-any(:hover, [open]) > .toolbarbutton-icon { 125 | background-image: linear-gradient(hsla(0,0%,100%,.7), hsla(0,0%,100%,.5)) !important; 126 | box-shadow: 0 1px hsla(0,0%,100%,.3) inset, 127 | 0 1px hsla(210,54%,20%,.03), 128 | 0 0 2px hsla(210,54%,20%,.1) !important; 129 | } 130 | 131 | 132 | /**** Square Tabs ****/ 133 | 134 | #TabsToolbar { 135 | background-color: var(--theme-bg) !important; 136 | margin-bottom: 0 !important; 137 | font-family: var(--tabs-font) !important; 138 | font-size: var(--tabs-font-size) !important; 139 | text-align: center !important; 140 | } 141 | 142 | #TabsToolbar .arrowscrollbox-scrollbox { 143 | padding: 0 !important; 144 | } 145 | 146 | #TabsToolbar .tabbrowser-tabs { 147 | max-height: 22px !important; 148 | min-height: 0px !important; 149 | margin-top: 0px !important; 150 | background-color: var(--theme-bg) !important; 151 | 152 | } 153 | 154 | #TabsToolbar .tabbrowser-tab { 155 | -moz-border-top-colors: none !important; 156 | -moz-border-left-colors: none !important; 157 | -moz-border-right-colors: none !important; 158 | -moz-border-bottom-colors: none !important; 159 | border-style: none !important; 160 | padding: 4px 0px !important; 161 | background-color: var(--theme-bg) !important; 162 | color: var(--theme-fg) !important; 163 | background-clip: padding-box !important; 164 | transition: all .1s !important; 165 | margin-left: 1px !important; 166 | } 167 | 168 | #TabsToolbar .tabbrowser-tab[first-tab][last-tab], 169 | #TabsToolbar .tabbrowser-tab[last-visible-tab] { 170 | border-right-width: 0px !important; 171 | } 172 | 173 | #TabsToolbar .tabbrowser-tab[afterselected] { 174 | border-left-color: transparent !important; 175 | } 176 | 177 | #TabsToolbar .tabbrowser-tab[selected] { 178 | color: var(--tabs-fg-selected) !important; 179 | background: var(--tabs-bg-selected) !important; 180 | } 181 | 182 | #TabsToolbar .tabbrowser-tab:hover:not([selected]) { 183 | background-color: var(--tabs-bg-hover) !important; 184 | color: var(--url-fg-hover) !important; 185 | } 186 | 187 | #TabsToolbar .tab-background { 188 | margin: 0 !important; 189 | background: transparent !important; 190 | } 191 | 192 | #TabsToolbar .tab-background-start, 193 | #TabsToolbar .tab-background-end, 194 | #TabsToolbar .tabbrowser-tab:after, 195 | #TabsToolbar .tabbrowser-tab:before { 196 | display: none !important; 197 | } 198 | 199 | #TabsToolbar .tab-background-middle { 200 | margin: -4px -2px !important; 201 | background: transparent !important; 202 | } 203 | 204 | #addon-bar, 205 | #PersonalToolbar, 206 | #nav-bar { 207 | background: none !important; 208 | background-color: var(--theme-bg) !important; 209 | box-shadow: none !important; 210 | background-clip: padding-box !important; 211 | border-radius: 0 !important 212 | } 213 | 214 | 215 | /**** Cleaning Up **** 216 | Some additional tweaking for a cleaner look */ 217 | 218 | /* Remove the pesky black lines */ 219 | #TabsToolbar:not([collapsed="true"]) + #nav-bar { 220 | border-top: none !important; 221 | } 222 | 223 | /* remove shadow from tab scroller - Thanks to Tew @ #firefox irc */ 224 | .tabbrowser-arrowscrollbox > .arrowscrollbox-overflow-start-indicator:not([collapsed]), 225 | .tabbrowser-arrowscrollbox > .arrowscrollbox-overflow-end-indicator:not([collapsed]) { 226 | background-image:none !important; 227 | } 228 | 229 | /* remove this white line (i.imgur.com/1jsi1GZ.png) - Thanks to Tew @ #firefox irc */ 230 | #navigator-toolbox::after{ 231 | height: 0px !important; 232 | border: none !important; 233 | } 234 | 235 | /* fix FF 51 separator in urlbar */ 236 | .urlbar-input-box, #urlbar-display-box { 237 | border-inline-start: none !important; 238 | } 239 | 240 | /* FF53 broke center align in tabs. Fix (from /r/firefox) */ 241 | .tab-label { 242 | -moz-box-flex: 1 !important; 243 | text-align: center !important; 244 | } 245 | 246 | /* prevent the ugly white 'flash' while opening tabs */ 247 | tabbrowser tabpanels { 248 | background-color: var(--theme-bg) !important; 249 | } 250 | 251 | -------------------------------------------------------------------------------- /panelinfo/bar_sysinfo.c: -------------------------------------------------------------------------------- 1 | /* 2 | * bar_sysinfo.c 3 | * generate sys infos for my lemonbar config 4 | * 5 | * easysid - Wednesday, 03 January 2018 17:49 IST 6 | * 7 | * show info only when it exceeds a threshold 8 | * - move network to a different file. I could use threads instead 9 | * - use an external control for debug 10 | * 11 | * broadly copied from https://github.com/TrilbyWhite/dwmsys_status 12 | * and other sources on the internet. 13 | */ 14 | 15 | 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | 22 | #define STR_SEP " " 23 | 24 | /* icons from siji font */ 25 | /* CPU and RAM */ 26 | // #define STR_CPU "%%{F#FFFAFAFA}\ue082%%{F-} %.0f%%" 27 | // #define STR_RAM_M "%%{F#FFFAFAFA}\ue028%%{F-} %.0fM" 28 | // #define STR_RAM_G "%%{F#FFFAFAFA}\ue028%%{F-} %.2fG" 29 | // /* temperatures */ 30 | // #define STR_TEMP "%%{F#FFFAFAFA}\ue0c9%%{F-} %ld°" 31 | // /* clock and calendar*/ 32 | // #define STR_CLK "C %%{F-}%s" 33 | // #define STR_CAL "%%{F#FFFAFAFA}\ue268%%{F-} %s " 34 | // /* ac and battery sys_status */ 35 | // #define STR_CHG "%%{F#FFFAFAFA}\ue09e%%{F-} %ld%%" 36 | // #define STR_BAT "%%{F#FFFAFAFA}\ue08e%%{F-} %ld%%" 37 | // #define STR_BATC "%%{F#FFe02b18}LOW BATTERY %ld%%%%{F-}" 38 | 39 | /* icons from material design */ 40 | /* CPU and RAM */ 41 | #define STR_CPU "%%{F#FFFAFAFA}\uf3e1%%{F-} %.0f%%" 42 | #define STR_RAM_M "%%{F#FFFAFAFA}\uf3e0%%{F-} %.0fM" 43 | #define STR_RAM_G "%%{F#FFFAFAFA}\uf3e0%%{F-} %.2fG" 44 | /* temperatures */ 45 | #define STR_TEMP "%%{F#FFFAFAFA}\uf161%%{F-} %ld°" 46 | /* clock and calendar*/ 47 | #define STR_CLK "%%{F-}%s" 48 | #define STR_CAL "%%{F#FFFAFAFA}\uf331%%{F-} %s" 49 | /* ac and battery status */ 50 | #define STR_CHG "%%{F#FFFAFAFA}\uf114%%{F-} %ld%%" 51 | #define STR_BAT "%%{F#FFFAFAFA}\uf116%%{F-} %ld%%" 52 | #define STR_BATC "%%{F#FFe02b18}LOW BATTERY %ld%%%%{F-}" 53 | 54 | /* input files */ 55 | #define CPU_FILE "/proc/stat" 56 | #define RAM_FILE "/proc/meminfo" 57 | #define AC_ADP_FILE "/sys/class/power_supply/AC0/online" 58 | #define BAT_CAP_FILE "/sys/class/power_supply/BAT0/capacity" 59 | #define CPU_TEMP_FILE "/sys/class/hwmon/hwmon3/temp1_input" 60 | #define INTERVAL 1 61 | 62 | /* Control values for thresholds */ 63 | #define LIM_CPU 40 64 | #define LIM_RAM 5900 65 | #define LIM_TMP 50 66 | #define LIM_BAT_LOW 30 67 | #define CYCLES_COUNT 10 68 | 69 | /* detail control */ 70 | #define DEBUGFILE "/tmp/bar_sysinfo_toggle" 71 | int DEBUG = 0; 72 | 73 | 74 | void print_long_info() 75 | { 76 | char format = 'S'; 77 | // display flags 78 | int show_cpu, show_ram, show_temp; 79 | int cpu_count, ram_count, temp_count; 80 | long a, b, c, d, e, f, g, idle, total, oldidle, oldtotal, total_d, idle_d; 81 | float used; 82 | char str[30], tmp[100], bat_cal[100], sys_status[256]; 83 | FILE *infile; 84 | time_t now; 85 | struct tm *lt; 86 | 87 | // seed cpu usage values. Saves time in main loop 88 | infile = fopen(CPU_FILE, "r"); 89 | fscanf(infile, "cpu %ld %ld %ld %ld %ld %ld %ld", &a, &b, &c, &d, &e, &f, &g); 90 | fclose(infile); 91 | oldtotal = a+b+c+d+e+f+g; 92 | oldidle = d+e; 93 | // initialize the flags 94 | show_cpu = show_ram = show_temp = 0; 95 | cpu_count = ram_count = temp_count = CYCLES_COUNT; 96 | // infinite loop 97 | for (;;) { 98 | tmp[0] = sys_status[0] = bat_cal[0] = '\0'; 99 | // Read DEBUG status 100 | infile = fopen(DEBUGFILE, "r"); 101 | fscanf(infile, "%d", &DEBUG); 102 | fclose(infile); 103 | 104 | // CPU 105 | infile = fopen(CPU_FILE, "r"); 106 | fscanf(infile, "cpu %ld %ld %ld %ld %ld %ld %ld", &a, &b, &c, &d, &e, &f, &g); 107 | fclose(infile); 108 | total = a+b+c+d+e+f+g; 109 | idle = d+e; 110 | total_d = total - oldtotal; 111 | idle_d = idle - oldidle; 112 | oldtotal = total; 113 | oldidle = idle; 114 | used = 0.0; 115 | if (total_d > 0) 116 | used = 100*(total_d - idle_d)/total_d; 117 | if (used > LIM_CPU) 118 | show_cpu = cpu_count = 1; 119 | else 120 | show_cpu = 0; 121 | if (show_cpu || cpu_count < CYCLES_COUNT || DEBUG) { 122 | sprintf(tmp, STR_CPU, used); 123 | strcat(sys_status, tmp); 124 | strcat(sys_status, STR_SEP); 125 | } 126 | 127 | // RAM 128 | infile = fopen(RAM_FILE, "r"); 129 | fscanf(infile, "MemTotal: %ld kB\nMemFree: %ld kB\nMemAvailable: %ld kB\ 130 | \nBuffers: %ld kB\nCached: %ld kB", &total, &f, &a, &b, &c); 131 | fclose(infile); 132 | used = (total - f - b - c)/1024; 133 | if (used > LIM_RAM) 134 | show_ram = ram_count = 1; 135 | else 136 | show_ram = 0; 137 | if (show_ram || ram_count < CYCLES_COUNT || DEBUG) { 138 | if (used >= 1000) 139 | sprintf(tmp, STR_RAM_G, used/1024); 140 | else 141 | sprintf(tmp, STR_RAM_M, used); 142 | strcat(sys_status, tmp); 143 | strcat(sys_status, STR_SEP); 144 | } 145 | 146 | // Temperatures 147 | infile = fopen(CPU_TEMP_FILE, "r"); 148 | fscanf(infile, "%ld\n", &a); 149 | fclose(infile); 150 | /* infile = fopen(GPU_TEMP_FILE, "r"); */ 151 | /* fscanf(infile, "%ld\n", &b); */ 152 | /* fclose(infile); */ 153 | a = a/1000; 154 | if (a > LIM_TMP) 155 | show_temp = temp_count = 1; 156 | else 157 | show_temp = 0; 158 | if (show_temp || temp_count < CYCLES_COUNT || DEBUG) { 159 | sprintf(tmp, STR_TEMP, a); 160 | strcat(sys_status, tmp); 161 | strcat(sys_status, STR_SEP); 162 | } 163 | 164 | // Battery 165 | infile = fopen(AC_ADP_FILE, "r"); 166 | fscanf(infile, "%ld\n", &a); 167 | fclose(infile); 168 | infile = fopen(BAT_CAP_FILE, "r"); 169 | fscanf(infile, "%ld\n", &c); 170 | fclose(infile); 171 | if (a) { 172 | sprintf(tmp, STR_CHG, c); 173 | } 174 | else { 175 | if (c < LIM_BAT_LOW) 176 | sprintf(tmp, STR_BATC, c); 177 | else 178 | sprintf(tmp, STR_BAT, c); 179 | } 180 | // show only if less than 90% 181 | if (a == 0 || c < 90 || DEBUG) { 182 | strcat(bat_cal, tmp); 183 | strcat(bat_cal, STR_SEP); 184 | } 185 | 186 | // calendar 187 | time(&now); 188 | lt = localtime(&now); 189 | /* strftime(str, sizeof(str), "%a, %d %b", lt); */ 190 | /* strftime(str, sizeof(str), "%a, %d %b", lt); */ 191 | /* sprintf(tmp, STR_CAL, str); */ 192 | /* strcat(bat_cal, tmp); */ 193 | 194 | // Clock 195 | strftime(str, sizeof(str), "%I:%M %p", lt); 196 | sprintf(tmp, STR_CLK, str); 197 | strcat(bat_cal, tmp); 198 | 199 | printf("%c %s\n", format, sys_status); 200 | /* printf("%s\n", tmp); */ 201 | printf("B %s\n", bat_cal); 202 | fflush(stdout); 203 | cpu_count++; 204 | ram_count++; 205 | temp_count++; 206 | sleep(INTERVAL); 207 | } 208 | } 209 | 210 | 211 | int main() 212 | { 213 | FILE *dfile; 214 | dfile = fopen(DEBUGFILE, "w"); 215 | fprintf(dfile, "%d", DEBUG); 216 | fclose(dfile); 217 | print_long_info(); 218 | return 0; 219 | } 220 | 221 | -------------------------------------------------------------------------------- /.dircolors: -------------------------------------------------------------------------------- 1 | # Designed for dircolors (GNU coreutils) 5.97 2 | # 3 | 4 | 5 | # Insatllation instructions: 6 | # This file goes in the /etc directory, and must be world readable. 7 | # You can copy this file to .dir_colors in your $HOME directory to override 8 | # the system defaults. 9 | 10 | # COLOR needs one of these arguments: 'tty' colorizes output to ttys, but not 11 | # pipes. 'all' adds color characters to all output. 'none' shuts colorization 12 | # off. 13 | COLOR tty 14 | 15 | # Below, there should be one TERM entry for each termtype that is colorizable 16 | TERM ansi 17 | TERM color_xterm 18 | TERM color-xterm 19 | TERM con132x25 20 | TERM con132x30 21 | TERM con132x43 22 | TERM con132x60 23 | TERM con80x25 24 | TERM con80x28 25 | TERM con80x30 26 | TERM con80x43 27 | TERM con80x50 28 | TERM con80x60 29 | TERM cons25 30 | TERM console 31 | TERM cygwin 32 | TERM dtterm 33 | TERM dvtm 34 | TERM dvtm-256color 35 | TERM Eterm 36 | TERM eterm-color 37 | TERM fbterm 38 | TERM gnome 39 | TERM gnome-256color 40 | TERM jfbterm 41 | TERM konsole 42 | TERM konsole-256color 43 | TERM kterm 44 | TERM linux 45 | TERM linux-c 46 | TERM mach-color 47 | TERM mlterm 48 | TERM nxterm 49 | TERM putty 50 | TERM putty-256color 51 | TERM rxvt 52 | TERM rxvt-256color 53 | TERM rxvt-cygwin 54 | TERM rxvt-cygwin-native 55 | TERM rxvt-unicode 56 | TERM rxvt-unicode256 57 | TERM rxvt-unicode-256color 58 | TERM screen 59 | TERM screen-16color 60 | TERM screen-16color-bce 61 | TERM screen-16color-s 62 | TERM screen-16color-bce-s 63 | TERM screen-256color 64 | TERM screen-256color-bce 65 | TERM screen-256color-s 66 | TERM screen-256color-bce-s 67 | TERM screen-bce 68 | TERM screen-w 69 | TERM screen.linux 70 | TERM screen.xterm-new 71 | TERM st 72 | TERM st-meta 73 | TERM st-256color 74 | TERM st-meta-256color 75 | TERM vt100 76 | TERM xterm 77 | TERM xterm-new 78 | TERM xterm-16color 79 | TERM xterm-256color 80 | TERM xterm-88color 81 | TERM xterm-color 82 | TERM xterm-debian 83 | TERM xterm-termite 84 | 85 | # EIGHTBIT, followed by '1' for on, '0' for off. (8-bit output) 86 | EIGHTBIT 1 87 | 88 | 89 | ### By file type 90 | 91 | # global default 92 | NORMAL 00 93 | # normal file 94 | FILE 00 95 | # directory 96 | DIR 01;32 97 | # symbolic link 98 | LINK 01;36 99 | 100 | # pipe, socket, block device, character device (blue bg) 101 | FIFO 04;40;31 # pipe 102 | SOCK 04;31;35 # socket 103 | DOOR 04;01;35 # door 104 | BLK 04;33;01 # block device driver 105 | CHR 04;30;44 # character device driver 106 | 107 | ############################################################################# 108 | ### By file attributes 109 | 110 | ORPHAN 41;01;37 # symlink to nonexistent file, or non-stat'able file 111 | SETUID 37;41 # file that is setuid (u+s) 112 | SETGID 30;43 # file that is setgid (g+s) 113 | CAPABILITY 30;41 # file with capability 114 | STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) 115 | OTHER_WRITABLE 34;40 # dir that is other-writable (o+w) and not sticky 116 | STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable 117 | 118 | # files with execute permission 119 | EXEC 01;31 # Unix 120 | .cmd 00;31 # Win 121 | .exe 00;31 # Win 122 | .com 00;31 # Win 123 | .bat 00;31 # Win 124 | .reg 00;31 # Win 125 | .app 00;31 # OSX 126 | 127 | ############################################################################# 128 | ### By extension 129 | 130 | ### Text formats 131 | 132 | # Text that we can edit with a regular editor 133 | .txt 0;00 134 | .org 0;00 135 | .md 0;00 136 | .mkd 0;00 137 | 138 | # Source text 139 | .h 0;00 140 | .c 0;00 141 | .C 0;00 142 | .cc 0;00 143 | .cpp 0;00 144 | .cxx 0;00 145 | .objc 0;00 146 | .sh 0;00 147 | .csh 0;00 148 | .zsh 0;00 149 | .el 0;00 150 | .vim 0;00 151 | .java 0;00 152 | .pl 0;00 153 | .pm 0;00 154 | .py 0;00 155 | .rb 0;00 156 | .hs 0;00 157 | .php 0;00 158 | .htm 0;00 159 | .html 0;00 160 | .shtml 0;00 161 | .erb 0;00 162 | .haml 0;00 163 | .xml 0;00 164 | .rdf 0;00 165 | .css 0;00 166 | .sass 0;00 167 | .scss 0;00 168 | .less 0;00 169 | .js 0;00 170 | .coffee 0;00 171 | .man 0;00 172 | .0 0;00 173 | .1 0;00 174 | .2 0;00 175 | .3 0;00 176 | .4 0;00 177 | .5 0;00 178 | .6 0;00 179 | .7 0;00 180 | .8 0;00 181 | .9 0;00 182 | .l 0;00 183 | .n 0;00 184 | .p 0;00 185 | .pod 0;00 186 | .tex 0;00 187 | .go 0;00 188 | 189 | 190 | ### Multimedia formats 191 | 192 | # Image 193 | .bmp 0;32 194 | .cgm 0;32 195 | .dl 0;32 196 | .dvi 0;32 197 | .emf 0;32 198 | .eps 0;32 199 | .gif 0;32 200 | .jpeg 0;32 201 | .jpg 0;32 202 | .JPG 0;32 203 | .mng 0;32 204 | .pbm 0;32 205 | .pcx 0;32 206 | .pdf 0;32 207 | .pgm 0;32 208 | .png 0;32 209 | .PNG 0;32 210 | .ppm 0;32 211 | .pps 0;32 212 | .ppsx 0;32 213 | .ps 0;32 214 | .svg 0;32 215 | .svgz 0;32 216 | .tga 0;32 217 | .tif 0;32 218 | .tiff 0;32 219 | .xbm 0;32 220 | .xcf 0;32 221 | .xpm 0;32 222 | .xwd 0;32 223 | .xwd 0;32 224 | .yuv 0;32 225 | 226 | # Audio 227 | .aac 0;33 228 | .au 0;33 229 | .flac 0;33 230 | .mid 0;33 231 | .midi 0;33 232 | .mka 0;33 233 | .mp3 0;33 234 | .mpa 0;33 235 | .mpeg 0;33 236 | .mpg 0;33 237 | .ogg 0;33 238 | .ra 0;33 239 | .wav 0;33 240 | 241 | # Video 242 | .anx 0;33 243 | .asf 0;33 244 | .avi 0;33 245 | .axv 0;33 246 | .flc 0;33 247 | .fli 0;33 248 | .flv 0;33 249 | .gl 0;33 250 | .m2v 0;33 251 | .m4v 0;33 252 | .mkv 0;33 253 | .mov 0;33 254 | .MOV 0;33 255 | .mp4 0;33 256 | .mp4v 0;33 257 | .mpeg 0;33 258 | .mpg 0;33 259 | .nuv 0;33 260 | .ogm 0;33 261 | .ogv 0;33 262 | .ogx 0;33 263 | .qt 0;33 264 | .rm 0;33 265 | .rmvb 0;33 266 | .swf 0;33 267 | .vob 0;33 268 | .webm 0;33 269 | .wmv 0;33 270 | ### Misc 271 | 272 | # Binary document formats and multimedia source 273 | .doc 0;35 274 | .docx 0;35 275 | .rtf 0;35 276 | .dot 0;35 277 | .dotx 0;35 278 | .xls 0;35 279 | .xlsx 0;35 280 | .ppt 0;35 281 | .pptx 0;35 282 | .fla 0;35 283 | .psd 0;35 284 | 285 | # Archives, compressed 286 | .7z 0;35 287 | .apk 0;35 288 | .arj 0;35 289 | .bin 0;35 290 | .bz 0;35 291 | .bz2 0;35 292 | .cab 0;35 293 | .deb 0;35 294 | .dmg 0;35 295 | .gem 0;35 296 | .gz 0;35 297 | .iso 0;35 298 | .jar 0;35 299 | .msi 0;35 300 | .rar 0;35 301 | .rpm 0;35 302 | .tar 0;35 303 | .tbz 0;35 304 | .tbz2 0;35 305 | .tgz 0;35 306 | .tx 0;35 307 | .war 0;35 308 | .xpi 0;35 309 | .xz 0;35 310 | .z 0;35 311 | .Z 0;35 312 | .zip 0;35 313 | 314 | # For testing 315 | .ANSI-30-black 30 316 | .ANSI-01;30-brblack 01;30 317 | .ANSI-31-red 31 318 | .ANSI-01;31-brred 01;31 319 | .ANSI-32-green 32 320 | .ANSI-01;32-brgreen 01;32 321 | .ANSI-33-yellow 33 322 | .ANSI-01;33-bryellow 01;33 323 | .ANSI-34-blue 34 324 | .ANSI-01;34-brblue 01;34 325 | .ANSI-35-magenta 35 326 | .ANSI-01;35-brmagenta 01;35 327 | .ANSI-36-cyan 36 328 | .ANSI-01;36-brcyan 01;36 329 | .ANSI-37-white 37 330 | .ANSI-01;37-brwhite 01;37 331 | 332 | ############################################################################# 333 | # Your customizations 334 | 335 | # Unimportant text files 336 | # For universal scheme, use brightgreen 01;32 337 | # For optimal on light bg (but too prominent on dark bg), use white 01;34 338 | #.log 01;32 339 | #*~ 01;32 340 | #*# 01;32 341 | 342 | # Unimportant non-text files 343 | # For universal scheme, use brightcyan 37 344 | # For optimal on dark bg (but too prominent on light bg), change to 37 345 | .bak 37 346 | .BAK 37 347 | .old 37 348 | .OLD 37 349 | .org_archive 37 350 | .off 37 351 | .OFF 37 352 | .dist 37 353 | .DIST 37 354 | .orig 37 355 | .ORIG 37 356 | .swp 37 357 | .swo 37 358 | *,v 37 359 | #.bak 37 360 | #.BAK 37 361 | #.old 37 362 | #.OLD 37 363 | #.org_archive 37 364 | #.off 37 365 | #.OFF 37 366 | #.dist 37 367 | #.DIST 37 368 | #.orig 37 369 | #.ORIG 37 370 | #.swp 37 371 | #.swo 37 372 | #*,v 37 373 | 374 | --------------------------------------------------------------------------------