SoptikHa2 / archlinux-dotfiles

Archlinux i3 dotfiles

Home Page:https://soptik.tech/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

archlinux-dotfiles

Archlinux i3 dotfiles

Setup

See xorg conf. Setup keyboard with localectl set-x11-keymap us,cz pc105 ,qwerty compose:lwin,caps:swapescape,grp:ctrl_alt_toggle. See kbd(4) and xkeyboard-config(7).

Useful hotkeys

Key combo Effect
<Esc> Acts as capslock
<CapsLock> Acts as escape
<A-d> Opens rofi - start/switch programs
<A-Q> Kills currently focused program
<A-w> Opens wireless menu in rofi: switch wifi/ethernet, connect to VPN
<A-t> Opens monitor setup menu in rofi: switch between monitors, or combine them together in multiple ways
<A-Tab> Switch keyboards (currently: US and Czech Qwerty)
<A-g> Enter gaming mode - most hotkeys are disabled (incl. window/workspace i3 hotkeys) (except kill, fullscreen, and exit gaming mode)
<A-Esc> Exit gaming mode
<A-f> Toggle fullscreen on currently focused window
<A-[1,2..0]> Switch to i3 workspace 1,2..10
<A-Enter> Start terminal emulator
<A-S-Enter> Start terminal emulator as scratchpad
<A-E> Exit i3
<A-jkl;> Move window focus
<A-JKL:> Move windows
<PrtSc> Take a screenshot and save it into ~/data/Pictures
<S-PrtSc> Take a screenshot and save it into clipboard
<C-PrtSc> Take a screenshot of current window and save it into ~/data/Pictures
<S-C-PrtSc> Take a screenshot of current window and save it into clipboard
<C-Space> Dismiss notification
<C-~> Show dismissed notification
<C-S-Space> Toggle floating window
<A-S> Toggle between current workspace and empty workspace
<A-F1> Focus Firefox
<A-F2> Focus latest Alacritty
<A-F3> Focus Discord
<A-F4> Focus Caprine
<A-F5> Focus Thunderbird

Useful aliases and functions

Alias|Function Real command|Description
please sudo
ga git add
gc git commit
gs git status
gd git diff
gds git diff --staged (works on files that were ga'ed)
gaa git add -u (adds all tracked modified files)
enclip Encrypt text to recipient via GPG and save to clipboard
declip Decrypt PGP message saved in clipboard

Tips & tricks

Trick Description
FF config: full-screen-api.ignore-widgets = true Fullscreen videos are not really fullscreen, but are borderless intead. See first screenshot, but it's quite nice feature.

Useful cli tools

  • awk - linked awesome tutorial, I wrote md->html converter in it.

  • fselect - find files (and do magic with them) with sql-like queries

  • dust - du replacement, shows where did all your disk space go

  • fd - find replacement that is user friendly

  • pazi - quick movement across most-visited directories (z replacement)

  • bb (BigBrother) - htop alternative

Vim workflow

Html snippets

After creating new html file, one can type html<tab> in order to have basic html structure - head, body, links to css/js/favicon, meta tags - setup. After typing <, one can press tab so the closing tag will autocomplete.

LaTeX snippets

Pressing \ll turns autocompilation on/off. After file is saved, changes will be automatically compiled and pdf viewer (mupdf) will be updated.

After creating new tex file, one can type article<tab> which fills in latex preamble with basic declarations.

begin autofills begin block.

fm and dm (without tab) creates math blocks.

{number}/<tab> or // creates a \frac block.

Typing name-of-figure<C-f> launches inkscape which let's user draw the figure, which is automagically compiled into latex document. inkscape-figures watch has to be launched beforehand.

Existing figures can be edited by pressing <C-f> in normal mode and selecting one via rofi.

Nonstandard or uncommon keybindings

  • Visual select lines and press zf to create foldable section. Use za to toggle it and zd to delete it.
  • When a folder is opened, file browser NerdTree is opened, which doesn't close when one opens files. This way it works like Solution Browser in VS. This can be toggled with \n.
  • When hovering over a symbol, <C-]> sometimes - when CTAGs are generated - navigates user to definition. The same can be achieved with \j without the need for ctags.
  • <Tab> and <S-Tab> switches between multiple open buffers. <C-X> closes current buffer.
  • <F5> compiles and runs current code. Only works in Rust so far.

Screenshots

JUST MONICA

Borderless fullscreen video in Firefox (!, not via youtubedl)

Borderless fullscreen video in Firefox

Neofetch and firefox (the tree style tabs window shrinks when I don't have mouse over it): Screenshot Archlinux Rice i3 - Neofetch

Locked with i3lock and custom image: Screenshot Archlinux Rice i3 - locked

Firefox about:config

Configuration Value Explanation
devtools.debugger.remote-enabled true Useful for userchrome.css live changing (<C-A-S-i>)
devtools.theme dark
media.navigator.enabled false
media.peerconnection.enabled false
network.trr.mode 2 see this
privacy.resistFingerprinting true
privacy.spoof_english 2
privacy.trackingprotection.enabled true
privacy.userContext.enabled true
devtools.chrome.enabled true Enable userChrome.css and userContent.css
toolkit.legacyUserProfileCustomizations.stylesheets true Enable userChrome.css and userContent.css
full-screen-api.warning.timeout 0 Disable fullscreen warning
layers.acceleration.force-enabled true OpenGL OMTC (see Firefox/Tweaks AW)
gfx.webrender.all true Enable Servo WebRender instead of Gecko. Unstable!
browser.sessionstore.resume_from_crash false Don't restore after caching. Disabling this saves write (opened urls, cookies, history, form data) to disk every 15 seconds.
browser.in-content.dark-mode true
ui.systemUsesDarkTheme 1 You may need to create new key

Enable RAM cache

Instead of saving cache to disk, save it to RAM instead. It's faster and it doesn't hurt my SSD so much. See AW.

Configuration Value Explanation
browser.cache.disk.enable false
browser.cache.memory.enable true
browser.cache.memory.capacity -1 Maximum memory, in KB, used. Use -1 for auto detection.

About

Archlinux i3 dotfiles

https://soptik.tech/


Languages

Language:Vim Script 59.8%Language:Shell 26.8%Language:Python 5.2%Language:Vim Snippet 4.3%Language:Haskell 2.2%Language:Awk 0.7%Language:IDL 0.6%Language:CSS 0.5%