Initial commit

This commit is contained in:
Etienne Werly 2020-05-13 00:41:15 +02:00
parent 49e300656f
commit b13ce29060
13 changed files with 1521 additions and 4 deletions

41
.Xresources Normal file
View File

@ -0,0 +1,41 @@
! ------------------ !
! ~/.Xresources !
! ------------------- !
!! Colors {{{
! I keep my color themes in '.Xresources.d/colors', just use "#include '.Xresources.d/colors/yourColorTheme'"
! Note : the #include method requires a C preprocessor to work, you should be OK if you have gcc installed.
! Color themes can be browsed, created and downloaded from the amazing 'http://terminal.sexy'
#include ".Xresources.d/colors/mocha"
! }}}
!! Fonts {{{
! Set up fonts, sizes and styles
xterm*faceName: DejaVu Sans Mono
xterm*faceSize: 9
xterm*renderFont: true
! }}}
!! Rofi {{{
! Rofi, the smart launcher, looks and fee
! 'bg' 'border' 'separator'
rofi.color-window: argb:c82d303b, #7c8389, argb:00000000
! State 'bg' 'fg' 'bg-alt' 'bg-hl' 'fg-hl'
rofi.color-normal: argb:00000000, #b6b9ba, argb:00000000, argb:00000000, #2cc2fa
rofi.color-urgent: argb:2c1d1f21, #cc6666, argb:e54b5160, #a54242, #f9f9f9
rofi.color-active: argb:2c1d1f21, #65acff, argb:e44b5160, #4491ed, #f9f9f9
rofi.width: 50
rofi.lines: 5
rofi.columns: 1
rofi.font: DejaVu Sans Mono 14
rofi.bw: 0
rofi.padding: 50
rofi.eh: 1
rofi.separator-style: solid
rofi.hide-scrollbar: true
! }}}
! vim:foldmethod=marker:foldlevel=0

37
.Xresources.d/colors/SOS Normal file
View File

@ -0,0 +1,37 @@
! special
*.foreground: #78796f
*.background: #373b43
*.cursorColor: #78796f
! black
*.color0: #373b43
*.color8: #373b43
! red
*.color1: #fdcd39
*.color9: #fdcd39
! green
*.color2: #fbfd59
*.color10: #fbfd59
! yellow
*.color3: #deac40
*.color11: #deac40
! blue
*.color4: #afb171
*.color12: #afb171
! magenta
*.color5: #b387e7
*.color13: #b387e7
! cyan
*.color6: #63e860
*.color14: #63e860
! white
*.color7: #efdecb
*.color15: #efdecb

View File

@ -0,0 +1,36 @@
! special
*.foreground: #d0c8c6
*.background: #3b3228
*.cursorColor: #d0c8c6
! black
*.color0: #3b3228
*.color8: #7e705a
! red
*.color1: #cb6077
*.color9: #cb6077
! green
*.color2: #beb55b
*.color10: #beb55b
! yellow
*.color3: #f4bc87
*.color11: #f4bc87
! blue
*.color4: #8ab3b5
*.color12: #8ab3b5
! magenta
*.color5: #a89bb9
*.color13: #a89bb9
! cyan
*.color6: #7bbda4
*.color14: #7bbda4
! white
*.color7: #d0c8c6
*.color15: #f5eeeb

37
.Xresources.d/colors/s3r0 Normal file
View File

@ -0,0 +1,37 @@
! special
*.foreground: #c0b18b
*.background: #1f1f1f
*.cursorColor: #c0b18b
! black
*.color0: #4a3637
*.color8: #4a3637
! red
*.color1: #d17b49
*.color9: #d17b49
! green
*.color2: #7b8748
*.color10: #7b8748
! yellow
*.color3: #af865a
*.color11: #af865a
! blue
*.color4: #535c5c
*.color12: #535c5c
! magenta
*.color5: #775759
*.color13: #775759
! cyan
*.color6: #6d715e
*.color14: #6d715e
! white
*.color7: #c0b18b
*.color15: #c0b18b

7
.aliases Normal file
View File

@ -0,0 +1,7 @@
# ############ #
# Aliases #
# ############ #
# Easily handle dotfiles with git
alias dots='git --git-dir=$HOME/.dotfiles.git/ --work-tree=$HOME'

60
.config/bspwm/bspwmrc Executable file
View File

@ -0,0 +1,60 @@
#! /bin/sh
# ----------- #
# bspwmrc #
# ----------- #
## Initialisation {{{
# The initialisation sequence (ran at boot and refreshes)
killall -q sxhkd # Is it a good practice? Annoys me to have useless sxhkd stacking up when I refresh
sxhkd & # Starts up sxhkd to listen to keyboard inputs
picom --daemon
setxkbmap fr
# }}}
### Monitors {{{
## Define your workspaces (10 by default). It is possible to use some logic
## to attribute monitors to specific screens on your setup
bspc monitor -d I II III IV V VI VII VIII IX X
# }}}
### BSPWM behaviour {{{
## Various behaviour tweakings
bspc config focus_follows_pointer true # focus windows without clicking
# }}}
### BSPWM appearance configuration {{{
## Various look tweakings
feh --bg-fill $HOME/Images/frog.png & # Sets the background
bspc config border_width 2 # border around tiles
bspc config window_gap 25 # gap between tiles
bspc config normal_border_color "#76715e"
bspc config active_border_color "#a7e22e"
bspc config focused_border_color "#C49D72"
bspc config split_ratio 0.52 # Default split ratio
bspc config borderless_monocle true # Remove borders in monocle mode
bspc config gapless_monocle true # Remove gaps in monocle mode
# }}}
### Applications behaviour {{{
## Define rules for specific applications using bspc rule. For example, writing
## bspc rule -a Gimp desktop='^8' state=floating follow=on
## will always launch gimp on workspace 8 with floating tiles (useful for
## multi-windowed apps), and you will be taken to WS 8.
bspc rule -a Gimp desktop='^8' state=floating follow=on
bspc rule -a Chromium desktop='^2'
bspc rule -a mplayer2 state=floating
bspc rule -a Kupfer.py focus=oni
bspc rule -a Screenkey manage=off
bspc rule -a Zathura state=tiled
# }}}
# vim:foldmethod=marker:foldlevel=0

423
.config/picom/picom.conf Normal file
View File

@ -0,0 +1,423 @@
#################################
# Shadows #
#################################
# Enabled client-side shadows on windows. Note desktop windows
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
# unless explicitly requested using the wintypes option.
#
# shadow = false
shadow = true;
# The blur radius for shadows, in pixels. (defaults to 12)
# shadow-radius = 12
shadow-radius = 7;
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
# shadow-opacity = .75
# The left offset for shadows, in pixels. (defaults to -15)
# shadow-offset-x = -15
shadow-offset-x = -7;
# The top offset for shadows, in pixels. (defaults to -15)
# shadow-offset-y = -15
shadow-offset-y = -7;
# Avoid drawing shadows on dock/panel windows. This option is deprecated,
# you should use the *wintypes* option in your config file instead.
#
# no-dock-shadow = false
# Don't draw shadows on drag-and-drop windows. This option is deprecated,
# you should use the *wintypes* option in your config file instead.
#
# no-dnd-shadow = false
# Red color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-red = 0
# Green color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-green = 0
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-blue = 0
# Do not paint shadows on shaped windows. Note shaped windows
# here means windows setting its shape through X Shape extension.
# Those using ARGB background is beyond our control.
# Deprecated, use
# shadow-exclude = 'bounding_shaped'
# or
# shadow-exclude = 'bounding_shaped && !rounded_corners'
# instead.
#
# shadow-ignore-shaped = ''
# Specify a list of conditions of windows that should have no shadow.
#
# examples:
# shadow-exclude = "n:e:Notification";
#
# shadow-exclude = []
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
# Specify a X geometry that describes the region in which shadow should not
# be painted in, such as a dock window region. Use
# shadow-exclude-reg = "x10+0+0"
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
#
# shadow-exclude-reg = ""
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
# xinerama-shadow-crop = false
#################################
# Fading #
#################################
# Fade windows in/out when opening/closing and when opacity changes,
# unless no-fading-openclose is used.
fading = false
# fading = true
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
# fade-in-step = 0.028
fade-in-step = 0.1;
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
# fade-out-step = 0.03
fade-out-step = 0.1;
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
fade-delta = 5
# Specify a list of conditions of windows that should not be faded.
# fade-exclude = []
# Do not fade on window open/close.
# no-fading-openclose = false
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
# no-fading-destroyed-argb = false
#################################
# Transparency / Opacity #
#################################
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
# inactive-opacity = 1
inactive-opacity = 0.8;
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
# frame-opacity = 1.0
frame-opacity = 0.7;
# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
# menu-opacity = 1.0
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
# inactive-opacity-override = true
inactive-opacity-override = false;
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
# active-opacity = 1.0
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
# inactive-dim = 0.0
# Specify a list of conditions of windows that should always be considered focused.
# focus-exclude = []
focus-exclude = [ "class_g = 'Cairo-clock'" ];
# Use fixed inactive dim value, instead of adjusting according to window opacity.
# inactive-dim-fixed = 1.0
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
# Note we don't make any guarantee about possible conflicts with other
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
# example:
# opacity-rule = [ "80:class_g = 'URxvt'" ];
#
# opacity-rule = []
opacity-rule = [ "97:class_g = 'UXTerm'" ];
#################################
# Background-Blurring #
#################################
# Parameters for background blurring, see the *BLUR* section for more information.
# blur-method =
# blur-size = 12
#
# blur-deviation = false
# Blur background of semi-transparent / ARGB windows.
# Bad in performance, with driver-dependent behavior.
# The name of the switch may change without prior notifications.
#
# blur-background = false
# Blur background of windows when the window frame is not opaque.
# Implies:
# blur-background
# Bad in performance, with driver-dependent behavior. The name may change.
#
# blur-background-frame = false
# Use fixed blur strength rather than adjusting according to window opacity.
# blur-background-fixed = false
# Specify the blur convolution kernel, with the following format:
# example:
# 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";
#
# blur-kern = ''
blur-kern = "3x3box";
# Exclude conditions for background blur.
# blur-background-exclude = []
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c"
];
#################################
# General Settings #
#################################
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
# daemon = false
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
# `xrender` is the default one.
#
# backend = 'glx'
backend = "xrender";
# Enable/disable VSync.
# vsync = false
vsync = true
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
# dbus = false
# Try to detect WM windows (a non-override-redirect window with no
# child that has 'WM_STATE') and mark them as active.
#
# mark-wmwin-focused = false
mark-wmwin-focused = true;
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
# mark-ovredir-focused = false
mark-ovredir-focused = true;
# Try to detect windows with rounded corners and don't consider them
# shaped windows. The accuracy is not very high, unfortunately.
#
# detect-rounded-corners = false
detect-rounded-corners = true;
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
# not passing '_NET_WM_OPACITY' of client windows to frame windows.
#
# detect-client-opacity = false
detect-client-opacity = true;
# Specify refresh rate of the screen. If not specified or 0, picom will
# try detecting this with X RandR extension.
#
# refresh-rate = 60
refresh-rate = 0
# Limit picom to repaint at most once every 1 / 'refresh_rate' second to
# boost performance. This should not be used with
# vsync drm/opengl/opengl-oml
# as they essentially does sw-opti's job already,
# unless you wish to specify a lower refresh rate than the actual value.
#
# sw-opti =
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
# provided that the WM supports it.
#
# use-ewmh-active-win = false
# Unredirect all windows if a full-screen opaque window is detected,
# to maximize performance for full-screen windows. Known to cause flickering
# when redirecting/unredirecting windows.
#
# unredir-if-possible = false
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
# unredir-if-possible-delay = 0
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
# unredir-if-possible-exclude = []
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
# in the same group focused at the same time.
#
# detect-transient = false
detect-transient = true
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
# detect-transient is enabled, too.
#
# detect-client-leader = false
detect-client-leader = true
# Resize damaged region by a specific number of pixels.
# A positive value enlarges it while a negative one shrinks it.
# If the value is positive, those additional pixels will not be actually painted
# to screen, only used in blur calculation, and such. (Due to technical limitations,
# with use-damage, those pixels will still be incorrectly painted to screen.)
# Primarily used to fix the line corruption issues of blur,
# in which case you should use the blur radius value here
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
# with a 5x5 one you use `--resize-damage 2`, and so on).
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
#
# resize-damage = 1
# Specify a list of conditions of windows that should be painted with inverted color.
# Resource-hogging, and is not well tested.
#
# invert-color-include = []
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
# Might cause incorrect opacity when rendering transparent content (but never
# practically happened) and may not work with blur-background.
# My tests show a 15% performance boost. Recommended.
#
# glx-no-stencil = false
# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes,
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
# Recommended if it works.
#
# glx-no-rebind-pixmap = false
# Disable the use of damage information.
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
# The opposing option is use-damage
#
# no-use-damage = false
use-damage = true
# Use X Sync fence to sync clients' draw calls, to make sure all draw
# calls are finished before picom starts drawing. Needed on nvidia-drivers
# with GLX backend for some users.
#
# xrender-sync-fence = false
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
# in the source tree for examples.
#
# glx-fshader-win = ''
# Force all windows to be painted with blending. Useful if you
# have a glx-fshader-win that could turn opaque pixels transparent.
#
# force-win-blend = false
# Do not use EWMH to detect fullscreen windows.
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
#
# no-ewmh-fullscreen = false
# Dimming bright windows so their brightness doesn't exceed this set value.
# Brightness of a window is estimated by averaging all pixels in the window,
# so this could comes with a performance hit.
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
#
# max-brightness = 1.0
# Make transparent windows clip other windows like non-transparent windows do,
# instead of blending on top of them.
#
# transparent-clipping = false
# Set the log level. Possible values are:
# "trace", "debug", "info", "warn", "error"
# in increasing level of importance. Case doesn't matter.
# If using the "TRACE" log level, it's better to log into a file
# using *--log-file*, since it can generate a huge stream of logs.
#
# log-level = "debug"
log-level = "warn";
# Set the log file.
# If *--log-file* is never specified, logs will be written to stderr.
# Otherwise, logs will to written to the given file, though some of the early
# logs might still be written to the stderr.
# When setting this option from the config file, it is recommended to use an absolute path.
#
# log-file = '/path/to/your/log/file'
# Show all X errors (for debugging)
# show-all-xerrors = false
# Write process ID to a file.
# write-pid-path = '/path/to/your/log/file'
# Window type settings
#
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
# "tooltip", "notification", "combo", and "dnd".
#
# Following per window-type options are available: ::
#
# fade, shadow:::
# Controls window-type-specific shadow and fade settings.
#
# opacity:::
# Controls default opacity of the window type.
#
# focus:::
# Controls whether the window of this type is to be always considered focused.
# (By default, all window types except "normal" and "dialog" has this on.)
#
# full-shadow:::
# Controls whether shadow is drawn under the parts of the window that you
# normally won't be able to see. Useful when the window has parts of it
# transparent, and you want shadows in those areas.
#
# redir-ignore:::
# Controls whether this type of windows should cause screen to become
# redirected again after been unredirected. If you have unredir-if-possible
# set, and doesn't want certain window to cause unnecessary screen redirection,
# you can set this to `true`.
#
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
dock = { shadow = false; }
dnd = { shadow = false; }
popup_menu = { opacity = 0.8; }
dropdown_menu = { opacity = 0.8; }
};

552
.config/polybar/config Normal file
View File

@ -0,0 +1,552 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
[colors]
; {{{
;background = ${xrdb:color0:#222}
background = #222
background-alt = #444
;foreground = ${xrdb:color7:#222}
foreground = #dfdfdf
foreground-alt = #555
primary = #ffb52a
secondary = #e60053
alert = #bd2c40
; }}}
[bar/example]
; {{{
;monitor = ${env:MONITOR:HDMI-1}
width = 100%
height = 27
;offset-x = 1%
;offset-y = 1%
radius = 6.0
fixed-center = false
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3
line-color = #f00
border-size = 4
border-color = #00000000
padding-left = 0
padding-right = 2
module-margin-left = 1
module-margin-right = 2
font-0 = fixed:pixelsize=10;1
;font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
font-1 = "DejaVu Sans Mono:size=8"
font-2 = siji:pixelsize=10;1
font-3 = "Symbols Nerd Font"
modules-left = bspwm appmenu
;modules-center = mpd
modules-right = xbacklight alsa memory cpu wlan eth battery temperature date powermenu
tray-position = right
tray-padding = 2
;tray-background = #0063ff
;wm-restack = bspwm
;wm-restack = i3
;override-redirect = true
;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev
;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev
cursor-click = pointer
cursor-scroll = ns-resize
; }}}
[module/xwindow]
; {{{
type = internal/xwindow
label = %title:0:30:...%
; }}}
[module/xkeyboard]
; {{{
type = internal/xkeyboard
blacklist-0 = num lock
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-prefix-underline = ${colors.secondary}
label-layout = %layout%
label-layout-underline = ${colors.secondary}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-background = ${colors.secondary}
label-indicator-underline = ${colors.secondary}
; }}}
[module/filesystem]
; {{{
type = internal/fs
interval = 25
mount-0 = /
;mount-1 = /mnt/HDD_etienne
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}
; }}}
[module/bspwm]
; {{{
type = internal/bspwm
label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2
label-occupied = %index%
label-occupied-padding = 2
label-urgent = %index%!
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2
; 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 = 25
label-song-ellipsis = true
; }}}
[module/xbacklight]
; {{{
type = internal/xbacklight
format = <ramp>
format-underline = #9f78e1
;label = BL
bar-width = 10
bar-indicator = |
bar-indicator-foreground = #fff
bar-indicator-font = 2
bar-fill = ─
bar-fill-font = 2
bar-fill-foreground = #9f78e1
bar-empty = ─
bar-empty-font = 2
bar-empty-foreground = ${colors.foreground-alt}
ramp-font = 4
ramp-font-foreground = #987
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-3 = 
ramp-4 = 
ramp-5 = 
ramp-6 = 
ramp-7 = 
ramp-8 = 
ramp-9 = 
ramp-10 = 
ramp-11 = 
ramp-12 = 
ramp-13 = 
ramp-14 = 
; }}}
[module/backlight-acpi]
; {{{
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight
; }}}
[module/cpu]
; {{{
type = internal/cpu
interval = 2
format = <ramp-coreload> <label>
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #f90000
label = %percentage:2%%
; Spacing between individual per-core ramps
ramp-coreload-spacing = 1
ramp-coreload-0 = ▁
ramp-coreload-0-font = 2
ramp-coreload-0-foreground = #aaff77
ramp-coreload-1 = ▂
ramp-coreload-1-font = 2
ramp-coreload-1-foreground = #aaff77
ramp-coreload-2 = ▃
ramp-coreload-2-font = 2
ramp-coreload-2-foreground = #aaff77
ramp-coreload-3 = ▄
ramp-coreload-3-font = 2
ramp-coreload-3-foreground = #aaff77
ramp-coreload-4 = ▅
ramp-coreload-4-font = 2
ramp-coreload-4-foreground = #fba922
ramp-coreload-5 = ▆
ramp-coreload-5-font = 2
ramp-coreload-5-foreground = #fba922
ramp-coreload-6 = ▇
ramp-coreload-6-font = 2
ramp-coreload-6-foreground = #ff5555
ramp-coreload-7 = █
ramp-coreload-7-font = 2
ramp-coreload-7-foreground = #ff5555
; }}}
[module/memory]
; {{{
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #4bffdc
label = %percentage_used%%
; }}}
[module/wlan]
; {{{
type = internal/network
interface = net1
interval = 3.0
format-connected = <ramp-signal> <label-connected>
format-connected-underline = #9f78e1
label-connected = %essid%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = ${colors.foreground-alt}
; }}}
[module/eth]
; {{{
type = internal/network
interface = eno1
interval = 3.0
format-connected-underline = #55aa55
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
; }}}
[module/date]
; {{{
type = internal/date
interval = 5
date =
date-alt = " %d-%m-%Y"
time = %H:%M
time-alt = %H:%M:%S
format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5
label = %date% %time%
; }}}
[module/pulseaudio]
; {{{
type = internal/pulseaudio
format-volume = <label-volume> <bar-volume>
label-volume = VOL %percentage%%
label-volume-foreground = ${root.foreground}
label-muted = 🔇 muted
label-muted-foreground = #666
bar-volume-width = 10
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-forEGROUND = ${colors.foreground-alt}
; }}}
[module/alsa]
; {{{
type = internal/alsa
format-volume = <label-volume> <bar-volume>
label-volume = VOL
label-volume-foreground = ${root.foreground}
format-muted-prefix = " "
format-muted-foreground = ${colors.foreground-alt}
label-muted = sound muted
bar-volume-width = 10
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}
; }}}
[module/battery]
; {{{
type = internal/battery
battery = BAT0
adapter = ADP1
full-at = 94
time-format = %H:%M
;format-charging = <animation-charging> <label-charging>
format-charging = <animation-charging>
format-charging-underline = #ffb52a
format-discharging = <ramp-capacity> <label-discharging>
format-discharging-underline = ${self.format-charging-underline}
label-discharging = %time%
format-full = <label-full>
label-full = 
;format-full-prefix = " "
;format-full-prefix-foreground = ${colors.foreground-alt}
;format-full-underline = ${self.format-charging-underline}
format-full-underline = #aaff55
ramp-capacity-font = 4
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 
ramp-capacity-5 = 
ramp-capacity-6 = 
ramp-capacity-7 = 
ramp-capacity-8 = 
ramp-capacity-9 = 
ramp-capacity-10 = 
ramp-capacity-foreground = ${colors.foreground-alt}
animation-charging-font=4
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-3 = 
animation-charging-4 = 
animation-charging-5 = 
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750
;animation-discharging-0 = 
;animation-discharging-1 = 
;animation-discharging-2 = 
;animation-discharging-foreground = ${colors.foreground-alt}
;animation-discharging-framerate = 750
;}}}
[module/temperature]
; {{{
type = internal/temperature
thermal-zone = 0
warn-temperature = 60
format = <ramp> <label>
format-underline = #f50a4d
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}
label = %temperature-c%
label-warn = %temperature-c%
label-warn-foreground = ${colors.secondary}
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-foreground = ${colors.foreground-alt}
; }}}
[module/powermenu]
; {{{
type = custom/menu
expand-right = true
format-spacing = 1
label-open = ⏻
label-open-foreground = ${colors.secondary}
label-close =  cancel
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}
menu-0-0 = 
menu-0-0-exec = menu-open-1
menu-0-1 = ⏻
menu-0-1-exec = menu-open-2
menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot
menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0
; }}}
[module/appmenu]
; {{{
type = custom/menu
expand-right = false
format-spacing = 1
label-open = 
label-open-foreground = #35BF5C
label-close = 
menu-0-0 = 
menu-0-0-foreground = #123456
menu-0-0-exec = xterm &
menu-0-1 = 
menu-0-1-exec = qutebrowser &
; }}}
[settings]
; {{{
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
;pseudo-transparency = true
;}}}
[global/wm]
; {{{
margin-top = 5
margin-bottom = 0
; }}}
; vim:ft=dosini:foldmethod=marker:foldlevel=0

133
.config/sxhkd/sxhkdrc Normal file
View File

@ -0,0 +1,133 @@
# ---------- #
# sxhkd #
# ---------- #
## wm independent hotkeys {{{
# terminal emulator
super + Return
uxterm
# program launcher
super + @space
rofi -modi "window,run,ssh,calc" -show run
# dmenu_run
# passwords
super + shift + @space
rofi-pass
# rofimoji :)
super + alt + @space
rofimoji
# make sxhkd reload its configuration files:
super + Escape
pkill -USR1 -x sxhkd
# }}}
## bspwm hotkeys {{{
# quit/restart bspwm
super + alt + {q,r}
bspc {quit,wm -r}
# close and kill
super + {_,shift + }w
bspc node -{c,k}
# alternate between the tiled and monocle layout
super + m
bspc desktop -l next
# send the newest marked node to the newest preselected node
super + y
bspc node newest.marked.local -n newest.!automatic.local
# swap the current node and the biggest node
super + g
bspc node -s biggest
# }}}
## state/flags {{{
# set the window state
super + {t,shift + t,s,f}
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
# set the node flags
super + ctrl + {m,x,y,z}
bspc node -g {marked,locked,sticky,private}
# }}}
## focus/swap {{{
# focus the node in the given direction
#super + {_,shift + }{h,j,k,l}
super + {_,shift + }{Left,Down,Up,Right}
bspc node -{f,s} {west,south,north,east}
# focus the node for the given path jump
super + {p,b,comma,period}
bspc node -f @{parent,brother,first,second}
# focus the next/previous node in the current desktop
super + {_,shift + }c
bspc node -f {next,prev}.local
# focus the next/previous desktop in the current monitor
super + bracket{left,right}
bspc desktop -f {prev,next}.local
# focus the last node/desktop
super + {grave,Tab}
bspc {node,desktop} -f last
# focus the older or newer node in the focus history
super + {o,i}
bspc wm -h off; \
bspc node {older,newer} -f; \
bspc wm -h on
# focus or send to the given desktop
super + {_,shift + }F{1-9,10}
bspc {desktop -f,node -d} '^{1-9,10}'
# }}}
## preselect {{{
# preselect the direction
super + ctrl + {Left,Down,Up,Right}
bspc node -p {west,south,north,east}
# preselect the ratio
super + ctrl + {1-9}
bspc node -o 0.{1-9}
# cancel the preselection for the focused node
super + ctrl + space
bspc node -p cancel
# cancel the preselection for the focused desktop
super + ctrl + shift + space
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
# }}}
## move/resize {{{
# expand a window by moving one of its side outward
super + alt + {Left,Down,Up,Right}
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
# contract a window by moving one of its side inward
super + alt + shift + {Left,Down,Up,Right}
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
# move a floating window
ctrl + {Left,Down,Up,Right}
bspc node -v {-20 0,0 20,0 -20,20 0}
# }}}
# vim:foldmethod=marker:foldlevel=0

23
.config/zathura/zathurarc Normal file
View File

@ -0,0 +1,23 @@
# ##################################################### #
# Zathura config #
# from https://pwmt.org/projects/zathura/documentation/ #
# ##################################################### #
# TODO: license
# Colors {{{
# Set the global colors of the viewer
set recolor true # Enables to set a color theme (background and text color)
set recolor-darkcolor "#BFC7D5" # The (a priori) font color
set recolor-lightcolor "#292D3E" # The (a priori) background color
set highlight-color "#FFCB6B" # Highlighted part of the document (e.g. search)
set hightlight-color-active "#F8EC7C" # Active highlighted part
#}}}
# Display {{{
# Some default settings on displaying the document
set adjust-open "width" # Open documents adjusted to the width
# }}}
# vim:foldmethod=marker:foldlevel=0

View File

@ -0,0 +1,56 @@
# #################################### #
# Tex snippets #
# Mostly thanks to https://castel.dev/ #
# #################################### #
# Define a math zone to control snippets expansions
global !p
texMathZones = ['texMathZone' + x for x in ['A', 'AS', 'B', 'BS', 'C', 'CS',
'D', 'DS', 'E', 'ES', 'F', 'FS', 'G', 'GS', 'H', 'HS', 'I', 'IS', 'J', 'JS',
'K', 'KS', 'L', 'LS', 'DS', 'V', 'W', 'X', 'Y', 'Z', 'AmsA', 'AmsB', 'AmsC',
'AmsD', 'AmsE', 'AmsF', 'AmsG', 'AmsAS', 'AmsBS', 'AmsCS', 'AmsDS', 'AmsES',
'AmsFS', 'AmsGS' ]]
texIgnoreMathZones = ['texMathText']
texMathZoneIds = vim.eval('map('+str(texMathZones)+", 'hlID(v:val)')")
texIgnoreMathZoneIds = vim.eval('map('+str(texIgnoreMathZones)+", 'hlID(v:val)')")
ignore = texIgnoreMathZoneIds[0]
def math():
synstackids = vim.eval("synstack(line('.'), col('.') - (col('.')>=2 ? 1 : 0))")
try:
first = next(
i for i in reversed(synstackids)
if i in texIgnoreMathZoneIds or i in texMathZoneIds
)
return first != ignore
except StopIteration:
return False
endglobal
# Environments
snippet beg "begin{} / end{}" bA
\begin{$1}
$0
\end{$1}
endsnippet
snippet mk "Inline math" wA
$${1}$`!p
if t[2] and t[2][0] not in [',', '.', '?', '-', ' ']:
snip.rv = ' '
else:
snip.rv = ''
`$2
endsnippet
snippet dm "Display math" wA
\[
$1
\] $0
endsnippet

99
.vimrc Normal file
View File

@ -0,0 +1,99 @@
" Personal vimrc
" (originally from https://dougblack.io/words/a-good-vimrc.html)
" TODO: add license
" Base {{{
" Fundamental settings
set modelines=1 " Enables the use of modelines to tweak things on a single document scale (see last line for an example
" }}}
" Tabs and spaces {{{
"Set the size and type of space made by a TAB stroke
set tabstop=4 " TABS are read as 4 spaces
set softtabstop=4 " TABS are edited as 4 spaces
set expandtab " TABS are (actually) spaces
"}}}
" Various UI config {{{
" Various tweakings of the UI
set number " Show line number
set cursorline " Highlights the current line
set wildmenu " Visual menu for autocompletion
set lazyredraw " Do not redraw screen too often (to make macros quicker)
set showmatch " Shows matching pairs of [] () etc.
" }}}
" Searching {{{
" How search results are displayed
set incsearch " search as typing
set hlsearch " highlight matches
" Shortcut to turn off search highlights (typing :nohlsearch being cumbersome)
nnoremap <leader>k :nohlsearch<CR>
" }}}
" Code folding {{{
" Fold some nested blocks to help your brain
set foldenable " Turn folding on
set foldlevelstart=10 " Only fold blocks nested more than 10 times
set foldnestmax=10 " Do not fld within folds more than 10 times
set foldmethod=indent " Base folding on the indentation
" Use space to unfold a block
nnoremap <space> za
" }}}
" Leader Shortcuts {{{
" Various shortcuts called by the <leader> char
let mapleader="," " the <leader> char is , (\ by default)
" }}}
" Plugins {{{
" Plugin specific settings, using vim-plug https://github.com/junegunn/vim-plug
" Check whether vim-plug is installed and possibly install it
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
" Call vim-plug to look for plugins
call plug#begin('~/.vim/bundles')
" Declare the plugins to use
" A wonderful LaTeX plugin
Plug 'lervag/vimtex'
let g:tex_flavor='latex'
let g:vimtex_view_method='zathura' " Use zathura to view the compiled document
let g:vimtex_quickfix_mode=0
set conceallevel=1
let g:tex_conceal='abdmg' " Conceal LaTeX forumlae code to display it in a nice readable way when it is not on the edited line
" become a snippet master
Plug 'SirVer/ultisnips'
let g:UltiSnipsExpandTrigger='<tab>' " Expand snippets with a TAB
let g:UltiSnipsJumpForwardTrigger='<tab>' " Use TAB to navigate the different zones of your snippet
let g:UltiSnipsJumpBackwardTrigger='<s-tab>' " Use SUPER+TAB to naviguate backwards
let g:UltiSnipsSnippetDirectories=['~/.vim/snippets']
" palenight theme
Plug 'drewtempelmeyer/palenight.vim'
" Declare plugins to vim
call plug#end()
" }}}
" Colors {{{
" To install a new color scheme simply download the colorscheme.vim file in
" your ~/.vim/clors and add the relevant line under here.
" Enabling 'true colors'
if (has("nvim"))
" For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 >
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
endif
" For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 >
" Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd >
" < https://github.com/neovim/neovim/wiki/Following-HEAD#201605 >
if (has("termguicolors"))
set termguicolors
endif
colorscheme palenight " Installed with vum-plug, but see https://github.com/drewtempelmeyer/palenight.vim
set t_Co=256
syntax enable " If you want syntax coloring...
" }}}
" vim: foldmethod=marker:foldlevel=0

View File

@ -2,8 +2,21 @@
My all important dotfiles 😁
I used the method presented in https://git.moqueur.chat/etienne/dotfiles.git to handle those files.
## A quick review of the dots alias
## My environment
Working with bspwm, uxterm, polybar, rofi, picom, text editting with vim and mailing with mutt. I take no to little credit to those files, as they are mainly bits and bobs from around the internet. I try to give credit (when I really rip away a file ina chunck) to where I found it.
Setting `alias dots=git --git-dir=$HOME/.dotfiles.git/ --work-tree=$HOME'`, and initializing `git init--bare $HOME/.dotfiles.git` you are able to simply:
* check which dotfiles are tracked with `dots status`
Feel free to rip away at your turn!
## A quick review of the dots alias
I used the method presented in https://github.com/jaagr/dots to handle those files.
Setting `alias dots=git --git-dir=$HOME/.dotfiles.git/ --work-tree=$HOME'`, and initializing `git init --bare $HOME/.dotfiles.git` you are able to simply:
* check which dotfiles are tracked with `dots status` (set `dots config status.showUntrackedFiles no` to unclutter the output).
* add (or update) dotfiles with `dots add (--update) ...`, commit (`dots commit -m "..."`) and push (`dots push`) your dotfiles.
* check untracked files with `dots status -u .`
* replicate (!) your setup with
```
git clone --recursive --separate-git-dir=$HOME/.dotfiles.git https://git.moquuer.chat/etienne/dotfiles.git /tmp/dots
rsync -rvl --exclude ".git" /tmp/dots/ $HOME/
rm -r /tmp/dots
dots submodule update --init --recursive $HOME/
```