mirror of
https://github.com/frebib/dotfiles.git
synced 2024-06-14 12:57:23 +00:00
Compare commits
40 Commits
surface
...
37d044aab0
Author | SHA1 | Date | |
---|---|---|---|
37d044aab0
|
|||
6d0df3bc65
|
|||
dc6fab9f8a
|
|||
a7f104e942
|
|||
5759872bbd
|
|||
10ffcecb31
|
|||
4c634c402a
|
|||
00a83da619
|
|||
1eae7f9969
|
|||
4646ddae36
|
|||
ae5521f516
|
|||
e2816d2837
|
|||
ae35df326d
|
|||
90a5d29178
|
|||
616edc0cc7
|
|||
3bb6de1dd9
|
|||
7b418c2abc
|
|||
0fc023db91
|
|||
e17ebf0201
|
|||
8f969737ed
|
|||
8287acf3a7
|
|||
2050b1a5b7
|
|||
d6289c47ba
|
|||
6c19740e21
|
|||
8b838aa771
|
|||
af65ab019e
|
|||
a11dac4d00
|
|||
90750c0ede
|
|||
18208e2362
|
|||
ad713cd680
|
|||
b4e3cdeff3
|
|||
c6bd6a83c6
|
|||
f247802bda
|
|||
abb66a954b
|
|||
ed9d50d68e
|
|||
89b9222b7c
|
|||
ee6b7333fb
|
|||
2ac1111b72
|
|||
83f8566faf
|
|||
59ac129a85
|
@ -28,8 +28,12 @@ window:
|
||||
# Blank space added around the window in pixels. This padding is scaled
|
||||
# by DPI and the specified value is always added at both opposing sides.
|
||||
padding:
|
||||
x: 15
|
||||
y: 15
|
||||
x: 22
|
||||
y: 22
|
||||
|
||||
|
||||
# Spread additional padding evenly around the terminal content.
|
||||
dynamic_padding: false
|
||||
|
||||
# Window decorations
|
||||
#
|
||||
@ -38,6 +42,17 @@ window:
|
||||
# - none: Neither borders nor title bar
|
||||
decorations: full
|
||||
|
||||
# Startup Mode (changes require restart)
|
||||
#
|
||||
# Values for `startup_mode`:
|
||||
# - Windowed
|
||||
# - Maximized
|
||||
# - Fullscreen
|
||||
#
|
||||
# Values for `startup_mode` (macOS only):
|
||||
# - SimpleFullscreen
|
||||
startup_mode: Windowed
|
||||
|
||||
scrolling:
|
||||
# Maximum number of lines in the scrollback buffer.
|
||||
# Specifying '0' will disable scrolling.
|
||||
@ -47,15 +62,6 @@ scrolling:
|
||||
# scrollback is enabled (history > 0).
|
||||
multiplier: 3
|
||||
|
||||
# Faux Scrolling
|
||||
#
|
||||
# The `faux_multiplier` setting controls the number of lines the terminal
|
||||
# should scroll when the alternate screen buffer is active. This is used
|
||||
# to allow mouse scrolling for applications like `man`.
|
||||
#
|
||||
# Specifying `0` will disable faux scrolling.
|
||||
faux_multiplier: 3
|
||||
|
||||
# Scroll to the bottom when new text is written to the terminal.
|
||||
auto_scroll: false
|
||||
|
||||
@ -66,7 +72,7 @@ scrolling:
|
||||
# Some applications, like Emacs, rely on knowing about the width of a tab.
|
||||
# To prevent unexpected behavior in these applications, it's also required to
|
||||
# change the `it` value in terminfo when altering this setting.
|
||||
tabspaces: 8
|
||||
tabspaces: 4
|
||||
|
||||
# Font configuration (changes require restart)
|
||||
#
|
||||
@ -120,8 +126,9 @@ font:
|
||||
x: 0
|
||||
y: 0
|
||||
|
||||
# Display the time it takes to redraw each frame.
|
||||
render_timer: false
|
||||
debug:
|
||||
# Display the time it takes to redraw each frame.
|
||||
render_timer: false
|
||||
|
||||
# If `true`, bold text is drawn using the bright color variants.
|
||||
draw_bold_text_with_bright_colors: true
|
||||
@ -148,6 +155,15 @@ colors:
|
||||
text: '0xeceff1'
|
||||
cursor: '0x5294e2'
|
||||
|
||||
# Selection colors
|
||||
#
|
||||
# Colors which should be used to draw the selection area. If selection
|
||||
# background is unset, selection color will be the inverse of the cell colors.
|
||||
# If only text is unset the cell text color will remain the same.
|
||||
selection:
|
||||
background: '0x5294e2'
|
||||
# text: '0xeaeaea'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '0x333638'
|
||||
@ -207,7 +223,7 @@ visual_bell:
|
||||
#
|
||||
# Window opacity as a floating point number from `0.0` to `1.0`.
|
||||
# The value `0.0` is completely transparent and `1.0` is opaque.
|
||||
background_opacity: 0.95
|
||||
background_opacity: 0.85
|
||||
|
||||
# Mouse bindings
|
||||
#
|
||||
@ -367,9 +383,9 @@ key_bindings:
|
||||
- { key: Q, mods: Command, action: Quit }
|
||||
- { key: W, mods: Command, action: Quit }
|
||||
- { key: Insert, mods: Shift, action: PasteSelection }
|
||||
- { key: Key0, mods: Control, action: ResetFontSize }
|
||||
- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||
- { key: Subtract, mods: Control, action: DecreaseFontSize }
|
||||
- { key: Equals, mods: Control, action: ResetFontSize }
|
||||
- { key: Add, mods: Control|Shift, action: IncreaseFontSize }
|
||||
- { key: Subtract, mods: Control|Shift, action: DecreaseFontSize }
|
||||
- { key: Home, chars: "\x1bOH", mode: AppCursor }
|
||||
- { key: Home, chars: "\x1b[H", mode: ~AppCursor }
|
||||
- { key: End, chars: "\x1bOF", mode: AppCursor }
|
||||
|
1
.config/chromium-flags.conf
Normal file
1
.config/chromium-flags.conf
Normal file
@ -0,0 +1 @@
|
||||
--enable-features=OverlayScrollbar
|
@ -1,91 +0,0 @@
|
||||
# Shadow
|
||||
shadow = true; # Enabled client-side shadows on windows.
|
||||
no-dock-shadow = true; # Avoid drawing shadows on dock/panel windows.
|
||||
no-dnd-shadow = false; # Don't draw shadows on DND windows.
|
||||
clear-shadow = true; # Zero the part of the shadow's mask behind the
|
||||
# window. Fix some weirdness with ARGB windows.
|
||||
shadow-radius = 12; # The blur radius for shadows. (default 12)
|
||||
shadow-offset-x = -16; # The left offset for shadows. (default -15)
|
||||
shadow-offset-y = -16; # The top offset for shadows. (default -15)
|
||||
shadow-opacity = 0.65; # The translucency for shadows. (default .75)
|
||||
# shadow-red = 0.0; # Red color value of shadow. (0.0 - 1.0, defaults to 0)
|
||||
# shadow-green = 0.0; # Green color value of shadow. (0.0 - 1.0, defaults to 0)
|
||||
# shadow-blue = 0.0; # Blue color value of shadow. (0.0 - 1.0, defaults to 0)
|
||||
shadow-exclude = [ "class_g = 'slop'" ]; # Exclude conditions for shadows.
|
||||
shadow-ignore-shaped = false; # Avoid drawing shadow on all shaped windows
|
||||
# (see also: --detect-rounded-corners)
|
||||
|
||||
# Opacity
|
||||
menu-opacity = 0.9; # The opacity for menus. (default 1.0)
|
||||
inactive-opacity = 0.7; # Default opacity of inactive windows. (0.0 - 1.0)
|
||||
active-opacity = 1.0; # Default opacity for active windows. (0.0 - 1.0)
|
||||
frame-opacity = 1.0; # Opacity of window titlebars and borders. (0.1 - 1.0)
|
||||
inactive-opacity-override = true; # Let inactive opacity set by 'inactive-opacity' overrides
|
||||
# value of _NET_WM_OPACITY. Bad choice.
|
||||
opacity-rule = [
|
||||
"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
|
||||
];
|
||||
alpha-step = 0.02; # XRender backend: Step size for alpha pictures. Increasing
|
||||
# it may result in less X resource usage,
|
||||
# Yet f ading may look bad.
|
||||
|
||||
# Blurring
|
||||
blur-method = "dual_kawase";
|
||||
blur-strength = 5;
|
||||
blur-background = true; # Blur background of transparent windows.
|
||||
blur-background-exclude = [ "class_g = 'Peek'", "class_g = 'Onboard'", "class_g = 'slop'", "class_g = 'Polybar'" ];
|
||||
blur-background-frame = true; # Blur background of opaque windows with transparent
|
||||
# frames as well.
|
||||
blur-background-fixed = false; # Do not let blur radius adjust based on window opacity.
|
||||
# Exclude conditions for background blur.
|
||||
|
||||
# Fading
|
||||
fading = true; # Fade windows during opacity changes.
|
||||
# fade-delta = 16; # The time between steps in a fade in milliseconds. (default 10).
|
||||
fade-in-step = 0.022; # Opacity change between steps while fading in. (default 0.028).
|
||||
fade-out-step = 0.02; # Opacity change between steps while fading out. (default 0.03).
|
||||
# no-fading-openclose = true; # Avoid fade windows in/out when opening/closing.
|
||||
# fade-exclude = [ ]; # Exclude conditions for fading.
|
||||
|
||||
# Other
|
||||
backend = "glx" # Backend to use: "xrender" or "glx". GLX backend is typically
|
||||
# much faster but depends on a sane driver.
|
||||
mark-wmwin-focused = true; # Try to detect WM windows and mark them as active.
|
||||
mark-ovredir-focused = true; # Mark all non-WM but override-redirect windows active (e.g. menus).
|
||||
use-ewmh-active-win = true; # Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused
|
||||
# instead of using FocusIn/Out events. Usually more reliable but
|
||||
# depends on a EWMH-compliant WM.
|
||||
detect-rounded-corners = true; # Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on.
|
||||
detect-client-opacity = true; # Detect _NET_WM_OPACITY on client windows, useful for window
|
||||
# managers not passing _NET_WM_OPACITY of client windows to frame windows.
|
||||
refresh-rate = 0; # For --sw-opti: Specify refresh rate of the screen. 0 for auto.
|
||||
vsync = "none"; # "none", "drm", "opengl", "opengl-oml", "opengl-swc", "opengl-mswc"
|
||||
# See man page for more details.
|
||||
dbe = false; # Enable DBE painting mode. Rarely needed.
|
||||
paint-on-overlay = true; # Painting on X Composite overlay window. Recommended.
|
||||
sw-opti = false; # Limit compton to repaint at most once every 1 / refresh_rate.
|
||||
# Incompatible with certain VSync methods.
|
||||
unredir-if-possible = false; # Unredirect all windows if a full-screen opaque window is
|
||||
# detected, to maximize performance for full-screen windows.
|
||||
focus-exclude = [ "i:ai:chromium" ]; # A list of conditions of windows that should always be considered focused.
|
||||
detect-transient = true; # Use WM_TRANSIENT_FOR to group windows, and consider windows in
|
||||
# the same group focused at the same time.
|
||||
detect-client-leader = true; # Use WM_CLIENT_LEADER to group windows.
|
||||
invert-color-include = [ ]; # Conditions for windows to be painted with inverted color.
|
||||
|
||||
# GLX backend # GLX backend fine-tune options. See man page for more info.
|
||||
glx-no-stencil = true; # Recommended.
|
||||
glx-copy-from-front = false; # Useful with --glx-swap-method,
|
||||
# glx-use-copysubbuffermesa = true; # Recommended if it works. Breaks VSync.
|
||||
glx-no-rebind-pixmap = true; # Recommended if it works.
|
||||
glx-swap-method = "undefined"; # See man page.
|
||||
|
||||
# Window type settings
|
||||
wintypes:
|
||||
{
|
||||
tooltip = { fade = true; shadow = false; opacity = 1; focus = true; };
|
||||
# fade: Fade the particular type of windows.
|
||||
# shadow: Give those windows shadow
|
||||
# opacity: Default opacity for the type of windows.
|
||||
# focus: Whether to always consider windows of this type focused.
|
||||
};
|
@ -1,7 +1,7 @@
|
||||
VteTerminal,
|
||||
TerminalScreen,
|
||||
vte-terminal {
|
||||
padding: 1.3em;
|
||||
padding: 1.8em;
|
||||
}
|
||||
|
||||
.window-frame, .window-frame:backdrop {
|
||||
|
@ -108,6 +108,7 @@ client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-co
|
||||
client.urgent $urgent-bg-color $urgent-bg-color $text-color $bg-color
|
||||
|
||||
exec_always --no-startup-id killall -q polybar; while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done; exec polybar -r i3bar
|
||||
exec_always --no-startup-id feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
|
||||
|
||||
# Window rules
|
||||
for_window [class="Pinentry"] floating enable
|
||||
@ -122,7 +123,7 @@ for_window [title="^rofi$"] floating enable
|
||||
new_window none
|
||||
new_float none
|
||||
|
||||
gaps inner 12
|
||||
gaps inner 20
|
||||
gaps outer 4
|
||||
|
||||
focus_follows_mouse yes
|
||||
@ -137,9 +138,9 @@ bindsym $mod+Return exec i3-sensible-terminal
|
||||
bindsym $mod+Ctrl+Return exec i3-sensible-terminal -r floating-term
|
||||
bindsym $mod+Shift+Return exec i3-sensible-terminal -d "`xcwd`"
|
||||
bindsym $mod+Ctrl+Shift+Return exec i3-sensible-terminal -r floating-term -d "`xcwd`"
|
||||
bindsym $mod+l exec ~/.config/i3/lock.sh
|
||||
bindsym $mod+l exec dm-tool switch-to-greeter
|
||||
bindsym $mod+space exec "pkill rofi; rofi -show run -sidebar-mode -terminal i3-sensible-terminal -normal-window"
|
||||
bindsym $mod+Shift+p exec rofi-pass
|
||||
bindsym $mod+Shift+p exec rofi-pass --root $(grep path ~/.config/gopass/config.yml | sed -E 's|^.*fs\+file://||g' | tr '\n' ':') | sed 's/:$//g'
|
||||
bindsym $mod+Shift+e exec rofi-emoji
|
||||
bindsym $mod+Shift+i exec rofi-fontawesome
|
||||
bindsym --release Print exec screenshot
|
||||
@ -148,13 +149,14 @@ bindsym $mod+$alt+space exec --no-startup-id ~/.config/i3/cycleaudio.py
|
||||
bindsym $mod+numbersign exec "i3-sensible-terminal -e 'sh -c xclip\ -o\ |\ gpg\ --decrypt\ 2>&1\ \;\ $SHELL'"
|
||||
bindsym $mod+r exec "bash -c 'pwgen -nc 32 1 | tee >(xargs notify-send Generated\ password\:) | xclip -i'"
|
||||
bindsym $mod+g exec "LINK=$(gist -PRpc); notify-send -c transfer \\"<a href=\\\\"$LINK\\\\">$LINK</a>\\""
|
||||
bindsym --release $mod+i exec sh -c 'sleep 0.5 && xdotool type --delay 400 "$(xclip -o -selection clipboard)"'
|
||||
|
||||
# Media player controls
|
||||
bindsym XF86AudioPlay exec --no-startup-id mpc toggle
|
||||
bindsym XF86AudioPause exec --no-startup-id mpc pause
|
||||
bindsym XF86AudioStop exec --no-startup-id mpc stop
|
||||
bindsym XF86AudioNext exec --no-startup-id mpc next
|
||||
bindsym XF86AudioPrev exec --no-startup-id mpc previous
|
||||
bindsym XF86AudioPlay exec --no-startup-id playerctl -a play-pause
|
||||
bindsym XF86AudioPause exec --no-startup-id playerctl -a pause
|
||||
bindsym XF86AudioStop exec --no-startup-id playerctl -a stop
|
||||
bindsym XF86AudioNext exec --no-startup-id playerctl -a next
|
||||
bindsym XF86AudioPrev exec --no-startup-id playerctl -a previous
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +1000
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -1000
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
@ -164,7 +166,8 @@ bindsym XF86MonBrightnessDown exec xbacklight -dec 5 && pkill -RTMIN+12 i3bloc
|
||||
# app launch shortcuts
|
||||
exec --no-startup-id ~/.config/i3/disable-standby-fs.py
|
||||
exec --no-startup-id feh --no-fehbg --no-xinerama --bg-fill ~/pictures/lakesidesunrise.jpg
|
||||
exec --no-startup-id xautolock -time 5 -locker 'dm-tool lock' -nocloseout -nocloseerr
|
||||
exec --no-startup-id xautolock -time 5 -locker 'dm-tool switch-to-greeter' -nocloseout -nocloseerr
|
||||
exec --no-startup-id xss-lock dm-tool switch-to-greeter
|
||||
|
||||
# startup programs
|
||||
exec --no-startup-id nextcloud
|
||||
@ -174,7 +177,7 @@ exec --no-startup-id xbindkeys
|
||||
exec --no-startup-id solaar
|
||||
exec --no-startup-id pullover
|
||||
exec --no-startup-id mailnag
|
||||
exec --no-startup-id compton -b --config ~/.config/compton.conf
|
||||
exec --no-startup-id picom -b --experimental-backends
|
||||
exec --no-startup-id chromium --no-startup-window
|
||||
exec --no-startup-id thunderbird
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
option=$(echo "lock|logout|sleep|hibernate|power off|reboot|windows" | rofi -sep "|" -dmenu -i -p "" -auto-select -hide-scrollbar -monitor 0 -width 8 -lines 7 -location 3 -tokenize false -matching normal | xargs)
|
||||
option=$(echo "lock|logout|sleep|hibernate|power off|reboot|windows" | rofi -sep "|" -dmenu -i -p "" -auto-select -hide-scrollbar -monitor 0 -width 10 -lines 7 -location 3 -tokenize false -matching normal | xargs)
|
||||
|
||||
case $option in
|
||||
lock) ./lock.sh;;
|
||||
lock) dm-tool switch-to-greeter;;
|
||||
logout) i3-msg exit;;
|
||||
sleep) systemctl suspend;;
|
||||
hibernate) systemctl hibernate;;
|
||||
|
3
.config/npm/npmrc
Normal file
3
.config/npm/npmrc
Normal file
@ -0,0 +1,3 @@
|
||||
prefix=${XDG_DATA_HOME}/npm
|
||||
cache=${XDG_CACHE_HOME}/npm
|
||||
tmp=${XDG_RUNTIME_DIR}/npm
|
101
.config/picom.conf
Normal file
101
.config/picom.conf
Normal file
@ -0,0 +1,101 @@
|
||||
# Logging
|
||||
log-level = "debug";
|
||||
log-file = "/home/frebib/.local/share/picom.log";
|
||||
|
||||
# Shadow
|
||||
shadow = true;
|
||||
shadow-radius = 24;
|
||||
shadow-offset-x = -24;
|
||||
shadow-offset-y = -24;
|
||||
shadow-opacity = 0.6;
|
||||
# shadow-red = 0.0;
|
||||
# shadow-green = 0.0;
|
||||
# shadow-blue = 0.0;
|
||||
shadow-exclude = [
|
||||
"class_g = 'slop'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g = 'Cairo-clock'",
|
||||
"name = 'Notification'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
# shadow-exclude = "n:e:Notification";
|
||||
# shadow-exclude-reg = "x10+0+0";
|
||||
xinerama-shadow-crop = true;
|
||||
|
||||
# Opacity
|
||||
frame-opacity = 1.0;
|
||||
# active-opacity = 0.8;
|
||||
inactive-opacity = 0.6;
|
||||
inactive-opacity-override = true;
|
||||
# inactive-dim = 0.2;
|
||||
# inactive-dim-fixed = true;
|
||||
opacity-rule = [
|
||||
"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
|
||||
];
|
||||
|
||||
# Blurring
|
||||
blur:
|
||||
{
|
||||
method = "gaussian";
|
||||
size = 47;
|
||||
deviation = 25.0;
|
||||
};
|
||||
blur-background-frame = true;
|
||||
blur-background-fixed = true;
|
||||
blur-background-exclude = [
|
||||
"class_g = 'Peek'",
|
||||
"class_g = 'Onboard'",
|
||||
"class_g = 'slop'",
|
||||
"class_g = 'Polybar'",
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
# Fading
|
||||
fading = true;
|
||||
fade-delta = 10;
|
||||
fade-in-step = 0.03;
|
||||
fade-out-step = 0.03;
|
||||
no-fading-openclose = false;
|
||||
no-fading-destroyed-argb = false;
|
||||
# fade-exclude = [ ];
|
||||
|
||||
# Other
|
||||
backend = "glx";
|
||||
mark-wmwin-focused = true;
|
||||
mark-ovredir-focused = true;
|
||||
use-ewmh-active-win = false;
|
||||
detect-rounded-corners = true;
|
||||
detect-client-opacity = true;
|
||||
refresh-rate = 0;
|
||||
vsync = true;
|
||||
# sw-opti = true;
|
||||
# unredir-if-possible = true;
|
||||
# unredir-if-possible-delay = 5000;
|
||||
# unredir-if-possible-exclude = [ ];
|
||||
focus-exclude = [
|
||||
"i:ai:chromium",
|
||||
"class_g = 'Firefox'",
|
||||
];
|
||||
detect-transient = true;
|
||||
detect-client-leader = true;
|
||||
invert-color-include = [ ];
|
||||
# resize-damage = 1;
|
||||
|
||||
# GLX backend
|
||||
glx-no-stencil = true;
|
||||
glx-no-rebind-pixmap = true;
|
||||
xrender-sync-fence = true;
|
||||
#use-damage = true;
|
||||
|
||||
# Window type settings
|
||||
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; }
|
||||
};
|
@ -2,8 +2,9 @@
|
||||
background = transparent
|
||||
text = #eceff1
|
||||
icon = #147a82
|
||||
warning = #bd2c40
|
||||
warning = #ffcb00
|
||||
critical = #bd2c40
|
||||
urgent = #e53935
|
||||
|
||||
[settings]
|
||||
format-foreground = ${colours.text}
|
||||
@ -12,6 +13,8 @@ format-spacing = 0
|
||||
format-margin = 2.5
|
||||
format-offset = 0
|
||||
|
||||
screenchange-reload = true
|
||||
|
||||
[bar/i3bar]
|
||||
monitor = ${env:MONITOR:HDMI-0}
|
||||
dpi = ${xrdb:Xft.dpi:96}
|
||||
@ -19,22 +22,27 @@ fixed-center = false
|
||||
enable-ipc = true
|
||||
|
||||
width = 100%
|
||||
height = 32
|
||||
#offset-x = 18px
|
||||
height = 16pt
|
||||
bottom = true
|
||||
radius = 0
|
||||
|
||||
font-0 = sans:pixelsize=9;2
|
||||
font-1 = FontAwesome5ProLight:pixelsize=10;2
|
||||
|
||||
foreground = ${colours.text}
|
||||
background = ${colours.background}
|
||||
|
||||
padding-left = 0
|
||||
padding-right = 2pt
|
||||
|
||||
border-size = 0
|
||||
border-left-size = 16pt
|
||||
border-right-size = 16pt
|
||||
border-bottom-size = 8pt
|
||||
|
||||
line-size = 0
|
||||
line-colour = #f00
|
||||
padding-left = 2
|
||||
padding-right = 2
|
||||
module-margin-left = 0
|
||||
module-margin-right = 1
|
||||
|
||||
font-0 = sans:pixelsize=9;1
|
||||
font-1 = FontAwesome5Pro:pixelsize=10;2
|
||||
|
||||
modules-left = i3
|
||||
modules-center =
|
||||
@ -43,11 +51,11 @@ modules-right = volume updates weather wlan eth memory cpu xbacklight battery te
|
||||
|
||||
tray-position = right
|
||||
tray-detached = false
|
||||
tray-background = ${root.background}
|
||||
tray-offset-x = -4
|
||||
tray-offset-y = 0
|
||||
tray-background = ${colours.background}
|
||||
#tray-offset-x = -20
|
||||
#tray-offset-y = 0
|
||||
tray-maxsize = 16
|
||||
tray-padding = 2
|
||||
tray-padding = 8pt
|
||||
tray-scale = 1.0
|
||||
|
||||
cursor-click = pointer
|
||||
@ -115,7 +123,7 @@ label-visible-underline = ${self.label-focused-underline}
|
||||
|
||||
; urgent = Workspace with urgency hint set
|
||||
label-urgent = ${self.label-focused}
|
||||
label-urgent-foreground = ${colours.warning}
|
||||
label-urgent-foreground = ${colours.urgent}
|
||||
label-urgent-padding = ${self.label-focused-padding}
|
||||
|
||||
|
||||
@ -226,7 +234,7 @@ ramp-volume-5 = ""
|
||||
type = internal/battery
|
||||
battery = BAT0
|
||||
adapter = AC0
|
||||
full-at = 95
|
||||
full-at = 98
|
||||
|
||||
format-full = <label-full>
|
||||
format-charging = <label-charging>
|
||||
@ -300,12 +308,4 @@ menu-2-0-exec = sudo poweroff
|
||||
menu-2-1 = cancel
|
||||
menu-2-1-exec = menu-open-0
|
||||
|
||||
|
||||
[settings]
|
||||
screenchange-reload = true
|
||||
;compositing-background = xor
|
||||
;compositing-background = screen
|
||||
;compositing-foreground = source
|
||||
;compositing-border = over
|
||||
|
||||
; vim:ft=dosini
|
||||
|
@ -71,8 +71,8 @@ get_icon() {
|
||||
522) echo ;; # heavy intensity shower rain
|
||||
531) echo ;; # ragged shower rain
|
||||
600) echo ;; # light snow
|
||||
601) echo ;; # snow
|
||||
602) echo ;; # heavy snow
|
||||
601) echo ;; # snow
|
||||
602) echo ;; # heavy snow
|
||||
611) echo ;; # sleet
|
||||
612) echo ;; # shower sleet
|
||||
615) echo ;; # light rain and snow
|
||||
@ -86,11 +86,6 @@ get_icon() {
|
||||
741) echo ;; # fog
|
||||
762) echo ;; # volcanic ash
|
||||
781) echo ;; # tornado
|
||||
800) echo ;; # clear sky
|
||||
801) echo ;; # few clouds
|
||||
802) echo ;; # scattered clouds
|
||||
803) echo ;; # broken clouds
|
||||
804) echo ;; # overcast clouds
|
||||
# 731) echo ;; # sand, dust whirls
|
||||
# 751) echo ;; # sand
|
||||
# 761) echo ;; # dust
|
||||
|
@ -1,10 +0,0 @@
|
||||
[Unit]
|
||||
Description=Lock X session using i3lock
|
||||
|
||||
[Service]
|
||||
User=%i
|
||||
Environment=DISPLAY=:0
|
||||
ExecStart=sh -c '~/.config/i3/lock.sh'
|
||||
|
||||
[Install]
|
||||
WantedBy=sleep.target
|
12
.config/systemd/user/sleep-lock-lightdm.service
Normal file
12
.config/systemd/user/sleep-lock-lightdm.service
Normal file
@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Lock X LightDM session before sleeping
|
||||
Before=sleep.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/dm-tool switch-to-greeter
|
||||
# Ensure enough time for the session to lock before sleeping
|
||||
ExecStartPost=/usr/bin/sleep 1
|
||||
|
||||
[Install]
|
||||
WantedBy=sleep.target
|
@ -0,0 +1 @@
|
||||
../sleep-lock-lightdm.service
|
@ -7,7 +7,7 @@ size_hints = true
|
||||
[colors]
|
||||
cursor = #5294E2
|
||||
foreground = #ECEFF1
|
||||
background = rgba(56, 60, 74, 0.95)
|
||||
background = rgba(56, 60, 74, 0.85)
|
||||
highlight = #5294E2
|
||||
|
||||
# Colour order:
|
||||
|
@ -57,7 +57,6 @@ source "$antigen_src"
|
||||
|
||||
antigen bundle zsh-users/zsh-completions
|
||||
antigen bundle zsh-users/zsh-autosuggestions
|
||||
antigen bundle zsh-users/zsh-history-substring-search
|
||||
antigen bundle zsh-users/zsh-syntax-highlighting@feature/redrawhook
|
||||
antigen bundle mafredri/zsh-async
|
||||
|
||||
@ -80,8 +79,7 @@ bindkey '^[^[[3~' x-bash-backward-kill-word
|
||||
bindkey '^[^[[3^' x-bash-backward-kill-word
|
||||
bindkey '^[[A' fzf-history-widget # Up (fzf)
|
||||
bindkey '^[[B' fzf-history-widget # Down (fzf)
|
||||
bindkey '^[[1;3A' history-substring-search-up # Alt+Up (hsh)
|
||||
bindkey '^[[1;3B' history-substring-search-down # Alt+Down (hsh)
|
||||
bindkey '^F' fzf-file-widget # Ctrl+F file search (fzf)
|
||||
|
||||
bindkey "^V" edit-command-line
|
||||
bindkey -M vicmd "^V" edit-command-line
|
||||
@ -97,12 +95,8 @@ bindkey -M vicmd l vi-repeat-search
|
||||
|
||||
|
||||
ZSH_AUTOSUGGEST_USE_ASYNC=true
|
||||
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=128
|
||||
ZSH_AUTOSUGGEST_CLEAR_WIDGETS=("${(@)ZSH_AUTOSUGGEST_CLEAR_WIDGETS:#(up|down)-line-or-history}")
|
||||
ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=(history-substring-search-up history-substring-search-down)
|
||||
|
||||
HISTORY_SUBSTRING_SEARCH_FUZZY=true
|
||||
HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=true
|
||||
HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND='underline'
|
||||
|
||||
default='fg=12'
|
||||
prog='fg=blue'
|
||||
@ -141,9 +135,17 @@ ZSH_HIGHLIGHT_STYLES[redirection]='fg=cyan,bold'
|
||||
|
||||
source "$DOTFILES/aliases"
|
||||
|
||||
# Source secret keys and values into environment
|
||||
if [ -f "$XDG_CONFIG_HOME/secrets" ]; then
|
||||
set -o allexport
|
||||
source $XDG_CONFIG_HOME/secrets
|
||||
set +o allexport
|
||||
fi
|
||||
|
||||
# Load some manual plugins
|
||||
source "$ZSH_DIR/plugins/sudo.zsh"
|
||||
source "$ZSH_DIR/plugins/fish-theme.zsh"
|
||||
source "$ZSH_DIR/plugins/git-rprompt.zsh"
|
||||
[ -f '/usr/share/fzf/key-bindings.zsh' ] && source /usr/share/fzf/key-bindings.zsh
|
||||
[ -f '/usr/share/doc/pkgfile/command-not-found.zsh' ] && source /usr/share/doc/pkgfile/command-not-found.zsh
|
||||
[ -r '/usr/share/z/z.sh' ] && source /usr/share/z/z.sh
|
||||
|
4
.profile
4
.profile
@ -25,6 +25,7 @@ export CARGO_HOME="$XDG_DATA_HOME/cargo"
|
||||
export GNUPGHOME="$XDG_CONFIG_HOME/gnupg"
|
||||
export GOPATH="$XDG_DATA_HOME/go"
|
||||
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/settings.ini"
|
||||
export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc
|
||||
export PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass"
|
||||
export PYTHONHISTFILE="$XDG_DATA_HOME/python/histfile"
|
||||
export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
|
||||
@ -76,6 +77,7 @@ fi
|
||||
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && exists dbus-launch; then
|
||||
eval $(dbus-launch --sh-syntax --exit-with-session)
|
||||
dbus-update-activation-environment --systemd \
|
||||
DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY
|
||||
DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY \
|
||||
XDG_SEAT_PATH
|
||||
fi
|
||||
|
||||
|
37
aliases
37
aliases
@ -53,7 +53,7 @@ alias svim=sudoedit
|
||||
# This will enable us to use aliases in sudo.
|
||||
# (If alias finishes with a space or tab, the shell will check if the next command is also aliased.)
|
||||
# Source: https://github.com/mayah/home/blob/master/.zsh/zshrc.d/alias.zsh
|
||||
alias sudo='sudo -E '
|
||||
alias sudo='sudo '
|
||||
alias open=xdg-open
|
||||
|
||||
# Command rewrites
|
||||
@ -129,10 +129,10 @@ alias grm="git rm"
|
||||
alias gc="git commit"
|
||||
alias gcm="gc -m"
|
||||
gcmst() { git stash -u -k && git commit -m "$1" && git stash pop; }
|
||||
alias gca="git commit --amend"
|
||||
alias gca="git commit --amend --date=\"$(date -R)\""
|
||||
alias gcn="git commit --no-edit"
|
||||
alias gcan="git commit --amend --no-edit"
|
||||
alias gcam="git commit --amend -m"
|
||||
alias gcan="gca --no-edit"
|
||||
alias gcam="gca -m"
|
||||
alias gst="git status"
|
||||
|
||||
alias gm="git merge"
|
||||
@ -140,25 +140,30 @@ alias gma="git merge --abort"
|
||||
alias grb="git rebase"
|
||||
alias grba="grb --abort"
|
||||
alias grbc="grb --continue"
|
||||
alias grbsk="grb --skip"
|
||||
alias grbsh="grb --show-current"
|
||||
alias grbom="git rebase origin/master"
|
||||
|
||||
alias gf="git fetch"
|
||||
alias gp="git push"
|
||||
alias gpf="gp --force"
|
||||
alias gpsu="git push --set-upstream"
|
||||
alias gpoH="git push origin HEAD"
|
||||
alias gpsuom="git push --set-upstream origin master"
|
||||
alias gpall="git remote | xargs -L1 git push"
|
||||
alias gl="git pull --rebase"
|
||||
alias glp="gl && gp"
|
||||
alias gd="git diff"
|
||||
alias gds="git diff --staged"
|
||||
alias gsh="git show"
|
||||
alias glg="git log --stat --color"
|
||||
alias gd="git diff --patch-with-stat"
|
||||
alias gds="gd --staged"
|
||||
alias gsh="git show --format=full --patch-with-stat"
|
||||
alias glg="git log --format=full --stat --color"
|
||||
alias glog="git log --oneline --decorate --color --graph"
|
||||
|
||||
alias grst="git reset"
|
||||
alias gundo="git reset @~1"
|
||||
alias gclean="git clean"
|
||||
alias gbr="git branch"
|
||||
alias gtg="git tag"
|
||||
alias gr="git remote"
|
||||
alias grv="git remote -v"
|
||||
alias gra="gr add"
|
||||
@ -174,8 +179,11 @@ alias gstv="gsta show -p stash@{0}"
|
||||
|
||||
# Docker aliases
|
||||
alias d=docker
|
||||
alias dps='docker ps'
|
||||
alias dpsa='docker ps -a'
|
||||
alias dps="docker ps --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.label-schema.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'"
|
||||
alias dpsa="docker ps -a --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.label-schema.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'"
|
||||
alias dnets="docker network ls -q | xargs docker inspect | jq '.[] | select(.Name != \"host\" and .Name != \"none\") | [.] | map(.Name + \"\t\" + (.IPAM.Config | map(.Subnet) | join(\"\t\")))[]' -r | sort -V -k2,3 | column -t"
|
||||
daddrs() { docker inspect ${1:-bridge} | jq '.[0].Containers | map(.Name + "\t" + .IPv4Address + "\t" + .IPv6Address)[]' -r | sort -V -k2,3 | column -t; }
|
||||
alias din='docker inspect'
|
||||
alias drm='docker rm'
|
||||
alias drmi='docker rmi'
|
||||
alias dim='docker images'
|
||||
@ -259,14 +267,14 @@ do_dsh() {
|
||||
|
||||
alias dc='docker-compose'
|
||||
alias dm='docker-machine'
|
||||
alias dmc='eval $(docker-machine env $1)'
|
||||
dmc() { eval $(docker-machine env $1); }
|
||||
|
||||
# ZFS aliases
|
||||
alias zfs='sudo zfs'
|
||||
alias zpool='sudo zpool'
|
||||
alias z=zfs
|
||||
alias zp=zpool
|
||||
zl() { (set -o pipefail; command zfs list $@ | grep -Ev 'docker/[0-9a-f]{64}'); return $?; }
|
||||
zl() { (set -o pipefail; command zfs list $@ | grep -Ev 'docker/[0-9a-f]{64}' | column -t -R 2,3,4); return $?; }
|
||||
_zl() { _zfs "list $@"; }
|
||||
|
||||
# General Aliases
|
||||
@ -280,9 +288,14 @@ alias xresources="$EDITOR $XDG_CONFIG_HOME/X11/xresources ; xrdb merge $XDG_CONF
|
||||
alias sshc="$EDITOR ~/.ssh/config"
|
||||
alias dotfiles="cd $DOTFILES"
|
||||
alias i3c="$EDITOR $XDG_CONFIG_HOME/i3/config ; i3-msg restart"
|
||||
alias polybarc="$EDITOR $XDG_CONFIG_HOME/polybar/config; killall -q polybar; while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done; exec polybar -r i3bar"
|
||||
|
||||
alias sf=screenfetch
|
||||
alias nf=neofetch
|
||||
alias rot13="tr '[A-Za-z]' '[N-ZA-Mn-za-m]'"
|
||||
|
||||
# Networking aliases
|
||||
alias ipa="ip a"
|
||||
alias addrs="ip a | grep inet | grep -ve fe80 -e '127\\.0\\.0\\.1/8' -e '::1/128' | sort -n | sed 's/^\\s*//'"
|
||||
|
||||
# vim: ft=sh
|
||||
|
@ -11,4 +11,4 @@ xrandr --output $BOTTOM_LEFT --primary --mode 1920x1080 --pos 0x1080 --rotate no
|
||||
--output $TOP_RIGHT --mode 1920x1080 --pos 1920x0 --rotate inverted \
|
||||
--output $BOTTOM_RIGHT --mode 1920x1080 --pos 1920x1080 --rotate normal
|
||||
|
||||
feh --no-fehbg --no-xinerama --bg-fill ~/pictures/lakesidesunrise.jpg
|
||||
feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
|
||||
|
@ -16,4 +16,4 @@ xrandr --newmode $MODELINE 2>/dev/null || true
|
||||
xrandr --addmode $OUTPUT $MODENAME 2>/dev/null || true
|
||||
xrandr --output $OUTPUT --mode $MODENAME
|
||||
|
||||
feh --no-fehbg --no-xinerama --bg-fill ~/pictures/lakesidesunrise.jpg
|
||||
feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
|
||||
|
@ -89,7 +89,8 @@ function display() {
|
||||
|
||||
if [ "${line[@]}" == "$update" ]; then
|
||||
download
|
||||
exit 0
|
||||
display
|
||||
return
|
||||
fi
|
||||
|
||||
line=($line)
|
||||
|
@ -28,9 +28,12 @@ function download() {
|
||||
|
||||
echo -n > "$FONTAWESOME_FILE"
|
||||
|
||||
curl https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/advanced-options/metadata/icons.json | \
|
||||
jq '.[] | "\\u" + .unicode + "\t" + .label' -r | \
|
||||
xargs -0 printf \
|
||||
cat /usr/share/fontawesome/icons.json | \
|
||||
jq -r --argfile ctgs <(yq r -j /usr/share/fontawesome/categories.yml) \
|
||||
'.[] | . as $icon | "\\\\u" + .unicode + "\t" + .label + "\t" + ( ([.search.terms,.styles,([select($ctgs[].icons[]|index($icon.label))|.label]|unique)]|add)|sort|join(", "))' | \
|
||||
while IFS=$'\t' read icon name labels; do \
|
||||
printf "%b\t%-120s\t%s\n" "$icon" "$name" "$labels";\
|
||||
done \
|
||||
> "$FONTAWESOME_FILE"
|
||||
|
||||
notify "$(basename "$0")" "We're all set!"
|
||||
@ -62,7 +65,8 @@ function display() {
|
||||
|
||||
if [ "${line[@]}" == "$update" ]; then
|
||||
download
|
||||
exit 0
|
||||
display
|
||||
return
|
||||
fi
|
||||
|
||||
#IFS=$'\t'
|
||||
|
@ -5,7 +5,7 @@ NOTIFY_APPNAME="$(basename "$0")"
|
||||
NOTIFY_ICONPATH="/usr/share/icons/Xenlism-Wildfire/Apps/screenshot.svg"
|
||||
|
||||
SCROT_CMD="maim -m 10 -us %"
|
||||
FILENAME=`date "+$NOTIFY_APPNAME-%Y-%m-%d-%H%M%S.png"`
|
||||
FILENAME="$(date '+%s%N' | sha256sum | head -c7).png"
|
||||
DIRECTORY="$HOME/pictures/screenshots"
|
||||
|
||||
SCP_HOST=frebib@Poseidon.nerdhouse.io
|
||||
@ -40,7 +40,7 @@ fi
|
||||
notif_id=$(send_notification "Screenshot uploading" "$FILENAME<br><br>The image is available in the clipboard immediately" || true)
|
||||
|
||||
# Add image to clipboard
|
||||
xclip -i "$out_path" -selection primary -t image/png
|
||||
xclip -i "$out_path" -selection clipboard -t image/png
|
||||
|
||||
# 'Upload' the screenshot
|
||||
if ! error=$(scp -C $out_path $SCP_HOST:$SCP_PATH 2>&1); then
|
||||
|
Reference in New Issue
Block a user