Compare commits
33 Commits
2f77aee122
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| ada0604178 | |||
| 85c0cd8691 | |||
| 1fdbf50a02 | |||
| 75b7c1f998 | |||
| 481734c291 | |||
| 8f78497f56 | |||
| 4db2c3461e | |||
| 6189aec9b5 | |||
| d85455d6c8 | |||
| fc4bcb1f0b | |||
| 7965c3bb31 | |||
| bc4d93aa75 | |||
| 3afc437234 | |||
| 85300fcd1d | |||
| 70b0241da9 | |||
| bd95ed8d4f | |||
| 05a458bd20 | |||
| 1429b3b9a7 | |||
| a202b07d1a | |||
| 2bd416e7f9 | |||
| e4469cb67d | |||
| c1e058c61e | |||
| 2d9980d78d | |||
| e2cef1e831 | |||
| ff9ea823d0 | |||
| 491667764e | |||
| 0e04168988 | |||
| f8a5ada905 | |||
| c833eac07f | |||
| e91b02a335 | |||
| e5bcdff29f | |||
| 863db850bb | |||
| 2cee107b6f |
@@ -6,8 +6,11 @@
|
||||
# important for window manager and menu app (fuzzel, rofi, ..)
|
||||
# to find scripts and utilities
|
||||
|
||||
export_paths=("${HOME}/dotfiles/scripts")
|
||||
unset export_paths
|
||||
export_paths+=("${HOME}/dotfiles/scripts")
|
||||
export_paths+=("${HOME}/dotfiles/desktop-files")
|
||||
export_paths+=("/opt/jlink")
|
||||
export_paths+=("${HOME}/.cargo/bin")
|
||||
|
||||
for entry in ${export_paths[@]}; do
|
||||
if ! [[ -d "${entry}" ]]; then
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
# to find scripts and utilities
|
||||
|
||||
export_paths=("${HOME}/dotfiles/scripts")
|
||||
export_paths+=("${HOME}/dotfiles/desktop-files")
|
||||
export_paths+=("${HOME}/tools/jlink")
|
||||
|
||||
for entry in ${export_paths[@]}; do
|
||||
|
||||
+6
-1
@@ -38,7 +38,10 @@ if ! $(which navigate &>/dev/null); then
|
||||
fi
|
||||
|
||||
if $(which eza &>/dev/null); then
|
||||
alias list='eza -lao --no-permissions --group-directories-first -s=ext --color=always --time-style long-iso'
|
||||
alias list='eza -lao --no-permissions --group-directories-first \
|
||||
-s=ext --color=always --time-style long-iso'
|
||||
alias tree='eza -laoT --no-permissions --group-directories-first \
|
||||
-s=ext --color=always --time-style long-iso -I=.git'
|
||||
else
|
||||
alias list='ls -hAl --color=auto --group-directories-first'
|
||||
fi
|
||||
@@ -60,6 +63,8 @@ fi
|
||||
# because `libreWolf` is ambiguous for tab completion
|
||||
if $(which librewolf &>/dev/null); then
|
||||
alias firefox='librewolf'
|
||||
elif $(which librewolf.appimage &>/dev/null); then
|
||||
alias firefox='librewolf.appimage'
|
||||
fi
|
||||
|
||||
# short forms for tmux commands
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
[Desktop Entry]
|
||||
Name=firefox
|
||||
Comment=launch zegonix browser of choice
|
||||
Exec=bash start-browser.sh
|
||||
Type=Application
|
||||
Categories=Network;WebBrowser;
|
||||
@@ -21,5 +21,7 @@ mouse-scroll-multiplier = 1.0
|
||||
app-notifications = no-clipboard-copy
|
||||
copy-on-select = false
|
||||
clipboard-paste-protection = false
|
||||
clipboard-read = allow
|
||||
clipboard-write = allow
|
||||
|
||||
theme = zegonix
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
background = #0C0C18
|
||||
background = #14141F
|
||||
foreground = #D0D0D0
|
||||
|
||||
################
|
||||
|
||||
@@ -13,9 +13,13 @@
|
||||
[include]
|
||||
path = ~/.config/.gitconfig
|
||||
|
||||
[format]
|
||||
pretty = tformat:%C(yellow)%h %C(blue)%as%C(auto)%d %C(reset)%s
|
||||
|
||||
[alias]
|
||||
graph = log --oneline --all --graph
|
||||
oneline = log -20
|
||||
graph = log \
|
||||
--oneline \
|
||||
--all \
|
||||
--graph \
|
||||
--pretty='tformat:%C(yellow)%h %C(blue)%as%C(auto)%d %C(reset)%s'
|
||||
|
||||
oneline = log \
|
||||
-n 20 \
|
||||
--pretty='tformat:%C(yellow)%h %C(blue)%as%C(auto)%d %C(reset)%s'
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
[Settings]
|
||||
gtk-icon-theme-name=Adwaita
|
||||
gtk-theme-name=Adwaita-dark
|
||||
gtk-cursor-theme-name=Adwaita
|
||||
gtk-font-name=JetBrainsMonoNerdFont
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
[Settings]
|
||||
gtk-icon-theme-name=Adwaita
|
||||
gtk-theme-name=Adwaita-dark
|
||||
gtk-cursor-theme-name=Adwaita
|
||||
gtk-font-name=JetBrainsMonoNerdFont
|
||||
|
||||
@@ -45,7 +45,7 @@ exec --no-startup-id dunst
|
||||
exec --no-startup-id picom -b
|
||||
|
||||
# clean up and start polybar
|
||||
exec_always --no-startup-id killall polybar
|
||||
exec_always --no-startup-id pkill polybar
|
||||
exec_always --no-startup-id bash ~/.config/polybar/launch_polybar.sh
|
||||
|
||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||
@@ -128,6 +128,7 @@ bindsym $mod+7 workspace number $ws7
|
||||
bindsym $mod+8 workspace number $ws8
|
||||
bindsym $mod+9 workspace number $ws9
|
||||
bindsym $mod+0 workspace number $ws10
|
||||
bindsym $mod+b scratchpad show
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||
@@ -140,6 +141,7 @@ 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
|
||||
bindsym $mod+Shift+z move scratchpad
|
||||
|
||||
# move focused container and switch to workspace
|
||||
bindsym $mod+$Alt+1 move container to workspace number $ws1; workspace number $ws1
|
||||
@@ -166,8 +168,8 @@ bindsym $mod+o move workspace to output up
|
||||
bindsym $mod+p move workspace to output right
|
||||
|
||||
# take screenshots
|
||||
bindsym $mod+s exec --no-startup-id maim -suo | xclip -selection clipboard -t image/png
|
||||
bindsym $mod+Shift+s exec --no-startup-id maim -suo "${HOME}/Pictures/screenshots/$(date '+%Y%m%d_%H%M%S').png"
|
||||
bindsym $mod+s exec --no-startup-id bash x11-screenshot.sh --clipboard
|
||||
bindsym $mod+Shift+s exec --no-startup-id bash x11-screenshot.sh
|
||||
|
||||
# use pactl for media keys
|
||||
set $refresh_i3status killall -SIGUSR1 i3status
|
||||
@@ -195,7 +197,7 @@ mouse_warping none
|
||||
############################
|
||||
|
||||
# load background image
|
||||
exec --no-startup-id feh --bg-fill ~/dotfiles/images/blaa.jpg
|
||||
exec --no-startup-id feh --bg-fill ~/dotfiles/images/pixel-windows.png
|
||||
|
||||
# window border style
|
||||
default_border pixel 2
|
||||
@@ -203,8 +205,8 @@ default_floating_border pixel 0
|
||||
for_window [class=".*"] border pixel 1
|
||||
|
||||
# gaps between windows and screen border
|
||||
gaps inner 4 px
|
||||
gaps outer 2 px
|
||||
gaps inner 6 px
|
||||
gaps outer 0 px
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 108 KiB |
@@ -1,69 +0,0 @@
|
||||
|
||||
# use interactive shell instead of login shell
|
||||
set-option -g default-command "/bin/bash"
|
||||
|
||||
# enable rgb colors
|
||||
set -ag terminal-overrides ",*:RGB"
|
||||
|
||||
# reasonable resizing
|
||||
setw -g aggressive-resize on
|
||||
|
||||
# start window and pane index at 1
|
||||
set -g base-index 1
|
||||
set -g pane-base-index 1
|
||||
set-window-option -g pane-base-index 1
|
||||
set-option -g renumber-windows on
|
||||
|
||||
# status bar
|
||||
set -g status-interval 5
|
||||
|
||||
# buffer size
|
||||
set-option -g history-limit 3000
|
||||
|
||||
|
||||
### input options & keybindings
|
||||
set-window-option -g mode-keys vi
|
||||
bind-key -n M-c copy-mode
|
||||
|
||||
bind-key -T copy-mode-vi 'v' send -X begin-selection
|
||||
bind-key -T copy-mode-vi 'y' send -X copy-selection
|
||||
|
||||
# change prefix key to <space>
|
||||
unbind C-b
|
||||
set-option -g prefix C-Space
|
||||
|
||||
# window navigation
|
||||
bind-key -n M-Left previous-window
|
||||
bind-key -n M-Right next-window
|
||||
bind-key -n M-S-Left swap-window -t -1 -d
|
||||
bind-key -n M-S-Right swap-window -t +1 -d
|
||||
|
||||
# pane navigation
|
||||
bind -n M-Left select-pane -L
|
||||
bind -n M-Down select-pane -D
|
||||
bind -n M-Up select-pane -U
|
||||
bind -n M-Right select-pane -R
|
||||
|
||||
bind -n M-j swap-pane -D
|
||||
bind -n M-k swap-pane -U
|
||||
|
||||
bind-key -n M-F1 select-layout even-horizontal
|
||||
bind-key -n M-F2 select-layout main-vertical
|
||||
bind-key -n M-F3 select-layout tiled
|
||||
|
||||
unbind x
|
||||
bind-key x kill-pane -t +0
|
||||
|
||||
# detach current session and close terminal
|
||||
bind-key k run "tmux detach -P"
|
||||
|
||||
# enable mouse support
|
||||
set -g mouse on
|
||||
# bind -n WheelUpPane {
|
||||
# if -F '#{==:#{window_name},nvim}' {
|
||||
# send-keys -M
|
||||
# } {
|
||||
# copy-mode -e
|
||||
# }
|
||||
# }
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
|
||||
Section "Monitor"
|
||||
Identifier "DisplayPort-2"
|
||||
Identifier "DP-3"
|
||||
Option "Primary" "true"
|
||||
Option "DPMS"
|
||||
EndSection
|
||||
|
||||
Section "Monitor"
|
||||
Identifier "DisplayPort-1"
|
||||
Option "rightof" "DisplayPort-2"
|
||||
Identifier "DP-2"
|
||||
Option "rightof" "DP-3"
|
||||
Option "DPMS"
|
||||
EndSection
|
||||
|
||||
@@ -127,10 +127,8 @@ return {
|
||||
-- Enable the following language servers
|
||||
local servers = {
|
||||
clangd = {},
|
||||
marksman = {},
|
||||
lua_ls = {
|
||||
-- cmd = {...},
|
||||
-- filetypes = { ...},
|
||||
-- capabilities = {},
|
||||
settings = {
|
||||
Lua = {
|
||||
completion = {
|
||||
|
||||
@@ -3,55 +3,7 @@
|
||||
A collection of configuration files meant to be used with GNU stow, hence the directory structure.
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
### List of packages to install
|
||||
* (alacritty)
|
||||
* audacious
|
||||
* bash-completion
|
||||
* bat
|
||||
* bitwarden
|
||||
* dunst
|
||||
* eza
|
||||
* feh
|
||||
* fzf
|
||||
* git
|
||||
* ghostty
|
||||
* ly
|
||||
* maim
|
||||
* man
|
||||
* neovim
|
||||
* pandoc
|
||||
* pavucontrol
|
||||
* picom
|
||||
* polybar
|
||||
* ripgrep
|
||||
* rofi
|
||||
* starship
|
||||
* stow
|
||||
* tmux
|
||||
* unzip
|
||||
* xclip
|
||||
|
||||
AUR:
|
||||
* paru
|
||||
|
||||
|
||||
### Getting the repository
|
||||
Navigate to your home directory `~/`.
|
||||
Download the repository to that directory or do it the recommended way and clone it there with git:
|
||||
```
|
||||
git clone https://github.com/zegonix/dotfiles.git
|
||||
```
|
||||
or
|
||||
```
|
||||
git clone git@github.com:zegonix/dotfiles.git
|
||||
```
|
||||
|
||||
**Note:** The location of the local copy is important for stow. You can put it somewhere else, but you will have to configure stow to inform it of non default source and target locations, the target is relative to the source by default.
|
||||
|
||||
|
||||
### Link configurations with GNU stow
|
||||
## Link configurations with GNU stow
|
||||
Make sure to have `stow` installed.
|
||||
Navigate into your local copy of the repository, usually `~/dotfiles`.
|
||||
Create links to the configurations with:
|
||||
@@ -60,16 +12,11 @@ Create links to the configurations with:
|
||||
```
|
||||
for example
|
||||
```
|
||||
stow alacritty
|
||||
stow bashrc
|
||||
```
|
||||
It is important to execute this and similar commands in the root directory of the repository `~/dotfiles` unless you specify source and target locations manually.
|
||||
|
||||
|
||||
## Todos
|
||||
|
||||
* [ ] configure lock screen (probably i3lock)
|
||||
* [ ] sway (wayland in general..)
|
||||
* [ ] terminal emulators to keep in mind:
|
||||
* [ ] `foot` (wayland exclusive) -> postponed for potential wayland setup
|
||||
|
||||
## Ideas for scripts
|
||||
|
||||
* (sed) script to reformat text files for a configurable line length.
|
||||
|
||||
@@ -2,22 +2,35 @@
|
||||
// @theme "~/.config/rofi/themes/zegonix-black.rasi"
|
||||
|
||||
configuration {
|
||||
modes: "combi,window,run";
|
||||
// mode
|
||||
modes: "combi,run";
|
||||
combi-modes: "drun,run";
|
||||
drun-match-fields: "name,generic,keywords";
|
||||
matching: "fuzzy";
|
||||
|
||||
// blargh?
|
||||
monitor: -1;
|
||||
terminal: "ghostty";
|
||||
no-plugins: true;
|
||||
|
||||
// matching
|
||||
matching: "fuzzy";
|
||||
case-sensitive: false;
|
||||
|
||||
// keybindings
|
||||
kb-row-up: "Up,Control+k";
|
||||
kb-row-down: "Down,Control+j";
|
||||
kb-accept-entry: "Return,Control+m";
|
||||
kb-accept-entry: "Return";
|
||||
kb-remove-to-eol: "";
|
||||
kb-clear-line: "";
|
||||
kb-remove-word-back: "Control+BackSpace,Control+w";
|
||||
|
||||
// do not cancel me!
|
||||
timeout {
|
||||
action: "kb-cancel";
|
||||
delay: 0;
|
||||
}
|
||||
|
||||
// ??
|
||||
filebrowser {
|
||||
directories-first: true;
|
||||
sorting-method: "name";
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
* {
|
||||
font: "Victor Mono Nerd Font 13";
|
||||
font: "JetBrains Mono Nerd Font 14";
|
||||
|
||||
zx-transparent: transparent;
|
||||
zx-white: #C8C8C8FF;
|
||||
zx-dark-blue: #080C1CEA;
|
||||
zx-dark-blue: #000010EA;
|
||||
zx-blue: #203050C8;
|
||||
zx-light-blue: #6bceffff;
|
||||
zx-light-blue: #5BB8FFFF;
|
||||
zx-cyan: #15D7E5FF;
|
||||
zx-light-grey: #A0A0ADFF;
|
||||
zx-dark-grey: #202028C8;
|
||||
zx-black: #000000EA;
|
||||
zx-background: @zx-black;
|
||||
zx-secondary: @zx-dark-grey;
|
||||
zx-accent: @zx-white;
|
||||
zx-accent: @zx-light-grey;
|
||||
zx-text: @zx-white;
|
||||
|
||||
background-color: transparent;
|
||||
@@ -20,15 +20,13 @@
|
||||
|
||||
window {
|
||||
location: center;
|
||||
width: 35%;
|
||||
width: 30%;
|
||||
|
||||
background-color: @zx-background;
|
||||
|
||||
border: 0;
|
||||
border-color: @zx-accent;
|
||||
|
||||
padding: 2 12 8 12;
|
||||
|
||||
children: [ mainbox ];
|
||||
}
|
||||
|
||||
@@ -37,7 +35,7 @@ mainbox {
|
||||
border: 0px;
|
||||
spacing: 8px;
|
||||
|
||||
children: [inputbar, listview];
|
||||
children: [ inputbar, listview, mode-switcher ];
|
||||
}
|
||||
|
||||
inputbar {
|
||||
@@ -50,7 +48,7 @@ inputbar {
|
||||
border: 0 0 1px 0;
|
||||
border-color: @zx-accent;
|
||||
|
||||
children: [prompt, entry];
|
||||
children: [ entry ];
|
||||
}
|
||||
|
||||
prompt {
|
||||
@@ -72,13 +70,13 @@ listview {
|
||||
spacing: 5px;
|
||||
|
||||
border: 0px;
|
||||
background-color: @transparent; //@zx-background;
|
||||
background-color: @zx-transparent;
|
||||
|
||||
children: [ element ];
|
||||
}
|
||||
|
||||
element {
|
||||
background-color: transparent;
|
||||
background-color: @zx-transparent;
|
||||
text-color: inherit;
|
||||
border: 0;
|
||||
|
||||
@@ -107,3 +105,18 @@ element-text.selected {
|
||||
prompt, entry, element-text {
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
|
||||
mode-switcher {
|
||||
children: [ button ];
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 4 0 4 0;
|
||||
text-color: @zx-text;
|
||||
text-transform: bold;
|
||||
}
|
||||
|
||||
button.selected {
|
||||
text-color: @zx-background;
|
||||
background-color: @zx-accent;
|
||||
}
|
||||
|
||||
@@ -20,15 +20,13 @@
|
||||
|
||||
window {
|
||||
location: center;
|
||||
width: 25%;
|
||||
width: 30%;
|
||||
|
||||
background-color: @zx-background;
|
||||
|
||||
border: 0;
|
||||
border-color: @zx-accent;
|
||||
|
||||
//padding: 2 12 8 12;
|
||||
|
||||
children: [mainbox];
|
||||
}
|
||||
|
||||
@@ -44,7 +42,6 @@ inputbar {
|
||||
spacing: 40px;
|
||||
padding: 10px;
|
||||
|
||||
//background-color: @zx-secondary;
|
||||
text-color: @zx-text;
|
||||
|
||||
border: 0 0 1px 0;
|
||||
@@ -72,7 +69,7 @@ listview {
|
||||
spacing: 5px;
|
||||
|
||||
border: 0px;
|
||||
background-color: @zx-transparent; //@zx-background;
|
||||
background-color: @zx-transparent;
|
||||
|
||||
children: [element];
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ function __search-history {
|
||||
READLINE_POINT=$((0 + ${#command}))
|
||||
}
|
||||
|
||||
if [[ "$-" == *i* ]] && which fzf &>/dev/null; then
|
||||
if [[ "$-" == *i* ]] && $(which fzf &>/dev/null); then
|
||||
bind -r "\C-r"
|
||||
bind -x '"\C-r": __search-history'
|
||||
fi
|
||||
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if $(which librewolf &>/dev/null); then
|
||||
librewolf
|
||||
elif $(which librewolf.appimage); then
|
||||
librewolf.appimage
|
||||
else
|
||||
notify-send "[ERROR]" "Failed to start browser"
|
||||
fi
|
||||
@@ -4,13 +4,17 @@ function remove-whitespace {
|
||||
# exclude file types
|
||||
# (ignore generated files/directories)
|
||||
exclude_paths=(
|
||||
"*/.git/*"
|
||||
".git"
|
||||
)
|
||||
exclude_files=(
|
||||
"*.lst"
|
||||
"*.map"
|
||||
"*.svd"
|
||||
"*.sym"
|
||||
"*.doc"
|
||||
"*.docx"
|
||||
"*.ppt"
|
||||
"*.pptx"
|
||||
)
|
||||
|
||||
unset help
|
||||
@@ -20,28 +24,49 @@ function remove-whitespace {
|
||||
unset file_args
|
||||
unset ffunix
|
||||
unset files
|
||||
unset args
|
||||
unset arguments
|
||||
|
||||
for arg in $@; do
|
||||
case ${arg} in
|
||||
for arg in "$@"; do
|
||||
if [[ "${arg}" =~ ^-[a-zA-Z]{2,}$ ]]; then
|
||||
temp=($(echo ${arg} | grep --color=never -o "."))
|
||||
args+=(${temp[@]/#/-})
|
||||
else
|
||||
args+=("${arg}")
|
||||
fi
|
||||
done
|
||||
|
||||
for arg in "${args[@]}"; do
|
||||
[[ "${arg}" != "--" ]] && arguments+=("${arg}")
|
||||
done
|
||||
unset args
|
||||
|
||||
for arg in "${arguments[@]}"; do
|
||||
unset arg_found
|
||||
case "${arg}" in
|
||||
"-u" | "--unix")
|
||||
arg_found="true"
|
||||
ffunix="true"
|
||||
continue
|
||||
;;
|
||||
"-h" | "--help" | "-help")
|
||||
"-h" | "--help")
|
||||
arg_found="true"
|
||||
help="true"
|
||||
continue
|
||||
;;
|
||||
"-n" | "--no-action")
|
||||
arg_found="true"
|
||||
no_action="true"
|
||||
continue
|
||||
;;
|
||||
"-s" | "--silent")
|
||||
arg_found="true"
|
||||
silent="true"
|
||||
continue
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
if [[ -n "${arg_found}" ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
if [[ -d "${arg}" ]]; then
|
||||
path_args+=("${arg}")
|
||||
continue
|
||||
@@ -61,21 +86,42 @@ function remove-whitespace {
|
||||
grep_regex=$'[[:blank:]]+\r?$'
|
||||
fi
|
||||
|
||||
for arg in ${path_args[@]}; do
|
||||
files+=($(
|
||||
# compile exclude arguments
|
||||
unset excludes
|
||||
excludes=("(")
|
||||
|
||||
for n in ${!exclude_paths[@]}; do
|
||||
excludes+=("-name" "${exclude_paths[$n]}")
|
||||
if ((${n} < ${#exclude_paths[@]} - 1)); then
|
||||
excludes+=("-o")
|
||||
fi
|
||||
done
|
||||
|
||||
excludes+=(")" "-type d" "-prune" "-o")
|
||||
|
||||
for arg in "${exclude_files[@]}"; do
|
||||
excludes+=("-not" "-name" "${arg}")
|
||||
done
|
||||
|
||||
for arg in "${path_args[@]}"; do
|
||||
files=("$(
|
||||
find "${arg}" \
|
||||
"${exclude_paths[@]/#/-not -path }" \
|
||||
"${exclude_files[@]/#/-not -name }" \
|
||||
${excludes[@]} \
|
||||
-type f \
|
||||
-exec grep -EIq "${grep_regex}" {} \; \
|
||||
-print
|
||||
))
|
||||
done
|
||||
for arg in ${file_args[@]}; do
|
||||
grep -EIq "${grep_regex}" ${arg} && files+=("${arg}")
|
||||
)")
|
||||
done
|
||||
|
||||
if [[ -n "${help}" ]] || [[ -z "${files[@]}" ]]; then
|
||||
IFS=$'\n'
|
||||
files=(${files})
|
||||
unset IFS
|
||||
|
||||
for arg in "${file_args[@]}"; do
|
||||
grep -EIq "${grep_regex}" "${arg}" && files+=("${arg}")
|
||||
done
|
||||
|
||||
if [[ -n "${help}" ]] || [[ -z "${file_args[@]} ${path_args[@]}" ]]; then
|
||||
cat <<EOF
|
||||
Usage: remove-whitespace [-h] [-n] path [path]
|
||||
|
||||
@@ -97,26 +143,39 @@ EOF
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [[ -z "${files[@]}" ]]; then
|
||||
echo "no files with trailing whitespace or dos style line endings found"
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [[ -z "${no_action}" ]]; then
|
||||
for file in ${files[@]}; do
|
||||
for file in "${files[@]}"; do
|
||||
if [[ -n "${ffunix}" ]]; then
|
||||
sed -i "${sed_cmd}" ${file}
|
||||
sed -i "${sed_cmd}" "${file}"
|
||||
else
|
||||
sed -i "${sed_cmd}" ${file}
|
||||
sed -i "${sed_cmd}" "${file}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
if [[ -z "${silent} ${no_action}" ]] &&
|
||||
if [[ -n "${no_action}" ]] &&
|
||||
[[ -n "${files}" ]]; then
|
||||
tput setaf 1
|
||||
tput smso
|
||||
echo "The following files contain whitespace:"
|
||||
tput sgr0
|
||||
for file in "${files[@]}"; do
|
||||
echo "${file}"
|
||||
done
|
||||
elif [[ -z "${silent}" ]] &&
|
||||
[[ -n "${files}" ]]; then
|
||||
tput setaf 1
|
||||
tput smso
|
||||
echo "The following files contained whitespace:"
|
||||
tput sgr0
|
||||
for file in ${files[@]}; do
|
||||
for file in "${files[@]}"; do
|
||||
echo "${file}"
|
||||
done
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
Executable
+26
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
unset use_clipboard
|
||||
if [[ "$1" == "-c" ]] || [[ "$1" == "--clipboard" ]]; then
|
||||
use_clipboard="true"
|
||||
fi
|
||||
|
||||
if ! $(which maim &>/dev/null); then
|
||||
notify-send "[screenshot]" "missing \`maim\`"
|
||||
exit 1
|
||||
fi
|
||||
if [[ -n "${use_clipboard}" ]] && ! $(which xclip &>/dev/null); then
|
||||
notify-send "[screenshot]" "missing \`xclip\`"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${use_clipboard}" ]]; then
|
||||
screenshots_path="${HOME}/screenshots"
|
||||
echo "${screenshots_path}"
|
||||
if [[ ! -d "${screenshots_path}" ]]; then
|
||||
mkdir "${screenshots_path}"
|
||||
fi
|
||||
maim -suo "${screenshots_path}/$(date '+%Y%m%d_%H%M%S').png"
|
||||
else
|
||||
maim -suo | xclip -selection clipboard -t image/png
|
||||
fi
|
||||
@@ -2,7 +2,8 @@
|
||||
# use interactive shell instead of login shell
|
||||
set-option -g default-command "/bin/bash"
|
||||
|
||||
# enable rgb colors
|
||||
# configure terminal
|
||||
set -g default-terminal "tmux-256color"
|
||||
set -ag terminal-overrides ",*:RGB"
|
||||
|
||||
# enable mouse support
|
||||
|
||||
Reference in New Issue
Block a user