Compare commits
57 Commits
bb290e1ea0
...
master
Author | SHA1 | Date | |
---|---|---|---|
8b24c9f318
|
|||
44d2ac2019
|
|||
63a62572f2
|
|||
be0d92ebc1
|
|||
6fd9a92306
|
|||
e77e963a98
|
|||
e7c2673576
|
|||
b0a4bb2270
|
|||
25d69a780d
|
|||
0c092f7ab7
|
|||
709079c3e5
|
|||
7eeecd9991
|
|||
e742d169c2
|
|||
b2e7765b13
|
|||
94e23dc226
|
|||
1c9b6cd94a
|
|||
7192a961e9
|
|||
be1692c02a
|
|||
cf08990f6d
|
|||
ce77f97011
|
|||
9c6b39aa4b
|
|||
28dce4b836
|
|||
a0470b5f06
|
|||
351c1c959f
|
|||
23dfbf1592
|
|||
dd08223fca
|
|||
617296a477
|
|||
952a809d70
|
|||
8f63f6fbf8
|
|||
d03559fd51
|
|||
71537f9de5
|
|||
c124a99266
|
|||
40e6023c83
|
|||
c84e170e4f
|
|||
992987fb3c
|
|||
5f96594506
|
|||
73c6a8b1a0
|
|||
e81e4d9e61
|
|||
90b980b39a
|
|||
e4ead60afe
|
|||
502fdd2149 | |||
50afc6ed7f
|
|||
8244d5cf6b
|
|||
85e5fa4dbf
|
|||
81f466d471
|
|||
f4b54e7304
|
|||
5db0d63bee
|
|||
17acb644aa
|
|||
e8b081117c
|
|||
de1e5463b9
|
|||
ae48a24838
|
|||
83b4328f1c
|
|||
6f55fa414d
|
|||
ecaade6541
|
|||
89e23b0c93
|
|||
e6cf697a98
|
|||
174e0ed7e1 |
139
bashrc
Normal file
139
bashrc
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
|
||||||
|
# vars
|
||||||
|
PATH=$HOME/.scripts:/opt:/home/shihaam/.local/bin:$HOME/.shortcuts/wineprograms:$HOME/Applications:$PATH
|
||||||
|
HISTSIZE=999999
|
||||||
|
HISTFILESIZE=999999
|
||||||
|
HISTCONTROL=ignoreboth:erasedups
|
||||||
|
|
||||||
|
export GPG_TTY=$(tty) #Set GPG_TTY veriable, needed for signing git commits other gpg stuff
|
||||||
|
export COMPOSE_DOCKER_CLI_BUILD=1
|
||||||
|
export DOCKER_BUILDKIT=1
|
||||||
|
|
||||||
|
|
||||||
|
#export SSH_CA_FILES=/home/shihaam/git/alliedmaldives/ops/ssh-ca
|
||||||
|
export SSH_CA_FILES=$HOME/.ssh
|
||||||
|
export SSH_CA_REVOCATION_LIST=$HOME/git/alliedmaldives/ops/ssh-ca/revoked_keys
|
||||||
|
export SSL_FILES=$HOME/git/alliedmaldives/ops/ssl-certs
|
||||||
|
|
||||||
|
#load ble.sh
|
||||||
|
source ~/.local/share/blesh/ble.sh
|
||||||
|
|
||||||
|
#load seafly prompt
|
||||||
|
source ~/.bash-seafly-prompt/command_prompt.bash
|
||||||
|
|
||||||
|
|
||||||
|
#always open last dir
|
||||||
|
cd(){ builtin cd "$@" && pwd > ~/.cache/whereami;}
|
||||||
|
cdl(){ cd $(cat ~/.cache/whereami);};cdl
|
||||||
|
|
||||||
|
ip(){
|
||||||
|
if [[ $1 == "info" ]]
|
||||||
|
then
|
||||||
|
curl -s https://ipinfo.io/$2 | jq
|
||||||
|
else
|
||||||
|
command ip "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
####### ALIASES ##########
|
||||||
|
# add features
|
||||||
|
#alias nano='nano -l'
|
||||||
|
alias hdd='cd /mnt/hdd'
|
||||||
|
alias drag=ripdrag
|
||||||
|
|
||||||
|
#Adding output colors
|
||||||
|
alias ls='ls --color=always'
|
||||||
|
alias grep='grep --color=auto'
|
||||||
|
alias less='less -R'
|
||||||
|
alias ping='ping -O'
|
||||||
|
# fix typos
|
||||||
|
alias ckear=clear
|
||||||
|
alias sl=ls
|
||||||
|
alias ks=ls
|
||||||
|
alias dc=cd
|
||||||
|
#########################
|
||||||
|
|
||||||
|
#docker(){
|
||||||
|
# if [[ $1 == "compose" && $2 == "up" && $# -eq 2 ]]; then
|
||||||
|
# docker compose up -d && docker compose logs -f
|
||||||
|
# else
|
||||||
|
# command docker "$@"
|
||||||
|
# fi
|
||||||
|
#}
|
||||||
|
|
||||||
|
##################### Some cool funcations hehe ###############################
|
||||||
|
# do math in shell
|
||||||
|
math(){ echo $1 | bc;}
|
||||||
|
# Simpleway to see IP resolved to DNS record
|
||||||
|
checkip(){ dig $1 +short;}
|
||||||
|
# search for term and edit first file with that specific text
|
||||||
|
edit(){ nano $(grep $1 * -R | awk '{print $1}'|cut -f1 -d ':' | head -n1);}
|
||||||
|
#root(){ su -c "$@";}
|
||||||
|
# view md file on cli
|
||||||
|
catmd() { pandoc $1 | lynx -stdin;}
|
||||||
|
# replace white spaces in file name with underscores
|
||||||
|
rmspace() { for file in *; do mv -- "$file" "${file// /_}"; done;}
|
||||||
|
yq() {
|
||||||
|
podman run --rm -i -v "${PWD}":/workdir mikefarah/yq "$@"
|
||||||
|
}
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
### Enter container
|
||||||
|
#enter () {
|
||||||
|
# local container="$(echo "$1" | cut -d'_' -f1)"
|
||||||
|
# if docker ps | grep "$container" >/dev/null 2>&1; then
|
||||||
|
# docker exec -it "$container" bash
|
||||||
|
# elif podman ps | grep "$container" >/dev/null 2>&1; then
|
||||||
|
# podman exec -it "$container" bash
|
||||||
|
# else
|
||||||
|
# echo "Error: Container '$container' not found" >&2
|
||||||
|
# return 1
|
||||||
|
# fi
|
||||||
|
#}
|
||||||
|
|
||||||
|
enter () {
|
||||||
|
local container="$1"
|
||||||
|
# local container="$(echo "$1" | cut -d'_' -f1)"
|
||||||
|
if docker ps | grep "$container" >/dev/null 2>&1; then
|
||||||
|
docker exec -it "$container" bash
|
||||||
|
elif podman ps | grep "$container" >/dev/null 2>&1; then
|
||||||
|
podman exec -it "$container" bash
|
||||||
|
else
|
||||||
|
echo "Error: Container '$container' not found" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
extract() {
|
||||||
|
if [ -f "$1" ] ; then
|
||||||
|
local folder_name=$(basename "$1" | sed -e 's/\..*$//')
|
||||||
|
mkdir -p "$folder_name"
|
||||||
|
case "$1" in
|
||||||
|
*.tar.bz2) tar xvjf "$1" -C "$folder_name" ;;
|
||||||
|
*.tar.gz) tar xvzf "$1" -C "$folder_name" ;;
|
||||||
|
*.bz2) bunzip2 -k "$1" && mv "${1%.*}" "$folder_name" ;;
|
||||||
|
*.rar) unrar x "$1" "$folder_name" ;;
|
||||||
|
*.gz) gunzip -k "$1" && mv "${1%.*}" "$folder_name" ;;
|
||||||
|
*.tar) tar xvf "$1" -C "$folder_name" ;;
|
||||||
|
*.tbz2) tar xvjf "$1" -C "$folder_name" ;;
|
||||||
|
*.tgz) tar xvzf "$1" -C "$folder_name" ;;
|
||||||
|
*.zip) unzip "$1" -d "$folder_name" ;;
|
||||||
|
*.Z) uncompress "$1" && mv "${1%.*}" "$folder_name" ;;
|
||||||
|
*.7z) 7z x "$1" -o"$folder_name" ;;
|
||||||
|
*.xz) xz --decompress --keep "$1" && mv "${1%.*}" "$folder_name" ;;
|
||||||
|
*) echo "'$1' cannot be extracted via extract()" ;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
echo "'$1' is not a valid file"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#load neofetch
|
||||||
|
#neofetch
|
||||||
|
source /usr/share/nvm/init-nvm.sh
|
||||||
|
|
||||||
|
PATH=$PATH:/home/shihaam/.wine/drive_c/users/shihaam/AppData/Roaming/.tlauncher/legacy/Minecraft
|
||||||
|
shopt -s cdspell
|
||||||
|
#fastfetch
|
5
config/bash/.bash_profile
Normal file
5
config/bash/.bash_profile
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#
|
||||||
|
# ~/.bash_profile
|
||||||
|
#
|
||||||
|
|
||||||
|
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
42
config/bash/bashrc
Normal file
42
config/bash/bashrc
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
#
|
||||||
|
# ~/.bashrc
|
||||||
|
#
|
||||||
|
#start i3 if not running
|
||||||
|
#check if ssh
|
||||||
|
#if [ "$SSH_TTY" = "" ]
|
||||||
|
#then
|
||||||
|
# #check if xinit running already
|
||||||
|
# STARTX=$(ps -e | grep xinit | awk '{print $4}')
|
||||||
|
# if [ "$STARTX" != "xinit" ]
|
||||||
|
# then
|
||||||
|
# startx ~/.config/X11/xinitrc
|
||||||
|
# clear
|
||||||
|
# fi
|
||||||
|
#fi
|
||||||
|
# MPD daemon start (if no other user instance exists)
|
||||||
|
#[ ! -s ~/.config/mpd/pid ] && mpd
|
||||||
|
|
||||||
|
|
||||||
|
# If not running interactively, don't do anything
|
||||||
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
|
PS1='[\u@\h \W]\$ '
|
||||||
|
|
||||||
|
#path
|
||||||
|
PATH=$PATH:~/.scripts
|
||||||
|
|
||||||
|
## Aliases
|
||||||
|
alias ls='ls --color=auto'
|
||||||
|
alias mv="mv -v"
|
||||||
|
alias rm="rm -v"
|
||||||
|
alias cp="cp -v"
|
||||||
|
alias ssh="kitty +kitten ssh"
|
||||||
|
alias mkdir="mkdir -pv"
|
||||||
|
#alias neofetch="neofetch --ascii_distro off"
|
||||||
|
|
||||||
|
source ~/.local/share/blesh/ble.sh
|
||||||
|
|
||||||
|
# BEGIN_KITTY_SHELL_INTEGRATION
|
||||||
|
if test -n "$KITTY_INSTALLATION_DIR" -a -e "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; then source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; fi
|
||||||
|
# END_KITTY_SHELL_INTEGRATION
|
||||||
|
|
114
config/i3/config
114
config/i3/config
@@ -44,6 +44,10 @@ bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOU
|
|||||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
floating_modifier $mod
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# move tiling windows via drag & drop by left-clicking into the title bar,
|
||||||
|
# or left-clicking anywhere into the window while holding the floating modifier.
|
||||||
|
tiling_drag modifier titlebar
|
||||||
|
|
||||||
# start a terminal
|
# start a terminal
|
||||||
bindsym $mod+Return exec i3-sensible-terminal
|
bindsym $mod+Return exec i3-sensible-terminal
|
||||||
|
|
||||||
@@ -53,8 +57,6 @@ bindsym $mod+Shift+q kill
|
|||||||
# start dmenu (a program launcher)
|
# start dmenu (a program launcher)
|
||||||
#bindsym $mod+d exec --no-startup-id dmenu_run
|
#bindsym $mod+d exec --no-startup-id dmenu_run
|
||||||
bindsym $mod+d exec --no-startup-id rofi -show run
|
bindsym $mod+d exec --no-startup-id rofi -show run
|
||||||
|
|
||||||
|
|
||||||
# A more modern dmenu replacement is rofi:
|
# A more modern dmenu replacement is rofi:
|
||||||
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
|
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
|
||||||
# There also is i3-dmenu-desktop which only displays applications shipping a
|
# There also is i3-dmenu-desktop which only displays applications shipping a
|
||||||
@@ -113,16 +115,16 @@ bindsym $mod+a focus parent
|
|||||||
|
|
||||||
# Define names for default workspaces for which we configure key bindings later on.
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
# We use variables to avoid repeating the names in multiple places.
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
set $ws1 "1: "
|
set $ws1 "1"
|
||||||
set $ws2 "2: "
|
set $ws2 "2"
|
||||||
set $ws3 "3: "
|
set $ws3 "3"
|
||||||
set $ws4 "4: "
|
set $ws4 "4"
|
||||||
set $ws5 "5: "
|
set $ws5 "5"
|
||||||
set $ws6 "6: "
|
set $ws6 "6"
|
||||||
set $ws7 "7: "
|
set $ws7 "7"
|
||||||
set $ws8 "8: "
|
set $ws8 "8"
|
||||||
set $ws9 "9: "
|
set $ws9 "9"
|
||||||
set $ws10 "10: "
|
set $ws10 "10"
|
||||||
|
|
||||||
# switch to workspace
|
# switch to workspace
|
||||||
bindsym $mod+1 workspace number $ws1
|
bindsym $mod+1 workspace number $ws1
|
||||||
@@ -148,7 +150,6 @@ bindsym $mod+Shift+8 move container to workspace number $ws8
|
|||||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||||
|
|
||||||
|
|
||||||
# reload the configuration file
|
# reload the configuration file
|
||||||
bindsym $mod+Shift+c reload
|
bindsym $mod+Shift+c reload
|
||||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
@@ -189,55 +190,54 @@ bar {
|
|||||||
status_command i3status
|
status_command i3status
|
||||||
}
|
}
|
||||||
|
|
||||||
##my config
|
|
||||||
#lock screen
|
|
||||||
bindsym $mod+shift+x exec i3lock --color=000000
|
|
||||||
|
|
||||||
#set wallpaper
|
# remove blue border on windows
|
||||||
#exec nitrogen --restore
|
|
||||||
#exec_always feh --bg-scale /usr/share/backgrounds/archlinux/archbtw.png
|
|
||||||
#exec_always feh --no-fehbg --bg-scale '/usr/share/backgrounds/archlinux/archwave.png'
|
|
||||||
#exec_always feh --no-fehbg --bg-scale ~/Pictures/Wallpapers/current-wallpaper
|
|
||||||
exec_always ~/.scripts/set-random-wallpaper
|
|
||||||
|
|
||||||
#screenshot util
|
|
||||||
bindsym $mod+shift+s exec flameshot gui
|
|
||||||
|
|
||||||
#fixed opening workspaces
|
|
||||||
assign [class="TelegramDesktop"] $ws10
|
|
||||||
#assign [class=""] $ws9
|
|
||||||
assign [class="obs"] $ws8
|
|
||||||
assign [class="Virt-manager"] $ws7
|
|
||||||
assign [class="Brave"] $ws6
|
|
||||||
assign [class="Pcmanfm"] $ws5
|
|
||||||
|
|
||||||
#window boder size
|
|
||||||
for_window [class="^.*"] border pixel 0
|
for_window [class="^.*"] border pixel 0
|
||||||
|
|
||||||
#floating mode windows
|
#restore displays
|
||||||
# float Bitwarden Extension from brave
|
#exec --no-startup-id /home/shihaam/.scripts/home.sh
|
||||||
for_window [class="Brave-browser" instance="crx_nngceckbapebfimnlniiiahkandclblb"] floating enable
|
#exec --no-startup-id autorandr --change home
|
||||||
# float network manager setting window
|
#exec --no-startup-id i3-resurrect --restore
|
||||||
for_window [class="Nm-connection-editor" instance="nm-connection-editor"] floating enable
|
|
||||||
|
|
||||||
#start programs
|
# flameshot
|
||||||
exec telegram-desktop
|
#bindsym $mod+Shift+s exec flameshot gui
|
||||||
exec picom
|
bindsym Print exec flameshot gui
|
||||||
exec dunst
|
bindsym $mod+Print exec flameshot gui --raw | tesseract stdin stdout | xclip -in -selection clipboard
|
||||||
exec systemctl --user start mpd
|
# rofi ssh
|
||||||
exec --no-startup-id i3-msg 'workspace $ws1;exec i3-sensible-terminal ~/.scripts/run'
|
bindsym $mod+Shift+s exec rofi -show ssh
|
||||||
exec --no-startup-id i3-msg 'workspace $ws9;exec i3-sensible-terminal ncmpcpp'
|
|
||||||
|
# start the compositor at login
|
||||||
|
exec --no-startup-id picom
|
||||||
|
|
||||||
|
# Start bluetooth system tray applet at login
|
||||||
|
exec --no-startup-id blueman-applet
|
||||||
|
|
||||||
|
#exec --no-startup-id /home/shihaam/.scripts/scrcpy-autostart
|
||||||
|
|
||||||
|
# start power mmanager
|
||||||
|
exec --no-startup-id xfce4-power-manager
|
||||||
|
|
||||||
|
# start activate-linux
|
||||||
|
#exec --no-startup-id activate-linux
|
||||||
|
|
||||||
|
# start ssh key monitoring
|
||||||
|
#exec --no-startup-id doas auditctl -w /home/shihaam/.ssh/id_ed25519 -p r -k ssh-key-read
|
||||||
|
|
||||||
|
# Start dunst (notification service)
|
||||||
|
exec --no-startup-id dunst
|
||||||
|
|
||||||
|
# start ssh access notification script
|
||||||
|
#exec --no-startup-id /home/shihaam/.scripts/notify-ssh-access.sh
|
||||||
|
|
||||||
|
|
||||||
# Sreen brightness controls
|
# start kde connect
|
||||||
bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
|
exec --no-startup-id kdeconnectd
|
||||||
bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness
|
|
||||||
|
|
||||||
# Touchpad controls
|
#set a wallpaper
|
||||||
bindsym XF86TouchpadToggle exec /home/shihaam/.scripts/toggletouchpad.sh # toggle touchpad
|
exec --no-startup-id feh --no-fehbg --bg-scale /usr/share/backgrounds/archlinux/split.png
|
||||||
|
#start ibus
|
||||||
|
exec --no-startup-id ibus start
|
||||||
|
#exec_always polybar
|
||||||
|
|
||||||
# Media player controls
|
|
||||||
bindsym XF86AudioPlay exec playerctl play
|
bindsym $mod+period exec rofi -modi emoji -show emoji
|
||||||
bindsym XF86AudioPause exec playerctl pause
|
|
||||||
bindsym XF86AudioNext exec playerctl next
|
|
||||||
bindsym XF86AudioPrev exec playerctl previous
|
|
||||||
|
@@ -1,215 +0,0 @@
|
|||||||
# This file has been auto-generated by i3-config-wizard(1).
|
|
||||||
# It will not be overwritten, so edit it as you like.
|
|
||||||
#
|
|
||||||
# Should you change your keyboard layout some time, delete
|
|
||||||
# this file and re-run i3-config-wizard(1).
|
|
||||||
#
|
|
||||||
|
|
||||||
# i3 config file (v4)
|
|
||||||
#
|
|
||||||
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
|
||||||
|
|
||||||
set $mod Mod4
|
|
||||||
|
|
||||||
# Font for window titles. Will also be used by the bar unless a different font
|
|
||||||
# is used in the bar {} block below.
|
|
||||||
font pango:monospace 8
|
|
||||||
|
|
||||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
|
||||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
|
||||||
#font pango:DejaVu Sans Mono 8
|
|
||||||
|
|
||||||
# Start XDG autostart .desktop files using dex. See also
|
|
||||||
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
|
||||||
exec --no-startup-id dex --autostart --environment i3
|
|
||||||
|
|
||||||
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
|
||||||
# they are included here as an example. Modify as you see fit.
|
|
||||||
|
|
||||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
|
||||||
# screen before suspend. Use loginctl lock-session to lock your screen.
|
|
||||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
|
||||||
|
|
||||||
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
|
||||||
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
|
||||||
exec --no-startup-id nm-applet
|
|
||||||
|
|
||||||
# Use pactl to adjust volume in PulseAudio.
|
|
||||||
set $refresh_i3status killall -SIGUSR1 i3status
|
|
||||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
|
||||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
|
||||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
|
||||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
|
||||||
|
|
||||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
|
||||||
floating_modifier $mod
|
|
||||||
|
|
||||||
# start a terminal
|
|
||||||
bindsym $mod+Return exec i3-sensible-terminal
|
|
||||||
|
|
||||||
# kill focused window
|
|
||||||
bindsym $mod+Shift+q kill
|
|
||||||
|
|
||||||
# start dmenu (a program launcher)
|
|
||||||
bindsym $mod+d exec --no-startup-id dmenu_run
|
|
||||||
# A more modern dmenu replacement is rofi:
|
|
||||||
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
|
|
||||||
# There also is i3-dmenu-desktop which only displays applications shipping a
|
|
||||||
# .desktop file. It is a wrapper around dmenu, so you need that installed.
|
|
||||||
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
|
|
||||||
|
|
||||||
# change focus
|
|
||||||
bindsym $mod+j focus left
|
|
||||||
bindsym $mod+k focus down
|
|
||||||
bindsym $mod+l focus up
|
|
||||||
bindsym $mod+semicolon focus right
|
|
||||||
|
|
||||||
# alternatively, you can use the cursor keys:
|
|
||||||
bindsym $mod+Left focus left
|
|
||||||
bindsym $mod+Down focus down
|
|
||||||
bindsym $mod+Up focus up
|
|
||||||
bindsym $mod+Right focus right
|
|
||||||
|
|
||||||
# move focused window
|
|
||||||
bindsym $mod+Shift+j move left
|
|
||||||
bindsym $mod+Shift+k move down
|
|
||||||
bindsym $mod+Shift+l move up
|
|
||||||
bindsym $mod+Shift+semicolon move right
|
|
||||||
|
|
||||||
# alternatively, you can use the cursor keys:
|
|
||||||
bindsym $mod+Shift+Left move left
|
|
||||||
bindsym $mod+Shift+Down move down
|
|
||||||
bindsym $mod+Shift+Up move up
|
|
||||||
bindsym $mod+Shift+Right move right
|
|
||||||
|
|
||||||
# split in horizontal orientation
|
|
||||||
bindsym $mod+h split h
|
|
||||||
|
|
||||||
# split in vertical orientation
|
|
||||||
bindsym $mod+v split v
|
|
||||||
|
|
||||||
# enter fullscreen mode for the focused container
|
|
||||||
bindsym $mod+f fullscreen toggle
|
|
||||||
|
|
||||||
# change container layout (stacked, tabbed, toggle split)
|
|
||||||
bindsym $mod+s layout stacking
|
|
||||||
bindsym $mod+w layout tabbed
|
|
||||||
bindsym $mod+e layout toggle split
|
|
||||||
|
|
||||||
# toggle tiling / floating
|
|
||||||
bindsym $mod+Shift+space floating toggle
|
|
||||||
|
|
||||||
# change focus between tiling / floating windows
|
|
||||||
bindsym $mod+space focus mode_toggle
|
|
||||||
|
|
||||||
# focus the parent container
|
|
||||||
bindsym $mod+a focus parent
|
|
||||||
|
|
||||||
# focus the child container
|
|
||||||
#bindsym $mod+d focus child
|
|
||||||
|
|
||||||
# Define names for default workspaces for which we configure key bindings later on.
|
|
||||||
# We use variables to avoid repeating the names in multiple places.
|
|
||||||
set $ws1 "1"
|
|
||||||
set $ws2 "2"
|
|
||||||
set $ws3 "3"
|
|
||||||
set $ws4 "4"
|
|
||||||
set $ws5 "5"
|
|
||||||
set $ws6 "6"
|
|
||||||
set $ws7 "7"
|
|
||||||
set $ws8 "8"
|
|
||||||
set $ws9 "9"
|
|
||||||
set $ws10 "10"
|
|
||||||
|
|
||||||
# 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
|
|
||||||
bindsym $mod+9 workspace number $ws9
|
|
||||||
bindsym $mod+0 workspace number $ws10
|
|
||||||
|
|
||||||
# move focused container to workspace
|
|
||||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
|
||||||
bindsym $mod+Shift+2 move container to workspace number $ws2
|
|
||||||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
|
||||||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
|
||||||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
|
||||||
bindsym $mod+Shift+6 move container to workspace number $ws6
|
|
||||||
bindsym $mod+Shift+7 move container to workspace number $ws7
|
|
||||||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
|
||||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
|
||||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
|
||||||
|
|
||||||
# reload the configuration file
|
|
||||||
bindsym $mod+Shift+c reload
|
|
||||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
|
||||||
bindsym $mod+Shift+r restart
|
|
||||||
# exit i3 (logs you out of your X session)
|
|
||||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
|
||||||
|
|
||||||
# resize window (you can also use the mouse for that)
|
|
||||||
mode "resize" {
|
|
||||||
# These bindings trigger as soon as you enter the resize mode
|
|
||||||
|
|
||||||
# Pressing left will shrink the window’s width.
|
|
||||||
# Pressing right will grow the window’s width.
|
|
||||||
# Pressing up will shrink the window’s height.
|
|
||||||
# Pressing down will grow the window’s height.
|
|
||||||
bindsym j resize shrink width 10 px or 10 ppt
|
|
||||||
bindsym k resize grow height 10 px or 10 ppt
|
|
||||||
bindsym l resize shrink height 10 px or 10 ppt
|
|
||||||
bindsym semicolon resize grow width 10 px or 10 ppt
|
|
||||||
|
|
||||||
# same bindings, but for the arrow keys
|
|
||||||
bindsym Left resize shrink width 10 px or 10 ppt
|
|
||||||
bindsym Down resize grow height 10 px or 10 ppt
|
|
||||||
bindsym Up resize shrink height 10 px or 10 ppt
|
|
||||||
bindsym Right resize grow width 10 px or 10 ppt
|
|
||||||
|
|
||||||
# back to normal: Enter or Escape or $mod+r
|
|
||||||
bindsym Return mode "default"
|
|
||||||
bindsym Escape mode "default"
|
|
||||||
bindsym $mod+r mode "default"
|
|
||||||
}
|
|
||||||
|
|
||||||
bindsym $mod+r mode "resize"
|
|
||||||
|
|
||||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
|
||||||
# finds out, if available)
|
|
||||||
bar {
|
|
||||||
status_command i3status
|
|
||||||
}
|
|
||||||
|
|
||||||
##my config
|
|
||||||
#lock screen
|
|
||||||
bindsym $mod+shift+x exec i3lock --color=000000
|
|
||||||
|
|
||||||
#set wallpaper
|
|
||||||
#exec nitrogen --restore
|
|
||||||
#exec_always feh --bg-scale /usr/share/backgrounds/archlinux/archbtw.png
|
|
||||||
exec_always feh --bg-scale /usr/share/backgrounds/archlinux/archwave.png
|
|
||||||
|
|
||||||
#screenshot util
|
|
||||||
bindsym $mod+shift+s exec flameshot gui
|
|
||||||
# Pulse Audio controls
|
|
||||||
#bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
|
|
||||||
#bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
|
|
||||||
#bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
|
|
||||||
|
|
||||||
# Sreen brightness controls
|
|
||||||
bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
|
|
||||||
bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness
|
|
||||||
|
|
||||||
# Touchpad controls
|
|
||||||
bindsym XF86TouchpadToggle exec /home/shihaam/.scripts/toggletouchpad.sh # toggle touchpad
|
|
||||||
|
|
||||||
# Media player controls
|
|
||||||
bindsym XF86AudioPlay exec playerctl play
|
|
||||||
bindsym XF86AudioPause exec playerctl pause
|
|
||||||
bindsym XF86AudioNext exec playerctl next
|
|
||||||
bindsym XF86AudioPrev exec playerctl previous
|
|
@@ -1,29 +1,53 @@
|
|||||||
sw_volume: 42
|
sw_volume: 44
|
||||||
audio_device_state:1:Visualizer feed
|
audio_device_state:1:Visualizer feed
|
||||||
audio_device_state:1:pulse audio
|
audio_device_state:1:pulse audio
|
||||||
state: stop
|
state: play
|
||||||
random: 0
|
current: 25
|
||||||
repeat: 0
|
time: 125.168000
|
||||||
|
random: 1
|
||||||
|
repeat: 1
|
||||||
single: 0
|
single: 0
|
||||||
consume: 0
|
consume: 0
|
||||||
crossfade: 0
|
crossfade: 5
|
||||||
mixrampdb: 0.000000
|
mixrampdb: 0.000000
|
||||||
mixrampdelay: -1.000000
|
mixrampdelay: -1.000000
|
||||||
playlist_begin
|
playlist_begin
|
||||||
0:Aadhavee ey - Toy Ft. Ishante.mp3
|
0:Alan Walker - Don t You Hold Me Down.mp3
|
||||||
1:01 Neffex - Cold.mp3
|
1:8Percent - shinigami.mp3
|
||||||
2:01 Bülow - Sweet Little Lies.mp3
|
2:NF - STORY.mp3
|
||||||
3:GAYLE - abcdefu.mp3
|
3:GAYLE - abcdefu.mp3
|
||||||
4:07 Tame Impala - The Less I Know The Better.mp3
|
4:Powfu - mario kart.mp3
|
||||||
5:02 The Midnight - Gloria.mp3
|
5:Bbno$ - u mad!.mp3
|
||||||
6:Alan Walker - Don t You Hold Me Down.mp3
|
6:Goner – Twenty One Pilots.mp3
|
||||||
7:Jake Scott - Favorite T-Shirt (Acoustic) (Acoustic).mp3
|
7:Jake Scott - Favorite T-Shirt (Acoustic) (Acoustic).mp3
|
||||||
8:I'm a Peaky Blinder CD 1 TRACK 1 (320).mp3
|
8:Aadhavee ey - Toy Ft. Ishante.mp3
|
||||||
9:01 Lukas Graham - Love Someone.mp3
|
9:Levitate Twenty Øne Pilots.mp3
|
||||||
10:01 Lukas Graham - 7 Years.mp3
|
10:LOFITC.mp3
|
||||||
11:02 Alec Benjamin - Water Fountain.mp3
|
11:Oyaa - Pest.mp3
|
||||||
12:06 Alec Benjamin - Boy In The Bubble.mp3
|
12:Pest - Magey Vaahaka.mp3
|
||||||
13:10 Alec Benjamin - If I Killed Someone For You.mp3
|
13:04 Xxxtentacion - SAD!.mp3
|
||||||
14:01 Imagine Dragons - Natural.mp3
|
14:01 The Chainsmokers - #SELFIE.mp3
|
||||||
15:NF - STORY.mp3
|
15:Lukas Graham - Not a Damn Thing Changed.mp3
|
||||||
|
16:Tate McRae - all my friends are fake.mp3
|
||||||
|
17:Alan Walker - Alone, Pt. II.mp3
|
||||||
|
18:18 Imagine Dragons - Whatever It Takes.mp3
|
||||||
|
19:02 Twenty One Pilots - Stressed Out.mp3
|
||||||
|
20:Dream - Change My Clothes.mp3
|
||||||
|
21:01 Neffex - Cold.mp3
|
||||||
|
22:Bülow - Word Smith.mp3
|
||||||
|
23:01 Bülow - Sweet Little Lies.mp3
|
||||||
|
24:02 Bülow - Get Stüpid.mp3
|
||||||
|
25:05 Bülow - FINE.mp3
|
||||||
|
26:06 Bülow - Euphoria.mp3
|
||||||
|
27:07 Bülow - Wake Up.mp3
|
||||||
|
28:07 Tame Impala - The Less I Know The Better.mp3
|
||||||
|
29:Bülow - SAD AND BORED.mp3
|
||||||
|
30:Bülow - Honor Roll.mp3
|
||||||
|
31:Bülow - You Jennifer.mp3
|
||||||
|
32:02 The Midnight - Gloria.mp3
|
||||||
|
33:14 Pharrell Williams - Despicable Me.mp3
|
||||||
|
34:DVRST - Endless Love.mp3
|
||||||
|
35:04 Imagine Dragons - Believer.mp3
|
||||||
|
36:11 Brian Adams - Everything I Do I Do It for You.mp3
|
||||||
|
37:01 Josh Wall - I Like Me Better When I'm With You.mp3
|
||||||
playlist_end
|
playlist_end
|
||||||
|
20
config/nano/nanorc
Normal file
20
config/nano/nanorc
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
include /usr/share/nano-syntax-highlighting/*
|
||||||
|
set autoindent
|
||||||
|
set linenumbers
|
||||||
|
#set smooth
|
||||||
|
|
||||||
|
set backup
|
||||||
|
set backupdir "~/.cache/nano"
|
||||||
|
|
||||||
|
set titlecolor brightblue,black
|
||||||
|
set statuscolor brightgreen,blue
|
||||||
|
set selectedcolor brightwhite,magenta
|
||||||
|
set numbercolor yellow
|
||||||
|
set keycolor brightcyan
|
||||||
|
set functioncolor green
|
||||||
|
set nohelp
|
||||||
|
|
||||||
|
#bind ^[ ( main
|
||||||
|
#bind ^] ) main
|
||||||
|
#bind ^{ { main
|
||||||
|
#bind ^} } main
|
23
config/picom/picom.conf
Normal file
23
config/picom/picom.conf
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
backend = "xrender";
|
||||||
|
no-dock-shadow = true;
|
||||||
|
active-opacity = 10;
|
||||||
|
frame-opacity = 10;
|
||||||
|
inactive-opacity-override = false;
|
||||||
|
blur-background = false;
|
||||||
|
corner-radius = 5;
|
||||||
|
shadow = false;
|
||||||
|
shadow-ignore-shaped = false;
|
||||||
|
no-fading-destroyed-argb = true;
|
||||||
|
no-fading-openclose = true;
|
||||||
|
no-fading-destroy = true;
|
||||||
|
fade-in-step = 1;
|
||||||
|
fade-out-step = 1;
|
||||||
|
fade-delta = 0;
|
||||||
|
daemon = true;
|
||||||
|
fading = false;
|
||||||
|
glx-no-stencil = true;
|
||||||
|
glx-no-rebind-pixmap = true;
|
||||||
|
use-damage = true;
|
||||||
|
xrender-sync-fence = true;
|
||||||
|
vsync = false;
|
||||||
|
unredir-if-possible = false;
|
281
config/sway/config
Normal file
281
config/sway/config
Normal file
@@ -0,0 +1,281 @@
|
|||||||
|
# Default config for sway
|
||||||
|
#
|
||||||
|
# Copy this to ~/.config/sway/config and edit it to your liking.
|
||||||
|
#
|
||||||
|
# Read `man 5 sway` for a complete reference.
|
||||||
|
|
||||||
|
### Variables
|
||||||
|
#
|
||||||
|
# Logo key. Use Mod1 for Alt.
|
||||||
|
set $mod Mod4
|
||||||
|
# Home row direction keys, like vim
|
||||||
|
set $left h
|
||||||
|
set $down j
|
||||||
|
set $up k
|
||||||
|
set $right l
|
||||||
|
# Your preferred terminal emulator
|
||||||
|
set $term alacritty
|
||||||
|
# Your preferred application launcher
|
||||||
|
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||||
|
# on the original workspace that the command was run on.
|
||||||
|
set $menu dmenu_path | dmenu | xargs swaymsg exec --
|
||||||
|
|
||||||
|
### Output configuration
|
||||||
|
#
|
||||||
|
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
|
||||||
|
output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
|
||||||
|
#
|
||||||
|
# Example configuration:
|
||||||
|
#
|
||||||
|
# output HDMI-A-1 resolution 1920x1080 position 1920,0
|
||||||
|
#
|
||||||
|
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||||
|
|
||||||
|
### Idle configuration
|
||||||
|
#
|
||||||
|
# Example configuration:
|
||||||
|
#
|
||||||
|
# exec swayidle -w \
|
||||||
|
# timeout 300 'swaylock -f -c 000000' \
|
||||||
|
# timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
|
||||||
|
# before-sleep 'swaylock -f -c 000000'
|
||||||
|
#
|
||||||
|
# This will lock your screen after 300 seconds of inactivity, then turn off
|
||||||
|
# your displays after another 300 seconds, and turn your screens back on when
|
||||||
|
# resumed. It will also lock your screen before your computer goes to sleep.
|
||||||
|
|
||||||
|
### Input configuration
|
||||||
|
#
|
||||||
|
# Example configuration:
|
||||||
|
#
|
||||||
|
# input "2:14:SynPS/2_Synaptics_TouchPad" {
|
||||||
|
# dwt enabled
|
||||||
|
# tap enabled
|
||||||
|
# natural_scroll enabled
|
||||||
|
# middle_emulation enabled
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||||
|
# Read `man 5 sway-input` for more information about this section.
|
||||||
|
|
||||||
|
### Key bindings
|
||||||
|
|
||||||
|
# Basics:
|
||||||
|
#
|
||||||
|
# Start a terminal
|
||||||
|
bindsym $mod+Return exec $term
|
||||||
|
|
||||||
|
# Kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# Start your launcher
|
||||||
|
bindsym $mod+d exec $menu
|
||||||
|
|
||||||
|
# Drag floating windows by holding down $mod and left mouse button.
|
||||||
|
# Resize them with right mouse button + $mod.
|
||||||
|
# Despite the name, also works for non-floating windows.
|
||||||
|
# Change normal to inverse to use left mouse button for resizing and right
|
||||||
|
# mouse button for dragging.
|
||||||
|
floating_modifier $mod normal
|
||||||
|
|
||||||
|
# Reload the configuration file
|
||||||
|
bindsym $mod+Shift+r reload
|
||||||
|
|
||||||
|
# Exit sway (logs you out of your Wayland session)
|
||||||
|
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
|
||||||
|
#
|
||||||
|
# Moving around:
|
||||||
|
#
|
||||||
|
# Move your focus around
|
||||||
|
bindsym $mod+$left focus left
|
||||||
|
bindsym $mod+$down focus down
|
||||||
|
bindsym $mod+$up focus up
|
||||||
|
bindsym $mod+$right focus right
|
||||||
|
# Or use $mod+[up|down|left|right]
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# Move the focused window with the same, but add Shift
|
||||||
|
bindsym $mod+Shift+$left move left
|
||||||
|
bindsym $mod+Shift+$down move down
|
||||||
|
bindsym $mod+Shift+$up move up
|
||||||
|
bindsym $mod+Shift+$right move right
|
||||||
|
# Ditto, with arrow keys
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
#
|
||||||
|
# Workspaces:
|
||||||
|
#
|
||||||
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
|
set $ws1 "1: "
|
||||||
|
set $ws2 "2: "
|
||||||
|
set $ws3 "3: "
|
||||||
|
set $ws4 "4: "
|
||||||
|
set $ws5 "5: "
|
||||||
|
set $ws6 "6: "
|
||||||
|
set $ws7 "7: "
|
||||||
|
set $ws8 "8: "
|
||||||
|
set $ws9 "9: "
|
||||||
|
set $ws10 "10: "
|
||||||
|
|
||||||
|
# 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
|
||||||
|
bindsym $mod+9 workspace number $ws9
|
||||||
|
bindsym $mod+0 workspace number $ws10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||||
|
|
||||||
|
#
|
||||||
|
# Layout stuff:
|
||||||
|
#
|
||||||
|
# You can "split" the current object of your focus with
|
||||||
|
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||||
|
# respectively.
|
||||||
|
bindsym $mod+b splith
|
||||||
|
bindsym $mod+v splitv
|
||||||
|
|
||||||
|
# Switch the current container between different layout styles
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# Make the current focus fullscreen
|
||||||
|
bindsym $mod+f fullscreen
|
||||||
|
|
||||||
|
# Toggle the current focus between tiling and floating mode
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# Swap focus between the tiling area and the floating area
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# Move focus to the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
#
|
||||||
|
# Scratchpad:
|
||||||
|
#
|
||||||
|
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||||
|
# You can send windows there and get them back later.
|
||||||
|
|
||||||
|
# Move the currently focused window to the scratchpad
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||||
|
# If there are multiple scratchpad windows, this command cycles through them.
|
||||||
|
bindsym $mod+minus scratchpad show
|
||||||
|
#
|
||||||
|
# Resizing containers:
|
||||||
|
#
|
||||||
|
mode "resize" {
|
||||||
|
# left will shrink the containers width
|
||||||
|
# right will grow the containers width
|
||||||
|
# up will shrink the containers height
|
||||||
|
# down will grow the containers height
|
||||||
|
bindsym $left resize shrink width 10px
|
||||||
|
bindsym $down resize grow height 10px
|
||||||
|
bindsym $up resize shrink height 10px
|
||||||
|
bindsym $right resize grow width 10px
|
||||||
|
|
||||||
|
# Ditto, with arrow keys
|
||||||
|
bindsym Left resize shrink width 10px
|
||||||
|
bindsym Down resize grow height 10px
|
||||||
|
bindsym Up resize shrink height 10px
|
||||||
|
bindsym Right resize grow width 10px
|
||||||
|
|
||||||
|
# Return to default mode
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Status Bar:
|
||||||
|
#
|
||||||
|
# Read `man 5 sway-bar` for more information about this section.
|
||||||
|
bar {
|
||||||
|
position top
|
||||||
|
|
||||||
|
# When the status_command prints a new line to stdout, swaybar updates.
|
||||||
|
# The default just shows the current date and time.
|
||||||
|
status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done
|
||||||
|
|
||||||
|
colors {
|
||||||
|
statusline #ffffff
|
||||||
|
background #323232
|
||||||
|
inactive_workspace #32323200 #32323200 #5c5c5c
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
##my config
|
||||||
|
#lock screen
|
||||||
|
bindsym $mod+shift+x exec swaylock --color=000000
|
||||||
|
|
||||||
|
#set wallpaper
|
||||||
|
exec_always ~/.scripts/set-random-wallpaper
|
||||||
|
|
||||||
|
#screenshot util
|
||||||
|
bindsym $mod+shift+s exec flameshot gui
|
||||||
|
|
||||||
|
#fixed opening workspaces
|
||||||
|
assign [class="TelegramDesktop"] $ws10
|
||||||
|
#assign [class=""] $ws9
|
||||||
|
assign [class="obs"] $ws8
|
||||||
|
assign [class="Virt-manager"] $ws7
|
||||||
|
assign [class="org.remmina.Remmina"] $ws7
|
||||||
|
assign [class="Brave"] $ws6
|
||||||
|
assign [class="Pcmanfm"] $ws5
|
||||||
|
|
||||||
|
#window boder size
|
||||||
|
for_window [class="^.*"] border pixel 0
|
||||||
|
|
||||||
|
#floating mode windows
|
||||||
|
# float Bitwarden Extension from brave
|
||||||
|
for_window [class="Brave-browser" instance="crx_nngceckbapebfimnlniiiahkandclblb"] floating enable
|
||||||
|
# float network manager setting window
|
||||||
|
for_window [class="Nm-connection-editor" instance="nm-connection-editor"] floating enable
|
||||||
|
|
||||||
|
#start programs
|
||||||
|
exec telegram-desktop
|
||||||
|
#exec_always picom
|
||||||
|
#exec dunst
|
||||||
|
#exec ~/.script/addvirtualsoundcard Virtual-Sound-Card
|
||||||
|
#exec systemctl --user start mpd
|
||||||
|
#exec --no-startup-id i3-msg 'workspace $ws1;exec i3-sensible-terminal ~/.scripts/run'
|
||||||
|
#exec --no-startup-id i3-msg 'workspace $ws9;exec i3-sensible-terminal ncmpcpp'
|
||||||
|
|
||||||
|
|
||||||
|
# Sreen brightness controls
|
||||||
|
#bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
|
||||||
|
#bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness
|
||||||
|
|
||||||
|
# Touchpad controls
|
||||||
|
#bindsym XF86TouchpadToggle exec /home/shihaam/.scripts/toggletouchpad.sh # toggle touchpad
|
12
config/xsettingsd/xsettingsd.conf
Normal file
12
config/xsettingsd/xsettingsd.conf
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
Net/ThemeName "Breeze-Dark"
|
||||||
|
Gtk/EnableAnimations 1
|
||||||
|
Gtk/DecorationLayout "icon:minimize,maximize,close"
|
||||||
|
Gtk/PrimaryButtonWarpsSlider 0
|
||||||
|
Gtk/ToolbarStyle 3
|
||||||
|
Gtk/MenuImages 1
|
||||||
|
Gtk/ButtonImages 1
|
||||||
|
Gtk/CursorThemeSize 24
|
||||||
|
Gtk/CursorThemeName "breeze_cursors"
|
||||||
|
Net/IconThemeName "breeze-dark"
|
||||||
|
Gtk/FontName "Noto Sans, 10"
|
||||||
|
|
BIN
local/share/fonts/A_Haleem_Bolhu__Bold.otf
Normal file
BIN
local/share/fonts/A_Haleem_Bolhu__Bold.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Haleem_KB.otf
Normal file
BIN
local/share/fonts/A_Haleem_KB.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Haleem_Mathi_Bold.otf
Normal file
BIN
local/share/fonts/A_Haleem_Mathi_Bold.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Haleem_Raaveri.otf
Normal file
BIN
local/share/fonts/A_Haleem_Raaveri.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Haleem_Riveli.otf
Normal file
BIN
local/share/fonts/A_Haleem_Riveli.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Haleem_SH_Bold_Italic.otf
Normal file
BIN
local/share/fonts/A_Haleem_SH_Bold_Italic.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Haleem_Thangi_Bold.otf
Normal file
BIN
local/share/fonts/A_Haleem_Thangi_Bold.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Haleem_Thiki_Bold.otf
Normal file
BIN
local/share/fonts/A_Haleem_Thiki_Bold.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Haleem_Uivashaa.otf
Normal file
BIN
local/share/fonts/A_Haleem_Uivashaa.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Haleem__Kirudhooni.otf
Normal file
BIN
local/share/fonts/A_Haleem__Kirudhooni.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Haleem_faseyha.otf
Normal file
BIN
local/share/fonts/A_Haleem_faseyha.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Ilham.TTF
Normal file
BIN
local/share/fonts/A_Ilham.TTF
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Kaani.otf
Normal file
BIN
local/share/fonts/A_Kaani.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Koagannu.TTF
Normal file
BIN
local/share/fonts/A_Koagannu.TTF
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Lakudi.otf
Normal file
BIN
local/share/fonts/A_Lakudi.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Lakudi_College.otf
Normal file
BIN
local/share/fonts/A_Lakudi_College.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Midhili.otf
Normal file
BIN
local/share/fonts/A_Midhili.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Uni.otf
Normal file
BIN
local/share/fonts/A_Uni.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Waheed.otf
Normal file
BIN
local/share/fonts/A_Waheed.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/A_Waheed_College.otf
Normal file
BIN
local/share/fonts/A_Waheed_College.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Athu_Casual.otf
Normal file
BIN
local/share/fonts/Athu_Casual.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Avas_Thaana.otf
Normal file
BIN
local/share/fonts/Avas_Thaana.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/BODUKURU_Light.otf
Normal file
BIN
local/share/fonts/BODUKURU_Light.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/DAM_Hiyani.otf
Normal file
BIN
local/share/fonts/DAM_Hiyani.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/DAM_Kalhi.otf
Normal file
BIN
local/share/fonts/DAM_Kalhi.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/DAM_Kathivalhi.otf
Normal file
BIN
local/share/fonts/DAM_Kathivalhi.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/DAM_Madheeh.otf
Normal file
BIN
local/share/fonts/DAM_Madheeh.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Dhivehi.ttf
Normal file
BIN
local/share/fonts/Dhivehi.ttf
Normal file
Binary file not shown.
BIN
local/share/fonts/Dhives.ttf
Normal file
BIN
local/share/fonts/Dhives.ttf
Normal file
Binary file not shown.
BIN
local/share/fonts/Faiy_Light.otf
Normal file
BIN
local/share/fonts/Faiy_Light.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Faruma.otf
Normal file
BIN
local/share/fonts/Faruma.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Kanafala.ttf
Normal file
BIN
local/share/fonts/Kanafala.ttf
Normal file
Binary file not shown.
BIN
local/share/fonts/MV Prathama Dva.ttf
Normal file
BIN
local/share/fonts/MV Prathama Dva.ttf
Normal file
Binary file not shown.
BIN
local/share/fonts/MV Prathama Ek.ttf
Normal file
BIN
local/share/fonts/MV Prathama Ek.ttf
Normal file
Binary file not shown.
BIN
local/share/fonts/MV Prathama Tin.ttf
Normal file
BIN
local/share/fonts/MV Prathama Tin.ttf
Normal file
Binary file not shown.
BIN
local/share/fonts/MVWaheed.otf
Normal file
BIN
local/share/fonts/MVWaheed.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/MV_Boli.otf
Normal file
BIN
local/share/fonts/MV_Boli.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/MV_Faseyha.otf
Normal file
BIN
local/share/fonts/MV_Faseyha.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/MV_Waheed.otf
Normal file
BIN
local/share/fonts/MV_Waheed.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Mv_Amaan_XP.otf
Normal file
BIN
local/share/fonts/Mv_Amaan_XP.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Mv_Eamaan_XP.otf
Normal file
BIN
local/share/fonts/Mv_Eamaan_XP.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Mv_Elaaf_Lite.otf
Normal file
BIN
local/share/fonts/Mv_Elaaf_Lite.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Mv_Elaaf_Normal.otf
Normal file
BIN
local/share/fonts/Mv_Elaaf_Normal.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Mv_Galan_Normal.otf
Normal file
BIN
local/share/fonts/Mv_Galan_Normal.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Mv_GroupX_Avas_Akuru.otf
Normal file
BIN
local/share/fonts/Mv_GroupX_Avas_Akuru.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Mv_Iyyu_Formal.otf
Normal file
BIN
local/share/fonts/Mv_Iyyu_Formal.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Mv_Iyyu_Nala.otf
Normal file
BIN
local/share/fonts/Mv_Iyyu_Nala.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Mv_Iyyu_Normal.otf
Normal file
BIN
local/share/fonts/Mv_Iyyu_Normal.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Mv_Lady_Luck.otf
Normal file
BIN
local/share/fonts/Mv_Lady_Luck.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Mv_MAG_Round_Bold.otf
Normal file
BIN
local/share/fonts/Mv_MAG_Round_Bold.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Mv_MAG_Round_HBold.otf
Normal file
BIN
local/share/fonts/Mv_MAG_Round_HBold.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Mv_MAG_Round_XBold.otf
Normal file
BIN
local/share/fonts/Mv_MAG_Round_XBold.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Mv_Sehga_Fubaru_Fancy.otf
Normal file
BIN
local/share/fonts/Mv_Sehga_Fubaru_Fancy.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Mv_Sehga_Old.otf
Normal file
BIN
local/share/fonts/Mv_Sehga_Old.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Nasr_Light.otf
Normal file
BIN
local/share/fonts/Nasr_Light.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/Samee_Avas_Thaana.ttf
Normal file
BIN
local/share/fonts/Samee_Avas_Thaana.ttf
Normal file
Binary file not shown.
BIN
local/share/fonts/faseyha.otf
Normal file
BIN
local/share/fonts/faseyha.otf
Normal file
Binary file not shown.
BIN
local/share/fonts/midhilibold.ttf
Normal file
BIN
local/share/fonts/midhilibold.ttf
Normal file
Binary file not shown.
BIN
local/share/fonts/mvtyper.ttf
Normal file
BIN
local/share/fonts/mvtyper.ttf
Normal file
Binary file not shown.
BIN
local/share/fonts/utheem.otf
Normal file
BIN
local/share/fonts/utheem.otf
Normal file
Binary file not shown.
4
packages
Normal file
4
packages
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
|
||||||
|
Archive Utils
|
||||||
|
sudo pacman -S arj lrzip lha lzip p7zip lzop unarj unrar unzip xz zip zstd lz4 tar bzip2 binutils gzip cpio
|
78
restorefiles.sh
Executable file
78
restorefiles.sh
Executable file
@@ -0,0 +1,78 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1
|
||||||
|
|
||||||
|
|
||||||
|
###################################################################
|
||||||
|
read -p "Enable Nano syntax highlight? [Y/n]: " ENABLE_NANO
|
||||||
|
if [ "$ENABLE_NANO" = "Y" ] || [ "$ENABLE_NANO" = "y" ] || [ "$ENABLE_NANO" = "" ]
|
||||||
|
then
|
||||||
|
sudo pacman -S nano-syntax-highlighting
|
||||||
|
mkdir -p $HOME/.config/nano/
|
||||||
|
ln -s $PWD/config/nano/nanorc $HOME/.config/nano/nanorc
|
||||||
|
fi
|
||||||
|
###################################################################
|
||||||
|
|
||||||
|
###################################################################
|
||||||
|
read -p "Restore i3wm config?? [Y/n]: " ENABLE_NANO
|
||||||
|
if [ "$RESTORE_I3" = "Y" ] || [ "$RESTORE_I3" = "y" ] || [ "$RESTORE_I3" = "" ]
|
||||||
|
then
|
||||||
|
rm -rfv $HOME/.config/i3
|
||||||
|
mkdir -p $HOME/.config/i3
|
||||||
|
ln -s $PWD/config/i3/config $HOME/.config/i3/config
|
||||||
|
fi
|
||||||
|
###################################################################
|
||||||
|
|
||||||
|
###################################################################
|
||||||
|
read -p "Restore ~/.bashrc? [Y/n]: " ENABLE_BASHRC
|
||||||
|
if [ "$ENABLE_BASHRC" = "Y" ] || [ "$ENABLE_BASHRC" = "y" ] || [ "$ENABLE_NANO" = "" ]
|
||||||
|
then
|
||||||
|
sudo pacman -S neofetch
|
||||||
|
git clone --depth 1 https://github.com/bluz71/bash-seafly-prompt ~/.bash-seafly-prompt
|
||||||
|
source ~/.bash-seafly-prompt/command_prompt.bash
|
||||||
|
cd /tmp
|
||||||
|
git clone --recursive https://github.com/akinomyoga/ble.sh.git
|
||||||
|
make -C ble.sh install PREFIX=~/.local
|
||||||
|
cd -
|
||||||
|
mkdir $HOME/.cache; echo $PWD > $HOME/.cache/whereami
|
||||||
|
rm $HOME/.bashrc
|
||||||
|
ln -s $PWD/bashrc $HOME/.bashrc
|
||||||
|
fi
|
||||||
|
###################################################################
|
||||||
|
|
||||||
|
###################################################################
|
||||||
|
read -p "xsettingsd [Y/n]: " XSETTINGSD
|
||||||
|
if [ "$XSETTINGSD" = "Y" ] || [ "$XSETTINGSD" = "y" ] || [ "$XSETTINGSD" = "" ]
|
||||||
|
then
|
||||||
|
sudo pacman -S xsettingsd
|
||||||
|
mkdir -p $HOME/.config/xsettingsd/
|
||||||
|
ln -s $PWD/config/xsettingsd/xsettingsd.conf $HOME/.config/xsettingsd/xsettingsd.conf
|
||||||
|
fi
|
||||||
|
###################################################################
|
||||||
|
|
||||||
|
|
||||||
|
###################################################################
|
||||||
|
read -p "Would you like to restore scripts [Y/n]: " SCRIPTS
|
||||||
|
if [ "$SCRIPTS" = "Y" ] || [ "$SCRIPTS" = "y" ] || [ "$SCRIPTS" = "" ]
|
||||||
|
then
|
||||||
|
mkdir $HOME/.scripts $HOME/.shortcuts -p
|
||||||
|
ln -s $PWD/scripts/* $HOME/.scripts/
|
||||||
|
fi
|
||||||
|
###################################################################
|
||||||
|
|
||||||
|
###################################################################
|
||||||
|
read -p "Would you like to restore fonts [Y/n]: " FONTS
|
||||||
|
if [ "$FONTS" = "Y" ] || [ "$FONTS" = "y" ] || [ "$FONTS" = "" ]
|
||||||
|
then
|
||||||
|
mkdir -vp $HOME/.local/share/fonts
|
||||||
|
ln -s $PWD/local/share/fonts/* $HOME/.local/share/fonts/
|
||||||
|
fi
|
||||||
|
###################################################################
|
||||||
|
read -p "Would you like to restore picom config [Y/n]: " FONTS
|
||||||
|
if [ "$PICOM" = "Y" ] || [ "$PICOM" = "y" ] || [ "$PICOM" = "" ]
|
||||||
|
then
|
||||||
|
mkdir /home/shihaam/.config/picom/
|
||||||
|
ln -s $PWD/config/picom/picom.conf $HOME/.config/picom/picom.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
# install screen key please add it here
|
4
scripts/addvirtualsoundcard
Executable file
4
scripts/addvirtualsoundcard
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
pacmd load-module module-null-sink sink_name=$1 sink_properties=device.description=$1
|
||||||
|
pacmd set-default-sink $1
|
@@ -1,10 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
cat << EOF
|
echo Status: $(cat /sys/class/power_supply/BAT0/status)
|
||||||
Status: $(cat /sys/class/power_supply/BAT0/status)
|
echo Capacity: $(cat /sys/class/power_supply/BAT0/capacity) %
|
||||||
EOF
|
|
||||||
cat << EOF
|
|
||||||
Capacity: $(cat /sys/class/power_supply/BAT0/capacity) %
|
|
||||||
EOF
|
|
||||||
cat << EOF
|
cat << EOF
|
||||||
Health: $(cat /sys/class/power_supply/BAT0/capacity_level)
|
Health: $(cat /sys/class/power_supply/BAT0/capacity_level)
|
||||||
EOF
|
EOF
|
||||||
|
48
scripts/get-http
Executable file
48
scripts/get-http
Executable file
@@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Usage check
|
||||||
|
if [ $# -ne 1 ]; then
|
||||||
|
echo "Usage: $0 <URL>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Extract the protocol, hostname, port, and path from the URL
|
||||||
|
url=$1
|
||||||
|
protocol="${url%%://*}"
|
||||||
|
host_port="${url#*://}"
|
||||||
|
host="${host_port%%/*}"
|
||||||
|
path="/${host_port#*/}"
|
||||||
|
port=80
|
||||||
|
|
||||||
|
# Check if the protocol is HTTP
|
||||||
|
if [ "$protocol" != "http" ]; then
|
||||||
|
echo "Only HTTP protocol is supported."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if a port is specified
|
||||||
|
if [[ $host == *:* ]]; then
|
||||||
|
IFS=':' read -ra ADDR <<< "$host"
|
||||||
|
host=${ADDR[0]}
|
||||||
|
port=${ADDR[1]}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Open connection to the host
|
||||||
|
exec 3<>/dev/tcp/$host/$port
|
||||||
|
|
||||||
|
# Send HTTP GET request
|
||||||
|
echo -e "GET $path HTTP/1.1\r\nHost: $host\r\nConnection: close\r\n\r\n" >&3
|
||||||
|
|
||||||
|
# Read the response and output the file content
|
||||||
|
{
|
||||||
|
# Skip HTTP headers
|
||||||
|
while IFS= read -r line; do
|
||||||
|
[[ $line == $'\r' ]] && break
|
||||||
|
done
|
||||||
|
|
||||||
|
# Output the body (file content)
|
||||||
|
cat >&1
|
||||||
|
} <&3
|
||||||
|
|
||||||
|
# Close the connection
|
||||||
|
exec 3<&-
|
27
scripts/i3lock-finger
Executable file
27
scripts/i3lock-finger
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Ensure the directory for failed fingerprint images exists
|
||||||
|
mkdir -p ~/pictures/failed_finger
|
||||||
|
|
||||||
|
# Lock the screen with all passed arguments
|
||||||
|
i3lock "$@" &
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
# Run the fingerprint verification and redirect output to /dev/null
|
||||||
|
fprintd-verify &> /dev/null
|
||||||
|
|
||||||
|
# Capture the exit code
|
||||||
|
exit_code=$?
|
||||||
|
|
||||||
|
# Check the exit code
|
||||||
|
if [ $exit_code -eq 0 ]; then
|
||||||
|
pkill i3lock
|
||||||
|
exit 0
|
||||||
|
elif [ $exit_code -eq 1 ]; then
|
||||||
|
timestamp=$(date "+%Y%m%d_%H%M%S")
|
||||||
|
timestamp_human=$(date -d "${timestamp:0:8} ${timestamp:9:2}:${timestamp:11:2}:${timestamp:13:2}" "+%Y-%h-%d %H:%M:%S")
|
||||||
|
ffmpeg -f video4linux2 -s 1280x720 -i /dev/video0 -frames:v 1 ~/pictures/failed_finger/$timestamp.png
|
||||||
|
kdeconnect-cli --device $(kdeconnect-cli -a --id-only) --ping-msg "Failed to unlock at $timestamp_human"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
2
scripts/i3lock.sh
Executable file
2
scripts/i3lock.sh
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
/usr/bin/i3lock -c 000000
|
72
scripts/netscan
Executable file
72
scripts/netscan
Executable file
@@ -0,0 +1,72 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Check if an interface name is provided
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "Usage: $0 <network-interface>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
INTERFACE=$1
|
||||||
|
|
||||||
|
# Get the IP subnet for the provided network interface
|
||||||
|
IP_SUBNET=$(ip route show dev "$INTERFACE" | grep -v default | awk '{print $1}')
|
||||||
|
|
||||||
|
|
||||||
|
# Check if the IP information was found
|
||||||
|
if [ -z "$IP_SUBNET" ]; then
|
||||||
|
echo "No IP address found for interface $INTERFACE."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Scan the subnet using nmap, running as root
|
||||||
|
echo "Scanning the subnet $IP_SUBNET..."
|
||||||
|
OUTPUT=$(sudo nmap -sP "$IP_SUBNET")
|
||||||
|
|
||||||
|
# Parse the nmap output and present it in a table
|
||||||
|
#echo "$OUTPUT" | awk '/Nmap scan report for/{
|
||||||
|
# if ($5 ~ /^\(/) { ip=$5; name="Unknown"; }
|
||||||
|
# else if ($6 ~ /^\(/) { name=$5; ip=$6; }
|
||||||
|
# else { name="Unknown"; ip=$5; }
|
||||||
|
#
|
||||||
|
# ip=gensub(/\(|\)/, "", "g", ip); # Remove parentheses from IP
|
||||||
|
#
|
||||||
|
# getline; getline; mac=$3; brand="";
|
||||||
|
#
|
||||||
|
# # Capture the entire remainder as brand, remove parentheses
|
||||||
|
# for (i=4; i<=NF; i++) brand = brand $i " ";
|
||||||
|
# brand=gensub(/^\(|\)$/, "", "g", brand); # Clean brand formatting
|
||||||
|
# print name, ip, mac, brand
|
||||||
|
#}' | column -t -s ' ' -o ' | ' | awk 'BEGIN {print "Name | IP Address | MAC Address | Brand\n-----------------------------------------------------------------"} {print}'
|
||||||
|
|
||||||
|
# Parse the nmap output and present it in a table
|
||||||
|
echo "$OUTPUT" | awk '/Nmap scan report for/{
|
||||||
|
if ($5 ~ /^\(/) { ip=$5; name="Unknown"; }
|
||||||
|
else if ($6 ~ /^\(/) { name=$5; ip=$6; }
|
||||||
|
else { name="Unknown"; ip=$5; }
|
||||||
|
|
||||||
|
ip=gensub(/\(|\)/, "", "g", ip); # Remove parentheses from IP
|
||||||
|
|
||||||
|
getline; getline; mac=$3; brand=$4; # Skip status line and move to MAC and Brand
|
||||||
|
gsub(/\(|\)/, "", brand); # Clean brand formatting
|
||||||
|
print name, ip, mac, brand
|
||||||
|
}' | column -t -s ' ' -o ' | ' | awk 'BEGIN {print "Name | IP Address | MAC Address | Brand\n-----------------------------------------------------------------"} {print}'
|
||||||
|
|
||||||
|
|
||||||
|
## Parse the nmap output and present it in a table
|
||||||
|
#echo "$OUTPUT" | awk '/Nmap scan report for/{
|
||||||
|
# if ($5 ~ /^\(/) { ip=$5; name="Unknown"; }
|
||||||
|
# else if ($6 ~ /^\(/) { name=$5; ip=$6; }
|
||||||
|
# else { name="Unknown"; ip=$5; }
|
||||||
|
#
|
||||||
|
# ip=gensub(/\(|\)/, "", "g", ip); # Remove parentheses from IP
|
||||||
|
#
|
||||||
|
# getline; getline; mac=$3; brand="";
|
||||||
|
#
|
||||||
|
# # Capture the entire remainder as brand
|
||||||
|
# if ($(NF-1) ~ /^\(/) { # Check if the second last field starts with (
|
||||||
|
# for (i=4; i<=NF; i++) brand = brand $i " ";
|
||||||
|
# sub(/\s+$/, "", brand); # Trim trailing space
|
||||||
|
# brand=gensub(/\((.*)\)/, "\\1", "g", brand); # Remove outer parentheses
|
||||||
|
# }
|
||||||
|
# print name, ip, mac, brand
|
||||||
|
#}' | column -t -s ' ' -o ' | ' | awk 'BEGIN {print "Name | IP Address | MAC Address | Brand\n--------------------------------------------------------------------------------"} {print}'
|
22
scripts/notify-ssh-access.sh
Executable file
22
scripts/notify-ssh-access.sh
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
doas tail -fn0 /var/log/audit/audit.log | while read -r line; do
|
||||||
|
|
||||||
|
key=$(echo "$line" | grep -oP '(?<=key=").*?(?=")')
|
||||||
|
exe=$(echo "$line" | grep -oP '(?<=exe=").*?(?=")')
|
||||||
|
pid=$(echo "$line" | awk -F'ppid=[0-9]+ pid=' '{print $2}' | awk -F' ' '{print $1}')
|
||||||
|
username=$(echo "$line" | grep -oP '(?<=EUID=").+?(?=")')
|
||||||
|
|
||||||
|
if [ "$key" = "ssh-key-read" ]
|
||||||
|
then
|
||||||
|
SUBJECT="SSH Key accessed!"
|
||||||
|
MESSAGE="exec=$exe\nuser=$username\npid=$pid"
|
||||||
|
|
||||||
|
if [ "$exe" = "/usr/bin/scp" ] || [ "$exe" = "/usr/bin/ssh" ]
|
||||||
|
then
|
||||||
|
notify-send "$SUBJECT" "$MESSAGE"
|
||||||
|
else
|
||||||
|
notify-send -u critical "$SUBJECT" "$MESSAGE"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
2
scripts/office2kdisplay.sh
Executable file
2
scripts/office2kdisplay.sh
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
xrandr --output eDP-1 --mode 1920x1080 --pos 0x360 --rotate normal --output HDMI-1 --off --output DP-1 --primary --mode 2560x1440 --pos 1920x0 --rotate normal --output HDMI-2 --off
|
3
scripts/open-url.sh
Executable file
3
scripts/open-url.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
xdg-open "$1"
|
||||||
|
|
BIN
scripts/output.jpg
Normal file
BIN
scripts/output.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 31 KiB |
23
scripts/port-scan
Executable file
23
scripts/port-scan
Executable file
@@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Check if two arguments are provided
|
||||||
|
if [ "$#" -ne 2 ]; then
|
||||||
|
echo "Usage: $0 <hostname or ip> <port-range>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
hostname=$1
|
||||||
|
port_range=$2
|
||||||
|
|
||||||
|
# Split the port range into start and end
|
||||||
|
IFS='-' read -ra PORTS <<< "$port_range"
|
||||||
|
start_port=${PORTS[0]}
|
||||||
|
end_port=${PORTS[1]}
|
||||||
|
|
||||||
|
# Iterate over the port range
|
||||||
|
for ((port=start_port; port<=end_port; port++))
|
||||||
|
do
|
||||||
|
(echo > /dev/tcp/$hostname/$port) &>/dev/null && echo "Port $port open"
|
||||||
|
done
|
||||||
|
|
||||||
|
exit 0
|
13
scripts/scrcpy-autostart
Executable file
13
scripts/scrcpy-autostart
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
|
||||||
|
if [ -L /dev/android_adb ]
|
||||||
|
then
|
||||||
|
# scrcpy --no-audio --turn-screen-off --stay-awake & sndcpy
|
||||||
|
scrcpy --turn-screen-off --stay-awake
|
||||||
|
else
|
||||||
|
adb wait-for-device
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
9
scripts/sensible-terminal
Executable file
9
scripts/sensible-terminal
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ "$1" = "-e" ]; then
|
||||||
|
shift # Remove the first argument (-e) from the argument list
|
||||||
|
command_args="$*"
|
||||||
|
/sbin/xfce4-terminal -e "$command_args"
|
||||||
|
elif [ -z "$1" ]; then
|
||||||
|
/sbin/xfce4-terminal
|
||||||
|
fi
|
10
scripts/switch-lang
Executable file
10
scripts/switch-lang
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
LAYOUT_OLD=$(setxkbmap -query | grep layout | cut -d ':' -f 2)
|
||||||
|
LAYOUT_NEW=$(grep -A 1 $LAYOUT_OLD $HOME/.config/keyboard_layout | tail -n1)
|
||||||
|
if [ "$LAYOUT_NEW" = "END" ]
|
||||||
|
then
|
||||||
|
LAYOUT_NEW=$(head -n1 $HOME/.config/keyboard_layout)
|
||||||
|
fi
|
||||||
|
setxkbmap $LAYOUT_NEW
|
||||||
|
notify-send "New Layout $LAYOUT_NEW set"
|
26
scripts/telegram-desktop
Executable file
26
scripts/telegram-desktop
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SOCKET_ID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 8)
|
||||||
|
|
||||||
|
# Start socat in the background
|
||||||
|
socat UNIX-LISTEN:/tmp/xdg-open$SOCKET_ID.socket,fork EXEC:"xargs -n 1 xdg-open" &
|
||||||
|
|
||||||
|
# Run the Podman container
|
||||||
|
podman run --rm \
|
||||||
|
--name 64gram \
|
||||||
|
--hostname 64gram \
|
||||||
|
-e DISPLAY \
|
||||||
|
--device /dev/snd:/dev/snd \
|
||||||
|
--device /dev/video0:/dev/video0 \
|
||||||
|
-v $HOME/.local/share/64Gram:/root/.local/share/64Gram \
|
||||||
|
-v $HOME/Downloads:/root/Downloads \
|
||||||
|
-v $HOME/Pictures:/root/Pictures \
|
||||||
|
-v $HOME/Documents:/root/Documents \
|
||||||
|
-v /etc/localtime:/etc/localtime \
|
||||||
|
-v /usr/share/icons:/usr/share/icons \
|
||||||
|
-v /tmp/.X11-unix:/tmp/.X11-unix \
|
||||||
|
-v /tmp/xdg-open$SOCKET_ID.socket:/tmp/xdg-open.socket \
|
||||||
|
git.shihaam.dev/dockerfiles/64gram
|
||||||
|
|
||||||
|
# Wait for all background processes to finish
|
||||||
|
wait
|
55
scripts/tginput.sh
Executable file
55
scripts/tginput.sh
Executable file
@@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [[ $XDG_SESSION_TYPE != "x11" ]]; then
|
||||||
|
echo "Unsupported session type: $XDG_SESSION_TYPE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
get_tg_window_id(){
|
||||||
|
tg_window_id=$(wmctrl -lx | grep telegram-desktop | awk '{print $1}')
|
||||||
|
}
|
||||||
|
|
||||||
|
get_mouse_location(){
|
||||||
|
mouse_xy=$(xdotool getmouselocation --shell)
|
||||||
|
mouse_x=$(printf "%s\n" "$mouse_xy" | grep X= | cut -d= -f2)
|
||||||
|
mouse_y=$(printf "%s\n" "$mouse_xy" | grep Y= | cut -d= -f2)
|
||||||
|
}
|
||||||
|
|
||||||
|
return_mouse(){
|
||||||
|
xdotool mousemove $mouse_x $mouse_y
|
||||||
|
}
|
||||||
|
|
||||||
|
lock_tg(){
|
||||||
|
xdotool windowactivate --sync $tg_window_id key ctrl+l
|
||||||
|
}
|
||||||
|
|
||||||
|
read_passcode(){
|
||||||
|
if [[ ! -f $HOME/.local/.tgpasscode ]]; then
|
||||||
|
echo "Passcode file not found!, Enter Telegram local passcode seperated characters by space."
|
||||||
|
echo "Example: If passcode is 1234, then enter 1 2 3 4 "
|
||||||
|
read -p "Enter passcode: " PASSCODE
|
||||||
|
echo $PASSCODE > $HOME/.local/.tgpasscode
|
||||||
|
echo Telegram Passcode saved at: $HOME/.local/.tgpasscode
|
||||||
|
fi
|
||||||
|
tgpasscode=$(cat $HOME/.local/.tgpasscode)
|
||||||
|
}
|
||||||
|
|
||||||
|
unlock_tg(){
|
||||||
|
xdotool windowactivate --sync $tg_window_id key $tgpasscode Return
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$1" == "lock" ]; then
|
||||||
|
get_tg_window_id
|
||||||
|
get_mouse_location
|
||||||
|
lock_tg
|
||||||
|
return_mouse
|
||||||
|
elif [ "$1" == "unlock" ]; then
|
||||||
|
read_passcode
|
||||||
|
get_tg_window_id
|
||||||
|
get_mouse_location
|
||||||
|
unlock_tg
|
||||||
|
return_mouse
|
||||||
|
else
|
||||||
|
echo "Invalid argument. Please use 'lock' or 'unlock'."
|
||||||
|
exit 1
|
||||||
|
fi
|
19
scripts/touchpad.sh
Normal file
19
scripts/touchpad.sh
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
la2110 ~/.scripts ❯ xinput list
|
||||||
|
⎡ Virtual core pointer id=2 [master pointer (3)]
|
||||||
|
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
|
||||||
|
⎜ ↳ DELL0959:00 06CB:CDD5 Mouse id=9 [slave pointer (2)]
|
||||||
|
⎜ ↳ DELL0959:00 06CB:CDD5 Touchpad id=10 [slave pointer (2)]
|
||||||
|
⎜ ↳ PS/2 Generic Mouse id=15 [slave pointer (2)]
|
||||||
|
⎣ Virtual core keyboard id=3 [master keyboard (2)]
|
||||||
|
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
|
||||||
|
↳ Video Bus id=6 [slave keyboard (3)]
|
||||||
|
↳ Power Button id=7 [slave keyboard (3)]
|
||||||
|
↳ Integrated_Webcam_HD: Integrate id=8 [slave keyboard (3)]
|
||||||
|
↳ Intel HID events id=11 [slave keyboard (3)]
|
||||||
|
↳ Intel HID 5 button array id=12 [slave keyboard (3)]
|
||||||
|
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
|
||||||
|
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
xinput set-prop 10 "Device Enabled" 1
|
Reference in New Issue
Block a user