initial commit

This commit is contained in:
2026-02-14 21:23:19 +01:00
commit 05316253fa
29 changed files with 1156 additions and 0 deletions

View File

@@ -0,0 +1,165 @@
[global]
frame_width = 1
frame_color = "#788388"
font = Noto Sans 10
# Allow a small subset of html markup:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
# If markup is not allowed, those tags will be stripped out of the
# message.
markup = yes
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# Markup is allowed
format = "%s %p\n%b"
# Sort messages by urgency.
sort = yes
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Notification window size and position (replaces deprecated geometry)
width = 800
height = 100
origin = top-right
offset = 25x25
# Shrink window if it's smaller than the width.
shrink = yes
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing windowmanager is
# present (e.g. picom, compiz, etc.).
transparency = 0
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
idle_threshold = 0
# Which monitor should the notifications be displayed on.
monitor = 0
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
follow = mouse
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
# The height of a single line. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 0
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 1
# Padding between text and separator.
padding = 8
# Horizontal padding.
horizontal_padding = 10
# Define a color for the separator.
separator_color = "#263238"
# Print a notification on startup.
startup_notification = false
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = xdg-open
# Align icons left/right/off
icon_position = left
# Paths to default icons.
icon_path = /usr/share/icons/Adwaita/16x16/status/:/usr/share/icons/Adwaita/16x16/devices/
# Limit icons size.
max_icon_size = 64
# Note: [shortcuts] section was removed in dunst 1.7+
# Use dunstctl for keyboard control instead:
# dunstctl close
# dunstctl close-all
# dunstctl history-pop
# dunstctl context
[urgency_low]
background = "#263238"
foreground = "#556064"
timeout = 8
[urgency_normal]
background = "#263238"
foreground = "#F9FAF9"
timeout = 8
[urgency_critical]
background = "#D62929"
foreground = "#F9FAF9"
timeout = 8
[irc]
appname = weechat
timeout = 0
background = "#0033bb"
foreground = "#dddddd"
[weechat hl]
appname = weechat
category = weechat.HL
background = "#FF5C47"
foreground = "#FFFFFF"
[weechat pn]
appname = weechat
category = weechat.PM
background = "#D53B84"
foreground = "#FFFFFF"
# vim: ft=cfg

View File

@@ -0,0 +1,40 @@
# i3blocks config file
command=/usr/lib/i3blocks/$BLOCK_NAME
separator_block_width=15
markup=none
[myi3temp]
command=$HOME/opt/scripts/myi3blocks/myi3temp
label=
interval=5
[myi3memory]
command=$HOME/opt/scripts/myi3blocks/myi3memory
label=
interval=5
[myi3load]
command=$HOME/opt/scripts/myi3blocks/myi3load
label=
interval=5
[myi3battery]
command=$HOME/opt/scripts/myi3blocks/myi3battery
label=
instance=0
interval=10
[iface]
label=
color=#33CCFF
interval=30
[myi3weather-cam]
command=$HOME/opt/scripts/myi3blocks/myi3weather
label=
instance=2653941
interval=600
[time]
command=$HOME/opt/scripts/myi3blocks/myi3date
interval=5

View File

@@ -0,0 +1,65 @@
# Shadow
shadow = true;
detect-rounded-corners = true;
shadow-radius = 5;
shadow-offset-x = 1;
shadow-offset-y = 1;
shadow-opacity = .3;
shadow-exclude = [
"name = 'Notification'",
# workaround for conky until it provides window properties:
"override_redirect = 1 && !WM_CLASS@:s",
"class_g ?= 'Dmenu'",
# "class_g ?= 'Dunst'",
# disable shadows for hidden windows:
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
"_GTK_FRAME_EXTENTS@:c",
# disables shadows on i3 frames
"class_g ?= 'i3-frame'"
];
fading = true;
fade-delta = 4;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-exclude = [ ];
backend = "glx";
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-client-opacity = true;
unredir-if-possible = true;
vsync = true;
focus-exclude = [ "class_g = 'Cairo-clock'" ];
detect-transient = true;
detect-client-leader = true;
invert-color-include = [ ];
glx-copy-from-front = false;
opacity-rule = [
"80:class_g = 'Gnome-terminal'",
"80:class_g = 'Rofi'",
"80:class_g = 'Mousepad'",
"80:class_g = 'Evolution'",
"80:class_g = 'Pcmanfm'",
"80:class_g = 'Virt-manager'",
"80:class_g = 'i3bar'"
];
wintypes :
{
tooltip :
{
fade = true;
shadow = false;
opacity = 0.85;
focus = true;
};
fullscreen :
{
fade = true;
shadow = false;
opacity = 1;
focus = true;
};
};

View File

@@ -0,0 +1,6 @@
configuration {
theme: "android_notification";
terminal: "gnome-terminal";
ssh-client: "ssh";
ssh-command: "{terminal} -- {ssh-client} {host}";
}

293
files/configs/i3/i3/config Normal file
View File

@@ -0,0 +1,293 @@
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
# Configure border style <normal|1pixel|pixel xx|none|pixel>
default_border pixel 1
default_floating_border normal
# Hide borders
hide_edge_borders none
# Window title font
font xft:URWGothic-Book 11
# Use Mouse+$mod to drag floating windows
floating_modifier $mod
# Focus follows mouse
focus_follows_mouse no
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+d layout toggle split
# Set screen resolution to 1920x1080
#exec --no-startup-id xrandr --output eDP-1 --mode 1920x1080
# Enable touchpad natural scrolling
exec_always --no-startup-id xinput set-prop "bcm5974" "libinput Natural Scrolling Enabled" 1
bindsym $mod+Shift+Return exec gnome-terminal
bindsym $mod+Shift+w exec vivaldi-stable
bindsym $mod+Shift+f exec gnome-terminal -- ranger
bindsym $mod+Shift+e exec mousepad
bindsym $mod+Shift+p exec keepassxc
bindsym $mod+space --release exec "rofi -combi-modi drun,window,ssh -show combi -modi combi"
bindsym $mod+q kill
bindsym $mod+Ctrl+p exec pavucontrol
bindsym $mod+Ctrl+b exec gnome-terminal -- bmenu
bindsym $mod+Print --release exec --no-startup-id flameshot gui
# Autostart applications
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec --no-startup-id nitrogen --restore; sleep 1; picom -b
exec --no-startup-id nm-applet
exec --no-startup-id blueman-applet
exec --no-startup-id xautolock -time 10 -locker blurlock
exec --no-startup-id keepassxc --keyfile /home/kalle/kgokeyfile /home/kalle/Passwords.kdbx
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
bindsym $mod+z split toggle
bindsym $mod+f fullscreen toggle
bindsym $mod+Shift+space floating toggle
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show
bindsym $mod+Ctrl+Right workspace next
bindsym $mod+Ctrl+Left workspace prev
# Workspace names
# Eg: set $ws1 1:mail
# set $ws2 2:
set $ws1 1
set $ws2 2
set $ws3 3
set $ws4 4
set $ws5 5
set $ws6 6
set $ws7 7
set $ws8 8
# Switch to workspace
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
# Move to workspace with focused container
bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
# Open applications on specific workspaces
# assign [class="Thunderbird"] $ws1
# assign [class="Pcmanfm"] $ws3
# assign [class="Skype"] $ws5
# Open specific applications in floating mode
for_window [title="alsamixer"] floating enable border pixel 1
for_window [class="calamares"] floating enable border normal
for_window [title="File Transfer*"] floating enable
for_window [class="Galculator"] floating enable border pixel 1
for_window [class="GParted"] floating enable border normal
for_window [class="Lightdm-settings"] floating enable
for_window [class="Lxappearance"] floating enable sticky enable border normal
for_window [class="Nitrogen"] floating enable sticky enable border normal
for_window [class="Pavucontrol"] floating enable
for_window [class="Simple-scan"] floating enable border normal
for_window [class="(?i)System-config-printer.py"] floating enable border normal
for_window [class="Skype"] floating enable border normal
for_window [class="Timeset-gui"] floating enable border normal
for_window [class="SimpleScreenRecorder"] floating enable border normal
for_window [class="MPlayer"] floating enable
for_window [class="Spotify"] floating enable
# switch to workspace with urgent window automatically
for_window [urgent=latest] focus
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Ctrl+r restart
# Set shut down, restart and locking features
bindsym $mod+Ctrl+Delete mode "$mode_system"
set $mode_system (e)xit, switch_(u)ser, (h)ibernate, (r)eboot, (s)hutdown
mode "$mode_system" {
bindsym u exec --no-startup-id i3exit switch_user, mode "default"
bindsym e exec --no-startup-id i3exit logout, mode "default"
bindsym h exec --no-startup-id i3exit hibernate, mode "default"
bindsym r exec --no-startup-id i3exit reboot, mode "default"
bindsym s exec --no-startup-id i3exit shutdown, mode "default"
# exit system mode: "Enter" or "Escape"
bindsym Return mode "default"
bindsym Escape mode "default"
}
# Resize window (you can also use the mouse for that)
bindsym $mod+r mode "resize"
mode "resize" {
# 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
# exit resize mode: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
# Lock screen
bindsym $mod+l exec --no-startup-id blurlock
# Color palette used for the terminal ( ~/.Xresources file )
# Colors are gathered based on the documentation:
# https://i3wm.org/docs/userguide.html#xresources
# Change the variable name at the place you want to match the color
# of your terminal like this:
# [example]
# If you want your bar to have the same background color as your
# terminal background change the line 362 from:
# background #14191D
# to:
# background $term_background
# Same logic applied to everything else.
set_from_resource $term_background background
set_from_resource $term_foreground foreground
set_from_resource $term_color0 color0
set_from_resource $term_color1 color1
set_from_resource $term_color2 color2
set_from_resource $term_color3 color3
set_from_resource $term_color4 color4
set_from_resource $term_color5 color5
set_from_resource $term_color6 color6
set_from_resource $term_color7 color7
set_from_resource $term_color8 color8
set_from_resource $term_color9 color9
set_from_resource $term_color10 color10
set_from_resource $term_color11 color11
set_from_resource $term_color12 color12
set_from_resource $term_color13 color13
set_from_resource $term_color14 color14
set_from_resource $term_color15 color15
# Start i3bar
bar {
i3bar_command i3bar
status_command i3blocks
position bottom
# please set your primary output first. Example: 'xrandr --output eDP1 --primary'
# tray_output primary
# tray_output eDP1
bindsym button4 nop
bindsym button5 nop
strip_workspace_numbers yes
colors {
background #222D31
statusline #F9FAF9
separator #454947
# border backgr text
focused_workspace #F9FAF9 #16a085 #292F34
active_workspace #595B5B #353836 #FDF6E3
inactive_workspace #595B5B #222D31 #EEE8D5
binding_mode #16a085 #2C2C2C #F9FAF9
urgent_workspace #16a085 #FDF6E3 #E5201D
}
}
# hide/unhide i3bar
bindsym $mod+m bar mode toggle
# Theme colors
# class border backgr. text indic. child_border
client.focused #556064 #556064 #80FFF9 #FDF6E3
client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948
client.unfocused #2F3D44 #2F3D44 #1ABC9C #454948
client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2
client.placeholder #000000 #0c0c0c #ffffff #000000
client.background #2B2C2B
#############################
### settings for i3-gaps: ###
#############################
# Set inner/outer gaps
gaps inner 5
gaps outer 0
# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
# gaps inner|outer current|all set|plus|minus <px>
# gaps inner all set 10
# gaps outer all plus 5
# Smart gaps (gaps used if only more than one container on the workspace)
smart_gaps on
# Smart borders (draw borders around container only if it is not the only container on this workspace)
# on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
smart_borders on
# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces.
set $mode_gaps Gaps: (o) outer, (i) inner
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
bindsym $mod+Shift+g mode "$mode_gaps"
mode "$mode_gaps" {
bindsym o mode "$mode_gaps_outer"
bindsym i mode "$mode_gaps_inner"
bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "$mode_gaps_inner" {
bindsym plus gaps inner current plus 5
bindsym minus gaps inner current minus 5
bindsym 0 gaps inner current set 0
bindsym Shift+plus gaps inner all plus 5
bindsym Shift+minus gaps inner all minus 5
bindsym Shift+0 gaps inner all set 0
bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "$mode_gaps_outer" {
bindsym plus gaps outer current plus 5
bindsym minus gaps outer current minus 5
bindsym 0 gaps outer current set 0
bindsym Shift+plus gaps outer all plus 5
bindsym Shift+minus gaps outer all minus 5
bindsym Shift+0 gaps outer all set 0
bindsym Return mode "default"
bindsym Escape mode "default"
}

View File

@@ -0,0 +1,64 @@
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
my $acpi;
my $status;
my $percent;
my $full_text;
my $short_text;
my $bat_number = $ENV{BLOCK_INSTANCE} || 0;
# read the first line of the "acpi" command output
open (ACPI, "acpi -b | grep 'Battery $bat_number' |") or die;
$acpi = <ACPI>;
close(ACPI);
# fail on unexpected output
if ($acpi !~ /: (\w+), (\d+)%/) {
die "$acpi\n";
}
$status = $1;
$percent = $2;
$full_text = "$percent%";
if ($status eq 'Discharging') {
$full_text = ' ' . $full_text;
} elsif ($status eq 'Charging') {
$full_text = '⚡ ' . $full_text;
} else {
$full_text = '☻ ' . $full_text;
}
$short_text = $full_text;
if ($acpi =~ /(\d\d:\d\d):/) {
$full_text .= " ($1)";
}
# print text
print "$full_text\n";
print "$short_text\n";
# consider color and urgent flag only on discharge
if ($status eq 'Discharging') {
if ($percent < 20) {
print "#FF0000\n";
} elsif ($percent < 40) {
print "#FFAE00\n";
} elsif ($percent < 60) {
print "#FFF600\n";
} elsif ($percent < 85) {
print "#A8FF00\n";
}
if ($percent < 5) {
exit(33);
}
}
exit(0);

View File

@@ -0,0 +1,8 @@
#!/bin/bash
echo $(date '+%a, %b %d %I:%M %p')
case $BLOCK_BUTTON in
1) gsimplecal ;;
*) ;;
esac

View File

@@ -0,0 +1,22 @@
#!/bin/bash
readonly LOAD_AVG=$(cat /proc/loadavg | awk '{print $1,$2,$3}')
LOAD_AVG_1m=$(echo ${LOAD_AVG} | awk '{print $1}')
echo "${LOAD_AVG}"
echo "${LOAD_AVG}"
if (( $(echo "$LOAD_AVG_1m > 5.0" | bc -l) ))
then
echo "#FF6666"
elif (( $(echo "$LOAD_AVG_1m > 2.5" | bc -l) ))
then
echo "#FFBF00"
else
echo "#33CC33"
fi
case $BLOCK_BUTTON in
1) gnome-terminal -- htop ;;
*) ;;
esac

View File

@@ -0,0 +1,6 @@
#!/bin/bash
MEM_STAT=$(free -m | grep Mem | awk '{print $2,$3}')
MEM_USED_MB=${MEM_STAT##* }
MEM_USED_GB=$(echo "scale=2;$MEM_USED_MB/1024" | bc -l)
echo "$MEM_USED_GB GB"

View File

@@ -0,0 +1,18 @@
#!/bin/bash
readonly TEMP_RAW=$(sensors | grep Package | sed -n "s/.*+\(.*C\) .*/\1/p")
echo "${TEMP_RAW}"
echo "${TEMP_RAW}"
TEMP_ROUND=${TEMP_RAW%.*}
if (( $(echo "$TEMP_ROUND > 80" | bc -l) ))
then
echo "#FF6666"
elif (( $(echo "$TEMP_ROUND > 60" | bc -l) ))
then
echo "#FFBF00"
else
echo "#33CC33"
fi

View File

@@ -0,0 +1,59 @@
#!/bin/bash
# Based on http://openweathermap.org/current
API_KEY="e0160e7f77434e10242b1d7bab182e19"
# Check on http://openweathermap.org/find
CITY_ID="${BLOCK_INSTANCE}"
URGENT_LOWER=0
URGENT_HIGHER=30
ICON_SUNNY=""
ICON_CLOUDY=""
ICON_RAINY=""
ICON_STORM=""
ICON_SNOW=""
ICON_FOG=""
SYMBOL_CELSIUS="℃"
WEATHER_URL="http://api.openweathermap.org/data/2.5/weather?id=${CITY_ID}&appid=${API_KEY}&units=metric"
WEATHER_INFO=$(wget -qO- "${WEATHER_URL}")
WEATHER_MAIN=$(echo "${WEATHER_INFO}" | grep -o -e '\"main\":\"[a-Z]*\"' | awk -F ':' '{print $2}' | tr -d '"')
WEATHER_TEMP=$(echo "${WEATHER_INFO}" | grep -o -e '\"temp\":\-\?[0-9]*' | awk -F ':' '{print $2}' | tr -d '"')
if [[ "${WEATHER_MAIN}" = *Snow* ]]; then
echo "${ICON_SNOW} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
echo "${ICON_SNOW} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
echo ""
elif [[ "${WEATHER_MAIN}" = *Rain* ]] || [[ "${WEATHER_MAIN}" = *Drizzle* ]]; then
echo "${ICON_RAINY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
echo "${ICON_RAINY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
echo ""
elif [[ "${WEATHER_MAIN}" = *Thunderstorm* ]]; then
echo "${ICON_STORM} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
echo "${ICON_STORM} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
echo ""
elif [[ "${WEATHER_MAIN}" = *Cloud* ]]; then
echo "${ICON_CLOUDY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
echo "${ICON_CLOUDY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
echo ""
elif [[ "${WEATHER_MAIN}" = *Clear* ]]; then
echo "${ICON_SUNNY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
echo "${ICON_SUNNY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
echo ""
elif [[ "${WEATHER_MAIN}" = *Fog* ]] || [[ "${WEATHER_MAIN}" = *Mist* ]]; then
echo "${ICON_FOG} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
echo "${ICON_FOG} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
echo ""
else
echo "${WEATHER_MAIN} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
echo "${WEATHER_MAIN} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
echo ""
fi
if [[ "${WEATHER_TEMP}" -lt "${URGENT_LOWER}" ]] || [[ "${WEATHER_TEMP}" -gt "${URGENT_HIGHER}" ]]; then
exit 33
fi

View File

@@ -0,0 +1,19 @@
#!/bin/bash
# /usr/bin/blurlock
# take screenshot
scrot /tmp/screenshot.png
# blur it
convert /tmp/screenshot.png -blur 0x12 /tmp/screenshotblur.png
rm /tmp/screenshot.png
# lock the screen
i3lock -i /tmp/screenshotblur.png
# sleep 1 adds a small delay to prevent possible race conditions with suspend
sleep 1
xset dpms force off
exit 0

View File

@@ -0,0 +1,32 @@
#!/bin/sh
# /usr/bin/i3exit
case "$1" in
lock)
blurlock
;;
logout)
i3-msg exit
;;
switch_user)
dm-tool switch-to-greeter
;;
suspend)
blurlock && systemctl suspend
;;
hibernate)
blurlock && systemctl hibernate
;;
reboot)
systemctl reboot
;;
shutdown)
systemctl poweroff
;;
*)
echo "== ! i3exit: missing or invalid argument ! =="
echo "Try again with: lock | logout | switch_user | suspend | hibernate | reboot | shutdown"
exit 2
esac
exit 0

View File

@@ -0,0 +1,7 @@
local ret_status="%(?:%{$fg_bold[green]%}🞂🞂:%{$fg_bold[red]%}🞂🞂)"
PROMPT='%{$fg_bold[cyan]%}%c%{$reset_color%} $(git_prompt_info) ${ret_status}%{$reset_color%} '
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}🟍"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"

52
files/configs/tmux.conf Normal file
View File

@@ -0,0 +1,52 @@
##############################
# _
# | |_ _ __ ___ _ ___ __
# | __| '_ ` _ \| | | \ \/ /
# | |_| | | | | | |_| |> <
# \__|_| |_| |_|\__,_/_/\_\
#
#############################
# start window indexing at one instead of zero
set -g base-index 1
# ============
# Key Bindings
# ============
bind R source-file ~/.tmux.conf \; display-message "Config reloaded..."
bind -n F2 new-window
# Window Navigation
bind -n F3 prev
bind -n F4 next
# Split Windows
bind -n F5 split-window -v
bind -n F6 split-window -h
bind -n F7 copy-mode
bind -n F8 command-prompt 'rename-window %%'
bind -n F9 break-pane
bind -n F10 set-window-option synchronize-panes
bind -n F12 kill-pane
# Pane Navigation
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
# ===============
# General Options
# ===============
set -g allow-rename off
set -g history-limit 10000
set -g default-terminal "xterm-256color"
set-option -g default-command zsh
# No delay for escape key press
set -sg escape-time 0
# ========================
# set window notifications
# ========================
set-option -g visual-activity on
set-option -g visual-bell on
set-window-option -g monitor-activity on
set -g status-interval 2
source /usr/lib/python3.7/site-packages/powerline/bindings/tmux/powerline.conf