From bb99485eee19fb94e3e57c299e46eb4cabb657bd Mon Sep 17 00:00:00 2001 From: ubq323 Date: Fri, 21 Apr 2023 16:15:29 +0100 Subject: various --- .bashrc | 21 ++++- .config/sway/config | 242 ++++++++++++++++------------------------------------ .gitconfig | 6 ++ .local/bin/rupload | 28 ++++-- .local/bin/rws | 4 + 5 files changed, 122 insertions(+), 179 deletions(-) diff --git a/.bashrc b/.bashrc index d2d50e0..018ee89 100644 --- a/.bashrc +++ b/.bashrc @@ -4,7 +4,11 @@ [[ $- != *i* ]] && return alias ls='ls --color=auto' -PS1='[\u@\h \W]\$ ' +alias grep='grep --color=auto' +PS1='\[\e[90m\][\u@\h \W]\$\[\e[0m\] ' + +shopt -s histappend +HISTCONTROL=ignoreboth poezio () { ~/soft/poezio/launch.sh; } @@ -20,8 +24,8 @@ runtimeify() { export XDG_RUNTIME_DIR=/run/user/1000 } -alias vz='kak ~/.bashrc' -alias sz='source ~/.bashrc' +alias kb='kak ~/.bashrc' +alias .b='source ~/.bashrc' alias l='ls -lah' @@ -39,6 +43,17 @@ _lastcmd () { history 1 | sed -e 's/^ *[0-9]* *//g' ; } trap 'set_title "$(_lastcmd)"' DEBUG PROMPT_COMMAND='set_title "$(apwd)"' +trap '.b' USR1 + + +export LUA_PATH_5_3="$HOME/.local/lib/lua/5.3/?.lua;;" +export LUA_PATH_5_1="$HOME/.local/lib/lua/5.1/?.lua;;" +export LUA_CPATH_5_3="$HOME/.local/lib/lua/5.3/?.so;;" +export LUA_CPATH_5_1="$HOME/.local/lib/lua/5.1/?.so;;" + +export MANPATH="$HOME/.local/share/man:" + + add_path () { export PATH="$1:$PATH" } diff --git a/.config/sway/config b/.config/sway/config index b915aed..621e47a 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -1,35 +1,14 @@ -# 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 foot -# 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 bemenu-run | xargs swaymsg exec -- -### Output configuration -# -# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) output * bg /home/rebecca/Pictures/lagana.png stretch -# -# 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 # @@ -44,177 +23,99 @@ output * bg /home/rebecca/Pictures/lagana.png stretch # 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. - input * { xkb_layout "gb,gb" xkb_variant "dvorak," - xkb_options "grp:shifts_toggle,caps:swapescape" + xkb_options "grp:shifts_toggle,caps:swapescape,compose:ralt" } -### Key bindings -# -# Basics: -# - # Start a terminal - bindsym $mod+Return exec 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+c 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: -# - # Switch to workspace - bindsym $mod+1 workspace number 1 - bindsym $mod+2 workspace number 2 - bindsym $mod+3 workspace number 3 - bindsym $mod+4 workspace number 4 - bindsym $mod+5 workspace number 5 - bindsym $mod+6 workspace number 6 - bindsym $mod+7 workspace number 7 - bindsym $mod+8 workspace number 8 - bindsym $mod+9 workspace number 9 - bindsym $mod+0 workspace 0 - # Move focused container to workspace - bindsym $mod+Shift+1 move container to workspace number 1 - bindsym $mod+Shift+2 move container to workspace number 2 - bindsym $mod+Shift+3 move container to workspace number 3 - bindsym $mod+Shift+4 move container to workspace number 4 - bindsym $mod+Shift+5 move container to workspace number 5 - bindsym $mod+Shift+6 move container to workspace number 6 - bindsym $mod+Shift+7 move container to workspace number 7 - bindsym $mod+Shift+8 move container to workspace number 8 - bindsym $mod+Shift+9 move container to workspace number 9 - bindsym $mod+Shift+0 move container to workspace 0 - # Note: workspaces can have any name you want, not just numbers. - # We just use 1-10 as the default. -# -# 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+Shift+v 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 +bindsym $mod+Return exec exec $term +bindsym $mod+Shift+q kill +bindsym $mod+d exec $menu + +floating_modifier $mod normal +bindsym $mod+Shift+c reload +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' + +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +bindsym $mod+1 workspace number 1 +bindsym $mod+2 workspace number 2 +bindsym $mod+3 workspace number 3 +bindsym $mod+4 workspace number 4 +bindsym $mod+5 workspace number 5 +bindsym $mod+6 workspace number 6 +bindsym $mod+7 workspace number 7 +bindsym $mod+8 workspace number 8 +bindsym $mod+9 workspace number 9 +bindsym $mod+0 workspace 0 + +bindsym $mod+Shift+1 move container to workspace number 1 +bindsym $mod+Shift+2 move container to workspace number 2 +bindsym $mod+Shift+3 move container to workspace number 3 +bindsym $mod+Shift+4 move container to workspace number 4 +bindsym $mod+Shift+5 move container to workspace number 5 +bindsym $mod+Shift+6 move container to workspace number 6 +bindsym $mod+Shift+7 move container to workspace number 7 +bindsym $mod+Shift+8 move container to workspace number 8 +bindsym $mod+Shift+9 move container to workspace number 9 +bindsym $mod+Shift+0 move container to workspace 0 + + +bindsym $mod+Shift+v splith +bindsym $mod+v splitv + +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +bindsym $mod+f fullscreen + +bindsym $mod+Shift+space floating toggle +bindsym $mod+space focus mode_toggle + +bindsym $mod+a focus parent + +bindsym $mod+Shift+minus move scratchpad +bindsym $mod+minus scratchpad show - # 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 40px + bindsym $left resize shrink width 40px bindsym $down resize grow height 40px bindsym $up resize shrink height 40px bindsym $right resize grow width 40px - # Ditto, with arrow keys bindsym Left resize shrink width 40px bindsym Down resize grow height 40px bindsym Up resize shrink height 40px bindsym Right resize grow width 40px - # 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 bottom - separator_symbol ' :: ' - - # When the status_command prints a new line to stdout, swaybar updates. - # The default just shows the current date and time. status_command ~/.local/bin/status.sh - colors { statusline #ffffff background #323232 @@ -223,10 +124,9 @@ bar { } } -# things from old i3 conf font pango:Iosevka Fixed 12 -bindsym $mod+Shift+f exec "firefox-wayland" +bindsym $mod+Shift+f exec "apulse firefox-wayland" bindsym $mod+b workspace back_and_forth bindsym $mod+Shift+b move container to workspace back_and_forth @@ -254,5 +154,7 @@ client.focused #663399 #663399 #ffffff bindsym Print exec slurp|grim -g- -|feh - -.wG -A'[upload]rupload -x png %F' +exec wlsunset -T 6500 -t 3200 -L -2 -l 53 + include /etc/sway/config.d/* diff --git a/.gitconfig b/.gitconfig index ed3792b..6275dc3 100644 --- a/.gitconfig +++ b/.gitconfig @@ -3,3 +3,9 @@ email = ubq323@ubq323.website [init] defaultBranch = trunk +[core] + autocrlf = input + editor = kak + pager = less -F -X +[log] + date=iso diff --git a/.local/bin/rupload b/.local/bin/rupload index 925fc0e..61db5cf 100755 --- a/.local/bin/rupload +++ b/.local/bin/rupload @@ -1,13 +1,17 @@ #!/bin/sh if [ $# -eq 0 ]; then - printf '%s\n' "usage: $0 [-n] [-x override_ext] " >&2 + printf '%s\n' "usage: $0 [-n] [-x EXT | -r NAME | -R] FILENAME" >&2 printf '\t%s\n' "-n: dry run (don't actually upload anything)" >&2 - printf '\t%s\n' "-x override_ext: set extension to override_ext on uploaded filename" >&2 + printf '\t%s\n' "-x EXT: set extension to EXT on uploaded filename" >&2 + printf '\t%s\n' "-r NAME: set remote name to NAME including extension" >&2 + printf '\t%s\n' "-R: set remote name to basename of FILENAME" >&2 exit 1 fi dry_run=0 +samename=0 +override_rname= while [ $# -gt 1 ]; do if [ "$1" = "-x" ]; then override_ext=".$2" @@ -15,6 +19,15 @@ while [ $# -gt 1 ]; do elif [ "$1" = "-n" ]; then dry_run=1 shift + elif [ "$1" = "-r" ]; then + override_rname="$2" + shift 2 + elif [ "$1" = "-R" ]; then + samename=1 + shift + else + printf "%s: unrecognized argument %s\n" "$0" "$1" + exit 2 fi done @@ -23,6 +36,10 @@ if [ ! -f "$1" ]; then exit 1 fi +if [ "$samename" -eq 1 ]; then + override_rname="$(basename "$1")" +fi + REMOTE="do" URLBASE="https://ubq323.website/files/" REMOTEDIR="/srv/web/ubq/files/" @@ -37,8 +54,8 @@ else fi ext=${override_ext:-$ext} -rbname="$(md5sum "$1"|cut -d' ' -f1|tr 'a-z' 'A-Z'|basenc -d --base16|basenc --base64|head -c8)" -rname="$rbname$ext" +rbname="$(md5sum "$1"|cut -d' ' -f1|tr 'a-z' 'A-Z'|basenc -d --base16|basenc --base64url|head -c8)" +rname="${override_rname:-$rbname$ext}" exists_already() { ssh "$REMOTE" stat "$REMOTEDIR$1" 2>/dev/null >/dev/null @@ -47,8 +64,7 @@ exists_already() { while exists_already "$rname"; do printf "%s exists already\n" "$rname" - rbname="${rbname}_" - rname="$rbname$ext" + rname="_$rname" done printf 'uploading to %s\n' "$rname" diff --git a/.local/bin/rws b/.local/bin/rws index ebee83c..7041e8c 100755 --- a/.local/bin/rws +++ b/.local/bin/rws @@ -54,6 +54,10 @@ gowork() { cd "$d" || return 1 fi } +renws () { + # renames current ws to current working dir + swaymsg "rename workspace to $(apwd)" +} queryws () { # uses bmenu to prompt for a workspace name, then switches to that workspace -- cgit v1.2.3