├── .Xresources
├── .cache
└── squash
│ ├── colors
│ ├── colors.css
│ └── x_colors
├── .compton.conf
├── .config
├── awesome
│ ├── README.md
│ ├── blue
│ │ ├── alias-config.lua
│ │ ├── autostart-config.lua
│ │ ├── desktop-config.lua
│ │ ├── edges-config.lua
│ │ ├── env-config.lua
│ │ ├── ercheck-config.lua
│ │ ├── keys-config.lua
│ │ ├── layout-config.lua
│ │ ├── menu-config.lua
│ │ ├── rules-config.lua
│ │ ├── signals-config.lua
│ │ └── titlebar-config.lua
│ ├── colorless
│ │ ├── env-config.lua
│ │ ├── ercheck-config.lua
│ │ ├── keys-config.lua
│ │ ├── layout-config.lua
│ │ ├── menu-config.lua
│ │ ├── rules-config.lua
│ │ ├── signals-config.lua
│ │ └── titlebar-config.lua
│ ├── green
│ │ ├── autostart-config.lua
│ │ ├── desktop-config.lua
│ │ ├── edges-config.lua
│ │ ├── env-config.lua
│ │ ├── ercheck-config.lua
│ │ ├── keys-config.lua
│ │ ├── layout-config.lua
│ │ ├── menu-config.lua
│ │ ├── rules-config.lua
│ │ ├── signals-config.lua
│ │ └── titlebar-config.lua
│ ├── orange
│ │ ├── alias-config.lua
│ │ ├── autostart-config.lua
│ │ ├── desktop-config.lua
│ │ ├── edges-config.lua
│ │ ├── env-config.lua
│ │ ├── ercheck-config.lua
│ │ ├── keys-config.lua
│ │ ├── layout-config.lua
│ │ ├── menu-config.lua
│ │ ├── rules-config.lua
│ │ ├── signals-config.lua
│ │ └── titlebar-config.lua
│ ├── rc-blue.lua
│ ├── rc-colorless.lua
│ ├── rc-green.lua
│ ├── rc-orange.lua
│ ├── rc-red.lua
│ ├── rc.lua
│ ├── red
│ │ ├── autostart-config.lua
│ │ ├── desktop-config.lua
│ │ ├── edges-config.lua
│ │ ├── env-config.lua
│ │ ├── ercheck-config.lua
│ │ ├── keys-config.lua
│ │ ├── layout-config.lua
│ │ ├── menu-config.lua
│ │ ├── rules-config.lua
│ │ ├── signals-config.lua
│ │ └── titlebar-config.lua
│ ├── redflat
│ │ ├── desktop
│ │ │ ├── common
│ │ │ │ ├── barpack.lua
│ │ │ │ ├── barvalue.lua
│ │ │ │ ├── chart.lua
│ │ │ │ ├── cornerpack.lua
│ │ │ │ ├── corners.lua
│ │ │ │ ├── dashbar.lua
│ │ │ │ ├── fullchart.lua
│ │ │ │ ├── init.lua
│ │ │ │ └── textbox.lua
│ │ │ ├── dashpack.lua
│ │ │ ├── init.lua
│ │ │ ├── multim.lua
│ │ │ ├── simpleline.lua
│ │ │ ├── speedgraph.lua
│ │ │ └── textset.lua
│ │ ├── float
│ │ │ ├── apprunner.lua
│ │ │ ├── appswitcher.lua
│ │ │ ├── brightness.lua
│ │ │ ├── clientmenu.lua
│ │ │ ├── decoration.lua
│ │ │ ├── hotkeys.lua
│ │ │ ├── init.lua
│ │ │ ├── keychain.lua
│ │ │ ├── notify.lua
│ │ │ ├── player.lua
│ │ │ ├── prompt.lua
│ │ │ ├── qlaunch.lua
│ │ │ ├── tooltip.lua
│ │ │ └── top.lua
│ │ ├── gauge
│ │ │ ├── audio
│ │ │ │ ├── blue.lua
│ │ │ │ ├── init.lua
│ │ │ │ └── red.lua
│ │ │ ├── graph
│ │ │ │ ├── bar.lua
│ │ │ │ ├── dash.lua
│ │ │ │ ├── dots.lua
│ │ │ │ ├── doublebar.lua
│ │ │ │ └── init.lua
│ │ │ ├── icon
│ │ │ │ ├── double.lua
│ │ │ │ ├── init.lua
│ │ │ │ └── single.lua
│ │ │ ├── init.lua
│ │ │ ├── monitor
│ │ │ │ ├── circle.lua
│ │ │ │ ├── dash.lua
│ │ │ │ ├── double.lua
│ │ │ │ ├── init.lua
│ │ │ │ └── plain.lua
│ │ │ ├── separator.lua
│ │ │ ├── svgbox.lua
│ │ │ ├── tag
│ │ │ │ ├── blue.lua
│ │ │ │ ├── green.lua
│ │ │ │ ├── init.lua
│ │ │ │ ├── orange.lua
│ │ │ │ └── red.lua
│ │ │ └── task
│ │ │ │ ├── green.lua
│ │ │ │ ├── init.lua
│ │ │ │ └── red.lua
│ │ ├── init.lua
│ │ ├── layout
│ │ │ ├── common.lua
│ │ │ ├── grid.lua
│ │ │ ├── init.lua
│ │ │ └── map.lua
│ │ ├── menu.lua
│ │ ├── service
│ │ │ ├── dfparser.lua
│ │ │ ├── init.lua
│ │ │ └── navigator.lua
│ │ ├── system.lua
│ │ ├── timestamp.lua
│ │ ├── titlebar.lua
│ │ ├── util
│ │ │ ├── base.lua
│ │ │ ├── cairo.lua
│ │ │ ├── client.lua
│ │ │ ├── desktop.lua
│ │ │ ├── init.lua
│ │ │ ├── key.lua
│ │ │ ├── placement.lua
│ │ │ ├── read.lua
│ │ │ ├── table.lua
│ │ │ └── text.lua
│ │ └── widget
│ │ │ ├── init.lua
│ │ │ ├── keyboard.lua
│ │ │ ├── layoutbox.lua
│ │ │ ├── mail.lua
│ │ │ ├── minitray.lua
│ │ │ ├── net.lua
│ │ │ ├── pulse.lua
│ │ │ ├── sysmon.lua
│ │ │ ├── taglist.lua
│ │ │ ├── tasklist.lua
│ │ │ ├── textclock.lua
│ │ │ └── upgrades.lua
│ ├── scripts
│ │ └── pop_mail_checker.py
│ └── themes
│ │ ├── blue
│ │ ├── common
│ │ ├── desktop
│ │ │ ├── bstar.svg
│ │ │ ├── down.svg
│ │ │ ├── skull.svg
│ │ │ ├── star.svg
│ │ │ └── up.svg
│ │ ├── layouts
│ │ ├── theme.lua
│ │ └── widget
│ │ │ ├── audio.svg
│ │ │ ├── battery.svg
│ │ │ ├── brightness.svg
│ │ │ ├── headphones.svg
│ │ │ ├── keyboard.svg
│ │ │ ├── mail.svg
│ │ │ ├── monitor.svg
│ │ │ ├── search.svg
│ │ │ ├── upgrades.svg
│ │ │ └── wireless.svg
│ │ ├── colorless
│ │ ├── common
│ │ │ ├── awesome.svg
│ │ │ ├── blank.svg
│ │ │ ├── check.svg
│ │ │ ├── player
│ │ │ │ ├── cover.svg
│ │ │ │ ├── next.svg
│ │ │ │ ├── pause.svg
│ │ │ │ ├── play.svg
│ │ │ │ └── previous.svg
│ │ │ ├── submenu.svg
│ │ │ ├── unknown.svg
│ │ │ ├── warning.svg
│ │ │ └── window_control
│ │ │ │ ├── below.svg
│ │ │ │ ├── close.svg
│ │ │ │ ├── floating.svg
│ │ │ │ ├── maximized.svg
│ │ │ │ ├── minimize.svg
│ │ │ │ ├── ontop.svg
│ │ │ │ └── pin.svg
│ │ ├── layouts
│ │ │ ├── cornerne.svg
│ │ │ ├── cornernw.svg
│ │ │ ├── cornerse.svg
│ │ │ ├── cornersw.svg
│ │ │ ├── fair.svg
│ │ │ ├── floating.svg
│ │ │ ├── fullscreen.svg
│ │ │ ├── grid.svg
│ │ │ ├── magnifier.svg
│ │ │ ├── map.svg
│ │ │ ├── max.svg
│ │ │ ├── spiral.svg
│ │ │ ├── tile.svg
│ │ │ ├── tilebottom.svg
│ │ │ ├── tileleft.svg
│ │ │ └── tiletop.svg
│ │ ├── theme.lua
│ │ ├── wallpaper
│ │ │ └── primary.png
│ │ └── widget
│ │ │ ├── down.svg
│ │ │ ├── headphones.svg
│ │ │ ├── search.svg
│ │ │ └── up.svg
│ │ ├── green
│ │ ├── common
│ │ ├── desktop
│ │ │ ├── down.svg
│ │ │ ├── fire.svg
│ │ │ └── up.svg
│ │ ├── layouts
│ │ ├── theme.lua
│ │ └── widget
│ │ │ ├── audio.svg
│ │ │ ├── brightness.svg
│ │ │ ├── down.svg
│ │ │ ├── keyboard.svg
│ │ │ ├── mail.svg
│ │ │ ├── mute.svg
│ │ │ ├── search.svg
│ │ │ ├── up.svg
│ │ │ └── upgrades.svg
│ │ ├── orange
│ │ ├── common
│ │ ├── layouts
│ │ ├── theme.lua
│ │ └── widget
│ │ │ ├── audio.svg
│ │ │ ├── brightness.svg
│ │ │ ├── down.svg
│ │ │ ├── headphones.svg
│ │ │ ├── keyboard.svg
│ │ │ ├── mail.svg
│ │ │ ├── search.svg
│ │ │ ├── up.svg
│ │ │ └── upgrades.svg
│ │ └── red
│ │ ├── common
│ │ ├── desktop
│ │ ├── down.svg
│ │ ├── ed1.svg
│ │ ├── ed2.svg
│ │ └── up.svg
│ │ ├── layouts
│ │ ├── theme.lua
│ │ └── widget
│ │ ├── audio.svg
│ │ ├── brightness.svg
│ │ ├── keyboard.svg
│ │ ├── mail.svg
│ │ ├── mute.svg
│ │ ├── search.svg
│ │ └── upgrades.svg
├── bspwm
│ └── bspwmrc
├── libinput-gestures.conf
├── nvim
│ ├── appearance.vim
│ ├── basic.vim
│ ├── init.vim
│ ├── mapping.vim
│ ├── plugins.vim
│ └── syn.vim
├── polybar
│ └── config
├── redshift
│ ├── hooks
│ │ └── brightness.sh
│ └── redshift.conf
└── sxhkd
│ └── sxhkdrc
├── .ncmpcpp
└── config
├── .vimrc
├── .xinitrc
├── .xrdb
├── colors
│ ├── atelierforest
│ ├── google-light
│ ├── gruvbox
│ ├── monodevek
│ ├── mostly-bright
│ └── nord
├── fonts
│ ├── M+1mn
│ ├── dina
│ ├── fixed
│ ├── gohu
│ ├── hack
│ ├── iosevka
│ ├── lime
│ ├── peep
│ ├── pragmata
│ ├── scientifica
│ ├── sfmono
│ ├── smoothansi
│ └── tewi
└── rofi
│ ├── atelierforest
│ └── nord
├── 2bwm
└── config.h
├── README.md
└── scripts
├── colors.sh
└── readydots.sh
/.Xresources:
--------------------------------------------------------------------------------
1 | ! -----------------------------------
2 | ! Includes for easier (Instant) rice!
3 | ! -----------------------------------
4 | !#include ".cache/squash/x_colors"
5 | !#include "/home/winston/.xrdb/colors/monodevek"
6 | #include "/home/t60r/.xrdb/fonts/anka"
7 | !#include "/home/winston/.xrdb/rofi/monodevek"
8 |
9 | Xft.autohint: 0
10 | Xft.lcdfilter: lcddefault
11 | Xft.hintstyle: hintslight
12 | Xft.hinting: 1
13 | XTerm.vt100.faceName: Iosevka Term SS07:size=11:antialias=true
14 | XTerm.vt100.font: -schumacher-clean-medium-r-normal-*-12-120-75-75-c-*-iso8859-*
15 | Xft.rgba: rgb
16 | Xft.dpi: 96
17 | XTerm.termName: xterm-256color
18 | XTerm.vt100.locale: true
19 | XTerm.vt100.selectToClipboard: true
20 | Xcursor*theme: Adwaita
21 | XTerm.scaleHeight: 1.01
22 |
23 | URxvt.scrollBar: false
24 | URxvt.internalBorder: 16
25 | !URxvt*depth: 32
26 | URxvt.perl-ext-common: default,matcher,resize-font
27 | URxvt.url-launcher: /usr/bin/xdg-open
28 | URxvt.matcher.button: 1
29 | URxvt.matcher.rend.0: Uline Bold fg5
30 | URxvt*borderless: false
31 | URxvt.letterSpace: 0
32 | *background: #282F37
33 | *foreground: #F1FCF9
34 | *cursorColor: #F1FCF9
35 | *color0: #20262C
36 | *color1: #DB86BA
37 | *color2: #74DD91
38 | *color3: #E49186
39 | *color4: #75DBE1
40 | *color5: #B4A1DB
41 | *color6: #9EE9EA
42 | *color7: #F1FCF9
43 | *color8: #465463
44 | *color9: #D04E9D
45 | *color10: #4BC66D
46 | *color11: #DB695B
47 | *color12: #3DBAC2
48 | *color13: #825ECE
49 | *color14: #62CDCD
50 | *color15: #E0E5E5
51 |
52 |
--------------------------------------------------------------------------------
/.cache/squash/colors:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # DEFINE COLORS
4 | BG="#20292d"
5 | FG="#c4c4b5"
6 |
7 | #BLK="#253034"
8 | BLK="#2c3539"
9 | RED="#a66959"
10 | GRN="#769070"
11 | YLW="#ac8d6e"
12 | BLU="#607a86"
13 | MAG="#8a757e"
14 | CYN="#60867f"
15 | WHT="#c4c4b5"
16 |
17 | #BBLK="#35444b"
18 | BBLK="#343d41"
19 | BRED="#a66959"
20 | BGRN="#769070"
21 | BYLW="#ac8d6e"
22 | BBLU="#607a86"
23 | BMAG="#8a757e"
24 | BCYN="#60867f"
25 | BWHT="#c4c4b5"
26 |
27 | # ROFI OPTIONS
28 | ACC="${YLW}"
29 |
30 | # BAR OPTIONS
31 | #BAR_SCRIPT="polybar -r burs"
32 | BAR_SCRIPT="polybar -r burs"
33 |
34 | # VIM COLORSCHEME
35 | VIM_SCHEME='bleh'
36 |
37 | # WALLPAPER OPTIONS
38 | #WALLPAPER_PATH="$HOME/Wallpapers/designr.png"
39 | #WALLPAPER_STYLE="tile"
40 | WALLPAPER_PATH="$HOME/Wallpapers/ashim-d-silva-628775-unsplash.jpg"
41 | WALLPAPER_STYLE="fill"
42 |
43 | # 2BWM OPTIONS
44 | TWOBWM_FOCUS="${CYN}"
45 | TWOBWM_UNFOCUS="${BBLK}"
46 | TWOBWM_FIXED="${RED}"
47 | TWOBWM_UNKILL="${CYN}"
48 | TWOBWM_FIXEDUNK="${MAG}"
49 | TWOBWM_OUTR="${BG}"
50 | TWOBWM_EMP="${BG}"
51 |
52 | # BSPWM OPTIONS
53 | BSPWM_NORMAL="${BBLK}"
54 | BSPWM_FOCUSED="${CYN}"
55 | BSPWM_URGENT="${RED}"
56 | BSPWM_PRESEL="${GRN}"
57 |
58 | OB_THEME="designr"
59 |
60 | SQUASH_FONT="xft:Iosevka Term:pixelsize=15"
61 |
--------------------------------------------------------------------------------
/.cache/squash/colors.css:
--------------------------------------------------------------------------------
1 | :root {
2 | --wallpaper: url();
3 | --background: #20292d;
4 | --foreground: #c4c4b5;
5 | --color0: #2c3539;
6 | --color1: #a66959;
7 | --color2: #769070;
8 | --color3: #ac8d6e;
9 | --color4: #607a86;
10 | --color5: #8a757e;
11 | --color6: #60867f;
12 | --color7: #c4c4b5;
13 | --color8: #343d41;
14 | --color9: #a66959;
15 | --color10: #769070;
16 | --color11: #ac8d6e;
17 | --color12: #607a86;
18 | --color13: #8a757e;
19 | --color14: #60867f;
20 | --color15: #c4c4b5;
21 | }
--------------------------------------------------------------------------------
/.cache/squash/x_colors:
--------------------------------------------------------------------------------
1 | *.foreground: #c4c4b5
2 | *.background: #20292d
3 | *.cursorColor: #c4c4b5
4 | *.color0: #2c3539
5 | *.color1: #a66959
6 | *.color2: #769070
7 | *.color3: #ac8d6e
8 | *.color4: #607a86
9 | *.color5: #8a757e
10 | *.color6: #60867f
11 | *.color7: #c4c4b5
12 | *.color8: #343d41
13 | *.color9: #a66959
14 | *.color10: #769070
15 | *.color11: #ac8d6e
16 | *.color12: #607a86
17 | *.color13: #8a757e
18 | *.color14: #60867f
19 | *.color15: #c4c4b5
20 | URxvt*font:xft:Iosevka Term:pixelsize=15
21 | URxvt*boldFont:xft:Iosevka Term:pixelsize=15
22 | rofi.color-enaled: true
23 | rofi.color-window: #2c3539, #2c3539, #2c3539
24 | rofi.color-normal: #2c3539, #c4c4b5, #2c3539, #343d41, #ac8d6e
25 | twobwm.focus_color: #60867f
26 | twobwm.unfocus_color: #60867f
27 | twobwm.fixed_color: #a66959
28 | twobwm.unkill_color: #60867f
29 | twobwm.outer_border_color: #20292d
30 | twobwm.fixed_unkill_color: #60867f
31 |
--------------------------------------------------------------------------------
/.compton.conf:
--------------------------------------------------------------------------------
1 | # Shadow
2 | respect-prop-shadow = true;
3 | shadow = true;
4 | no-dnd-shadow = true;
5 | no-dock-shadow = false;
6 | clear-shadow = true;
7 | shadow-radius = 7;
8 | shadow-offset-x = -7;
9 | shadow-offset-y = -7;
10 | # shadow-opacity = 0.7;
11 | # shadow-red = 0.0;
12 | # shadow-green = 0.0;
13 | # shadow-blue = 0.0;
14 | shadow-exclude = [
15 | "name = 'Notification'",
16 | "class_g = 'Conky'",
17 | "class_g ?= 'Notify-osd'",
18 | "class_g = 'Cairo-clock'",
19 | "_GTK_FRAME_EXTENTS@:c"
20 | ];
21 | # shadow-exclude = "n:e:Notification";
22 | # shadow-exclude-reg = "x10+0+0";
23 | # xinerama-shadow-crop = true;
24 |
25 | # Opacity
26 | #menu-opacity = 0.8;
27 | #inactive-opacity = 0.8;
28 | # active-opacity = 0.8;
29 | #frame-opacity = 0.7;
30 | inactive-opacity-override = false;
31 | alpha-step = 0.06;
32 | # inactive-dim = 0.2;
33 | # inactive-dim-fixed = true;
34 | # blur-background = true;
35 | # blur-background-frame = true;
36 | blur-kern = "3x3box";
37 | # blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
38 | # blur-background-fixed = true;
39 | blur-background-exclude = [
40 | "window_type = 'dock'",
41 | "window_type = 'desktop'",
42 | "_GTK_FRAME_EXTENTS@:c"
43 | ];
44 | # opacity-rule = [ "80:class_g = 'URxvt'" ];
45 |
46 | # Fading
47 | fading = true;
48 | # fade-delta = 30;
49 | fade-in-step = 0.03;
50 | fade-out-step = 0.03;
51 | # no-fading-openclose = true;
52 | # no-fading-destroyed-argb = true;
53 | fade-exclude = [ ];
54 |
55 | # Other
56 | backend = "glx";
57 | mark-wmwin-focused = true;
58 | mark-ovredir-focused = true;
59 | # use-ewmh-active-win = true;
60 | detect-rounded-corners = true;
61 | detect-client-opacity = true;
62 | refresh-rate = 0;
63 | vsync = "opengl-swc";
64 | dbe = false;
65 | paint-on-overlay = true;
66 | # sw-opti = true;
67 | # unredir-if-possible = true;
68 | # unredir-if-possible-delay = 5000;
69 | # unredir-if-possible-exclude = [ ];
70 | focus-exclude = [ "class_g = 'Cairo-clock'" ];
71 | detect-transient = true;
72 | detect-client-leader = true;
73 | invert-color-include = [ ];
74 | # resize-damage = 1;
75 |
76 | # GLX backend
77 | # glx-no-stencil = true;
78 | glx-copy-from-front = false;
79 | # glx-use-copysubbuffermesa = true;
80 | # glx-no-rebind-pixmap = true;
81 | glx-swap-method = "undefined";
82 | # glx-use-gpushader4 = true;
83 | # xrender-sync = true;
84 | # xrender-sync-fence = true;
85 |
86 | # Window type settings
87 | wintypes:
88 | {
89 | tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; };
90 | };
91 |
--------------------------------------------------------------------------------
/.config/awesome/blue/alias-config.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- Application aliases for tasklist widget --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | appnames = {}
6 |
7 | appnames["Exaile" ] = "EXAILE"
8 | appnames["Smplayer" ] = "SMPL"
9 | appnames["Firefox" ] = "FIFOX"
10 | appnames["Gnome-terminal" ] = "GTERM"
11 | appnames["Gnome-system-monitor"] = "SYSMN"
12 | appnames["Gthumb" ] = "THUMB"
13 | appnames["Gimp-2.8" ] = "GIMP"
14 | appnames["Goldendict" ] = "GDIC"
15 | appnames["Easytag" ] = "ETAG"
16 | appnames["Mcomix" ] = "COMIX"
17 | appnames["Claws-mail" ] = "CMAIL"
18 | appnames["Evolution" ] = "EVOM"
19 | appnames["URxvt" ] = "RXVT"
20 | appnames["VirtualBox" ] = "VBOX"
21 | appnames["Keepassx" ] = "KPASS"
22 | appnames["keepassxc" ] = "KPASS"
23 | appnames["Evince" ] = "EVINCE"
24 | appnames["jetbrains-pycharm-ce"] = "PYCRM"
25 | appnames["Qemu-system-x86_64" ] = "QEMU"
26 |
27 | return appnames
28 |
29 |
--------------------------------------------------------------------------------
/.config/awesome/blue/autostart-config.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- Autostart app list --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | -- Grab environment
6 | local awful = require("awful")
7 |
8 | -- Initialize tables and vars for module
9 | -----------------------------------------------------------------------------------------------------------------------
10 | local autostart = {}
11 |
12 | -- Application list function
13 | --------------------------------------------------------------------------------
14 | function autostart.run()
15 | -- utils
16 | awful.spawn.with_shell("compton")
17 | awful.spawn.with_shell("nm-applet")
18 | awful.spawn.with_shell("bash ~/scripts/pa-setup.sh")
19 | awful.spawn.with_shell("sleep 1 && bash ~/scripts/ff-sync.sh")
20 | awful.spawn.with_shell("bash ~/scripts/color-profile-setup.sh")
21 |
22 | -- gnome environment
23 | awful.spawn.with_shell("/lib/gsd-xsettings")
24 | awful.spawn.with_shell("/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1")
25 |
26 | -- keyboard layouts
27 | awful.spawn.with_shell("kbdd")
28 | awful.spawn.with_shell("sleep 1 && bash ~/scripts/kbdd-setup.sh")
29 |
30 | -- apps
31 | awful.spawn.with_shell("clipflap")
32 | awful.spawn.with_shell("sleep 1 && transmission-gtk -m")
33 | end
34 |
35 | -- Read and commads from file and spawn them
36 | --------------------------------------------------------------------------------
37 | function autostart.run_from_file(file_)
38 | local f = io.open(file_)
39 | for line in f:lines() do
40 | if line:sub(1, 1) ~= "#" then awful.spawn.with_shell(line) end
41 | end
42 | f:close()
43 | end
44 |
45 | -- End
46 | -----------------------------------------------------------------------------------------------------------------------
47 | return autostart
48 |
--------------------------------------------------------------------------------
/.config/awesome/blue/edges-config.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- Active screen edges config --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | -- Grab environment
6 | local awful = require("awful")
7 | local redflat = require("redflat")
8 |
9 | -- Initialize tables and vars for module
10 | -----------------------------------------------------------------------------------------------------------------------
11 | local edges = {}
12 |
13 | local switcher = redflat.float.appswitcher
14 | local currenttags = redflat.widget.tasklist.filter.currenttags
15 | local allscreen = redflat.widget.tasklist.filter.allscreen
16 |
17 | -- Active screen edges
18 | -----------------------------------------------------------------------------------------------------------------------
19 | function edges:init(args)
20 |
21 | local args = args or {}
22 | local ew = args.width or 1 -- edge width
23 | local workarea = args.workarea or screen[mouse.screen].workarea
24 |
25 | -- edge geometry
26 | local egeometry = {
27 | top = { width = workarea.width - 2 * ew, height = ew , x = ew, y = 0 },
28 | right = { width = ew, height = workarea.height - ew, x = workarea.width - ew, y = ew },
29 | left = { width = ew, height = workarea.height, x = 0, y = 0 }
30 | }
31 |
32 | -- Top
33 | --------------------------------------------------------------------------------
34 | local top = redflat.util.desktop.edge("horizontal")
35 | top.wibox:geometry(egeometry["top"])
36 |
37 | top.layout:buttons(awful.util.table.join(
38 | awful.button({}, 1,
39 | function()
40 | if client.focus then client.focus.maximized = not client.focus.maximized end
41 | end
42 | )
43 | ))
44 |
45 | -- Right
46 | --------------------------------------------------------------------------------
47 | local right = redflat.util.desktop.edge("vertical")
48 | right.wibox:geometry(egeometry["right"])
49 |
50 | right.layout:buttons(awful.util.table.join(
51 | awful.button({}, 5, function() awful.tag.viewnext(mouse.screen) end),
52 | awful.button({}, 4, function() awful.tag.viewprev(mouse.screen) end)
53 | ))
54 |
55 | -- Left
56 | --------------------------------------------------------------------------------
57 | local left = redflat.util.desktop.edge("vertical", { ew, workarea.height - ew })
58 | left.wibox:geometry(egeometry["left"])
59 |
60 | left.area[1]:buttons(awful.util.table.join(
61 | awful.button({}, 4, function() switcher:show({ filter = allscreen }) end),
62 | awful.button({}, 5, function() switcher:show({ filter = allscreen, reverse = true }) end)
63 | ))
64 |
65 | left.area[2]:buttons(awful.util.table.join(
66 | awful.button({}, 9, function() if client.focus then client.focus.minimized = true end end),
67 | awful.button({}, 4, function() switcher:show({ filter = currenttags }) end),
68 | awful.button({}, 5, function() switcher:show({ filter = currenttags, reverse = true }) end)
69 | ))
70 |
71 | left.wibox:connect_signal("mouse::leave", function() redflat.float.appswitcher:hide() end)
72 | end
73 |
74 | -- End
75 | -----------------------------------------------------------------------------------------------------------------------
76 | return edges
77 |
--------------------------------------------------------------------------------
/.config/awesome/blue/ercheck-config.lua:
--------------------------------------------------------------------------------
1 | ../colorless/ercheck-config.lua
--------------------------------------------------------------------------------
/.config/awesome/blue/layout-config.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- Layouts config --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | -- Grab environment
6 | local awful = require("awful")
7 | local redflat = require("redflat")
8 |
9 | -- Initialize tables and vars for module
10 | -----------------------------------------------------------------------------------------------------------------------
11 | local layouts = {}
12 |
13 |
14 | -- Build table
15 | -----------------------------------------------------------------------------------------------------------------------
16 | function layouts:init(args)
17 | local args = args or {}
18 |
19 | -- layouts list
20 | local layset = {
21 | awful.layout.suit.floating,
22 | redflat.layout.grid,
23 | awful.layout.suit.tile,
24 | awful.layout.suit.fair,
25 | redflat.layout.map,
26 | awful.layout.suit.max,
27 | awful.layout.suit.max.fullscreen,
28 | }
29 |
30 | awful.layout.layouts = layset
31 | end
32 |
33 | -- some advanced layout settings
34 | redflat.layout.map.notification = false
35 |
36 |
37 | -- connect alternatve moving handler to allow using custom handler per layout
38 | -- by now custom handler provided for 'redflat.layout.grid' only
39 | -- feel free to remove if you don't use this one
40 | client.disconnect_signal("request::geometry", awful.layout.move_handler)
41 | client.connect_signal("request::geometry", redflat.layout.common.mouse.move)
42 |
43 |
44 | -- connect additional signal for 'redflat.layout.map'
45 | -- this one removing client in smart way and correct tiling scheme
46 | -- feel free to remove if you want to restore plain queue behavior
47 | client.connect_signal("unmanage", redflat.layout.map.clean_client)
48 |
49 | client.connect_signal("property::minimized", function(c)
50 | if c.minimized and redflat.layout.map.check_client(c) then redflat.layout.map.clean_client(c) end
51 | end)
52 | client.connect_signal("property::floating", function(c)
53 | if c.floating and redflat.layout.map.check_client(c) then redflat.layout.map.clean_client(c) end
54 | end)
55 |
56 | client.connect_signal("untagged", function(c, t)
57 | if redflat.layout.map.data[t] then redflat.layout.map.clean_client(c) end
58 | end)
59 |
60 |
61 | -- user map layout preset
62 | -- preset can be defined for individual tags, but this should be done after tag initialization
63 |
64 | -- redflat.layout.map.base_construct = function(wa)
65 | -- local tree = { set = {}, active = 1, autoaim = true }
66 |
67 | -- tree.set[1] = redflat.layout.map.construct_itempack({}, wa, false)
68 | -- tree.set[2] = redflat.layout.map.base_set_new_pack({}, wa, true, tree.set[1])
69 | -- tree.set[3] = redflat.layout.map.base_set_new_pack({}, wa, true, tree.set[1])
70 | -- tree.set[4] = redflat.layout.map.base_set_new_pack({}, wa, true, tree.set[1])
71 |
72 | -- function tree:aim()
73 | -- for i = 2, 4 do if #self.set[i].items == 0 then return i end end
74 | -- local active = #self.set[4].items >= #self.set[2].items and 2 or 4
75 | -- return active
76 | -- end
77 |
78 | -- return tree
79 | -- end
80 |
81 |
82 | -- End
83 | -----------------------------------------------------------------------------------------------------------------------
84 | return layouts
85 |
--------------------------------------------------------------------------------
/.config/awesome/blue/rules-config.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- Rules config --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | -- Grab environment
6 | local awful =require("awful")
7 | local beautiful = require("beautiful")
8 | local redtitle = require("redflat.titlebar")
9 |
10 | -- Initialize tables and vars for module
11 | -----------------------------------------------------------------------------------------------------------------------
12 | local rules = {}
13 |
14 | rules.base_properties = {
15 | border_width = beautiful.border_width,
16 | border_color = beautiful.border_normal,
17 | focus = awful.client.focus.filter,
18 | raise = true,
19 | size_hints_honor = false,
20 | screen = awful.screen.preferred,
21 | }
22 |
23 | rules.floating_any = {
24 | class = {
25 | "Clipflap", "Run.py",
26 | },
27 | role = { "AlarmWindow", "pop-up", },
28 | type = { "dialog" }
29 | }
30 |
31 | rules.titlebar_exeptions = {
32 | class = { "Cavalcade", "Clipflap", "Steam", "Qemu-system-x86_64" }
33 | }
34 |
35 | rules.maximized = {
36 | class = { "Emacs24" }
37 | }
38 |
39 | -- Build rule table
40 | -----------------------------------------------------------------------------------------------------------------------
41 | function rules:init(args)
42 |
43 | local args = args or {}
44 | self.base_properties.keys = args.hotkeys.keys.client
45 | self.base_properties.buttons = args.hotkeys.mouse.client
46 |
47 |
48 | -- Build rules
49 | --------------------------------------------------------------------------------
50 | self.rules = {
51 | {
52 | rule = {},
53 | properties = args.base_properties or self.base_properties
54 | },
55 | {
56 | rule_any = args.floating_any or self.floating_any,
57 | properties = { floating = true }
58 | },
59 | {
60 | rule_any = self.maximized,
61 | callback = function(c)
62 | c.maximized = true
63 | redtitle.cut_all({ c })
64 | c.height = c.screen.workarea.height - 2 * c.border_width
65 | end
66 | },
67 | {
68 | rule_any = { type = { "normal", "dialog" }},
69 | except_any = self.titlebar_exeptions,
70 | properties = { titlebars_enabled = true }
71 | },
72 | {
73 | rule_any = { type = { "normal" }},
74 | properties = { placement = awful.placement.no_overlap + awful.placement.no_offscreen }
75 | }
76 | }
77 |
78 |
79 | -- Set rules
80 | --------------------------------------------------------------------------------
81 | awful.rules.rules = rules.rules
82 | end
83 |
84 | -- End
85 | -----------------------------------------------------------------------------------------------------------------------
86 | return rules
87 |
--------------------------------------------------------------------------------
/.config/awesome/blue/signals-config.lua:
--------------------------------------------------------------------------------
1 | ../colorless/signals-config.lua
--------------------------------------------------------------------------------
/.config/awesome/blue/titlebar-config.lua:
--------------------------------------------------------------------------------
1 | ../colorless/titlebar-config.lua
--------------------------------------------------------------------------------
/.config/awesome/colorless/ercheck-config.lua:
--------------------------------------------------------------------------------
1 | local naughty = require("naughty")
2 |
3 | if awesome.startup_errors then
4 | naughty.notify({
5 | preset = naughty.config.presets.critical,
6 | title = "Oops, there were errors during startup!",
7 | text = awesome.startup_error
8 | })
9 | end
10 |
11 | do
12 | local in_error = false
13 | awesome.connect_signal(
14 | "debug::error",
15 | function (err)
16 | if in_error then return end
17 | in_error = true
18 |
19 | naughty.notify({
20 | preset = naughty.config.presets.critical,
21 | title = "Oops, an error happened!",
22 | text = err
23 | })
24 | in_error = false
25 | end
26 | )
27 | end
28 |
--------------------------------------------------------------------------------
/.config/awesome/colorless/layout-config.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- Layouts config --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | -- Grab environment
6 | local awful = require("awful")
7 | local redflat = require("redflat")
8 | local beautiful = require("beautiful")
9 |
10 | -- Initialize tables and vars for module
11 | -----------------------------------------------------------------------------------------------------------------------
12 | local layouts = {}
13 |
14 |
15 | -- Build table
16 | -----------------------------------------------------------------------------------------------------------------------
17 | function layouts:init(args)
18 | local args = args or {}
19 |
20 | -- layouts list
21 | local layset = {
22 | awful.layout.suit.floating,
23 | awful.layout.suit.tile,
24 | awful.layout.suit.tile.left,
25 | awful.layout.suit.tile.bottom,
26 | awful.layout.suit.tile.top,
27 | awful.layout.suit.fair,
28 | awful.layout.suit.corner.nw,
29 | awful.layout.suit.corner.ne,
30 | awful.layout.suit.corner.sw,
31 | awful.layout.suit.corner.se,
32 | awful.layout.suit.spiral,
33 | awful.layout.suit.magnifier,
34 | redflat.layout.grid,
35 | redflat.layout.map,
36 | }
37 |
38 | awful.layout.layouts = layset
39 | end
40 |
41 | -- some advanced layout settings
42 | redflat.layout.map.notification = true
43 | redflat.layout.map.notification_style = { icon = redflat.util.table.check(beautiful, "widget.layoutbox.icon.usermap") }
44 |
45 |
46 | -- connect alternatve moving handler to allow using custom handler per layout
47 | -- by now custom handler provided for 'redflat.layout.grid' only
48 | -- feel free to remove if you don't use this one
49 | client.disconnect_signal("request::geometry", awful.layout.move_handler)
50 | client.connect_signal("request::geometry", redflat.layout.common.mouse.move)
51 |
52 |
53 | -- connect additional signal for 'redflat.layout.map'
54 | -- this one removing client in smart way and correct tiling scheme
55 | -- feel free to remove if you want to restore plain queue behavior
56 | client.connect_signal("unmanage", redflat.layout.map.clean_client)
57 |
58 | client.connect_signal("property::minimized", function(c)
59 | if c.minimized and redflat.layout.map.check_client(c) then redflat.layout.map.clean_client(c) end
60 | end)
61 | client.connect_signal("property::floating", function(c)
62 | if c.floating and redflat.layout.map.check_client(c) then redflat.layout.map.clean_client(c) end
63 | end)
64 |
65 | client.connect_signal("untagged", function(c, t)
66 | if redflat.layout.map.data[t] then redflat.layout.map.clean_client(c) end
67 | end)
68 |
69 | -- End
70 | -----------------------------------------------------------------------------------------------------------------------
71 | return layouts
72 |
--------------------------------------------------------------------------------
/.config/awesome/colorless/menu-config.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- Menu config --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | -- Grab environment
6 | local beautiful = require("beautiful")
7 | local redflat = require("redflat")
8 | local awful = require("awful")
9 | local naughty = require("naughty")
10 |
11 |
12 | -- Initialize tables and vars for module
13 | -----------------------------------------------------------------------------------------------------------------------
14 | local menu = {}
15 |
16 | -- Build function
17 | --------------------------------------------------------------------------------
18 | function menu:init(args)
19 |
20 | -- vars
21 | local args = args or {}
22 | local env = args.env or {} -- fix this?
23 | local separator = args.separator or { widget = redflat.gauge.separator.horizontal() }
24 | local theme = args.theme or { auto_hotkey = true }
25 | local icon_style = args.icon_style or {}
26 |
27 | -- Application submenu
28 | ------------------------------------------------------------
29 |
30 | -- WARNING!
31 | -- 'dfparser' module used to parse available desktop files for building application list and finding app icons,
32 | -- it may cause significant delay on wm start/restart due to the synchronous type of the scripts.
33 | -- This issue can be reduced by using additional settings like custom desktop files directory
34 | -- and user only icon theme. See colored configs for more details.
35 |
36 | -- At worst, you can give up all applications widgets (appmenu, applauncher, appswitcher, qlaunch) in your config
37 | local appmenu = redflat.service.dfparser.menu({ icons = icon_style, wm_name = "awesome" })
38 |
39 | -- Main menu
40 | ------------------------------------------------------------
41 | self.mainmenu = redflat.menu({ theme = theme,
42 | items = {
43 | { "Applications", appmenu, },
44 | { "Terminal", env.terminal, },
45 | separator,
46 | { "Test Item 0", function() naughty.notify({ text = "Test menu 0" }) end, },
47 | { "Test Item 1", function() naughty.notify({ text = "Test menu 1" }) end, key = "i" },
48 | { "Test Item 2", function() naughty.notify({ text = "Test menu 2" }) end, key = "m" },
49 | separator,
50 | { "Restart", awesome.restart, },
51 | { "Exit", awesome.quit, },
52 | }
53 | })
54 |
55 | -- Menu panel widget
56 | ------------------------------------------------------------
57 |
58 | -- theme vars
59 | local deficon = redflat.util.base.placeholder()
60 | local icon = redflat.util.table.check(beautiful, "icon.awesome") and beautiful.icon.awesome or deficon
61 | local color = redflat.util.table.check(beautiful, "color.icon") and beautiful.color.icon or nil
62 |
63 | -- widget
64 | self.widget = redflat.gauge.svgbox(icon, nil, color)
65 | self.buttons = awful.util.table.join(
66 | awful.button({ }, 1, function () self.mainmenu:toggle() end)
67 | )
68 | end
69 |
70 | -- End
71 | -----------------------------------------------------------------------------------------------------------------------
72 | return menu
73 |
--------------------------------------------------------------------------------
/.config/awesome/colorless/rules-config.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- Rules config --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | -- Grab environment
6 | local awful =require("awful")
7 | local beautiful = require("beautiful")
8 |
9 | -- Initialize tables and vars for module
10 | -----------------------------------------------------------------------------------------------------------------------
11 | local rules = {}
12 |
13 | rules.base_properties = {
14 | border_width = beautiful.border_width,
15 | border_color = beautiful.border_normal,
16 | focus = awful.client.focus.filter,
17 | raise = true,
18 | size_hints_honor = false,
19 | screen = awful.screen.preferred,
20 | placement = awful.placement.no_overlap + awful.placement.no_offscreen
21 | }
22 |
23 | rules.floating_any = {
24 | instance = { "DTA", "copyq", },
25 | class = {
26 | "Arandr", "Gpick", "Kruler", "MessageWin", "Sxiv", "Wpa_gui", "pinentry", "veromix",
27 | "xtightvncviewer"
28 | },
29 | name = { "Event Tester", },
30 | role = { "AlarmWindow", "pop-up", }
31 | }
32 |
33 |
34 | -- Build rule table
35 | -----------------------------------------------------------------------------------------------------------------------
36 | function rules:init(args)
37 |
38 | local args = args or {}
39 | self.base_properties.keys = args.hotkeys.keys.client
40 | self.base_properties.buttons = args.hotkeys.mouse.client
41 |
42 |
43 | -- Build rules
44 | --------------------------------------------------------------------------------
45 | self.rules = {
46 | {
47 | rule = {},
48 | properties = args.base_properties or self.base_properties
49 | },
50 | {
51 | rule_any = args.floating_any or self.floating_any,
52 | properties = { floating = true }
53 | },
54 | {
55 | rule_any = { type = { "normal", "dialog" }},
56 | properties = { titlebars_enabled = true }
57 | },
58 | }
59 |
60 |
61 | -- Set rules
62 | --------------------------------------------------------------------------------
63 | awful.rules.rules = rules.rules
64 | end
65 |
66 | -- End
67 | -----------------------------------------------------------------------------------------------------------------------
68 | return rules
69 |
--------------------------------------------------------------------------------
/.config/awesome/colorless/signals-config.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- Signals config --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | -- Grab environment
6 | local awful = require("awful")
7 | local beautiful = require("beautiful")
8 |
9 |
10 | -- Initialize tables and vars for module
11 | -----------------------------------------------------------------------------------------------------------------------
12 | local signals = {}
13 |
14 | -- Support functions
15 | -----------------------------------------------------------------------------------------------------------------------
16 | local function do_sloppy_focus(c)
17 | if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier and awful.client.focus.filter(c) then
18 | client.focus = c
19 | end
20 | end
21 |
22 | local function fixed_maximized_geometry(c, context)
23 | if c.maximized and context ~= "fullscreen" then
24 | c:geometry({
25 | x = c.screen.workarea.x,
26 | y = c.screen.workarea.y,
27 | height = c.screen.workarea.height - 2 * c.border_width,
28 | width = c.screen.workarea.width - 2 * c.border_width
29 | })
30 | end
31 | end
32 |
33 | -- Build table
34 | -----------------------------------------------------------------------------------------------------------------------
35 | function signals:init(args)
36 |
37 | local args = args or {}
38 | local env = args.env
39 |
40 | -- actions on every application start
41 | client.connect_signal(
42 | "manage",
43 | function(c)
44 | -- put client at the end of list
45 | if env.set_slave then awful.client.setslave(c) end
46 |
47 | -- startup placement
48 | if awesome.startup
49 | and not c.size_hints.user_position
50 | and not c.size_hints.program_position
51 | then
52 | awful.placement.no_offscreen(c)
53 | end
54 | end
55 | )
56 |
57 | -- add missing borders to windows that get unmaximized
58 | client.connect_signal(
59 | "property::maximized",
60 | function(c)
61 | if not c.maximized then
62 | c.border_width = beautiful.border_width
63 | end
64 | end
65 | )
66 |
67 | -- don't allow maximized windows move/resize themselves
68 | client.connect_signal(
69 | "request::geometry", fixed_maximized_geometry
70 | )
71 |
72 | -- enable sloppy focus, so that focus follows mouse
73 | if env.sloppy_focus then
74 | client.connect_signal("mouse::enter", do_sloppy_focus)
75 | end
76 |
77 | -- hilight border of focused window
78 | -- can be disabled since focus indicated by titlebars in current config
79 | if env.color_border_focus then
80 | client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
81 | client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
82 | end
83 |
84 | -- wallpaper update on screen geometry change
85 | screen.connect_signal("property::geometry", env.wallpaper)
86 |
87 | -- Awesome v4.0 introduce screen handling without restart.
88 | -- Since I'm using single monitor setup and I'm too lazy to rework my panel widgets for this new feature,
89 | -- simple adding signal to restart wm on new monitor pluging.
90 | -- For reference, screen-dependent widgets are
91 | -- redflat.widget.layoutbox, redflat.widget.taglist, redflat.widget.tasklist
92 | screen.connect_signal("list", awesome.restart)
93 | end
94 |
95 | -- End
96 | -----------------------------------------------------------------------------------------------------------------------
97 | return signals
98 |
--------------------------------------------------------------------------------
/.config/awesome/green/autostart-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/autostart-config.lua
--------------------------------------------------------------------------------
/.config/awesome/green/edges-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/edges-config.lua
--------------------------------------------------------------------------------
/.config/awesome/green/env-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/env-config.lua
--------------------------------------------------------------------------------
/.config/awesome/green/ercheck-config.lua:
--------------------------------------------------------------------------------
1 | ../colorless/ercheck-config.lua
--------------------------------------------------------------------------------
/.config/awesome/green/keys-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/keys-config.lua
--------------------------------------------------------------------------------
/.config/awesome/green/layout-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/layout-config.lua
--------------------------------------------------------------------------------
/.config/awesome/green/menu-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/menu-config.lua
--------------------------------------------------------------------------------
/.config/awesome/green/rules-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/rules-config.lua
--------------------------------------------------------------------------------
/.config/awesome/green/signals-config.lua:
--------------------------------------------------------------------------------
1 | ../colorless/signals-config.lua
--------------------------------------------------------------------------------
/.config/awesome/green/titlebar-config.lua:
--------------------------------------------------------------------------------
1 | ../colorless/titlebar-config.lua
--------------------------------------------------------------------------------
/.config/awesome/orange/alias-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/alias-config.lua
--------------------------------------------------------------------------------
/.config/awesome/orange/autostart-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/autostart-config.lua
--------------------------------------------------------------------------------
/.config/awesome/orange/edges-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/edges-config.lua
--------------------------------------------------------------------------------
/.config/awesome/orange/env-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/env-config.lua
--------------------------------------------------------------------------------
/.config/awesome/orange/ercheck-config.lua:
--------------------------------------------------------------------------------
1 | ../colorless/ercheck-config.lua
--------------------------------------------------------------------------------
/.config/awesome/orange/keys-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/keys-config.lua
--------------------------------------------------------------------------------
/.config/awesome/orange/layout-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/layout-config.lua
--------------------------------------------------------------------------------
/.config/awesome/orange/menu-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/menu-config.lua
--------------------------------------------------------------------------------
/.config/awesome/orange/rules-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/rules-config.lua
--------------------------------------------------------------------------------
/.config/awesome/orange/signals-config.lua:
--------------------------------------------------------------------------------
1 | ../colorless/signals-config.lua
--------------------------------------------------------------------------------
/.config/awesome/orange/titlebar-config.lua:
--------------------------------------------------------------------------------
1 | ../colorless/titlebar-config.lua
--------------------------------------------------------------------------------
/.config/awesome/rc.lua:
--------------------------------------------------------------------------------
1 | -- local rc = "rc-red"
2 | -- local rc = "rc-blue"
3 | -- local rc = "rc-orange"
4 | -- local rc = "rc-green"
5 | local rc = "rc-colorless"
6 | require(rc)
7 |
8 | -- green volume is nice
9 | -- green network is nice
10 | -- orange volume is also nice
11 | -- orange network is the same
12 |
--------------------------------------------------------------------------------
/.config/awesome/red/autostart-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/autostart-config.lua
--------------------------------------------------------------------------------
/.config/awesome/red/edges-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/edges-config.lua
--------------------------------------------------------------------------------
/.config/awesome/red/env-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/env-config.lua
--------------------------------------------------------------------------------
/.config/awesome/red/ercheck-config.lua:
--------------------------------------------------------------------------------
1 | ../colorless/ercheck-config.lua
--------------------------------------------------------------------------------
/.config/awesome/red/keys-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/keys-config.lua
--------------------------------------------------------------------------------
/.config/awesome/red/layout-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/layout-config.lua
--------------------------------------------------------------------------------
/.config/awesome/red/menu-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/menu-config.lua
--------------------------------------------------------------------------------
/.config/awesome/red/rules-config.lua:
--------------------------------------------------------------------------------
1 | ../blue/rules-config.lua
--------------------------------------------------------------------------------
/.config/awesome/red/signals-config.lua:
--------------------------------------------------------------------------------
1 | ../colorless/signals-config.lua
--------------------------------------------------------------------------------
/.config/awesome/red/titlebar-config.lua:
--------------------------------------------------------------------------------
1 | ../colorless/titlebar-config.lua
--------------------------------------------------------------------------------
/.config/awesome/redflat/desktop/common/barvalue.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat barvalue widget --
3 | -----------------------------------------------------------------------------------------------------------------------
4 | -- Complex indicator with progress bar and label on top of it
5 | -----------------------------------------------------------------------------------------------------------------------
6 |
7 | -- Grab environment
8 | -----------------------------------------------------------------------------------------------------------------------
9 | local setmetatable = setmetatable
10 | local math = math
11 | local string = string
12 | local wibox = require("wibox")
13 | local color = require("gears.color")
14 | --local beautiful = require("beautiful")
15 |
16 | local redutil = require("redflat.util")
17 | local dcommon = require("redflat.desktop.common")
18 |
19 | -- Initialize tables for module
20 | -----------------------------------------------------------------------------------------------------------------------
21 | local barvalue = { mt = {} }
22 |
23 | -- Create a new barvalue widget
24 | -- @param dashbar_style Style variables for redflat dashbar
25 | -- @param label_style Style variables for redflat textbox
26 | -----------------------------------------------------------------------------------------------------------------------
27 | function barvalue.new(dashbar_style, label_style)
28 |
29 | local widg = {}
30 |
31 | -- construct layout with indicators
32 | local progressbar = dcommon.dashbar(dashbar_style)
33 | local label = dcommon.textbox(nil, label_style)
34 |
35 | widg.layout = wibox.widget({
36 | label, nil, progressbar,
37 | layout = wibox.layout.align.vertical,
38 | })
39 |
40 | -- setup functions
41 | function widg:set_text(text)
42 | label:set_text(text)
43 | end
44 |
45 | function widg:set_value(x)
46 | progressbar:set_value(x)
47 | end
48 |
49 | return widg
50 | end
51 |
52 | -- Config metatable to call barvalue module as function
53 | -----------------------------------------------------------------------------------------------------------------------
54 | function barvalue.mt:__call(...)
55 | return barvalue.new(...)
56 | end
57 |
58 | return setmetatable(barvalue, barvalue.mt)
59 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/desktop/common/cornerpack.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat cornerpack widget --
3 | -----------------------------------------------------------------------------------------------------------------------
4 | -- Group of corner indicators placed in horizontal layout
5 | -----------------------------------------------------------------------------------------------------------------------
6 |
7 | -- Grab environment
8 | -----------------------------------------------------------------------------------------------------------------------
9 | local setmetatable = setmetatable
10 | local math = math
11 | local string = string
12 |
13 | local wibox = require("wibox")
14 | local color = require("gears.color")
15 | --local beautiful = require("beautiful")
16 |
17 | local corners = require("redflat.desktop.common.corners")
18 |
19 | -- Initialize tables for module
20 | -----------------------------------------------------------------------------------------------------------------------
21 | local cornerpack = { mt = {} }
22 |
23 | -- Create a new cornerpack widget
24 | -- @param num Number of indicators
25 | -- @param style Style variables for redflat corners widget
26 | -----------------------------------------------------------------------------------------------------------------------
27 | function cornerpack.new(num, style)
28 |
29 | local pack = {}
30 | local style = style or {}
31 |
32 | -- construct group of corner indicators
33 | pack.layout = wibox.layout.align.horizontal()
34 | local flex_horizontal = wibox.layout.flex.horizontal()
35 | local crn = {}
36 |
37 | for i = 1, num do
38 | crn[i] = corners(style)
39 | if i == 1 then
40 | pack.layout:set_left(crn[i])
41 | else
42 | local corner_space = wibox.layout.align.horizontal()
43 | corner_space:set_right(crn[i])
44 | flex_horizontal:add(corner_space)
45 | end
46 | end
47 | pack.layout:set_middle(flex_horizontal)
48 |
49 | -- setup functions
50 | function pack:set_values(values, n)
51 | if n then
52 | if crn[n] then crn[n]:set_value(values) end
53 | else
54 | for i, v in ipairs(values) do
55 | if crn[i] then crn[i]:set_value(v) end
56 | end
57 | end
58 | end
59 |
60 | return pack
61 | end
62 |
63 | -- Config metatable to call cornerpack module as function
64 | -----------------------------------------------------------------------------------------------------------------------
65 | function cornerpack.mt:__call(...)
66 | return cornerpack.new(...)
67 | end
68 |
69 | return setmetatable(cornerpack, cornerpack.mt)
70 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/desktop/common/fullchart.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat fullchart widget --
3 | -----------------------------------------------------------------------------------------------------------------------
4 | -- Complex indicator with history chart, progress bar and label
5 | -----------------------------------------------------------------------------------------------------------------------
6 |
7 | -- Grab environment
8 | -----------------------------------------------------------------------------------------------------------------------
9 | local setmetatable = setmetatable
10 | local wibox = require("wibox")
11 | local awful = require("awful")
12 | local beautiful = require("beautiful")
13 | local color = require("gears.color")
14 |
15 | local dcommon = require("redflat.desktop.common")
16 | local redutil = require("redflat.util")
17 |
18 |
19 | -- Initialize tables for module
20 | -----------------------------------------------------------------------------------------------------------------------
21 | local fullchart = { mt = {} }
22 |
23 | -- Create a new fullchart widget
24 | -- @param label_style Style variables for redflat textbox widget
25 | -- @param dashbar_style Style variables for redflat dashbar widget
26 | -- @param chart_style Style variables for redflat chart widget
27 | -- @param barvalue_height Height for barvalue widget
28 | -- @param maxm Maximum value for redflat dashbar and chart (optional)
29 | -----------------------------------------------------------------------------------------------------------------------
30 | function fullchart.new(label_style, dashbar_style, chart_style, barvalue_height, maxm)
31 |
32 | local widg = {}
33 | local chart_style = redutil.table.merge(chart_style, { maxm = maxm })
34 | local dashbar_style = redutil.table.merge(dashbar_style, { maxm = maxm })
35 |
36 | -- construct layout with indicators
37 | widg.barvalue = dcommon.barvalue(dashbar_style, label_style)
38 | widg.chart = dcommon.chart(chart_style)
39 | widg.barvalue.layout:set_forced_height(barvalue_height)
40 |
41 | widg.layout = wibox.widget({
42 | widg.barvalue.layout, nil, widg.chart,
43 | layout = wibox.layout.align.vertical,
44 | })
45 |
46 | return widg
47 | end
48 |
49 | -- Config metatable to call fullchart module as function
50 | -----------------------------------------------------------------------------------------------------------------------
51 | function fullchart.mt:__call(...)
52 | return fullchart.new(...)
53 | end
54 |
55 | return setmetatable(fullchart, fullchart.mt)
56 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/desktop/common/init.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat library --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | local wrequire = require("redflat.util").wrequire
6 | local setmetatable = setmetatable
7 |
8 | local lib = { _NAME = "redflat.desktop.common" }
9 |
10 | return setmetatable(lib, { __index = wrequire })
11 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/desktop/init.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat library --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | local wrequire = require("redflat.util").wrequire
6 | local setmetatable = setmetatable
7 |
8 | local lib = { _NAME = "redflat.desktop" }
9 |
10 | return setmetatable(lib, { __index = wrequire })
11 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/float/init.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat library --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | local wrequire = require("redflat.util").wrequire
6 | local setmetatable = setmetatable
7 |
8 | local lib = { _NAME = "redflat.float" }
9 |
10 | return setmetatable(lib, { __index = wrequire })
11 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/gauge/audio/blue.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat volume indicator widget --
3 | -----------------------------------------------------------------------------------------------------------------------
4 | -- Indicator with audio icon
5 | -----------------------------------------------------------------------------------------------------------------------
6 |
7 | -- Grab environment
8 | -----------------------------------------------------------------------------------------------------------------------
9 | local setmetatable = setmetatable
10 | local math = math
11 | local string = string
12 | local wibox = require("wibox")
13 | local beautiful = require("beautiful")
14 | local color = require("gears.color")
15 |
16 | local redutil = require("redflat.util")
17 | local svgbox = require("redflat.gauge.svgbox")
18 | local reddash = require("redflat.gauge.graph.dash")
19 |
20 |
21 | -- Initialize tables for module
22 | -----------------------------------------------------------------------------------------------------------------------
23 | local audio = { mt = {} }
24 |
25 | -- Generate default theme vars
26 | -----------------------------------------------------------------------------------------------------------------------
27 | local function default_style()
28 | local style = {
29 | width = 100,
30 | icon = redutil.base.placeholder(),
31 | dash = {},
32 | dmargin = { 10, 0, 0, 0 },
33 | color = { icon = "#a0a0a0", mute = "#404040" }
34 | }
35 | return redutil.table.merge(style, redutil.table.check(beautiful, "gauge.audio.blue") or {})
36 | end
37 |
38 | -- Create a new audio widget
39 | -- @param style Table containing colors and geometry parameters for all elemets
40 | -----------------------------------------------------------------------------------------------------------------------
41 | function audio.new(style)
42 |
43 | -- Initialize vars
44 | --------------------------------------------------------------------------------
45 | local style = redutil.table.merge(default_style(), style or {})
46 |
47 | -- Construct widget
48 | --------------------------------------------------------------------------------
49 | local icon = svgbox(style.icon)
50 | local dash = reddash(style.dash)
51 |
52 | local layout = wibox.layout.fixed.horizontal()
53 | layout:add(icon)
54 | layout:add(wibox.container.margin(dash, unpack(style.dmargin)))
55 |
56 | local widg = wibox.container.constraint(layout, "exact", style.width)
57 |
58 | -- User functions
59 | ------------------------------------------------------------
60 | function widg:set_value(x) dash:set_value(x) end
61 |
62 | function widg:set_mute(mute)
63 | icon:set_color(mute and style.color.mute or style.color.icon)
64 | end
65 |
66 | --------------------------------------------------------------------------------
67 | return widg
68 | end
69 |
70 | -- Config metatable to call audio module as function
71 | -----------------------------------------------------------------------------------------------------------------------
72 | function audio.mt:__call(...)
73 | return audio.new(...)
74 | end
75 |
76 | return setmetatable(audio, audio.mt)
77 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/gauge/audio/init.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat library --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | local wrequire = require("redflat.util").wrequire
6 | local setmetatable = setmetatable
7 |
8 | local lib = { _NAME = "redflat.gauge.audio" }
9 |
10 | return setmetatable(lib, { __index = wrequire })
11 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/gauge/audio/red.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat volume indicator widget --
3 | -----------------------------------------------------------------------------------------------------------------------
4 | -- Indicator with audio icon
5 | -----------------------------------------------------------------------------------------------------------------------
6 |
7 | -- Grab environment
8 | -----------------------------------------------------------------------------------------------------------------------
9 | local setmetatable = setmetatable
10 | local math = math
11 | local string = string
12 | local wibox = require("wibox")
13 | local beautiful = require("beautiful")
14 | local color = require("gears.color")
15 |
16 | local redutil = require("redflat.util")
17 | local svgbox = require("redflat.gauge.svgbox")
18 |
19 |
20 | -- Initialize tables for module
21 | -----------------------------------------------------------------------------------------------------------------------
22 | local audio = { mt = {} }
23 |
24 | -- Generate default theme vars
25 | -----------------------------------------------------------------------------------------------------------------------
26 | local function default_style()
27 | local style = {
28 | icon = {},
29 | color = { main = "#b1222b", icon = "#a0a0a0", mute = "#404040" }
30 | }
31 | return redutil.table.merge(style, redutil.table.check(beautiful, "gauge.audio.red") or {})
32 | end
33 |
34 | -- Support functions
35 | -----------------------------------------------------------------------------------------------------------------------
36 | local function pattern_string(height, value, c1, c2)
37 | return string.format("linear:0,%s:0,0:0,%s:%s,%s:%s,%s:1,%s", height, c1, value, c1, value, c2, c2)
38 | end
39 |
40 | -- Create a new audio widget
41 | -- @param style Table containing colors and geometry parameters for all elemets
42 | -----------------------------------------------------------------------------------------------------------------------
43 | function audio.new(style)
44 |
45 | -- Initialize vars
46 | --------------------------------------------------------------------------------
47 | local style = redutil.table.merge(default_style(), style or {})
48 |
49 | -- Icon widgets
50 | ------------------------------------------------------------
51 | local icon = {}
52 | icon.ready = svgbox(style.icon.ready or redutil.base.placeholder())
53 | icon.ready:set_color(style.color.icon)
54 | icon.mute = svgbox(style.icon.mute or redutil.base.placeholder())
55 | icon.mute:set_color(style.color.mute)
56 |
57 | -- Create widget
58 | --------------------------------------------------------------------------------
59 | local widg = wibox.container.background(icon.ready)
60 |
61 | -- User functions
62 | ------------------------------------------------------------
63 | function widg:set_value(x)
64 | if x > 1 then x = 1 end
65 |
66 | if self.widget._image then
67 | local h = self.widget._image.height
68 | icon.ready:set_color(pattern_string(h, x, style.color.main, style.color.icon))
69 | end
70 | end
71 |
72 | function widg:set_mute(mute)
73 | widg:set_widget(mute and icon.mute or icon.ready)
74 | end
75 |
76 | --------------------------------------------------------------------------------
77 | return widg
78 | end
79 |
80 | -- Config metatable to call audio module as function
81 | -----------------------------------------------------------------------------------------------------------------------
82 | function audio.mt:__call(...)
83 | return audio.new(...)
84 | end
85 |
86 | return setmetatable(audio, audio.mt)
87 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/gauge/graph/bar.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat progressbar widget --
3 | -----------------------------------------------------------------------------------------------------------------------
4 | -- Horizontal progresspar
5 | -----------------------------------------------------------------------------------------------------------------------
6 |
7 | -- Grab environment
8 | -----------------------------------------------------------------------------------------------------------------------
9 | local setmetatable = setmetatable
10 | local wibox = require("wibox")
11 | local beautiful = require("beautiful")
12 | local color = require("gears.color")
13 |
14 | local redutil = require("redflat.util")
15 |
16 | -- Initialize tables for module
17 | -----------------------------------------------------------------------------------------------------------------------
18 | local progressbar = { mt = {} }
19 |
20 | -- Generate default theme vars
21 | -----------------------------------------------------------------------------------------------------------------------
22 | local function default_style()
23 | local style = {
24 | color = { main = "#b1222b", gray = "#404040" }
25 | }
26 | return redutil.table.merge(style, redutil.table.check(beautiful, "gauge.graph.bar") or {})
27 | end
28 |
29 | -- Create a new progressbar widget
30 | -- @param style Table containing colors and geometry parameters for all elemets
31 | -----------------------------------------------------------------------------------------------------------------------
32 | function progressbar.new(style)
33 |
34 | -- Initialize vars
35 | --------------------------------------------------------------------------------
36 | local style = redutil.table.merge(default_style(), style or {})
37 |
38 | -- updating values
39 | local data = {
40 | value = 0
41 | }
42 |
43 | -- Create custom widget
44 | --------------------------------------------------------------------------------
45 | local widg = wibox.widget.base.make_widget()
46 |
47 | -- User functions
48 | ------------------------------------------------------------
49 | function widg:set_value(x)
50 | data.value = x < 1 and x or 1
51 | self:emit_signal("widget::updated")
52 | end
53 |
54 | -- Fit
55 | ------------------------------------------------------------
56 | function widg:fit(context, width, height)
57 | return width, height
58 | end
59 |
60 | -- Draw
61 | ------------------------------------------------------------
62 | function widg:draw(context, cr, width, height)
63 | cr:set_source(color(style.color.gray))
64 | cr:rectangle(0, 0, width, height)
65 | cr:fill()
66 | cr:set_source(color(style.color.main))
67 | cr:rectangle(0, 0, data.value * width, height)
68 | cr:fill()
69 | end
70 |
71 | --------------------------------------------------------------------------------
72 | return widg
73 | end
74 |
75 | -- Config metatable to call progressbar module as function
76 | -----------------------------------------------------------------------------------------------------------------------
77 | function progressbar.mt:__call(...)
78 | return progressbar.new(...)
79 | end
80 |
81 | return setmetatable(progressbar, progressbar.mt)
82 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/gauge/graph/dash.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat dashcontrol widget --
3 | -----------------------------------------------------------------------------------------------------------------------
4 | -- Horizontal progresspar with stairs form
5 | -----------------------------------------------------------------------------------------------------------------------
6 |
7 | -- Grab environment
8 | -----------------------------------------------------------------------------------------------------------------------
9 | local setmetatable = setmetatable
10 | local math = math
11 | local wibox = require("wibox")
12 | local beautiful = require("beautiful")
13 | local color = require("gears.color")
14 |
15 | local redutil = require("redflat.util")
16 |
17 | -- Initialize tables for module
18 | -----------------------------------------------------------------------------------------------------------------------
19 | local dashcontrol = { mt = {} }
20 |
21 | -- Generate default theme vars
22 | -----------------------------------------------------------------------------------------------------------------------
23 | local function default_style()
24 | local style = {
25 | bar = { width = 4, num = 10 },
26 | color = { main = "#b1222b", gray = "#404040" }
27 | }
28 | return redutil.table.merge(style, redutil.table.check(beautiful, "gauge.graph.dash") or {})
29 | end
30 |
31 | -- Create a new dashcontrol widget
32 | -- @param style Table containing colors and geometry parameters for all elemets
33 | -----------------------------------------------------------------------------------------------------------------------
34 | function dashcontrol.new(style)
35 |
36 | -- Initialize vars
37 | --------------------------------------------------------------------------------
38 | local style = redutil.table.merge(default_style(), style or {})
39 |
40 | -- updating values
41 | local data = {
42 | value = 0
43 | }
44 |
45 | -- Create custom widget
46 | --------------------------------------------------------------------------------
47 | local widg = wibox.widget.base.make_widget()
48 |
49 | -- User functions
50 | ------------------------------------------------------------
51 | function widg:set_value(x)
52 | data.value = x < 1 and x or 1
53 | self:emit_signal("widget::updated")
54 | end
55 |
56 | -- Fit
57 | ------------------------------------------------------------
58 | function widg:fit(context, width, height)
59 | return width, height
60 | end
61 |
62 | -- Draw
63 | ------------------------------------------------------------
64 | function widg:draw(context, cr, width, height)
65 | local wstep = (width - style.bar.width) / (style.bar.num - 1)
66 | local hstep = height / style.bar.num
67 | local point = math.ceil(data.value * style.bar.num)
68 |
69 | for i = 1, style.bar.num do
70 | cr:set_source(color(i > point and style.color.gray or style.color.main))
71 | cr:rectangle((i - 1) * wstep, height, style.bar.width, - i * hstep)
72 | cr:fill()
73 | end
74 | end
75 |
76 | --------------------------------------------------------------------------------
77 | return widg
78 | end
79 |
80 | -- Config metatable to call dashcontrol module as function
81 | -----------------------------------------------------------------------------------------------------------------------
82 | function dashcontrol.mt:__call(...)
83 | return dashcontrol.new(...)
84 | end
85 |
86 | return setmetatable(dashcontrol, dashcontrol.mt)
87 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/gauge/graph/doublebar.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat doublebar widget --
3 | -----------------------------------------------------------------------------------------------------------------------
4 | -- Gauge wigget with two vertical progressbar
5 | -----------------------------------------------------------------------------------------------------------------------
6 |
7 | -- Grab environment
8 | -----------------------------------------------------------------------------------------------------------------------
9 | local setmetatable = setmetatable
10 | local wibox = require("wibox")
11 | local beautiful = require("beautiful")
12 | local color = require("gears.color")
13 |
14 | local redutil = require("redflat.util")
15 |
16 | -- Initialize tables for module
17 | -----------------------------------------------------------------------------------------------------------------------
18 | local doublebar = { mt = {} }
19 |
20 | -- Generate default theme vars
21 | -----------------------------------------------------------------------------------------------------------------------
22 | local function default_style()
23 | local style = {
24 | line = { width = 4, gap = 5 },
25 | color = { main = "#b1222b", gray = "#575757" }
26 | }
27 | return redutil.table.merge(style, redutil.table.check(beautiful, "gauge.doublebar") or {})
28 | end
29 |
30 | -- Create a new doublebar widget
31 | -- @param style Table containing colors and geometry parameters for all elemets
32 | -----------------------------------------------------------------------------------------------------------------------
33 | function doublebar.new(style)
34 |
35 | -- Initialize vars
36 | --------------------------------------------------------------------------------
37 | local style = redutil.table.merge(default_style(), style or {})
38 |
39 | -- updating values
40 | local data = {
41 | value = {0, 0}
42 | }
43 |
44 | -- Create custom widget
45 | --------------------------------------------------------------------------------
46 | local widg = wibox.widget.base.make_widget()
47 |
48 | -- User functions
49 | ------------------------------------------------------------
50 | function widg:set_value(value)
51 | data.value = { value[1] < 1 and value[1] or 1, value[2] < 1 and value[2] or 1 }
52 | self:emit_signal("widget::updated")
53 | return self
54 | end
55 |
56 | -- Fit
57 | ------------------------------------------------------------
58 | function widg:fit(context, width, height)
59 | local width = 2 * style.line.width + style.line.gap
60 | return width, height
61 | end
62 |
63 | -- Draw
64 | ------------------------------------------------------------
65 | function widg:draw(context, cr, width, height)
66 | cr:set_source(color(style.color.gray))
67 | cr:rectangle(0, 0, style.line.width, height)
68 | cr:rectangle(width - style.line.width, 0, style.line.width, height)
69 | cr:fill()
70 |
71 | cr:set_source(color(style.color.main))
72 | cr:rectangle(0, height, style.line.width, - height * data.value[1])
73 | cr:rectangle(width - style.line.width, height, style.line.width, - height * data.value[2])
74 | cr:fill()
75 | end
76 |
77 | --------------------------------------------------------------------------------
78 | return widg
79 | end
80 |
81 | -- Config metatable to call doublebar module as function
82 | -----------------------------------------------------------------------------------------------------------------------
83 | function doublebar.mt:__call(...)
84 | return doublebar.new(...)
85 | end
86 |
87 | return setmetatable(doublebar, doublebar.mt)
88 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/gauge/graph/init.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat library --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | local wrequire = require("redflat.util").wrequire
6 | local setmetatable = setmetatable
7 |
8 | local lib = { _NAME = "redflat.gauge.graph" }
9 |
10 | return setmetatable(lib, { __index = wrequire })
11 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/gauge/icon/init.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat library --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | local wrequire = require("redflat.util").wrequire
6 | local setmetatable = setmetatable
7 |
8 | local lib = { _NAME = "redflat.gauge.icon" }
9 |
10 | return setmetatable(lib, { __index = wrequire })
11 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/gauge/icon/single.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat indicator widget --
3 | -----------------------------------------------------------------------------------------------------------------------
4 | -- Image indicator
5 | -----------------------------------------------------------------------------------------------------------------------
6 |
7 | -- Grab environment
8 | -----------------------------------------------------------------------------------------------------------------------
9 | local setmetatable = setmetatable
10 | local math = math
11 | local string = string
12 | local wibox = require("wibox")
13 | local beautiful = require("beautiful")
14 | local color = require("gears.color")
15 |
16 | local redutil = require("redflat.util")
17 | local svgbox = require("redflat.gauge.svgbox")
18 |
19 |
20 | -- Initialize tables for module
21 | -----------------------------------------------------------------------------------------------------------------------
22 | local gicon = { mt = {} }
23 |
24 | -- Generate default theme vars
25 | -----------------------------------------------------------------------------------------------------------------------
26 | local function default_style()
27 | local style = {
28 | icon = redutil.base.placeholder(),
29 | is_vertical = false,
30 | color = { main = "#b1222b", icon = "#a0a0a0", urgent = "#32882d" }
31 | }
32 | return redutil.table.merge(style, redutil.table.check(beautiful, "gauge.icon.single") or {})
33 | end
34 |
35 | -- Support functions
36 | -----------------------------------------------------------------------------------------------------------------------
37 | local function pattern_string_v(height, value, c1, c2)
38 | return string.format("linear:0,%s:0,0:0,%s:%s,%s:%s,%s:1,%s", height, c1, value, c1, value, c2, c2)
39 | end
40 |
41 | local function pattern_string_h(width, value, c1, c2)
42 | return string.format("linear:0,0:%s,0:0,%s:%s,%s:%s,%s:1,%s", width, c1, value, c1, value, c2, c2)
43 | end
44 |
45 | -- Create a new gicon widget
46 | -- @param style Table containing colors and geometry parameters for all elemets
47 | -----------------------------------------------------------------------------------------------------------------------
48 | function gicon.new(style)
49 |
50 | -- Initialize vars
51 | --------------------------------------------------------------------------------
52 | local style = redutil.table.merge(default_style(), style or {})
53 | local pattern = style.is_vertical and pattern_string_v or pattern_string_h
54 |
55 | local data = {
56 | color = style.color.main
57 | }
58 |
59 | -- Create widget
60 | --------------------------------------------------------------------------------
61 | local widg = svgbox(style.icon)
62 |
63 | -- User functions
64 | ------------------------------------------------------------
65 | function widg:set_value(x)
66 | if x > 1 then x = 1 end
67 |
68 | if self._image then
69 | local d = style.is_vertical and self._image.height or self._image.width
70 | widg:set_color(pattern(d, x, data.color, style.color.icon))
71 | end
72 | end
73 |
74 | function widg:set_alert(alert)
75 | data.color = alert and style.color.urgent or style.color.main
76 | end
77 |
78 | --------------------------------------------------------------------------------
79 | return widg
80 | end
81 |
82 | -- Config metatable to call gicon module as function
83 | -----------------------------------------------------------------------------------------------------------------------
84 | function gicon.mt:__call(...)
85 | return gicon.new(...)
86 | end
87 |
88 | return setmetatable(gicon, gicon.mt)
89 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/gauge/init.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat library --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | local wrequire = require("redflat.util").wrequire
6 | local setmetatable = setmetatable
7 |
8 | local lib = { _NAME = "redflat.gauge" }
9 |
10 | return setmetatable(lib, { __index = wrequire })
11 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/gauge/monitor/init.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat library --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | local wrequire = require("redflat.util").wrequire
6 | local setmetatable = setmetatable
7 |
8 | local lib = { _NAME = "redflat.gauge.monitor" }
9 |
10 | return setmetatable(lib, { __index = wrequire })
11 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/gauge/separator.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat separatoe widget --
3 | -----------------------------------------------------------------------------------------------------------------------
4 | -- Simple graphical separator to decorate panel
5 | -----------------------------------------------------------------------------------------------------------------------
6 |
7 | -- Grab environment
8 | -----------------------------------------------------------------------------------------------------------------------
9 | local setmetatable = setmetatable
10 | local unpack = unpack
11 | local wibox = require("wibox")
12 | local beautiful = require("beautiful")
13 | local color = require("gears.color")
14 |
15 | local redutil = require("redflat.util")
16 |
17 | -- Initialize tables for module
18 | -----------------------------------------------------------------------------------------------------------------------
19 | local separator = {}
20 |
21 | -- Generate default theme vars
22 | -----------------------------------------------------------------------------------------------------------------------
23 | local function default_style()
24 | local style = {
25 | marginv = { 0, 0, 0, 0 },
26 | marginh = { 0, 0, 0, 0 },
27 | color = { shadow1 = "#141414", shadow2 = "#313131" }
28 | }
29 | return redutil.table.merge(style, redutil.table.check(beautiful, "gauge.separator") or {})
30 | end
31 |
32 | -- Create a new separator widget
33 | -- Total size two pixels bigger than sum of margins for general direction
34 | -----------------------------------------------------------------------------------------------------------------------
35 | local function separator_base(horizontal, style)
36 |
37 | -- Initialize vars
38 | --------------------------------------------------------------------------------
39 | local style = redutil.table.merge(default_style(), style or {})
40 | if not style.margin then
41 | style.margin = horizontal and style.marginh or style.marginv
42 | end
43 |
44 | -- Create custom widget
45 | --------------------------------------------------------------------------------
46 | local widg = wibox.widget.base.make_widget()
47 |
48 | -- Fit
49 | ------------------------------------------------------------
50 | function widg:fit(context, width, height)
51 | if horizontal then
52 | return width, 2
53 | else
54 | return 2, height
55 | end
56 | end
57 |
58 | -- Draw
59 | ------------------------------------------------------------
60 | function widg:draw(context, cr, width, height)
61 | cr:set_source(color(style.color.shadow1))
62 | if horizontal then cr:rectangle(0, 0, width, 1)
63 | else cr:rectangle(0, 0, 1, height) end
64 | cr:fill()
65 |
66 | cr:set_source(color(style.color.shadow2))
67 | if horizontal then cr:rectangle(0, 1, width, 1)
68 | else cr:rectangle(1, 0, 1, height) end
69 | cr:fill()
70 | end
71 |
72 | --------------------------------------------------------------------------------
73 | return wibox.container.margin(widg, unpack(style.margin))
74 | end
75 |
76 | -- Horizontal and vertial variants
77 | -----------------------------------------------------------------------------------------------------------------------
78 | function separator.vertical(style)
79 | return separator_base(false, style)
80 | end
81 |
82 | function separator.horizontal(style)
83 | return separator_base(true, style)
84 | end
85 |
86 | -----------------------------------------------------------------------------------------------------------------------
87 | return separator
88 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/gauge/tag/green.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat tag widget --
3 | -----------------------------------------------------------------------------------------------------------------------
4 | -- Custom widget to display tag info
5 | -----------------------------------------------------------------------------------------------------------------------
6 |
7 | -- Grab environment
8 | -----------------------------------------------------------------------------------------------------------------------
9 | local setmetatable = setmetatable
10 | local math = math
11 |
12 | local awful = require("awful")
13 | local wibox = require("wibox")
14 | local beautiful = require("beautiful")
15 | local color = require("gears.color")
16 |
17 | local redutil = require("redflat.util")
18 | local svgbox = require("redflat.gauge.svgbox")
19 |
20 | -- Initialize tables for module
21 | -----------------------------------------------------------------------------------------------------------------------
22 | local greentag = { mt = {} }
23 |
24 | -- Generate default theme vars
25 | -----------------------------------------------------------------------------------------------------------------------
26 | local function default_style()
27 | local style = {
28 | width = 80,
29 | margin = { 2, 2, 2, 2 },
30 | icon = { unknown = redutil.base.placeholder() },
31 | color = { main = "#b1222b", gray = "#575757", icon = "#a0a0a0", urgent = "#32882d" },
32 | }
33 |
34 | return redutil.table.merge(style, redutil.table.check(beautiful, "gauge.tag.green") or {})
35 | end
36 |
37 |
38 | -- Create a new tag widget
39 | -- @param style Table containing colors and geometry parameters for all elemets
40 | -----------------------------------------------------------------------------------------------------------------------
41 | function greentag.new(style)
42 |
43 | -- Initialize vars
44 | --------------------------------------------------------------------------------
45 | local style = redutil.table.merge(default_style(), style or {})
46 |
47 | -- updating values
48 | local data = {
49 | state = {},
50 | width = style.width or nil
51 | }
52 |
53 | -- Create custom widget
54 | --------------------------------------------------------------------------------
55 | local widg = wibox.layout.align.horizontal()
56 | widg._svgbox = svgbox()
57 | widg:set_middle(wibox.container.margin(widg._svgbox, unpack(style.margin)))
58 | widg:set_forced_width(data.width)
59 | widg:set_expand("outside")
60 |
61 | -- User functions
62 | ------------------------------------------------------------
63 | function widg:set_state(state)
64 | data.state = state
65 | icon = style.icon[awful.layout.getname(state.layout)] or style.icon.unknown
66 | self._svgbox:set_image(icon)
67 | self._svgbox:set_color(
68 | data.state.active and style.color.main
69 | or data.state.urgent and style.color.urgent
70 | or data.state.occupied and style.color.icon
71 | or style.color.gray
72 | )
73 | end
74 |
75 | function widg:set_width(width)
76 | data.width = width
77 | self.set_forced_width(width)
78 | end
79 |
80 | --------------------------------------------------------------------------------
81 | return widg
82 | end
83 |
84 | -- Config metatable to call greentag module as function
85 | -----------------------------------------------------------------------------------------------------------------------
86 | function greentag.mt:__call(...)
87 | return greentag.new(...)
88 | end
89 |
90 | return setmetatable(greentag, greentag.mt)
91 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/gauge/tag/init.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat library --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | local wrequire = require("redflat.util").wrequire
6 | local setmetatable = setmetatable
7 |
8 | local lib = { _NAME = "redflat.gauge.tag" }
9 |
10 | return setmetatable(lib, { __index = wrequire })
11 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/gauge/task/init.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat library --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | local wrequire = require("redflat.util").wrequire
6 | local setmetatable = setmetatable
7 |
8 | local lib = { _NAME = "redflat.gauge.task" }
9 |
10 | return setmetatable(lib, { __index = wrequire })
11 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/init.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat library --
3 | -----------------------------------------------------------------------------------------------------------------------
4 | local setmetatable = setmetatable
5 |
6 | return setmetatable(
7 | { _NAME = "redflat" },
8 | { __index = function(table, key)
9 | local module = rawget(table, key)
10 | return module or require(table._NAME .. '.' .. key)
11 | end }
12 | )
13 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/layout/init.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat library --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | local wrequire = require("redflat.util").wrequire
6 | local setmetatable = setmetatable
7 |
8 | local lib = { _NAME = "redflat.layout" }
9 |
10 | return setmetatable(lib, { __index = wrequire })
11 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/service/init.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat library --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | local wrequire = require("redflat.util").wrequire
6 | local setmetatable = setmetatable
7 |
8 | local lib = { _NAME = "redflat.service" }
9 |
10 | return setmetatable(lib, { __index = wrequire })
11 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/timestamp.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat time stamp --
3 | -----------------------------------------------------------------------------------------------------------------------
4 | -- Make time stamp on every awesome exit or restart
5 | -- It still working if user config was broken and default rc loaded
6 | -- Time stamp may be useful for making diffrence between awesome wm first run or restart
7 | -----------------------------------------------------------------------------------------------------------------------
8 |
9 | -- Grab environment
10 | -----------------------------------------------------------------------------------------------------------------------
11 | local tonumber = tonumber
12 | local io = io
13 | local os = os
14 |
15 | local awful = require("awful")
16 |
17 | -- Initialize tables for module
18 | -----------------------------------------------------------------------------------------------------------------------
19 | local timestamp = {}
20 |
21 | timestamp.path = "/tmp/awesome-stamp"
22 | timestamp.timeout = 5
23 | timestamp.bin = "awesome-client"
24 |
25 | -- Grab environment
26 | -----------------------------------------------------------------------------------------------------------------------
27 | local awful = require("awful")
28 | local redutil = require("redflat.util")
29 |
30 | -- Stamp functions
31 | -----------------------------------------------------------------------------------------------------------------------
32 |
33 | -- make time stamp
34 | function timestamp.make()
35 | local file = io.open(timestamp.path, "w")
36 | file:write(os.time())
37 | file:close()
38 | end
39 |
40 | -- get time stamp
41 | function timestamp.get()
42 | res = redutil.read.file(timestamp.path)
43 | if res then return tonumber(res) end
44 | end
45 |
46 | -- check if it is first start
47 | function timestamp.is_startup()
48 | local stamp = timestamp.get()
49 | return not stamp or (os.time() - stamp) > timestamp.timeout
50 | end
51 |
52 | -- Connect exit signal on module initialization
53 | -----------------------------------------------------------------------------------------------------------------------
54 | awesome.connect_signal("exit",
55 | function()
56 | timestamp.make()
57 | awful.spawn.with_shell(
58 | string.format(
59 | "sleep 2 && %s %s",
60 | timestamp.bin, [["if timestamp == nil then timestamp = require('redflat.timestamp') end"]]
61 | )
62 | )
63 | end
64 | )
65 |
66 | -----------------------------------------------------------------------------------------------------------------------
67 | return timestamp
68 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/util/base.lua:
--------------------------------------------------------------------------------
1 | -- RedFlat util submodule
2 |
3 | local wibox = require("wibox")
4 | local surface = require("gears.surface")
5 |
6 | local base = {}
7 |
8 | -- Functions
9 | -----------------------------------------------------------------------------------------------------------------------
10 |
11 | -- Advanced buttons setup
12 | -- Copypasted from awful.widget.common
13 | -- (c) 2008-2009 Julien Danjou
14 | --------------------------------------------------------------------------------
15 | function base.buttons(buttons, object)
16 | if buttons then
17 | local btns = {}
18 |
19 | for kb, b in ipairs(buttons) do
20 | -- Create a proxy button object: it will receive the real
21 | -- press and release events, and will propagate them the the
22 | -- button object the user provided, but with the object as
23 | -- argument.
24 | local btn = button { modifiers = b.modifiers, button = b.button }
25 | btn:connect_signal("press", function () b:emit_signal("press", object) end)
26 | btn:connect_signal("release", function () b:emit_signal("release", object) end)
27 | btns[#btns + 1] = btn
28 | end
29 |
30 | return btns
31 | end
32 | end
33 |
34 | -- Create cairo surface from text (useful for themed icons replacement)
35 | --------------------------------------------------------------------------------
36 | function base.placeholder(args)
37 | local args = args or {}
38 | local tb = wibox.widget {
39 | markup = args.txt or "?",
40 | align = "center",
41 | valign = "center",
42 | widget = wibox.widget.textbox
43 | }
44 |
45 | return surface.widget_to_surface(tb, args.width or 24, args.height or 24)
46 | end
47 |
48 |
49 | -- End
50 | -----------------------------------------------------------------------------------------------------------------------
51 | return base
52 |
53 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/util/cairo.lua:
--------------------------------------------------------------------------------
1 | -- RedFlat util submodule
2 |
3 |
4 | local cairo = { textcentre = {} }
5 |
6 | -- Functions
7 | -----------------------------------------------------------------------------------------------------------------------
8 |
9 | -- Draw text aligned by center
10 | ------------------------------------------------------------
11 | function cairo.textcentre.vertical(cr, coord, text)
12 | local ext = cr:text_extents(text)
13 | cr:move_to(coord[1] - (ext.width/2 + ext.x_bearing), coord[2] - (ext.height/2 + ext.y_bearing))
14 | cr:show_text(text)
15 | end
16 |
17 | -- Draw text aligned by center horizontal only
18 | ------------------------------------------------------------
19 | function cairo.textcentre.horizontal(cr, coord, text)
20 | local ext = cr:text_extents(text)
21 | cr:move_to(coord[1] - (ext.width/2 + ext.x_bearing), coord[2])
22 | cr:show_text(text)
23 | end
24 |
25 | -- Set font
26 | ------------------------------------------------------------
27 | function cairo.set_font(cr, font)
28 | cr:set_font_size(font.size)
29 | cr:select_font_face(font.font, font.slant, font.face)
30 | end
31 |
32 |
33 | -- End
34 | -----------------------------------------------------------------------------------------------------------------------
35 | return cairo
36 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/util/client.lua:
--------------------------------------------------------------------------------
1 | -- RedFlat util submodule
2 |
3 | local awful = require("awful")
4 | local client = { floatset = {} }
5 |
6 | -- Functions
7 | -----------------------------------------------------------------------------------------------------------------------
8 | local function size_correction(c, geometry, is_restore)
9 | local sign = is_restore and - 1 or 1
10 | local bg = sign * 2 * c.border_width
11 |
12 | if geometry.width then geometry.width = geometry.width - bg end
13 | if geometry.height then geometry.height = geometry.height - bg end
14 | end
15 |
16 | -- Client geometry correction by border width
17 | --------------------------------------------------------------------------------
18 | function client.fullgeometry(c, g)
19 | local ng
20 |
21 | if g then
22 | if g.width and g.width <= 1 then return end
23 | if g.height and g.height <= 1 then return end
24 |
25 | size_correction(c, g, false)
26 | ng = c:geometry(g)
27 | else
28 | ng = c:geometry()
29 | end
30 |
31 | size_correction(c, ng, true)
32 |
33 | return ng
34 | end
35 |
36 | -- Smart swap include floating layout
37 | --------------------------------------------------------------------------------
38 | function client.swap(c1, c2)
39 | local lay = awful.layout.get(c1.screen)
40 | if awful.util.table.hasitem(client.floatset, lay) then
41 | local g1, g2 = client.fullgeometry(c1), client.fullgeometry(c2)
42 |
43 | client.fullgeometry(c1, g2)
44 | client.fullgeometry(c2, g1)
45 | end
46 |
47 | c1:swap(c2)
48 | end
49 |
50 |
51 | -- End
52 | -----------------------------------------------------------------------------------------------------------------------
53 | return client
54 |
55 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/util/desktop.lua:
--------------------------------------------------------------------------------
1 | -- RedFlat util submodule
2 |
3 | local wibox = require("wibox")
4 |
5 | local desktop = {}
6 |
7 | -- Functions
8 | -----------------------------------------------------------------------------------------------------------------------
9 | local function sum(t, n)
10 | local s = 0
11 | local n = n or #t
12 | for i = 1, n do s = s + t[i] end
13 | return s
14 | end
15 |
16 | local function wposition(grid, n, workarea, dir)
17 | local total = sum(grid[dir])
18 | local full_gap = sum(grid.edge[dir])
19 | local gap = #grid[dir] > 1 and (workarea[dir] - total - full_gap) / (#grid[dir] - 1) or 0
20 |
21 | local current = sum(grid[dir], n - 1)
22 | local pos = grid.edge[dir][1] + (n - 1) * gap + current
23 |
24 | return pos
25 | end
26 |
27 | -- Calculate size and position for desktop widget
28 | ------------------------------------------------------------
29 | function desktop.wgeometry(grid, place, workarea)
30 | return {
31 | x = wposition(grid, place[1], workarea, "width"),
32 | y = wposition(grid, place[2], workarea, "height"),
33 | width = grid.width[place[1]],
34 | height = grid.height[place[2]]
35 | }
36 | end
37 |
38 | -- Edge constructor
39 | ------------------------------------------------------------
40 | function desktop.edge(direction, zone)
41 | local edge = { area = {} }
42 |
43 | edge.wibox = wibox({
44 | bg = "#00000000", -- transparent without compositing manager
45 | opacity = 0, -- transparent with compositing manager
46 | ontop = true,
47 | visible = true
48 | })
49 |
50 | edge.layout = wibox.layout.fixed[direction]()
51 | edge.wibox:set_widget(edge.layout)
52 |
53 | if zone then
54 | for i, z in ipairs(zone) do
55 | edge.area[i] = wibox.container.margin(nil, 0, 0, z)
56 | edge.layout:add(edge.area[i])
57 | end
58 | end
59 |
60 | return edge
61 | end
62 |
63 |
64 | -- End
65 | -----------------------------------------------------------------------------------------------------------------------
66 | return desktop
67 |
68 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/util/init.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat library --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | local wrequire = function(table_, key)
6 | local module = rawget(table_, key)
7 | return module or require(table_._NAME .. '.' .. key)
8 | end
9 |
10 | local setmetatable = setmetatable
11 |
12 | local lib = { _NAME = "redflat.util", wrequire = wrequire }
13 |
14 | return setmetatable(lib, { __index = wrequire })
15 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/util/key.lua:
--------------------------------------------------------------------------------
1 | -- RedFlat util submodule
2 |
3 | local table = table
4 | local awful = require("awful")
5 |
6 | local key = {}
7 |
8 | key.ignored_mod = { "Unknown", "Mod2" }
9 |
10 | -- Functions
11 | -----------------------------------------------------------------------------------------------------------------------
12 |
13 | -- Build awful keys from reflat raw keys table
14 | ------------------------------------------------------------
15 | function key.build(t)
16 | local temp = {}
17 |
18 | for _, v in ipairs(t) do
19 | table.insert(temp, awful.key(unpack(v)))
20 | end
21 |
22 | return awful.util.table.join(unpack(temp))
23 | end
24 |
25 | -- Check if redflat raw key matched with awful prompt key
26 | ------------------------------------------------------------
27 | function key.match_prompt(rawkey, mod, _key)
28 | for m, _ in pairs(mod) do
29 | if awful.util.table.hasitem(key.ignored_mod, m) then
30 | mod[m] = nil
31 | break
32 | end
33 | end
34 |
35 | local modcheck = true
36 | local count = 0
37 |
38 | for k, _ in pairs(mod) do
39 | modcheck = modcheck and awful.util.table.hasitem(rawkey[1], k)
40 | count = count + 1
41 | end
42 |
43 | return #rawkey[1] == count and modcheck and _key:lower() == rawkey[2]:lower()
44 | end
45 |
46 | -- Check if redflat raw key matched with awful prompt key
47 | ------------------------------------------------------------
48 | function key.match_grabber(rawkey, mod, _key)
49 | for i, m in ipairs(mod) do
50 | if awful.util.table.hasitem(key.ignored_mod, m) then
51 | table.remove(mod, i)
52 | break
53 | end
54 | end
55 |
56 | local modcheck = #mod == #rawkey[1]
57 | for _, v in ipairs(mod) do modcheck = modcheck and awful.util.table.hasitem(rawkey[1], v) end
58 | return modcheck and _key:lower() == rawkey[2]:lower()
59 | end
60 |
61 |
62 | -- End
63 | -----------------------------------------------------------------------------------------------------------------------
64 | return key
65 |
66 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/util/placement.lua:
--------------------------------------------------------------------------------
1 | -- RedFlat util submodule
2 |
3 | local awful = require("awful")
4 |
5 | local placement = {}
6 | local direction = { x = "width", y = "height" }
7 |
8 | -- Functions
9 | -----------------------------------------------------------------------------------------------------------------------
10 | function placement.add_gap(geometry, gap)
11 | return {
12 | x = geometry.x + gap,
13 | y = geometry.y + gap,
14 | width = geometry.width - 2 * gap,
15 | height = geometry.height - 2 * gap
16 | }
17 | end
18 |
19 | function placement.no_offscreen(object, gap, area)
20 | local geometry = object:geometry()
21 | local border = object.border_width
22 |
23 | local screen_idx = object.screen or awful.screen.getbycoord(geometry.x, geometry.y)
24 | local area = area or screen[screen_idx].workarea
25 | if gap then area = placement.add_gap(area, gap) end
26 |
27 | for coord, dim in pairs(direction) do
28 | if geometry[coord] + geometry[dim] + 2 * border > area[coord] + area[dim] then
29 | geometry[coord] = area[coord] + area[dim] - geometry[dim] - 2*border
30 | elseif geometry[coord] < area[coord] then
31 | geometry[coord] = area[coord]
32 | end
33 | end
34 |
35 | object:geometry(geometry)
36 | end
37 |
38 | local function centered_base(is_h, is_v)
39 | return function(object, gap, area)
40 | local geometry = object:geometry()
41 | local new_geometry = {}
42 |
43 | local screen_idx = object.screen or awful.screen.getbycoord(geometry.x, geometry.y)
44 | local area = area or screen[screen_idx].geometry
45 | if gap then area = placement.add_gap(area, gap) end
46 |
47 | if is_h then new_geometry.x = area.x + (area.width - geometry.width) / 2 - object.border_width end
48 | if is_v then new_geometry.y = area.y + (area.height - geometry.height) / 2 - object.border_width end
49 |
50 | return object:geometry(new_geometry)
51 | end
52 | end
53 |
54 | placement.centered = setmetatable({}, {
55 | __call = function(_, ...) return centered_base(true, true)(...) end
56 | })
57 | placement.centered.horizontal = centered_base(true, false)
58 | placement.centered.vertical = centered_base(false, true)
59 |
60 |
61 | -- End
62 | -----------------------------------------------------------------------------------------------------------------------
63 | return placement
64 |
65 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/util/read.lua:
--------------------------------------------------------------------------------
1 | -- RedFlat util submodule
2 |
3 | local io = io
4 | local assert = assert
5 |
6 | local read = {}
7 |
8 | -- Functions
9 | -----------------------------------------------------------------------------------------------------------------------
10 | function read.file(path)
11 | local file = io.open(path)
12 |
13 | if file then
14 | output = file:read("*a")
15 | file:close()
16 | else
17 | return nil
18 | end
19 |
20 | return output
21 | end
22 |
23 | function read.output(cmd)
24 | local file = assert(io.popen(cmd, 'r'))
25 | local output = file:read('*all')
26 | file:close()
27 |
28 | return output
29 | end
30 |
31 | -- End
32 | -----------------------------------------------------------------------------------------------------------------------
33 | return read
34 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/util/table.lua:
--------------------------------------------------------------------------------
1 | -- RedFlat util submodule
2 |
3 | local awful = require("awful")
4 |
5 | local table_ = {}
6 |
7 | -- Functions
8 | -----------------------------------------------------------------------------------------------------------------------
9 |
10 | -- Merge two table to new one
11 | ------------------------------------------------------------
12 | function table_.merge(t1, t2)
13 | local ret = awful.util.table.clone(t1)
14 |
15 | for k, v in pairs(t2) do
16 | if type(v) == "table" and ret[k] and type(ret[k]) == "table" then
17 | ret[k] = table_.merge(ret[k], v)
18 | else
19 | ret[k] = v
20 | end
21 | end
22 |
23 | return ret
24 | end
25 |
26 | -- Check if deep key exists
27 | ------------------------------------------------------------
28 | function table_.check(t, s)
29 | local v = t
30 |
31 | for key in string.gmatch(s, "([^%.]+)(%.?)") do
32 | if v[key] then
33 | v = v[key]
34 | else
35 | return nil
36 | end
37 | end
38 |
39 | return v
40 | end
41 |
42 | -- End
43 | -----------------------------------------------------------------------------------------------------------------------
44 | return table_
45 |
46 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/util/text.lua:
--------------------------------------------------------------------------------
1 | -- RedFlat util submodule
2 |
3 | local math = math
4 | local string = string
5 |
6 | local text = {}
7 |
8 | -- Functions
9 | -----------------------------------------------------------------------------------------------------------------------
10 |
11 | -- Format string to number with minimum length
12 | ------------------------------------------------------------
13 | function text.oformat(v, w)
14 | local p = math.ceil(math.log10(v))
15 | local prec = v <= 10 and w - 1 or p > w and 0 or w - p
16 | return string.format('%.' .. prec .. 'f', v)
17 | end
18 |
19 | -- Format output for destop widgets
20 | ------------------------------------------------------------
21 | function text.dformat(value, unit, w, spacer)
22 | local res = value
23 | local add = ""
24 | local w = w or 3
25 | local spacer = spacer or " "
26 |
27 | for _, v in pairs(unit) do
28 | if value > v[2] then
29 | res = math.abs(value/v[2])
30 | add = v[1]
31 | end
32 | end
33 |
34 | return text.oformat(res, w) .. spacer .. add
35 | end
36 |
37 |
38 | -- End
39 | -----------------------------------------------------------------------------------------------------------------------
40 | return text
41 |
42 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/widget/init.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat library --
3 | -----------------------------------------------------------------------------------------------------------------------
4 |
5 | local wrequire = require("redflat.util").wrequire
6 | local setmetatable = setmetatable
7 |
8 | local lib = { _NAME = "redflat.widget" }
9 |
10 | return setmetatable(lib, { __index = wrequire })
11 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/widget/sysmon.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat sysmon widget --
3 | -----------------------------------------------------------------------------------------------------------------------
4 | -- Monitoring widget
5 | -----------------------------------------------------------------------------------------------------------------------
6 |
7 | -- Grab environment
8 | -----------------------------------------------------------------------------------------------------------------------
9 | local setmetatable = setmetatable
10 | local wibox = require("wibox")
11 | local beautiful = require("beautiful")
12 | local timer = require("gears.timer")
13 |
14 | local monitor = require("redflat.gauge.monitor.plain")
15 | local tooltip = require("redflat.float.tooltip")
16 | local system = require("redflat.system")
17 | local redutil = require("redflat.util")
18 |
19 | -- Initialize tables and vars for module
20 | -----------------------------------------------------------------------------------------------------------------------
21 | local sysmon = { mt = {} }
22 |
23 | -- Generate default theme vars
24 | -----------------------------------------------------------------------------------------------------------------------
25 | local function default_style()
26 | local style = {
27 | timeout = 5,
28 | width = nil,
29 | widget = monitor.new
30 | }
31 | return redutil.table.merge(style, redutil.table.check(beautiful, "widget.sysmon") or {})
32 | end
33 |
34 | -- Create a new cpu monitor widget
35 | -----------------------------------------------------------------------------------------------------------------------
36 | function sysmon.new(args, style)
37 |
38 | -- Initialize vars
39 | --------------------------------------------------------------------------------
40 | local args = args or {}
41 | local style = redutil.table.merge(default_style(), style or {})
42 |
43 | -- Create monitor widget
44 | --------------------------------------------------------------------------------
45 | local widg = style.widget(style.monitor)
46 |
47 | -- Set tooltip
48 | --------------------------------------------------------------------------------
49 | local tp = tooltip({ objects = { widg } }, style.tooltip)
50 |
51 | -- Set update timer
52 | --------------------------------------------------------------------------------
53 | local t = timer({ timeout = style.timeout })
54 | t:connect_signal("timeout",
55 | function()
56 | local state = args.func(args.arg)
57 | widg:set_value(state.value)
58 | widg:set_alert(state.alert)
59 | tp:set_text(state.text)
60 | end
61 | )
62 | t:start()
63 | t:emit_signal("timeout")
64 |
65 | --------------------------------------------------------------------------------
66 | return widg
67 | end
68 |
69 | -- Config metatable to call module as function
70 | -----------------------------------------------------------------------------------------------------------------------
71 | function sysmon.mt:__call(...)
72 | return sysmon.new(...)
73 | end
74 |
75 | return setmetatable(sysmon, sysmon.mt)
76 |
--------------------------------------------------------------------------------
/.config/awesome/redflat/widget/textclock.lua:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------------------------------------------------------------------
2 | -- RedFlat clock widget --
3 | -----------------------------------------------------------------------------------------------------------------------
4 | -- Text clock widget with date in tooltip (optional)
5 | -----------------------------------------------------------------------------------------------------------------------
6 | -- Some code was taken from
7 | ------ awful.widget.textclock v3.5.2
8 | ------ (c) 2009 Julien Danjou
9 | -----------------------------------------------------------------------------------------------------------------------
10 |
11 | local setmetatable = setmetatable
12 | local os = os
13 | local textbox = require("wibox.widget.textbox")
14 | local beautiful = require("beautiful")
15 | local timer = require("gears.timer")
16 |
17 | local tooltip = require("redflat.float.tooltip")
18 | local redutil = require("redflat.util")
19 |
20 | -- Initialize tables and vars for module
21 | -----------------------------------------------------------------------------------------------------------------------
22 | local textclock = { mt = {} }
23 |
24 | -- Generate default theme vars
25 | -----------------------------------------------------------------------------------------------------------------------
26 | local function default_style()
27 | local style = {
28 | font = "Sans 12",
29 | tooltip = {},
30 | color = { text = "#aaaaaa" }
31 | }
32 | return redutil.table.merge(style, redutil.table.check(beautiful, "widget.textclock") or {})
33 | end
34 |
35 | -- Create a textclock widget. It draws the time it is in a textbox.
36 | -- @param format The time format. Default is " %a %b %d, %H:%M ".
37 | -- @param timeout How often update the time. Default is 60.
38 | -- @return A textbox widget
39 | -----------------------------------------------------------------------------------------------------------------------
40 | function textclock.new(args, style)
41 |
42 | -- Initialize vars
43 | --------------------------------------------------------------------------------
44 | local args = args or {}
45 | local timeformat = args.timeformat or " %a %b %d, %H:%M "
46 | local timeout = args.timeout or 60
47 | local style = redutil.table.merge(default_style(), style or {})
48 |
49 | -- Create widget
50 | --------------------------------------------------------------------------------
51 | local widg = textbox()
52 | widg:set_font(style.font)
53 |
54 | -- Set tooltip if need
55 | --------------------------------------------------------------------------------
56 | local tp
57 | if args.dateformat then tp = tooltip({ objects = { widg } }, style.tooltip) end
58 |
59 | -- Set update timer
60 | --------------------------------------------------------------------------------
61 | local timer = timer({ timeout = timeout })
62 | timer:connect_signal("timeout",
63 | function()
64 | widg:set_markup('' .. os.date(timeformat) .. "")
65 | if args.dateformat then tp:set_text(os.date(args.dateformat)) end
66 | end)
67 | timer:start()
68 | timer:emit_signal("timeout")
69 |
70 | --------------------------------------------------------------------------------
71 | return widg
72 | end
73 |
74 | -- Config metatable to call textclock module as function
75 | -----------------------------------------------------------------------------------------------------------------------
76 | function textclock.mt:__call(...)
77 | return textclock.new(...)
78 | end
79 |
80 | return setmetatable(textclock, textclock.mt)
81 |
--------------------------------------------------------------------------------
/.config/awesome/scripts/pop_mail_checker.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python
2 |
3 | import poplib
4 | from email import parser
5 |
6 | pop_conn = poplib.POP3_SSL('pop.gmail.com')
7 | pop_conn.user('username')
8 | pop_conn.pass_('password')
9 | #Get message num from server:
10 | numMsgs, totalSize = pop_conn.stat()
11 | #Print result:
12 | print numMsgs
13 | #Quit:
14 | pop_conn.quit()
15 |
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/common:
--------------------------------------------------------------------------------
1 | ../colorless/common
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/desktop/bstar.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/desktop/down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/desktop/star.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/desktop/up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/layouts:
--------------------------------------------------------------------------------
1 | ../colorless/layouts
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/widget/audio.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/widget/battery.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/widget/brightness.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/widget/headphones.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/widget/keyboard.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/widget/mail.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/widget/monitor.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/widget/search.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/widget/upgrades.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/blue/widget/wireless.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/awesome.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/blank.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/check.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/player/cover.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/player/next.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/player/pause.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/player/play.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/player/previous.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/submenu.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/unknown.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/warning.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/window_control/below.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/window_control/close.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/window_control/floating.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/window_control/maximized.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/window_control/minimize.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/window_control/ontop.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/common/window_control/pin.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/cornerne.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/cornernw.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/cornerse.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/cornersw.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/fair.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/floating.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/fullscreen.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/grid.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/magnifier.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/map.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/max.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/spiral.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/tile.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/tilebottom.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/tileleft.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/layouts/tiletop.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/wallpaper/primary.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t60r/dots/88ea03ea1ef4a24acada9afea1617d4efdc15e44/.config/awesome/themes/colorless/wallpaper/primary.png
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/widget/down.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/widget/headphones.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/widget/search.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/colorless/widget/up.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/green/common:
--------------------------------------------------------------------------------
1 | ../colorless/common
--------------------------------------------------------------------------------
/.config/awesome/themes/green/desktop/down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/green/desktop/fire.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/green/desktop/up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/green/layouts:
--------------------------------------------------------------------------------
1 | ../colorless/layouts
--------------------------------------------------------------------------------
/.config/awesome/themes/green/widget/audio.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/.config/awesome/themes/green/widget/brightness.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/.config/awesome/themes/green/widget/down.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/green/widget/keyboard.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/green/widget/mail.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/.config/awesome/themes/green/widget/mute.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/green/widget/search.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/green/widget/up.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/green/widget/upgrades.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/orange/common:
--------------------------------------------------------------------------------
1 | ../colorless/common
--------------------------------------------------------------------------------
/.config/awesome/themes/orange/layouts:
--------------------------------------------------------------------------------
1 | ../colorless/layouts
--------------------------------------------------------------------------------
/.config/awesome/themes/orange/widget/audio.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/.config/awesome/themes/orange/widget/brightness.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/.config/awesome/themes/orange/widget/down.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/orange/widget/headphones.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/orange/widget/keyboard.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/orange/widget/mail.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/.config/awesome/themes/orange/widget/search.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/orange/widget/up.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/orange/widget/upgrades.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/red/common:
--------------------------------------------------------------------------------
1 | ../colorless/common
--------------------------------------------------------------------------------
/.config/awesome/themes/red/desktop/down.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/.config/awesome/themes/red/desktop/ed2.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.config/awesome/themes/red/desktop/up.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/.config/awesome/themes/red/layouts:
--------------------------------------------------------------------------------
1 | ../colorless/layouts
--------------------------------------------------------------------------------
/.config/awesome/themes/red/widget/audio.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/.config/awesome/themes/red/widget/brightness.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/.config/awesome/themes/red/widget/keyboard.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/red/widget/mail.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/.config/awesome/themes/red/widget/mute.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/red/widget/search.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/awesome/themes/red/widget/upgrades.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/.config/bspwm/bspwmrc:
--------------------------------------------------------------------------------
1 | #! /bin/sh
2 |
3 | #bspc monitor -d 一 二 三 四 五 六 七 八 九 十
4 | #bspc monitor -d 一 二 三 四 五 六 七
5 | # formal numerals now
6 | bspc monitor -d 壱 弐 参 肆 伍 陸 漆
7 |
8 | background=$(xrdb -query | grep "background" | cut -f2 | sed -r 's/#//' | head -n 1)
9 | foreground=$(xrdb -query | grep "foreground" | cut -f2 | sed -r 's/#//' | head -n 1)
10 | color0=$(xrdb -query | grep "color0" | cut -f2 | sed -r 's/#//' | head -n 1)
11 | color1=$(xrdb -query | grep "color1" | cut -f2 | sed -r 's/#//' | head -n 1)
12 | color2=$(xrdb -query | grep "color2" | cut -f2 | sed -r 's/#//' | head -n 1)
13 | color3=$(xrdb -query | grep "color3" | cut -f2 | sed -r 's/#//' | head -n 1)
14 | color4=$(xrdb -query | grep "color4" | cut -f2 | sed -r 's/#//' | head -n 1)
15 | color5=$(xrdb -query | grep "color5" | cut -f2 | sed -r 's/#//' | head -n 1)
16 | color6=$(xrdb -query | grep "color6" | cut -f2 | sed -r 's/#//' | head -n 1)
17 | color7=$(xrdb -query | grep "color7" | cut -f2 | sed -r 's/#//' | head -n 1)
18 | color8=$(xrdb -query | grep "color8" | cut -f2 | sed -r 's/#//' | head -n 1)
19 |
20 | bspc config border_width 4
21 | bspc config window_gap 8
22 |
23 | bspc config split_ratio 0.50
24 | bspc config borderless_monocle true
25 | bspc config gapless_monocle true
26 | bspc config focus_follows_pointer true
27 |
28 | #bspc config normal_border_color "#$color8"
29 | #bspc config active_border_color "#$color9"
30 | #bspc config focused_border_color "#$color9"
31 | bspc config presel_feedback_color "#$color1"
32 |
33 | bspc rule -a Gimp desktop='^8' state=floating follow=on
34 | bspc rule -a Chromium desktop='^2'
35 | bspc rule -a mplayer2 state=floating
36 | bspc rule -a Kupfer.py focus=on
37 | bspc rule -a Screenkey manage=off
38 |
39 | # Autostart
40 | colors.sh &
41 |
--------------------------------------------------------------------------------
/.config/nvim/appearance.vim:
--------------------------------------------------------------------------------
1 | syntax enable
2 | colorscheme espresso
3 | set laststatus=2
4 | syntax enable
5 | set fillchars+=vert:\
6 |
7 | set nowrap
8 | set number
9 | set relativenumber
10 | set noshowmode
11 |
12 |
13 | set statusline=
14 | set statusline+=%#PrimaryBlock#
15 | set statusline+=%#SecondaryBlock#
16 | set statusline+=%{StatuslineGit()}
17 | set statusline+=%#Blanks#
18 | set statusline+=\ %t\
19 | set statusline+=%(%m%)
20 | set statusline+=%=
21 | set statusline+=%#SecondaryBlock#
22 | set statusline+=\ Ln
23 | set statusline+=\ %l
24 | set statusline+=,Col
25 | set statusline+=\ %c\
26 | set statusline+=%#PrimaryBlock#
27 | set statusline+=\ %Y\
28 |
29 | function! GitBranch()
30 | return system("git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\n'")
31 | endfunction
32 |
33 | function! StatuslineGit()
34 | let l:branchname = GitBranch()
35 | return strlen(l:branchname) > 0?' '.l:branchname.' ':''
36 | endfunction
37 |
38 | " general settings
39 | set nobackup
40 | set nowritebackup
41 | set noswapfile " get rid of swapfiles everywhere
42 | set dir=/tmpset
43 |
44 | syntax on
45 |
46 | set omnifunc=syntaxcomplete#Complete
47 | set completefunc=LanguageClient#complete
48 | set list
49 | filetype indent on
50 | set laststatus=2
51 | set nowrap
52 | set noshowmode
53 | set listchars=tab:│\ ,nbsp:␣,trail:∙,extends:>,precedes:<,eol:¬
54 | set fillchars=vert:\│
55 | set scrolloff=3
56 | set ignorecase
57 | set smartcase
58 | set sidescroll=40
59 | set incsearch
60 | set hlsearch
61 | set undofile
62 | set undodir=~/tmp
63 | set path+=**
64 | set inccommand=split
65 | set backspace=indent,eol,start
66 | set hidden
67 | set wildmenu
68 | set foldmethod=manual
69 | set complete=.,w,b,i,u,t,
70 | "set background=dark
71 | set mouse=a
72 |
--------------------------------------------------------------------------------
/.config/nvim/basic.vim:
--------------------------------------------------------------------------------
1 | set nocompatible
2 | filetype off
3 | filetype plugin on
4 | set nocp
5 | syntax on
6 | filetype plugin indent on
7 | set tabstop=4
8 | set shiftwidth=4
9 | set expandtab
10 | set nobackup
11 | set noswapfile
12 |
--------------------------------------------------------------------------------
/.config/nvim/init.vim:
--------------------------------------------------------------------------------
1 | " vim:fdm=marker
2 |
3 | " __ _______ __ __ _____ _____
4 | " \ \ / /_ _| \/ | __ \ / ____|
5 | " \ \ / / | | | \ / | |__) | |
6 | " \ \/ / | | | |\/| | _ /| |
7 | " \ / _| |_| | | | | \ \| |____
8 | " \/ |_____|_| |_|_| \_\\_____|
9 |
10 |
11 | source ~/.config/nvim/basic.vim
12 | source ~/.config/nvim/plugins.vim
13 | source ~/.config/nvim/appearance.vim
14 | source ~/.config/nvim/mapping.vim
15 | source ~/.config/nvim/syn.vim
16 |
17 |
--------------------------------------------------------------------------------
/.config/nvim/mapping.vim:
--------------------------------------------------------------------------------
1 | imap jj
2 | noremap
3 | noremap
4 | noremap
5 | noremap
6 | noremap za
7 | vnoremap zf
8 | vnoremap s //e=&selection=='exclusive'?'+1':'':call histdel('search',-1)let @/=histget('search',-1)gv
9 | omap s :normal vs
10 | inoremap pumvisible() ? "\" : "\"
11 | inoremap pumvisible() ? "\" : "\"
12 | nnoremap :let _s=@/:%s/\s\+$//e:let @/=_s
13 | autocmd filetype cpp nnoremap :w exec '!g++ '.shellescape('%').' -o '.shellescape('%:r').' && ./'.shellescape('%:r')
14 | set backspace=indent,eol,start
15 |
16 | map :call CompileFile()
17 | function! CompileFile()
18 | let current_filetype = &filetype
19 | if current_filetype == 'python'
20 | :!python %:t
21 | endif
22 | if current_filetype == 'java'
23 | :w
24 | :!javac "%"
25 | :!java -cp "%:p:h" "%:t:r"
26 | endif
27 | endfunction
28 |
--------------------------------------------------------------------------------
/.config/nvim/plugins.vim:
--------------------------------------------------------------------------------
1 | if 0 | endif
2 |
3 | if &compatible
4 | set nocompatible " Be iMproved
5 | endif
6 |
7 | set runtimepath+=~/.vim/bundle/neobundle.vim/
8 |
9 | call neobundle#begin(expand('~/.vim/bundle/'))
10 |
11 | NeoBundleFetch 'Shougo/neobundle.vim'
12 |
13 | NeoBundle 'flazz/vim-colorschemes'
14 | NeoBundle 'scrooloose/nerdcommenter'
15 | NeoBundle 'vim-syntastic/syntastic'
16 | NeoBundle 'kh3phr3n/python-syntax'
17 | NeoBundle 'tmhedberg/SimpylFold'
18 |
19 | NeoBundle 'mhartington/oceanic-next'
20 |
21 | NeoBundle 'roxma/nvim-completion-manager'
22 | NeoBundle 'jalvesaq/Nvim-R'
23 | NeoBundle 'gaalcaras/ncm-R'
24 | NeoBundle 'roxma/ncm-clang'
25 | NeoBundle 'godlygeek/tabular'
26 | call neobundle#end()
27 |
28 | filetype plugin indent on
29 |
30 | NeoBundleCheck
31 |
--------------------------------------------------------------------------------
/.config/nvim/syn.vim:
--------------------------------------------------------------------------------
1 | let g:syntastic_always_populate_loc_list = 1
2 | let g:syntastic_auto_loc_list = 1
3 | let g:syntastic_check_on_open = 1
4 | let g:syntastic_check_on_wq = 0
5 |
6 | set statusline+=%#warningmsg#
7 | set statusline+=%{SyntasticStatuslineFlag()}
8 | set statusline+=%*
9 |
--------------------------------------------------------------------------------
/.config/redshift/hooks/brightness.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # Set brightness via xbrightness when redshift status changes
4 |
5 | # Set brightness values for each status.
6 | # Range from 1 to 100 is valid
7 | brightness_day="100"
8 | brightness_transition="50"
9 | brightness_night="50"
10 | # Set fade time for changes to one minute
11 | fade_time=60000
12 |
13 | case $1 in
14 | period-changed)
15 | case $3 in
16 | night)
17 | xbacklight -set $brightness_night -time $fade_time
18 | ;;
19 | transition)
20 | xbacklight -set $brightness_transition -time $fade_time
21 | ;;
22 | daytime)
23 | xbacklight -set $brightness_day -time $fade_time
24 | ;;
25 | esac
26 | ;;
27 | esac
28 |
--------------------------------------------------------------------------------
/.config/redshift/redshift.conf:
--------------------------------------------------------------------------------
1 | ; Global settings for redshift
2 | [redshift]
3 | ; Set the day and night screen temperatures
4 | temp-day=5700
5 | temp-night=5500
6 |
7 | ; Disable the smooth fade between temperatures when Redshift starts and stops.
8 | ; 0 will cause an immediate change between screen temperatures.
9 | ; 1 will gradually apply the new screen temperature over a couple of seconds.
10 | fade=1
11 |
12 | ; Solar elevation thresholds.
13 | ; By default, Redshift will use the current elevation of the sun to determine
14 | ; whether it is daytime, night or in transition (dawn/dusk). When the sun is
15 | ; above the degrees specified with elevation-high it is considered daytime and
16 | ; below elevation-low it is considered night.
17 | ;elevation-high=3
18 | ;elevation-low=-6
19 |
20 | ; Custom dawn/dusk intervals.
21 | ; Instead of using the solar elevation, the time intervals of dawn and dusk
22 | ; can be specified manually. The times must be specified as HH:MM in 24-hour
23 | ; format.
24 | ;dawn-time=6:00-7:45
25 | ;dusk-time=18:35-20:15
26 |
27 | ; Set the screen brightness. Default is 1.0.
28 | ;brightness=0.9
29 | ; It is also possible to use different settings for day and night
30 | ; since version 1.8.
31 | ;brightness-day=0.7
32 | ;brightness-night=0.4
33 | ; Set the screen gamma (for all colors, or each color channel
34 | ; individually)
35 | gamma=0.8
36 | ;gamma=0.8:0.7:0.8
37 | ; This can also be set individually for day and night since
38 | ; version 1.10.
39 | ;gamma-day=0.8:0.7:0.8
40 | ;gamma-night=0.6
41 |
42 | ; Set the location-provider: 'geoclue2', 'manual'
43 | ; type 'redshift -l list' to see possible values.
44 | ; The location provider settings are in a different section.
45 | location-provider=geoclue2
46 |
47 | ; Set the adjustment-method: 'randr', 'vidmode'
48 | ; type 'redshift -m list' to see all possible values.
49 | ; 'randr' is the preferred method, 'vidmode' is an older API.
50 | ; but works in some cases when 'randr' does not.
51 | ; The adjustment method settings are in a different section.
52 | adjustment-method=randr
53 |
54 | ; Configuration of the location-provider:
55 | ; type 'redshift -l PROVIDER:help' to see the settings.
56 | ; ex: 'redshift -l manual:help'
57 | ; Keep in mind that longitudes west of Greenwich (e.g. the Americas)
58 | ; are negative numbers.
59 | [manual]
60 | lat=41.49
61 | lon=90.48
62 |
63 | ; Configuration of the adjustment-method
64 | ; type 'redshift -m METHOD:help' to see the settings.
65 | ; ex: 'redshift -m randr:help'
66 | ; In this example, randr is configured to adjust only screen 0.
67 | ; Note that the numbering starts from 0, so this is actually the first screen.
68 | ; If this option is not specified, Redshift will try to adjust _all_ screens.
69 | [randr]
70 | screen=0
71 |
--------------------------------------------------------------------------------
/.config/sxhkd/sxhkdrc:
--------------------------------------------------------------------------------
1 | #
2 | # wm independent hotkeys
3 | #
4 | # scrot
5 | super + shift + p
6 | scrot && pkill scrot -q 100
7 |
8 | super + shift + r
9 | pkill polybar && polybar -r burs
10 | # brightness and darkness of monitor
11 | # darker
12 | super + F11
13 | xbacklight -dec 10
14 | # brighter
15 | super + F12
16 | xbacklight -inc 10
17 |
18 | # terminal emulator
19 | super + Return
20 | urxvt
21 |
22 | super + shift + Return
23 | xterm
24 |
25 | # program launcher
26 | super + @space
27 | rofi -show run -show-icons -sidebar-mode -terminal urxvt -font "SF Pro Display Semibold 11"
28 |
29 | # make sxhkd reload its configuration files:
30 | super + Escape
31 | pkill -USR1 -x sxhkd
32 |
33 | #
34 | # bspwm hotkeys
35 | #
36 |
37 | # quit bspwm normally
38 | super + alt + Escape
39 | bspc quit
40 |
41 | # close and kill
42 | super + {_,shift + }w
43 | bspc node -{c,k}
44 |
45 | # alternate between the tiled and monocle layout
46 | super + m
47 | bspc desktop -l next
48 |
49 | # send the newest marked node to the newest preselected node
50 | super + y
51 | bspc node newest.marked.local -n newest.!automatic.local
52 |
53 | # swap the current node and the biggest node
54 | super + g
55 | bspc node -s biggest
56 |
57 | #
58 | # state/flags
59 | #
60 |
61 | # set the window state
62 | super + {t,shift + t,s,f}
63 | bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
64 |
65 | # set the node flags
66 | super + ctrl + {m,x,y,z}
67 | bspc node -g {marked,locked,sticky,private}
68 |
69 | #
70 | # focus/swap
71 | #
72 |
73 | # focus the node in the given direction
74 | super + {_,shift + }{h,j,k,l}
75 | bspc node -{f,s} {west,south,north,east}
76 |
77 | # focus the node for the given path jump
78 | super + {p,b,comma,period}
79 | bspc node -f @{parent,brother,first,second}
80 |
81 | # focus the next/previous node in the current desktop
82 | super + {_,shift + }c
83 | bspc node -f {next,prev}.local
84 |
85 | # focus the next/previous desktop in the current monitor
86 | super + bracket{left,right}
87 | bspc desktop -f {prev,next}.local
88 |
89 | # focus the last node/desktop
90 | super + {grave,Tab}
91 | bspc {node,desktop} -f last
92 |
93 | # focus the older or newer node in the focus history
94 | super + {o,i}
95 | bspc wm -h off; \
96 | bspc node {older,newer} -f; \
97 | bspc wm -h on
98 |
99 | # focus or send to the given desktop
100 | super + {_,shift + }{1-9,0}
101 | bspc {desktop -f,node -d} '^{1-9,10}'
102 |
103 | #
104 | # preselect
105 | #
106 |
107 | # preselect the direction
108 | super + ctrl + {h,j,k,l}
109 | bspc node -p {west,south,north,east}
110 |
111 | # preselect the ratio
112 | super + ctrl + {1-9}
113 | bspc node -o 0.{1-9}
114 |
115 | # cancel the preselection for the focused node
116 | super + ctrl + space
117 | bspc node -p cancel
118 |
119 | # cancel the preselection for the focused desktop
120 | super + ctrl + shift + space
121 | bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
122 |
123 | #
124 | # move/resize
125 | #
126 |
127 | # expand a window by moving one of its side outward
128 | super + alt + {h,j,k,l}
129 | bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
130 |
131 | # contract a window by moving one of its side inward
132 | super + alt + shift + {h,j,k,l}
133 | bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
134 |
135 | # move a floating window
136 | super + {Left,Down,Up,Right}
137 | bspc node -v {-20 0,0 20,0 -20,20 0}
138 |
--------------------------------------------------------------------------------
/.ncmpcpp/config:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------
2 | # file: ~/.ncmpcpp/config
3 | # author: jason ryan - http://jasonwryan.com/
4 | # vim:nu:ai:si:et:ts=4:sw=4:fdm=indent:fdn=1:ft=conf:
5 | #----------------------------------------------------
6 |
7 | mpd_host = "localhost"
8 | mpd_port = "6600"
9 | mpd_music_dir = "/home/winston/music"
10 | mpd_connection_timeout = "5"
11 | playlist_disable_highlight_delay = "3"
12 | message_delay_time = "4"
13 | header_visibility = "no"
14 | statusbar_visibility = "yes"
15 | song_list_format = "{%a - }{%t}|{$5%f$9}$R{$7(%l)$9}"
16 | song_status_format = "$2%a $1• $3%t $1• $4%b {(Disc %d) }$1• $5%y$1"
17 | song_window_title_format = "{%a - }{%t}|{%f}"
18 | song_columns_list_format = "(5f)[blue]{l} (33)[cyan]{t} (32)[green]{a} (30)[magenta]{b}"
19 | playlist_display_mode = "columns" (classic/columns)
20 | browser_display_mode = "columns" (classic/columns)
21 | titles_visibility = "yes"
22 | progressbar_look = "─╼"
23 | user_interface = "classic" (classic/alternative)
24 | header_text_scrolling = "yes"
25 | display_remaining_time = "yes"
26 | ignore_leading_the = "yes"
27 | empty_tag_marker = ""
28 | enable_window_title = "yes"
29 | colors_enabled = "yes"
30 | header_window_color = "magenta"
31 | volume_color = "green"
32 | state_line_color = "yellow"
33 | state_flags_color = "blue"
34 | main_window_color = "cyan"
35 | color1 = "cyan"
36 | color2 = "blue"
37 | main_window_highlight_color = "cyan"
38 | progressbar_color = "yellow"
39 | statusbar_color = "cyan"
40 | active_column_color = "cyan"
41 |
42 |
43 |
--------------------------------------------------------------------------------
/.vimrc:
--------------------------------------------------------------------------------
1 | colorscheme nord
2 | " powerline symbols
3 | let g:airline_left_sep = ''
4 | let g:airline_left_alt_sep = ''
5 | let g:airline_right_sep = ''
6 | let g:airline_right_alt_sep = ''
7 | ""let g:airline_symbols.branch = ''
8 | ""let g:airline_symbols.readonly = ''
9 | ""let g:airline_symbols.linenr = '☰'
10 | ""let g:airline_symbols.maxlinenr = ''
11 | set nocompatible " be iMproved, required
12 | filetype off
13 | let g:airline#extensions#tabline#enabled = 1
14 | set background=dark
15 | set t_Co=16
16 | set mouse=a
17 | set number
18 | syntax on
19 | set ruler
20 | filetype plugin on
21 | filetype indent on
22 | set history=500
23 | set showmatch
24 | set noerrorbells
25 | set novisualbell
26 | set t_vb=
27 | set tm=500
28 | set encoding=utf8
29 | set ffs=unix,dos,mac
30 | " use spaces instead of tabs
31 | set expandtab
32 | set laststatus=2
33 | "set statusline=\ %F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l\ \ Column:\ %c
34 | set colorcolumn=80
35 | :inoremap ( ()i
36 | :inoremap { {}i
37 | :inoremap [ []i
38 | :inoremap " ""i
39 | ":inoremap ' ''i
40 | :inoremap ` ``i
41 | function! GitBranch()
42 | return system("git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\n'")
43 | endfunction
44 |
45 | function! StatuslineGit()
46 | let l:branchname = GitBranch()
47 | return strlen(l:branchname) > 0?' '.l:branchname.' ':''
48 | endfunction
49 |
50 | set statusline=
51 | set statusline+=%#PmenuSel#
52 | set statusline+=%{StatuslineGit()}
53 | set statusline+=%#LineNr#
54 | set statusline+=\ %f
55 | set statusline+=%m\
56 | set statusline+=%=
57 | set statusline+=%#CursorColumn#
58 | set statusline+=\ %y
59 | set statusline+=\ %{&fileencoding?&fileencoding:&encoding}
60 | set statusline+=\[%{&fileformat}\]
61 | set statusline+=\ %p%%
62 | set statusline+=\ %l:%c
63 | set statusline+=\
64 |
--------------------------------------------------------------------------------
/.xinitrc:
--------------------------------------------------------------------------------
1 | #nitrogen --restore &
2 | xrdb merge ./.Xresources &
3 | xsetroot -cursor_name left_ptr &
4 | #flashfocus &
5 | colors.sh &
6 | xset +fp /usr/share/fonts/artwiz-fonts &
7 | xset fp rehash &
8 | #compton --config .compton.conf &
9 | #sxhkd &
10 | #exec bspwm
11 |
12 | case $WM in
13 | 2bwm)
14 | infobar2 &
15 | exec 2bwm
16 | ;;
17 | wmutils)
18 | /usr/local/bin/sxhkd -c ~/.config/sxhkd/sxhkdrc.wmutils
19 | /usr/bin/wew | ~/bin/wchg &
20 | exec ~/bin/wmrc
21 | ;;
22 | xmonad)
23 | exec xmonad
24 | ;;
25 | fvwm)
26 | exec fvwm-crystal
27 | ;;
28 | fluxbox)
29 | exec startfluxbox
30 | ;;
31 | openbox)
32 | exec openbox-session
33 | ;;
34 | kde)
35 | exec startkde
36 | ;;
37 | *)
38 | /usr/bin/polybar -r burs &
39 | /usr/local/bin/sxhkd &
40 | exec /usr/local/bin/bspwm
41 | ;;
42 | esac
43 |
--------------------------------------------------------------------------------
/.xrdb/colors/atelierforest:
--------------------------------------------------------------------------------
1 | ! special
2 | *.foreground: #68615e
3 | *.background: #f1efee
4 | *.cursorColor: #68615e
5 |
6 | ! black
7 | *.color0: #1b1918
8 | *.color8: #766e6b
9 |
10 | ! red
11 | *.color1: #f22c40
12 | *.color9: #f22c40
13 |
14 | ! green
15 | *.color2: #5ab738
16 | *.color10: #5ab738
17 |
18 | ! yellow
19 | *.color3: #d5911a
20 | *.color11: #d5911a
21 |
22 | ! blue
23 | *.color4: #407ee7
24 | *.color12: #407ee7
25 |
26 | ! magenta
27 | *.color5: #6666ea
28 | *.color13: #6666ea
29 |
30 | ! cyan
31 | *.color6: #00ad9c
32 | *.color14: #00ad9c
33 |
34 | ! white
35 | *.color7: #a8a19f
36 | *.color15: #f1efee
37 |
38 |
--------------------------------------------------------------------------------
/.xrdb/colors/google-light:
--------------------------------------------------------------------------------
1 | ! special
2 | *.foreground: #373b41
3 | *.background: #ffffff
4 | *.cursorColor: #373b41
5 |
6 | ! black
7 | *.color0: #1d1f21
8 | *.color8: #969896
9 |
10 | ! red
11 | *.color1: #cc342b
12 | *.color9: #cc342b
13 |
14 | ! green
15 | *.color2: #198844
16 | *.color10: #198844
17 |
18 | ! yellow
19 | *.color3: #fba922
20 | *.color11: #fba922
21 |
22 | ! blue
23 | *.color4: #3971ed
24 | *.color12: #3971ed
25 |
26 | ! magenta
27 | *.color5: #a36ac7
28 | *.color13: #a36ac7
29 |
30 | ! cyan
31 | *.color6: #3971ed
32 | *.color14: #3971ed
33 |
34 | ! white
35 | *.color7: #c5c8c6
36 | *.color15: #ffffff
37 |
38 |
--------------------------------------------------------------------------------
/.xrdb/colors/gruvbox:
--------------------------------------------------------------------------------
1 | ! -----------------------------------------------------------------------------
2 | ! File: gruvbox-dark.xresources
3 | ! Description: Retro groove colorscheme generalized
4 | ! Author: morhetz
5 | ! Source: https://github.com/morhetz/gruvbox-generalized
6 | ! Last Modified: 6 Sep 2014
7 | ! -----------------------------------------------------------------------------
8 |
9 | ! hard contrast: *background: #1d2021
10 | *background: #282828
11 | ! soft contrast: *background: #32302f
12 | *foreground: #ebdbb2
13 | ! Black + DarkGrey
14 | *color0: #282828
15 | *color8: #928374
16 | ! DarkRed + Red
17 | *color1: #cc241d
18 | *color9: #fb4934
19 | ! DarkGreen + Green
20 | *color2: #98971a
21 | *color10: #b8bb26
22 | ! DarkYellow + Yellow
23 | *color3: #d79921
24 | *color11: #fabd2f
25 | ! DarkBlue + Blue
26 | *color4: #458588
27 | *color12: #83a598
28 | ! DarkMagenta + Magenta
29 | *color5: #b16286
30 | *color13: #d3869b
31 | ! DarkCyan + Cyan
32 | *color6: #689d6a
33 | *color14: #8ec07c
34 | ! LightGrey + White
35 | *color7: #a89984
36 | *color15: #ebdbb2
37 |
--------------------------------------------------------------------------------
/.xrdb/colors/monodevek:
--------------------------------------------------------------------------------
1 | *background: #0e0021
2 | *foreground: #c0bbbb
3 | *color0: #000000
4 | *color1: #cb1578
5 | *color2: #8ecb15
6 | *color3: #cb9a15
7 | *color4: #6f15cb
8 | *color5: #cb15c9
9 | *color6: #15b4cb
10 | *color7: #8c8984
11 | *color8: #465457
12 | *color9: #dc5e86
13 | *color10: #9edc60
14 | *color11: #dcb65e
15 | *color12: #7e5edc
16 | *color13: #b75edc
17 | *color14: #5edcb4
18 | *color15: #fffefe
19 |
--------------------------------------------------------------------------------
/.xrdb/colors/mostly-bright:
--------------------------------------------------------------------------------
1 | ! special
2 | *.foreground: #474c57
3 | *.background: #ffffff
4 | *.cursorColor: #fec7cd
5 |
6 | ! black
7 | *.color0 : #737a8a
8 | *.color8 : #636a7a
9 |
10 | ! red
11 | *.color1 : #ef6b7b
12 | *.color9 : #e76373
13 |
14 | ! green
15 | *.color2 : #a1d569
16 | *.color10 : #99cd61
17 |
18 | ! yellow
19 | *.color3 : #f59335
20 | *.color11 : #ed8b2d
21 |
22 | ! blue
23 | *.color4 : #4ec2e8
24 | *.color12 : #46bae0
25 |
26 | ! magenta
27 | *.color5 : #fec7cd
28 | *.color13 : #f6bfc5
29 |
30 | ! cyan
31 | *.color6 : #95c1c0
32 | *.color14 : #8db9b8
33 |
34 | ! white
35 | *.color7 : #dde1e8
36 | *.color15 : #d5d9e0
37 |
--------------------------------------------------------------------------------
/.xrdb/colors/nord:
--------------------------------------------------------------------------------
1 | ! special
2 | *.foreground: #d8dee8
3 | *.background: #2f343f
4 | *.cursorColor: #b48ead
5 |
6 | ! black
7 | *.color0 : #4b5262
8 | *.color8 : #434a5a
9 |
10 | ! red
11 | *.color1 : #bf616a
12 | *.color9 : #b3555e
13 |
14 | ! green
15 | *.color2 : #a3be8c
16 | *.color10 : #93ae7c
17 |
18 | ! yellow
19 | *.color3 : #ebcb8b
20 | *.color11 : #dbbb7b
21 |
22 | ! blue
23 | *.color4 : #81a1c1
24 | *.color12 : #7191b1
25 |
26 | ! magenta
27 | *.color5 : #b48ead
28 | *.color13 : #a6809f
29 |
30 | ! cyan
31 | *.color6 : #89d0bA
32 | *.color14 : #7dbba8
33 |
34 | ! white
35 | *.color7 : #e5e9f0
36 | *.color15 : #d1d5dc
37 |
--------------------------------------------------------------------------------
/.xrdb/fonts/M+1mn:
--------------------------------------------------------------------------------
1 | ! fonts
2 |
3 | URxvt*font: xft:M+ 1mn:size=11
4 | URxvt*boldFont: xft:M+ 1mn:size=11
5 |
--------------------------------------------------------------------------------
/.xrdb/fonts/dina:
--------------------------------------------------------------------------------
1 | !fonts
2 | URxvt.font: -windows-dina-medium-r-normal-*-17-*-*-*-*-*-*-*
3 | URxvt.boldFont: -windows-dina-medium-r-normal-*-17-*-*-*-*-*-*-*
4 |
--------------------------------------------------------------------------------
/.xrdb/fonts/fixed:
--------------------------------------------------------------------------------
1 | ! fonts
2 | URxvt.font: -misc-fixed-medium-r-semicondensed-*-13-120-75-75-c-60-iso8859-1
3 | URxvt.boldFont: -misc-fixed-medium-r-semicondensed-*-13-120-75-75-c-60-iso8859-1
4 |
--------------------------------------------------------------------------------
/.xrdb/fonts/gohu:
--------------------------------------------------------------------------------
1 | !fonts
2 | URxvt.font: -gohu-gohufont-medium-*-*-*-11-*-*-*-*-*-iso8859-*
3 | URxvt.boldFont: -gohu-gohufont-medium-*-*-*-11-*-*-*-*-*-iso8859-*
4 |
--------------------------------------------------------------------------------
/.xrdb/fonts/hack:
--------------------------------------------------------------------------------
1 | ! fonts
2 |
3 | URxvt*font: xft:Hack:size=11
4 | URxvt*boldFont: xft:Hack:size=11
5 |
--------------------------------------------------------------------------------
/.xrdb/fonts/iosevka:
--------------------------------------------------------------------------------
1 | ! fonts
2 |
3 | URxvt*font: xft:Iosevka Term:style=medium:size=11
4 | URxvt*boldFont: xft:Iosevka Term:style=bold:size=11
5 |
--------------------------------------------------------------------------------
/.xrdb/fonts/lime:
--------------------------------------------------------------------------------
1 | ! fonts
2 | URxvt.font: -artwiz-lime-medium-r-normal--10-110-75-75-m-50-iso8859-1
3 | URxvt.boldFont: -artwiz-lime-medium-r-normal--10-110-75-75-m-50-iso8859-1
4 |
--------------------------------------------------------------------------------
/.xrdb/fonts/peep:
--------------------------------------------------------------------------------
1 | ! fonts
2 | URxvt.font: -zevv-peep-medium-r-normal-*-14-130-75-75-c-70-iso8859-15
3 | URxvt.boldFont: -zevv-peep-medium-r-normal-*-14-130-75-75-c-70-iso8859-15
4 |
--------------------------------------------------------------------------------
/.xrdb/fonts/pragmata:
--------------------------------------------------------------------------------
1 | ! fonts
2 |
3 | URxvt*font: xft:PragmataPro:style=regular:size=11
4 | URxvt*boldFont: xft:PragmataPro:style=bold:size=11
5 |
--------------------------------------------------------------------------------
/.xrdb/fonts/scientifica:
--------------------------------------------------------------------------------
1 | ! fonts
2 |
3 | URxvt*font: xft:scientifica:size=13
4 | URxvt*boldFont: xft:scientifica:size=11
5 |
--------------------------------------------------------------------------------
/.xrdb/fonts/sfmono:
--------------------------------------------------------------------------------
1 | ! fonts
2 |
3 | URxvt*font: xft:SF Mono:style=semibold:size=11
4 | URxvt*boldFont: xft:SF Mono:style=bold:size=11
5 |
--------------------------------------------------------------------------------
/.xrdb/fonts/smoothansi:
--------------------------------------------------------------------------------
1 | ! fonts
2 | URxvt.font: -artwiz-smoothansi-medium-r-normal--13-130-75-75-m-60-iso8859-1
3 | URxvt.boldFont: -artwiz-smoothansi-medium-r-normal--13-130-75-75-m-60-iso8859-1
4 |
--------------------------------------------------------------------------------
/.xrdb/fonts/tewi:
--------------------------------------------------------------------------------
1 | ! fonts
2 | URxvt.font: -lucy-tewi-medium-r-normal-*-11-90-100-100-c-60-iso10646-1
3 | URxvt.boldFont: -lucy-tewi-medium-r-normal-*-11-90-100-100-c-60-iso10646-1
4 |
--------------------------------------------------------------------------------
/.xrdb/rofi/atelierforest:
--------------------------------------------------------------------------------
1 | rofi.color-enabled: true
2 | rofi.color-window: #f1efee, #f1efee, #f1efee
3 | rofi.color-normal: #f1efee, #d8dee8, #f1efee, #f1efee, #bf616a
4 | rofi.color-active: #f1efee, #b48ead, #f1efee, #f1efee, #93e5cc
5 | rofi.color-urgent: #f1efee, #ebcb8b, #f1efee, #f1efee, #ebcb8b
6 |
--------------------------------------------------------------------------------
/.xrdb/rofi/nord:
--------------------------------------------------------------------------------
1 | rofi.color-enabled: true
2 | rofi.color-window: #2f343f, #2f343f, #2f343f
3 | rofi.color-normal: #2f343f, #d8dee8, #2f343f, #2f343f, #bf616a
4 | rofi.color-active: #2f343f, #b48ead, #2f343f, #2f343f, #93e5cc
5 | rofi.color-urgent: #2f343f, #ebcb8b, #2f343f, #2f343f, #ebcb8b
6 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # dots
2 | This repo is for storing my dotfiles and configs
3 |
--------------------------------------------------------------------------------
/scripts/colors.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | background=$(xrdb -query | grep "background" | cut -f2 | sed -r 's/#//' | head -n 1)
3 | foreground=$(xrdb -query | grep "foreground" | cut -f2 | sed -r 's/#//' | head -n 1)
4 | color0=$(xrdb -query | grep "color0" | cut -f2 | sed -r 's/#//' | head -n 1)
5 | color1=$(xrdb -query | grep "color1" | cut -f2 | sed -r 's/#//' | head -n 1)
6 | color2=$(xrdb -query | grep "color2" | cut -f2 | sed -r 's/#//' | head -n 1)
7 | color3=$(xrdb -query | grep "color3" | cut -f2 | sed -r 's/#//' | head -n 1)
8 | color4=$(xrdb -query | grep "color4" | cut -f2 | sed -r 's/#//' | head -n 1)
9 | color5=$(xrdb -query | grep "color5" | cut -f2 | sed -r 's/#//' | head -n 1)
10 | color6=$(xrdb -query | grep "color6" | cut -f2 | sed -r 's/#//' | head -n 1)
11 | color7=$(xrdb -query | grep "color7" | cut -f2 | sed -r 's/#//' | head -n 1)
12 | color8=$(xrdb -query | grep "color8" | cut -f2 | sed -r 's/#//' | head -n 1)
13 | color9=$(xrdb -query | grep "color9" | cut -f2 | sed -r 's/#//' | head -n 1)
14 | color10=$(xrdb -query | grep "color10" | cut -f2 | sed -r 's/#//' | head -n 1)
15 | color11=$(xrdb -query | grep "color11" | cut -f2 | sed -r 's/#//' | head -n 1)
16 | color12=$(xrdb -query | grep "color12" | cut -f2 | sed -r 's/#//' | head -n 1)
17 | color13=$(xrdb -query | grep "color13" | cut -f2 | sed -r 's/#//' | head -n 1)
18 | color14=$(xrdb -query | grep "color14" | cut -f2 | sed -r 's/#//' | head -n 1)
19 | color15=$(xrdb -query | grep "color15" | cut -f2 | sed -r 's/#//' | head -n 1)
20 |
21 | bspc config normal_border_color "#$color8"
22 | bspc config active_border_color "#$color9"
23 | bspc config focused_border_color "#$color9"
24 | bspc config presel_feedback_color "#$color1"
25 | #END
26 |
--------------------------------------------------------------------------------
/scripts/readydots.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | cp ~/.Xresources ~/git/dots
4 | cp ~/.config/bspwm/bspwmrc ~/git/dots/.config/bspwm/
5 | cp ~/.config/sxhkd/sxhkdrc ~/git/dots/.config/sxhkd/
6 | cp ~/.config/polybar/config ~/git/dots/.config/polybar/
7 | cp ~/.config/neofetch/config.conf ~/git/dots/.config/neofetch/
8 | cp ~/.vimrc ~/git/dots/.vimrc
9 | cp ~/.xrdb/colors/* ~/git/dots/.xrdb/colors/
10 | cp ~/.xrdb/fonts/* ~/git/dots/.xrdb/fonts/
11 | cp ~/.xrdb/rofi/* ~/git/dots/.xrdb/rofi/
12 | cp ~/.xinitrc ~/git/dots/
13 | cp ~/.ncmpcpp/config ~/git/dots/.ncmpcpp/
14 | cp ~/builds/2bwm/2bwm/config.h ~/git/dots/2bwm
15 | cp ~/bin/colors.sh ~/git/dots/scripts
16 | cp ~/.config/libinput-gestures.conf ~/git/dots/.config
17 | cp ~/bin/readydots.sh ~/git/dots/scripts
18 | cp ~/.config/redshift/redshift.conf ~/git/dots/.config/redshift
19 | cp ~/.config/redshift/hooks/brightness.sh ~/git/dots/.config/redshift/hooks
20 | #END
21 |
--------------------------------------------------------------------------------