diff --git a/.config/X11/xresources b/.config/X11/xresources index bcb39b3..8155aac 100644 --- a/.config/X11/xresources +++ b/.config/X11/xresources @@ -29,7 +29,7 @@ *.color15: #eceff1 -Xft.dpi: 136 +Xft.dpi: 140 Xft.antialias: true Xft.rgba: rgb Xft.hinting: true @@ -43,7 +43,7 @@ Xcursor.theme: Breeze_Obsidian !!======================!! urxvt.depth: 32 -urxvt.internalBorder: 6 +urxvt.internalBorder: 16 urxvt.blurRadius: 25 urxvt.saveLines: 10000 urxvt.preeditType: Root diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml index 3908474..0fad644 100644 --- a/.config/alacritty/alacritty.yml +++ b/.config/alacritty/alacritty.yml @@ -25,11 +25,11 @@ window: # Window padding (changes require restart) # - # Blank space added around the window in pixels. This padding is not scaled + # 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: 8 - y: 8 + x: 15 + y: 15 # Window decorations # @@ -120,20 +120,9 @@ font: x: 0 y: 0 - # Scale the font size based on the monitor's DPI. This will lead to bigger text on HiDPI - # screens and make reading text a little easier. - # On X11 it is possible to change the DPI for each instance of alacritty by using - # `WINIT_HIDPI_FACTOR=1.0 alacritty` to scale the font. - scale_with_dpi: true - # Display the time it takes to redraw each frame. render_timer: false -# Use custom cursor colors. If `true`, the `colors.cursor.foreground` and -# `colors.cursor.background` colors will be used to display the cursor. -# Otherwise the cell colors are inverted for the cursor. -custom_cursor_colors: true - # If `true`, bold text is drawn using the bright color variants. draw_bold_text_with_bright_colors: true @@ -247,6 +236,22 @@ mouse: double_click: { threshold: 300 } triple_click: { threshold: 300 } + # If this is `true`, the cursor is temporarily hidden when typing. + hide_when_typing: false + + url: + # URL launcher + # + # This program is executed when clicking on a text which is recognized as a URL. + # The URL is always added to the command as the last parameter. + launcher: xdg-open + + # URL modifiers + # + # These are the modifiers that need to be held down for opening URLs when clicking + # on them. The available modifiers are documented in the key binding section. + #modifiers: Control|Shift + selection: semantic_escape_chars: ",│`|:\"' ()[]{}<>" @@ -257,19 +262,18 @@ selection: dynamic_title: true -hide_cursor_when_typing: false +cursor: + # Cursor style + # + # Values for 'style': + # - ▇ Block + # - _ Underline + # - | Beam + style: Block -# Cursor style -# -# Values for 'cursor_style': -# - Block -# - Underline -# - Beam -cursor_style: Block - -# If this is `true`, the cursor will be rendered as a hollow box when the -# window is not focused. -unfocused_hollow_cursor: true + # If this is `true`, the cursor will be rendered as a hollow box when the + # window is not focused. + unfocused_hollow: true # Live config reload (changes require restart) live_config_reload: true diff --git a/.config/compton.conf b/.config/compton.conf index cd5cb72..9bd5fb1 100644 --- a/.config/compton.conf +++ b/.config/compton.conf @@ -31,9 +31,9 @@ alpha-step = 0.02; # XRender backend: Step size for alpha pictures. Increasin # Blurring blur-method = "dual_kawase"; -blur-strength = 5; +blur-strength = 6; blur-background = true; # Blur background of transparent windows. -blur-background-exclude = [ "class_g = 'Peek'", "class_g = 'Onboard'", "class_g = 'slop'" ]; +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. diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc index 3d22542..16378de 100644 --- a/.config/dunst/dunstrc +++ b/.config/dunst/dunstrc @@ -1,5 +1,5 @@ [global] - font = sans-serif 9.5 + font = sans 9 # Allow a small subset of html markup: # bold @@ -64,8 +64,8 @@ # The width can be negative. In this case the actual width is the # screen width minus the width defined in within the geometry option. - # 58 = 30 + 28 (bar-height) - geometry = "350x6-30+58" + # 53 = 30 + 23 (bar-height) + geometry = "560x5-30+30" # Shrink window if it's smaller than the width. Will be ignored if # width is 0. @@ -74,7 +74,7 @@ # The transparency of the window. Range: [0; 100]. # This option will only work if a compositing windowmanager is # present (e.g. xcompmgr, compiz, etc.). - transparency = 10 + transparency = 15 # Don't remove messages, if the user is idle (no mouse or keyboard input) # for longer than idle_threshold seconds. @@ -118,7 +118,7 @@ separator_height = 2 # Padding between text and separator. - padding = 12 + padding = 15 # Horizontal padding. horizontal_padding = 16 @@ -150,7 +150,7 @@ # Paths to default icons. icon_path = /usr/share/icons/Xenlism-Wildfire/Status/:/usr/share/icons/Xenlism-Wildfire/Devices/:/usr/share/icons/Adwaita/32x32/status:/usr/share/icons/Adwaita/32x32/devices - frame_width = 4 + frame_width = 0 frame_color = "#404552" [shortcuts] diff --git a/.config/git/config b/.config/git/config index b46f255..093ada7 100644 --- a/.config/git/config +++ b/.config/git/config @@ -4,7 +4,7 @@ signingkey = CFBB6A86 [core] autocrlf = input - excludesfile = $HOME/.config/git/gitignore + excludesfile = /home/frebib/.config/git/gitignore pager = diff-highlight | $PAGER [interactive] diffFilter = diff-highlight diff --git a/.config/gtk-3.0/gtk.css b/.config/gtk-3.0/gtk.css index d503a0a..eb311c4 100644 --- a/.config/gtk-3.0/gtk.css +++ b/.config/gtk-3.0/gtk.css @@ -1,5 +1,15 @@ VteTerminal, TerminalScreen, vte-terminal { - padding: 9px; + padding: 1.3em; +} + +.window-frame, .window-frame:backdrop { + margin: 0; + border-style: none; + border-radius: 0; +} + +.titlebar { + border-radius: 0; } diff --git a/.config/i3/blocks/backlight b/.config/i3/blocks/backlight deleted file mode 100755 index 59f29e8..0000000 --- a/.config/i3/blocks/backlight +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -# Set how much you want the brightness to change -DELTA=2 - -# Get the current light level, rounded to an integer -LIGHT=$(printf '%.*f' 0 $(xbacklight -get)) -NEW_LIGHT=$LIGHT - -# If called from i3blocks, and scrolling, then change light level -case $BLOCK_BUTTON in - 5) NEW_LIGHT=$(expr $LIGHT + $DELTA) ;; - 4) NEW_LIGHT=$(expr $LIGHT - $DELTA) ;; -esac - -xbacklight -set $NEW_LIGHT -time 0 -steps 1 - -# Output the new light level -OUTPUT=$(printf '%.*f%%' 0 $(xbacklight -get)) -echo $OUTPUT -echo $OUTPUT diff --git a/.config/i3/blocks/bandwidth b/.config/i3/blocks/bandwidth deleted file mode 100755 index d4f3cb1..0000000 --- a/.config/i3/blocks/bandwidth +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/bash -# Copyright (C) 2012 Stefan Breunig -# Copyright (C) 2014 kaueraal -# Copyright (C) 2015 Thiago Perrotta - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Use the provided interface, otherwise the device used for the default route. -if [[ -n $BLOCK_INSTANCE ]]; then - INTERFACE=$BLOCK_INSTANCE -else - INTERFACE=$(ip route | awk '/^default/ { print $5 ; exit }') -fi - -# Issue #36 compliant. -if ! [ -e "/sys/class/net/${INTERFACE}/operstate" ] || ! [ "`cat /sys/class/net/${INTERFACE}/operstate`" = "up" ] -then - echo "$INTERFACE down" - echo "$INTERFACE down" - echo "#FF0000" - exit 0 -fi - -# path to store the old results in -path="/dev/shm/$(basename $0)-${INTERFACE}" - -# grabbing data for each adapter. -read rx < "/sys/class/net/${INTERFACE}/statistics/rx_bytes" -read tx < "/sys/class/net/${INTERFACE}/statistics/tx_bytes" - -# get time -time=$(date +%s) - -# write current data if file does not exist. Do not exit, this will cause -# problems if this file is sourced instead of executed as another process. -if ! [[ -f "${path}" ]]; then - echo "${time} ${rx} ${tx}" > "${path}" - chmod 0666 "${path}" -fi - -# read previous state and update data storage -read old < "${path}" -echo "${time} ${rx} ${tx}" > "${path}" - -# parse old data and calc time passed -old=(${old//;/ }) -time_diff=$(( $time - ${old[0]} )) - -# sanity check: has a positive amount of time passed -[[ "${time_diff}" -gt 0 ]] || exit - -# calc bytes transferred, and their rate in byte/s -rx_diff=$(( $rx - ${old[1]} )) -tx_diff=$(( $tx - ${old[2]} )) -rx_rate=$(( $rx_diff / $time_diff )) -tx_rate=$(( $tx_diff / $time_diff )) - -# shift by 10 bytes to get KiB/s. If the value is larger than -# 1024^2 = 1048576, then display MiB/s instead - -# incoming -echo -n " " -rx_kib=$(( $rx_rate >> 10 )) -if [[ "$rx_rate" -gt 1048576 ]]; then - printf '%sk' "`echo "scale=1; $rx_kib / 1024" | bc`" -else - echo -n "${rx_kib}k" -fi - -echo -n " " - -# outgoing -echo -n " " -tx_kib=$(( $tx_rate >> 10 )) -if [[ "$tx_rate" -gt 1048576 ]]; then - printf '%sm' "`echo "scale=1; $tx_kib / 1024" | bc`" -else - echo -n "${tx_kib}k" -fi diff --git a/.config/i3/blocks/battery b/.config/i3/blocks/battery deleted file mode 100755 index 4bfbf61..0000000 --- a/.config/i3/blocks/battery +++ /dev/null @@ -1,95 +0,0 @@ -#!/usr/bin/perl -# -# Copyright 2014 Pierre Mavro -# Copyright 2014 Vivien Didelot -# -# Licensed under the terms of the GNU GPL v3, or any later version. -# -# This script is meant to use with i3blocks. It parses the output of the "acpi" -# command (often provided by a package of the same name) to read the status of -# the battery, and eventually its remaining time (to full charge or discharge). -# -# The color will gradually change for a percentage below 85%, and the urgency -# (exit code 33) is set if there is less that 5% remaining. - -use strict; -use warnings; -use Switch; - -my $acpi; -my $status; -my $percent; -my $hours = -1; -my $mins; -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 = ; -close(ACPI); - -# fail on unexpected output -if ($acpi !~ /: (\w+), (\d+)%/) { - die "$acpi\n"; -} -$status = $1; -$percent = $2; - -if ($acpi =~ /, (\d+):(\d+)/) { - $hours = $1; - $mins = $2; -} - -if ($status eq 'Discharging') { - if ($percent <= 10) { - $full_text = ""; - } elsif ($percent <= 40) { - $full_text = ""; - } elsif ($percent <= 75) { - $full_text = ""; - } else { - $full_text = ""; - } - -} elsif ($status eq 'Charging') { - $full_text = ''; -} else { - $full_text = ''; -} - -$full_text .= " $percent%"; -$short_text = $full_text; - -switch($ENV{BLOCK_BUTTON} || 0) { - case "1" { - if ($hours lt 0) { - $full_text .= " Charged"; - } else { - $full_text .= " ($hours:$mins"; - if ($status eq 'Discharging') { - $full_text .= ")"; - } else { - $full_text .= " until full)"; - } - } - } -} - - -# 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 "#FFCB00\n"; - } -} - -exit(0); diff --git a/.config/i3/blocks/clock b/.config/i3/blocks/clock deleted file mode 100755 index 32f3d27..0000000 --- a/.config/i3/blocks/clock +++ /dev/null @@ -1,5 +0,0 @@ -case $BLOCK_BUTTON in - 1) printf " "$(date '+%d/%m/%y') ; exit ;; - 2|3) i3-sensible-terminal -r i3blocks-clock-term --geometry 68x35 -e "$SHELL -c \"cal -y $(date +'%Y');$SHELL\"" &>/dev/null & ;; - *) printf " "$(date '+%H:%M') -esac diff --git a/.config/i3/blocks/config b/.config/i3/blocks/config deleted file mode 100644 index 700008a..0000000 --- a/.config/i3/blocks/config +++ /dev/null @@ -1,88 +0,0 @@ -# i3blocks config file -# -# Please see man i3blocks for a complete reference! -# The man page is also hosted at http://vivien.github.io/i3blocks -# -# List of valid properties: -# -# align -# color -# command -# full_text -# instance -# interval -# label -# min_width -# name -# separator -# separator_block_width -# short_text -# signal -# urgent - -# Global properties -# -# The top properties below are applied to every block, but can be overridden. -# Each block command defaults to the script name to avoid boilerplate. -command=~/.config/i3/blocks/$BLOCK_NAME -markup=none - -#full_text= -align=center -color=#F3F4F5 -separator=false -separator_block_width=14 - -[volume] -interval=persist -signal=10 - -[iface] -label= -interval=60 -signal=15 - -[updates] -label= -interval=600 -signal=5 - -[cpu_usage] -label= -interval=persist - -[memory] -label= -interval=10 - -[temperature] -label= -interval=10 - -[backlight] -label= -interval=30 -signal=12 - -[separator] - -[rotation] -interval=once - -[separator] - -[keyboard] -label= -interval=30 - -[separator] - -[battery] -interval=30 -signal=11 - -[separator] - -[clock] -interval=10 -min_width=" 00:00" diff --git a/.config/i3/blocks/cpu_usage b/.config/i3/blocks/cpu_usage deleted file mode 100755 index 1703296..0000000 --- a/.config/i3/blocks/cpu_usage +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -# by Paul Colby (http://colby.id.au), no rights reserved ;) -# https://github.com/Leo-G/DevopsWiki/wiki/How-Linux-CPU-Usage-Time-and-Percentage-is-calculated - -PREV_TOTAL=0 -PREV_IDLE=0 - -while true; do - # Get the total CPU statistics, discarding the 'cpu ' prefix. - CPU=(`sed -n 's/^cpu\s//p' /proc/stat`) - IDLE=${CPU[3]} # Just the idle CPU time. - - # Calculate the total CPU time. - TOTAL=0 - for VALUE in "${CPU[@]}"; do - let "TOTAL=$TOTAL+$VALUE" - done - - # Calculate the CPU usage since we last checked. - let "DIFF_IDLE=$IDLE-$PREV_IDLE" - let "DIFF_TOTAL=$TOTAL-$PREV_TOTAL" - let "DIFF_USAGE=(1000*($DIFF_TOTAL-$DIFF_IDLE)/$DIFF_TOTAL+5)/10" - echo -e "$DIFF_USAGE%\n$DIFF_USAGE%" - - # Remember the total and idle CPU times for the next check. - PREV_TOTAL="$TOTAL" - PREV_IDLE="$IDLE" - - # Wait before checking again. - sleep 1 -done diff --git a/.config/i3/blocks/disk b/.config/i3/blocks/disk deleted file mode 100755 index 5511eac..0000000 --- a/.config/i3/blocks/disk +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Copyright (C) 2014 Julien Bonjean - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -DIR="${BLOCK_INSTANCE:-$HOME}" -ALERT_LOW="${1:-10}" # color will turn red under this value (default: 10%) - -df -h -P -l "$DIR" | awk -v alert_low=$ALERT_LOW ' -/\/.*/ { - # full text - print $4 - - # short text - print $4 - - use=$5 - - # no need to continue parsing - exit 0 -} - -END { - gsub(/%$/,"",use) - if (100 - use < alert_low) { - # color - print "#FF0000" - } -} -' diff --git a/.config/i3/blocks/iface b/.config/i3/blocks/iface deleted file mode 100755 index c3219fa..0000000 --- a/.config/i3/blocks/iface +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/bash -# Copyright (C) 2014 Julien Bonjean -# Copyright (C) 2014 Alexander Keller - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -#------------------------------------------------------------------------ - -# Use the provided interface, otherwise the device used for the default route. -if [[ -n $BLOCK_INSTANCE ]]; then - IF=$BLOCK_INSTANCE -else - IF=$(ip route | awk '/^default/ { print $5 ; exit }') -fi - -#------------------------------------------------------------------------ - -# As per #36 -- It is transparent: e.g. if the machine has no battery or wireless -# connection (think desktop), the corresponding block should not be displayed. -[[ ! -d /sys/class/net/${IF} ]] && exit - -#------------------------------------------------------------------------ - -if [[ -z $IF ]] || [[ "$(cat /sys/class/net/$IF/operstate)" = 'down' ]]; then - echo down # full text - echo down # short text - echo \#FF0000 # color - exit -fi - -case $1 in - -4) AF=inet ;; - -6) AF=inet6 ;; - *) AF=inet6? ;; -esac - -# if no interface is found, use the first device with a global scope -LOCIP=$(ip addr show $IF | perl -n -e "/$AF ([^\/]+).* scope global/ && print \$1 and exit") - -#------------------------------------------------------------------------ - -case $BLOCK_BUTTON in - 1) curl -s https://api.ipify.org; - break;; - 2) curl -s https://api.ipify.org | tee >(xclip -i); - break;; - 0|3) echo "$LOCIP" | tee >(xclip -i); - break;; - *) echo "$LOCIP" - break;; -esac diff --git a/.config/i3/blocks/keyboard b/.config/i3/blocks/keyboard deleted file mode 100755 index 8283156..0000000 --- a/.config/i3/blocks/keyboard +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -[[ $BLOCK_BUTTON -eq 1 ]] && `$DOTFILES/scripts/togglekeyboard` -[[ $BLOCK_BUTTON -eq 3 ]] && onboard & - -layout=$(setxkbmap -query | grep 'layout:' | awk '{print $2}') -variant=$(setxkbmap -query | grep 'variant:' | awk '{print $2}') - -short=`([ "$variant" ] && echo $variant || echo $layout) | cut -c1-2` - -echo -e "$short\n$short" | awk '{print toupper($0)}' diff --git a/.config/i3/blocks/keyindicator b/.config/i3/blocks/keyindicator deleted file mode 100755 index 9c21505..0000000 --- a/.config/i3/blocks/keyindicator +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/perl -# -# Copyright 2014 Marcelo Cerri -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -use strict; -use warnings; -use utf8; -use Getopt::Long; -use File::Basename; - -# Default values -my $indicator = $ENV{BLOCK_INSTANCE} || "CAPS"; -my $color_on = "#00FF00"; -my $color_off = "#222222"; - -sub help { - my $program = basename($0); - printf "Usage: %s [-c ] [-C ]\n", $program; - printf " -c : hex color to use when indicator is on\n"; - printf " -C : hex color to use when indicator is off\n"; - printf "\n"; - printf "Note: environment variable \$BLOCK_INSTANCE should be one of:\n"; - printf " CAPS, NUM (default is CAPS).\n"; - exit 0; -} - -Getopt::Long::config qw(no_ignore_case); -GetOptions("help|h" => \&help, - "c=s" => \$color_on, - "C=s" => \$color_off) or exit 1; - -# Key mapping -my %indicators = ( - CAPS => 0x00000001, - NUM => 0x00000002, -); - -# Retrieve key flags -my $mask = 0; -open(XSET, "xset -q |") or die; -while () { - if (/LED mask:\s*([0-9]+)/) { - $mask = $1; - last; - } -} -close(XSET); - -# Output -printf "%s\n", $indicator; -printf "%s\n", $indicator; -if (($indicators{$indicator} || 0) & $mask) { - printf "%s\n", $color_on; -} else { - printf "%s\n", $color_off; -} -exit 0 diff --git a/.config/i3/blocks/load_average b/.config/i3/blocks/load_average deleted file mode 100755 index 37a5c71..0000000 --- a/.config/i3/blocks/load_average +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# Copyright (C) 2014 Julien Bonjean - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -load="$(cut -d ' ' -f1 /proc/loadavg)" -cpus="$(nproc)" - -# full text -echo "$load" - -# short text -echo "$load" - -# color if load is too high -awk -v cpus=$cpus -v cpuload=$load ' - BEGIN { - if (cpus <= cpuload) { - print "#FF0000"; - exit 33; - } - } -' diff --git a/.config/i3/blocks/mediaplayer b/.config/i3/blocks/mediaplayer deleted file mode 100755 index b3d3ecb..0000000 --- a/.config/i3/blocks/mediaplayer +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/perl -# Copyright (C) 2014 Tony Crisci - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Requires playerctl binary to be in your path (except cmus) -# See: https://github.com/acrisci/playerctl - -# Set instance=NAME in the i3blocks configuration to specify a music player -# (playerctl will attempt to connect to org.mpris.MediaPlayer2.[NAME] on your -# DBus session). - -use Env qw(BLOCK_INSTANCE); - -my @metadata = (); -my $player_arg = ""; - -if ($BLOCK_INSTANCE) { - $player_arg = "--player='$BLOCK_INSTANCE'"; -} - -if ($ENV{'BLOCK_BUTTON'} == 1) { - system("playerctl $player_arg previous"); -} elsif ($ENV{'BLOCK_BUTTON'} == 2) { - system("playerctl $player_arg play-pause"); -} elsif ($ENV{'BLOCK_BUTTON'} == 3) { - system("playerctl $player_arg next"); -} - -if ($player_arg eq '' or $player_arg =~ /cmus$/) { - # try cmus first - my @cmus = split /^/, qx(cmus-remote -Q); - if ($? == 0) { - foreach my $line (@cmus) { - my @data = split /\s/, $line; - if (shift @data eq 'tag') { - my $key = shift @data; - my $value = join ' ', @data; - - @metadata[0] = $value if $key eq 'artist'; - @metadata[1] = $value if $key eq 'title'; - } - } - - if (@metadata) { - # metadata found so we are done - print(join ' - ', @metadata); - exit 0; - } - } - - # if cmus was given, we are done - exit 0 unless $player_arg eq ''; -} - -my $artist = qx(playerctl $player_arg metadata artist); -# exit status will be nonzero when playerctl cannot find your player -exit(0) if $?; -push(@metadata, $artist) if $artist; - -my $title = qx(playerctl $player_arg metadata title); -exit(0) if $?; -push(@metadata, $title) if $title; - -print(join(" - ", @metadata)) if @metadata; diff --git a/.config/i3/blocks/memory b/.config/i3/blocks/memory deleted file mode 100755 index aa66587..0000000 --- a/.config/i3/blocks/memory +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh -# Copyright (C) 2014 Julien Bonjean - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -TYPE="${BLOCK_INSTANCE:-mem}" - -if [ ${BLOCK_BUTTON--1} -gt 0 ]; then - i3-sensible-terminal -r floating-term --geometry 100x54 -e 'top -d 0.1' -fi - -awk -v type=$TYPE ' -BEGIN { - swap_total=1 - mem_total=1 -} -/^MemTotal:/ { - mem_total=$2 -} -/^MemFree:/ { - mem_free=$2 -} -/^Buffers:/ { - mem_free+=$2 -} -/^Cached:/ { - mem_free+=$2 -} -/^SwapTotal:/ { - swap_total=$2 -} -/^SwapFree:/ { - swap_free=$2 -} -END { - if (type == "swap") { - swap_perc = (swap_total - swap_free) / swap_total * 100 - printf("%.0f%\n", swap_perc) - printf("%.0f%\n", swap_perc) - perc = swap_perc - } - else{ - mem_perc = (mem_total - mem_free) / mem_total * 100 - printf("%.0f%\n", mem_perc) - printf("%.0f%\n", mem_perc) - perc = mem_perc - } - - if (perc > 80) - print "#FFCB00" - else if (perc > 60) - print "#FFCB00" -} -' /proc/meminfo diff --git a/.config/i3/blocks/openvpn b/.config/i3/blocks/openvpn deleted file mode 100755 index 02aaba4..0000000 --- a/.config/i3/blocks/openvpn +++ /dev/null @@ -1,149 +0,0 @@ -#!/usr/bin/perl -# Made by Pierre Mavro/Deimosfr -# Licensed under the terms of the GNU GPL v3, or any later version. -# Version: 0.2 - -# Usage: -# 1. The configuration name of OpenVPN should be familiar for you (home,work...) -# 2. The device name in your configuration file should be fully named (tun0,tap1...not only tun or tap) -# 3. When you launch one or multiple OpenVPN connexion, be sure the PID file is written in the correct folder (ex: --writepid /run/openvpn/home.pid) - -use strict; -use warnings; -use utf8; -use Getopt::Long; - -my $openvpn_enabled='/dev/shm/openvpn_i3blocks_enabled'; -my $openvpn_disabled='/dev/shm/openvpn_i3blocks_disabled'; - -# Print output -sub print_output { - my $ref_pid_files = shift; - my @pid_files = @$ref_pid_files; - my $change=0; - - # Total pid files - my $total_pid = @pid_files; - if ($total_pid == 0) { - print "VPN: down\n"x2; - # Delete OpenVPN i3blocks temp files - if (-f $openvpn_enabled) { - unlink $openvpn_enabled or die "Can't delete $openvpn_enabled\n"; - # Colorize if VPN has just went down - print '#FF0000\n'; - } - unless (-f $openvpn_disabled) { - open(my $shm, '>', $openvpn_disabled) or die "Can't write $openvpn_disabled\n"; - } - exit(0); - } - - # Check if interface device is present - my $vpn_found=0; - my $pid; - my $cmd_line; - my @config_name; - my @config_path; - my $interface; - my $current_config_path; - my $current_config_name; - foreach (@pid_files) { - # Get current PID - $pid=0; - open(PID, '<', $_); - while() { - chomp $_; - $pid = $_; - } - close(PID); - # Check if PID has been found - if ($pid ==0) { - print "Can't get PID $_: $!\n"; - } - - # Check if PID is still alive - $cmd_line='/proc/'.$pid.'/cmdline'; - if (-f $cmd_line) { - # Get config name - open(CMD_LINE, '<', $cmd_line); - while() { - chomp $_; - if ($_ =~ /--config\s*(.*\.conf)/) { - # Get interface from config file - $current_config_path = $1; - # Remove unwanted escape chars - $current_config_path =~ s/\x{00}//g; - $interface = 'null'; - # Get configuration name - if ($current_config_path =~ /(\w+).conf/) { - $current_config_name=$1; - } else { - $current_config_name='unknow'; - } - # Get OpenVPN interface device name - open(CONFIG, '<', $current_config_path) or die "Can't read config file '$current_config_path': $!\n"; - while() { - chomp $_; - if ($_ =~ /dev\s+(\w+)/) { - $interface=$1; - last; - } - } - close(CONFIG); - # check if interface exist - unless ($interface eq 'null') { - if (-d "/sys/class/net/$interface") { - push @config_name, $current_config_name; - $vpn_found=1; - # Write enabled file - unless (-f $openvpn_enabled) { - open(my $shm, '>', $openvpn_enabled) or die "Can't write $openvpn_enabled\n"; - $change=1; - } - } - } - } - } - close(CMD_LINE); - } - } - - # Check if PID found - my $names; - my $short_status; - if ($vpn_found == 1) { - $names = join('/', @config_name); - $short_status='up'; - } else { - $short_status='down'; - $names = $short_status; - } - - print "VPN: $names\n"; - print "VPN: $short_status\n"; - - # Print color if there were changes - print "#00FF00\n" if ($change == 1); - - exit(0); -} - -sub check_opts { - # Vars - my @pid_file=glob '/run/openvpn/*.pid'; - - # Set options - GetOptions( "help|h" => \&help, - "p=s" => \@pid_file); - - print_output(\@pid_file); -} - -sub help { - print "Usage: openvpn [-d pid folder files]\n"; - print "-d : pid folder files (default /run/openvpn/*.pid)\n"; - print "Note: devices in configuration file should be named with their number (ex: tun0, tap1)\n"; - exit(1); -} - -&check_opts; diff --git a/.config/i3/blocks/rotation b/.config/i3/blocks/rotation deleted file mode 100755 index 99a55d5..0000000 --- a/.config/i3/blocks/rotation +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -lock="/tmp/rotlock" - -[[ -e $lock ]] || echo "unlocked" > "$lock" - -status=$(<$lock) - -if [ $BLOCK_BUTTON -gt 0 ]; then - case $status in - "unlocked") status="locked" ;; - "locked") status="unlocked";; - esac - echo $status > "$lock" -fi - -case $status in - "locked") echo "";; - "unlocked") echo "";; -esac diff --git a/.config/i3/blocks/temperature b/.config/i3/blocks/temperature deleted file mode 100755 index ab8d815..0000000 --- a/.config/i3/blocks/temperature +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/perl -# Copyright 2014 Pierre Mavro -# Copyright 2014 Vivien Didelot -# Copyright 2014 Andreas Guldstrand -# Copyright 2014 Benjamin Chretien - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -use strict; -use warnings; -use utf8; -use Getopt::Long; - -binmode(STDOUT, ":utf8"); - -# default values -my $t_warn = 70; -my $t_crit = 90; -my $chip = "coretemp-isa-0000"; -my $temperature = -9999; - -sub help { - print "Usage: temperature [-w ] [-c ] [--chip ]\n"; - print "-w : warning threshold to become yellow\n"; - print "-c : critical threshold to become red\n"; - print "--chip : sensor chip\n"; - exit 0; -} - -GetOptions("help|h" => \&help, - "w=i" => \$t_warn, - "c=i" => \$t_crit, - "chip=s" => \$chip); - -# Get chip temperature -open (SENSORS, "sensors -u $chip |") or die; -while () { - if (/^\s+temp1_input:\s+[\+]*([\-]*\d+\.\d)/) { - $temperature = $1; - last; - } -} -close(SENSORS); - -$temperature eq -9999 and die 'Cannot find temperature'; - -# Print short_text, full_text -print int($temperature)."°c\n" x2; - -# Print color, if needed -if ($temperature >= $t_crit) { - print "#FF0000\n"; - exit 33; -} elsif ($temperature >= $t_warn) { - print "#FFFC00\n"; -} - -exit 0; diff --git a/.config/i3/blocks/toggleoutput.sh b/.config/i3/blocks/toggleoutput.sh deleted file mode 100755 index a1cd706..0000000 --- a/.config/i3/blocks/toggleoutput.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -CARDS=$(pacmd list-cards | grep -e index: -e alsa.card_name | xargs -n5 | awk '{print $2}') - -if [[ ${#CARDS} != 3 ]]; # there is a space -then - echo "This script works only with 2 outputs, and you have ..." - pacmd list-cards | grep -e index: -e alsa.card_name | xargs -n5 - exit -fi - -i=1 -for card_index in $CARDS ; -do - eval CARD$i=$card_index - let i+=1 - -done - -LAST_SINK_LINE=$(pacmd list-sink-inputs | grep -e index: -e sink: | xargs -n5 | tail -n1) -last_sink_app_index=$( echo $LAST_SINK_LINE | awk '{print $2}' ) -last_sink_out_index=$( echo $LAST_SINK_LINE | awk '{print $4}' ) -[[ ${last_sink_out_index} == ${CARD1} ]] && new_sink_out=$CARD2 || new_sink_out=$CARD1 - -#echo "$last_sink_app_index > $last_sink_out_index > ${new_sink_out}" - -pacmd move-sink-input ${last_sink_app_index} ${new_sink_out} diff --git a/.config/i3/blocks/updates b/.config/i3/blocks/updates deleted file mode 100755 index e9a8cc0..0000000 --- a/.config/i3/blocks/updates +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -set -e - -for p in trizen pacaur yaourt pacman; do - if $p --version &>/dev/null; then - PAC="$p" - break; - fi -done - -if [ -z "$PAC" ]; then - >&2 echo "Error: No Arch package manager found?" -fi - -if [ "$BLOCK_BUTTON" == 1 ]; then - nohup i3-sensible-terminal -r i3blocks-update-term -e "sh -c '$PAC -Syu || exec zsh; pkill -RTMIN+5 i3blocks'" &>/dev/null & - disown -fi - -if [ $p = "pacman" ]; then - exec 3< <(checkupdates) -else - exec 3< <({ checkupdates & cower -u & }) -fi - -count="$(wc -l <&3)" - -if [ -n "$count" -a "$count" -gt 0 ]; then - echo $count - echo $count -fi diff --git a/.config/i3/blocks/volume b/.config/i3/blocks/volume deleted file mode 100755 index 61a8c6a..0000000 --- a/.config/i3/blocks/volume +++ /dev/null @@ -1,182 +0,0 @@ -#!/bin/bash -# Displays the default device, volume, and mute status for i3blocks - -AUDIO_HIGH_SYMBOL=' ' - -AUDIO_MED_THRESH=59 -AUDIO_MED_SYMBOL=' ' - -AUDIO_LOW_THRESH=0 -AUDIO_LOW_SYMBOL=' ' - -AUDIO_MUTED_SYMBOL='' - -AUDIO_INTERVAL=5 - -DEFAULT_COLOR="#ffffff" -MUTED_COLOR="#a0a0a0" - -LONG_FORMAT=0 -SHORT_FORMAT=3 -USE_PERCENT=0 -USE_ALSA_NAME=0 -USE_DESCRIPTION=0 - -SUBSCRIBE=1 - -while getopts F:Sf:padH:M:L:X:T:t:C:c:i:m:s:h opt; do - case "$opt" in - S) SUBSCRIBE=1 ;; - F) LONG_FORMAT="$OPTARG" ;; - f) SHORT_FORMAT="$OPTARG" ;; - p) USE_PERCENT=0 ;; - a) USE_ALSA_NAME=1 ;; - d) USE_DESCRIPTION=1 ;; - H) AUDIO_HIGH_SYMBOL="$OPTARG" ;; - M) AUDIO_MED_SYMBOL="$OPTARG" ;; - L) AUDIO_LOW_SYMBOL="$OPTARG" ;; - X) AUDIO_MUTED_SYMBOL="$OPTARG" ;; - T) AUDIO_MED_THRESH="$OPTARG" ;; - t) AUDIO_LOW_THRESH="$OPTARG" ;; - C) DEFAULT_COLOR="$OPTARG" ;; - c) MUTED_COLOR="$OPTARG" ;; - i) AUDIO_INTERVAL="$OPTARG" ;; - m) MIXER="$OPTARG" ;; - s) SCONTROL="$OPTARG" ;; - h) printf \ -"Usage: volume-pulseaudio [-S] [-F format] [-f format] [-p] [-a|-d] [-H symb] [-M symb] - [-L symb] [-X symb] [-T thresh] [-t thresh] [-C color] [-c color] [-i inter] - [-m mixer] [-s scontrol] [-h] -Options: --F, -f\tOutput format (-F long format, -f short format) to use, amongst: -\t0\t symb vol [index:name]\t (default long) -\t1\t symb vol [name] -\t2\t symb vol [index]\t (default short) -\t3\t symb vol --S\tSubscribe to volume events (requires persistent block, always uses long format) --p\tOmit the percent sign (%%) in volume --a\tUse ALSA name if possible --d\tUse device description instead of name if possible --H\tSymbol to use when audio level is high. Default: '$AUDIO_HIGH_SYMBOL' --M\tSymbol to use when audio level is medium. Default: '$AUDIO_MED_SYMBOL' --L\tSymbol to use when audio level is low. Default: '$AUDIO_LOW_SYMBOL' --X\tSymbol to use when audio is muted. Default: '$AUDIO_MUTED_SYMBOL' --T\tThreshold for medium audio level. Default: $AUDIO_MED_THRESH --t\tThreshold for low audio level. Default: $AUDIO_LOW_THRESH --C\tColor for non-muted audio. Default: $DEFAULT_COLOR --c\tColor for muted audio. Default: $MUTED_COLOR --i\tInterval size of volume increase/decrease. Default: $AUDIO_INTERVAL --m\tUse the given mixer. --s\tUse the given scontrol. --h\tShow this help text -" && exit 0;; - esac -done - -if [[ -z "$MIXER" ]] ; then - MIXER="default" - if amixer -D pulse info >/dev/null 2>&1 ; then - MIXER="pulse" - fi -fi - -if [[ -z "$SCONTROL" ]] ; then - SCONTROL=$(amixer -D "$MIXER" scontrols | sed -n "s/Simple mixer control '\([^']*\)',0/\1/p" | head -n1) -fi - -CAPABILITY=$(amixer -D $MIXER get $SCONTROL | sed -n "s/ Capabilities:.*cvolume.*/Capture/p") - - -function move_sinks_to_new_default { - DEFAULT_SINK=$1 - pacmd list-sink-inputs | grep index: | grep -o '[0-9]\+' | while read SINK - do - pacmd move-sink-input $SINK $DEFAULT_SINK - done -} - -function set_default_playback_device_next { - inc=${1:-1} - num_devices=$(pacmd list-sinks | grep -c index:) - sink_arr=($(pacmd list-sinks | grep index: | grep -o '[0-9]\+')) - default_sink_index=$(( $(pacmd list-sinks | grep index: | grep -no '*' | grep -o '^[0-9]\+') - 1 )) - default_sink_index=$(( ($default_sink_index + $num_devices + $inc) % $num_devices )) - default_sink=${sink_arr[$default_sink_index]} - pacmd set-default-sink $default_sink - move_sinks_to_new_default $default_sink -} - -case "$BLOCK_BUTTON" in - 1) set_default_playback_device_next ;; - 2) amixer -q -D $MIXER sset $SCONTROL $CAPABILITY toggle ;; - 3) set_default_playback_device_next -1 ;; - 4) amixer -q -D $MIXER sset $SCONTROL $CAPABILITY $AUDIO_INTERVAL%+ ;; - 5) amixer -q -D $MIXER sset $SCONTROL $CAPABILITY $AUDIO_INTERVAL%- ;; -esac - -function print_format { - PERCENT="%" - [[ $USE_PERCENT == 0 ]] && PERCENT="" - case "$1" in - 1) echo "$SYMBOL$VOL$PERCENT [$NAME]" ;; - 2) echo "$SYMBOL$VOL$PERCENT [$INDEX]";; - 3) echo "$SYMBOL$VOL$PERCENT" ;; - *) echo "$SYMBOL$VOL$PERCENT [$INDEX:$NAME]" ;; - esac -} - -function print_block { - for name in INDEX NAME VOL MUTED; do - read $name - done < <(pacmd list-sinks | grep "index:\|name:\|volume: front\|muted:" | grep -A3 '*') - INDEX=$(echo "$INDEX" | grep -o '[0-9]\+') - VOL=$(echo "$VOL" | grep -o "[0-9]*%" | head -1 ) - VOL="${VOL%?}" - - NAME=$(echo "$NAME" | sed \ -'s/.*<.*\.\(.*\)>.*/\1/; t;'\ -'s/.*<\(.*\)>.*/\1/; t;'\ -'s/.*/unknown/') - - if [[ $USE_ALSA_NAME == 1 ]] ; then - ALSA_NAME=$(pacmd list-sinks |\ -awk '/^\s*\*/{f=1}/^\s*index:/{f=0}f' |\ -grep "alsa.name\|alsa.mixer_name" |\ -head -n1 |\ -sed 's/.*= "\(.*\)".*/\1/') - NAME=${ALSA_NAME:-$NAME} - elif [[ $USE_DESCRIPTION == 1 ]] ; then - DESCRIPTION=$(pacmd list-sinks |\ -awk '/^\s*\*/{f=1}/^\s*index:/{f=0}f' |\ -grep "device.description" |\ -head -n1 |\ -sed 's/.*= "\(.*\)".*/\1/') - NAME=${DESCRIPTION:-$NAME} - fi - - if [[ $MUTED =~ "no" ]] ; then - SYMBOL=$AUDIO_HIGH_SYMBOL - [[ $VOL -le $AUDIO_MED_THRESH ]] && SYMBOL=$AUDIO_MED_SYMBOL - [[ $VOL -le $AUDIO_LOW_THRESH ]] && SYMBOL=$AUDIO_LOW_SYMBOL - COLOR=$DEFAULT_COLOR - else - SYMBOL=$AUDIO_MUTED_SYMBOL - COLOR=$MUTED_COLOR - VOL="" - fi - -# if [[ $SUBSCRIBE == 1 ]] ; then -# print_format "$LONG_FORMAT" -# else -# print_format "$LONG_FORMAT" - print_format "$SHORT_FORMAT" -# echo "$COLOR" -# fi -} - -print_block -if [[ $SUBSCRIBE == 1 ]] ; then - while read -r EVENT; do - print_block - done < <(pactl subscribe | stdbuf -oL grep change) -fi diff --git a/.config/i3/blocks/wifi b/.config/i3/blocks/wifi deleted file mode 100755 index ffaccab..0000000 --- a/.config/i3/blocks/wifi +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash -# Copyright (C) 2014 Alexander Keller - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -#------------------------------------------------------------------------ - -INTERFACE="${BLOCK_INSTANCE:-wlan0}" - -#------------------------------------------------------------------------ - -# As per #36 -- It is transparent: e.g. if the machine has no battery or wireless -# connection (think desktop), the corresponding block should not be displayed. -[[ ! -d /sys/class/net/${INTERFACE}/wireless ]] || - [[ "$(cat /sys/class/net/$INTERFACE/operstate)" = 'down' ]] && exit - -#------------------------------------------------------------------------ - -QUALITY=$(grep $INTERFACE /proc/net/wireless | awk '{ print int($3 * 100 / 70) }') - -#------------------------------------------------------------------------ - -echo $QUALITY% # full text -echo $QUALITY% # short text - -# color -if [[ $QUALITY -ge 80 ]]; then - echo "#00FF00" -elif [[ $QUALITY -lt 80 ]]; then - echo "#FFF600" -elif [[ $QUALITY -lt 60 ]]; then - echo "#FFAE00" -elif [[ $QUALITY -lt 40 ]]; then - echo "#FF0000" -fi diff --git a/.config/i3/config b/.config/i3/config index ac002d3..dbbae97 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -94,27 +94,7 @@ client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-co client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color $bg-color client.urgent $urgent-bg-color $urgent-bg-color $text-color $bg-color -bar { - status_command i3blocks -c ~/.config/i3/blocks/config - - workspace_buttons yes - strip_workspace_numbers yes - tray_output primary - tray_padding 2 - height 28 - - output primary - position top - - colors { - separator #757575 - background #2f343f - # border background text - focused_workspace $bg-color $bg-color $text-color - inactive_workspace $inactive-bg-color $inactive-bg-color $inactive-text-color - urgent_workspace $urgent-bg-color $urgent-bg-color $text-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 # Window rules for_window [class="Pinentry"] floating enable @@ -126,11 +106,11 @@ for_window [window_role="i3blocks-update-term"] floating enable for_window [window_role="i3blocks-clock-term"] floating enable for_window [title="^rofi$"] floating enable -new_window pixel 5 +new_window none new_float none -gaps inner 9 -gaps outer 1 +gaps inner 12 +gaps outer 4 focus_follows_mouse yes @@ -141,9 +121,9 @@ bindsym $mod+v exec "i3-sensible-terminal -e \\"$SHELL -c vim;$ bindsym $mod+Ctrl+v exec "i3-sensible-terminal -r floating-term -e \\"$SHELL -c vim;$SHELL\\" bindsym Mod1+Tab exec ~/.config/i3/alt-tab.sh bindsym $mod+Return exec i3-sensible-terminal -bindsym $mod+Ctrl+Return exec i3-sensible-terminal -r floating-term --geometry 96x30 +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 --geometry 96x30 -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+space exec "pkill rofi; rofi -show run -sidebar-mode -terminal i3-sensible-terminal -normal-window" bindsym $mod+Shift+p exec rofi-pass @@ -152,7 +132,7 @@ bindsym $mod+Shift+i exec rofi-fontawesome bindsym --release Print exec screenshot bindsym --release $mod+Print exec imgur-screenshot bindsym $mod+$alt+space exec --no-startup-id ~/.config/i3/cycleaudio.py && pkill -RTMIN+10 i3blocks -bindsym $mod+numbersign exec "termite -e 'sh -c xclip\ -o\ |\ gpg\ --decrypt\ 2>&1\ \;\ $SHELL'" +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 \\"$LINK\\"" @@ -170,7 +150,6 @@ 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 "ip monitor | while read; do pkill -RTMIN+15 i3blocks; done" 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 diff --git a/.config/polybar/config b/.config/polybar/config new file mode 100644 index 0000000..f3861b2 --- /dev/null +++ b/.config/polybar/config @@ -0,0 +1,313 @@ +[colours] +background = transparent +text = #eceff1 +icon = #147a82 +warning = #bd2c40 +critical = #bd2c40 + +[settings] +format-foreground = ${colours.text} +format-background = ${colours.background} +format-spacing = 0 +format-margin = 2.5 +format-offset = 0 + +[bar/i3bar] +monitor = ${env:MONITOR:eDP1} +dpi = ${xrdb:Xft.dpi:-1} +fixed-center = false +enable-ipc = true + +width = 100% +height = 44 +bottom = true +radius = 0 + +foreground = ${colours.text} +background = ${colours.background} + +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 = +# modules-right = volume updates weather xkeyboard wlan eth memory cpu xbacklight battery temperature date +modules-right = volume updates weather wlan eth memory cpu xbacklight battery temperature date + +tray-position = right +tray-detached = false +tray-background = ${root.background} +tray-offset-x = -6 +tray-offset-y = -2 +tray-maxsize = 24 +tray-padding = 2 +tray-scale = 1.0 + +cursor-click = pointer +cursor-scroll = ns-resize + + +[module/updates] +type = custom/script +exec = $XDG_CONFIG_HOME/polybar/update.sh +tail = true +format-prefix = " " +format-prefix-foreground = ${colours.icon} +click-left = i3-msg exec -- i3-sensible-terminal -r i3blocks-update-term -e "yay && kill -USR1 %pid% || kill --USR1 %pid%" + +[module/weather] +type = custom/script +exec = $XDG_CONFIG_HOME/polybar/weather.sh +interval = 120 +click-left = i3-msg exec "i3-sensible-terminal -r floating-term -e 'sh -c \"xdotool getactivewindow windowsize 910 680 && curl wttr.in && sleep infinity\"'" + +[module/xkeyboard] +type = internal/xkeyboard + +format = +format-prefix = " " +format-prefix-foreground = ${colours.icon} +format-prefix-underline = ${colours.background} + +label-layout = %name% +label-indicator = %name% + + +[module/i3] +type = internal/i3 +format = +index-sort = true +wrapping-scroll = false + +; Only show workspaces on the same output as the bar +; pin-workspaces = true + +label-mode-padding = 3 +label-mode-foreground = ${colours.text} +label-mode-background = ${colours.background} + +; focused = Active workspace on focused monitor +label-focused = %index% +label-focused-padding = ${self.label-mode-padding} +label-focused-foreground = ${colours.text} +label-focused-background = ${colours.background} +label-focused-underline = ${colours.background} + +; unfocused = Inactive workspace on any monitor +label-unfocused = ${self.label-focused} +label-unfocused-padding = ${self.label-focused-padding} +label-unfocused-foreground= ${colours.icon} +label-unfocused-underline = ${self.label-focused-underline} + +; visible = Active workspace on unfocused monitor +label-visible = ${self.label-focused} +label-visible-foreground= ${colours.icon} +label-visible-padding = ${self.label-focused-padding} +label-visible-background = ${self.label-focused-background} +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-padding = ${self.label-focused-padding} + + +[module/xbacklight] +type = internal/xbacklight + +label = %percentage% +format =