Adding polybar and dedupbw

This commit is contained in:
Chris Cochrun 2021-01-13 05:18:50 -06:00
parent 52542754c8
commit 6fea3e862b
6 changed files with 148 additions and 159 deletions

View file

@ -64,12 +64,12 @@
(local alt "Mod1") (local alt "Mod1")
;; Set hostname so that we can utilize specific features on different machines ;; Set hostname so that we can utilize specific features on different machines
(global laptop true)
(awful.spawn.easy_async "hostname" (fn [ stdout stderr reason exit_code ] (awful.spawn.easy_async "hostname" (fn [ stdout stderr reason exit_code ]
(if (= "chris-linuxlaptop\n" stdout) (if (= "chris-linuxlaptop\n" stdout)
(global laptop true) (global laptop true)
(naughty.notify {:text "didn't set"})))) (naughty.notify {:text "didn't set"}))))
(if laptop (naughty.notify {:text "yayyayayayayayyay"})) (if laptop (naughty.notify {:text "laptop detected"}))
(naughty.notify {:text (tostring laptop)})
;; Table of layouts to cover with awful.layout.inc, order matters. ;; Table of layouts to cover with awful.layout.inc, order matters.
(set awful.layout.layouts [ (set awful.layout.layouts [

View file

@ -14,9 +14,10 @@
(let [cb (or ?callback (fn [] nil))] (let [cb (or ?callback (fn [] nil))]
(awful.spawn.easy_async_with_shell "pamixer --get-volume-human" cb))) (awful.spawn.easy_async_with_shell "pamixer --get-volume-human" cb)))
(if (= "chris-linuxlaptop" (awful.spawn "hostname")) (awful.spawn.easy_async "cat /etc/hostname" (fn [ stdout stderr reason exit_code ]
(global bwmenu "bwmenu -- -config /home/chris/.dotfiles/rofi/launchers-git/laptop.rasi") (if (= "chris-linuxlaptop\n" stdout)
(global bwmenu "bwmenu -- -config /home/chris/.dotfiles/rofi/launchers-git/desktop.rasi")) (global bwmenu "bwmenu -- -config /home/chris/.dotfiles/rofi/launchers-git/laptop.rasi")
(global bwmenu "bwmenu -- -config /home/chris/.dotfiles/rofi/launchers-git/desktop.rasi"))))
(local keybindings (local keybindings
{ {

View file

@ -1,6 +1,6 @@
#!/usr/bin/env fish #!/usr/bin/env fish
set -U fish_user_paths $HOME/.local/bin $HOME/scripts $HOME/.doom-emacs/bin set -U fish_user_paths $HOME/.local/bin $HOME/scripts $HOME/.doom-emacs/bin $HOME/.emacs.d/bin
set TERM "xterm-256color" set TERM "xterm-256color"
set EDITOR "emacsclient -t -a" set EDITOR "emacsclient -t -a"
set VISUAL "emacsclient -c -a emacs" set VISUAL "emacsclient -c -a emacs"

View file

@ -30,4 +30,4 @@ SETUVAR fish_pager_color_completion:\x1d
SETUVAR fish_pager_color_description:B3A06D\x1eyellow SETUVAR fish_pager_color_description:B3A06D\x1eyellow
SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_user_paths:/home/chris/\x2elocal/bin\x1e/home/chris/scripts\x1e/home/chris/\x2edoom\x2demacs/bin SETUVAR fish_user_paths:/home/chris/\x2elocal/bin\x1e/home/chris/scripts\x1e/home/chris/\x2edoom\x2demacs/bin\x1e/home/chris/\x2eemacs\x2ed/bin

View file

@ -21,64 +21,56 @@
background = #282a36 background = #282a36
background-alt = #34353e background-alt = #34353e
;foreground = ${xrdb:color7:#222} ;foreground = ${xrdb:color7:#222}
foreground = #e3e4e5 foreground = #a5a5a9
foreground-alt = #a5a5a9 foreground-alt = #e2e4e5
primary = #ff9f43 primary = #57c7ff
secondary = #57c7ff secondary = #f3f99d
alert = #ff5c57 alert = #ff5c57
green= #5af78e
[bar/main] [bar/float]
;monitor = ${env:MONITOR:HDMI-1} ;monitor = ${env:MONITOR:HDMI-1}
width = 100% width = 100%
height = 27 height = 60
; offset-x = 6% ;offset-x = 1%
offset-y = 0.5% ;offset-y = 1%
radius = 12.0 radius = 28.0
fixed-center = true fixed-center = true
bottom = true bottom = true
background = ${colors.background} background = ${colors.background}
foreground = ${colors.foreground} foreground = ${colors.foreground}
line-size = 2 line-size = 3
line-color = ${colors.secondary} line-color = #f00
border-size = 4 border-size = 15
border-color = #00000000 border-color = #00000000
padding-left = 0 padding-left = 13
padding-right = 2 padding-right = 2
module-margin-left = 1 module-margin-left = 1
module-margin-right = 2 module-margin-right = 1
font-0 = "fixed:pixelsize=12;1" font-0 = VictorMono Nerd Font Mono:size=20;1
font-1 = "Unifont:style=Sans-Serif:size=12:antialias=false;0" font-1 = unifont:fontformat=truetype:size=19:antialias=false;0
font-2 = "Wuncon Siji:pixelsize=12;1" font-2 = siji:pixelsize=30;1
font-3 = "Recursive Sans Linear Light:size=10;1" font-3 = all-the-icons:size=40;1
font-4 = "Noto Sans:size=10;1"
font-5 = "Noto Color Emoji:style=Regular:size=10;1"
modules-left = xwindow modules-left = exwm-buffer-name
modules-center = date modules-center = date
modules-right = filesystem pulseaudio memory cpu eth temperature powermenu modules-right = filesystem exwm-mail xbacklight pulseaudio memory cpu wlan battery powermenu
tray-position = center tray-position = center
tray-detatched = false tray-padding = 5
tray-padding = 4 tray-maxsize = 30
tray-maxsize = 16 tray-offset-x = -1400
tray-scale = 1
tray-offset-x = 200
tray-offset-y = 1
tray-background = ${colors.background}
tray-radius = 12.0
enable-ipc = true
;wm-restack = bspwm ;wm-restack = bspwm
;wm-restack = i3 ;wm-restack = i3
override-redirect = false ;override-redirect = true
;scroll-up = bspwm-desknext ;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev ;scroll-down = bspwm-deskprev
@ -89,30 +81,24 @@ override-redirect = false
cursor-click = pointer cursor-click = pointer
cursor-scroll = ns-resize cursor-scroll = ns-resize
[settings] enable-ipc = true
throttle-output = 5 [module/exwm-buffer-name]
throttle-output-for = 10 type = custom/ipc
throttle-input-for = 30 hook-0 = emacsclient -e "(buffer-name)"
initial = 1
format-foreground = ${colors.primary}
screenchange-reload = false [module/exwm-mail]
type = custom/ipc
compositing-background = source hook-0 = emacsclient -e "mu4e-alert-mode-line"
compositing-foreground = over initial = 1
compositing-overline = over format-prefix = " "
compositing-underline = over format-prefix-foreground = ${colors.secondary}
compositing-border = over
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
pseudo-transparency = false
[module/xwindow] [module/xwindow]
type = internal/xwindow type = internal/xwindow
label = " %title:0:30:...%" label = %title:0:30:...%
[module/xkeyboard] [module/xkeyboard]
type = internal/xkeyboard type = internal/xkeyboard
@ -140,86 +126,13 @@ label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt} label-unmounted-foreground = ${colors.foreground-alt}
; [module/bspwm]
; type = internal/bspwm
; label-focused = %index%
; label-focused-background = ${colors.background-alt}
; label-focused-underline= ${colors.primary}
; label-focused-padding = 2
; label-occupied = %index%
; label-occupied-padding = 2
; label-urgent = %index%!
; label-urgent-background = ${colors.alert}
; label-urgent-padding = 2
; label-empty = %index%
; label-empty-foreground = ${colors.foreground-alt}
; label-empty-padding = 2
; Separator in between workspaces
; label-separator = |
; [module/i3]
; type = internal/i3
; format = <label-state> <label-mode>
; index-sort = true
; wrapping-scroll = false
; ; Only show workspaces on the same output as the bar
; ;pin-workspaces = true
; label-mode-padding = 2
; label-mode-foreground = #000
; label-mode-background = ${colors.primary}
; ; focused = Active workspace on focused monitor
; label-focused = %index%
; label-focused-background = ${colors.background-alt}
; label-focused-underline= ${colors.primary}
; label-focused-padding = 2
; ; unfocused = Inactive workspace on any monitor
; label-unfocused = %index%
; label-unfocused-padding = 2
; ; visible = Active workspace on unfocused monitor
; label-visible = %index%
; label-visible-background = ${self.label-focused-background}
; label-visible-underline = ${self.label-focused-underline}
; label-visible-padding = ${self.label-focused-padding}
; ; urgent = Workspace with urgency hint set
; label-urgent = %index%
; label-urgent-background = ${colors.alert}
; label-urgent-padding = 2
; ; Separator in between workspaces
; ; label-separator = |
; [module/mpd]
; type = internal/mpd
; format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
; icon-prev = 
; icon-stop = 
; icon-play = 
; icon-pause = 
; icon-next = 
; label-song-maxlen = 24
; label-song-ellipsis = true
[module/xbacklight] [module/xbacklight]
type = internal/xbacklight type = internal/xbacklight
format = <label> <bar> format = <label> <bar>
label = BL label = BL
bar-width = 10 bar-width = 5
bar-indicator = | bar-indicator = |
bar-indicator-foreground = #fff bar-indicator-foreground = #fff
bar-indicator-font = 2 bar-indicator-font = 2
@ -238,29 +151,20 @@ card = intel_backlight
[module/cpu] [module/cpu]
type = internal/cpu type = internal/cpu
interval = 2 interval = 2
format = <ramp-load> <label> format-prefix = " "
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt} format-prefix-foreground = ${colors.foreground-alt}
format-underline = #f90000
label = %percentage:2%% label = %percentage:2%%
ramp-load-spacing = 4
ramp-load-0 = ▁
ramp-load-1 = ▃
ramp-load-2 = ▅
ramp-load-3 = ▇
[module/memory] [module/memory]
type = internal/memory type = internal/memory
interval = 2 interval = 2
format-prefix = " " format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt} format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${colors.alert}
label = %percentage_used%% label = %percentage_used%%
[module/wlan] [module/wlan]
type = internal/network type = internal/network
interface = net1 interface = wlp3s0
interval = 3.0 interval = 3.0
format-connected = <ramp-signal> <label-connected> format-connected = <ramp-signal> <label-connected>
@ -282,10 +186,9 @@ ramp-signal-foreground = ${colors.foreground-alt}
[module/eth] [module/eth]
type = internal/network type = internal/network
interface = enp0s31f6 interface = enp0s20f0u4u2
interval = 3.0 interval = 3.0
format-connected = <label-connected>
format-connected-underline = #55aa55 format-connected-underline = #55aa55
format-connected-prefix = " " format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt} format-connected-prefix-foreground = ${colors.foreground-alt}
@ -301,17 +204,16 @@ format-disconnected =
type = internal/date type = internal/date
interval = 5 interval = 5
date = "%a %b %d" date = "%a %b %e, "
date-alt = " %Y-%m-%d" date-alt = " %Y-%m-%d"
time = %I:%M %p time = %l:%M %p
time-alt = %I:%M:%S time-alt = %H:%M
format-prefix =  format-prefix = 
format-prefix-foreground = ${colors.foreground-alt} format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5
label = %date% | %time% label = %date%%time%
[module/pulseaudio] [module/pulseaudio]
type = internal/pulseaudio type = internal/pulseaudio
@ -344,7 +246,7 @@ bar-volume-empty-foreground = ${colors.foreground-alt}
type = internal/alsa type = internal/alsa
format-volume = <label-volume> <bar-volume> format-volume = <label-volume> <bar-volume>
label-volume = VOL %percentage% label-volume = VOL
label-volume-foreground = ${root.foreground} label-volume-foreground = ${root.foreground}
format-muted-prefix = " " format-muted-prefix = " "
@ -370,7 +272,7 @@ bar-volume-empty-foreground = ${colors.foreground-alt}
[module/battery] [module/battery]
type = internal/battery type = internal/battery
battery = BAT0 battery = BAT1
adapter = ADP1 adapter = ADP1
full-at = 98 full-at = 98
@ -380,8 +282,8 @@ format-charging-underline = #ffb52a
format-discharging = <animation-discharging> <label-discharging> format-discharging = <animation-discharging> <label-discharging>
format-discharging-underline = ${self.format-charging-underline} format-discharging-underline = ${self.format-charging-underline}
format-full-prefix = " " format-full-prefix = " "
format-full-prefix-foreground = ${colors.foreground-alt} format-full-prefix-foreground = ${colors.green}
format-full-underline = ${self.format-charging-underline} format-full-underline = ${self.format-charging-underline}
ramp-capacity-0 =  ramp-capacity-0 = 
@ -449,8 +351,16 @@ menu-2-0-exec = sudo poweroff
menu-2-1 = cancel menu-2-1 = cancel
menu-2-1-exec = menu-open-0 menu-2-1-exec = menu-open-0
[settings]
screenchange-reload = true
compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
pseudo-transparency = true
[global/wm] [global/wm]
margin-top = 0 margin-top = 3
margin-bottom = 0 margin-bottom = 2
; vim:ft=dosini ; vim:ft=dosini

78
scripts/dedupbw Executable file
View file

@ -0,0 +1,78 @@
#!/usr/bin/env python3
# dedup.py
# Removes duplicates from Bitwarden export .csv
# 2019-02-09 5erif
import sys
import hashlib
from urllib.parse import urlparse
# Field ordinals in Bitwarden CSV
FOLDER = 0
FAVORITE = 1
TYPE = 2
NAME = 3
NOTES = 4
FIELDS = 5
URI = 6
USERNAME = 7
PASSWORD = 8
TOTP = 9
def main(argv):
if len(argv) < 1:
print('Missing input file path')
sys.exit(1)
in_file_path = argv[0]
out_file_path = in_file_path[0:(len(in_file_path)-4)]+'_out.csv'
rem_file_path = in_file_path[0:(len(in_file_path)-4)]+'_rem.csv'
completed_lines_hash = set()
line_number = -1
write_count = 0
cache = ''
out_file = open(out_file_path, 'w', encoding = 'utf8')
rem_file = open(rem_file_path, 'w', encoding = 'utf8')
for line in open(in_file_path, 'r', encoding = 'utf8'):
line_number += 1
fields = line.split(',')
if len(fields) < 10:
# Add previous line if short
line = cache.strip('\n') + line
cache = line
fields = line.split(',')
if len(fields) > 9:
print(f'Recovered with line {line_number}:\n{line}')
cache = ''
else:
print(f'Missing fields in line {line_number}:\n{line}')
rem_file.write(line)
continue
else:
cache = ''
if line_number != 0:
domain = urlparse(fields[URI]).netloc
if len(domain) > 0:
fields[URI] = domain
token = fields[URI] + fields[USERNAME] + fields[PASSWORD]
hashValue = hashlib.md5(token.rstrip().encode('utf-8')).hexdigest()
if hashValue not in completed_lines_hash:
out_file.write(line)
completed_lines_hash.add(hashValue)
write_count += 1
else:
rem_file.write(line)
# Uncomment for verbose mode
# print(f'Skipping duplicate on line {line_number}:\n{line}')
out_file.close()
rem_file.close()
dup_count = line_number - write_count
print(f'\nOutput file: {out_file_path}\n{write_count} unique entries saved')
print(f'\n{dup_count} duplicates saved to {rem_file_path}')
if __name__ == "__main__":
main(sys.argv[1:])