diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..943395f --- /dev/null +++ b/TODO.md @@ -0,0 +1,16 @@ +# Things to clean up + +* Premade launchers for Firefox (one for each profile), IDEs, Discord, Spotify, which start the profiles on the correct workspace. +* Brightness and volume indicators when pressing the respective shortcuts - yad? +* Configure Barista bar + * Include mail notifier (count of unread/read messages in INBOX) + * Include calendar notifier (next event name+time, events today/tomorrow) + * Include yubikey notifier (U2F waiting to trigger) +* Configure Rofi more intimately +* Include the mozc and dunst configs and rofi configs in here +* Configure alacritty and make it the new i3 terminal +* Set up the xscreensaver config to be shared between machines +* Group the fonts together to be sent to gubal and make Lilex the primary alacritty font, while Gohu is the primary i3 font. +* Wrap the lock process in a wrapper which pauses dunst and then unpauses it +* Add a fortune to the start of each new terminal session +* Enable some form of gamma shifting (if it's even possible...) diff --git a/bash/bash_aliases.sh b/bash/bash_aliases.sh index d7d486d..2faa265 100644 --- a/bash/bash_aliases.sh +++ b/bash/bash_aliases.sh @@ -1,5 +1,8 @@ #!/bin/bash +# Disable the gosh darn XON/XOFF function that serves no purpose but to confuse me when I accidentally press Ctrl+S +stty -ixon + # Find the path of the git repository relative to this file. export __COMMON_CONFIGS=$(readlink -e "$( dirname "$(realpath -e "${BASH_SOURCE[0]}")" )/..") # Set the SSH auth sock to the central location diff --git a/etc/X11/xorg.conf.d/10-disable-touchscreen.conf b/etc/X11/xorg.conf.d/10-disable-touchscreen.conf new file mode 100644 index 0000000..d8688e3 --- /dev/null +++ b/etc/X11/xorg.conf.d/10-disable-touchscreen.conf @@ -0,0 +1,7 @@ + Section "InputClass" + Identifier "disable the STUPID touchscreen" + MatchIsTouchscreen "on" + MatchDevicePath "/dev/input/event*" + MatchDriver "libinput" + Option "Ignore" "yes" + EndSection diff --git a/security/common-yubikey b/etc/pam.d/common-yubikey similarity index 100% rename from security/common-yubikey rename to etc/pam.d/common-yubikey diff --git a/security/common-yubikey.old b/etc/security/common-yubikey.old similarity index 100% rename from security/common-yubikey.old rename to etc/security/common-yubikey.old diff --git a/security/costadelsol.sudo_u2f_creds b/etc/security/costadelsol.sudo_u2f_creds similarity index 100% rename from security/costadelsol.sudo_u2f_creds rename to etc/security/costadelsol.sudo_u2f_creds diff --git a/security/crystarium.sudo_u2f_creds b/etc/security/crystarium.sudo_u2f_creds similarity index 100% rename from security/crystarium.sudo_u2f_creds rename to etc/security/crystarium.sudo_u2f_creds diff --git a/security/goldsaucer.sudo_u2f_creds b/etc/security/goldsaucer.sudo_u2f_creds similarity index 100% rename from security/goldsaucer.sudo_u2f_creds rename to etc/security/goldsaucer.sudo_u2f_creds diff --git a/security/gubal.sudo_u2f_creds b/etc/security/gubal.sudo_u2f_creds similarity index 100% rename from security/gubal.sudo_u2f_creds rename to etc/security/gubal.sudo_u2f_creds diff --git a/security/id_ed25519-sk.yubikey-keychain-5C-NFC-A b/etc/security/id_ed25519-sk.yubikey-keychain-5C-NFC-A similarity index 100% rename from security/id_ed25519-sk.yubikey-keychain-5C-NFC-A rename to etc/security/id_ed25519-sk.yubikey-keychain-5C-NFC-A diff --git a/security/id_ed25519-sk.yubikey-keychain-5C-NFC-A.pub b/etc/security/id_ed25519-sk.yubikey-keychain-5C-NFC-A.pub similarity index 100% rename from security/id_ed25519-sk.yubikey-keychain-5C-NFC-A.pub rename to etc/security/id_ed25519-sk.yubikey-keychain-5C-NFC-A.pub diff --git a/security/id_ed25519-sk.yubikey-keychain-5C-NFC-C b/etc/security/id_ed25519-sk.yubikey-keychain-5C-NFC-C similarity index 100% rename from security/id_ed25519-sk.yubikey-keychain-5C-NFC-C rename to etc/security/id_ed25519-sk.yubikey-keychain-5C-NFC-C diff --git a/security/id_ed25519-sk.yubikey-keychain-5C-NFC-C.pub b/etc/security/id_ed25519-sk.yubikey-keychain-5C-NFC-C.pub similarity index 100% rename from security/id_ed25519-sk.yubikey-keychain-5C-NFC-C.pub rename to etc/security/id_ed25519-sk.yubikey-keychain-5C-NFC-C.pub diff --git a/security/keynames b/etc/security/keynames similarity index 100% rename from security/keynames rename to etc/security/keynames diff --git a/security/mordhona.sudo_u2f_creds b/etc/security/mordhona.sudo_u2f_creds similarity index 100% rename from security/mordhona.sudo_u2f_creds rename to etc/security/mordhona.sudo_u2f_creds diff --git a/security/sudo_u2f_creds.old b/etc/security/sudo_u2f_creds.old similarity index 100% rename from security/sudo_u2f_creds.old rename to etc/security/sudo_u2f_creds.old diff --git a/security/sudo_yubikey_creds b/etc/security/sudo_yubikey_creds similarity index 100% rename from security/sudo_yubikey_creds rename to etc/security/sudo_yubikey_creds diff --git a/security/sudo_yubikey_creds.old b/etc/security/sudo_yubikey_creds.old similarity index 100% rename from security/sudo_yubikey_creds.old rename to etc/security/sudo_yubikey_creds.old diff --git a/security/yubikeynames b/etc/security/yubikeynames similarity index 100% rename from security/yubikeynames rename to etc/security/yubikeynames diff --git a/i3/brightness-display.sh b/i3/brightness-display.sh new file mode 100644 index 0000000..ed7a042 --- /dev/null +++ b/i3/brightness-display.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +yad --progress --image=display-brightness-symbolic --splash --no-buttons --on-top --no-focus --undecorated --text='Brightness' --text-align=center --sticky --percentage=$(( $(brightnessctl get) * 100 / $(brightnessctl max) )) --no-escape --borders=10 --skip-taskbar --center diff --git a/i3/config b/i3/config new file mode 100644 index 0000000..b699d61 --- /dev/null +++ b/i3/config @@ -0,0 +1,207 @@ +# 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 + +# 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 -c 0081a7 -e +# Enable the X screensaver system. +exec --no-startup-id xscreensaver + + +# 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 + +# Set up the gnome settings daemon for better gnome support +exec --no-startup-id /usr/libexec/gnome-settings-daemon-localeexec + +# Fix a bug in gnome-settings-daemon: http://feeding.cloud.geek.nz/posts/creating-a-modern-tiling-desktop-environment-using-i3/ +exec --no-startup-id dconf write /org/gnome/settings-daemon/plugins/cursor/active false + +# Enable the relevant xkb options to allow the capslock remapping to proceed +exec --no-startup-id setxkbmap -option shift:both_capslock,caps:hyper +# Set up xcape to switch input modes for mozc with caps lock +exec --no-startup-id xcape -e 'Hyper_L=Control_L|grave' +# Set up xcape to make control a closer escape instead +exec --no-startup-id xcape -e 'Control_L=Escape' +# Set up xcape to make tapping the super key trigger the tmux modifier key. +exec --no-startup-id xcape -e 'Super_L=Control_L|a' + +# 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 brightnessctl to adjust screen brightness. +bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set 10%+ +bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set --min-value=100 10%- + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# start a terminal +bindsym $mod+Return exec + +# kill focused window +bindsym $mod+Shift+q kill + +bindsym $mod+Shift+l exec --no-startup-id loginctl lock-session + +# start dmenu (a program launcher) +# bindsym $mod+d exec --no-startup-id dmenu_run +# A more modern dmenu replacement is rofi: +bindsym $mod+d exec "rofi -modi drun,run -show drun -show-icons" +# 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: Browser" +set $ws2 "2: Media" +set $ws3 "3: Chat" +set $ws4 "4: IDE" +set $ws5 "5: Terminal" +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 +} diff --git a/per-host/costadelsol/.config/i3/config b/per-host/costadelsol/.config/i3/config new file mode 120000 index 0000000..8c5e76b --- /dev/null +++ b/per-host/costadelsol/.config/i3/config @@ -0,0 +1 @@ +../../../../i3/config \ No newline at end of file diff --git a/per-host/crystarium/.config/i3/config b/per-host/crystarium/.config/i3/config new file mode 120000 index 0000000..8c5e76b --- /dev/null +++ b/per-host/crystarium/.config/i3/config @@ -0,0 +1 @@ +../../../../i3/config \ No newline at end of file diff --git a/per-host/goldsaucer/.config/i3/config b/per-host/goldsaucer/.config/i3/config new file mode 120000 index 0000000..8c5e76b --- /dev/null +++ b/per-host/goldsaucer/.config/i3/config @@ -0,0 +1 @@ +../../../../i3/config \ No newline at end of file diff --git a/per-host/gubal/.config/i3/config b/per-host/gubal/.config/i3/config new file mode 120000 index 0000000..8c5e76b --- /dev/null +++ b/per-host/gubal/.config/i3/config @@ -0,0 +1 @@ +../../../../i3/config \ No newline at end of file diff --git a/per-host/mordhona/.config/i3/config b/per-host/mordhona/.config/i3/config new file mode 120000 index 0000000..8c5e76b --- /dev/null +++ b/per-host/mordhona/.config/i3/config @@ -0,0 +1 @@ +../../../../i3/config \ No newline at end of file diff --git a/per-host/template/.config/i3/config b/per-host/template/.config/i3/config new file mode 120000 index 0000000..8c5e76b --- /dev/null +++ b/per-host/template/.config/i3/config @@ -0,0 +1 @@ +../../../../i3/config \ No newline at end of file diff --git a/xscreensaver/.xscreensaver b/xscreensaver/.xscreensaver new file mode 100644 index 0000000..6ede96b --- /dev/null +++ b/xscreensaver/.xscreensaver @@ -0,0 +1,291 @@ +# XScreenSaver Preferences File +# Written by xscreensaver-demo 5.42 for reya on Wed Jul 21 01:19:34 2021. +# https://www.jwz.org/xscreensaver/ + +timeout: 0:10:00 +cycle: 0:10:00 +lock: False +lockTimeout: 0:00:00 +passwdTimeout: 0:00:30 +visualID: default +installColormap: True +verbose: False +timestamp: True +splash: True +splashDuration: 0:00:05 +demoCommand: xscreensaver-demo +prefsCommand: xscreensaver-demo -prefs +nice: 10 +memoryLimit: 0 +fade: True +unfade: True +fadeSeconds: 0:00:03 +fadeTicks: 20 +captureStderr: True +ignoreUninstalledPrograms:False +font: *-medium-r-*-140-*-m-* +dpmsEnabled: False +dpmsQuickOff: False +dpmsStandby: 2:00:00 +dpmsSuspend: 2:00:00 +dpmsOff: 4:00:00 +grabDesktopImages: False +grabVideoFrames: False +chooseRandomImages: False +imageDirectory: + +mode: random +selected: -1 + +textMode: program +textLiteral: XScreenSaver +textFile: +textProgram: /home/reya/.common-configs/fortune-wrapper.sh +textURL: https://feeds.feedburner.com/ubuntu-news + +programs: \ +- maze -root \n\ +- GL: superquadrics -root \n\ +- attraction -root \n\ +- blitspin -root \n\ +- greynetic -root \n\ +- helix -root \n\ +- hopalong -root \n\ +- imsmap -root \n\ +- noseguy -root \n\ +- pyro -root \n\ +- qix -root \n\ +- rocks -root \n\ +- rorschach -root \n\ +- decayscreen -root \n\ +- flame -root \n\ +- halo -root \n\ +- slidescreen -root \n\ +- pedal -root \n\ +- bouboule -root \n\ +- braid -root \n\ +- coral -root \n\ +- deco -root \n\ +- drift -root \n\ +- fadeplot -root \n\ +- galaxy -root \n\ +- goop -root \n\ +- grav -root \n\ +- ifs -root \n\ +- unicode -root \n\ +- GL: jigsaw -root \n\ +- julia -root \n\ +- kaleidescope -root \n\ +- GL: moebius -root \n\ +- moire -root \n\ +- GL: morph3d -root \n\ +- mountain -root \n\ +- munch -root \n\ +- penrose -root \n\ +- GL: pipes -root \n\ +- rd-bomb -root \n\ +- GL: rubik -root \n\ +- sierpinski -root \n\ +- slip -root \n\ +- GL: sproingies -root \n\ +- starfish -root \n\ +- strange -root \n\ +- swirl -root \n\ +- triangle -root \n\ +- xjack -root \n\ +- xlyap -root \n\ +- GL: atlantis -root \n\ + bsod -root -atari -bsd -sparclinux \n\ +- GL: bubble3d -root \n\ +- GL: cage -root \n\ +- crystal -root \n\ +- cynosure -root \n\ +- discrete -root \n\ +- distort -root \n\ +- epicycle -root \n\ +- flow -root \n\ +- GL: glplanet -root \n\ +- interference -root \n\ +- kumppa -root \n\ +- GL: lament -root \n\ +- moire2 -root \n\ +- GL: sonar -root \n\ +- GL: stairs -root \n\ +- truchet -root \n\ +- vidwhacker -root \n\ +- blaster -root \n\ +- bumps -root \n\ +- ccurve -root \n\ +- compass -root \n\ +- deluxe -root \n\ +- demon -root \n\ +- GL: extrusion -root \n\ +- loop -root \n\ +- penetrate -root \n\ +- petri -root \n\ + phosphor -root -scale 4 -ticks 5 -program "/home/reya/.common-configs/fortune-wrapper.sh" \n\ +- GL: pulsar -root \n\ +- ripples -root \n\ +- shadebobs -root \n\ +- GL: sierpinski3d -root \n\ +- spotlight -root \n\ +- squiral -root \n\ +- wander -root \n\ +- webcollage -root \n\ +- xflame -root \n\ +- xmatrix -root \n\ +- GL: gflux -root \n\ +- nerverot -root \n\ +- xrayswarm -root \n\ +- xspirograph -root \n\ +- GL: circuit -root \n\ +- GL: dangerball -root \n\ +- GL: engine -root \n\ +- GL: flipscreen3d -root \n\ +- GL: gltext -root \n\ +- GL: menger -root \n\ +- GL: molecule -root \n\ +- rotzoomer -root \n\ +- speedmine -root \n\ +- GL: starwars -root \n\ +- GL: stonerview -root \n\ +- vermiculate -root \n\ +- whirlwindwarp -root \n\ +- zoom -root \n\ +- anemone -root \n\ +- apollonian -root \n\ +- GL: boxed -root \n\ +- GL: cubenetic -root \n\ +- GL: endgame -root \n\ +- euler2d -root \n\ +- fluidballs -root \n\ +- GL: flurry -root \n\ +- GL: glblur -root \n\ +- GL: glsnake -root \n\ +- halftone -root \n\ +- GL: juggler3d -root \n\ +- GL: lavalite -root \n\ +- polyominoes -root \n\ +- GL: queens -root \n\ +- GL: sballs -root \n\ +- GL: spheremonics -root \n\ +- thornbird -root \n\ +- twang -root \n\ +- GL: antspotlight -root \n\ +- apple2 -root \n\ +- GL: atunnel -root \n\ +- barcode -root \n\ +- GL: blinkbox -root \n\ +- GL: blocktube -root \n\ +- GL: bouncingcow -root \n\ +- cloudlife -root \n\ +- GL: cubestorm -root \n\ +- eruption -root \n\ +- GL: flipflop -root \n\ +- GL: flyingtoasters -root \n\ +- fontglide -root \n\ +- GL: gleidescope -root \n\ +- GL: glknots -root \n\ + GL: glmatrix -root \n\ +- GL: glslideshow -root \n\ +- GL: hypertorus -root \n\ +- GL: jigglypuff -root \n\ +- metaballs -root \n\ +- GL: mirrorblob -root \n\ +- piecewise -root \n\ +- GL: polytopes -root \n\ +- pong -root \n\ +- popsquares -root \n\ +- GL: surfaces -root \n\ +- xanalogtv -root \n\ +- abstractile -root \n\ +- anemotaxis -root \n\ +- GL: antinspect -root \n\ +- fireworkx -root \n\ +- fuzzyflakes -root \n\ +- interaggregate -root \n\ + intermomentary -root \n\ +- memscroller -root \n\ +- GL: noof -root \n\ +- pacman -root \n\ +- GL: pinion -root \n\ +- GL: polyhedra -root \n\ +- GL: providence -root \n\ +- substrate -root \n\ +- wormhole -root \n\ +- GL: antmaze -root \n\ +- GL: boing -root \n\ +- boxfit -root \n\ +- GL: carousel -root \n\ +- celtic -root \n\ +- GL: crackberg -root \n\ +- GL: cube21 -root \n\ +- fiberlamp -root \n\ +- GL: fliptext -root \n\ +- GL: glhanoi -root \n\ +- GL: tangram -root \n\ +- GL: timetunnel -root \n\ +- GL: glschool -root \n\ +- GL: topblock -root \n\ +- GL: cubicgrid -root \n\ +- cwaves -root \n\ +- GL: gears -root \n\ +- GL: glcells -root \n\ + GL: lockward -root \n\ +- m6502 -root \n\ +- GL: moebiusgears -root \n\ +- GL: voronoi -root \n\ +- GL: hypnowheel -root \n\ +- GL: klein -root \n\ +- lcdscrub -root \n\ +- GL: photopile -root \n\ +- GL: skytentacles -root \n\ +- GL: rubikblocks -root \n\ +- GL: companioncube -root \n\ +- GL: hilbert -root \n\ +- GL: tronbit -root \n\ +- GL: geodesic -root \n\ +- hexadrop -root \n\ +- GL: kaleidocycle -root \n\ +- GL: quasicrystal -root \n\ +- GL: unknownpleasures -root \n\ +- binaryring -root \n\ +- GL: cityflow -root \n\ +- GL: geodesicgears -root \n\ +- GL: projectiveplane -root \n\ +- GL: romanboy -root \n\ +- tessellimage -root \n\ +- GL: winduprobot -root \n\ +- GL: splitflap -root \n\ +- GL: cubestack -root \n\ +- GL: cubetwist -root \n\ +- GL: discoball -root \n\ +- GL: dymaxionmap -root \n\ +- GL: energystream -root \n\ +- GL: hexstrut -root \n\ +- GL: hydrostat -root \n\ +- GL: raverhoop -root \n\ +- GL: splodesic -root \n\ +- GL: unicrud -root \n\ +- GL: esper -root \n\ +- GL: vigilance -root \n\ +- GL: crumbler -root \n\ +- filmleader -root \n\ +- glitchpeg -root \n\ +- GL: handsy -root \n\ +- GL: maze3d -root \n\ +- GL: peepers -root \n\ +- GL: razzledazzle -root \n\ +- vfeedback -root \n\ + + +pointerPollTime: 0:00:05 +pointerHysteresis: 10 +windowCreationTimeout:0:00:30 +initialDelay: 0:00:00 +GetViewPortIsFullOfLies:False +procInterrupts: True +xinputExtensionDev: False +overlayStderr: False +authWarningSlack: 20 + diff --git a/xscreensaver/fortune-wrapper.sh b/xscreensaver/fortune-wrapper.sh new file mode 100755 index 0000000..81d6cb3 --- /dev/null +++ b/xscreensaver/fortune-wrapper.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +while true; do + FORTUNE=$(fortune -ce /usr/share/games/fortunes) + SOURCE=$(sed '1s/(\(.*\))/\1/;q' <<<"$FORTUNE") + TEXT=$(tail +3 <<<"$FORTUNE") + printf '\033[2J\033[H' + echo '['"$SOURCE"']' + sleep 2s + echo -n "$TEXT" + sleep $(( (${#TEXT} / 20) + 10 ))s +done diff --git a/zsh/customizations/zsh_aliases.zsh b/zsh/customizations/zsh_aliases.zsh index c51ab9c..65e4807 100644 --- a/zsh/customizations/zsh_aliases.zsh +++ b/zsh/customizations/zsh_aliases.zsh @@ -1,5 +1,8 @@ #!/bin/zsh +# Disable the gosh darn XON/XOFF function that serves no purpose but to confuse me when I accidentally press Ctrl+S +stty -ixon + # Install EDITOR export EDITOR='nvim' # Set up the vim config path