Initial commit
commit
2415fd2187
|
@ -0,0 +1,153 @@
|
||||||
|
# This file has been auto-generated by i3-config-wizard(1).
|
||||||
|
# It will not be overwritten, so edit it as you like.
|
||||||
|
#
|
||||||
|
# Should you change your keyboard layout some time, delete
|
||||||
|
# this file and re-run i3-config-wizard(1).
|
||||||
|
#
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod1
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
font pango:Roboto, Bold 10
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec i3-sensible-terminal
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+q kill
|
||||||
|
|
||||||
|
# start dmenu (a program launcher)
|
||||||
|
bindsym $mod+d exec rofi -show run
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+h split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+z layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+Shift+q focus parent
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+ampersand workspace 1
|
||||||
|
bindsym $mod+eacute workspace 2
|
||||||
|
bindsym $mod+quotedbl workspace 3
|
||||||
|
bindsym $mod+apostrophe workspace 4
|
||||||
|
bindsym $mod+parenleft workspace 5
|
||||||
|
bindsym $mod+minus workspace 6
|
||||||
|
bindsym $mod+egrave workspace 7
|
||||||
|
bindsym $mod+underscore workspace 8
|
||||||
|
bindsym $mod+ccedilla workspace 9
|
||||||
|
bindsym $mod+agrave workspace 10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+ampersand move container to workspace 1
|
||||||
|
bindsym $mod+Shift+eacute move container to workspace 2
|
||||||
|
bindsym $mod+Shift+quotedbl move container to workspace 3
|
||||||
|
bindsym $mod+Shift+apostrophe move container to workspace 4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace 5
|
||||||
|
bindsym $mod+Shift+minus move container to workspace 6
|
||||||
|
bindsym $mod+Shift+egrave move container to workspace 7
|
||||||
|
bindsym $mod+Shift+underscore move container to workspace 8
|
||||||
|
bindsym $mod+Shift+ccedilla move container to workspace 9
|
||||||
|
bindsym $mod+Shift+agrave move container to workspace 10
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# all windows (except non-float) have a 1px border
|
||||||
|
new_window pixel 1
|
||||||
|
|
||||||
|
# hide borders when touching edges
|
||||||
|
hide_edge_borders both
|
||||||
|
|
||||||
|
#do not sync mouse position and focus
|
||||||
|
focus_follows_mouse no
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||||
|
# finds out, if available)
|
||||||
|
#bar {
|
||||||
|
#status_command i3status
|
||||||
|
#}
|
||||||
|
|
||||||
|
#put workspace 1 on main screen
|
||||||
|
workspace 1 output DVI-D-0
|
||||||
|
|
||||||
|
#press the same combinaison for changing workspace to get back to old workspace (like cd -)
|
||||||
|
workspace_auto_back_and_forth yes
|
||||||
|
|
||||||
|
#start compositor
|
||||||
|
exec --no-startup-id compton
|
||||||
|
|
||||||
|
#start polybar
|
||||||
|
exec_always --no-startup-id $HOME/.config/polybar/scripts/launch_polybar.sh
|
||||||
|
|
||||||
|
#fr
|
||||||
|
exec setxkbmap fr
|
||||||
|
|
||||||
|
#numlock
|
||||||
|
exec numlockx on
|
||||||
|
|
||||||
|
#popup config Firefox
|
||||||
|
for_window [window_role="About"] floating enable
|
||||||
|
for_window [window_role="Organizer"] floating enable
|
|
@ -0,0 +1,138 @@
|
||||||
|
# This file has been auto-generated by i3-config-wizard(1).
|
||||||
|
# It will not be overwritten, so edit it as you like.
|
||||||
|
#
|
||||||
|
# Should you change your keyboard layout some time, delete
|
||||||
|
# this file and re-run i3-config-wizard(1).
|
||||||
|
#
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod1
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
font pango:Roboto, Bold 10
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec i3-sensible-terminal
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+q kill
|
||||||
|
|
||||||
|
# start dmenu (a program launcher)
|
||||||
|
bindsym $mod+d exec rofi -show run
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+h split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+z layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+Shift+q focus parent
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+ampersand workspace 1
|
||||||
|
bindsym $mod+eacute workspace 2
|
||||||
|
bindsym $mod+quotedbl workspace 3
|
||||||
|
bindsym $mod+apostrophe workspace 4
|
||||||
|
bindsym $mod+parenleft workspace 5
|
||||||
|
bindsym $mod+minus workspace 6
|
||||||
|
bindsym $mod+egrave workspace 7
|
||||||
|
bindsym $mod+underscore workspace 8
|
||||||
|
bindsym $mod+ccedilla workspace 9
|
||||||
|
bindsym $mod+agrave workspace 10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+ampersand move container to workspace 1
|
||||||
|
bindsym $mod+Shift+eacute move container to workspace 2
|
||||||
|
bindsym $mod+Shift+quotedbl move container to workspace 3
|
||||||
|
bindsym $mod+Shift+apostrophe move container to workspace 4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace 5
|
||||||
|
bindsym $mod+Shift+minus move container to workspace 6
|
||||||
|
bindsym $mod+Shift+egrave move container to workspace 7
|
||||||
|
bindsym $mod+Shift+underscore move container to workspace 8
|
||||||
|
bindsym $mod+Shift+ccedilla move container to workspace 9
|
||||||
|
bindsym $mod+Shift+agrave move container to workspace 10
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# all windows (except non-float) have a 1px border
|
||||||
|
new_window pixel 1
|
||||||
|
|
||||||
|
# hide borders when touching edges
|
||||||
|
hide_edge_borders both
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||||
|
# finds out, if available)
|
||||||
|
#bar {
|
||||||
|
#status_command i3status
|
||||||
|
#}
|
||||||
|
|
||||||
|
#put workspace 1 on main screen
|
||||||
|
workspace 1 output DVI-D-0
|
||||||
|
|
||||||
|
#press the same combinaison for changing workspace to get back to old workspace (like cd -)
|
||||||
|
workspace_auto_back_and_forth yes
|
||||||
|
|
||||||
|
#start compositor
|
||||||
|
exec compton -b
|
||||||
|
|
|
@ -0,0 +1,343 @@
|
||||||
|
;=====================================================
|
||||||
|
;
|
||||||
|
; To learn more about how to configure Polybar
|
||||||
|
; go to https://github.com/jaagr/polybar
|
||||||
|
;
|
||||||
|
; The README contains alot of information
|
||||||
|
;
|
||||||
|
;=====================================================
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
background = #1f1f1f
|
||||||
|
background-alt = #444
|
||||||
|
foreground = #eee
|
||||||
|
foreground-alt = #555
|
||||||
|
primary = #ffb52a
|
||||||
|
secondary = #e60053
|
||||||
|
alert = #bd2c40
|
||||||
|
accent = #fba922
|
||||||
|
|
||||||
|
[bar/chostytopbar]
|
||||||
|
width = 100%
|
||||||
|
monitor = ${env:MONITOR:HDMI-0}
|
||||||
|
enable-ipc = true
|
||||||
|
height = 27
|
||||||
|
|
||||||
|
background = ${colors.background}
|
||||||
|
foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
line-size = 3
|
||||||
|
line-color = #f00
|
||||||
|
|
||||||
|
overline-size = 10
|
||||||
|
overline-color = ${self.background}
|
||||||
|
underline-size = 10
|
||||||
|
underline-color = ${self.background}
|
||||||
|
|
||||||
|
border-bottom-size = 1
|
||||||
|
border-bottom-color = #333
|
||||||
|
|
||||||
|
padding-left = 2
|
||||||
|
padding-right = 5
|
||||||
|
module-margin-left = 4
|
||||||
|
module-margin-right = 4
|
||||||
|
|
||||||
|
font-0 = NotoSans-Regular:size=10;2
|
||||||
|
font-1 = MaterialIcons-Regular:size=11;4
|
||||||
|
font-2 = Symbola:size=10;2
|
||||||
|
font-3 = Weather Icons:size=10;3
|
||||||
|
|
||||||
|
modules-left = powermenu system-uptime-pretty
|
||||||
|
modules-center = xwindow
|
||||||
|
modules-right = pulseaudio gmail system-usb-udev date
|
||||||
|
|
||||||
|
locale = fr_FR.UTF-8
|
||||||
|
|
||||||
|
tray-position = right
|
||||||
|
|
||||||
|
[bar/chostybottombar]
|
||||||
|
width = 100%
|
||||||
|
monitor = ${env:MONITOR:HDMI-0}
|
||||||
|
bottom = true
|
||||||
|
enable-ipc = true
|
||||||
|
height = 27
|
||||||
|
|
||||||
|
background = #1c1c1c
|
||||||
|
foreground = #eefafafa
|
||||||
|
|
||||||
|
line-size = 3
|
||||||
|
line-color = #f00
|
||||||
|
|
||||||
|
overline-size = 3
|
||||||
|
overline-color = ${colors.accent}
|
||||||
|
underline-size = 3
|
||||||
|
underline-color = ${colors.accent}
|
||||||
|
|
||||||
|
border-top-size = 3
|
||||||
|
border-top-color = #3d3d3d
|
||||||
|
|
||||||
|
spacing = 3
|
||||||
|
padding-left = 0
|
||||||
|
padding-right = 5
|
||||||
|
module-margin-left = 6
|
||||||
|
module-margin-right = 6
|
||||||
|
|
||||||
|
font-0 = Roboto:size=10;2
|
||||||
|
font-1 = Symbola:size=4;1
|
||||||
|
font-2 = Symbola:size=5;1
|
||||||
|
font-3 = MaterialIcons-Regular:size=11;4
|
||||||
|
font-4 = Font Awesome 5 Free:style=solid:size=10;2
|
||||||
|
|
||||||
|
modules-left = i3
|
||||||
|
;modules-center =
|
||||||
|
modules-right = wireless-network wired-network updates-arch-combined temperature cpu memory filesystem-custom
|
||||||
|
|
||||||
|
locale = fr_FR.UTF-8
|
||||||
|
|
||||||
|
[module/xwindow]
|
||||||
|
type = internal/xwindow
|
||||||
|
label = %{F#ddd}%title%
|
||||||
|
label-maxlen=100
|
||||||
|
|
||||||
|
[module/wireless-network]
|
||||||
|
type = internal/network
|
||||||
|
interface = wlp8s0
|
||||||
|
interval = 1
|
||||||
|
label-connected = %{F#ddd}%essid% %local_ip% %{F#77dd77}%{F-}%downspeed% %{F#dd7777}%{F-}%upspeed%
|
||||||
|
label-disconnected = Ethernet disconnected
|
||||||
|
label-disconnected-foreground = #66
|
||||||
|
|
||||||
|
[module/i3]
|
||||||
|
type = internal/i3
|
||||||
|
format = <label-state> <label-mode>
|
||||||
|
|
||||||
|
index-sort = true
|
||||||
|
|
||||||
|
ws-icon-0 = term;
|
||||||
|
ws-icon-1 = web;
|
||||||
|
ws-icon-2 = code;
|
||||||
|
ws-icon-3 = music;
|
||||||
|
ws-icon-4 = irssi;
|
||||||
|
ws-icon-default =
|
||||||
|
|
||||||
|
label-dimmed-underline = ${root.background}
|
||||||
|
|
||||||
|
label-focused = %icon% %name%
|
||||||
|
label-focused-foreground = #f3f3f3
|
||||||
|
label-focused-background = #3f3f3f
|
||||||
|
;label-focused-underline = #${colors.accent}
|
||||||
|
label-focused-underline = #9f78e1
|
||||||
|
label-focused-font = 0
|
||||||
|
label-focused-padding = 4
|
||||||
|
|
||||||
|
label-unfocused = %icon% %name%
|
||||||
|
label-unfocused-underline = #555555
|
||||||
|
label-unfocused-font = 0
|
||||||
|
label-unfocused-padding = 4
|
||||||
|
|
||||||
|
label-urgent = %icon% %name%
|
||||||
|
label-urgent-foreground = #000000
|
||||||
|
label-urgent-background = #bd2c40
|
||||||
|
label-urgent-underline = #9b0a20
|
||||||
|
label-urgent-font = 0
|
||||||
|
label-urgent-padding = 4
|
||||||
|
|
||||||
|
label-visible = %icon% %name%
|
||||||
|
label-visible-foreground = #55ffffff
|
||||||
|
label-visible-font = 0
|
||||||
|
label-visible-padding = 4
|
||||||
|
|
||||||
|
[module/xkeyboard]
|
||||||
|
type = internal/xkeyboard
|
||||||
|
blacklist-0 = num lock
|
||||||
|
|
||||||
|
format-prefix = " "
|
||||||
|
format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
format-prefix-underline = ${colors.secondary}
|
||||||
|
|
||||||
|
label-layout = %layout%
|
||||||
|
label-layout-underline = ${colors.secondary}
|
||||||
|
|
||||||
|
label-indicator-padding = 2
|
||||||
|
label-indicator-margin = 1
|
||||||
|
label-indicator-background = ${colors.secondary}
|
||||||
|
label-indicator-underline = ${colors.secondary}
|
||||||
|
|
||||||
|
[module/filesystem]
|
||||||
|
type = internal/fs
|
||||||
|
interval = 25
|
||||||
|
|
||||||
|
mount-0 = /
|
||||||
|
mount-1 = /mnt/data
|
||||||
|
mount-2 = /mnt/backup
|
||||||
|
|
||||||
|
label-mounted = %{F#0a81f5}%mountpoint%%{F-} · %percentage_used%% ·%{F#555} %free% free
|
||||||
|
label-unmounted = %mountpoint% not mounted
|
||||||
|
label-unmounted-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
spacing = 4
|
||||||
|
|
||||||
|
[module/cpu]
|
||||||
|
type = internal/cpu
|
||||||
|
interval = 0.5
|
||||||
|
|
||||||
|
format = <label> <ramp-coreload>
|
||||||
|
|
||||||
|
label = %{F#fba922}
|
||||||
|
|
||||||
|
ramp-coreload-0 = ▁
|
||||||
|
ramp-coreload-0-font = 3
|
||||||
|
ramp-coreload-0-foreground = #aaff77
|
||||||
|
ramp-coreload-1 = ▂
|
||||||
|
ramp-coreload-1-font = 3
|
||||||
|
ramp-coreload-1-foreground = #aaff77
|
||||||
|
ramp-coreload-2 = ▃
|
||||||
|
ramp-coreload-2-font = 3
|
||||||
|
ramp-coreload-2-foreground = #aaff77
|
||||||
|
ramp-coreload-3 = ▄
|
||||||
|
ramp-coreload-3-font = 3
|
||||||
|
ramp-coreload-3-foreground = #aaff77
|
||||||
|
ramp-coreload-4 = ▅
|
||||||
|
ramp-coreload-4-font = 3
|
||||||
|
ramp-coreload-4-foreground = #fba922
|
||||||
|
ramp-coreload-5 = ▆
|
||||||
|
ramp-coreload-5-font = 3
|
||||||
|
ramp-coreload-5-foreground = #fba922
|
||||||
|
ramp-coreload-6 = ▇
|
||||||
|
ramp-coreload-6-font = 3
|
||||||
|
ramp-coreload-6-foreground = #ff5555
|
||||||
|
ramp-coreload-7 = █
|
||||||
|
ramp-coreload-7-font = 3
|
||||||
|
ramp-coreload-7-foreground = #ff5555
|
||||||
|
|
||||||
|
[module/memory]
|
||||||
|
type = internal/memory
|
||||||
|
interval = 0.2
|
||||||
|
format = <label> <bar-used>
|
||||||
|
|
||||||
|
label = %{F#fba922}
|
||||||
|
|
||||||
|
bar-used-width = 50
|
||||||
|
bar-used-gradient = true
|
||||||
|
bar-used-foreground-0 = #55aa55
|
||||||
|
bar-used-foreground-1 = #557755
|
||||||
|
bar-used-foreground-2 = #f5a70a
|
||||||
|
bar-used-foreground-3 = #ff5555
|
||||||
|
bar-used-indicator =
|
||||||
|
bar-used-indicator-font = 2
|
||||||
|
bar-used-indicator-foreground = #fff
|
||||||
|
bar-used-fill =▐
|
||||||
|
bar-used-fill-font = 2
|
||||||
|
bar-used-empty =▐
|
||||||
|
bar-used-empty-font = 2
|
||||||
|
bar-used-empty-foreground = #444444
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 1.0
|
||||||
|
|
||||||
|
date = " %A %d %B %Y"
|
||||||
|
|
||||||
|
time = %H:%M:%S
|
||||||
|
|
||||||
|
label = %{F#ddd} %date% %time%
|
||||||
|
|
||||||
|
[module/pulseaudio]
|
||||||
|
type = internal/pulseaudio
|
||||||
|
|
||||||
|
|
||||||
|
format-volume = %{F#ddd}<ramp-volume> <label-volume>
|
||||||
|
|
||||||
|
label-volume = %percentage%%
|
||||||
|
|
||||||
|
format-muted-prefix = " "
|
||||||
|
label-muted = sound muted
|
||||||
|
|
||||||
|
ramp-volume-0 =
|
||||||
|
ramp-volume-1 =
|
||||||
|
ramp-volume-2 =
|
||||||
|
ramp-volume-3 =
|
||||||
|
|
||||||
|
ramp-headphones-0 =
|
||||||
|
ramp-headphones-1 =
|
||||||
|
|
||||||
|
|
||||||
|
[module/temperature]
|
||||||
|
type = internal/temperature
|
||||||
|
thermal-zone = 0
|
||||||
|
warn-temperature = 60
|
||||||
|
interval = 0.5
|
||||||
|
|
||||||
|
format = <ramp> <label>
|
||||||
|
format-warn = <ramp> <label-warn>
|
||||||
|
|
||||||
|
label = %{F#77dd77} %{F-} %temperature-c%
|
||||||
|
label-warn = %{F#dd7777} %{F-} %temperature-c%
|
||||||
|
label-warn-foreground = #dd7777
|
||||||
|
|
||||||
|
ramp-0 =
|
||||||
|
ramp-1 =
|
||||||
|
ramp-2 =
|
||||||
|
ramp-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/powermenu]
|
||||||
|
type = custom/menu
|
||||||
|
|
||||||
|
format-padding = 3
|
||||||
|
|
||||||
|
label-open = %{F#dd7777}%{F#ddd}
|
||||||
|
label-close = %{F#dd7777}%{F#ddd}
|
||||||
|
label-separator = " · "
|
||||||
|
|
||||||
|
menu-0-0 = Terminate WM
|
||||||
|
menu-0-0-foreground = ${colors.accent}
|
||||||
|
menu-0-0-exec = bspc quit -1
|
||||||
|
menu-0-1 = Reboot
|
||||||
|
menu-0-1-foreground = ${colors.accent}
|
||||||
|
menu-0-1-exec = menu-open-1
|
||||||
|
menu-0-2 = Power off
|
||||||
|
menu-0-2-foreground = ${colors.accent}
|
||||||
|
menu-0-2-exec = menu-open-2
|
||||||
|
|
||||||
|
menu-1-0 = Cancel
|
||||||
|
menu-1-0-foreground = ${colors.accent}
|
||||||
|
menu-1-0-exec = menu-open-0
|
||||||
|
menu-1-1 = Reboot
|
||||||
|
menu-1-1-foreground = ${colors.accent}
|
||||||
|
menu-1-1-exec = systemctl reboot -i
|
||||||
|
|
||||||
|
menu-2-0 = Cancel
|
||||||
|
menu-2-0-foreground = ${colors.accent}
|
||||||
|
menu-2-0-exec = menu-open-0
|
||||||
|
menu-2-1 = Power off
|
||||||
|
menu-2-1-foreground = ${colors.accent}
|
||||||
|
menu-2-1-exec = systemctl poweroff
|
||||||
|
|
||||||
|
|
||||||
|
[module/system-usb-udev]
|
||||||
|
type = custom/script
|
||||||
|
exec = ~/.config/polybar/scripts/system-usb-udev.sh
|
||||||
|
tail = true
|
||||||
|
click-left = ~/.config/polybar/scripts/system-usb-udev.sh --mount
|
||||||
|
click-right = ~/.config/polybar/scripts/system-usb-udev.sh --unmount
|
||||||
|
|
||||||
|
[module/updates-arch-combined]
|
||||||
|
type = custom/script
|
||||||
|
exec = ~/.config/polybar/scripts/updates-arch-combined.sh
|
||||||
|
interval = 600
|
||||||
|
|
||||||
|
[module/filesystem-custom]
|
||||||
|
type = custom/script
|
||||||
|
exec = ~/.config/polybar/scripts/filesystem.sh
|
||||||
|
interval = 60
|
||||||
|
|
||||||
|
[module/gmail]
|
||||||
|
type = custom/script
|
||||||
|
exec = ~/.config/polybar/scripts/gmail/launch.py
|
||||||
|
tail = true
|
||||||
|
click-left = xdg-open https://mail.google.com
|
||||||
|
|
||||||
|
[module/system-uptime-pretty]
|
||||||
|
type = custom/script
|
||||||
|
exec = ~/.config/polybar/scripts/system-uptime-pretty.sh
|
||||||
|
interval = 30
|
|
@ -0,0 +1,25 @@
|
||||||
|
#/bin/sh
|
||||||
|
|
||||||
|
icons=( )
|
||||||
|
parts=(/ /mnt/data /mnt/backup)
|
||||||
|
output=""
|
||||||
|
for i in "${!parts[@]}"; do
|
||||||
|
avail=$(df -h ${parts[$i]} | tail -1 | tr -s ' ' | cut -d' ' -f4)
|
||||||
|
used=$(df -h ${parts[$i]} | tail -1 | tr -s ' ' | cut -d' ' -f5)
|
||||||
|
num=$(echo ${used} | cut -d'%' -f1)
|
||||||
|
|
||||||
|
if [ "$num" -gt 80 ] ; then
|
||||||
|
color="#dd7777"
|
||||||
|
elif [ "$num" -gt 50 ] ; then
|
||||||
|
color="#fba922"
|
||||||
|
else
|
||||||
|
color="#77dd77"
|
||||||
|
fi
|
||||||
|
output=$output"%{F${color}}${icons[$i]} $used%{F#555} · $avail%{F-}"
|
||||||
|
if [ $(($i + 1)) -ne "${#parts[@]}" ] ; then
|
||||||
|
output=$output" "
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "$output"
|
|
@ -0,0 +1 @@
|
||||||
|
*.json
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import os
|
||||||
|
import pathlib
|
||||||
|
import httplib2
|
||||||
|
import webbrowser
|
||||||
|
from oauth2client import client, file
|
||||||
|
|
||||||
|
SCOPE = 'https://www.googleapis.com/auth/gmail.readonly'
|
||||||
|
REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob'
|
||||||
|
DIR = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
CLIENT_SECRETS_PATH = os.path.join(DIR, 'client_secrets.json')
|
||||||
|
CREDENTIALS_PATH = os.path.join(DIR, 'credentials.json')
|
||||||
|
storage = file.Storage(CREDENTIALS_PATH)
|
||||||
|
|
||||||
|
if pathlib.Path(CREDENTIALS_PATH).is_file():
|
||||||
|
credentials = storage.get()
|
||||||
|
credentials.refresh(httplib2.Http())
|
||||||
|
print('Credentials successfully refreshed')
|
||||||
|
else:
|
||||||
|
flow = client.flow_from_clientsecrets(CLIENT_SECRETS_PATH, scope=SCOPE,
|
||||||
|
redirect_uri=REDIRECT_URI)
|
||||||
|
auth_uri = flow.step1_get_authorize_url()
|
||||||
|
webbrowser.open(auth_uri)
|
||||||
|
auth_code = input('Enter the auth code: ')
|
||||||
|
credentials = flow.step2_exchange(auth_code)
|
||||||
|
storage.put(credentials)
|
||||||
|
print('Credentials successfully created')
|
|
@ -0,0 +1,50 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import os
|
||||||
|
import pathlib
|
||||||
|
import subprocess
|
||||||
|
import time
|
||||||
|
import argparse
|
||||||
|
from apiclient import discovery, errors
|
||||||
|
from oauth2client import client, file
|
||||||
|
from httplib2 import ServerNotFoundError
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument('-p', '--prefix', default=' ')
|
||||||
|
parser.add_argument('-c', '--color', default='#e06c75')
|
||||||
|
parser.add_argument('-ns', '--nosound', action='store_true')
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
DIR = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
CREDENTIALS_PATH = os.path.join(DIR, 'credentials.json')
|
||||||
|
|
||||||
|
unread_prefix = '%{F' + args.color + '}' + args.prefix + ' %{F-}'
|
||||||
|
error_prefix = '%{F' + args.color + '}\uf06a %{F-}'
|
||||||
|
count_was = 0
|
||||||
|
|
||||||
|
def update_count(count_was):
|
||||||
|
gmail = discovery.build('gmail', 'v1', credentials=file.Storage(CREDENTIALS_PATH).get())
|
||||||
|
labels = gmail.users().labels().get(userId='me', id='INBOX').execute()
|
||||||
|
count = labels['messagesUnread']
|
||||||
|
if count > 0:
|
||||||
|
print(unread_prefix + str(count), flush=True)
|
||||||
|
else:
|
||||||
|
print(args.prefix, flush=True)
|
||||||
|
if not args.nosound and count_was < count and count > 0:
|
||||||
|
subprocess.run(['canberra-gtk-play', '-i', 'message'])
|
||||||
|
return count
|
||||||
|
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
if pathlib.Path(CREDENTIALS_PATH).is_file():
|
||||||
|
count_was = update_count(count_was)
|
||||||
|
time.sleep(10)
|
||||||
|
else:
|
||||||
|
print(error_prefix + 'credentials not found', flush=True)
|
||||||
|
time.sleep(2)
|
||||||
|
except (errors.HttpError, ServerNotFoundError, OSError) as error:
|
||||||
|
print(error_prefix + str(error), flush=True)
|
||||||
|
time.sleep(5)
|
||||||
|
except client.AccessTokenRefreshError:
|
||||||
|
print(error_prefix + 'revoked/expired credentials', flush=True)
|
||||||
|
time.sleep(5)
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
names=("chostybottombar" "chostytopbar")
|
||||||
|
pkill polybar
|
||||||
|
if type "xrandr"; then
|
||||||
|
for monitor in $(xrandr --query | grep " connected" | cut -d" " -f1); do
|
||||||
|
for name in ${names[@]}; do
|
||||||
|
MONITOR=${monitor} polybar -q --reload ${name}&
|
||||||
|
done
|
||||||
|
done
|
||||||
|
else
|
||||||
|
polybar --reload ${name} &
|
||||||
|
fi
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
echo "%{F#77dd77}%{F#ddd} " $(uptime --pretty | sed 's/up //')
|
|
@ -0,0 +1,85 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Some updates by Quentin Duchemin on 18/03/07
|
||||||
|
# - Add label in lsblk selection
|
||||||
|
# - Add symbols from Material Google font
|
||||||
|
# - Remove term emulator opening and unused parts
|
||||||
|
# - Remove udiskctl power-off because we cannot mount again the removable device
|
||||||
|
# - Change printed name from vendor of the device to partition name (arbitrary choice)
|
||||||
|
usb_print() {
|
||||||
|
devices=$(lsblk -Jplno NAME,TYPE,RM,SIZE,MOUNTPOINT,VENDOR,LABEL)
|
||||||
|
output=""
|
||||||
|
counter=0
|
||||||
|
|
||||||
|
for unmounted in $(echo "$devices" | jq -r '.blockdevices[] | select(.type == "part") | select(.rm == "1") | select(.mountpoint == null) | .name'); do
|
||||||
|
unmounted=$(echo "$devices" | jq -r '.blockdevices[] | select(.name == "'"$unmounted"'") | .label')
|
||||||
|
unmounted=$(echo "$unmounted" | tr -d ' ')
|
||||||
|
|
||||||
|
if [ $counter -eq 0 ]; then
|
||||||
|
space=""
|
||||||
|
else
|
||||||
|
space=" "
|
||||||
|
fi
|
||||||
|
counter=$((counter + 1))
|
||||||
|
|
||||||
|
output="$output$space $unmounted"
|
||||||
|
done
|
||||||
|
|
||||||
|
for mounted in $(echo "$devices" | jq -r '.blockdevices[] | select(.type == "part") | select(.rm == "1") | select(.mountpoint != null) | .size'); do
|
||||||
|
if [ $counter -eq 0 ]; then
|
||||||
|
space=""
|
||||||
|
else
|
||||||
|
space=" "
|
||||||
|
fi
|
||||||
|
counter=$((counter + 1))
|
||||||
|
|
||||||
|
output="$output$space $mounted"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "%{F#ddd}$output"
|
||||||
|
}
|
||||||
|
|
||||||
|
usb_update() {
|
||||||
|
pid=$(pgrep -xf "/bin/sh /home/user/.config/scripts/polybar/system-usb-udev.sh")
|
||||||
|
|
||||||
|
if [ "$pid" != "" ]; then
|
||||||
|
kill -10 "$pid"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
--update)
|
||||||
|
usb_update
|
||||||
|
;;
|
||||||
|
--mount)
|
||||||
|
devices=$(lsblk -Jplno NAME,TYPE,RM,MOUNTPOINT)
|
||||||
|
|
||||||
|
for mount in $(echo "$devices" | jq -r '.blockdevices[] | select(.type == "part") | select(.rm == "1") | select(.mountpoint == null) | .name'); do
|
||||||
|
mountpoint=$(udisksctl mount --no-user-interaction -b "$mount")
|
||||||
|
done
|
||||||
|
|
||||||
|
usb_update
|
||||||
|
;;
|
||||||
|
--unmount)
|
||||||
|
devices=$(lsblk -Jplno NAME,TYPE,RM,MOUNTPOINT)
|
||||||
|
|
||||||
|
for unmount in $(echo "$devices" | jq -r '.blockdevices[] | select(.type == "part") | select(.rm == "1") | select(.mountpoint != null) | .name'); do
|
||||||
|
udisksctl unmount --no-user-interaction -b "$unmount"
|
||||||
|
#power-off makes us unable to mount again...
|
||||||
|
#udisksctl power-off --no-user-interaction -b "$unmount"
|
||||||
|
done
|
||||||
|
|
||||||
|
usb_update
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
trap exit INT
|
||||||
|
trap "echo" USR1
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
usb_print
|
||||||
|
|
||||||
|
sleep 1 &
|
||||||
|
wait
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
updates_arch=$(checkupdates | wc -l)
|
||||||
|
|
||||||
|
if ! updates_aur=$(trizen -Su --aur --quiet | wc -l); then
|
||||||
|
updates_aur=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
updates=$(("$updates_arch" + "$updates_aur"))
|
||||||
|
|
||||||
|
if [ "$updates" -gt 0 ]; then
|
||||||
|
echo "%{F#dd7777}%{F#ddd} $updates"
|
||||||
|
else
|
||||||
|
echo "%{F#77dd77}%{F#ddd} 0"
|
||||||
|
fi
|
|
@ -0,0 +1,21 @@
|
||||||
|
[global_config]
|
||||||
|
enabled_plugins = TerminalShot, LaunchpadCodeURLHandler, APTURLHandler, LaunchpadBugURLHandler
|
||||||
|
[keybindings]
|
||||||
|
switch_to_tab_1 = None
|
||||||
|
switch_to_tab_2 = None
|
||||||
|
[layouts]
|
||||||
|
[[default]]
|
||||||
|
[[[child1]]]
|
||||||
|
parent = window0
|
||||||
|
type = Terminal
|
||||||
|
[[[window0]]]
|
||||||
|
parent = ""
|
||||||
|
type = Window
|
||||||
|
[plugins]
|
||||||
|
[profiles]
|
||||||
|
[[default]]
|
||||||
|
background_darkness = 0.85
|
||||||
|
background_type = transparent
|
||||||
|
cursor_color = "#aaaaaa"
|
||||||
|
scrollback_infinite = True
|
||||||
|
show_titlebar = False
|
|
@ -0,0 +1,105 @@
|
||||||
|
# Path to your oh-my-zsh installation.
|
||||||
|
export ZSH=$HOME/.oh-my-zsh
|
||||||
|
|
||||||
|
# Set name of the theme to load. Optionally, if you set this to "random"
|
||||||
|
# it'll load a random theme each time that oh-my-zsh is loaded.
|
||||||
|
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
|
||||||
|
ZSH_THEME="agnoster"
|
||||||
|
|
||||||
|
# Uncomment the following line to use case-sensitive completion.
|
||||||
|
CASE_SENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to use hyphen-insensitive completion. Case
|
||||||
|
# sensitive completion must be off. _ and - will be interchangeable.
|
||||||
|
# HYPHEN_INSENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable bi-weekly auto-update checks.
|
||||||
|
# DISABLE_AUTO_UPDATE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to change how often to auto-update (in days).
|
||||||
|
# export UPDATE_ZSH_DAYS=13
|
||||||
|
|
||||||
|
# Uncomment the following line to disable colors in ls.
|
||||||
|
# DISABLE_LS_COLORS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable auto-setting terminal title.
|
||||||
|
# DISABLE_AUTO_TITLE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to enable command auto-correction.
|
||||||
|
# ENABLE_CORRECTION="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||||
|
COMPLETION_WAITING_DOTS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to disable marking untracked files
|
||||||
|
# under VCS as dirty. This makes repository status check for large repositories
|
||||||
|
# much, much faster.
|
||||||
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to change the command execution time
|
||||||
|
# stamp shown in the history command output.
|
||||||
|
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||||||
|
HIST_STAMPS="dd.mm.yyyy"
|
||||||
|
|
||||||
|
# Would you like to use another custom folder than $ZSH/custom?
|
||||||
|
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||||||
|
|
||||||
|
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
|
||||||
|
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
|
||||||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
|
plugins=(
|
||||||
|
git
|
||||||
|
colored-man-pages
|
||||||
|
colorize
|
||||||
|
command-not-found
|
||||||
|
copydir
|
||||||
|
cp
|
||||||
|
extract
|
||||||
|
history
|
||||||
|
fasd
|
||||||
|
docker
|
||||||
|
rand-quote
|
||||||
|
)
|
||||||
|
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
|
||||||
|
# export MANPATH="/usr/local/man:$MANPATH"
|
||||||
|
|
||||||
|
# You may need to manually set your language environment
|
||||||
|
export LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# Preferred editor for local and remote sessions
|
||||||
|
if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
export EDITOR='nano'
|
||||||
|
else
|
||||||
|
export EDITOR='nano'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# export ARCHFLAGS="-arch x86_64"
|
||||||
|
|
||||||
|
# ssh
|
||||||
|
# export SSH_KEY_PATH="~/.ssh/rsa_id"
|
||||||
|
|
||||||
|
# Do not print user@hostname if user is myself
|
||||||
|
DEFAULT_USER=chosto
|
||||||
|
|
||||||
|
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
||||||
|
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
||||||
|
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
#
|
||||||
|
# Example aliases
|
||||||
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
|
alias cat="ccat"
|
||||||
|
alias cp="cpv"
|
||||||
|
|
||||||
|
# To use when .cfg contains a bare git repo.
|
||||||
|
# See this https://developer.atlassian.com/blog/2016/02/best-way-to-store-dotfiles-git-bare-repo/
|
||||||
|
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
|
||||||
|
|
||||||
|
eval "$(fasd --init auto)"
|
Loading…
Reference in New Issue