GitLab's annual major release is around the corner. Along with a lot of new and exciting features, there will be a few breaking changes. Learn more here.

Tags give the ability to mark specific points in history as being important
  • v2.2.0   v2.2.0 (last version with BSPWM+extras)
  • v2.1.0-void   Latest version of my dotfiles on Void Linux
  • v2.0.0-void   Version 2.0.0: working system on Void GNU/Linux There have been A LOT of breaking changes since the last tagged commit (90b190a). Not only have I switched away from Debian, but I have also transitioned to a full-time Emacs user. To that end, lots of standalone tools, like `newsboat' or `mutt' have been removed. The changes in outline: + A comprehensive config for Emacs is available. It encompasses, among many others, packages for email (`mu4e') and RSS (`elfeed'). I have also removed the entire MPD setup, replacing it instead with a simpler, more elegant solution inside of Emacs (`bongo'). + Tmux has been removed. Same with every program that is rendered obsolete by Emacs. + Vim stays but is not actively used. + Lots of old scripts have either been rewritten or deleted. + Other aspects have been considered anew, leading to the removal of `compton' and `dunst' configurations, as well as the replacement of all `dmenu' interfaces with `rofi'. + There now is a `xinit' set of configurations. The graphical session is launched from a TTY. The initialisation of the X server is automatic under certain conditions. This supersedes older settings that assumed the presence of a graphical Display Manager (e.g. `lightdm'). Despite these major reforms, I consider the transition to both Void GNU/Linux and Emacs a work-in-progress. I do, however, feel that the present state is robust enough to merit a tagged release.
  • v1.0.2-pdfd   Fixes inconsistency in `tempus' This concerned a couple of options for bspwmrc, which were not written to the file, even though they were passed to the running session. Changes must be stored in bspwmrc to persist.
  • v1.0.1-pdfd   Fixes poorly designed key in .tmux.conf This concerns an issue where Ctrl+Shift+f was _supposed_ to invoke a search in the scroll buffer. Instead, tmux would pick Ctrl-f, ignoring shift altogether. Furthermore, the workflow of this key was cumbersome. Upon exiting the search, tmux would remain in copy-mode, thus requiring another key to exit. This key combo was added on June 30, 2019, in commit dfd7f8c.
  • v1.0.0-pdfd   Version 1 of code for "Prot's Dots for Debian" "Prot's Dots For Debian" (PDFD) is the book that guides you through the process of reproducing my custom desktop session on Debian 10 'buster'. PDFD provides detailed information on every aspect of my setup. It is available free of charge and is distributed under a copyleft license (Creative Common Attribution-ShareAlike): https://protesilaos.com/pdfd This version was preceded by five beta releases, released between April 24 and June 4, 2019. It is the biggest release to date and includes a lot of refinements across the board. Its focus was on improving existing functionality and adding some new features for power users. Starting with the latter: 1. Dynamic desktops for BSPWM. This radically changes the approach to desktop management. We no longer set a fixed number of desktops per monitor, but rather allow for greater flexibility. Desktops are created or removed on the spot. 2. BSPWM smart preselection and concomitant external rules. These concern manual tiling operations. They leverage three aspects of the window manager: preselections, receptacles, the "marked" node flag. Also documented in detail in the aforementioned chapter. 3. Multifaceted operations for BSPWM. These allow for actions over multiple selection paths. Documented in greater detail in the chapter mentioned above. A comprehensive guide to all three of them is offered in the PDFD chapter about the advanced features of my BSPWM. Fixes and improvements encompass a range of files. In short: 1. Live theme changes are now handled by a new script `tempus`. This replaces `own_script_update_environment_theme` and is superior in terms of design and responsiveness. 2. Update colours based on the latest releases of the Tempus themes generator: https://gitlab.com/protesilaos/tempus-themes-generator 3. Improve code checks in bashrc and bswpmrc. 4. Update SXHKD keys. 5. Improve the code of melonpanel (top bar). Make sure everything is more robust and better overall. 6. Refine Xterm's settings to cope better with demanding needs. 7. Refine Tmux settings. Make it easier to enter copy-mode and to search for text in the scroll buffer. 8. Review and improve some scripts. Rename them where appropriate. Below is a list with all commits since the last beta. ~/dotfiles $ git log v1.0.0-pdfd_beta5..HEAD --oneline 88e8547 Minor tweaks to melonpanel fee97cd Update cheat sheet with common key bindings dfd7f8c USABILITY IMPROVEMENTS: tmux.conf edae690 POTENTIALLY GREAT: xterm cursor reverse colour 2973ac0 BREAK: own_script_toggle_compton => toggle_compton 9e0ca02 Update gtksourceview4 styles 372c0a4 MINOR REVIEW: continuous input for node resize 3da7f69 Ignore comments in bspwmrc 0dd78df FIX: bspwmrc external rules call 672fb90 Tweak bspwm_focus_mode to work with commit 32ad9ea 32ad9ea FULL REVIEW: bspwmrc 0718027 FULL REVIEW: .bashrc 2a80f1d Exit later if no running tmux process 0c1720c tempus: make check for tmux process silent 8749432 Remove tab character on empty line d1fd58c Update melonpanel fonts documentation 083784b BREAKING CHANGES: review melonpanel (add/remove) 5f1348e Tweak Xterm bell settings a0674bb Fix Vim bell event when hitting Esc in Normal mode 2ae29dd No need for double equal sign 88233c9 REVIEW own_script_mate_terminal_setup 9f47cde Update refere to `tempus' in source theme files 2fe3e88 Improvements to tmux_update_vim dfdfb47 No need to recolour manpages c613917 Check for any tmux process a9c5e38 Tweak tempus script 383be27 Minor tweak to dunst config bee8af6 Add dunst missing colours ae4994f MAJOR CHANGES to live theme switching 80de4d6 REMOVE own_script_notify_send_keyboard_layout 4eab3e8 Add toggle for screenkey 77ae62d Remove apostrophe that causes warnings d860f7a Update melonpanel documentation for lemonbar-xft 8cbda38 Tweak Xterm font settings 00d19db Tweak Xterm blink settings 7e88ff3 Fix regression in melonpanel battery module a149544 Refine melonpanel keyboard module 615bd9d Refine melonpanel volume module 1be5a38 Refine melonpanel battery module ad3b9aa Major review of Tempus Dawn (WCAG AA). 60dc2a6 Minor refinements 8cf97cf NEW BSPWM FEATURE: smart move/swap windows c29049f Remove extra file bf3f24d Tweak compton in the interest of performance e8d3ab0 FULL REWRITE AND REVIEW: dynamic desktops 0955505 single_monocle false fdbe349 Minor update to README 7ef0794 Consolidate desktop navigation 27136e8 Minor update to the README aebc93a Add WIP notice in script for dynamic desktops ef13a77 NEW MAJOR FEATURE: dynamic desktops for BSPWM 29baaf3 Script to reorder BSPWM desktops c6a384a BSPWM script for DYNAMIC DESKTOPS 1a9164a Tweak multifaceted behaviour for nodes+receptacles 6b099e6 Refinements to BSPWM external rules 0e496a7 Update vim spell list 079068f Update tmux conf to work with dynamic titles b45721e ADVANCED FEATURE: Add multi-node operations fe67fe5 Improve pattern in melonpanel title module 675cd53 BREAKING: Update BSPWM external rules 1d4690c Remove outdated comment from sxhkdrc 662591a FEATURE: Add "window title" module to melonpanel f36acab Minor tweak to melonpanel 218236f SXHKD: Add keys to switch to last {desktop,node} e89a130 ADVANCED FEATURE: Improved manual tiling in BSPWM 78a4160 Update SXHKD module with specialised BSPWM keys 7062b75 Improve SXHKD module selection 6a5523b Minor inline comment update in melonpanel 8b6cce8 git autosign GPG. No need for bash aliases. bafea0f Minor changes to key chord cheat sheet d15ced9 Update melonpanel font comments
  • v1.0.0-pdfd_beta5   Beta 5 of "Prot's Dots For Debian" (PDFD) This version contains some major adjustments compared to beta version 4. The most noticeable one is the switch from `mate-terminal` to `xterm` as the default terminal emulator. Another important change is the modularisation of the SXHKD configs. They are now splits into two files: one for actions that pertain to the Window Manager and another for WM-independent commands. Several key chords have been reviewed as well. Other issues include code fixes as well as the use of bold fonts for the focused desktop on the panel as well as the focused window in the tmux status line. In general these two status areas try to have the same "visual language" to keep things consistent. Tempus Totus has been reviewed. It now has improved contrast between the accept values, while keeping its look and feel. Overall, this is my favourite among the light themes in the Tempus collection. Last but not least, the `bin` directory now includes two new utilities that may or may not be useful to other users: (i) `tmr` is a simple timer that accepts an argument that represents a valid unit of time such as 10m for 10 minutes or 60s for 60 seconds, and (ii) `clr` which prints the contrast ratio between two colours defined in hexadecimal RGB notation. Below is the full list of commits since beta 4: ~/dotfiles $ git log v1.0.0-pdfd_beta4..HEAD --oneline 0538c1d Remove changing cursor shape from Vim 17145c4 Review SXHKD for BSPWM commands 2f76dd2 Tweak xrandr laptop adjustments 6f2599a Fix regression in melonpanel_height pattern d3c5baf BREAKTHROUGH with Xterm fonts. Revert ed0c335 adeea8f Tweak code for custom UI font selection 0509867 Minor tweaks to Xresources c41e974 INTERFACE REFINEMENTS to bspwm configs 6cac05f Update vim spell list 4914b63 Minor update to tmux config dc46517 Improve melonpanel "focused" desktop styles 171ca0f Update Tempus Totus palette 79af8d0 Update compton config b81b895 Minor tweak to own_script_notify_send_mpc_status ab1237c Fix issue in own_script_update_environment_theme 1708ee2 Fix regression own_script_update_environment_theme 9559ad3 Minor tweaks: own_script_update_environment_theme edc0b63 Minor update to CLR script dd80755 NEW SCRIPT: check contrast between two colours 0fe6c5c Feature: TMR now plays an alarm sound! f430518 Fix regression in tmr 4828fe7 Fix some code issue with TMR 275ff1b Working prototype of TMR 613e202 Important aesthetic changes to tmux fa29e03 General refinements to Xresources ed0c335 MAJOR CHANGE: Default mono font is Fira Code 43e7140 Minor tweaks to dunst config 41f6f71 FIX newsboat duplicate themes 611e8ff WORKAROUND for f0e2b4b f0e2b4b BREAKING CHANGE: Disable dunst shortcuts 9f679b6 Add a couple of MPV macros to newsboat 7727861 BREAKING CHANGE: Replace NeoMutt with Mutt 84a5f09 Minor tweaks to XTerm resources d6139e6 Minor update to Xresources e8165ec Add Xresources-reload in SXHKD 2826848 Update Vim colour schemes 052d817 Enable blinking cursor shapes 2f22fc4 Tweak XTerm cursor settings 097ac07 Minor update to XTerm and Vim colours 0ec7afd Build Tempus themes for XTerm and Vim 5bbe693 Merge branch 'xtermSwitch' b3b5257 Minor corrections. Remove mate-terminal notes. 6a2afaf Merge branch 'modularSXHKD' c1d5d1c Remove temp file 0f61877 BREAKING CHANGES: Prepare switch to XTerm 230e8a0 Remove temp file 2825bab Update SXHKD modules 098c660 Tweak bspwm external rules 7549f63 MAJOR CHANGES: Review sxhkd and make it modular
  • v1.0.0-pdfd_beta4   Beta 4 of "Prot's Dots For Debian" (PDFD) This release contains minor refinements compared to beta 3. The most noticeable ones pertain to the review of the `melonpanel` code. Its mpd module has been removed. Its bspwm module has been simplified further. This is the complete list of commits: ~/dotfiles $ git log v1.0.0-pdfd_beta3..HEAD --oneline fc36ccb (HEAD -> master, origin/master, origin/HEAD) Update key chords' cheatsheet 4c2cccb Update vim listchars for less "noise". Minor spacing tweaks. 7b40d0f Code refinements to melonpanel 4328c02 BREAKING CHANGE: Remove mpd module from melonpanel a665831 Add bash alias for git add --patch e099a81 Tweak melonpanel's bspwm indicators ef92347 Minor corrections to melonpanel
  • v1.0.0-pdfd_beta3   v1.0.0-pdfd_beta3 Beta 3 of "Prot's Dots For Debian (PDFD)". First the log, then a short description of the main points. Commits since v1.0.0-pdfd_beta2 ------------------------------- ~/dotfiles $ git log v1.0.0-pdfd_beta2..HEAD --oneline e70d748 (HEAD -> master, origin/master, origin/HEAD) Minor refinements to the bspwm external rules 968a916 Further tweaks to tmux pane styles dc3406c Review tmux window and pane border styles 2f87567 MAJOR CHANGE: Simplify melonpanel bspwm module 49d20d9 Tweak tmux status line 2bd94a2 Update tmux key bindings 6d28ad1 Update compton config 3476313 Tweak bspwm border colours 73e8946 Fix typo in README 82d8ce7 Minor fix to bspwm_focus_mode af84a71 Add BSPWM focus mode 7f4a726 Add Compton toggle 860ca7f Remove ALL Vim folds 81605b6 BREAKING CHANGES: Simplify .vimrc b6409d0 Minor change to "date" module in melonpanel 2391c9c Simplify own_script_local_build_tempus_themes fa85c49 Update Tempus themes 9a26535 Refinements to melonpanel fonts f4882e2 Minor update to PTP 93b0734 PTP: new script to Print Tempus Palette 85ddef6 Tweak xrandr command for laptop colours c3c1c47 Minor refinements to melonpanel b229596 Minor code refinements bd61083 Minor correction 923e07b Rewrite dotsmenu script 08a8d1f Minor update to own_script_mate_setup da15d3c Set underline colour for keyboard layout module 129a555 Add TODO items for dotsmenu Noteworthy changes ------------------ 1. Add BSPWM "focus mode". This is a script that removes gaps, padding, and the panel from the viewport. The borders between nodes overlap, further reducing the visual clutter. Focus mode is assigned to this key chord chain: super + e ; f 2. Add a new script that toggles the display compositor (compton) on/off. This is particularly useful under resource-intensive scenarios, where disabling the compositor may be a good idea. The key chord chain is: super + e ; c. 3. Improved compton's config file. Now it has smoother transitions that eliminate, or at least reduce, choppiness. 4. Updated the tmux config. 1. Added key bindings for swapping windows with their adjacent one to the left or right (M-S-{Left,Right}). 2. Key bindings to split the entire window horizontally or vertically. This is different from the default behaviour than splits the active pane. Keys are <prefix> {S,V}. 3. Simplify the colours used in the status line. Rely more on typography to denote the active window. 4. Review and address some issues with the styles of the pane borders. Now navigation should be clearer, even when running in a TTY. 5. Redefine background elements to allow for transparency, if the underlying terminal provides as much. 5. Major changes to the Melonpanel, especially its BSPWM module. I already have a detailed description in this commit message: 2f8756716494b3dd247aa5118b6bd6cd07bc2582 6. Fix some critical errors in two items of the Tempus themes: Tempus Future and Tempus Warp. Now their "background dim" colour is set correctly. Overall, this is a minor adjustment whose underlying mechanics are more complex. For more on that, refer to the Tempus themes generator, specifically its CHANGELOG version 1.0.0.20190507. https://gitlab.com/protesilaos/tempus-themes-generator. 7. Add PTP, a script that prints a table with the active Tempus theme colours. The colour values are represented in their original hexadecimal notation.
  • v1.0.0-pdfd_beta2   Beta 2 of "Prot's Dots For Debian (PDFD)" ~/dotfiles $ git log v1.0.0-pdfd_beta1..HEAD --oneline d305a0c (HEAD -> master, origin/master, origin/HEAD) Remove Terminus from the terminal setup fcb0ef2 Review custom UI font c46406e Further refinements to melonpanel fonts/looks 096b256 Refinements to compton.conf e97571f Minor refinements to dunst config b15d0cc Refinements to melonpanel fonts ce4a4fc Stylistic update to neomutt config * * * PDFD is the book that guides users through the process of setting up my custom desktop session. It also provides information on the various aspects of my dotfiles. PDFD is meant to use the latest "fixed release" of my dotfiles, denoted by tags such as this one. The repo's contents are copied into a separate repository from where PDFD reads from. That repo is called "Code for PDFD (CPDFD)": https://gitlab.com/protesilaos/cpdfd PDFD only reads from CPDFD, which in turn only contains tagged releases of my dotfiles.
  • v1.0.0-pdfd_beta1   Beta 1 of "Prot's Dots For Debian (PDFD)" PDFD is the book that guides users through the process of setting up my custom desktop session. It also provides information on the various aspects of my dotfiles. PDFD is meant to use the latest "fixed release" of my dotfiles, denoted by tags such as this one. The repo's contents are copied into a separate repository from where PDFD reads from. That repo is called "Code for PDFD (CPDFD)": https://gitlab.com/protesilaos/cpdfd PDFD only reads from CPDFD, which in turn only contains tagged releases of my dotfiles.