[Org files] Formatted org files to look better with new org config

This commit is contained in:
Lucien Cartier-Tilet 2020-11-13 15:18:43 +01:00
parent e3880c48b1
commit 3a1015b9e7
Signed by: phundrak
GPG Key ID: BD7789E705CB8DCA
14 changed files with 5326 additions and 6531 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1794,7 +1794,6 @@ One of the amazing features of org-mode is its literary programming capacities b
| sass |
| scheme |
| shell |
| swift |
#+NAME: org-babel-languages-gen
#+BEGIN_SRC emacs-lisp :exports none :tangle no :var languages=org-babel-languages-table[,0] :cache yes :results replace
@ -1803,7 +1802,7 @@ One of the amazing features of org-mode is its literary programming capacities b
"\n")
#+END_SRC
#+RESULTS[d8ef67cfac36191c43e0f20b9c0a024cb1e9413e]: org-babel-languages-gen
#+RESULTS[cf8b81f0da6306f8131e34be6d3742248fdb057b]: org-babel-languages-gen
#+begin_example
(C . t)
(dot . t)
@ -1815,7 +1814,6 @@ One of the amazing features of org-mode is its literary programming capacities b
(sass . t)
(scheme . t)
(shell . t)
(swift . t)
#+end_example
The corresponding code is as follows:
@ -2604,7 +2602,6 @@ I also want to always be in ~visual-line-mode~ so Emacs soft-wraps lines that ar
I also want for some non-programming modes to enable a hard-limit in terms of how many characters can fit on one line. The modes that benefit are ~message-mode~, ~org-mode~, ~text-mode~ and ~markdown-mode~.
#+BEGIN_SRC emacs-lisp
(mapc (lambda (x)
(add-hook x 'auto-fill-mode)
(add-hook x 'visual-line-mode))
'(message-mode-hook
text-mode-hook
@ -3005,16 +3002,15 @@ I want to see by default how much battery my computer has, so lets enable it:
:END:
As I will always say, orgmode is an amazing piece of software that deserves particular care and love. That is why I want to give it a unique look and feel compared to the rest of my Emacs configuration, in order to make it feel much more comfortable.
In order to make org-mode even sexier, lets enable ~variable-pitch-mode~ for org-mode so we can get some proportional font:
In order to make org-mode even sexier, lets enable ~variable-pitch-mode~ for org-mode so we can get some proportional font. Ill also remove ~auto-fill-mode~ which seems to stick to Orgmode like hell and I dont know why.
#+BEGIN_SRC emacs-lisp
(add-hook 'org-mode-hook 'variable-pitch-mode)
(add-hook 'org-mode-hook 'visual-line-mode)
(message "coucou")
(remove-hook 'org-mode-hook 'auto-fill-mode)
#+END_SRC
Fonts will play an important part in this, but so will colors and font size. The following code is largely based on the one found [[https://zzamboni.org/post/beautifying-org-mode-in-emacs/][on this blog post]].
#+BEGIN_SRC emacs-lisp
(message "Setting up some beautiful org-mode")
(let* ((font `(:font "Charis SIL"))
(head `(:inherit default :weight bold))
(fixed `(:inherit fixed-pitch :height 0.8)))
@ -3044,7 +3040,6 @@ Fonts will play an important part in this, but so will colors and font size. The
`(org-link ((t (:foreground ,phundrak/nord8 :underline t))))
'(org-meta-line ((t (:inherit (font-lock-comment-face fixed-pitch) :height 0.8))))
'(org-special-keyword ((t (:inherit (font-lock-comment-face fixed-pitch)))))))
(message "Org-mode is now beautiful")
#+END_SRC
Finally, lets limit the width of images inlined in org buffers to 400px:

View File

@ -11,40 +11,32 @@
:PROPERTIES:
:CUSTOM_ID: Presentation-340195eb
:END:
The file present in =~/.config/fish/config.fish= is the configuration file for
the [[https://fishshell.com/][fish shell]]. It contains custom functions, environment variables and
abbreviations.
The file present in =~/.config/fish/config.fish= is the configuration file for the [[https://fishshell.com/][fish shell]]. It contains custom functions, environment variables and abbreviations.
Just in case, we might need sometimes to declare the fish function
=fish_title= as =true=, so lets do so.
#+BEGIN_SRC fish
Just in case, we might need sometimes to declare the fish function =fish_title= as =true=, so lets do so.
#+BEGIN_SRC fish
function fish_title
true
end
#+END_SRC
#+END_SRC
* Fish from within Emacs
:PROPERTIES:
:CUSTOM_ID: Fish_from_within_Emacs-360c0a74
:END:
I sometimes call fish from within emacs, with =M-x ansi-term=. In this case,
the variable =TERM= needs to have the value =eterm-color=.
#+BEGIN_SRC fish
I sometimes call fish from within emacs, with =M-x ansi-term=. In this case, the variable =TERM= needs to have the value =eterm-color=.
#+BEGIN_SRC fish
if test -n "$EMACS"
set -x TERM eterm-color
end
#+END_SRC
#+END_SRC
* Tramp remote access
:PROPERTIES:
:CUSTOM_ID: Tramp_remote_access-72aedec2
:END:
When accessing from a remote machine our computer from Emacs, tramp needs a
precise shell appearance: a simple =$= followed by a space after which to put
the commands it needs to execute, and nothing else. Due to this, lets
deactivate and redefine some of the functions defining the appearance of
fish.
#+BEGIN_SRC fish
When accessing from a remote machine our computer from Emacs, tramp needs a precise shell appearance: a simple =$= followed by a space after which to put the commands it needs to execute, and nothing else. Due to this, lets deactivate and redefine some of the functions defining the appearance of fish.
#+BEGIN_SRC fish
if test "$TERM" = "dumb"
function fish_prompt
echo "\$ "
@ -53,17 +45,14 @@
function fish_greeting; end
function fish_title; end
end
#+END_SRC
#+END_SRC
* Regular fish shell appearance
:PROPERTIES:
:CUSTOM_ID: Regular_fish_shell_appearance-c3e532e1
:END:
Now, there is only one function I modify when it comes to the appearance of
fish when Im the one using it: the ~fish_greeting~ function. I use it to give
me an overview of my computers status, including its hostname, uptime, disks
usage, ram usage, swap usage, and networking.
#+BEGIN_SRC fish
Now, there is only one function I modify when it comes to the appearance of fish when Im the one using it: the ~fish_greeting~ function. I use it to give me an overview of my computers status, including its hostname, uptime, disks usage, ram usage, swap usage, and networking.
#+BEGIN_SRC fish
set RED '\033[0;31m'
set GREEN '\033[0;32m'
set NC '\033[0m'
@ -129,536 +118,450 @@
printf "Swap....: %s %5dM / %5dM (%2d%%)\n" (display_slider $swap_used $swap_total) $swap_used $swap_total $swap_p
echo $ruler
end
#+END_SRC
#+END_SRC
* Global variables
:PROPERTIES:
:CUSTOM_ID: Global_variables-1c84df8b
:END:
In order to keep some other code clean, I set the ~$BROWSER~ variable so I
dont have to call my web browser directly but rather with this variable.
#+BEGIN_SRC fish
In order to keep some other code clean, I set the ~$BROWSER~ variable so I dont have to call my web browser directly but rather with this variable.
#+BEGIN_SRC fish
set -gx BROWSER firefox
#+END_SRC
#+END_SRC
Sometimes, software will rely on =SUDO_ASKPASS= to get a GUI from which it
can get the sudo password. So, lets declare it.
#+BEGIN_SRC fish
Sometimes, software will rely on =SUDO_ASKPASS= to get a GUI from which it can get the sudo password. So, lets declare it.
#+BEGIN_SRC fish
set -gx SUDO_ASKPASS ~/.local/bin/askpass
#+END_SRC
#+END_SRC
** Development
:PROPERTIES:
:CUSTOM_ID: Global_variables-Development-76b3ff13
:END:
Now, lets declare our editor of choice, EmacsClient; not Emacs itself since
it will most often be just quick edits, nothing too heavy, if it is called
from the ~EDITOR~ variable (from Git, for example), or from the ~VISUAL~
variable.
#+BEGIN_SRC fish
Now, lets declare our editor of choice, EmacsClient; not Emacs itself since it will most often be just quick edits, nothing too heavy, if it is called from the ~EDITOR~ variable (from Git, for example), or from the ~VISUAL~ variable.
#+BEGIN_SRC fish
set -gx EDITOR emacsclient -c
set -gx VISUAL emacsclient -c
#+END_SRC
#+END_SRC
We also need to set the path to the Dart SDK.
#+BEGIN_SRC fish
set -gx DART_SDK /opt/dart-sdk/bin
#+END_SRC
We also need to set the path to the Dart SDK.
#+BEGIN_SRC fish
set -gx DART_SDK /opt/dart-sdk/bin
#+END_SRC
And we also need to specify where the Android SDK it located.
#+BEGIN_SRC fish
set -gx ANDROID_HOME $HOME/Android/Sdk
#+END_SRC
And we also need to specify where the Android SDK it located.
#+BEGIN_SRC fish
set -gx ANDROID_HOME $HOME/Android/Sdk
#+END_SRC
Still related to Dart and Flutter development,
#+BEGIN_SRC fish
Still related to Dart and Flutter development,
#+BEGIN_SRC fish
set -gx CHROME_EXECUTABLE /usr/bin/chromium
#+END_SRC
#+END_SRC
Next, we have two variables from Deno, the Node.js destroyer. Its base
directory will be set in my XDG config directory, and its binaries will be
located in my local binaries directory (see below).
#+BEGIN_SRC fish
Next, we have two variables from Deno, the Node.js destroyer. Its base directory will be set in my XDG config directory, and its binaries will be located in my local binaries directory (see below).
#+BEGIN_SRC fish
set -gx DENO_DIR $HOME/.config/deno
set -gx DENO_INSTALL_ROOT $HOME/.local/bin/deno
#+END_SRC
#+END_SRC
Finally, some development packages require the =PKG_CONFIG_PATH= to be set,
so lets do so.
#+BEGIN_SRC fish
Finally, some development packages require the =PKG_CONFIG_PATH= to be set, so lets do so.
#+BEGIN_SRC fish
set -gx PKG_CONFIG_PATH /usr/local/lib/pkgconfig/ $PKG_CONFIG_PATH
#+END_SRC
#+END_SRC
** $PATH
** ~$PATH~
:PROPERTIES:
:CUSTOM_ID: Global_variables-$PATH-e1320303
:END:
Some global variables might sometimes be needed and need to be modified. This
is for example the case with my ~PATH~ variable in which I add Rusts Cargos
binaries, Gos binaries and my own executables. And of course, dont forget
to add the already existing ~PATH~.
Some global variables might sometimes be needed and need to be modified. This is for example the case with my ~PATH~ variable in which I add Rusts Cargos binaries, Gos binaries and my own executables. And of course, dont forget to add the already existing ~PATH~.
#+NAME: extra-paths
| additional path | what it leads to |
|---------------------------+--------------------------------------|
| $HOME/.pub-cache/bin | Dart binaries and executables |
| $HOME/.local/bin | Custom executables, see [[file:bin.org]] |
| $HOME/go/bin | Go binaries and executables |
| $HOME/.cargo/bin | Rust binaries and executables |
| $HOME/.gem/ruby/2.6.0/bin | Ruby binaries and executables |
| $HOME/.cabal/bin | Haskel binaries |
#+NAME: extra-paths
| additional path | what it leads to |
|---------------------------+--------------------------------------|
| $HOME/.pub-cache/bin | Dart binaries and executables |
| $HOME/.local/bin | Custom executables, see [[file:bin.org]] |
| $HOME/go/bin | Go binaries and executables |
| $HOME/.cargo/bin | Rust binaries and executables |
| $HOME/.gem/ruby/2.6.0/bin | Ruby binaries and executables |
| $HOME/.cabal/bin | Haskel binaries |
#+NAME: generate-extra-paths
#+BEGIN_SRC emacs-lisp :var paths=extra-paths[,0] :exports none :cache yes
#+NAME: generate-extra-paths
#+BEGIN_SRC emacs-lisp :var paths=extra-paths[,0] :exports none :cache yes
(mapconcat (lambda (x) x)
paths " ")
#+END_SRC
#+END_SRC
#+RESULTS[f1fff053cb9e2239f35571249763683a4a62e643]: generate-extra-paths
: $HOME/.pub-cache/bin $HOME/.local/bin $HOME/go/bin $HOME/.cargo/bin $HOME/.gem/ruby/2.6.0/bin $HOME/.cabal/bin
#+RESULTS[f1fff053cb9e2239f35571249763683a4a62e643]: generate-extra-paths
: $HOME/.pub-cache/bin $HOME/.local/bin $HOME/go/bin $HOME/.cargo/bin $HOME/.gem/ruby/2.6.0/bin $HOME/.cabal/bin
The code below ensures the ~PATH~ is updated only at login, and every
location is addded only once.
#+BEGIN_SRC fish :noweb yes
The code below ensures the ~PATH~ is updated only at login, and every location is addded only once.
#+BEGIN_SRC fish :noweb yes
for p in <<generate-extra-paths()>>
if status is-login
contains $p $PATH || set PATH $p $PATH
end
end
#+END_SRC
#+END_SRC
* Abbreviations
:PROPERTIES:
:CUSTOM_ID: Abbreviations-97537716
:END:
#+NAME: generate-abbr
#+BEGIN_SRC emacs-lisp :var table=[] :exports none :tangle no
#+NAME: generate-abbr
#+BEGIN_SRC emacs-lisp :var table=[] :exports none :tangle no
(replace-regexp-in-string "\\\\vert[{}]*"
"|"
(mapconcat (lambda (x) (format "abbr %s '%s'" (car x) (cadr x)))
table
"\n")
t t)
#+END_SRC
#+END_SRC
** System monitoring
:PROPERTIES:
:CUSTOM_ID: Abbreviations-System_monitoring-bd909755
:END:
Here I have some abbreviations which are quite useful when performing some
system monitoring. With =df=, we can get an overview of our filesystem usage,
while with =diskspace= we get some more precise information. =meminfo= is a
call to =free= with sane defaults, and similar to =meminfo=, we also have
=gpumeminfo= so we can get a quick look at the memory-related logs of our X
session. I also declared =cpuinfo= an alias of =lscpu= in order to keep
consistent with =meminfo=. =pscpu= gives us information on what the CPU is
running right now, and =pscpu10= limits that to the top 10 threads.
Similarly, =psmem= gives us information on the memory usage of the current
threads, and =psmem10= only the ten most important threads in terms of memory
usage.
#+NAME: mgmt-abbr
| abbreviation | command |
|--------------+---------------------------------------------------|
| df | df -H |
| diskspace | sudo df -h \vert grep -E "sd\vert{}lv\vert{}Size" |
| du | du -ch |
| meminfo | free -m -l -t |
| gpumeminfo | grep -i --color memory /var/log/Xorg.0.log |
| cpuinfo | lscpu |
| pscpu | ps auxf \vert sort -nr -k 3 |
| pscpu10 | ps auxf \vert sort -nr -k 3 \vert head -10 |
| psmem | ps auxf \vert sort -nr -k 4 |
| psmem10 | ps auxf \vert sort -nr -k 4 \vert head -10 |
Here I have some abbreviations which are quite useful when performing some system monitoring. With =df=, we can get an overview of our filesystem usage, while with =diskspace= we get some more precise information. =meminfo= is a call to =free= with sane defaults, and similar to =meminfo=, we also have =gpumeminfo= so we can get a quick look at the memory-related logs of our X session. I also declared =cpuinfo= an alias of =lscpu= in order to keep consistent with =meminfo=. =pscpu= gives us information on what the CPU is running right now, and =pscpu10= limits that to the top 10 threads. Similarly, =psmem= gives us information on the memory usage of the current threads, and =psmem10= only the ten most important threads in terms of memory usage.
#+NAME: mgmt-abbr
| abbreviation | command |
|--------------+---------------------------------------------------|
| df | df -H |
| diskspace | sudo df -h \vert grep -E "sd\vert{}lv\vert{}Size" |
| du | du -ch |
| meminfo | free -m -l -t |
| gpumeminfo | grep -i --color memory /var/log/Xorg.0.log |
| cpuinfo | lscpu |
| pscpu | ps auxf \vert sort -nr -k 3 |
| pscpu10 | ps auxf \vert sort -nr -k 3 \vert head -10 |
| psmem | ps auxf \vert sort -nr -k 4 |
| psmem10 | ps auxf \vert sort -nr -k 4 \vert head -10 |
#+begin_SRC fish
#+begin_SRC fish
<<generate-abbr(table=mgmt-abbr)>>
#+END_SRC
#+END_SRC
** System management (packages and services)
:PROPERTIES:
:CUSTOM_ID: Abbreviations-System_management_(packages_and_services)-7249fbb7
:END:
I added some of these abbreviations due to how often I have to write the
whole thing.
I added some of these abbreviations due to how often I have to write the whole thing.
*** Package management
:PROPERTIES:
:CUSTOM_ID: Abbreviations-System_management_(packages_and_services)-Package_management-efbcdf0f
:END:
The first command is =remove= which removes a package from my system, as
well as its dependencies no longer needed. =p=. =pacman='s or =yay='s. This
is why I simply type =purge=. And if I want to simply seach among the
=pacman= repos, I can type =search=. Otherwise, if I want to include AUR
results, Ill use =yay=.
The first command is =remove= which removes a package from my system, as well as its dependencies no longer needed. =p=. =pacman='s or =yay='s. This is why I simply type =purge=. And if I want to simply seach among the =pacman= repos, I can type =search=. Otherwise, if I want to include AUR results, Ill use =yay=.
#+NAME: pm-abbr
| abbreviation | command |
|--------------+--------------------|
| remove | sudo pacman -Rscnd |
| p | sudo pacman |
| purge | yay -Sc |
| search | yay -Ss |
#+NAME: pm-abbr
| abbreviation | command |
|--------------+--------------------|
| remove | sudo pacman -Rscnd |
| p | sudo pacman |
| purge | yay -Sc |
| search | yay -Ss |
#+BEGIN_SRC fish
#+BEGIN_SRC fish
<<generate-abbr(table=pm-abbr)>>
#+END_SRC
#+END_SRC
*** Service management
:PROPERTIES:
:CUSTOM_ID: Abbreviations-System_management_(packages_and_services)-Service_management-8c5ae482
:END:
I dont have the muscle memory of =systemctl=. So instead, I simply type
=c= when I want to do something user service related.
And if I want to manipulate system services, I can instead type a simple
capital =S=.
#+NAME: service-abbr
| abbreviation | command |
|--------------+-----------|
| s | systemctl |
I dont have the muscle memory of =systemctl=. So instead, I simply type =c= when I want to do something user service related. And if I want to manipulate system services, I can instead type a simple capital =S=.
#+NAME: service-abbr
| abbreviation | command |
|--------------+-----------|
| s | systemctl |
#+BEGIN_SRC fish
#+BEGIN_SRC fish
<<generate-abbr(table=service-abbr)>>
#+END_SRC
#+END_SRC
** Development
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Development-d6050ca4
:END:
A good amount of these commands are development related, especially when it
comes to compilation or Docker.
A good amount of these commands are development related, especially when it comes to compilation or Docker.
*** CMake
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Development-CMake-f2951675
:END:
I have the following abbreviations so I can quickly run CMake and create a
configuration for debug or release profiles.
#+NAME: abbr-cmake
| abbreviation | command |
|--------------+----------------------------------|
| cdebug | cmake -DCMAKE_BUILD_TYPE=Debug |
| crelease | cmake -DCMAKE_BUILD_TYPE=Release |
I have the following abbreviations so I can quickly run CMake and create a configuration for debug or release profiles.
#+NAME: abbr-cmake
| abbreviation | command |
|--------------+----------------------------------|
| cdebug | cmake -DCMAKE_BUILD_TYPE=Debug |
| crelease | cmake -DCMAKE_BUILD_TYPE=Release |
Here is the corresponding fish configuration:
#+BEGIN_SRC fish
Here is the corresponding fish configuration:
#+BEGIN_SRC fish
<<generate-abbr(table=abbr-cmake)>>
#+END_SRC
#+END_SRC
*** Docker
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Development-Docker-2d0a1288
:END:
And of course, when it comes to Docker Compose, I don't have time to write
the full command, so I use these instead.
#+NAME: abbr-docker
| abbreviation | command |
|--------------+------------------------------|
| dc | docker-compose |
| dcb | docker-compose build |
| dcd | docker-compose down |
| dcl | docker-compose logs |
| dcp | docker-compose pull |
| dcr | docker-compose run --rm |
| dcu | docker-compose up |
| dcub | docker-compose up --build |
| dcud | docker-compose up -d |
| dcudb | docker-compose up -d --build |
And of course, when it comes to Docker Compose, I don't have time to write the full command, so I use these instead.
#+NAME: abbr-docker
| abbreviation | command |
|--------------+------------------------------|
| dc | docker-compose |
| dcb | docker-compose build |
| dcd | docker-compose down |
| dcl | docker-compose logs |
| dcp | docker-compose pull |
| dcr | docker-compose run --rm |
| dcu | docker-compose up |
| dcub | docker-compose up --build |
| dcud | docker-compose up -d |
| dcudb | docker-compose up -d --build |
Here is the corresponding fish configuration:
#+BEGIN_SRC fish
Here is the corresponding fish configuration:
#+BEGIN_SRC fish
<<generate-abbr(table=abbr-docker)>>
#+END_SRC
#+END_SRC
*** Text editors
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Development-Text_editors-5a23df47
:END:
I greatly prefer to use Emacsclient as my main text editor; Emacs has
basically all I need. So, it's only normal I have an abbreviation to launch
a new instance of it. However, in a graphical environment, this will launch
a new graphical window of Emacs. To launch a terminal instance, I'll use
~enw~ (~nw~ stands for the option “nowindow” ~-nw~ of Emacs). I also wish to
completely stop using other text editors, such as ~vi~, ~vim~, ~nano~ and
~ed~, so let's all add their command as an abbreviation for Emacs.
I greatly prefer to use Emacsclient as my main text editor; Emacs has basically all I need. So, it's only normal I have an abbreviation to launch a new instance of it. However, in a graphical environment, this will launch a new graphical window of Emacs. To launch a terminal instance, I'll use ~enw~ (~nw~ stands for the option “nowindow” ~-nw~ of Emacs). I also wish to completely stop using other text editors, such as ~vi~, ~vim~, ~nano~ and ~ed~, so let's all add their command as an abbreviation for Emacs.
#+NAME: abbr-text-ed
| abbreviation | command |
|--------------+--------------------|
| e | emacsclient -c |
| enw | emacsclient -c -nw |
| vi | emacsclient -c |
| vim | emacsclient -c |
| nano | emacsclient -c |
| ed | emacsclient -c |
#+NAME: abbr-text-ed
| abbreviation | command |
|--------------+--------------------|
| e | emacsclient -c |
| enw | emacsclient -c -nw |
| vi | emacsclient -c |
| vim | emacsclient -c |
| nano | emacsclient -c |
| ed | emacsclient -c |
Here is the corresponding fish configuration:
#+BEGIN_SRC fish :noweb yes
Here is the corresponding fish configuration:
#+BEGIN_SRC fish :noweb yes
<<generate-abbr(table=abbr-text-ed)>>
#+END_SRC
#+END_SRC
*** Compilation
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Development-Compilation-dd066050
:END:
By default, I set ~clang~, ~clang++~, ~gcc~ and ~g++~ to the latest
standard and with the ~-Wall~ flag activated.
#+NAME: abbr-comp
| abbreviation | command |
|--------------+----------------------|
| clang | clang -Wall |
| clang++ | clang++ -Wall |
| g++ | g++ -Wall -std=c++20 |
| gcc | gcc -Wall -std=c18 |
By default, I set ~clang~, ~clang++~, ~gcc~ and ~g++~ to the latest standard and with the ~-Wall~ flag activated.
#+NAME: abbr-comp
| abbreviation | command |
|--------------+----------------------|
| clang | clang -Wall |
| clang++ | clang++ -Wall |
| g++ | g++ -Wall -std=c++20 |
| gcc | gcc -Wall -std=c18 |
Here is the corresponding fish configuration:
#+BEGIN_SRC fish
Here is the corresponding fish configuration:
#+BEGIN_SRC fish
<<generate-abbr(table=abbr-comp)>>
#+END_SRC
#+END_SRC
*** Git
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Development-Git-5e5055c1
:END:
And let's face it: we all at one point just wanted to commit our code
without thinking about the message, to just get over with it. Don't worry,
I got you covered.
#+NAME: abbr-git
| abbreviation | command |
|--------------+-----------------------------------------------------|
| randcommit | git commit -m (curl -s whatthecommit.com/index.txt) |
And let's face it: we all at one point just wanted to commit our code without thinking about the message, to just get over with it. Don't worry, I got you covered.
#+NAME: abbr-git
| abbreviation | command |
|--------------+-----------------------------------------------------|
| randcommit | git commit -m (curl -s whatthecommit.com/index.txt) |
Here is the corresponding fish configuration:
#+BEGIN_SRC fish
Here is the corresponding fish configuration:
#+BEGIN_SRC fish
<<generate-abbr(table=abbr-git)>>
#+END_SRC
#+END_SRC
** LaTeX
:PROPERTIES:
:CUSTOM_ID: Abbreviations-LaTeX-76865eb9
:END:
Yes, although I use org-mode, I still have some use for LaTeX, especially
when it comes to PDF exports of my org files. Hence why I use the LaTeX
package manager. It is recommended to use ~tllocalmgr~ instead of ~tlmgr~,
but I can never remember the command, and the latter is faster to type, so
time for an abbreviation. Same goes for ~texhash~ which must be run as sudo.
#+NAME: latex-abbr
| abbreviation | command |
|--------------+--------------|
| tlmgr | tllocalmgr |
| texhash | sudo texhash |
Yes, although I use org-mode, I still have some use for LaTeX, especially when it comes to PDF exports of my org files. Hence why I use the LaTeX package manager. It is recommended to use ~tllocalmgr~ instead of ~tlmgr~, but I can never remember the command, and the latter is faster to type, so time for an abbreviation. Same goes for ~texhash~ which must be run as sudo.
#+NAME: latex-abbr
| abbreviation | command |
|--------------+--------------|
| tlmgr | tllocalmgr |
| texhash | sudo texhash |
Here is the corresponding fish configuration:
#+BEGIN_SRC fish
Here is the corresponding fish configuration:
#+BEGIN_SRC fish
<<generate-abbr(table=latex-abbr)>>
#+END_SRC
#+END_SRC
** Some security measures
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Some_security_measures-489cb521
:END:
Some commands can be quite dangerous when not used properly, which is why I
added default flags and options so I can get warnings before things get ugly.
The =-i= and =-I= add prompts in case we might not want to do what we asked
the shell to do. Notice =lns= which creates symlinks, =rmd= which removes
directories, =rmf= which forces deletion, and =rmdf= which forces the
delition of a directory. Notice also the =--preserve-root= which will prevent
me from accidentally removing the root folder. I added the same option to
=chgrp=, =chmod=, and =chown=.
#+NAME: sec-abbr
| abbreviation | command |
|--------------+--------------------------|
| cp | cp -i |
| ln | ln -i |
| lns | ln -si |
| mv | mv -i |
| rm | rm -Iv |
| rmd | rm --preserve-root -Irv |
| rmdf | rm --preserve-root -Irfv |
| rmf | rm --preserve-root -Ifv |
| chgrp | chgrp --preserve-root -v |
| chmod | chmod --preserve-root -v |
| chown | chown --preserve-root -v |
Some commands can be quite dangerous when not used properly, which is why I added default flags and options so I can get warnings before things get ugly. The =-i= and =-I= add prompts in case we might not want to do what we asked the shell to do. Notice =lns= which creates symlinks, =rmd= which removes directories, =rmf= which forces deletion, and =rmdf= which forces the delition of a directory. Notice also the =--preserve-root= which will prevent me from accidentally removing the root folder. I added the same option to =chgrp=, =chmod=, and =chown=.
#+NAME: sec-abbr
| abbreviation | command |
|--------------+--------------------------|
| cp | cp -i |
| ln | ln -i |
| lns | ln -si |
| mv | mv -i |
| rm | rm -Iv |
| rmd | rm --preserve-root -Irv |
| rmdf | rm --preserve-root -Irfv |
| rmf | rm --preserve-root -Ifv |
| chgrp | chgrp --preserve-root -v |
| chmod | chmod --preserve-root -v |
| chown | chown --preserve-root -v |
Here is the corresponding fish configuration:
#+BEGIN_SRC fish
Here is the corresponding fish configuration:
#+BEGIN_SRC fish
<<generate-abbr(table=sec-abbr)>>
#+END_SRC
#+END_SRC
** Typos
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Typos-370bbb27
:END:
Let's admit it, we all make typos from time to time in the shell, and some
are recurrent enough we make abbreviations or aliases of the correct command.
Well, I have some of my abbreviations which were make exactly because of
this. Sometimes for some reasons, my brain makes me write ~clean~ instead of
~clear~. So, let's just replace the former by the latter. I'm also very bad
at typing ~exit~. And sometimes I suck at typing ~htop~. ~q~ isn't a typo per
se, instead just a habit I have.
#+NAME: typo-abbr
| abbreviation | command |
|--------------+---------|
| clean | clear |
| exi | exit |
| exti | exit |
| q | exit |
| hotp | htop |
Let's admit it, we all make typos from time to time in the shell, and some are recurrent enough we make abbreviations or aliases of the correct command. Well, I have some of my abbreviations which were make exactly because of this. Sometimes for some reasons, my brain makes me write ~clean~ instead of ~clear~. So, let's just replace the former by the latter. I'm also very bad at typing ~exit~. And sometimes I suck at typing ~htop~. ~q~ isn't a typo per se, instead just a habit I have.
#+NAME: typo-abbr
| abbreviation | command |
|--------------+---------|
| clean | clear |
| exi | exit |
| exti | exit |
| q | exit |
| hotp | htop |
Here is the corresponding fish configuration:
#+BEGIN_SRC fish
Here is the corresponding fish configuration:
#+BEGIN_SRC fish
<<generate-abbr(table=typo-abbr)>>
#+END_SRC
#+END_SRC
** Misc
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Misc-c2631eb6
:END:
Finally, some miscellaneous abbreviations that don't really fit into any of
the above categories.
Finally, some miscellaneous abbreviations that don't really fit into any of the above categories.
*** Media
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Misc-Media-e4b85d56
:END:
Here you will find various commands related to media in general. the first
one is a command to play some chillhop from the [[https://www.youtube.com/user/Chillhopdotcom][Chillhop YouTube channel]]'s
livestream.
#+BEGIN_SRC fish
Here you will find various commands related to media in general. the first one is a command to play some chillhop from the [[https://www.youtube.com/user/Chillhopdotcom][Chillhop YouTube channel]]'s livestream.
#+BEGIN_SRC fish
abbr chill 'mpv --force-window=no --no-video "https://www.youtube.com/user/Chillhopdotcom/live" &'
#+END_SRC
#+END_SRC
When it comes to mpv, I do not want to force it to open a graphical window
if for example I want to listen to an audio file. I also do not want any
border on that window. So, I declared this abbreviation.
#+BEGIN_SRC fish
When it comes to mpv, I do not want to force it to open a graphical window if for example I want to listen to an audio file. I also do not want any border on that window. So, I declared this abbreviation.
#+BEGIN_SRC fish
abbr mpv 'mpv --no-border --force-window=no'
#+END_SRC
#+END_SRC
When I want to download a song from YouTube, I'll just use the command ~flac
videoIdentifier~ to get it through ~youtube-dl~.
#+BEGIN_SRC fish
When I want to download a song from YouTube, I'll just use the command ~flac videoIdentifier~ to get it through ~youtube-dl~.
#+BEGIN_SRC fish
abbr flac 'youtube-dl -x --audio-format flac --audio-quality 0 -o "~/Music/%(uploader)s/%(title)s.%(ext)s"'
#+END_SRC
#+END_SRC
I download a LOT of videos from YouTube, generally educative videos that I
do not want to lose to YouTube one day who will decide that such channel is
unworthy of their platform, or if the original author decides to delete
their videos or whatever. So, I use the abbreviation ~ytdl~ to download
either one video, or a whole YouTube channel.
#+BEGIN_SRC fish
I download a LOT of videos from YouTube, generally educative videos that I do not want to lose to YouTube one day who will decide that such channel is unworthy of their platform, or if the original author decides to delete their videos or whatever. So, I use the abbreviation ~ytdl~ to download either one video, or a whole YouTube channel.
#+BEGIN_SRC fish
abbr ytdl 'youtube-dl -f best -ciw -o "~/Videos/YouTube/%(uploader)s/%(upload_date)s - %(title)s.%(ext)s"'
#+END_SRC
#+END_SRC
Some sane default options for ~sxiv~, a simple X image Viewer. This includes
playing GIFs and not displaying the filename below. Sxiv will also open in
fullscreen and will fit the displayed image to the frame. I also abbreviated
~feh~ to sxiv, old habits die hard.
#+BEGIN_SRC fish
Some sane default options for ~sxiv~, a simple X image Viewer. This includes playing GIFs and not displaying the filename below. Sxiv will also open in fullscreen and will fit the displayed image to the frame. I also abbreviated ~feh~ to sxiv, old habits die hard.
#+BEGIN_SRC fish
abbr sxiv 'sxiv -abfs f'
abbr feh 'sxiv -abfs f'
#+END_SRC
#+END_SRC
Finally, let's declare the following abbreviation that will launch an mpv
instance displaying my webcam:
#+BEGIN_SRC fish
Finally, let's declare the following abbreviation that will launch an mpv instance displaying my webcam:
#+BEGIN_SRC fish
abbr webcam 'mpv --demuxer-lavf-format=video4linux2 --demuxer-lavf-o-set=input_format=mjpeg av://v4l2:/dev/video0'
#+END_SRC
#+END_SRC
*** Sudo
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Misc-Sudo-aef0214a
:END:
First, I make it so that ~sudo~ comes with the ~-A~ switch in order to call
my custom graphical script for getting my password (see [[file:bin.org::#Askpass-d0d7a8c0][askpass]]). I also
made it so ~please~ is an equivalent to ~sudo -A~ as a joke.
#+BEGIN_SRC fish
First, I make it so that ~sudo~ comes with the ~-A~ switch in order to call my custom graphical script for getting my password (see [[file:bin.org::#Askpass-d0d7a8c0][askpass]]). I also made it so ~please~ is an equivalent to ~sudo -A~ as a joke.
#+BEGIN_SRC fish
abbr please 'sudo -A'
#+END_SRC
#+END_SRC
*** History
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Misc-History-a2124b23
:END:
I also find it more intuitive and faster to just write ~hist~ instead of
~history~, so let's declare that.
#+BEGIN_SRC fish
I also find it more intuitive and faster to just write ~hist~ instead of ~history~, so let's declare that.
#+BEGIN_SRC fish
abbr hist history
#+END_SRC
#+END_SRC
*** Compression
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Misc-Compression-4fd4ffef
:END:
It seems it's just like many other people, but I cannot for the life of me
remember the syntax of ~tar~. So, I made the following abbreviations, and
one day hopefully, after seeing the abbreviations' expansion over and over
I'll remember the command like I did for the abbreviation of ~remove~ (see
[[#Abbreviations-System_management_(packages_and_services)-Package_management-efbcdf0f][Package management]]).
#+NAME: tar-abbr
| abbreviation | command |
|--------------+-----------|
| compress | tar -czf |
| untar | tar -xvzf |
It seems it's just like many other people, but I cannot for the life of me remember the syntax of ~tar~. So, I made the following abbreviations, and one day hopefully, after seeing the abbreviations' expansion over and over I'll remember the command like I did for the abbreviation of ~remove~ (see [[#Abbreviations-System_management_(packages_and_services)-Package_management-efbcdf0f][Package management]]).
#+NAME: tar-abbr
| abbreviation | command |
|--------------+-----------|
| compress | tar -czf |
| untar | tar -xvzf |
#+BEGIN_SRC fish
#+BEGIN_SRC fish
<<generate-abbr(table=tar-abbr)>>
#+END_SRC
#+END_SRC
*** exa
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Misc-exa-e1b528b9
:END:
#+NAME: exa-abbr
| abbreviation | command |
|--------------+--------------------------------------------|
| exa | exa -halg@ --group-directories-first --git |
| ls | exa -halg@ --group-directories-first --git |
| lsl | exa -halg@ --group-directories-first --git |
#+NAME: exa-abbr
| abbreviation | command |
|--------------+--------------------------------------------|
| exa | exa -halg@ --group-directories-first --git |
| ls | exa -halg@ --group-directories-first --git |
| lsl | exa -halg@ --group-directories-first --git |
#+BEGIN_SRC fish
#+BEGIN_SRC fish
<<generate-abbr(table=exa-abbr)>>
#+END_SRC
#+END_SRC
*** Network Management
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Misc-Network_Management-0b7fc91d
:END:
First, we have just =nmcli= with sane default options, that is a pretty output
with colors.
#+BEGIN_SRC fish
First, we have just =nmcli= with sane default options, that is a pretty output with colors.
#+BEGIN_SRC fish
abbr nmcli 'nmcli -p -c auto'
#+END_SRC
#+END_SRC
*** NordVPN
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Misc-NordVPN-09438638
:END:
Next, we have some NordVPN-related shortcuts. The first one is a simple
abbreviation to =nordvpn=. The second one is a shortcut to connect to a
server, and to disconnect from the current server. I also have a couple of
shortcuts to quickly connect to some preselected countries, mainly France,
Germany, Japan and the US.
#+NAME: nordvpn-abbr
| abbreviation | command |
|--------------+-------------------------|
| n | nordvpn |
| nc | nordvpn c |
| nd | nordvpn d |
| ncf | nordvpn c France |
| ncg | nordvpn c Germany |
| ncj | nordvpn c Japan |
| ncu | nordvpn c United_States |
Next, we have some NordVPN-related shortcuts. The first one is a simple abbreviation to =nordvpn=. The second one is a shortcut to connect to a server, and to disconnect from the current server. I also have a couple of shortcuts to quickly connect to some preselected countries, mainly France, Germany, Japan and the US.
#+NAME: nordvpn-abbr
| abbreviation | command |
|--------------+-------------------------|
| n | nordvpn |
| nc | nordvpn c |
| nd | nordvpn d |
| ncf | nordvpn c France |
| ncg | nordvpn c Germany |
| ncj | nordvpn c Japan |
| ncu | nordvpn c United_States |
#+BEGIN_SRC fish
#+BEGIN_SRC fish
<<generate-abbr(table=nordvpn-abbr)>>
#+END_SRC
#+END_SRC
*** Wget
:PROPERTIES:
:CUSTOM_ID: Abbreviations-Misc-Wget-27f4bebf
:END:
By default, continue a download that was interupted.
#+BEGIN_SRC fish
By default, continue a download that was interupted.
#+BEGIN_SRC fish
abbr wget 'wget -c'
#+END_SRC
#+END_SRC

File diff suppressed because it is too large Load Diff

View File

@ -9,69 +9,51 @@
:PROPERTIES:
:CUSTOM_ID: Presentation-981f2f04
:END:
This is my collection of dotfiles for my daily GNU/Linux environment, tweaked
to my liking. If you wish to get the same setup as mine, follow the
instructions below.
This is my collection of dotfiles for my daily GNU/Linux environment, tweaked to my liking. If you wish to get the same setup as mine, follow the instructions below.
For starters, here is the link to all the pages on my website that you might
find interesting. Ill describe them in more details below.
- [[file:installation.org][Arch Linux bootstrap script]]
- [[file:awesome.org][AwesomeWM configuration]]
- [[file:bin.org][Custom scripts]]
- [[file:spacemacs.org][Emacs (Spacemacs) configuration]]
- [[file:fish.org][Fish shell configuration]]
- [[file:i3.org][i3 configuration]] (deprecated)
- [[file:nano.org][Nano configuration]] (deprecated)
- [[file:ncmpcpp.org][ncmpcpp configuration]] (work in progress)
- [[file:neofetch.org][Neofetch configuration]]
- [[file:picom.org][Picom configuration]] (new fork of Compton)
- [[file:polybar.org][Polybar configuration]] (deprecated)
- [[file:rustfmt.org][Rustfmt configuration]]
- [[file:tmux.org][Tmux configuration]]
For starters, here is the link to all the pages on my website that you might find interesting. Ill describe them in more details below.
- [[file:installation.org][Arch Linux bootstrap script]]
- [[file:awesome.org][AwesomeWM configuration]]
- [[file:bin.org][Custom scripts]]
- [[file:spacemacs.org][Emacs (Spacemacs) configuration]]
- [[file:fish.org][Fish shell configuration]]
- [[file:i3.org][i3 configuration]] (deprecated)
- [[file:nano.org][Nano configuration]] (deprecated)
- [[file:ncmpcpp.org][ncmpcpp configuration]] (work in progress)
- [[file:neofetch.org][Neofetch configuration]]
- [[file:picom.org][Picom configuration]] (new fork of Compton)
- [[file:polybar.org][Polybar configuration]] (deprecated)
- [[file:rustfmt.org][Rustfmt configuration]]
- [[file:tmux.org][Tmux configuration]]
As you can see, I personally use [[https://fishshell.com/][fish]] as my shell of choice, and [[https://www.gnu.org/software/emacs/][Emacs]] 28.0
(using the ~native-comp~ branch) using [[http://spacemacs.org][Spacemacs]] (still with Emacs keybinding
in Insert mode but with Evil in Normal mode) as my main text editor.
As you can see, I personally use [[https://fishshell.com/][fish]] as my shell of choice, and [[https://www.gnu.org/software/emacs/][Emacs]] 28.0 (using the ~native-comp~ branch) using [[http://spacemacs.org][Spacemacs]] (still with Emacs keybinding in Insert mode but with Evil in Normal mode) as my main text editor.
When it comes to my graphical UI, I do not have any desktop environment.
Instead, I have a tiling window manager, AwesomeWM. The historical first on my
configuration is [[https://github.com/Airblader/i3][i3-gaps]], an [[https://i3wm.org/][i3]] fork by [[https://github.com/Airblader/i3][Airblader]] with which I use two bars
generated by [[https://polybar.github.io/][Polybar]]. It used [[https://github.com/dylanaraps/pywal][pywal]] to define their color scheme, as well as
[[https://github.com/davatorium/rofi][rofi]]s color scheme. My other TWM and the one I currently use is [[https://awesomewm.org/][AwesomeWM]].
When it comes to my graphical UI, I do not have any desktop environment. Instead, I have a tiling window manager, AwesomeWM. The historical first on my configuration is [[https://github.com/Airblader/i3][i3-gaps]], an [[https://i3wm.org/][i3]] fork by [[https://github.com/Airblader/i3][Airblader]] with which I use two bars generated by [[https://polybar.github.io/][Polybar]]. It used [[https://github.com/dylanaraps/pywal][pywal]] to define their color scheme, as well as [[https://github.com/davatorium/rofi][rofi]]s color scheme. My other TWM and the one I currently use is [[https://awesomewm.org/][AwesomeWM]].
Finally, you can find my configuration for my ErgodoxEZ keyboard [[https://configure.ergodox-ez.com/ergodox-ez/layouts/5WrVw/latest/0][here]]. It is
optimized for usage with the Bépo layout set as a software layout, and for
shortcuts from i3.
Finally, you can find my configuration for my ErgodoxEZ keyboard [[https://configure.ergodox-ez.com/ergodox-ez/layouts/5WrVw/latest/0][here]]. It is optimized for usage with the Bépo layout set as a software layout, and for shortcuts from i3.
* Screenshots
:PROPERTIES:
:CUSTOM_ID: Screenshots-51f1cef3
:END:
#+CAPTION: Desktop with Neofetch in the terminal
[[./img/neofetch.png.webp]]
#+CAPTION: Desktop with Neofetch in the terminal
[[./img/neofetch.png.webp]]
#+CAPTION: Desktop with Emacs opened
[[./img/emacs.png.webp]]
#+CAPTION: Desktop with Emacs opened
[[./img/emacs.png.webp]]
#+CAPTION: Desktop with Rofi
[[./img/rofi.png.webp]]
#+CAPTION: Desktop with Rofi
[[./img/rofi.png.webp]]
* Features
:PROPERTIES:
:CUSTOM_ID: Features-5ab2a2c0
:END:
- Emacs configuration perfectly tailored for my own use
- Beautiful and comfy i3 and polybar configuration
- And enough information below to get basically the same distro install as I
have on my main computer and my travel laptop.
- Emacs configuration perfectly tailored for my own use
- Beautiful and comfy i3 and polybar configuration
- And enough information below to get basically the same distro install as I have on my main computer and my travel laptop.
Most of the org files you will find in this repos are the actual source code
of much of my config files. For instance, the bootstrap found in
[[file:installation.org][installation.org]] exports almost all of its code snippets to
[[file:.config/yadm/bootstrap][.config/yadm/bootstrap]] thanks to =M-x org-babel-tangle= from within Emacs.
Below I will also present and comment some of my short config files which do
not deserve to have a full org file dedicated to them.
Most of the org files you will find in this repos are the actual source code of much of my config files. For instance, the bootstrap found in [[file:installation.org][installation.org]] exports almost all of its code snippets to [[file:.config/yadm/bootstrap][.config/yadm/bootstrap]] thanks to =M-x org-babel-tangle= from within Emacs. Below I will also present and comment some of my short config files which do not deserve to have a full org file dedicated to them.
** Tiling Window Managers
:PROPERTIES:
@ -81,25 +63,19 @@
:PROPERTIES:
:CUSTOM_ID: Features-Tiling_Window_Managers-AwesomeWM-2eac61a9
:END:
AwesomeWM is the TWM I use the most on my computer between itself and i3. My
configuration for it is documented in detail in its corresponding document,
which you can find [[file:awesome.org][here]].
AwesomeWM is the TWM I use the most on my computer between itself and i3. My configuration for it is documented in detail in its corresponding document, which you can find [[file:awesome.org][here]].
*** i3 configuration (Deprecated)
:PROPERTIES:
:CUSTOM_ID: Features-Tiling_Window_Managers-i3_configuration-9c92e43c
:END:
The i3 configuration is detailed in its corresponding README which you can
find [[file:i3.org][here]]. Be aware I do not use i3 anymore, and I will not update it until
I may someday use it again. This was deprecated on August 22nd, 2020.
The i3 configuration is detailed in its corresponding README which you can find [[file:i3.org][here]]. Be aware I do not use i3 anymore, and I will not update it until I may someday use it again. This was deprecated on August 22nd, 2020.
** Polybar config (Deprecated)
:PROPERTIES:
:CUSTOM_ID: Features-Polybar_config_(Deprecated)-c8f95774
:END:
My annotated polybar config can be found [[file:polybar.org][here]], if you wish to use it. Be
aware I do not use polybar anymore, and I will not update it until I may
someday use it again. This was deprecated on August 22nd, 2020.
My annotated polybar config can be found [[file:polybar.org][here]], if you wish to use it. Be aware I do not use polybar anymore, and I will not update it until I may someday use it again. This was deprecated on August 22nd, 2020.
** Graphical tweaks
:PROPERTIES:
@ -118,167 +94,151 @@
:HEADER-ARGS: :mkdirp yes :tangle ~/.gtkrc-2.0
:CUSTOM_ID: Features-Graphical_tweaks-GTK_Settings-GTK2-General_configuration-eb1f1f3c
:END:
This file is tangled at ~$HOME/.gtkrc-2.0~. This is an equivalent for the
GTK3 configuration file you will see below, and it shares most of its
settings. First, lets select the Nordic theme for GTK2. Lets also set
the icon theme.
#+BEGIN_SRC conf-unix
This file is tangled at ~$HOME/.gtkrc-2.0~. This is an equivalent for the GTK3 configuration file you will see below, and it shares most of its settings. First, lets select the Nordic theme for GTK2. Lets also set the icon theme.
#+BEGIN_SRC conf-unix
# -*- mode: unix-config -*-
gtk-theme-name="Nordic"
gtk-icon-theme-name="Flat-Remix-Dark"
#+END_SRC
#+END_SRC
#+BEGIN_SRC conf-unix
#+BEGIN_SRC conf-unix
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintslight"
#+END_SRC
#+END_SRC
This changes the shortcuts in menu, lets also make the menus snappier.
#+BEGIN_SRC conf-unix
This changes the shortcuts in menu, lets also make the menus snappier.
#+BEGIN_SRC conf-unix
gtk-can-change-accels=1
gtk-menu-bar-popup-delay=0
gtk-menu-popdown-delay=0
gtk-menu-popup-delay=0
#+END_SRC
#+END_SRC
***** Filechooser
:PROPERTIES:
:HEADER-ARGS: :mkdirp yes :tangle ~/.config/gtk-2.0/gtkfilechooser.ini
:CUSTOM_ID: Features-Graphical_tweaks-GTK_Settings-GTK2-Filechooser-389f040d
:END:
#+BEGIN_SRC conf-unix
#+BEGIN_SRC conf-unix
[Filechooser Settings]
#+END_SRC
#+END_SRC
The first option alows me to open the file chooser in the current working
directory:
#+BEGIN_SRC conf-unix
The first option alows me to open the file chooser in the current working directory:
#+BEGIN_SRC conf-unix
StartupMode=cwd
#+END_SRC
#+END_SRC
Next, setting the location mode to ~path-bar~ will show the path as buttons
that can be clicked rather than the full path.
#+BEGIN_SRC conf-unix
Next, setting the location mode to ~path-bar~ will show the path as buttons that can be clicked rather than the full path.
#+BEGIN_SRC conf-unix
LocationMode=path-bar
#+END_SRC
#+END_SRC
With this configuration, by default we wont see hidden files.
#+BEGIN_SRC conf-unix
With this configuration, by default we wont see hidden files.
#+BEGIN_SRC conf-unix
ShowHidden=true
#+END_SRC
#+END_SRC
And we'll also see the size of the visible files.
#+BEGIN_SRC conf-unix
And we'll also see the size of the visible files.
#+BEGIN_SRC conf-unix
ShowSizeColumn=true
#+END_SRC
#+END_SRC
Now, lets choose the geometry of our file picker. These two first lines
set where the file picker appears:
#+BEGIN_SRC conf-unix
Now, lets choose the geometry of our file picker. These two first lines set where the file picker appears:
#+BEGIN_SRC conf-unix
GeometryX=566
GeometryY=202
#+END_SRC
#+END_SRC
And these two describe the size of the window:
#+BEGIN_SRC conf-unix
And these two describe the size of the window:
#+BEGIN_SRC conf-unix
GeometryWidth=800
GeometryHeight=400
#+END_SRC
#+END_SRC
With these two lines, we set how our files are sorted: by name, and in the
ascending order.
#+BEGIN_SRC conf-unix
With these two lines, we set how our files are sorted: by name, and in the ascending order.
#+BEGIN_SRC conf-unix
SortColumn=name
SortOrder=ascending
#+END_SRC
#+END_SRC
Our default view mode is a list of files:
#+BEGIN_SRC conf-unix
Our default view mode is a list of files:
#+BEGIN_SRC conf-unix
ViewMode=list-view
#+END_SRC
#+END_SRC
And finally, setting our icon view scale to ~-1~ sets the icon view to the
max size.
#+BEGIN_SRC conf-unix
And finally, setting our icon view scale to ~-1~ sets the icon view to the max size.
#+BEGIN_SRC conf-unix
IconViewScale=-1
#+END_SRC
#+END_SRC
**** GTK3
:PROPERTIES:
:HEADER-ARGS: :mkdirp yes :tangle ~/.config/gtk-3.0/settings.ini
:CUSTOM_ID: Features-Graphical_tweaks-GTK_Settings-GTK3-3d6cba86
:END:
The following file helps me choosing the aspect of various GTK+ 3 software,
including their theme and icons. First, lets declare the header:
#+BEGIN_SRC conf-unix
The following file helps me choosing the aspect of various GTK+ 3 software, including their theme and icons. First, lets declare the header:
#+BEGIN_SRC conf-unix
[Settings]
#+END_SRC
#+END_SRC
Now, lets hint to GTK that I prefer dark themes. This can have an
influence also on some websites that can detect this preference and
therefore set their own theme to dark by themselves.
#+BEGIN_SRC conf-unix
Now, lets hint to GTK that I prefer dark themes. This can have an influence also on some websites that can detect this preference and therefore set their own theme to dark by themselves.
#+BEGIN_SRC conf-unix
gtk-application-prefer-dark-theme = true
#+END_SRC
#+END_SRC
Next, the icon theme is the Flat Remix Dark icon theme:
#+BEGIN_SRC conf-unix
Next, the icon theme is the Flat Remix Dark icon theme:
#+BEGIN_SRC conf-unix
gtk-icon-theme-name = Flat-Remix-Dark
#+END_SRC
#+END_SRC
Now, the general theme for GTK3 is Nordic.
#+BEGIN_SRC conf-unix
Now, the general theme for GTK3 is Nordic.
#+BEGIN_SRC conf-unix
gtk-theme-name = Nordic
#+END_SRC
#+END_SRC
#+BEGIN_SRC conf-unix
#+BEGIN_SRC conf-unix
gtk-can-change-accels=1
gtk-menu-bar-popup-delay=0
gtk-menu-popdown-delay=0
gtk-menu-popup-delay=0
#+END_SRC
#+END_SRC
#+BEGIN_SRC conf-unix
#+BEGIN_SRC conf-unix
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight
# gtk-xft-rgba=rgb
#+END_SRC
#+END_SRC
Since window decorations are handled by my WMs, I will leave this variable
empty.
#+BEGIN_SRC conf-unix
Since window decorations are handled by my WMs, I will leave this variable empty.
#+BEGIN_SRC conf-unix
gtk-decoration-layout=
#+END_SRC
#+END_SRC
*** Picom (Compton)
:PROPERTIES:
:CUSTOM_ID: Features-Graphical_tweaks-Picom-b5b9a4dd
:END:
Picom is a standalone compositor for Xorg, and the successor to Compton,
itself successor to xcompmgr-dana, itself a fork of xcompmgr. You can find
my Picom configuration [[file:picom.org][here]].
Picom is a standalone compositor for Xorg, and the successor to Compton, itself successor to xcompmgr-dana, itself a fork of xcompmgr. You can find my Picom configuration [[file:picom.org][here]].
*** Xresources
:PROPERTIES:
:HEADER-ARGS: :mkdirp yes :tangle ~/.Xresources :exports code
:CUSTOM_ID: Features-Graphical_tweaks-Xresources-8b622de1
:END:
My Xresources file is very short. Indeed, it only contains two lines which
are dedicated to my =st= terminal to set its font and shell. The font is set
as follows.
#+BEGIN_SRC conf
My Xresources file is very short. Indeed, it only contains two lines which are dedicated to my =st= terminal to set its font and shell. The font is set as follows.
#+BEGIN_SRC conf
st.font: Fantasque Sans Mono:size=10:antialias=true
#+END_SRC
I can also set the transparency of st (my terminal emulator) like so:
#+BEGIN_SRC conf
st.alpha: 0.85
#+END_SRC
#+END_SRC
Next is the declaration of my color theme. It is based on the [[https://www.nordtheme.com/][Nord]] theme,
from their [[https://github.com/arcticicestudio/nord-xresources/][Git repository]].
#+BEGIN_SRC conf
I can also set the transparency of st (my terminal emulator) like so:
#+BEGIN_SRC conf
st.alpha: 0.85
#+END_SRC
Next is the declaration of my color theme. It is based on the [[https://www.nordtheme.com/][Nord]] theme, from their [[https://github.com/arcticicestudio/nord-xresources/][Git repository]].
#+BEGIN_SRC conf
#define nord0 #2E3440
#define nord1 #3B4252
#define nord2 #434C5E
@ -318,7 +278,7 @@
,*.color13: nord15
,*.color14: nord7
,*.color15: nord6
#+END_SRC
#+END_SRC
** Text and source code editing
:PROPERTIES:
@ -328,47 +288,36 @@
:PROPERTIES:
:CUSTOM_ID: Features-Text_and_source_code_editing-Emacs_configuration-ef937102
:END:
Emacs is my main text editor, which I use for almost everything. Because,
you know…
#+begin_quote
Emacs is a great operating system, it just lacks a good text editor.
#+end_quote
Emacs is my main text editor, which I use for almost everything. Because, you know…
#+begin_quote
Emacs is a great operating system, it just lacks a good text editor.
#+end_quote
You can find my Emacs config, based on Spacemacs, in my [[https://labs.phundrak.com/phundrak/dotfiles/src/branch/master/.spacemacs][.spacemacs]] file, and
my user configuration in my [[file:emacs.org][emacs.org]] file.
You can find my Emacs config, based on Spacemacs, in my [[https://labs.phundrak.com/phundrak/dotfiles/src/branch/master/.spacemacs][.spacemacs]] file, and my user configuration in my [[file:emacs.org][emacs.org]] file.
*** Nano (deprecated)
:PROPERTIES:
:CUSTOM_ID: Features-Text_and_source_code_editing-Nano-a9d4839f
:END:
Although it is a very simple piece of software, nano does offer some
customization. Mine can be found in my [[file:~/org/config-website/nano.org][nano.org]] file. Be aware I do not use
nano anymore, and I will not update it until I may someday use it again.
This was deprecated on August 28th, 2020.
Although it is a very simple piece of software, nano does offer some customization. Mine can be found in my [[file:~/org/config-website/nano.org][nano.org]] file. Be aware I do not use nano anymore, and I will not update it until I may someday use it again. This was deprecated on August 28th, 2020.
*** Rustfmt
:PROPERTIES:
:CUSTOM_ID: Features-Text_and_source_code_editing-Rustfmt-2c4ac0b3
:END:
You can find my Rustfmt configuration [[file:rustfmt.org][here]].
You can find my Rustfmt configuration [[file:rustfmt.org][here]].
** Custom scripts in =PATH=
:PROPERTIES:
:CUSTOM_ID: Features-Custom_scripts_in_=PATH=-043e8c8e
:END:
I have written some scripts that help me daily accomplish some simple tasks,
like mounting and unmounting a drive or Android device, an emoji picker, a
utility to set up my Wacom tablet, and so on. You can find them stored in my
[[file:bin.org][bin.org]] file along with their detailed explanation in the README placed in
the same folder —which is actually their source code once the org-mode file
gets tangled.
I have written some scripts that help me daily accomplish some simple tasks, like mounting and unmounting a drive or Android device, an emoji picker, a utility to set up my Wacom tablet, and so on. You can find them stored in my [[file:bin.org][bin.org]] file along with their detailed explanation in the README placed in the same folder —which is actually their source code once the org-mode file gets tangled.
** Fish configuration with useful abbreviations
:PROPERTIES:
:CUSTOM_ID: Features-Fish_configuration_with_useful_abbreviations-c71ffba0
:END:
You can also find in my Fish shell configuration in my [[file:~/org/config-website/fish.org][fish.org]] file, which
contains my usual abbreviations.
You can also find in my Fish shell configuration in my [[file:~/org/config-website/fish.org][fish.org]] file, which contains my usual abbreviations.
** And some minor configuration files
:PROPERTIES:
@ -379,85 +328,69 @@
:HEADER-ARGS: :mkdirp yes :tangle ~/.signature
:CUSTOM_ID: Features-And_some_minor_configuration_files-Email_signature-8c5f2218
:END:
This file gets inserted automatically at the end of my emails.
#+BEGIN_SRC text
This file gets inserted automatically at the end of my emails.
#+BEGIN_SRC text
Lucien “Phundrak” Cartier-Tilet
Étudiant en Master Informatique, Tuteur, Université Paris 8
https://phundrak.com (Français)
https://phundrak.com/en (English)
Sent from GNU/Emacs
#+END_SRC
#+END_SRC
*** Global gitignore
:PROPERTIES:
:HEADER-ARGS: :mkdirp yes :tangle ~/.gitignore_global
:CUSTOM_ID: Features-And_some_minor_configuration_files-Global_gitignore-42467108
:END:
Sometimes, there are some lines that always reappear in gitignores. So,
instead of always adding them, let git now that some elements are to be
ignored by default, hence the [[file:.gitignore_global][~/.gitignore_global]] file. First, we dont want
nanos backup files.
#+BEGIN_SRC text
Sometimes, there are some lines that always reappear in gitignores. So, instead of always adding them, let git now that some elements are to be ignored by default, hence the [[file:.gitignore_global][~/.gitignore_global]] file. First, we dont want nanos backup files.
#+BEGIN_SRC text
~*
#+END_SRC
#+END_SRC
And object files and output binaries generated by =gcc= and the likes arent
welcome either.
#+BEGIN_SRC text
And object files and output binaries generated by =gcc= and the likes arent welcome either.
#+BEGIN_SRC text
,*.out
,*.o
#+END_SRC
#+END_SRC
** Tmux configuration
:PROPERTIES:
:CUSTOM_ID: Features-Tmux_configuration-ce76e030
:END:
You can find my tmux configuration in [[file:tmux.org][tmux.org]]. It depends on the submodule
[[https://github.com/gpakosz/.tmux.git][.tmux]] by [[https://pempek.net/][Gregory Pakosz]].
You can find my tmux configuration in [[file:tmux.org][tmux.org]]. It depends on the submodule [[https://github.com/gpakosz/.tmux.git][.tmux]] by [[https://pempek.net/][Gregory Pakosz]].
* Dependencies
:PROPERTIES:
:CUSTOM_ID: Dependencies-ef5057dd
:END:
Of course, some dependencies are needed for my dotfiles to work well. Here is
a non-exhaustive list of software needed by these configuration files:
- [[https://www.gnu.org/software/emacs/][GNU/Emacs]] >= 26.2
Of course, some dependencies are needed for my dotfiles to work well. Here is a non-exhaustive list of software needed by these configuration files:
- [[https://www.gnu.org/software/emacs/][GNU/Emacs]] >= 26.2
- [[http://spacemacs.org][Spacemacs]] (develop branch)
- My [[https://labs.phundrak.com/phundrak/conlang-layer][conlanging layer]]
- [[https://github.com/venmos/w3m-layer][Venmos]] [[https://github.com/venmos/w3m-layer][w3m layer]]
- The [[https://fishshell.com/][Fish shell]], using [[https://github.com/jorgebucaran/fisher][fisher]]
- [[https://lukesmith.xyz/][Luke Smith]]s [[https://github.com/LukeSmithxyz/st][fork]] of [[https://st.suckless.org/][st]]
- [[https://resloved.info/][Resloved]]s [[https://github.com/resloved/i3][i3-gaps-rounded]] fork of [[https://github.com/Airblader/i3][Airblader]]s [[https://github.com/Airblader/i3][i3-gaps]], itself a fork of [[https://i3wm.org/][i3]]
- [[https://github.com/yshui/compton][Compton]], more specificaly [[https://github.com/tryone144/compton][Tryone]]s [[https://github.com/tryone144/compton][fork]]
- [[https://github.com/dylanaraps/pywal/][pywal]]
- [[https://tools.suckless.org/dmenu/][dmenu]]
- [[https://github.com/enkore/j4-dmenu-desktop][j4-dmenu-desktop]]
- [[https://github.com/davatorium/rofi][Rofi]]
- [[https://github.com/gpoore/minted][minted]]
- [[https://www.rust-lang.org/][Rust]] (stable and nightly)
- [[https://www.latex-project.org/][LaTeX]] and [[http://xetex.sourceforge.net/][XeTeX]] (=texlive= packages on Arch Linux)
- [[https://github.com/tmux/tmux][tmux]], based on [[https://github.com/gpakosz/.tmux][this repo]]s configuration by [[https://pempek.net/][Grégory Pakosz]].
- And a bunch of other stuff, see below
And some other stuff scattered around in my dotfiles.
- The [[https://fishshell.com/][Fish shell]], using [[https://github.com/jorgebucaran/fisher][fisher]]
- [[https://lukesmith.xyz/][Luke Smith]]s [[https://github.com/LukeSmithxyz/st][fork]] of [[https://st.suckless.org/][st]]
- [[https://tools.suckless.org/dmenu/][dmenu]]
- [[https://github.com/enkore/j4-dmenu-desktop][j4-dmenu-desktop]]
- [[https://github.com/davatorium/rofi][Rofi]]
- [[https://github.com/gpoore/minted][minted]]
- [[https://www.rust-lang.org/][Rust]] (stable and nightly)
- [[https://www.latex-project.org/][LaTeX]] and [[http://xetex.sourceforge.net/][XeTeX]] (=texlive= packages on Arch Linux)
- [[https://github.com/tmux/tmux][tmux]], based on [[https://github.com/gpakosz/.tmux][this repo]]s configuration by [[https://pempek.net/][Grégory Pakosz]].
- And a bunch of other stuff, see below
And some other stuff scattered around in my dotfiles.
BTW, I use Arch.
BTW, I use Arch.
* Installation
:PROPERTIES:
:CUSTOM_ID: Installation-9ec2ae86
:END:
For an installation walkthrough of my Arch Linux installation, check out my
[[file:installation.org][installation.org]] file where I walk you through the first manual steps and
through the bootstrap you can execute to automatically take care of a lot of
elements.
For an installation walkthrough of my Arch Linux installation, check out my [[file:installation.org][installation.org]] file where I walk you through the first manual steps and through the bootstrap you can execute to automatically take care of a lot of elements.
* Licence
:PROPERTIES:
:CUSTOM_ID: Licence-48911096
:END:
All of my dotfiles (and my dotfiles only) are available under the GNU GPLv3
Licence. Please consult [[file:LICENCE.md]] for more information. In short: you
are free to access, edit and redistribute all of my dotfiles under the same
licence and as allowed by the licence, and if you fuck up something, its your
own responsibility.
All of my dotfiles (and my dotfiles only) are available under the GNU GPLv3 Licence. Please consult [[file:LICENCE.md]] for more information. In short: you are free to access, edit and redistribute all of my dotfiles under the same licence and as allowed by the licence, and if you fuck up something, its your own responsibility.

File diff suppressed because it is too large Load Diff

View File

@ -10,134 +10,106 @@
:PROPERTIES:
:CUSTOM_ID: Introduction-7e535842
:END:
*Before proceeding, be aware that I deprecated this nano config on August
28th, 2020, meaning I wont update it anymore unless I use it again some day
in the future. I will keep it on my website though.*
*Before proceeding, be aware that I deprecated this nano config on August 28th, 2020, meaning I wont update it anymore unless I use it again some day in the future. I will keep it on my website though.*
I nowadays rarely use Nano as a text editor, since I mainly rely on Emacs for
all sorts of tasks, including quick file editing. However, at times, Emacs
wont work or wont be available, and I therefore need a lightweight, fast and
reliable text editor: Nano. And despite Nano being a simple piece of software,
it does offer some customization I cannot refuse. Here is how I configured it:
I nowadays rarely use Nano as a text editor, since I mainly rely on Emacs for all sorts of tasks, including quick file editing. However, at times, Emacs wont work or wont be available, and I therefore need a lightweight, fast and reliable text editor: Nano. And despite Nano being a simple piece of software, it does offer some customization I cannot refuse. Here is how I configured it:
* Configuration
:PROPERTIES:
:CUSTOM_ID: Configuration-b55668a7
:END:
When saving a file, create a backup file by adding a tilde (=~=) to the file's
name. And make and keep not just one backup file, but make and keep a uniquely
numbered one every time a file is saved — when backups are enabled with =set
backup= or =--backup= or =-B=. The uniquely numbered files are stored in the
directory =~/.cache/nano/backups/=.
#+BEGIN_SRC conf
When saving a file, create a backup file by adding a tilde (=~=) to the file's name. And make and keep not just one backup file, but make and keep a uniquely numbered one every time a file is saved — when backups are enabled with =set backup= or =--backup= or =-B=. The uniquely numbered files are stored in the directory =~/.cache/nano/backups/=.
#+BEGIN_SRC conf
set backup
set backupdir /home/phundrak/.cache/nano/backups/
#+END_SRC
#+END_SRC
Save a file by default in Unix format. This overrides nano's default behavior
of saving a file in the format that it had. (This option has no effect when
you also use =set noconvert=.)
#+BEGIN_SRC conf
Save a file by default in Unix format. This overrides nano's default behavior of saving a file in the format that it had. (This option has no effect when you also use =set noconvert=.)
#+BEGIN_SRC conf
set unix
#+END_SRC
#+END_SRC
** Keys behavior
:PROPERTIES:
:CUSTOM_ID: Configuration-Keys_behavior-c665fa36
:END:
Make the Home key smarter. When Home is pressed anywhere but at the very
beginning of non-whitespace characters on a line, the cursor will jump to
that beginning (either forwards or backwards). If the cursor is already at
that position, it will jump to the true beginning of the line.
#+BEGIN_SRC conf
Make the Home key smarter. When Home is pressed anywhere but at the very beginning of non-whitespace characters on a line, the cursor will jump to that beginning (either forwards or backwards). If the cursor is already at that position, it will jump to the true beginning of the line.
#+BEGIN_SRC conf
set smarthome
#+END_SRC
#+END_SRC
** Search
:PROPERTIES:
:CUSTOM_ID: Configuration-Search-6e458076
:END:
Do case-unsensitive searches by default.
#+BEGIN_SRC conf
Do case-unsensitive searches by default.
#+BEGIN_SRC conf
unset casesensitive
#+END_SRC
#+END_SRC
Do regular-expression searches by default. Regular expressions in =nano= are
of the extended type (ERE).
#+BEGIN_SRC conf
Do regular-expression searches by default. Regular expressions in =nano= are of the extended type (ERE).
#+BEGIN_SRC conf
set regexp
#+END_SRC
#+END_SRC
** Visual settings
:PROPERTIES:
:CUSTOM_ID: Configuration-Visual_settings-9952f2ae
:END:
Use bold instead of reverse video for the title bar, status bar, key combos,
function tags, line numbers, and selected text. This can be overridden by
setting the options =titlecolor=, =statuscolor=, =keycolor=, =functioncolor=,
=numbercolor=, and =selectedcolor=.
#+BEGIN_SRC conf
Use bold instead of reverse video for the title bar, status bar, key combos, function tags, line numbers, and selected text. This can be overridden by setting the options =titlecolor=, =statuscolor=, =keycolor=, =functioncolor=, =numbercolor=, and =selectedcolor=.
#+BEGIN_SRC conf
set boldtext
#+END_SRC
#+END_SRC
Enable soft line wrapping for easier viewing of very long lines.
#+BEGIN_SRC conf
Enable soft line wrapping for easier viewing of very long lines.
#+BEGIN_SRC conf
set softwrap
#+END_SRC
#+END_SRC
When soft line wrapping is enabled, make it wrap lines at blank characters
(tabs and spaces) instead of always at the edge of the screen.
#+BEGIN_SRC conf
When soft line wrapping is enabled, make it wrap lines at blank characters (tabs and spaces) instead of always at the edge of the screen.
#+BEGIN_SRC conf
set atblanks
#+END_SRC
#+END_SRC
Display line numbers to the left of the text area.
#+BEGIN_SRC conf
Display line numbers to the left of the text area.
#+BEGIN_SRC conf
set linenumbers
#+END_SRC
#+END_SRC
Constantly display the cursor position in the status bar. This overrides the
option =quickblank=.
#+BEGIN_SRC conf
Constantly display the cursor position in the status bar. This overrides the option =quickblank=.
#+BEGIN_SRC conf
set constantshow
#+END_SRC
#+END_SRC
** Whitespace settings
:PROPERTIES:
:CUSTOM_ID: Configuration-Whitespace_settings-8cef9cd7
:END:
Convert typed tabs to spaces. Sue me.
#+BEGIN_SRC conf
Convert typed tabs to spaces. Sue me.
#+BEGIN_SRC conf
set tabstospaces
#+END_SRC
#+END_SRC
Use a tab size of a certain amount of columns. The value of number must be
greater than 0. The default value is 8.
#+BEGIN_SRC conf
set tabsize 2
#+END_SRC
Use a tab size of a certain amount of columns. The value of number must be greater than 0. The default value is 8.
#+BEGIN_SRC conf
set tabsize 2
#+END_SRC
Automatically indent a newly created line to the same number of tabs and/or
spaces as the previous line (or as the next line if the previous line is the
beginning of a paragraph).
#+BEGIN_SRC conf
Automatically indent a newly created line to the same number of tabs and/or spaces as the previous line (or as the next line if the previous line is the beginning of a paragraph).
#+BEGIN_SRC conf
set autoindent
#+END_SRC
#+END_SRC
Remove trailing whitespace from wrapped lines when automatic hard-wrapping
occurs or when text is justified.
#+BEGIN_SRC conf
set trimblanks
#+END_SRC
Remove trailing whitespace from wrapped lines when automatic hard-wrapping occurs or when text is justified.
#+BEGIN_SRC conf
set trimblanks
#+END_SRC
** Included configuration file
:PROPERTIES:
:CUSTOM_ID: Configuration-Included_configuration_file-70b0f35b
:END:
Nano gives the opportunity to include some files located elsewhere. This is
why I added [[https://github.com/scopatz/nanorc][this repo]] as a submodule of my dotfiles so I can access a lot of
them at the same time. Since the submodule is cloned in =~/.config/nanorc=,
we can add only one line to include all of the =.nanorc= files.
#+BEGIN_SRC conf
Nano gives the opportunity to include some files located elsewhere. This is why I added [[https://github.com/scopatz/nanorc][this repo]] as a submodule of my dotfiles so I can access a lot of them at the same time. Since the submodule is cloned in =~/.config/nanorc=, we can add only one line to include all of the =.nanorc= files.
#+BEGIN_SRC conf
include ~/.config/nano/nano-syntax/*.nanorc
#+END_SRC
#+END_SRC

View File

@ -10,55 +10,47 @@
:PROPERTIES:
:CUSTOM_ID: Introduction-3e61ecfc
:END:
Ncmpcpp is a TUI front-end for MPD, with an UI very similar to Ncmpc. This is
my main MPD front-end after my i3 shortcuts. You can find below some
screenshots of how my current ncmpcpp configuration looks like.
Ncmpcpp is a TUI front-end for MPD, with an UI very similar to Ncmpc. This is
my main MPD front-end after my i3 shortcuts. You can find below some
screenshots of how my current ncmpcpp configuration looks like.
[[file:img/ncmpcpp-queue.png]]
[[file:img/ncmpcpp-queue.png]]
[[file:img/ncmpcpp-directory.png]]
[[file:img/ncmpcpp-directory.png]]
[[file:img/ncmpcpp-visualizer.png]]
[[file:img/ncmpcpp-visualizer.png]]
* Core Ncmpcpp settings
:PROPERTIES:
:CUSTOM_ID: Core_Ncmpcpp_settings-8cacae18
:END:
#+BEGIN_SRC conf :exports none
#+BEGIN_SRC conf :exports none
# -*- mode: conf -*-
#+END_SRC
#+END_SRC
** Directories
:PROPERTIES:
:CUSTOM_ID: Core_Ncmpcpp_settings-Directories-28092c92
:END:
Ncmpcpp has two vital directories: the lyrics directory, and its own
configuration directory. The configuration for ncmpcpp is generally either in
~$HOME/.ncmpcpp/~ or in ~$XDG_CONFIG_HOME/ncmpcpp/~.
#+BEGIN_SRC conf
Ncmpcpp has two vital directories: the lyrics directory, and its own configuration directory. The configuration for ncmpcpp is generally either in ~$HOME/.ncmpcpp/~ or in ~$XDG_CONFIG_HOME/ncmpcpp/~.
#+BEGIN_SRC conf
ncmpcpp_directory = ~/.config/ncmpcpp
#+END_SRC
#+END_SRC
When it comes to the lyrics, be sure to set the directory to the same
directory pointed at by Mpd.
#+BEGIN_SRC conf
When it comes to the lyrics, be sure to set the directory to the same directory pointed at by Mpd.
#+BEGIN_SRC conf
lyrics_directory = ~/.lyrics
#+END_SRC
#+END_SRC
** MPD
:PROPERTIES:
:CUSTOM_ID: Core_Ncmpcpp_settings-MPD-a2a7452e
:END:
These settings tell ncmpcpp how to communicate with Mpd. Once again, be sure
to follow your own MPD settings. In my case, I am connecting to my local MPD
server, hence the ~localhost~ value of the variable below, and I did not
change the default port of MPD. My music is located at =~/Music=, and ncmpcpp
should connect pretty much immediately, although I allow a five seconds
timeout before ncmpcpp treats it as an error. Also, no crossfade please.
#+BEGIN_SRC conf
These settings tell ncmpcpp how to communicate with Mpd. Once again, be sure to follow your own MPD settings. In my case, I am connecting to my local MPD server, hence the ~localhost~ value of the variable below, and I did not change the default port of MPD. My music is located at =~/Music=, and ncmpcpp should connect pretty much immediately, although I allow a five seconds timeout before ncmpcpp treats it as an error. Also, no crossfade please.
#+BEGIN_SRC conf
mpd_host = localhost
mpd_port = 6600
mpd_music_dir = ~/Music
mpd_connection_timeout = 5
mpd_crossfade_time = 0
#+END_SRC
#+END_SRC

View File

@ -11,53 +11,40 @@
:PROPERTIES:
:CUSTOM_ID: Introduction-5942aea3
:END:
[[https://github.com/dylanaraps/neofetch][Neofetch]] is a CLI utility used to display system information. It was written
in Bash, and thus its configuration file is written as a Bash script too. This
document was written with org-mode, and my configuration file is tangled from
the source blocks you will see below to ~~/.config/neofetch/config.conf~.
This configuration will only contain what I need. For any further information,
please refer to the [[https://github.com/dylanaraps/neofetch][original repository]] and [[https://github.com/dylanaraps/neofetch/wiki/Customizing-Info][its documentation]].
[[https://github.com/dylanaraps/neofetch][Neofetch]] is a CLI utility used to display system information. It was written in Bash, and thus its configuration file is written as a Bash script too. This document was written with org-mode, and my configuration file is tangled from the source blocks you will see below to ~~/.config/neofetch/config.conf~. This configuration will only contain what I need. For any further information, please refer to the [[https://github.com/dylanaraps/neofetch][original repository]] and [[https://github.com/dylanaraps/neofetch/wiki/Customizing-Info][its documentation]].
* The ~print_info~ functions
:PROPERTIES:
:CUSTOM_ID: The_print_info_functions-bb30763f
:END:
The ~print_info~ function is the function called by Neofetch in order to print
the system information it could fetch. In this function, well choose what to
display, and how. This function looks like this:
#+BEGIN_SRC sh :tangle no
The ~print_info~ function is the function called by Neofetch in order to print the system information it could fetch. In this function, well choose what to display, and how. This function looks like this:
#+BEGIN_SRC sh :tangle no
print_info() {
# Print information here…
}
#+END_SRC
#+END_SRC
Generally, what we will display will be shown through the ~info~ function,
redefined inside Neofetch (this is not ~info(1)~). This ~info~ function
accepts one or two arguments. With one argument, such as with ~info memory~,
we can get a result that looks like ~5136MiB / 15873MiB~, while calling it
with two arguments will treat the first one as a prefix and the second one as
the interesting information; ~info "Memory" memory~ will look like
~Memory: 5136MiB / 15873MiB~. Here is what we want to display:
#+NAME: info-elements-table
| Prefix | Information | What it does |
|----------+-------------+-----------------------------------|
| | title | Username and hostname |
| | line_break | Insert a blank line |
| | cols | System theme |
| | line_break | Insert a blank line |
| OS | distro | Distribution name |
| Kernel | kernel | Kernel version |
| Uptime | uptime | Machine uptime |
| Packages | packages | Number of installed packages |
| Shell | shell | Users default shell |
| WM | wm | Users Window Manager |
| Terminal | term | Default terminal |
| CPU | cpu | CPU information |
| GPU | gpu | GPU information |
| Memory | memory | RAM information |
Generally, what we will display will be shown through the ~info~ function, redefined inside Neofetch (this is not ~info(1)~). This ~info~ function accepts one or two arguments. With one argument, such as with ~info memory~, we can get a result that looks like ~5136MiB / 15873MiB~, while calling it with two arguments will treat the first one as a prefix and the second one as the interesting information; ~info "Memory" memory~ will look like ~Memory: 5136MiB / 15873MiB~. Here is what we want to display:
#+NAME: info-elements-table
| Prefix | Information | What it does |
|----------+-------------+------------------------------|
| | title | Username and hostname |
| | line_break | Insert a blank line |
| | cols | System theme |
| | line_break | Insert a blank line |
| OS | distro | Distribution name |
| Kernel | kernel | Kernel version |
| Uptime | uptime | Machine uptime |
| Packages | packages | Number of installed packages |
| Shell | shell | Users default shell |
| WM | wm | Users Window Manager |
| Terminal | term | Default terminal |
| CPU | cpu | CPU information |
| GPU | gpu | GPU information |
| Memory | memory | RAM information |
#+NAME: info-elements-gen
#+BEGIN_SRC emacs-lisp :var table=info-elements-table :cache yes
#+NAME: info-elements-gen
#+BEGIN_SRC emacs-lisp :var table=info-elements-table :cache yes
(mapconcat (lambda (x)
(format "info %s%s"
(if (not (string= (car x) ""))
@ -66,46 +53,42 @@
(cadr x)))
table
"\n")
#+END_SRC
#+END_SRC
#+RESULTS[1e66bf48472ad24006f0cb9dc9c86078764ba84e]: info-elements-gen
#+begin_example
info line_break
info title
info line_break
info cols
info line_break
info "OS" distro
info "Kernel" kernel
info "Uptime" uptime
info "Packages" packages
info "Shell" shell
info "WM" wm
info "Terminal" term
info "CPU" cpu
info "GPU" gpu
info "Memory" memory
info "Disks" disks
#+end_example
#+RESULTS[1e66bf48472ad24006f0cb9dc9c86078764ba84e]: info-elements-gen
#+begin_example
info line_break
info title
info line_break
info cols
info line_break
info "OS" distro
info "Kernel" kernel
info "Uptime" uptime
info "Packages" packages
info "Shell" shell
info "WM" wm
info "Terminal" term
info "CPU" cpu
info "GPU" gpu
info "Memory" memory
info "Disks" disks
#+end_example
Hence, the function looks like so:
#+BEGIN_SRC sh
Hence, the function looks like so:
#+BEGIN_SRC sh
print_info() {
<<info-elements-gen()>>
}
#+END_SRC
#+END_SRC
Each of these modules can be tuned with the variables presented below.
Each of these modules can be tuned with the variables presented below.
* Information settings
:PROPERTIES:
:CUSTOM_ID: Information_settings-9d4cfe88
:END:
Each of the following variable tunes a function that can be called in
~print_info~ described above. It is possible to tune them by modifying this
document or the configuration file itself, and they can be overridden by the
command line with flags passed to ~neofetch~. I will divide these variables in
two main categories: hardware and software-related properties.
Each of the following variable tunes a function that can be called in ~print_info~ described above. It is possible to tune them by modifying this document or the configuration file itself, and they can be overridden by the command line with flags passed to ~neofetch~. I will divide these variables in two main categories: hardware and software-related properties.
** Software
:PROPERTIES:
@ -119,73 +102,72 @@
:PROPERTIES:
:CUSTOM_ID: Information_settings-Software-OS-Distro-cd12bc4f
:END:
This variable can shorten the output of the ~distro~ function.
- Default value :: ~"on"~
- Values ::
This variable can shorten the output of the ~distro~ function.
- Default value :: ~"on"~
- Values ::
- ~"on"~
- ~"off"~
- Flag :: ~--distro_shorthand~
- Supports :: Everything except Windows and Haiku
- Examples ::
- Flag :: ~--distro_shorthand~
- Supports :: Everything except Windows and Haiku
- Examples ::
- on :: ~Arch Linux~
- off :: ~Arch~
#+begin_src sh
#+begin_src sh
distro_shorthand="off"
#+end_src
#+end_src
It is possible to display when the distro has been installed on the computer.
It is possible to display when the distro has been installed on the computer.
**** Kernel
:PROPERTIES:
:CUSTOM_ID: Information_settings-Software-OS-Kernel-658cedce
:END:
The variable below can shorten the output ofh the ~kernel~ function.
- Default value :: ~"on"~
- Values ::
The variable below can shorten the output ofh the ~kernel~ function.
- Default value :: ~"on"~
- Values ::
- ~"on"~
- ~"off"~
- Flag :: ~--kernel_shorthand~
- Supports :: Everything except *BSDs (except PacBSD and PC-BSD)
- Examples ::
- Flag :: ~--kernel_shorthand~
- Supports :: Everything except *BSDs (except PacBSD and PC-BSD)
- Examples ::
- on :: ~4.8.9-1-ARCH~
- off :: ~Linux 4.8.9-1-ARCH~
#+begin_src sh
#+begin_src sh
kernel_shorthand="off"
#+end_src
#+end_src
**** OS Architecture
:PROPERTIES:
:CUSTOM_ID: Information_settings-Software-OS-OS_Architecture-2f60c93c
:END:
This variable can show or hide the OS architecture in the ~distro~ output.
- Default value :: ~"off"~
- Values ::
This variable can show or hide the OS architecture in the ~distro~ output.
- Default value :: ~"off"~
- Values ::
- ~"on"~
- ~"off"~
- Flag :: ~--os_arch~
- Examples ::
- Flag :: ~--os_arch~
- Examples ::
- on :: ~Arch Linux x86_64~
- off :: ~Arch Linux~
#+begin_src sh
#+begin_src sh
os_arch="off"
#+end_src
#+end_src
**** Packages
:PROPERTIES:
:CUSTOM_ID: Information_settings-Software-OS-Packages-f836a58d
:END:
It is possible to show or hide Package Manager names.
- Default :: ~'tiny'~
- Values :: ~'on'~ / ~'tiny'~ / ~'off'~
- Flag :: ~--package_managers~
- Example ::
It is possible to show or hide Package Manager names.
- Default :: ~'tiny'~
- Values :: ~'on'~ / ~'tiny'~ / ~'off'~
- Flag :: ~--package_managers~
- Example ::
- on :: ~'998 (pacman), 8 (flatpak), 4 (snap)'~
- tiny :: ~'908 (pacman, flatpak, snap)'~
- off :: ~'908'~
#+BEGIN_SRC sh
#+BEGIN_SRC sh
package_managers="on"
#+END_SRC
#+END_SRC
**** Shell
:PROPERTIES:
@ -195,142 +177,136 @@
:PROPERTIES:
:CUSTOM_ID: Information_settings-Software-Shell-Shell_path-9eda636d
:END:
This allows to show either the path of the users shell, or simply its
name.
- Default value :: ~"off"~
- Values ::
This allows to show either the path of the users shell, or simply its name.
- Default value :: ~"off"~
- Values ::
- ~"on"~
- ~"off"~
- Flag :: ~--shell_path~
- Examples ::
- Flag :: ~--shell_path~
- Examples ::
- on :: ~/bin/bash~
- off :: ~bash~
#+begin_src sh
+begin_src sh
shell_path="off"
#+end_src
+end_src
***** Shell version
:PROPERTIES:
:CUSTOM_ID: Information_settings-Software-Shell-Shell_version-03964bb3
:END:
This allows to show the shells version in the output of ~shell~.
- Default value :: ~"on"~
- Values ::
This allows to show the shells version in the output of ~shell~.
- Default value :: ~"on"~
- Values ::
- ~"on"~
- ~"off"~
- Flag :: ~--shell_version~
- Examples ::
- Flag :: ~--shell_version~
- Examples ::
- on :: ~bash 4.4.5~
- off :: ~bash~
#+begin_src sh
#+begin_src sh
shell_version="off"
#+end_src
#+end_src
*** Uptime
:PROPERTIES:
:CUSTOM_ID: Information_settings-Software-Uptime-a7b5361a
:END:
This variable can shorten the output of the ~uptime~ function. ~on~ shortens
it a bit, while ~tiny~ shortens it greatly.
- Default value :: ~"on"~
- Values ::
This variable can shorten the output of the ~uptime~ function. ~on~ shortens
it a bit, while ~tiny~ shortens it greatly.
- Default value :: ~"on"~
- Values ::
- ~"on"~
- ~"tiny"~
- ~"off"~
- Flag :: ~--uptime_shorthand~
- Examples ::
- Flag :: ~--uptime_shorthand~
- Examples ::
- on :: ~2 days, 10 hours, 3 mins~
- off :: ~2 days, 10 hours, 3 minutes~
- tiny :: ~2d 10h 3m~
#+begin_src sh
#+begin_src sh
uptime_shorthand="on"
#+end_src
#+end_src
*** IP address
:PROPERTIES:
:CUSTOM_ID: Information_settings-Software-IP_address-26df5e1d
:END:
It is possible to display the machines public IP address with the function
~ip~. The value below allows the user to change the website used to fetch
it.
- Default value :: ~"http://ident.me"~
- Value :: ~"url"~
- Flag :: ~--ip_host~
#+begin_src sh
It is possible to display the machines public IP address with the function ~ip~. The value below allows the user to change the website used to fetch it.
- Default value :: ~"http://ident.me"~
- Value :: ~"url"~
- Flag :: ~--ip_host~
#+begin_src sh
public_ip_host="http://ident.me"
#+end_src
#+end_src
- Default value :: ~""~
- Values ::
- Default value :: ~""~
- Values ::
- ~""~
- ~""~
- Flag :: ~""~
- Supports ::
- Examples ::
- Flag :: ~""~
- Supports ::
- Examples ::
- on :: ~~
- off :: ~~
#+begin_src sh
#+end_src
#+begin_src sh
#+end_src
*** Theming
:PROPERTIES:
:CUSTOM_ID: Information_settings-Software-Theming-ba7f1ccd
:END:
This section will allow the user to modify what Neofetch can and cannot
display about the machines theming —by this, I mean its GTK theme, its
icons and its default font.
This section will allow the user to modify what Neofetch can and cannot display about the machines theming —by this, I mean its GTK theme, its icons and its default font.
**** Shorten output
:PROPERTIES:
:CUSTOM_ID: Information_settings-Software-Theming-Shorten_output-cbef1fa4
:END:
With this value, it is possible to shorten the output of the computers
theming.
- Default value :: ~"off"~
- Values ::
With this value, it is possible to shorten the output of the computers theming.
- Default value :: ~"off"~
- Values ::
- ~"on"~
- ~"off"~
- Flag :: ~--gtk_shorthand~
- Examples ::
- Flag :: ~--gtk_shorthand~
- Examples ::
- on :: ~Numix, Adwaita~
- off :: ~Numix [GTK2], Adwaita [GTK3]~
#+begin_src sh
#+begin_src sh
gtk_shorthand="on"
#+end_src
#+end_src
**** Enable or disable theming display for GTK2
:PROPERTIES:
:CUSTOM_ID: Information_settings-Software-Theming-Enable_or_disable_theming_display_for_GTK2-f4398571
:END:
It is possible to explicitely show or hide the computers theming with GTK2
with this variable.
- Default value :: ~"on"~
- Values ::
It is possible to explicitely show or hide the computers theming with GTK2 with this variable.
- Default value :: ~"on"~
- Values ::
- ~"on"~
- ~"off"~
- Flag :: ~--gtk2~
- Examples ::
- Flag :: ~--gtk2~
- Examples ::
- on :: ~Numix [GTK2], Adwaita [GTK3]~
- off :: ~Adwaita [GTK3]~
#+begin_src sh
#+begin_src sh
gtk2="off"
#+end_src
#+end_src
**** Enable or disable theming display for GTK3
:PROPERTIES:
:CUSTOM_ID: Information_settings-Software-Theming-Enable_or_disable_theming_display_for_GTK3-c4070e66
:END:
The same variable as above is also available for GTK3.
- Default value :: ~"on"~
- Values ::
The same variable as above is also available for GTK3.
- Default value :: ~"on"~
- Values ::
- ~"on"~
- ~"off"~
- Flag :: ~--gtk3~
- Examples ::
- Flag :: ~--gtk3~
- Examples ::
- on :: ~Numix [GTK2], Adwaita [GTK3]~
- off :: ~Numix [GTK2]~
#+begin_src sh
#+end_src
#+begin_src sh
gtk3="off"
#+end_src
** Hardware
:PROPERTIES:
@ -340,164 +316,152 @@
:PROPERTIES:
:CUSTOM_ID: Information_settings-Hardware-CPU-eb0bcd7d
:END:
**** CPU brand
:PROPERTIES:
:CUSTOM_ID: Information_settings-Hardware-CPU-CPU_brand-5b25776b
:END:
With this variables, it is possible to show or hide the brand of a CPU in
the ~cpu~ output.
- Default value :: ~"on"~
- Values ::
With this variables, it is possible to show or hide the brand of a CPU in
the ~cpu~ output.
- Default value :: ~"on"~
- Values ::
- ~"on"~
- ~"off"~
- Flag :: ~--cpu_brand~
- Examples ::
- Flag :: ~--cpu_brand~
- Examples ::
- on :: ~Intel i7-6500U~
- off :: ~i7-6500U~
#+begin_src sh
#+begin_src sh
cpu_brand="off"
#+end_src
#+end_src
**** CPU speed
:PROPERTIES:
:CUSTOM_ID: Information_settings-Hardware-CPU-CPU_speed-2bf6e5f7
:END:
With this variable, it is possible to show or hide the speed of the CPU.
- Default value :: ~"on"~
- Values ::
With this variable, it is possible to show or hide the speed of the CPU.
- Default value :: ~"on"~
- Values ::
- ~"on"~
- ~"off"~
- Flag :: ~--cpu_speed~
- Examples ::
- Flag :: ~--cpu_speed~
- Examples ::
- on :: ~Intel i7-6500U (4) @ 3.1GHz~
- off :: ~Intel i7-6500U (4)~
#+begin_src sh
#+begin_src sh
cpu_speed="off"
#+end_src
#+end_src
**** CPU speed type
:PROPERTIES:
:CUSTOM_ID: Information_settings-Hardware-CPU-CPU_speed_type-a24de48f
:END:
This allows Neofetch to know what type of speed it has to fetch regarding
the machines CPU. Any file in ~/sys/devices/system/cpu/cpu0/cpufreq~ can
be used as a value.
- Default value :: ~"bios_limit"~
- Values ::
This allows Neofetch to know what type of speed it has to fetch regarding the machines CPU. Any file in ~/sys/devices/system/cpu/cpu0/cpufreq~ can be used as a value.
- Default value :: ~"bios_limit"~
- Values ::
- ~"scaling_cur_freq"~
- ~"scaling_min_freq"~
- ~"scaling_max_freq"~
- ~"bios_limit"~
- Flag :: ~--speed_type~
- Supports :: Linux with ~cpufreq~
#+begin_src sh
- Flag :: ~--speed_type~
- Supports :: Linux with ~cpufreq~
#+begin_src sh
speed_type="bios_limit"
#+end_src
#+end_src
**** CPU speed shorthand
:PROPERTIES:
:CUSTOM_ID: Information_settings-Hardware-CPU-CPU_speed_shorthand-0d15fe08
:END:
This value allows to show sorter CPU speed with less digits. This flag is
not supported in systems with CPU speed below 1GHz.
- Default value :: ~"off"~
- Values ::
This value allows to show sorter CPU speed with less digits. This flag is not supported in systems with CPU speed below 1GHz.
- Default value :: ~"off"~
- Values ::
- ~"on"~
- ~"on"~
- Flag :: ~--speed_shorthand~
- Examples ::
- Flag :: ~--speed_shorthand~
- Examples ::
- on :: ~i7-6500U (4) @ 3.1GHz~
- off :: ~i7-6500U (4) @ 3.100GHz~
#+begin_src sh
#+begin_src sh
speed_shorthand="on"
#+end_src
#+end_src
**** CPU cores
:PROPERTIES:
:CUSTOM_ID: Information_settings-Hardware-CPU-CPU_cores-30177354
:END:
With this variable, it is possible to display the number of cores that are
available in the CPU.
- Default value :: ~"logical"~
- Values ::
With this variable, it is possible to display the number of cores that are available in the CPU.
- Default value :: ~"logical"~
- Values ::
- ~"logical"~
- ~"physical"~
- ~"off"~
- Flag :: ~--cpu_cores~
- Supports :: ~physical~ does not work on BSD.
- Examples ::
- Flag :: ~--cpu_cores~
- Supports :: ~physical~ does not work on BSD.
- Examples ::
- logical :: ~Intel i7-6500U (4) @ 3.1GHz~ (All virtual cores)
- physical :: ~Intel i7-6500U (2) @ 3.1GHz~ (All physical cores)
- off :: ~Intel i7-6500U @ 3.1GHz~
#+begin_src sh
#+begin_src sh
cpu_cores="off"
#+end_src
#+end_src
**** CPU temperature
:PROPERTIES:
:CUSTOM_ID: Information_settings-Hardware-CPU-CPU_temperature-a22e522c
:END:
This variable allows the user to hide or show the CPUs temperature, and if
shown, the user can display it in Celcius or Farenheit degrees. For FreeBSD
and NetBSD-based systems, youll need to enable the ~coretemp~ kernel
module. This only supports newer Intel processors.
- Default value :: ~"off"~
- Values ::
This variable allows the user to hide or show the CPUs temperature, and if shown, the user can display it in Celcius or Farenheit degrees. For FreeBSD and NetBSD-based systems, youll need to enable the ~coretemp~ kernel module. This only supports newer Intel processors.
- Default value :: ~"off"~
- Values ::
- ~"C"~
- ~"F"~
- ~"off"~
- Flag :: ~--cpu_temp~
- Supports :: Linux, BSD
- Examples ::
- Flag :: ~--cpu_temp~
- Supports :: Linux, BSD
- Examples ::
- C :: ~Intel i7-6500U (4) @ 3.1GHz [27.2°C]~
- F :: ~Intel i7-6500U (4) @ 3.1GHz [82.0°F]~
- off :: ~Intel i7-6500U (4) @ 3.1GHz~
#+begin_src sh
#+begin_src sh
cpu_temp="off"
#+end_src
#+end_src
*** GPU
:PROPERTIES:
:CUSTOM_ID: Information_settings-Hardware-GPU-2c842575
:END:
The function responsible for displaying information regarding the GPUs is
~gpu~. It will try to list all available GPUs and display what it knows
about them.
The function responsible for displaying information regarding the GPUs is ~gpu~. It will try to list all available GPUs and display what it knows about them.
**** GPU brand
:PROPERTIES:
:CUSTOM_ID: Information_settings-Hardware-GPU-GPU_brand-6e2da615
:END:
This value allows the user to hide or show the brand of their GPU in the
output of ~gpu~.
- Default value :: ~"on"~
- Values ::
This value allows the user to hide or show the brand of their GPU in the output of ~gpu~.
- Default value :: ~"on"~
- Values ::
- ~"on"~
- ~"off"~
- Flag :: ~--gpu_brand~
- Supports ::
- Examples ::
- Flag :: ~--gpu_brand~
- Supports ::
- Examples ::
- on :: ~AMD HD 7950~
- off :: ~HD 7950~
#+begin_src sh
#+begin_src sh
gpu_brand="off"
#+end_src
#+end_src
**** Which GPU to display
:PROPERTIES:
:CUSTOM_ID: Information_settings-Hardware-GPU-Which_GPU_to_display-f40d3aac
:END:
This allows the user to choose which GPU appears in the output of the
function ~gpu~.
- Default value :: ~"all"~
- Values ::
This allows the user to choose which GPU appears in the output of the function ~gpu~.
- Default value :: ~"all"~
- Values ::
- ~"all"~
- ~"dedicated"~
- ~"integrated"~
- Flag :: ~--gpu_type~
- Supports :: Linux
- Examples ::
- Flag :: ~--gpu_type~
- Supports :: Linux
- Examples ::
- all ::
#+BEGIN_SRC text
GPU1: AMD HD 7950
@ -505,25 +469,24 @@
#+END_SRC
- dedicated :: ~GPU1: AMD HD 7950~
- integrated :: ~GPU1: Intel Integrated Graphics~
#+begin_src sh
#+begin_src sh
gpu_type="all"
#+end_src
#+end_src
*** Resolution
:PROPERTIES:
:CUSTOM_ID: Information_settings-Hardware-Resolution-b768f865
:END:
This will try to list all the connected screens and display their resolution
individually. It is possible to display the refresh rate or to hide it.
- Default value :: ~"off"~
- Values ::
This will try to list all the connected screens and display their resolution individually. It is possible to display the refresh rate or to hide it.
- Default value :: ~"off"~
- Values ::
- ~"on"~
- ~"off"~
- Flag :: ~--refresh_rate~
- Supports :: Does not work on Windows
- Examples ::
- Flag :: ~--refresh_rate~
- Supports :: Does not work on Windows
- Examples ::
- on :: ~1920x1080 @ 60Hz~
- off :: ~1920x1080~
#+begin_src sh
#+begin_src sh
refresh_rate="off"
#+end_src
#+end_src

View File

@ -9,58 +9,51 @@
:PROPERTIES:
:CUSTOM_ID: Introduction-a5320326
:END:
Picom is the successor to Compton, a standalone compositor for Xorg. It
provides compositing for WM that do not provide any, such as i3. I am
currently using [[https://github.com/ibhagwan/picom][ibhagwans fork of compton]] which provides the ~dual-kawase~
blur from [[https://github.com/tryone144/compton][tryones compton]] and rounded corners from [[https://github.com/sdhand/picom][sdhands compton]].
Picom is the successor to Compton, a standalone compositor for Xorg. It provides compositing for WM that do not provide any, such as i3. I am currently using [[https://github.com/ibhagwan/picom][ibhagwans fork of compton]] which provides the ~dual-kawase~ blur from [[https://github.com/tryone144/compton][tryones compton]] and rounded corners from [[https://github.com/sdhand/picom][sdhands compton]].
* Shadows
:PROPERTIES:
:CUSTOM_ID: Shadows-f4ffbb27
:END:
The following enables client-side shadows on windows. Note desktop windows
(windows with ~_NET_WM_WINDOW_TYPE_DESKTOP~) never get shadow, unless
explicitly requested using the wintypes option. I personally deactivated
shadows because they dont work out too well with rounded corners.
#+BEGIN_SRC conf
The following enables client-side shadows on windows. Note desktop windows (windows with ~_NET_WM_WINDOW_TYPE_DESKTOP~) never get shadow, unless explicitly requested using the wintypes option. I personally deactivated shadows because they dont work out too well with rounded corners.
#+BEGIN_SRC conf
shadow = false;
#+END_SRC
#+END_SRC
The blur radius radius for shadows is measured in pixels, and it defaults to
12px.
#+BEGIN_SRC conf
The blur radius radius for shadows is measured in pixels, and it defaults to 12px.
#+BEGIN_SRC conf
shadow-radius = 7;
#+END_SRC
#+END_SRC
Picom can also apply some level of opacity on shadows.
| Default value | ~0.75~ |
| Min value | ~0.0~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
Picom can also apply some level of opacity on shadows.
| Default value | ~0.75~ |
| Min value | ~0.0~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
shadow-opacity = 0.85
#+END_SRC
#+END_SRC
The left and top offsets for shadows are expressed in pixels.
| Default value | ~-15~ |
#+BEGIN_SRC conf
The left and top offsets for shadows are expressed in pixels.
| Default value | ~-15~ |
#+BEGIN_SRC conf
shadow-offset-x = -5;
shadow-offset-y = -5;
#+END_SRC
#+END_SRC
The following values have an impact on the shadows RGB color.
| Default value | ~0.0~ |
| Min value | ~0.0~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
The following values have an impact on the shadows RGB color.
| Default value | ~0.0~ |
| Min value | ~0.0~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
shadow-red = 0.0;
shadow-green = 0.0;
shadow-blue = 0.0;
#+END_SRC
#+END_SRC
It is possible to specify a list of conditions of windows that should have no
shadow.
| Default value | ~[]~ |
#+BEGIN_SRC conf
It is possible to specify a list of conditions of windows that should have no
shadow.
| Default value | ~[]~ |
#+BEGIN_SRC conf
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
@ -68,226 +61,196 @@
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
#+END_SRC
#+END_SRC
It is also possible to specify an X geometry that describes the region in
which shadows should not be painted in, such as a dock window region. For
example,
#+BEGIN_SRC conf :tangle no
It is also possible to specify an X geometry that describes the region in
which shadows should not be painted in, such as a dock window region. For
example,
#+BEGIN_SRC conf :tangle no
# shadow-exclude-reg = "x10+0+0"
#+END_SRC
would make the 10 pixels at the bottom of the screen not have any shadow
painted on.
| Default value | ~""~ |
#+BEGIN_SRC conf :tangle no
#+END_SRC
would make the 10 pixels at the bottom of the screen not have any shadow
painted on.
| Default value | ~""~ |
#+BEGIN_SRC conf :tangle no
shadow-exclude-reg = ""
#+END_SRC
#+END_SRC
Finally, it is also possible to crop the shadow of a window fully on a
particular Xinerama screen to the screen.
- Default value :: ~false~
#+BEGIN_SRC conf
Finally, it is also possible to crop the shadow of a window fully on a
particular Xinerama screen to the screen.
- Default value :: ~false~
#+BEGIN_SRC conf
xinerama-shadow-crop = false
#+END_SRC
#+END_SRC
** Deprecated options
:PROPERTIES:
:HEADER-ARGS:conf: :tangle no
:CUSTOM_ID: Shadows-Deprecated_options-da215d5a
:END:
Options in this subheader *will not* be exported to my configuration file.
Options in this subheader *will not* be exported to my configuration file.
Thanks to this value, Picom can avoid drawing shadows on dock or panel
windows. This option is deprecated, and users should use the ~wintypes~
option in their config file instead.
| Default value | ~false~ |
#+BEGIN_SRC conf
Thanks to this value, Picom can avoid drawing shadows on dock or panel windows. This option is deprecated, and users should use the ~wintypes~ option in their config file instead.
| Default value | ~false~ |
#+BEGIN_SRC conf
no-dock-shadow = false;
#+END_SRC
#+END_SRC
This option allows Picom not to draw on drag-and-drop windows. This option is
deprecated, and users should use the ~wintypes~ option in their config file
instead.
| Default value | ~false~ |
#+BEGIN_SRC conf
This option allows Picom not to draw on drag-and-drop windows. This option is deprecated, and users should use the ~wintypes~ option in their config file instead.
| Default value | ~false~ |
#+BEGIN_SRC conf
no-dnd-shadow = false;
#+END_SRC
#+END_SRC
~shadow-ignore-shaped~ is also deprecated. It used to indicate Picom not to
paint shadows on shaped windows. Note shaped windows here means windows
setting their shape through X Shape extension. Those using ARGB background
are beyond Picoms control. Since it is deprecated, you could instead use
#+BEGIN_SRC conf :tangle no
~shadow-ignore-shaped~ is also deprecated. It used to indicate Picom not to paint shadows on shaped windows. Note shaped windows here means windows setting their shape through X Shape extension. Those using ARGB background are beyond Picoms control. Since it is deprecated, you could instead use
#+BEGIN_SRC conf :tangle no
shadow-exclude = 'bounding_shaped'
#+END_SRC
or
#+BEGIN_SRC conf :tangle no
#+END_SRC
or
#+BEGIN_SRC conf :tangle no
shadow-exclude = 'bounding_shaped && !rounded_corners'
#+END_SRC
| Default value | ~""~ |
#+BEGIN_SRC conf :tangle no
#+END_SRC
| Default value | ~""~ |
#+BEGIN_SRC conf :tangle no
shadow-ignore-shaped = ""
#+END_SRC
#+END_SRC
* Rounded corners
:PROPERTIES:
:CUSTOM_ID: Rounded_corners-33bfcd20
:END:
A great feature added by ibhagwans fork of compton is the addition of rounded
corners from sdhands fork, and the Kawase blur (described [[#Background_blurring-55835066][here]]) from
tryone144s fork. Here we can see the declaration of the corners radius:
#+BEGIN_SRC conf
A great feature added by ibhagwans fork of picom is the addition of rounded corners from sdhands fork, and the Kawase blur (described [[#Background_blurring-55835066][here]]) from tryone144s fork. Here we can see the declaration of the corners radius:
#+BEGIN_SRC conf
corner-radius = 9.0;
#+END_SRC
#+END_SRC
It is also possible to exclude some windows from getting their corners
rounded. I personally excluded any window generated by AwesomeWM.
#+BEGIN_SRC conf
It is also possible to exclude some windows from getting their corners rounded. I personally excluded any window generated by AwesomeWM.
#+BEGIN_SRC conf
rounded-corners-exclude = [
"_NET_WM_WINDOW_TYPE@[0]:a = '_NET_WM_WINDOW_TYPE_DOCK'"
];
#+END_SRC
#+END_SRC
* Fading
:PROPERTIES:
:CUSTOM_ID: Fading-419d8047
:END:
Picom has the ability to create some fading effects on windows when opening or
closing or when the opacity changes. The following parameter toggles this
feature on or off. However, its behavior can be changed with
~no-fading-openclose~.
| Default value | ~false~ |
#+BEGIN_SRC conf
Picom has the ability to create some fading effects on windows when opening or closing or when the opacity changes. The following parameter toggles this feature on or off. However, its behavior can be changed with ~no-fading-openclose~.
| Default value | ~false~ |
#+BEGIN_SRC conf
fading = true
#+END_SRC
#+END_SRC
These values controls the opacity change between steps while fading in and
out.
| Default value | ~0.028~ (fade-in), ~0.03~ (fade-out) |
| Min value | ~0.01~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
These values controls the opacity change between steps while fading in and out.
| Default value | ~0.028~ (fade-in), ~0.03~ (fade-out) |
| Min value | ~0.01~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
fade-in-step = 0.09;
fade-out-step = 0.08;
#+END_SRC
#+END_SRC
This value represents the time between steps in fade steps, in milliseconds.
| Default value | ~10~ |
| Min value | ~1~ |
#+BEGIN_SRC conf
This value represents the time between steps in fade steps, in milliseconds.
| Default value | ~10~ |
| Min value | ~1~ |
#+BEGIN_SRC conf
fade-delta = 20;
#+END_SRC
#+END_SRC
It is possible to exclude some windows that should not be faded with a
specified list of conditions.
| Default value | ~[]~ |
#+BEGIN_SRC conf
It is possible to exclude some windows that should not be faded with a specified list of conditions.
| Default value | ~[]~ |
#+BEGIN_SRC conf
fade-exclude = [ "class_g = 'mpv'" ];
#+END_SRC
#+END_SRC
This option allows Picom not to create any fade on windows opening or closing.
| Default value | ~false~ |
#+BEGIN_SRC conf
This option allows Picom not to create any fade on windows opening or closing.
| Default value | ~false~ |
#+BEGIN_SRC conf
no-fading-openclose = true;
#+END_SRC
#+END_SRC
Finally, this option is a workaround for Openbox, Fluxbox and others by not
fading destroyed ARGB windows with WM frame.
| Default value | ~false~ |
#+BEGIN_SRC conf
Finally, this option is a workaround for Openbox, Fluxbox and others by not fading destroyed ARGB windows with WM frame.
| Default value | ~false~ |
#+BEGIN_SRC conf
no-fading-destroyed-argb = false
#+END_SRC
#+END_SRC
* Transparency and opacity
:PROPERTIES:
:CUSTOM_ID: Transparency_and_opacity-6c6b36d2
:END:
Picom is also able to create some opacity or transparency for windows,
depending on their state or on some user-defined rules. For instance, the
following value describes the opacity of inactive windows.
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
Picom is also able to create some opacity or transparency for windows, depending on their state or on some user-defined rules. For instance, the following value describes the opacity of inactive windows.
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
inactive-opacity = 0.6;
#+END_SRC
#+END_SRC
On the other hand, it is possible to declare a default opacity for active
windows.
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
On the other hand, it is possible to declare a default opacity for active windows.
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
active-opacity = 1;
#+END_SRC
#+END_SRC
This however describes the opacity of window titlebars and borders.
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
This however describes the opacity of window titlebars and borders.
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
frame-opacity = 1.0;
#+END_SRC
#+END_SRC
~menu-opacity~ describes the opacity for dropdown menus and popup menus.
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
~menu-opacity~ describes the opacity for dropdown menus and popup menus.
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
# menu-opacity = 0.9;
#+END_SRC
#+END_SRC
~inactive-opacity-override~ allows the user to let inactive opacity set by
~-i~ override the ~_NET_WM_OPACITY_ values of windows.
| Default value | ~true~ |
#+BEGIN_SRC conf
~inactive-opacity-override~ allows the user to let inactive opacity set by ~-i~ override the ~_NET_WM_OPACITY_ values of windows.
| Default value | ~true~ |
#+BEGIN_SRC conf
inactive-opacity-override = true;
#+END_SRC
#+END_SRC
While it is possible to alter opacity on inactive windows, it is also possible
to dim them.
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
While it is possible to alter opacity on inactive windows, it is also possible to dim them.
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
# inactive-dim = 1.0
#+END_SRC
#+END_SRC
It is also possible to use a fixed inactive dim value, instead of adjusting
according to window opacity.
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
It is also possible to use a fixed inactive dim value, instead of adjusting according to window opacity.
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
# inactive-dim-fixed = 1.0
#+END_SRC
#+END_SRC
It is also possible to specify a list of conditions of windows that should
always be considered focused.
| Default value | ~[]~ |
#+BEGIN_SRC conf
It is also possible to specify a list of conditions of windows that should always be considered focused.
| Default value | ~[]~ |
#+BEGIN_SRC conf
focus-exclude = [ "class_g = 'mpv'" ];
#+END_SRC
#+END_SRC
The user can also specify a list of opacity rules, in the format
~PERCENT:PATTERN~, like ~50:name *= "Firefox"~. picom-trans is recommended
over this. Note we don't make any guarantee about possible conflicts with
other programs that set ~_NET_WM_WINDOW_OPACITY~ on frame or client windows.
| Default value | ~[]~ |
#+BEGIN_SRC conf
opacity-rule = [
"85:class_g = 'Polybar'",
# "55:class_g *?= 'Rofi'",
];
#+END_SRC
The user can also specify a list of opacity rules, in the format ~PERCENT:PATTERN~, like ~50:name *= "Firefox"~ . ~picom-trans~ is recommended over this. Note we don't make any guarantee about possible conflicts with other programs that set ~_NET_WM_WINDOW_OPACITY~ on frame or client windows.
| Default value | ~[]~ |
#+BEGIN_SRC conf
opacity-rule = [];
#+END_SRC
* Background blurring
:PROPERTIES:
:CUSTOM_ID: Background_blurring-55835066
:END:
The following are the parameters for background blurring, see the \*BLUR\*
section for more information.
#+BEGIN_SRC conf
The following are the parameters for background blurring, see the \*BLUR\* section for more information.
#+BEGIN_SRC conf
blur: {
method = "dual_kawase";
strength = 7;
@ -295,306 +258,249 @@
background-frame = false;
background-fixed = false;
}
#+END_SRC
#+END_SRC
This value enables or disables the blur for the background of semi-transparent
or ARGB windows. It has bad performances though, with driver-dependent
behavior. The name of the switch may change without prior notifications.
| Default value | ~false~ |
#+BEGIN_SRC conf
This value enables or disables the blur for the background of semi-transparent or ARGB windows. It has bad performances though, with driver-dependent behavior. The name of the switch may change without prior notifications.
| Default value | ~false~ |
#+BEGIN_SRC conf
blur-background = true;
#+END_SRC
#+END_SRC
Blur background of windows when the window frame is not opaque. If true, this
implies the value ~true~ for ~blur-background~.
| Default value | ~false~ |
#+BEGIN_SRC conf
Blur background of windows when the window frame is not opaque. If true, this implies the value ~true~ for ~blur-background~.
| Default value | ~false~ |
#+BEGIN_SRC conf
blur-background-frame = true;
#+END_SRC
#+END_SRC
The following determines whether to use fixed blur strength rather than
adjusting according to window opacity.
| Default value | ~false~ |
#+BEGIN_SRC conf
The following determines whether to use fixed blur strength rather than adjusting according to window opacity.
| Default value | ~false~ |
#+BEGIN_SRC conf
blur-background-fixed = false;
#+END_SRC
#+END_SRC
Specify the blur convolution kernel, with the format
~"5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"~.
| Default value | ~""~ |
#+BEGIN_SRC conf
Specify the blur convolution kernel, with the format ~"5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"~.
| Default value | ~""~ |
#+BEGIN_SRC conf
# blur-kern = "3x3box";
blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
#+END_SRC
#+END_SRC
It is possible to write exclude conditions for background blur.
| Default value | ~[]~ |
#+BEGIN_SRC conf
It is possible to write exclude conditions for background blur.
| Default value | ~[]~ |
#+BEGIN_SRC conf
blur-background-exclude = [
"window_type = 'desktop'",
"class_g = 'Polybar'",
"class_g = 'discord-overlay'",
"_GTK_FRAME_EXTENTS@:c"
];
#+END_SRC
#+END_SRC
* General settings
:PROPERTIES:
:CUSTOM_ID: General_settings-41398de7
:END:
Daemonize process. Fork to background after initialization. Causes issues
with certain (badly-written) drivers.
| Default value | ~false~ |
#+BEGIN_SRC conf
Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
| Default value | ~false~ |
#+BEGIN_SRC conf
daemon = true;
#+END_SRC
#+END_SRC
Picom has three backends it can use: ~xrender~, ~glx~, and ~xr_glx_hybrid~.
GLX backend is typically much faster but depends on a sane driver.
| Default value | ~xrender~ |
#+BEGIN_SRC conf
Picom has three backends it can use: ~xrender~, ~glx~, and ~xr_glx_hybrid~. GLX backend is typically much faster but depends on a sane driver.
| Default value | ~xrender~ |
#+BEGIN_SRC conf
backend = "glx";
#+END_SRC
#+END_SRC
This enables or disables VSync.
| Default value | ~false~ |
#+BEGIN_SRC conf
This enables or disables VSync.
| Default value | ~false~ |
#+BEGIN_SRC conf
vsync = true;
#+END_SRC
#+END_SRC
Enable remote control via D-Bus. See the *D-BUS API* section below for more
details.
| Default value | ~false~ |
#+BEGIN_SRC conf
Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
| Default value | ~false~ |
#+BEGIN_SRC conf
dbus = false;
#+END_SRC
#+END_SRC
Try to detect WM windows (a non-override-redirect window with no child that
has ~WM_STATE~) and markz them as active.
| Default value | ~false~ |
#+BEGIN_SRC conf
Try to detect WM windows (a non-override-redirect window with no child that has ~WM_STATE~) and markz them as active.
| Default value | ~false~ |
#+BEGIN_SRC conf
mark-wmwin-focused = true;
#+END_SRC
#+END_SRC
Mark override-redirect windows that doesn't have a child window with
~WM_STATE~ focused.
| Default value | ~false~ |
#+BEGIN_SRC conf
Mark override-redirect windows that doesn't have a child window with ~WM_STATE~ focused.
| Default value | ~false~ |
#+BEGIN_SRC conf
mark-ovredir-focused = true;
#+END_SRC
#+END_SRC
Try to detect windows with rounded corners and don't consider them shaped
windows. The accuracy is not very high, unfortunately.
| Default value | ~false~ |
#+BEGIN_SRC conf
Try to detect windows with rounded corners and don't consider them shaped windows. The accuracy is not very high, unfortunately.
| Default value | ~false~ |
#+BEGIN_SRC conf
detect-rounded-corners = true;
#+END_SRC
#+END_SRC
Detect ~_NET_WM_OPACITY~ on client windows, useful for window managers not
passing ~_NET_WM_OPACITY~ of client windows to frame windows.
| Default value | ~false~ |
#+BEGIN_SRC conf
Detect ~_NET_WM_OPACITY~ on client windows, useful for window managers not passing ~_NET_WM_OPACITY~ of client windows to frame windows.
| Default value | ~false~ |
#+BEGIN_SRC conf
detect-client-opacity = true;
#+END_SRC
#+END_SRC
Specify refresh rate of the screen. If not specified or 0, picom will try
detecting this with X RandR extension.
| Default value | ~60~ |
#+BEGIN_SRC conf
refresh-rate = 60;
#+END_SRC
Specify refresh rate of the screen. If not specified or 0, picom will try detecting this with X RandR extension.
| Default value | ~60~ |
#+BEGIN_SRC conf
refresh-rate = 120;
#+END_SRC
Limit picom to repaint at most once every 1 / ~refresh_rate~ second to boost
performance. This should not be used with
#+BEGIN_SRC text :tangle no
Limit picom to repaint at most once every 1 / ~refresh_rate~ second to boost performance. This should not be used with
#+BEGIN_SRC text :tangle no
vsync drm/opengl/opengl-oml
#+END_SRC
as they essentially does sw-opti's job already, unless you wish to specify a
lower refresh rate than the actual value.
| Default value | ~""~ |
#+BEGIN_SRC conf
#+END_SRC
as they essentially does sw-opti's job already, unless you wish to specify a lower refresh rate than the actual value.
| Default value | ~""~ |
#+BEGIN_SRC conf
# sw-opti =;
#+END_SRC
#+END_SRC
Use EWMH ~_NET_ACTIVE_WINDOW~ to determine currently focused window, rather
than listening to ~FocusIn~/~FocusOut~ event. Might have more accuracy,
provided that the WM supports it.
| Default value | ~false~ |
#+BEGIN_SRC conf
Use EWMH ~_NET_ACTIVE_WINDOW~ to determine currently focused window, rather than listening to ~FocusIn~/~FocusOut~ event. Might have more accuracy, provided that the WM supports it.
| Default value | ~false~ |
#+BEGIN_SRC conf
# use-ewmh-active-win = false;
#+END_SRC
#+END_SRC
Unredirect all windows if a full-screen opaque window is detected, to maximize
performance for full-screen windows. Known to cause flickering when
redirecting/unredirecting windows. paint-on-overlay may make the flickering
less obvious.
| Default value | ~false~ |
#+BEGIN_SRC conf
Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows. Known to cause flickering when redirecting/unredirecting windows. paint-on-overlay may make the flickering less obvious.
| Default value | ~false~ |
#+BEGIN_SRC conf
unredir-if-possible = false;
#+END_SRC
#+END_SRC
Delay before unredirecting the window, in milliseconds.
| Default value | ~0~ |
#+BEGIN_SRC conf
Delay before unredirecting the window, in milliseconds.
| Default value | ~0~ |
#+BEGIN_SRC conf
unredir-if-possible-delay = 0;
#+END_SRC
#+END_SRC
Conditions of windows that shouldn't be considered full-screen for
unredirecting screen.
| Default value | ~[]~ |
#+BEGIN_SRC conf
Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
| Default value | ~[]~ |
#+BEGIN_SRC conf
unredir-if-possible-exclude = [];
#+END_SRC
#+END_SRC
Use ~WM_TRANSIENT_FOR~ to group windows, and consider windows in the same
group focused at the same time.
| Default value | ~false~ |
#+BEGIN_SRC conf
Use ~WM_TRANSIENT_FOR~ to group windows, and consider windows in the same group focused at the same time.
| Default value | ~false~ |
#+BEGIN_SRC conf
detect-transient = true;
#+END_SRC
#+END_SRC
Use ~WM_CLIENT_LEADER~ to group windows, and consider windows in the same
group focused at the same time. ~WM_TRANSIENT_FOR~ has higher priority if
detect-transient is enabled, too.
| Default value | ~false~ |
#+BEGIN_SRC conf
Use ~WM_CLIENT_LEADER~ to group windows, and consider windows in the same group focused at the same time. ~WM_TRANSIENT_FOR~ has higher priority if detect-transient is enabled, too.
| Default value | ~false~ |
#+BEGIN_SRC conf
detect-client-leader = true;
#+END_SRC
#+END_SRC
Resize damaged region by a specific number of pixels. A positive value
enlarges it while a negative one shrinks it. If the value is positive, those
additional pixels will not be actually painted to screen, only used in blur
calculation, and such. (Due to technical limitations, with use-damage, those
pixels will still be incorrectly painted to screen.) Primarily used to fix the
line corruption issues of blur, in which case you should use the blur radius
value here (e.g. with a 3x3 kernel, you should use ~--resize-damage 1~, with a
5x5 one you use ~--resize-damage 2~, and so on). May or may not work with
*--glx-no-stencil*. Shrinking doesn't function correctly.
| Default value | ~1~ |
#+BEGIN_SRC conf
Resize damaged region by a specific number of pixels. A positive value enlarges it while a negative one shrinks it. If the value is positive, those additional pixels will not be actually painted to screen, only used in blur calculation, and such. (Due to technical limitations, with use-damage, those pixels will still be incorrectly painted to screen.) Primarily used to fix the line corruption issues of blur, in which case you should use the blur radius value here (e.g. with a 3x3 kernel, you should use ~--resize-damage 1~, with a 5x5 one you use ~--resize-damage 2~, and so on). May or may not work with ~--glx-no-stencil~. Shrinking doesn't function correctly.
| Default value | ~1~ |
#+BEGIN_SRC conf
resize-damage = 1;
#+END_SRC
#+END_SRC
Specify a list of conditions of windows that should be painted with inverted
color. Resource-hogging, and is not well tested.
| Default value | ~[]~ |
#+BEGIN_SRC conf
Specify a list of conditions of windows that should be painted with inverted color. Resource-hogging, and is not well tested.
| Default value | ~[]~ |
#+BEGIN_SRC conf
invert-color-include = [];
#+END_SRC
#+END_SRC
Disable the use of damage information. This cause the whole screen to be
redrawn everytime, instead of the part of the screen has actually changed.
Potentially degrades the performance, but might fix some artifacts. The
opposing option is use-damage
| Default value | ~false~ |
#+BEGIN_SRC conf
Disable the use of damage information. This cause the whole screen to be redrawn everytime, instead of the part of the screen has actually changed. Potentially degrades the performance, but might fix some artifacts. The opposing option is use-damage
| Default value | ~false~ |
#+BEGIN_SRC conf
use-damage = false;
#+END_SRC
#+END_SRC
Use X Sync fence to sync clients' draw calls, to make sure all draw calls are
finished before picom starts drawing. Needed on nvidia-drivers with GLX
backend for some users.
| Default value | ~false~ |
#+BEGIN_SRC conf
Use X Sync fence to sync clients' draw calls, to make sure all draw calls are finished before picom starts drawing. Needed on nvidia-drivers with GLX backend for some users.
| Default value | ~false~ |
#+BEGIN_SRC conf
xrender-sync-fence = false;
#+END_SRC
#+END_SRC
Force all windows to be painted with blending. Useful if you have a
glx-fshader-win that could turn opaque pixels transparent.
| Default value | ~false~ |
#+BEGIN_SRC conf
Force all windows to be painted with blending. Useful if you have a glx-fshader-win that could turn opaque pixels transparent.
| Default value | ~false~ |
#+BEGIN_SRC conf
force-win-blend = false;
#+END_SRC
#+END_SRC
Do not use EWMH to detect fullscreen windows. Reverts to checking if a window
is fullscreen based only on its size and coordinates.
| Default value | ~false~ |
#+BEGIN_SRC conf
Do not use EWMH to detect fullscreen windows. Reverts to checking if a window is fullscreen based only on its size and coordinates.
| Default value | ~false~ |
#+BEGIN_SRC conf
no-ewmh-fullscreen = false;
#+END_SRC
#+END_SRC
Dimming bright windows so their brightness doesn't exceed this set value.
Brightness of a window is estimated by averaging all pixels in the window, so
this could comes with a performance hit. Setting this to 1.0 disables this
behaviour. Requires ~--use-damage~ to be disabled.
| Default value | ~1.0~ |
#+BEGIN_SRC conf
Dimming bright windows so their brightness doesn't exceed this set value. Brightness of a window is estimated by averaging all pixels in the window, so this could comes with a performance hit. Setting this to 1.0 disables this behaviour. Requires ~--use-damage~ to be disabled.
| Default value | ~1.0~ |
#+BEGIN_SRC conf
max-brightness = 1.0;
#+END_SRC
#+END_SRC
Make transparent windows clip other windows like non-transparent windows do,
instead of blending on top of them.
| Default value | ~false~ |
#+BEGIN_SRC conf
Make transparent windows clip other windows like non-transparent windows do, instead of blending on top of them.
| Default value | ~false~ |
#+BEGIN_SRC conf
transparent-clipping = false;
#+END_SRC
#+END_SRC
Set the log level. Possible values are:
- ~trace~
- ~debug~
- ~info~
- ~warn~
- ~error~
in increasing level of importance. Case doesn't matter. If using the "TRACE"
log level, it's better to log into a file using ~--log-file~, since it can
generate a huge stream of logs.
| Default value | ~"debug"~ |
#+BEGIN_SRC conf
Set the log level. Possible values are:
- ~trace~
- ~debug~
- ~info~
- ~warn~
- ~error~
in increasing level of importance. Case doesn't matter. If using the "TRACE" log level, it's better to log into a file using ~--log-file~, since it can generate a huge stream of logs.
| Default value | ~"debug"~ |
#+BEGIN_SRC conf
log-level = "warn";
#+END_SRC
#+END_SRC
Set the log file. If ~--log-file~ is never specified, logs will be written to
stderr. Otherwise, logs will to written to the given file, though some of the
early logs might still be written to the stderr. When setting this option from
the config file, it is recommended to use an absolute path.
| Default value | ~''~ |
#+BEGIN_SRC conf
Set the log file. If ~--log-file~ is never specified, logs will be written to stderr. Otherwise, logs will to written to the given file, though some of the early logs might still be written to the stderr. When setting this option from the config file, it is recommended to use an absolute path.
| Default value | ~''~ |
#+BEGIN_SRC conf
# log-file = '/path/to/your/log/file';
#+END_SRC
#+END_SRC
Show all X errors (for debugging)
| Default value | ~false~ |
#+BEGIN_SRC conf
Show all X errors (for debugging)
| Default value | ~false~ |
#+BEGIN_SRC conf
# show-all-xerrors = false;
#+END_SRC
#+END_SRC
Write process ID to a file.
| Default value | ~''~ |
#+BEGIN_SRC conf
Write process ID to a file.
| Default value | ~''~ |
#+BEGIN_SRC conf
# write-pid-path = '/path/to/your/log/file';
#+END_SRC
#+END_SRC
Window type settings. ~WINDOW_TYPE~ is one of the 15 window types defined in
EWMH standard:
- ~"unknown"~
- ~"desktop"~
- ~"dock"~
- ~"toolbar"~
- ~"menu"~
- ~"utility"~
- ~"splash"~
- ~"dialog"~
- ~"normal"~
- ~"dropdown_menu"~
- ~"popup_menu"~
- ~"tooltip"~
- ~"notification"~
- ~"combo"~
- ~"dnd"~
Following per window-type options are available:
- fade, shadow :: Controls window-type-specific shadow and fade settings.
- opacity :: Controls default opacity of the window type.
- focus :: Controls whether the window of this type is to be always considered
focused. (By default, all window types except "normal" and "dialog" has this
on.)
- full-shadow :: Controls whether shadow is drawn under the parts of the
window that you normally won't be able to see. Useful when the window has
parts of it transparent, and you want shadows in those areas.
- redir-ignore :: Controls whether this type of windows should cause screen to
become redirected again after been unredirected. If you have
unredir-if-possible set, and doesn't want certain window to cause
unnecessary screen redirection, you can set this to `true`.
#+BEGIN_SRC conf
Window type settings. ~WINDOW_TYPE~ is one of the 15 window types defined in EWMH standard:
- ~"unknown"~
- ~"desktop"~
- ~"dock"~
- ~"toolbar"~
- ~"menu"~
- ~"utility"~
- ~"splash"~
- ~"dialog"~
- ~"normal"~
- ~"dropdown_menu"~
- ~"popup_menu"~
- ~"tooltip"~
- ~"notification"~
- ~"combo"~
- ~"dnd"~
Following per window-type options are available:
- fade, shadow :: Controls window-type-specific shadow and fade settings.
- opacity :: Controls default opacity of the window type.
- focus :: Controls whether the window of this type is to be always considered focused. (By default, all window types except "normal" and "dialog" has this on.)
- full-shadow :: Controls whether shadow is drawn under the parts of the window that you normally won't be able to see. Useful when the window has parts of it transparent, and you want shadows in those areas.
- redir-ignore :: Controls whether this type of windows should cause screen to become redirected again after been unredirected. If you have unredir-if-possible set, and doesn't want certain window to cause unnecessary screen redirection, you can set this to `true`.
#+BEGIN_SRC conf
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
@ -603,33 +509,26 @@
popup_menu = { opacity = 0.8; }
dropdown_menu = { opacity = 0.8; }
};
#+END_SRC
#+END_SRC
** GLX backend-specific options
:PROPERTIES:
:CUSTOM_ID: General_settings-GLX_backend-specific_options-43892981
:END:
Avoid using stencil buffer, useful if you don't have a stencil buffer. Might
cause incorrect opacity when rendering transparent content (but never
practically happened) and may not work with blur-background. Tests show a 15%
performance boost. Recommended.
| Default value | ~false~ |
#+BEGIN_SRC conf
Avoid using stencil buffer, useful if you don't have a stencil buffer. Might cause incorrect opacity when rendering transparent content (but never practically happened) and may not work with blur-background. Tests show a 15% performance boost. Recommended.
| Default value | ~false~ |
#+BEGIN_SRC conf
glx-no-stencil = true;
#+END_SRC
#+END_SRC
Avoid rebinding pixmap on window damage. Probably could improve performance
on rapid window content changes, but is known to break things on some drivers
(LLVMpipe, xf86-video-intel, etc.). Recommended if it works.
| Default value | ~false~ |
#+BEGIN_SRC conf
Avoid rebinding pixmap on window damage. Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). Recommended if it works.
| Default value | ~false~ |
#+BEGIN_SRC conf
glx-no-rebind-pixmap = false;
#+END_SRC
#+END_SRC
Use specified GLSL fragment shader for rendering window contents. See
~compton-default-fshader-win.glsl~ and
~compton-fake-transparency-fshader-win.glsl~ in the source tree for examples.
| Default value | ~''~ |
#+BEGIN_SRC conf :tangle no
Use specified GLSL fragment shader for rendering window contents. See ~compton-default-fshader-win.glsl~ and ~compton-fake-transparency-fshader-win.glsl~ in the source tree for examples.
| Default value | ~''~ |
#+BEGIN_SRC conf :tangle no
glx-fshader-win = '';
#+END_SRC
#+END_SRC

File diff suppressed because it is too large Load Diff

View File

@ -10,117 +10,99 @@
:PROPERTIES:
:CUSTOM_ID: Introduction-465e99fe
:END:
The ~.rustfmt.toml~ file located in the ~$HOME~ directory is a global
configuration file for Rusts code formatters, such as ~rustfmt~. In this
file, you can find how my Rust code is always formatted.
The ~.rustfmt.toml~ file located in the ~$HOME~ directory is a global configuration file for Rusts code formatters, such as ~rustfmt~. In this file, you can find how my Rust code is always formatted.
* General settings
:PROPERTIES:
:CUSTOM_ID: General_settings-7f5cb2f6
:END:
First, we are using the 2018 edition of Rust.
#+BEGIN_SRC toml
First, we are using the 2018 edition of Rust.
#+BEGIN_SRC toml
edition = "2018"
#+END_SRC
Put single-expression functions on a single line.
#+BEGIN_SRC toml
#+END_SRC
Put single-expression functions on a single line.
#+BEGIN_SRC toml
fn_single_line = true
#+END_SRC
Format string literals where necessary.
#+BEGIN_SRC toml
#+END_SRC
Format string literals where necessary.
#+BEGIN_SRC toml
format_strings = true
#+END_SRC
Maximum width of each line
#+BEGIN_SRC toml
#+END_SRC
Maximum width of each line
#+BEGIN_SRC toml
max_width = 80
#+END_SRC
Merge multiple imports into a single nested import.
#+BEGIN_SRC toml
#+END_SRC
Merge multiple imports into a single nested import.
#+BEGIN_SRC toml
merge_imports = true
#+END_SRC
#+END_SRC
* Structs and Enums
:PROPERTIES:
:CUSTOM_ID: Structs_and_Enums-6a2a856d
:END:
The maximum length of enum variant having discriminant, that gets vertically
aligned with others. Variants without discriminants would be ignored for the
purpose of alignment.
The maximum length of enum variant having discriminant, that gets vertically aligned with others. Variants without discriminants would be ignored for the purpose of alignment.
Note that this is not how much whitespace is inserted, but instead the longest
variant name that doesn't get ignored when aligning.
#+BEGIN_SRC toml
Note that this is not how much whitespace is inserted, but instead the longest variant name that doesn't get ignored when aligning.
#+BEGIN_SRC toml
enum_discrim_align_threshold = 20
#+END_SRC
The maximum diff of width between struct fields to be aligned with each other.
#+BEGIN_SRC toml
#+END_SRC
The maximum diff of width between struct fields to be aligned with each other.
#+BEGIN_SRC toml
struct_field_align_threshold = 20
#+END_SRC
Reorder impl items. ~type~ and ~const~ are put first, then macros and methods.
#+BEGIN_SRC toml
#+END_SRC
Reorder impl items. ~type~ and ~const~ are put first, then macros and methods.
#+BEGIN_SRC toml
reorder_impl_items = true
#+END_SRC
#+END_SRC
* Comments
:PROPERTIES:
:CUSTOM_ID: Comments-b1904bb0
:END:
Convert ~/* */~ comments to ~//~ comments where possible.
#+BEGIN_SRC toml
Convert ~/* */~ comments to ~//~ comments where possible.
#+BEGIN_SRC toml
normalize_comments = true
#+END_SRC
Break comments to fit on the line.
#+BEGIN_SRC toml
#+END_SRC
Break comments to fit on the line.
#+BEGIN_SRC toml
wrap_comments = true
#+END_SRC
Report ~FIXME~ items in comments.
#+BEGIN_SRC toml
#+END_SRC
Report ~FIXME~ items in comments.
#+BEGIN_SRC toml
report_fixme = "Always"
#+END_SRC
Report ~TODO~ items in comments.
#+BEGIN_SRC toml
#+END_SRC
Report ~TODO~ items in comments.
#+BEGIN_SRC toml
todo = "Always"
#+END_SRC
#+END_SRC
* Documentation
:PROPERTIES:
:CUSTOM_ID: Documentation-0c7981c7
:END:
Format code snippet included in doc comments.
#+BEGIN_SRC toml
Format code snippet included in doc comments.
#+BEGIN_SRC toml
format_code_in_doc_comments = true
#+END_SRC
Convert ~#![doc]~ and ~#[doc]~ attributes to ~//!~ and ~///~ doc comments.
#+BEGIN_SRC toml
#+END_SRC
Convert ~#![doc]~ and ~#[doc]~ attributes to ~//!~ and ~///~ doc comments.
#+BEGIN_SRC toml
normalize_doc_attributes = true
#+END_SRC
#+END_SRC
* Whitespace
:PROPERTIES:
:CUSTOM_ID: Whitespace-e8792b44
:END:
Use tab characters for indentation, spaces for alignment.
#+BEGIN_SRC toml
Use tab characters for indentation, spaces for alignment.
#+BEGIN_SRC toml
hard_tabs = false
#+END_SRC
Number of spaces per tab.
#+BEGIN_SRC toml
#+END_SRC
Number of spaces per tab.
#+BEGIN_SRC toml
tab_spaces = 4
#+END_SRC
I want newlines to always be Unix style.
#+BEGIN_SRC toml
#+END_SRC
I want newlines to always be Unix style.
#+BEGIN_SRC toml
newline_style = "Unix"
#+END_SRC
#+END_SRC

View File

@ -10,396 +10,334 @@
:PROPERTIES:
:CUSTOM_ID: Presentation-0b37c6c0
:END:
I dont really use tmux often, but I certainly do like a nice presentation and
useful features, hence this configuration. This config file is inspired by
gpakoszs tmux configuration repo you can find [[https://github.com/gpakosz/.tmux][here]].
I dont really use tmux often, but I certainly do like a nice presentation and useful features, hence this configuration. This config file is inspired by gpakoszs tmux configuration repo you can find [[https://github.com/gpakosz/.tmux][here]].
* Windows and pane creation
:PROPERTIES:
:CUSTOM_ID: Windows_and_pane_creation-66275518
:END:
Whether if a new *window* will retain the current path. Possible values are:
- true
- false (default)
#+BEGIN_SRC conf-unix
tmux_conf_new_window_retain_current_path=true
#+END_SRC
Whether if a new *pane* should retain the current path. Possible values are:
- true (default)
- false
#+BEGIN_SRC conf-unix
tmux_conf_new_window_retain_current_path=true
#+END_SRC
Whether or not tmux should attempt to reconnect to the current ssh session.
This is still experimental. Possible values are:
- true
- false (default)
#+BEGIN_SRC conf-unix
tmux_conf_new_pane_reconnect_ssh=true
#+END_SRC
Whether tmux should prompt for new session name when creating a new one.
Possible values are:
- true
- false (default)
#+BEGIN_SRC conf-unix
tmux_conf_new_session_prompt=false
#+END_SRC
Whether if a new *window* will retain the current path. Possible values are:
- ~true~
- ~false~ (default)
#+BEGIN_SRC conf-unix
tmux_conf_new_window_retain_current_path=true
#+END_SRC
Whether if a new *pane* should retain the current path. Possible values are:
- ~true~ (default)
- ~false~
#+BEGIN_SRC conf-unix
tmux_conf_new_window_retain_current_path=true
#+END_SRC
Whether or not tmux should attempt to reconnect to the current ssh session. This is still experimental. Possible values are:
- ~true~
- ~false~ (default)
#+BEGIN_SRC conf-unix
tmux_conf_new_pane_reconnect_ssh=true
#+END_SRC
Whether tmux should prompt for new session name when creating a new one. Possible values are:
- ~true~
- ~false~ (default)
#+BEGIN_SRC conf-unix
tmux_conf_new_session_prompt=false
#+END_SRC
* Display
:PROPERTIES:
:CUSTOM_ID: Display-d5ae1908
:END:
Whether to activate RGB 24-bit color support (only available in tmux >= 2.2).
Possible values are:
- true
- false (default)
#+BEGIN_SRC conf-unix
tmux_conf_theme_24b_colour=false
#+END_SRC
These variables are for chosing the window style. I use the default one.
#+BEGIN_SRC conf-unix
Whether to activate RGB 24-bit color support (only available in tmux >= 2.2). Possible values are:
- ~true~
- ~false~ (default)
#+BEGIN_SRC conf-unix
tmux_conf_theme_24b_colour=false
#+END_SRC
These variables are for chosing the window style. I use the default one.
#+BEGIN_SRC conf-unix
tmux_conf_theme_window_fg='default'
tmux_conf_theme_window_bg='default'
#+END_SRC
Whether the focused pane should be highlighted (only available in tmux >=
2.1). Possible values are:
- true
- false (default)
#+BEGIN_SRC conf-unix
#+END_SRC
Whether the focused pane should be highlighted (only available in tmux >= 2.1). Possible values are:
- ~true~
- ~false~ (default)
#+BEGIN_SRC conf-unix
tmux_conf_theme_highlight_focused_pane=false
#+END_SRC
Set the terminal title. Built-in variables are:
- =#{circled_window_index}=
- =#{circled_session_name}=
- =#{hostname}=
- =#{hostname_ssh}=
- =#{username}=
- =#{username_ssh}=
#+BEGIN_SRC conf-unix
#+END_SRC
Set the terminal title. Built-in variables are:
- =#{circled_window_index}=
- =#{circled_session_name}=
- =#{hostname}=
- =#{hostname_ssh}=
- =#{username}=
- =#{username_ssh}=
#+BEGIN_SRC conf-unix
tmux_conf_theme_terminal_title='#h ❐ #S ● #I #W'
#+END_SRC
These variables set the left/right separators between sections. With the
current values, you dont need to install Powerline, but only fonts patched
with Powerline symbols or the standalone PowerlineSymbols.otf font.
#+BEGIN_SRC conf-unix
#+END_SRC
These variables set the left/right separators between sections. With the current values, you dont need to install Powerline, but only fonts patched with Powerline symbols or the standalone PowerlineSymbols.otf font.
#+BEGIN_SRC conf-unix
tmux_conf_theme_left_separator_main='\uE0B0'
tmux_conf_theme_left_separator_sub='\uE0B1'
tmux_conf_theme_right_separator_main='\uE0B2'
tmux_conf_theme_right_separator_sub='\uE0B3'
#+END_SRC
#+END_SRC
** Colors and style
:PROPERTIES:
:CUSTOM_ID: Display-Colors_and_style-0994a014
:END:
Colors displayed in tmux can be chosen thanks to the following variables. Any
color should be formatted as a hexadecimal RGB value preceded by a pound sign
=#= (e.g. =#00afff= for light blue) or =default= to let our terminal set it
for us.
Colors displayed in tmux can be chosen thanks to the following variables. Any color should be formatted as a hexadecimal RGB value preceded by a pound sign =#= (e.g. =#00afff= for light blue) or =default= to let our terminal set it for us.
Choose the style of the pane borders. Possible values are:
- thin (default)
- fat
#+BEGIN_SRC conf-unix
tmux_conf_theme_pane_border_style=thin
#+END_SRC
Declare what the colors of the focused pane should be. The first variable
specifies the foreground color, the other the background color.
#+BEGIN_SRC conf-unix
Choose the style of the pane borders. Possible values are:
- ~thin~ (default)
- ~fat~
#+BEGIN_SRC conf-unix
tmux_conf_theme_pane_border_style=thin
#+END_SRC
Declare what the colors of the focused pane should be. The first variable specifies the foreground color, the other the background color.
#+BEGIN_SRC conf-unix
tmux_conf_theme_focused_pane_fg='default'
tmux_conf_theme_focused_pane_bg='#0087d7'
#+END_SRC
Here you can set the colors of the pane borders.
#+BEGIN_SRC conf-unix
#+END_SRC
Here you can set the colors of the pane borders.
#+BEGIN_SRC conf-unix
tmux_conf_theme_pane_border='#444444'
tmux_conf_theme_pane_active_border='#00afff'
#+END_SRC
With these variables, you can set the colors for the pane indicators.
#+BEGIN_SRC conf-unix
#+END_SRC
With these variables, you can set the colors for the pane indicators.
#+BEGIN_SRC conf-unix
tmux_conf_theme_pane_indicator='#00afff'
tmux_conf_theme_pane_active_indicator='#00afff'
#+END_SRC
These variables set the colors and the style of the status line.
#+BEGIN_SRC conf-unix
#+END_SRC
These variables set the colors and the style of the status line.
#+BEGIN_SRC conf-unix
tmux_conf_theme_message_fg='#000000'
tmux_conf_theme_message_bg='#ffff00'
tmux_conf_theme_message_attr='bold'
#+END_SRC
Same as above for the status line command style.
#+BEGIN_SRC conf-unix
#+END_SRC
Same as above for the status line command style.
#+BEGIN_SRC conf-unix
tmux_conf_theme_message_command_fg='#ffff00'
tmux_conf_theme_message_command_bg='#000000'
tmux_conf_theme_message_command_attr='bold'
#+END_SRC
These variables set the style of the window modes.
#+BEGIN_SRC conf-unix
#+END_SRC
These variables set the style of the window modes.
#+BEGIN_SRC conf-unix
tmux_conf_theme_mode_fg='#000000'
tmux_conf_theme_mode_bg='#ffff00'
tmux_conf_theme_mode_attr='bold'
#+END_SRC
Set the style of the status line.
#+BEGIN_SRC conf-unix
#+END_SRC
Set the style of the status line.
#+BEGIN_SRC conf-unix
tmux_conf_theme_status_fg='#8a8a8a'
tmux_conf_theme_status_bg='#080808'
tmux_conf_theme_status_attr='none'
#+END_SRC
#+END_SRC
** Window status bar
:PROPERTIES:
:CUSTOM_ID: Display-Window_status_bar-dff37ae7
:END:
The following variables are to set the windows status style and format.
The following variables are to set the windows status style and format.
Sets the colors and style of the window status.
#+BEGIN_SRC conf-unix
Sets the colors and style of the window status.
#+BEGIN_SRC conf-unix
tmux_conf_theme_window_status_fg='#8a8a8a'
tmux_conf_theme_window_status_bg='#080808'
tmux_conf_theme_window_status_attr='none'
#+END_SRC
Sets the format of the window status. Built-in variables are:
- =#{circled_window_index}=
- =#{circled_session_name}=
- =#{hostname}=
- =#{hostname_ssh}=
- =#{username}=
- =#{username_ssh}=
#+BEGIN_SRC conf-unix
tmux_conf_theme_window_status_format='#I #W'
#+END_SRC
Sets the colors and style of the current window status.
#+BEGIN_SRC conf-unix
#+END_SRC
Sets the format of the window status. Built-in variables are:
- =#{circled_window_index}=
- =#{circled_session_name}=
- =#{hostname}=
- =#{hostname_ssh}=
- =#{username}=
- =#{username_ssh}=
#+BEGIN_SRC conf-unix
tmux_conf_theme_window_status_format='#I #W'
#+END_SRC
Sets the colors and style of the current window status.
#+BEGIN_SRC conf-unix
tmux_conf_theme_window_status_current_fg='#000000'
tmux_conf_theme_window_status_current_bg='#00afff'
tmux_conf_theme_window_status_current_attr='bold'
#+END_SRC
Sets the format of the currentwindow status. Built-in variables are:
- =#{circled_window_index}=
- =#{circled_session_name}=
- =#{hostname}=
- =#{hostname_ssh}=
- =#{username}=
- =#{username_ssh}=
#+BEGIN_SRC conf-unix
#+END_SRC
Sets the format of the currentwindow status. Built-in variables are:
- =#{circled_window_index}=
- =#{circled_session_name}=
- =#{hostname}=
- =#{hostname_ssh}=
- =#{username}=
- =#{username_ssh}=
#+BEGIN_SRC conf-unix
tmux_conf_theme_window_status_current_format='#I #W'
#+END_SRC
Sets the window activity status style.
#+BEGIN_SRC conf-unix
#+END_SRC
Sets the window activity status style.
#+BEGIN_SRC conf-unix
tmux_conf_theme_window_status_activity_fg='default'
tmux_conf_theme_window_status_activity_bg='default'
tmux_conf_theme_window_status_activity_attr='underscore'
#+END_SRC
Sets the window bell status style.
#+BEGIN_SRC conf-unix
#+END_SRC
Sets the window bell status style.
#+BEGIN_SRC conf-unix
tmux_conf_theme_window_status_bell_fg='#ffff00'
tmux_conf_theme_window_status_bell_bg='default'
tmux_conf_theme_window_status_bell_attr='blink,bold'
#+END_SRC
Sets the window last status style.
#+BEGIN_SRC conf-unix
#+END_SRC
Sets the window last status style.
#+BEGIN_SRC conf-unix
tmux_conf_theme_window_status_last_fg='#00afff'
tmux_conf_theme_window_status_last_bg='default'
tmux_conf_theme_window_status_last_attr='none'
#+END_SRC
Sets the left and right content of the status bar of tmux. Sections should be
separated with =|=, subsections with =,=. The built-in values are:
- =#{battery_bar}=
- =#{battery_hbar}=
- =#{battery_percentage}=
- =#{battery_status}=
- =#{battery_vbar}=
- =#{circled_session_name}=
- =#{hostname_ssh}=
- =#{hostname}=
- =#{loadavg}=
- =#{pairing}=
- =#{prefix}=
- =#{root}=
- =#{synchronized}=
- =#{uptime_y}=
- =#{uptime_d}= (modulo 365 when =#{uptime_y}= is used)
- =#{uptime_h}=
- =#{uptime_m}=
- =#{uptime_s}=
- =#{username}=
- =#{username_ssh}=
#+BEGIN_SRC conf-unix
#+END_SRC
Sets the left and right content of the status bar of tmux. Sections should be separated with =|=, subsections with =,=. The built-in values are:
- =#{battery_bar}=
- =#{battery_hbar}=
- =#{battery_percentage}=
- =#{battery_status}=
- =#{battery_vbar}=
- =#{circled_session_name}=
- =#{hostname_ssh}=
- =#{hostname}=
- =#{loadavg}=
- =#{pairing}=
- =#{prefix}=
- =#{root}=
- =#{synchronized}=
- =#{uptime_y}=
- =#{uptime_d}= (modulo 365 when =#{uptime_y}= is used)
- =#{uptime_h}=
- =#{uptime_m}=
- =#{uptime_s}=
- =#{username}=
- =#{username_ssh}=
#+BEGIN_SRC conf-unix
tmux_conf_theme_status_left=' ❐ #S | ↑#{?uptime_y, #{uptime_y}y,}#{?uptime_d, #{uptime_d}d,}#{?uptime_h, #{uptime_h}h,}#{?uptime_m, #{uptime_m}m,} '
tmux_conf_theme_status_right='#{prefix}#{pairing}#{synchronized} #{?battery_status, #{battery_status},}#{?battery_bar, #{battery_bar},}#{?battery_percentage, #{battery_percentage},} , %R , %d %b | #{username}#{root} | #{hostname} '
#+END_SRC
Sets the left status style and colors.
#+BEGIN_SRC conf-unix
#+END_SRC
Sets the left status style and colors.
#+BEGIN_SRC conf-unix
tmux_conf_theme_status_left_fg='#000000,#e4e4e4,#e4e4e4'
tmux_conf_theme_status_left_bg='#ffff00,#ff00af,#00afff'
tmux_conf_theme_status_left_attr='bold,none,none'
#+END_SRC
Sets the right status style and colors.
#+BEGIN_SRC conf-unix
#+END_SRC
Sets the right status style and colors.
#+BEGIN_SRC conf-unix
tmux_conf_theme_status_right_fg='#8a8a8a,#e4e4e4,#000000'
tmux_conf_theme_status_right_bg='#080808,#d70000,#e4e4e4'
tmux_conf_theme_status_right_attr='none,none,bold'
#+END_SRC
Set the pairing indicator, its style and its attribute.
#+BEGIN_SRC conf-unix
#+END_SRC
Set the pairing indicator, its style and its attribute.
#+BEGIN_SRC conf-unix
tmux_conf_theme_pairing='👓 ' # U+1F453
tmux_conf_theme_pairing_fg='none'
tmux_conf_theme_pairing_bg='none'
tmux_conf_theme_pairing_attr='none'
#+END_SRC
Set the pairing indicator, its style and its attribute.
#+BEGIN_SRC conf-unix
#+END_SRC
Set the pairing indicator, its style and its attribute.
#+BEGIN_SRC conf-unix
# prefix indicator
tmux_conf_theme_prefix='⌨ ' # U+2328
tmux_conf_theme_prefix_fg='none'
tmux_conf_theme_prefix_bg='none'
tmux_conf_theme_prefix_attr='none'
#+END_SRC
Set the root indicator, its style and its attribute.
#+BEGIN_SRC conf-unix
#+END_SRC
Set the root indicator, its style and its attribute.
#+BEGIN_SRC conf-unix
tmux_conf_theme_root='!'
tmux_conf_theme_root_fg='none'
tmux_conf_theme_root_bg='none'
tmux_conf_theme_root_attr='bold,blink'
#+END_SRC
Set the synchronized indicator, its style and its attribute.
#+BEGIN_SRC conf-unix
#+END_SRC
Set the synchronized indicator, its style and its attribute.
#+BEGIN_SRC conf-unix
tmux_conf_theme_synchronized='🔒' # U+1F512
tmux_conf_theme_synchronized_fg='none'
tmux_conf_theme_synchronized_bg='none'
tmux_conf_theme_synchronized_attr='none'
#+END_SRC
Set the battery bar symbols.
#+BEGIN_SRC conf-unix
#+END_SRC
Set the battery bar symbols.
#+BEGIN_SRC conf-unix
tmux_conf_battery_bar_symbol_full='◼'
tmux_conf_battery_bar_symbol_empty='◻'
#+END_SRC
Set the battery bar length in terms of amount of symbols. Possible values
are:
- =auto=
- an integer number, e.g. 5
#+BEGIN_SRC conf-unix
#+END_SRC
Set the battery bar length in terms of amount of symbols. Possible values are:
- =auto=
- an integer number, e.g. 5
#+BEGIN_SRC conf-unix
tmux_conf_battery_bar_length='auto'
#+END_SRC
Set the battery bar palette. Possible values are:
- =gradient= (default)
- =heat=
- =color_full_fg,color_empty_fg,color_bg= with each being an hexadecimal RGB
value preceded by a pound symbol =#=.
#+BEGIN_SRC conf-unix
#+END_SRC
Set the battery bar palette. Possible values are:
- =gradient= (default)
- =heat=
- =color_full_fg,color_empty_fg,color_bg= with each being an hexadecimal RGB value preceded by a pound symbol =#=.
#+BEGIN_SRC conf-unix
tmux_conf_battery_bar_palette='gradient'
#tmux_conf_battery_bar_palette='#d70000,#e4e4e4,#000000'
#+END_SRC
Set the hbar palette. Possible values are:
- =gradient= (default)
- =heat=
- =color_full_fg,color_empty_fg,color_bg= with each being an hexadecimal RGB
value preceded by a pound symbol =#=.
#+BEGIN_SRC conf-unix
#+END_SRC
Set the hbar palette. Possible values are:
- =gradient= (default)
- =heat=
- =color_full_fg,color_empty_fg,color_bg= with each being an hexadecimal RGB value preceded by a pound symbol =#=.
#+BEGIN_SRC conf-unix
tmux_conf_battery_hbar_palette='gradient'
#+END_SRC
Set the vbar palette. Possible values are:
- =gradient= (default)
- =heat=
- =color_full_fg,color_empty_fg,color_bg= with each being an hexadecimal RGB
value preceded by a pound symbol =#=.
#+BEGIN_SRC conf-unix
#+END_SRC
Set the vbar palette. Possible values are:
- =gradient= (default)
- =heat=
- =color_full_fg,color_empty_fg,color_bg= with each being an hexadecimal RGB value preceded by a pound symbol =#=.
#+BEGIN_SRC conf-unix
tmux_conf_battery_vbar_palette='gradient'
#+END_SRC
Set symbols used to indicate whether the battery is charging or discharging.
#+BEGIN_SRC conf-unix
#+END_SRC
Set symbols used to indicate whether the battery is charging or discharging.
#+BEGIN_SRC conf-unix
tmux_conf_battery_status_charging='⚡ ' # U+26A1
tmux_conf_battery_status_discharging='🔋 ' # U+1F50B
# tmux_conf_battery_status_charging='↑' # U+2191
# tmux_conf_battery_status_discharging='↓' # U+2193
#tmux_conf_battery_status_charging='🔌 ' # U+1F50C
#+END_SRC
Set the clock style. If it is displayed on the right side of the status bar,
it might be better to use =%I:%M %p= rather than =%R= in
=tmux_conf_theme_status_right=.
#+BEGIN_SRC conf-unix
#+END_SRC
Set the clock style. If it is displayed on the right side of the status bar, it might be better to use =%I:%M %p= rather than =%R= in =tmux_conf_theme_status_right=.
#+BEGIN_SRC conf-unix
tmux_conf_theme_clock_colour='#00afff'
tmux_conf_theme_clock_style='24'
#+END_SRC
#+END_SRC
* Clipboard
:PROPERTIES:
:CUSTOM_ID: Clipboard-66d0d03a
:END:
Whether if in copy mode, copying the selection also copies to the OS
clipboard. Possible values are:
- true
- false (default)
#+BEGIN_SRC conf-unix
Whether if in copy mode, copying the selection also copies to the OS clipboard. Possible values are:
- ~true~
- ~false~ (default)
#+BEGIN_SRC conf-unix
tmux_conf_copy_to_os_clipboard=false
#+END_SRC
#+END_SRC
* User customizations
:PROPERTIES:
:CUSTOM_ID: User_customizations-c913b5d7
:END:
Here we can override or undo some setting from settings from tmux. First, we
can increase the history size.
#+BEGIN_SRC conf-unix
Here we can override or undo some setting from settings from tmux. First, we can increase the history size.
#+BEGIN_SRC conf-unix
set -g history-limit 10000
#+END_SRC
We can also start with mouse mode enabled. But I dont.
#+BEGIN_SRC conf-unix
#+END_SRC
We can also start with mouse mode enabled. But I dont.
#+BEGIN_SRC conf-unix
#set -g mouse on
#+END_SRC
Whether or not Vi mode should be enabled. But really, we should rather export
the =VISUAL= or =EDITOR= environment variables, see the tmux manual. Although
I dont, as said in my dotfish, I prefer to use Emacs.
#+BEGIN_SRC conf-unix
#+END_SRC
Whether or not Vi mode should be enabled. But really, we should rather export the =VISUAL= or =EDITOR= environment variables, see the tmux manual. Although I dont, as said in my dotfish, I prefer to use Emacs.
#+BEGIN_SRC conf-unix
#set -g status-keys vi
#set -g mode-keys vi
#+END_SRC
Replace =C-b= by =C-a= instead of using both prefixes. I personally prefer to
just use =C-b=, hence why the lines are commented.
#+BEGIN_SRC conf-unix
#+END_SRC
Replace =C-b= by =C-a= instead of using both prefixes. I personally prefer to just use =C-b=, hence why the lines are commented.
#+BEGIN_SRC conf-unix
# set -gu prefix2
# unbind C-a
# unbind C-b
# set -g prefix C-a
# bind C-a send-prefix
#+END_SRC
Move the status line to the top.
#+BEGIN_SRC conf-unix
#+END_SRC
Move the status line to the top.
#+BEGIN_SRC conf-unix
#set -g status-position top
#+END_SRC
#+END_SRC