From 30c436b7f35133c808eb34e9425e6df592f2a027 Mon Sep 17 00:00:00 2001 From: davidpkj Date: Sun, 27 Aug 2023 16:32:21 +0200 Subject: Update to current general style --- bash/.bashrc | 20 +- lf/.config/lf/lfrc | 17 +- mpd/.config/mpd/mpd.conf | 431 +++++++++++++++ ncmpcpp/.config/ncmpcpp/bindings | 212 ++++++++ ncmpcpp/.config/ncmpcpp/config | 605 +++++++++++++++++++++ neofetch/.config/neofetch/config.conf | 5 +- nsxiv/.config/nsxiv/exec/image-info | 19 + picom/.config/picom/picom.conf | 394 +------------- picom/.config/picom/shaders/crt.glsl | 29 + picom/.config/picom/shaders/default.glsl | 11 + picom/.config/picom/shaders/grayscale.glsl | 28 + picom/.config/picom/shaders/transparency.glsl | 19 + .../.config/wal/colorschemes/dark/angel_city.json | 29 + .../wal/colorschemes/dark/catpuccin-frappe.json | 28 + .../wal/colorschemes/dark/catpuccin-latte.json | 28 + .../wal/colorschemes/dark/catpuccin-macchiato.json | 28 + .../wal/colorschemes/dark/catpuccin-mocha.json | 28 + pywal/.config/wal/colorschemes/dark/dunes.json | 29 + pywal/.config/wal/templates/colors.Xresources | 24 + pywal/.config/wal/templates/colors.sh | 38 ++ pywal/.config/wal/templates/dunstrc | 438 +++++++++++++++ pywal/.config/wal/templates/flameshot.ini | 7 + pywal/.config/wal/templates/zathurarc | 36 ++ qutebrowser/.config/qutebrowser/config.py | 23 +- qutebrowser/.config/qutebrowser/home.html | 90 ++- qutebrowser/.config/qutebrowser/utils.py | 22 +- .../systemd/user/default.target.wants/mpd.service | 1 + xorg/.Xmodmap | 168 +++--- xorg/.Xresources | 69 ++- xorg/.config/env | 49 +- xorg/.config/mimeapps.list | 23 +- xorg/.config/wallpaper | Bin 1782198 -> 547 bytes xorg/.xinitrc | 34 +- zathura/.config/zathura/zathurarc | 23 - 34 files changed, 2468 insertions(+), 537 deletions(-) create mode 100644 mpd/.config/mpd/mpd.conf create mode 100644 ncmpcpp/.config/ncmpcpp/bindings create mode 100644 ncmpcpp/.config/ncmpcpp/config create mode 100755 nsxiv/.config/nsxiv/exec/image-info create mode 100644 picom/.config/picom/shaders/crt.glsl create mode 100644 picom/.config/picom/shaders/default.glsl create mode 100644 picom/.config/picom/shaders/grayscale.glsl create mode 100644 picom/.config/picom/shaders/transparency.glsl create mode 100644 pywal/.config/wal/colorschemes/dark/angel_city.json create mode 100644 pywal/.config/wal/colorschemes/dark/catpuccin-frappe.json create mode 100644 pywal/.config/wal/colorschemes/dark/catpuccin-latte.json create mode 100644 pywal/.config/wal/colorschemes/dark/catpuccin-macchiato.json create mode 100644 pywal/.config/wal/colorschemes/dark/catpuccin-mocha.json create mode 100644 pywal/.config/wal/colorschemes/dark/dunes.json create mode 100644 pywal/.config/wal/templates/colors.Xresources create mode 100644 pywal/.config/wal/templates/colors.sh create mode 100644 pywal/.config/wal/templates/dunstrc create mode 100644 pywal/.config/wal/templates/flameshot.ini create mode 100644 pywal/.config/wal/templates/zathurarc create mode 120000 systemd/.config/systemd/user/default.target.wants/mpd.service delete mode 100644 zathura/.config/zathura/zathurarc diff --git a/bash/.bashrc b/bash/.bashrc index e31c556..f6ce5bf 100755 --- a/bash/.bashrc +++ b/bash/.bashrc @@ -1,6 +1,8 @@ # If not running interactively, don't do anything [[ $- != *i* ]] && return +terminal="$(basename "/"$(ps -o cmd -f -p $(cat /proc/$(echo $$)/stat | cut -d \ -f 4) | tail -1 | sed 's/ .*$//'))" + # Define function for easy script sourcing source_if_present () { [ -f "$1" ] && source $1 ; } @@ -15,6 +17,10 @@ source_if_present "$HOME/.cache/wal/colors-tty.sh" # Load bash completion source_if_present "/usr/share/bash-completion/bash_completion" +# Colors in less +export LESS="--RAW-CONTROL-CHARS" +source_if_present "$HOME/.config/less/termcap" + # Enable tab to cycle-complete bind '"\t":menu-complete' @@ -36,14 +42,16 @@ alias lgit="lazygit" alias mail="neomutt" alias mus="ncmpcpp" alias su="su -" -alias tlmgr="tllocalmgr" alias vim="nvim" +alias yp="pwd | clip" alias ytdl="yt-dlp" -alias zeit="tty-clock -C 3 -f %d.%m.%Y -sc" +alias zeit="tty-clock -C 1 -f %d.%m.%Y -sc" -# Set prompt -PS1='[\001\e[0;31m\002\j\001\e[0m\002] [ \001\e[0;31m\002\u\001\e[0m\002@\001\e[0;31m\002\h\001\e[0m\002 ] \001\e[0;35m\002\W\001\e[0m\002 \$ ' +export PS1='[\001\e[0;36m\002\j\001\e[0m\002] [ \001\e[0;34m\002\u\001\e[0m\002@\001\e[0;34m\002\h\001\e[0m\002 ] \001\e[0;35m\002\W\001\e[0m\002 \$ ' -# Enable wal colors -[ -f "$HOME/.cache/wal/sequences" ] && (cat "$HOME/.cache/wal/sequences" &) +# Enable wal colors, if terminal emulator is 'st' +if [[ "$terminal" = "st" ]]; then + [ -f "$HOME/.cache/wal/sequences" ] && (cat "$HOME/.cache/wal/sequences" &) +fi +# trap 'echo -ne "\033]0;$BASH_COMMAND\007"' DEBUG diff --git a/lf/.config/lf/lfrc b/lf/.config/lf/lfrc index 430dbde..01a56e1 100755 --- a/lf/.config/lf/lfrc +++ b/lf/.config/lf/lfrc @@ -35,7 +35,7 @@ cmd open ${{ image/x-xcf) setsid -f gimp $f >/dev/null 2>&1 ;; image/svg+xml) display -- $f ;; image/*) rotdir $f | grep -i "\.\(png\|jpg\|jpeg\|gif\|webp\|tif\|ico\)\(_large\)*$" | - setsid -f sxiv -aio 2>/dev/null | while read -r file; do + setsid -f nsxiv -aio 2>/dev/null | while read -r file; do [ -z "$file" ] && continue lf -remote "send select \"$file\"" lf -remote "send toggle" @@ -74,7 +74,22 @@ cmd copypath ${{ pwd | xclip -selection clipboard }} +cmd pdfunite ${{ + pdfunite "$fx" +}} + +cmd underscoreitall ${{ + underscoreitall "$fx" +}} + +cmd remerge ${{ + reMerge "$fx" +}} + # Bindings +map + remerge +map _ underscoreitall +map U pdfunite map P copypath map D delete map E extract diff --git a/mpd/.config/mpd/mpd.conf b/mpd/.config/mpd/mpd.conf new file mode 100644 index 0000000..ade5562 --- /dev/null +++ b/mpd/.config/mpd/mpd.conf @@ -0,0 +1,431 @@ +# An example configuration file for MPD. +# Read the user manual for documentation: http://www.musicpd.org/doc/user/ + + +# Files and directories ####################################################### +# +# This setting controls the top directory which MPD will search to discover the +# available audio files and add them to the daemon's online database. This +# setting defaults to the XDG directory, otherwise the music directory will be +# be disabled and audio files will only be accepted over ipc socket (using +# file:// protocol) or streaming files over an accepted protocol. +# +music_directory "~/music/files/" +# +# This setting sets the MPD internal playlist directory. The purpose of this +# directory is storage for playlists created by MPD. The server will use +# playlist files not created by the server but only if they are in the MPD +# format. This setting defaults to playlist saving being disabled. +# +playlist_directory "~/.config/mpd/playlists" +# +# This setting sets the location of the MPD database. This file is used to +# load the database at server start up and store the database while the +# server is not up. This setting defaults to disabled which will allow +# MPD to accept files over ipc socket (using file:// protocol) or streaming +# files over an accepted protocol. +# +db_file "~/.config/mpd/database" + +# These settings are the locations for the daemon log files for the daemon. +# +# The special value "syslog" makes MPD use the local syslog daemon. This +# setting defaults to logging to syslog. +# +# If you use systemd, do not configure a log_file. With systemd, MPD +# defaults to the systemd journal, which is fine. +# +#log_file "~/.mpd/log" + +# This setting sets the location of the file which stores the process ID +# for use of mpd --kill and some init scripts. This setting is disabled by +# default and the pid file will not be stored. +# +# If you use systemd, do not configure a pid_file. +# +pid_file "~/.config/mpd/pid" + +# This setting sets the location of the file which contains information about +# most variables to get MPD back into the same general shape it was in before +# it was brought down. This setting is disabled by default and the server +# state will be reset on server start up. +# +#state_file "~/.mpd/state" +# +# The location of the sticker database. This is a database which +# manages dynamic information attached to songs. +# +#sticker_file "~/.mpd/sticker.sql" +# +############################################################################### + + +# General music daemon options ################################################ +# +# This setting specifies the user that MPD will run as. MPD should never run as +# root and you may use this setting to make MPD change its user ID after +# initialization. This setting is disabled by default and MPD is run as the +# current user. +# +#user "nobody" +# +# This setting specifies the group that MPD will run as. If not specified +# primary group of user specified with "user" setting will be used (if set). +# This is useful if MPD needs to be a member of group such as "audio" to +# have permission to use sound card. +# +#group "nogroup" +# +# This setting sets the address for the daemon to listen on. Careful attention +# should be paid if this is assigned to anything other than the default, any. +# This setting can deny access to control of the daemon. Not effective if +# systemd socket activation is in use. +# +# For network +#bind_to_address "any" +# +# And for Unix Socket +#bind_to_address "~/.mpd/socket" +# +# This setting is the TCP port that is desired for the daemon to get assigned +# to. +# +#port "6600" +# +# Suppress all messages below the given threshold. Use "verbose" for +# troubleshooting. Available setting arguments are "notice", "info", "verbose", +# "warning" and "error". +# +#log_level "notice" +# +# Setting "restore_paused" to "yes" puts MPD into pause mode instead +# of starting playback after startup. +# +#restore_paused "no" +# +# This setting enables MPD to create playlists in a format usable by other +# music players. +# +#save_absolute_paths_in_playlists "no" +# +# This setting defines a list of tag types that will be extracted during the +# audio file discovery process. The complete list of possible values can be +# found in the user manual. +#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc" +# +# This example just enables the "comment" tag without disabling all +# the other supported tags: +#metadata_to_use "+comment" +# +# This setting enables automatic update of MPD's database when files in +# music_directory are changed. +# +#auto_update "yes" +# +# Limit the depth of the directories being watched, 0 means only watch +# the music directory itself. There is no limit by default. +# +#auto_update_depth "3" +# +############################################################################### + + +# Symbolic link behavior ###################################################### +# +# If this setting is set to "yes", MPD will discover audio files by following +# symbolic links outside of the configured music_directory. +# +#follow_outside_symlinks "yes" +# +# If this setting is set to "yes", MPD will discover audio files by following +# symbolic links inside of the configured music_directory. +# +#follow_inside_symlinks "yes" +# +############################################################################### + + +# Zeroconf / Avahi Service Discovery ########################################## +# +# If this setting is set to "yes", service information will be published with +# Zeroconf / Avahi. +# +#zeroconf_enabled "yes" +# +# The argument to this setting will be the Zeroconf / Avahi unique name for +# this MPD server on the network. %h will be replaced with the hostname. +# +#zeroconf_name "Music Player @ %h" +# +############################################################################### + + +# Permissions ################################################################# +# +# If this setting is set, MPD will require password authorization. The password +# setting can be specified multiple times for different password profiles. +# +#password "password@read,add,control,admin" +# +# This setting specifies the permissions a user has who has not yet logged in. +# +#default_permissions "read,add,control,admin" +# +############################################################################### + + +# Database ####################################################################### +# +# An example of a database section instead of the old 'db_file' setting. +# It enables mounting other storages into the music directory. +# +#database { +# plugin "simple" +# path "~/.local/share/mpd/db +# cache_directory "~/.local/share/mpd/cache" +#} +# +# An example of database config for a satellite setup +# +#music_directory "nfs://fileserver.local/srv/mp3" +#database { +# plugin "proxy" +# host "other.mpd.host" +# port "6600" +#} + +# Input ####################################################################### +# +input { + plugin "curl" +# proxy "proxy.isp.com:8080" +# proxy_user "user" +# proxy_password "password" +} + +# +############################################################################### + +# Audio Output ################################################################ +# +# MPD supports various audio output types, as well as playing through multiple +# audio outputs at the same time, through multiple audio_output settings +# blocks. Setting this block is optional, though the server will only attempt +# autodetection for one sound card. + +audio_output { + type "pipewire" + name "PipeWire Sound Server" +} + +audio_output { + type "fifo" + name "Visualizer feed" + path "/tmp/mpd.fifo" + format "44100:16:2" +} + + +# An example of an ALSA output: +# +#audio_output { +# type "alsa" +# name "My ALSA Device" +## device "hw:0,0" # optional +## mixer_type "hardware" # optional +## mixer_device "default" # optional +## mixer_control "PCM" # optional +## mixer_index "0" # optional +#} +# +# An example of an OSS output: +# +#audio_output { +# type "oss" +# name "My OSS Device" +## device "/dev/dsp" # optional +## mixer_type "hardware" # optional +## mixer_device "/dev/mixer" # optional +## mixer_control "PCM" # optional +#} +# +# An example of a shout output (for streaming to Icecast): +# +#audio_output { +# type "shout" +# encoder "vorbis" # optional +# name "My Shout Stream" +# host "localhost" +# port "8000" +# mount "/mpd.ogg" +# password "hackme" +# quality "5.0" +# bitrate "128" +# format "44100:16:1" +## protocol "icecast2" # optional +## user "source" # optional +## description "My Stream Description" # optional +## url "http://example.com" # optional +## genre "jazz" # optional +## public "no" # optional +## timeout "2" # optional +## mixer_type "software" # optional +#} +# +# An example of a recorder output: +# +#audio_output { +# type "recorder" +# name "My recorder" +# encoder "vorbis" # optional, vorbis or lame +# path "/var/lib/mpd/recorder/mpd.ogg" +## quality "5.0" # do not define if bitrate is defined +# bitrate "128" # do not define if quality is defined +# format "44100:16:1" +#} +# +# An example of a httpd output (built-in HTTP streaming server): +# +#audio_output { +# type "httpd" +# name "My HTTP Stream" +# encoder "vorbis" # optional, vorbis or lame +# port "8000" +# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6 +## quality "5.0" # do not define if bitrate is defined +# bitrate "128" # do not define if quality is defined +# format "44100:16:1" +# max_clients "0" # optional 0=no limit +#} +# +# An example of a pulseaudio output (streaming to a remote pulseaudio server) +# +#audio_output { +# type "pulse" +# name "My Pulse Output" +## server "remote_server" # optional +## sink "remote_server_sink" # optional +## media_role "media_role" #optional +#} +# +# An example of a winmm output (Windows multimedia API). +# +#audio_output { +# type "winmm" +# name "My WinMM output" +## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional +# or +## device "0" # optional +## mixer_type "hardware" # optional +#} +# +# An example of a wasapi output (Windows multimedia API). +# +#audio_output { +# type "wasapi" +# name "My WASAPI output" +## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional +# or +## device "0" # optional +## Exclusive mode blocks all other audio source, and get best audio quality without resampling. +## exclusive "no" # optional +## Enumerate all devices in log. +## enumerate "no" # optional +#} +# +# An example of an openal output. +# +#audio_output { +# type "openal" +# name "My OpenAL output" +## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional +#} +# +# An example of an sndio output. +# +#audio_output { +# type "sndio" +# name "sndio output" +# mixer_type "hardware" +#} +# +# An example of an OS X output: +# +#audio_output { +# type "osx" +# name "My OS X Device" +## device "Built-in Output" # optional +## channel_map "-1,-1,0,1" # optional +#} +# +## Example "pipe" output: +# +#audio_output { +# type "pipe" +# name "my pipe" +# command "aplay -f cd 2>/dev/null" +## Or if you're want to use AudioCompress +# command "AudioCompress -m | aplay -f cd 2>/dev/null" +## Or to send raw PCM stream through PCM: +# command "nc example.org 8765" +# format "44100:16:2" +#} +# +## An example of a null output (for no audio output): +# +#audio_output { +# type "null" +# name "My Null Output" +# mixer_type "none" # optional +#} +# +############################################################################### + + +# Normalization automatic volume adjustments ################################## +# +# This setting specifies the type of ReplayGain to use. This setting can have +# the argument "off", "album", "track" or "auto". "auto" is a special mode that +# chooses between "track" and "album" depending on the current state of +# random playback. If random playback is enabled then "track" mode is used. +# See for +# more details about ReplayGain. +# This setting is off by default. +# +#replaygain "album" +# +# This setting sets the pre-amp used for files that have ReplayGain tags. By +# default this setting is disabled. +# +#replaygain_preamp "0" +# +# This setting sets the pre-amp used for files that do NOT have ReplayGain tags. +# By default this setting is disabled. +# +#replaygain_missing_preamp "0" +# +# This setting enables or disables ReplayGain limiting. +# MPD calculates actual amplification based on the ReplayGain tags +# and replaygain_preamp / replaygain_missing_preamp setting. +# If replaygain_limit is enabled MPD will never amplify audio signal +# above its original level. If replaygain_limit is disabled such amplification +# might occur. By default this setting is enabled. +# +#replaygain_limit "yes" +# +# This setting enables on-the-fly normalization volume adjustment. This will +# result in the volume of all playing audio to be adjusted so the output has +# equal "loudness". This setting is disabled by default. +# +#volume_normalization "no" +# +############################################################################### + +# Character Encoding ########################################################## +# +# If file or directory names do not display correctly for your locale then you +# may need to modify this setting. +# +#filesystem_charset "UTF-8" +# +############################################################################### diff --git a/ncmpcpp/.config/ncmpcpp/bindings b/ncmpcpp/.config/ncmpcpp/bindings new file mode 100644 index 0000000..f8396fb --- /dev/null +++ b/ncmpcpp/.config/ncmpcpp/bindings @@ -0,0 +1,212 @@ +############################################################## +## This is the example bindings file. Copy it to ## +## $XDG_CONFIG_HOME/ncmpcpp/bindings or ~/.ncmpcpp/bindings ## +## and set up your preferences. ## +############################################################## + +##### General rules ##### + +## 1) Because each action has runtime checks whether it's +## ok to run it, a few actions can be bound to one key. +## Actions will be bound in order given in configuration +## file. When a key is pressed, first action in order +## will test itself whether it's possible to run it. If +## test succeeds, action is executed and other actions +## bound to this key are ignored. If it doesn't, next +## action in order tests itself etc. + +## 2) It's possible to bind more that one action at once +## to a key. It can be done using the following syntax: +## +## def_key "key" +## action1 +## action2 +## ... +## +## This creates a chain of actions. When such chain is +## executed, each action in chain is run until the end of +## chain is reached or one of its actions fails to execute +## due to its requirements not being met. If multiple actions +## and/or chains are bound to the same key, they will be +## consecutively run until one of them gets fully executed. + +## 3) When ncmpcpp starts, bindings configuration file is +## parsed and then ncmpcpp provides "missing pieces" +## of default keybindings. If you want to disable some +## bindings, there is a special action called 'dummy' +## for that purpose. Eg. if you want to disable ability +## to crop playlists, you need to put the following +## into configuration file: +## +## def_key "C" +## dummy +## +## After that ncmpcpp will not bind any default action +## to this key. + +## 4) To let you write simple macros, the following special +## actions are provided: +## +## - push_character "character" - pushes given special +## character into input queue, so it will be immediately +## picked by ncmpcpp upon next call to readKey function. +## Accepted values: mouse, up, down, page_up, page_down, +## home, end, space, enter, insert, delete, left, right, +## tab, ctrl-a, ctrl-b, ..., ctrl-z, ctrl-[, ctrl-\\, +## ctrl-], ctrl-^, ctrl-_, f1, f2, ..., f12, backspace. +## In addition, most of these names can be prefixed with +## alt-/ctrl-/shift- to be recognized with the appropriate +## modifier key(s). +## +## - push_characters "string" - pushes given string into +## input queue. +## +## - require_runnable "action" - checks whether given action +## is runnable and fails if it isn't. This is especially +## useful when mixed with previous two functions. Consider +## the following macro definition: +## +## def_key "key" +## push_characters "custom_filter" +## apply_filter +## +## If apply_filter can't be currently run, we end up with +## sequence of characters in input queue which will be +## treated just as we typed them. This may lead to unexpected +## results (in this case 'c' will most likely clear current +## playlist, 'u' will trigger database update, 's' will stop +## playback etc.). To prevent such thing from happening, we +## need to change above definition to this one: +## +## def_key "key" +## require_runnable "apply_filter" +## push_characters "custom_filter" +## apply_filter +## +## Here, first we test whether apply_filter can be actually run +## before we stuff characters into input queue, so if condition +## is not met, whole chain is aborted and we're fine. +## +## - require_screen "screen" - checks whether given screen is +## currently active. accepted values: browser, clock, help, +## media_library, outputs, playlist, playlist_editor, +## search_engine, tag_editor, visualizer, last_fm, lyrics, +## selected_items_adder, server_info, song_info, +## sort_playlist_dialog, tiny_tag_editor. +## +## - run_external_command "command" - runs given command using +## system() function. +## +## - run_external_console_command "command" - runs given console +## command using system() function. +## + +## 5) In addition to binding to a key, you can also bind actions +## or chains of actions to a command. If it comes to commands, +## syntax is very similar to defining keys. Here goes example +## definition of a command: +## +## def_command "quit" [deferred] +## stop +## quit +## +## If you execute the above command (which can be done by +## invoking action execute_command, typing 'quit' and pressing +## enter), ncmpcpp will stop the player and then quit. Note the +## presence of word 'deferred' enclosed in square brackets. It +## tells ncmpcpp to wait for confirmation (ie. pressing enter) +## after you typed quit. Instead of 'deferred', 'immediate' +## could be used. Then ncmpcpp will not wait for confirmation +## (enter) and will execute the command the moment it sees it. +## +## Note: while command chains are executed, internal environment +## update (which includes current window refresh and mpd status +## update) is not performed for performance reasons. However, it +## may be desirable to do so in some situration. Therefore it's +## possible to invoke by hand by performing 'update enviroment' +## action. + +## Note: There is a difference between: +## +## def_key "key" +## action1 +## +## def_key "key" +## action2 +## +## and +## +## def_key "key" +## action1 +## action2 +## +## First one binds two single actions to the same key whilst +## second one defines a chain of actions. The behavior of +## these two is different and is described in (1) and (2). + +## Note: Function def_key accepts non-ascii characters. + +def_key "t" + find +def_key "t" + find_item_forward + +def_key "9" + show_clock + +def_key "up" + volume_up +def_key "down" + volume_down + +def_key "j" + scroll_down +def_key "k" + scroll_up + +def_key "ctrl-u" + page_up +def_key "ctrl-d" + page_down + +def_key "h" + previous_column +def_key "h" + jump_to_parent_directory +def_key "l" + next_column +def_key "l" + enter_directory +def_key "l" + play_item + +def_key "g" + move_home +def_key "G" + move_end + +def_key "." + show_lyrics + +def_key "n" + next_found_item +def_key "N" + previous_found_item + +def_key "J" + move_sort_order_down +def_key "K" + move_sort_order_up +def_key "k" + scroll_up + +def_key "right" + seek_forward +def_key "left" + seek_backward + +def_key "0" + toggle_repeat + toggle_random + toggle_crossfade + diff --git a/ncmpcpp/.config/ncmpcpp/config b/ncmpcpp/.config/ncmpcpp/config new file mode 100644 index 0000000..95cba8b --- /dev/null +++ b/ncmpcpp/.config/ncmpcpp/config @@ -0,0 +1,605 @@ +############################################################## +## This is an example configuration file. Copy it to ## +## $XDG_CONFIG_HOME/ncmpcpp/config or $HOME/.ncmpcpp/config ## +## and set up your preferences. ## +############################################################## +# +##### directories ###### +## +## Directory for storing ncmpcpp related files. Changing it is useful if you +## want to store everything somewhere else and provide command line setting for +## alternative location to config file which defines that while launching +## ncmpcpp. +## +# +#ncmpcpp_directory = ~/.config/ncmpcpp +# +## +## Directory for storing downloaded lyrics. It defaults to ~/.lyrics since other +## MPD clients (eg. ncmpc) also use that location. +## +# +#lyrics_directory = ~/.lyrics +# +##### connection settings ##### +# +#mpd_host = localhost +# +#mpd_port = 6600 +# +#mpd_connection_timeout = 5 +# +## Needed for tag editor and file operations to work. +## +mpd_music_dir = ~/music/files/ +# +#mpd_crossfade_time = 5 +# +# Exclude pattern for random song action +# http://www.boost.org/doc/libs/1_46_1/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html +#random_exclude_pattern = "^(temp|midi_songs).*" +# +##### music visualizer ##### +## +## In order to make music visualizer work with MPD you need to use the fifo +## output. Its format parameter has to be set to 44100:16:1 for mono +## visualization or 44100:16:2 for stereo visualization. As an example here is +## the relevant section for mpd.conf: +## +# audio_output { +# type "fifo" +# name "Visualizer feed" +# path "/tmp/mpd.fifo" +# format "44100:16:2" +# } +## +## If the visualization on occasion diverges from the audio output, please set +## 'buffer_time' parameter of your audio output in mpd.conf to '100000' (100ms) +## or less to prevent that from happening. +## +## Note: If you're using Mopidy, an address of a udpsink gstreamer's output is +## also accepted. For example, the following section in mopidy.conf: +## +## [audio] +## output = tee name=t ! queue ! autoaudiosink t. +## ! queue ! audio/x-raw,rate=44100,channels=2,format=S16LE +## ! udpsink host=localhost port=5555 +## +## will make localhost:5555 available as a source of data for the stereo +## visualizer. +## +# +visualizer_data_source = /tmp/mpd.fifo +# +## +## Note: Below parameter is needed for ncmpcpp to determine which output +## provides data for visualizer and reset it at the beginning of visualization +## to synchronize with audio. +## +# +visualizer_output_name = Visualizer feed +# +## +## If you set format to 44100:16:2, make it 'yes'. +## +visualizer_in_stereo = yes +# +## +## Note: set below to >=10 only if you have synchronization issues with +## visualization and audio. +## +# +#visualizer_sync_interval = 0 +# +## +## Note: To enable spectrum frequency visualization you need to compile ncmpcpp +## with fftw3 support. +## +# +## Available values: spectrum, wave, wave_filled, ellipse. +## +visualizer_type = spectrum +# +#visualizer_fps = 60 +# +#visualizer_autoscale = no +# +visualizer_look = "◆▋" +# +#visualizer_color = blue, cyan, green, yellow, magenta, red +# +## Alternative subset of 256 colors for terminals that support it. +## +#visualizer_color = 47, 83, 119, 155, 191, 227, 221, 215, 209, 203, 197, 161 +# +## +## Note: The next few visualization options apply to the spectrum visualizer. +## +# +## Use unicode block characters for a smoother, more continuous look. +## This will override the visualizer_look option. With transparent terminals +## and visualizer_in_stereo set, artifacts may be visible on the bottom half of +## the visualization. +# +#visualizer_spectrum_smooth_look = yes +# +## A value between 1 and 5 inclusive. Specifying a larger value makes the +## visualizer look at a larger slice of time, which results in less jumpy +## visualizer output. +# +#visualizer_spectrum_dft_size = 2 +# +#visualizer_spectrum_gain = 10 +# +## Left-most frequency of visualizer in Hz, must be less than HZ MAX +# +#visualizer_spectrum_hz_min = 20 +# +## Right-most frequency of visualizer in Hz, must be greater than HZ MIN +# +#visualizer_spectrum_hz_max = 20000 +# +##### system encoding ##### +## +## ncmpcpp should detect your charset encoding but if it failed to do so, you +## can specify charset encoding you are using here. +## +## Note: You can see whether your ncmpcpp build supports charset detection by +## checking output of `ncmpcpp --version`. +## +## Note: Since MPD uses UTF-8 by default, setting this option makes sense only +## if your encoding is different. +## +# +#system_encoding = "" +# +##### delays ##### +# +## Time of inactivity (in seconds) after playlist highlighting will be disabled +## (0 = always on). +## +#playlist_disable_highlight_delay = 5 +# +## Defines how long messages are supposed to be visible. +## +#message_delay_time = 5 +# +##### song format ##### +## +## For a song format you can use: +## +## %l - length +## %f - filename +## %D - directory +## %a - artist +## %A - album artist +## %t - title +## %b - album +## %y - date +## %n - track number (01/12 -> 01) +## %N - full track info (01/12 -> 01/12) +## %g - genre +## %c - composer +## %p - performer +## %d - disc +## %C - comment +## %P - priority +## $R - begin right alignment +## +## If you want to make sure that a part of the format is displayed only when +## certain tags are present, you can archieve it by grouping them with brackets, +## e.g. '{%a - %t}' will be evaluated to 'ARTIST - TITLE' if both tags are +## present or '' otherwise. It is also possible to define a list of +## alternatives by providing several groups and separating them with '|', +## e.g. '{%t}|{%f}' will be evaluated to 'TITLE' or 'FILENAME' if the former is +## not present. +## +## Note: If you want to set limit on maximal length of a tag, just put the +## appropriate number between % and character that defines tag type, e.g. to +## make album take max. 20 terminal cells, use '%20b'. +## +## In addition, formats support markers used for text attributes. They are +## followed by character '$'. After that you can put: +## +## - 0 - default window color (discards all other colors) +## - 1 - black +## - 2 - red +## - 3 - green +## - 4 - yellow +## - 5 - blue +## - 6 - magenta +## - 7 - cyan +## - 8 - white +## - 9 - end of current color +## - b - bold text +## - u - underline text +## - r - reverse colors +## - a - use alternative character set +## +## If you don't want to use a non-color attribute anymore, just put it again, +## but this time insert character '/' between '$' and attribute character, +## e.g. {$b%t$/b}|{$r%f$/r} will display bolded title tag or filename with +## reversed colors. +## +## If you want to use 256 colors and/or background colors in formats (the naming +## scheme is described below in section about color definitions), it can be done +## with the syntax $(COLOR), e.g. to set the artist tag to one of the +## non-standard colors and make it have yellow background, you need to write +## $(197_yellow)%a$(end). Note that for standard colors this is interchangable +## with attributes listed above. +## +## Note: colors can be nested. +## +# +#song_list_format = {%a - }{%t}|{$8%f$9}$R{$3%l$9} +# +#song_status_format = {{%a{ "%b"{ (%y)}} - }{%t}}|{%f} +# +#song_library_format = {%n - }{%t}|{%f} +# +#alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b +# +#alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D} +# +#current_item_prefix = $(yellow)$r +# +#current_item_suffix = $/r$(end) +# +#current_item_inactive_column_prefix = $(white)$r +# +#current_item_inactive_column_suffix = $/r$(end) +# +#now_playing_prefix = $b +# +#now_playing_suffix = $/b +# +#browser_playlist_prefix = "$2playlist$9 " +# +#selected_item_prefix = $6 +# +#selected_item_suffix = $9 +# +#modified_item_prefix = $3> $9 +# +## +## Note: attributes are not supported for the following variables. +## +#song_window_title_format = {%a - }{%t}|{%f} +## +## Note: Below variables are used for sorting songs in browser. The sort mode +## determines how songs are sorted, and can be used in combination with a sort +## format to specify a custom sorting format. Available values for +## browser_sort_mode are "type", "name", "mtime", "format" and "none". +## +# +#browser_sort_mode = type +# +#browser_sort_format = {%a - }{%t}|{%f} {%l} +# +##### columns settings ##### +## +## syntax of song columns list format is "column column etc." +## +## - syntax for each column is: +## +## (width of the column)[color of the column]{displayed tag} +## +## Note: Width is by default in %, if you want a column to have fixed size, add +## 'f' after the value, e.g. (10)[white]{a} will be the column that take 10% of +## screen (so the real width will depend on actual screen size), whereas +## (10f)[white]{a} will take 10 terminal cells, no matter how wide the screen +## is. +## +## - color is optional (if you want the default one, leave the field empty). +## +## Note: You can give a column additional attributes by putting appropriate +## character after displayed tag character. Available attributes are: +## +## - r - column will be right aligned +## - E - if tag is empty, empty tag marker won't be displayed +## +## You can also: +## +## - give a column custom name by putting it after attributes, separated with +## character ':', e.g. {lr:Length} gives you right aligned column of lengths +## named "Length". +## +## - define sequence of tags, that have to be displayed in case predecessor is +## empty in a way similar to the one in classic song format, i.e. using '|' +## character, e.g. {a|c|p:Owner} creates column named "Owner" that tries to +## display artist tag and then composer and performer if previous ones are not +## available. +## +# +#song_columns_list_format = (20)[]{a} (6f)[green]{NE} (50)[white]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l} +# +##### various settings ##### +# +## +## Note: Custom command that will be executed each time song changes. Useful for +## notifications etc. +## +#execute_on_song_change = "" +# +## +## Note: Custom command that will be executed each time player state +## changes. The environment variable MPD_PLAYER_STATE is set to the current +## state (either unknown, play, pause, or stop) for its duration. +## +# +#execute_on_player_state_change = "" +# +#playlist_show_mpd_host = no +# +#playlist_show_remaining_time = no +# +#playlist_shorten_total_times = no +# +#playlist_separate_albums = no +# +## +## Note: Possible display modes: classic, columns. +## +#playlist_display_mode = columns +# +#browser_display_mode = classic +# +#search_engine_display_mode = classic +# +#playlist_editor_display_mode = classic +# +#discard_colors_if_item_is_selected = yes +# +#show_duplicate_tags = yes +# +#incremental_seeking = yes +# +#seek_time = 1 +# +#volume_change_step = 2 +# +#autocenter_mode = no +# +#centered_cursor = no +# +## +## Note: You can specify third character which will be used to build 'empty' +## part of progressbar. +## +#progressbar_look = => +progressbar_look = "─╼ " +# +## Available values: database, playlist. +## +#default_place_to_search_in = database +# +## Available values: classic, alternative. +## +user_interface = alternative +# +#data_fetching_delay = yes +# +## Available values: artist, album_artist, date, genre, composer, performer. +## +#media_library_primary_tag = artist +# +#media_library_albums_split_by_date = yes +# +#media_library_hide_album_dates = no +# +## Available values: wrapped, normal. +## +#default_find_mode = wrapped +# +#default_tag_editor_pattern = %n - %t +# +#header_visibility = yes +# +#statusbar_visibility = yes +# +## Show the "Connected to ..." message on startup +#connected_message_on_startup = yes +# +#titles_visibility = yes +# +#header_text_scrolling = yes +# +#cyclic_scrolling = no +# +#lyrics_fetchers = azlyrics, genius, musixmatch, sing365, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, zeneszoveg, internet +# +#follow_now_playing_lyrics = no +# +#fetch_lyrics_for_current_song_in_background = no +# +#store_lyrics_in_song_dir = no +# +#generate_win32_compatible_filenames = yes +# +#allow_for_physical_item_deletion = no +# +## +## Note: If you set this variable, ncmpcpp will try to get info from last.fm in +## language you set and if it fails, it will fall back to english. Otherwise it +## will use english the first time. +## +## Note: Language has to be expressed as an ISO 639 alpha-2 code. +## +#lastfm_preferred_language = en +# +#space_add_mode = add_remove +# +#show_hidden_files_in_local_browser = no +# +## +## How shall screen switcher work? +## +## - "previous" - switch between the current and previous screen. +## - "screen1,...,screenN" - switch between given sequence of screens. +## +## Screens available for use: help, playlist, browser, search_engine, +## media_library, playlist_editor, tag_editor, outputs, visualizer, clock, +## lyrics, last_fm. +## +#screen_switcher_mode = playlist, browser +# +## +## Note: You can define startup screen by choosing screen from the list above. +## +#startup_screen = playlist +# +## +## Note: You can define startup slave screen by choosing screen from the list +## above or an empty value for no slave screen. +## +#startup_slave_screen = "" +# +#startup_slave_screen_focus = no +# +## +## Default width of locked screen (in %). Acceptable values are from 20 to 80. +## +# +#locked_screen_width_part = 50 +# +#ask_for_locked_screen_width_part = yes +# +#jump_to_now_playing_song_at_start = yes +# +#ask_before_clearing_playlists = yes +# +#clock_display_seconds = no +# +#display_volume_level = yes +# +#display_bitrate = no +# +#display_remaining_time = no +# +## Available values: none, basic, extended, perl. +## +#regular_expressions = perl +# +## +## Note: if below is enabled, ncmpcpp will ignore leading "The" word while +## sorting items in browser, tags in media library, etc. +## +#ignore_leading_the = no +# +## +## Note: if below is enabled, ncmpcpp will ignore diacritics while searching and +## filtering lists. This takes an effect only if boost was compiled with ICU +## support. +## +#ignore_diacritics = no +# +#block_search_constraints_change_if_items_found = yes +# +#mouse_support = yes +# +#mouse_list_scroll_whole_page = no +# +#lines_scrolled = 5 +# +#empty_tag_marker = +# +#tags_separator = " | " +# +#tag_editor_extended_numeration = no +# +#media_library_sort_by_mtime = no +# +#enable_window_title = yes +# +## +## Note: You can choose default search mode for search engine. Available modes +## are: +## +## - 1 - use mpd built-in searching (no regexes, pattern matching) +## +## - 2 - use ncmpcpp searching (pattern matching with support for regexes, but +## if your mpd is on a remote machine, downloading big database to process +## it can take a while +## +## - 3 - match only exact values (this mode uses mpd function for searching in +## database and local one for searching in current playlist) +## +# +#search_engine_default_search_mode = 1 +# +#external_editor = nano +# +## Note: set to yes if external editor is a console application. +## +#use_console_editor = yes +# +##### colors definitions ##### +## +## It is possible to set a background color by setting a color value +## "_", e.g. red_black will set foregound color to red +## and background color to black. +## +## In addition, for terminals that support 256 colors it is possible to set one +## of them by using a number in range [1, 256] instead of color name, +## e.g. numerical value corresponding to red_black is 2_1. To find out if the +## terminal supports 256 colors, run ncmpcpp and check out the bottom of the +## help screen for list of available colors and their numerical values. +## +## What is more, there are two special values for the background color: +## "transparent" and "current". The first one explicitly sets the background to +## be transparent, while the second one allows you to preserve current +## background color and change only the foreground one. It's used implicitly +## when background color is not specified. +## +## Moreover, it is possible to attach format information to selected color +## variables by appending to their end a colon followed by one or more format +## flags, e.g. black:b or red:ur. The following variables support this syntax: +## visualizer_color, color1, color2, empty_tag_color, volume_color, +## state_line_color, state_flags_color, progressbar_color, +## progressbar_elapsed_color, player_state_color, statusbar_time_color, +## alternative_ui_separator_color. +## +## Note: due to technical limitations of older ncurses version, if 256 colors +## are used there is a possibility that you'll be able to use only colors with +## transparent background. +# +#colors_enabled = yes +header_window_color = "cyan" +volume_color = "red" +state_line_color = "yellow" +state_flags_color = "red" +progressbar_color = "yellow" +statusbar_color = "cyan" +# +#empty_tag_color = cyan +# +#header_window_color = default +# +#volume_color = default +# +#state_line_color = default +# +#state_flags_color = default:b +# +#main_window_color = yellow +# +#color1 = white +# +#color2 = green +# +#progressbar_color = black:b +# +#progressbar_elapsed_color = green:b +# +#statusbar_color = default +# +#statusbar_time_color = default:b +# +#player_state_color = default:b +# +#alternative_ui_separator_color = black:b +# +#window_border_color = green +# +#active_window_border = red +# diff --git a/neofetch/.config/neofetch/config.conf b/neofetch/.config/neofetch/config.conf index 0a1931d..f753db0 100644 --- a/neofetch/.config/neofetch/config.conf +++ b/neofetch/.config/neofetch/config.conf @@ -551,7 +551,8 @@ underline_enabled="on" # Default: '-' # Values: 'string' # Flag: --underline_char -underline_char="—" +# underline_char="—" +underline_char="=" # Info Separator @@ -563,7 +564,7 @@ underline_char="—" # Example: # separator="->": 'Shell-> bash' # separator=" =": 'WM = dwm' -separator=" " +separator=":" # Color Blocks diff --git a/nsxiv/.config/nsxiv/exec/image-info b/nsxiv/.config/nsxiv/exec/image-info new file mode 100755 index 0000000..0e22bb0 --- /dev/null +++ b/nsxiv/.config/nsxiv/exec/image-info @@ -0,0 +1,19 @@ +#!/bin/sh + +# Example for ~/.config/sxiv/exec/image-info +# Called by sxiv(1) whenever an image gets loaded, +# with the name of the image file as its first argument. +# The output is displayed in sxiv's status bar. + +s=" | " # field separator + +filename=$(basename "$1") +filesize=$(du -Hh "$1" | cut -f 1) + +# The '[0]' stands for the first frame of a multi-frame file, e.g. gif. +geometry=$(identify -format '%wx%h' "$1[0]") + +tags=$(exiv2 -q pr -pi "$1" | awk '$1~"Keywords" { printf("%s,", $4); }') +tags=${tags%,} + +echo "${filesize}${s}${geometry}${tags:+$s}${tags}${s}${filename}" diff --git a/picom/.config/picom/picom.conf b/picom/.config/picom/picom.conf index 2a62492..e51c4cc 100644 --- a/picom/.config/picom/picom.conf +++ b/picom/.config/picom/picom.conf @@ -1,407 +1,39 @@ -################################# -# Shadows # -################################# - - -# Enabled 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. -# -# shadow = false shadow = true; - -# The blur radius for shadows, in pixels. (defaults to 12) shadow-radius = 20 - -# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) shadow-opacity = 0.5 - -# The left offset for shadows, in pixels. (defaults to -15) -# shadow-offset-x = -15 shadow-offset-x = -20; - -# The top offset for shadows, in pixels. (defaults to -15) -# shadow-offset-y = -15 shadow-offset-y = -20; +shadow-exclude = "x = 0 && y = 0 && override_redirect = true"; -# Avoid drawing shadows on dock/panel windows. This option is deprecated, -# you should use the *wintypes* option in your config file instead. -# -# no-dock-shadow = false - -# Don't draw shadows on drag-and-drop windows. This option is deprecated, -# you should use the *wintypes* option in your config file instead. -# -# no-dnd-shadow = false - -# Red color value of shadow (0.0 - 1.0, defaults to 0). -# shadow-red = 0 - -# Green color value of shadow (0.0 - 1.0, defaults to 0). -# shadow-green = 0 - -# Blue color value of shadow (0.0 - 1.0, defaults to 0). -# shadow-blue = 0 - -# Do not paint shadows on shaped windows. Note shaped windows -# here means windows setting its shape through X Shape extension. -# Those using ARGB background is beyond our control. -# Deprecated, use -# shadow-exclude = 'bounding_shaped' -# or -# shadow-exclude = 'bounding_shaped && !rounded_corners' -# instead. -# -# shadow-ignore-shaped = '' - -# Specify a list of conditions of windows that should have no shadow. -# -# examples: -# shadow-exclude = "n:e:Notification"; -# -# shadow-exclude = [] - -# Specify a X geometry that describes the region in which shadow should not -# be painted in, such as a dock window region. Use -# shadow-exclude-reg = "x10+0+0" -# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. -# -# shadow-exclude-reg = "" - -# Crop shadow of a window fully on a particular Xinerama screen to the screen. -# xinerama-shadow-crop = false - - -################################# -# Fading # -################################# - - -# Fade windows in/out when opening/closing and when opacity changes, -# unless no-fading-openclose is used. -# fading = false fading = true - -# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) -# fade-in-step = 0.028 fade-in-step = 0.05; - -# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) -# fade-out-step = 0.03 fade-out-step = 0.05; -# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) -# fade-delta = 10 - -# Specify a list of conditions of windows that should not be faded. -# fade-exclude = [] - -# Do not fade on window open/close. -# no-fading-openclose = false - -# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. -# no-fading-destroyed-argb = false - - -################################# -# Transparency / Opacity # -################################# - - -# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) -# inactive-opacity = 0.98 - -# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) -# frame-opacity = 1.0 - -# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0) -# menu-opacity = 1.0 - -# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. -# inactive-opacity-override = false - -# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) -# active-opacity = 0.98 - -# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) -# inactive-dim = 0.0 - -# Specify a list of conditions of windows that should always be considered focused. -# focus-exclude = [] - -# Use fixed inactive dim value, instead of adjusting according to window opacity. -# inactive-dim-fixed = 1.0 - -# 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. -# example: -# opacity-rule = [ "80:class_g = 'URxvt'" ]; -# -# opacity-rule = [] - -################################# -# Background-Blurring # -################################# +corner-radius = 0 - -# Parameters for background blurring, see the *BLUR* section for more information. -# blur-method = -# blur-size = 12 -# -# blur-deviation = false - -# Blur background of semi-transparent / ARGB windows. -# Bad in performance, with driver-dependent behavior. -# The name of the switch may change without prior notifications. -# -# blur-background = true - -# Blur background of windows when the window frame is not opaque. -# Implies: -# blur-background -# Bad in performance, with driver-dependent behavior. The name may change. -# -# blur-background-frame = false - - -# Use fixed blur strength rather than adjusting according to window opacity. -# blur-background-fixed = false - - -# Specify the blur convolution kernel, with the following format: -# example: -# 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"; -# -# blur-kern = '' -# blur-kern = "5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,1,1,1,1,1,1"; -# -# blur-method = "gaussian" -# blur-size = 20 - -# Exclude conditions for background blur. -# blur-background-exclude = [] -blur-background-exclude = [ - "window_type = 'dock'", - "window_type = 'desktop'", - "_GTK_FRAME_EXTENTS@:c" -]; - -################################# -# General Settings # -################################# - -# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. -# daemon = false - -# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. -# `xrender` is the default one. -# -# backend = 'glx' -backend = "xrender"; - -# Enable/disable VSync. -# vsync = false +backend = "glx"; vsync = true -# Enable remote control via D-Bus. See the *D-BUS API* section below for more details. -# dbus = false +# window-shader-fg = "/home/me/.config/picom/shaders/grayscale.glsl" +# window-shader-fg-rule = [ + # "grayscale.glsl:class_g = 'st' && !_NET_WM_STATE@:32a" +# ] -# Try to detect WM windows (a non-override-redirect window with no -# child that has 'WM_STATE') and mark them as active. -# -# mark-wmwin-focused = false -mark-wmwin-focused = true; +active-opacity: 1.95 +inactive-opacity: 1.95 +mark-wmwin-focused = false +mark-ovredir-focused = false -# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. -# mark-ovredir-focused = false -mark-ovredir-focused = true; - -# Try to detect windows with rounded corners and don't consider them -# shaped windows. The accuracy is not very high, unfortunately. -# -# detect-rounded-corners = false detect-rounded-corners = true; - -# Detect '_NET_WM_OPACITY' on client windows, useful for window managers -# not passing '_NET_WM_OPACITY' of client windows to frame windows. -# -# detect-client-opacity = false detect-client-opacity = true; - -# Specify refresh rate of the screen. If not specified or 0, picom will -# try detecting this with X RandR extension. -# -# refresh-rate = 60 -# refresh-rate = 0 - -# Limit picom to repaint at most once every 1 / 'refresh_rate' second to -# boost performance. This should not be used with -# vsync drm/opengl/opengl-oml -# as they essentially does sw-opti's job already, -# unless you wish to specify a lower refresh rate than the actual value. -# -# sw-opti = - -# 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. -# -# use-ewmh-active-win = false - -# 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. -# -# unredir-if-possible = false - -# Delay before unredirecting the window, in milliseconds. Defaults to 0. -# unredir-if-possible-delay = 0 - -# Conditions of windows that shouldn't be considered full-screen for unredirecting screen. -# unredir-if-possible-exclude = [] - -# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows -# in the same group focused at the same time. -# -# detect-transient = false detect-transient = true - -# 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. -# -# detect-client-leader = false detect-client-leader = true -# 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. -# -# resize-damage = 1 - -# Specify a list of conditions of windows that should be painted with inverted color. -# Resource-hogging, and is not well tested. -# -# invert-color-include = [] - -# GLX backend: 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. -# My tests show a 15% performance boost. Recommended. -# -# glx-no-stencil = false - -# GLX backend: 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. -# -# glx-no-rebind-pixmap = false - -# 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 -# -# no-use-damage = false use-damage = true -# 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. -# -# xrender-sync-fence = false - -# GLX backend: 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. -# -# glx-fshader-win = '' - -# Force all windows to be painted with blending. Useful if you -# have a glx-fshader-win that could turn opaque pixels transparent. -# -# force-win-blend = false - -# Do not use EWMH to detect fullscreen windows. -# Reverts to checking if a window is fullscreen based only on its size and coordinates. -# -# no-ewmh-fullscreen = false - -# 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: 1.0) -# -# max-brightness = 1.0 - -# Make transparent windows clip other windows like non-transparent windows do, -# instead of blending on top of them. -# -# transparent-clipping = false - -# 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. -# -# log-level = "debug" -log-level = "warn"; - -# 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. -# -# log-file = '/path/to/your/log/file' - -# Show all X errors (for debugging) -# show-all-xerrors = false - -# Write process ID to a file. -# write-pid-path = '/path/to/your/log/file' +animations = false +animation-for-open-window = "zoom" -# 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", and "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`. -# wintypes: { tooltip = { fade = true; shadow = true; focus = true; full-shadow = false; }; diff --git a/picom/.config/picom/shaders/crt.glsl b/picom/.config/picom/shaders/crt.glsl new file mode 100644 index 0000000..c22081b --- /dev/null +++ b/picom/.config/picom/shaders/crt.glsl @@ -0,0 +1,29 @@ +#version 330 + +in vec2 texcoord; // texture coordinate of the fragment +uniform sampler2D tex; // texture of the window + +// Default window post-processing: +// 1) invert color +// 2) opacity / transparency +// 3) max-brightness clamping +// 4) rounded corners +vec4 default_post_processing(vec4 c); + +vec4 window_shader() { + vec4 c = texelFetch(tex, ivec2(texcoord), 0); + + float r,g,b; + + float greenValue = (sin(texcoord.x) / 14.0) + 1.0; + + r = 1.5 * c.r * greenValue; + g = 1.5 * c.g * greenValue; + b = 1.0 * c.b * greenValue; + + c = vec4(r, g, b, c.a); + + gl_FragColor = c; + + return default_post_processing(c); +} diff --git a/picom/.config/picom/shaders/default.glsl b/picom/.config/picom/shaders/default.glsl new file mode 100644 index 0000000..e319523 --- /dev/null +++ b/picom/.config/picom/shaders/default.glsl @@ -0,0 +1,11 @@ +uniform float opacity; +uniform bool invert_color; +uniform sampler2D tex; + +void main() { + vec4 c = texture2D(tex, gl_TexCoord[0]); + if (invert_color) + c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a); + c *= opacity; + gl_FragColor = c; +} diff --git a/picom/.config/picom/shaders/grayscale.glsl b/picom/.config/picom/shaders/grayscale.glsl new file mode 100644 index 0000000..a99a002 --- /dev/null +++ b/picom/.config/picom/shaders/grayscale.glsl @@ -0,0 +1,28 @@ +#version 330 + +in vec2 texcoord; // texture coordinate of the fragment +uniform sampler2D tex; // texture of the window +uniform bool invert_color; +uniform float opacity; + +// Default window post-processing: +// 1) invert color +// 2) opacity / transparency +// 3) max-brightness clamping +// 4) rounded corners +vec4 default_post_processing(vec4 c); + +// Default window shader: +// 1) fetch the specified pixel +// 2) apply default post-processing +vec4 window_shader() { + vec4 c = texelFetch(tex, ivec2(texcoord), 0); + float g = 0.2126 * c.r + 0.7152 * c.g + 0.0722 * c.b; // CIELAB luma, based on human tristimulus. + c = vec4(vec3(g), c.a); + if (invert_color) + c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a); + c *= opacity; + gl_FragColor = c; + + return default_post_processing(c); +} diff --git a/picom/.config/picom/shaders/transparency.glsl b/picom/.config/picom/shaders/transparency.glsl new file mode 100644 index 0000000..88e3653 --- /dev/null +++ b/picom/.config/picom/shaders/transparency.glsl @@ -0,0 +1,19 @@ +uniform float opacity; +uniform bool invert_color; +uniform sampler2D tex; + +void main() { + vec4 c = texture2D(tex, gl_TexCoord[0]); + { + // Change vec4(1.0, 1.0, 1.0, 1.0) to your desired color + vec4 vdiff = abs(vec4(1.0, 1.0, 1.0, 1.0) - c); + float diff = max(max(max(vdiff.r, vdiff.g), vdiff.b), vdiff.a); + // Change 0.8 to your desired opacity + if (diff < 0.001) + c *= 0.8; + } + if (invert_color) + c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a); + c *= opacity; + gl_FragColor = c; +} diff --git a/pywal/.config/wal/colorschemes/dark/angel_city.json b/pywal/.config/wal/colorschemes/dark/angel_city.json new file mode 100644 index 0000000..c76980c --- /dev/null +++ b/pywal/.config/wal/colorschemes/dark/angel_city.json @@ -0,0 +1,29 @@ +{ + "wallpaper": "/home/me/images/wallpapers/2880x1800/infinity/anime-girl-angel-ring-5k-7c-2880x1800.jpg", + "alpha": "100", + "special": { + "background": "#030507", + "foreground": "#c0c0c1", + "primary": "#000000", + "accent": "#000000", + "cursor": "#c0c0c1" + }, + "colors": { + "color0": "#030507", + "color1": "#c15c44", + "color2": "#225167", + "color3": "#2b6083", + "color4": "#2d6089", + "color5": "#4d3193", + "color6": "#306792", + "color7": "#818283", + "color8": "#424345", + "color9": "#d79687", + "color10": "#2e6d8a", + "color11": "#3a81af", + "color12": "#3d7fb7", + "color13": "#6b46c1", + "color14": "#4488c0", + "color15": "#c0c0c1" + } +} diff --git a/pywal/.config/wal/colorschemes/dark/catpuccin-frappe.json b/pywal/.config/wal/colorschemes/dark/catpuccin-frappe.json new file mode 100644 index 0000000..d6a4311 --- /dev/null +++ b/pywal/.config/wal/colorschemes/dark/catpuccin-frappe.json @@ -0,0 +1,28 @@ +{ + "alpha": "100", + "special": { + "background": "#303446", + "foreground": "#C6D0F5", + "primary": "#000000", + "accent": "#000000", + "cursor": "#F2D5CF" + }, + "colors": { + "color0": "#51576D", + "color1": "#E78284", + "color2": "#A6D189", + "color3": "#E5C890", + "color4": "#8CAAEE", + "color5": "#F4B8E4", + "color6": "#81C8BE", + "color7": "#B5BFE2", + "color8": "#626880", + "color9": "#E78284", + "color10": "#A6D189", + "color11": "#E5C890", + "color12": "#8CAAEE", + "color13": "#F4B8E4", + "color14": "#81C8BE", + "color15": "#A5ADCE" + } +} diff --git a/pywal/.config/wal/colorschemes/dark/catpuccin-latte.json b/pywal/.config/wal/colorschemes/dark/catpuccin-latte.json new file mode 100644 index 0000000..f593622 --- /dev/null +++ b/pywal/.config/wal/colorschemes/dark/catpuccin-latte.json @@ -0,0 +1,28 @@ +{ + "alpha": "100", + "special": { + "background": "#EFF1F5", + "foreground": "#4C4F69", + "primary": "#000000", + "accent": "#000000", + "cursor": "#DC8A78" + }, + "colors": { + "color0": "#5C5F77", + "color1": "#D20F39", + "color2": "#40A02B", + "color3": "#DF8E1D", + "color4": "#1E66F5", + "color5": "#EA76CB", + "color6": "#179299", + "color7": "#ACB0BE", + "color8": "#ACB0BE", + "color9": "#D20F39", + "color10": "#40A02B", + "color11": "#DF8E1D", + "color12": "#1E66F5", + "color13": "#EA76CB", + "color14": "#179299", + "color15": "#BCC0CC" + } +} diff --git a/pywal/.config/wal/colorschemes/dark/catpuccin-macchiato.json b/pywal/.config/wal/colorschemes/dark/catpuccin-macchiato.json new file mode 100644 index 0000000..c9f0ed7 --- /dev/null +++ b/pywal/.config/wal/colorschemes/dark/catpuccin-macchiato.json @@ -0,0 +1,28 @@ +{ + "alpha": "100", + "special": { + "background": "#494D64", + "foreground": "#A5ADCB", + "primary": "#000000", + "accent": "#000000", + "cursor": "#A5ADCB" + }, + "colors": { + "color0": "#494D64", + "color1": "#ED8796", + "color2": "#A6DA95", + "color3": "#EED49F", + "color4": "#8AADF4", + "color5": "#F5BDE6", + "color6": "#8BD5CA", + "color7": "#B8C0E0", + "color8": "#5B6078", + "color9": "#ED8796", + "color10": "#A6DA95", + "color11": "#EED49F", + "color12": "#8AADF4", + "color13": "#F5BDE6", + "color14": "#8BD5CA", + "color15": "#A5ADCB" + } +} diff --git a/pywal/.config/wal/colorschemes/dark/catpuccin-mocha.json b/pywal/.config/wal/colorschemes/dark/catpuccin-mocha.json new file mode 100644 index 0000000..a419745 --- /dev/null +++ b/pywal/.config/wal/colorschemes/dark/catpuccin-mocha.json @@ -0,0 +1,28 @@ +{ + "alpha": "100", + "special": { + "background": "#1E1E2E", + "foreground": "#CDD6F4", + "primary": "#000000", + "accent": "#000000", + "cursor": "#F5E0DC" + }, + "colors": { + "color0": "#45475A", + "color1": "#F38BA8", + "color2": "#A6E3A1", + "color3": "#F9E2AF", + "color4": "#89B4FA", + "color5": "#F5C2E7", + "color6": "#94E2D5", + "color7": "#BAC2DE", + "color8": "#585B70", + "color9": "#F38BA8", + "color10": "#A6E3A1", + "color11": "#F9E2AF", + "color12": "#89B4FA", + "color13": "#F5C2E7", + "color14": "#94E2D5", + "color15": "#A6ADC8" + } +} diff --git a/pywal/.config/wal/colorschemes/dark/dunes.json b/pywal/.config/wal/colorschemes/dark/dunes.json new file mode 100644 index 0000000..7e7d842 --- /dev/null +++ b/pywal/.config/wal/colorschemes/dark/dunes.json @@ -0,0 +1,29 @@ +{ + "wallpaper": "/home/me/images/wallpapers/2880x1800/custom/dunes.jpg", + "alpha": "100", + "special": { + "background": "#1E1E2E", + "foreground": "#CDD6F4", + "primary": "#6D83D0", + "accent": "#89B4FA", + "cursor": "#CDD6F4" + }, + "colors": { + "color0": "#1E1E2E", + "color1": "#D56A85", + "color2": "#7BCA77", + "color3": "#DDBE89", + "color4": "#6D83D0", + "color5": "#D18ACD", + "color6": "#76B9A9", + "color7": "#cdd6f4", + "color8": "#45475a", + "color9": "#F38BA8", + "color10": "#A6E3A1", + "color11": "#F9E2AF", + "color12": "#89B4FA", + "color13": "#F5C2E7", + "color14": "#94E2D5", + "color15": "#7f849c" + } +} diff --git a/pywal/.config/wal/templates/colors.Xresources b/pywal/.config/wal/templates/colors.Xresources new file mode 100644 index 0000000..a47457e --- /dev/null +++ b/pywal/.config/wal/templates/colors.Xresources @@ -0,0 +1,24 @@ +! Generated by 'wal' + +! Color definitions +#define c00 {color0} +#define c01 {color1} +#define c02 {color2} +#define c03 {color3} +#define c04 {color4} +#define c05 {color5} +#define c06 {color6} +#define c07 {color7} +#define c08 {color8} +#define c09 {color9} +#define c10 {color10} +#define c11 {color11} +#define c12 {color12} +#define c13 {color13} +#define c14 {color14} +#define c15 {color15} + +#define cbg {background} +#define cfg {foreground} +#define cps {primary} +#define cas {accent} diff --git a/pywal/.config/wal/templates/colors.sh b/pywal/.config/wal/templates/colors.sh new file mode 100644 index 0000000..d518f92 --- /dev/null +++ b/pywal/.config/wal/templates/colors.sh @@ -0,0 +1,38 @@ +# Generated by 'wal' + +wallpaper="{wallpaper}" + +# Special +background='{background}' +foreground='{foreground}' +primary='{primary}' +accent='{accent}' +cursor='{cursor}' + +# Colors +color0='{color0}' +color1='{color1}' +color2='{color2}' +color3='{color3}' +color4='{color4}' +color5='{color5}' +color6='{color6}' +color7='{color7}' +color8='{color8}' +color9='{color9}' +color10='{color10}' +color11='{color11}' +color12='{color12}' +color13='{color13}' +color14='{color14}' +color15='{color15}' + +# FZF colors +export FZF_DEFAULT_OPTS=" + $FZF_DEFAULT_OPTS + --color fg:7,bg:0,hl:1,fg+:232,bg+:1,hl+:255 + --color info:7,prompt:2,spinner:1,pointer:232,marker:1 +" + +# Fix LS_COLORS being unreadable. +export LS_COLORS="${{LS_COLORS}}:su=30;41:ow=30;42:st=30;44:" diff --git a/pywal/.config/wal/templates/dunstrc b/pywal/.config/wal/templates/dunstrc new file mode 100644 index 0000000..641af0c --- /dev/null +++ b/pywal/.config/wal/templates/dunstrc @@ -0,0 +1,438 @@ +# See dunst(5) for all configuration options + +[global] + ### Display ### + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a window manager that exports the + # _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern window managers. + # + # If this option is set to mouse or keyboard, the monitor option + # will be ignored. + follow = none + + ### Geometry ### + + # dynamic width from 0 to 300 + # width = (0, 300) + # constant width of 300 + width = (250, 350) + + # The maximum height of a single notification, excluding the frame. + height = 45 + + # Position the notification in the top right corner + origin = bottom-center + + # Offset from the origin + offset = 0x40 + + # Scale factor. It is auto-detected if value is 0. + scale = 0 + + # Maximum number of notification (0 means no limit) + notification_limit = 0 + + ### Progress bar ### + + # Turn on the progess bar. It appears when a progress hint is passed with + # for example dunstify -h int:value:12 + progress_bar = true + + # Set the progress bar height. This includes the frame, so make sure + # it's at least twice as big as the frame width. + progress_bar_height = 2 + + # Set the frame width of the progress bar + progress_bar_frame_width = 0 + + # Set the minimum width for the progress bar + progress_bar_min_width = 0 + + # Set the maximum width for the progress bar + progress_bar_max_width = 350 + + highlight = "{primary}" + + # Show how many messages are currently hidden (because of + # notification_limit). + indicate_hidden = yes + + # The transparency of the window. Range: [0; 100]. + # This option will only work if a compositing window manager is + # present (e.g. xcompmgr, compiz, etc.). (X11 only) + transparency = 0 + + # Draw a line of "separator_height" pixel height between two + # notifications. + # Set to 0 to disable. + separator_height = 0 + + # Padding between text and separator. + padding = 8 + + # Horizontal padding. + horizontal_padding = 8 + + # Padding between text and icon. + text_icon_padding = 0 + + # Defines width in pixels of frame around the notification window. + # Set to 0 to disable. + frame_width = 2 + + # Defines color of the frame around the notification window. + frame_color = "{background}" + # "#4396c0" + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background; + # * foreground: use the same color as the foreground; + # * frame: use the same color as the frame; + # * anything else will be interpreted as a X color. + separator_color = frame + + # Sort messages by urgency. + sort = yes + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + # A client can set the 'transient' hint to bypass this. See the rules + # section for how to disable this if necessary + # idle_threshold = 120 + + ### Text ### + + font = JetBrains Mono 8 + + # The spacing between lines. If the height is smaller than the + # font height, it will get raised to the font height. + line_height = 0 + + # Possible values are: + # full: Allow a small subset of html markup in notifications: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # + # strip: This setting is provided for compatibility with some broken + # clients that send markup even though it's not enabled on the + # server. Dunst will try to strip the markup but the parsing is + # simplistic so using this option outside of matching rules for + # specific applications *IS GREATLY DISCOURAGED*. + # + # no: Disable markup parsing, incoming notifications will be treated as + # plain text. Dunst will not advertise that it has the body-markup + # capability if this is set as a global setting. + # + # It's important to note that markup inside the format option will be parsed + # regardless of what this is set to. + markup = full + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # %n progress value if set without any extra characters + # %% Literal % + # Markup is allowed + format = "%s\n%b" + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = center + + # Vertical alignment of message text and icon. + # Possible values are "top", "center" and "bottom". + vertical_alignment = top + + # Show age of message if message is older than show_age_threshold + # seconds. + # Set to -1 to disable. + show_age_threshold = -1 + + # Specify where to make an ellipsis in long lines. + # Possible values are "start", "middle" and "end". + ellipsize = end + + # Ignore newlines '\n' in notifications. + ignore_newline = no + + # Stack together notifications with the same content + stack_duplicates = true + + # Hide the count of stacked notifications with the same content + hide_duplicate_count = true + + # Display indicators for URLs (U) and actions (A). + show_indicators = yes + + ### Icons ### + + # Align icons left/right/off + icon_position = off + + # Scale small icons up to this size, set to 0 to disable. Helpful + # for e.g. small files or high-dpi screens. In case of conflict, + # max_icon_size takes precedence over this. + min_icon_size = 0 + + # Scale larger icons down to this size, set to 0 to disable + max_icon_size = 32 + + # Paths to default icons. + icon_path = /usr/share/icons/Papirus-Dark/16x16/devices/ + + ### History ### + + # Should a notification popped up from history be sticky or timeout + # as if it would normally do. + sticky_history = yes + + # Maximum amount of notifications kept in history + history_length = 20 + + ### Misc/Advanced ### + + # dmenu path. + dmenu = /usr/bin/dmenu -p dunst: + + # Browser for opening urls in context menu. + browser = /usr/bin/xdg-open + + # Always run rule-defined scripts, even if the notification is suppressed + always_run_script = true + + # Define the title of the windows spawned by dunst + title = Dunst + + # Define the class of the windows spawned by dunst + class = Dunst + + # Define the corner radius of the notification window + # in pixel size. If the radius is 0, you have no rounded + # corners. + # The radius will be automatically lowered if it exceeds half of the + # notification height to avoid clipping text and/or icons. + corner_radius = 0 + + # Ignore the dbus closeNotification message. + # Useful to enforce the timeout set by dunst configuration. Without this + # parameter, an application may close the notification sent before the + # user defined timeout. + ignore_dbusclose = false + + ### Wayland ### + # These settings are Wayland-specific. They have no effect when using X11 + + # Uncomment this if you want to let notications appear under fullscreen + # applications (default: overlay) + # layer = top + + # Set this to true to use X11 output on Wayland. + force_xwayland = false + + ### Legacy + + # Use the Xinerama extension instead of RandR for multi-monitor support. + # This setting is provided for compatibility with older nVidia drivers that + # do not support RandR and using it on systems that support RandR is highly + # discouraged. + # + # By enabling this setting dunst will not be able to detect when a monitor + # is connected or disconnected which might break follow mode if the screen + # layout changes. + force_xinerama = false + + ### mouse + + # Defines list of actions for each mouse event + # Possible values are: + # * none: Don't do anything. + # * do_action: Invoke the action determined by the action_name rule. If there is no + # such action, open the context menu. + # * open_url: If the notification has exactly one url, open it. If there are multiple + # ones, open the context menu. + # * close_current: Close current notification. + # * close_all: Close all notifications. + # * context: Open context menu for the notification. + # * context_all: Open context menu for all notifications. + # These values can be strung together for each mouse event, and + # will be executed in sequence. + mouse_left_click = close_current + mouse_middle_click = do_action, close_current + mouse_right_click = close_all + +# Experimental features that may or may not work correctly. Do not expect them +# to have a consistent behaviour across releases. +[experimental] + # Calculate the dpi to use on a per-monitor basis. + # If this setting is enabled the Xft.dpi value will be ignored and instead + # dunst will attempt to calculate an appropriate dpi value for each monitor + # using the resolution and physical size. This might be useful in setups + # where there are multiple screens with very different dpi values. + per_monitor_dpi = false + + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "{background}" + foreground = "{foreground}" + timeout = 1 + # Icon for notifications with low urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_normal] + background = "{background}" + foreground = "{foreground}" + timeout = 3 + # Icon for notifications with normal urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_critical] + background = "{background}" + foreground = "{color1}" + frame_color = "{color1}" + timeout = 0 + # Icon for notifications with critical urgency, uncomment to enable + #default_icon = /path/to/icon + +# Every section that isn't one of the above is interpreted as a rules to +# override settings for certain messages. +# +# Messages can be matched by +# appname (discouraged, see desktop_entry) +# body +# category +# desktop_entry +# icon +# match_transient +# msg_urgency +# stack_tag +# summary +# +# and you can override the +# background +# foreground +# format +# frame_color +# fullscreen +# new_icon +# set_stack_tag +# set_transient +# set_category +# timeout +# urgency +# skip_display +# history_ignore +# action_name +# word_wrap +# ellipsize +# alignment +# +# Shell-like globbing will get expanded. +# +# Instead of the appname filter, it's recommended to use the desktop_entry filter. +# GLib based applications export their desktop-entry name. In comparison to the appname, +# the desktop-entry won't get localized. +# +# SCRIPTING +# You can specify a script that gets run when the rule matches by +# setting the "script" option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + +# Disable the transient hint so that idle_threshold cannot be bypassed from the +# client +#[transient_disable] +# match_transient = yes +# set_transient = no +# +# Make the handling of transient notifications more strict by making them not +# be placed in history. +#[transient_history_ignore] +# match_transient = yes +# history_ignore = yes + +# fullscreen values +# show: show the notifications, regardless if there is a fullscreen window opened +# delay: displays the new notification, if there is no fullscreen window active +# If the notification is already drawn, it won't get undrawn. +# pushback: same as delay, but when switching into fullscreen, the notification will get +# withdrawn from screen again and will get delayed like a new notification +#[fullscreen_delay_everything] +# fullscreen = delay +#[fullscreen_show_critical] +# msg_urgency = critical +# fullscreen = show + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# skip_display = true + +#[history-ignore] +# # This notification will not be saved in history +# summary = "foobar" +# history_ignore = yes + +#[skip-display] +# # This notification will not be displayed, but will be included in the history +# summary = "foobar" +# skip_display = yes + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# +#[stack-volumes] +# appname = "some_volume_notifiers" +# set_stack_tag = "volume" +# +# vim: ft=cfg diff --git a/pywal/.config/wal/templates/flameshot.ini b/pywal/.config/wal/templates/flameshot.ini new file mode 100644 index 0000000..71d139d --- /dev/null +++ b/pywal/.config/wal/templates/flameshot.ini @@ -0,0 +1,7 @@ +[General] +contrastOpacity=191 +contrastUiColor={accent} +showDesktopNotification=false +uiColor={primary} +uploadHistoryMax=20 +useJpgForClipboard=true diff --git a/pywal/.config/wal/templates/zathurarc b/pywal/.config/wal/templates/zathurarc new file mode 100644 index 0000000..31f1c78 --- /dev/null +++ b/pywal/.config/wal/templates/zathurarc @@ -0,0 +1,36 @@ +# Generated by wal +# Changed should be made in the template + +set selection-clipboard "clipboard" +set database "plain" + +set window-title-basename true +set window-title-page false + +set recolor false +set guioptions "v" + +set font "JetBrains Mono normal 8" + +set default-bg "{background}" +set highlight-color "{foreground}" +set highlight-active-color "{primary}" +set recolor-lightcolor "{background}" +set notification-bg "{background}" +set notification-fg "{foreground}" +set statusbar-bg "{background}" +set statusbar-fg "{foreground}" +set inputbar-bg "{background}" +set inputbar-fg "{foreground}" +set index-bg "{background}" +set index-fg "{foreground}" +set index-active-bg "{primary}" +set index-active-fg "{background}" +set completion-fg "{foreground}" +set completion-bg "{background}" +set completion-group-fg "{foreground}" +set completion-group-bg "{primary}" +set completion-highlight-fg "{background}" +set completion-highlight-bg "{foreground}" + +map y feedkeys c diff --git a/qutebrowser/.config/qutebrowser/config.py b/qutebrowser/.config/qutebrowser/config.py index 9f27302..c097087 100644 --- a/qutebrowser/.config/qutebrowser/config.py +++ b/qutebrowser/.config/qutebrowser/config.py @@ -1,7 +1,17 @@ config.load_autoconfig(False) +config.bind("", "tab-next") +config.bind("", "tab-prev") + from utils import * +command = ["xterm", "-fa", "JetBrainsMono", "-fs", "8", "-e", "ranger", "--choosefile={}"] + +c.fileselect.handler = "external" +c.fileselect.multiple_files.command = command +c.fileselect.single_file.command = command +c.fileselect.folder.command = command + c.content.autoplay = False c.zoom.default = "100%" @@ -25,8 +35,6 @@ c.content.blocking.method = "adblock" c.qt.highdpi = True c.qt.force_software_rendering = "chromium" -c.colors.webpage.preferred_color_scheme = "dark" - home = "/home/me/.config/qutebrowser/home.html" c.url.start_pages = home @@ -91,3 +99,14 @@ c.colors.messages.info.border = background c.colors.messages.warning.bg = background c.colors.messages.warning.fg = foreground c.colors.messages.warning.border = background + +c.colors.webpage.preferred_color_scheme = "dark" +# c.colors.webpage.darkmode.algorithm = 'lightness-cielab' +# c.colors.webpage.darkmode.contrast = 0.0 +# c.colors.webpage.darkmode.enabled = True +# c.colors.webpage.darkmode.grayscale.all = False +# c.colors.webpage.darkmode.grayscale.images = 0.0 +# c.colors.webpage.darkmode.policy.images = 'smart' +# c.colors.webpage.darkmode.policy.page = 'smart' +# c.colors.webpage.darkmode.threshold.background = 128 +# c.colors.webpage.darkmode.threshold.text = 128 diff --git a/qutebrowser/.config/qutebrowser/home.html b/qutebrowser/.config/qutebrowser/home.html index e82a054..f6b4306 100644 --- a/qutebrowser/.config/qutebrowser/home.html +++ b/qutebrowser/.config/qutebrowser/home.html @@ -18,9 +18,14 @@ } a { - text-decoration: none; - color: var(--color1); + outline: none; + color: var(--color4); padding-right: 0.5em; + text-decoration: none; + } + + a:hover, a:focus { + color: var(--color12); } .terminal { @@ -33,18 +38,85 @@ bottom: 0; right: 4em; } + + .list { + display: flex; + } + + .list a { + margin-right: 1em; + } + + .group { + display: flex; + + padding-bottom: 1em; + flex-direction: column; + } + + .group a::before { + content: "├ "; + color: var(--foreground); + } + + .group a:last-child::before { + content: "└ "; + color: var(--foreground); + } + + .group::before { + content: attr(data-title); + padding-bottom: 2px; + } + + .noselect { + user-select: none; + }
-

[ me@qutebrowser ] ~ $ ls

+

[ me@qutebrowser ] ~ $ quickmarks

- qmoodle - qmusic - qchat - qrmfc - qweb - qgit +

diff --git a/qutebrowser/.config/qutebrowser/utils.py b/qutebrowser/.config/qutebrowser/utils.py index 790bea2..c0247c2 100644 --- a/qutebrowser/.config/qutebrowser/utils.py +++ b/qutebrowser/.config/qutebrowser/utils.py @@ -1,4 +1,18 @@ -translucent = "#801a1a1a" -background = "#1a1a1a" -foreground = "#bcd0db" -accent = "#a642c0" +import subprocess + +def read_xresources(prefix): + props = {} + x = subprocess.run(['xrdb', '-query'], stdout=subprocess.PIPE) + lines = x.stdout.decode().split('\n') + for line in filter(lambda l : l.startswith(prefix), lines): + prop, _, value = line.partition(':\t') + props[prop] = value + return props + +xres = read_xresources('*') +# can be userd now like `c.colors.statusbar.normal.bg = xres['*.background']` + +translucent = "#80" + xres['*background'].split('#')[1] +background = xres['*background'] +foreground = xres['*foreground'] +accent = xres['*primary'] diff --git a/systemd/.config/systemd/user/default.target.wants/mpd.service b/systemd/.config/systemd/user/default.target.wants/mpd.service new file mode 120000 index 0000000..0524f66 --- /dev/null +++ b/systemd/.config/systemd/user/default.target.wants/mpd.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/mpd.service \ No newline at end of file diff --git a/xorg/.Xmodmap b/xorg/.Xmodmap index 0a90c25..f46f862 100644 --- a/xorg/.Xmodmap +++ b/xorg/.Xmodmap @@ -1,92 +1,92 @@ keycode 8 = keycode 9 = Escape NoSymbol Escape -keycode 10 = 1 exclam 1 exclam onesuperior exclamdown onesuperior exclamdown -keycode 11 = 2 quotedbl 2 quotedbl twosuperior oneeighth twosuperior oneeighth -keycode 12 = 3 section 3 section threesuperior sterling threesuperior sterling -keycode 13 = 4 dollar 4 dollar onequarter currency onequarter currency -keycode 14 = 5 percent 5 percent onehalf threeeighths onehalf threeeighths -keycode 15 = 6 ampersand 6 ampersand notsign fiveeighths notsign fiveeighths -keycode 16 = 7 slash 7 slash braceleft seveneighths braceleft seveneighths -keycode 17 = 8 parenleft 8 parenleft bracketleft trademark bracketleft trademark -keycode 18 = 9 parenright 9 parenright bracketright plusminus bracketright plusminus -keycode 19 = 0 equal 0 equal braceright degree braceright degree -keycode 20 = ssharp question ssharp question backslash questiondown U1E9E backslash questiondown U1E9E -keycode 21 = dead_acute dead_grave dead_acute dead_grave dead_cedilla dead_ogonek dead_cedilla dead_ogonek +keycode 10 = 1 exclam 1 exclam +keycode 11 = 2 at 2 at +keycode 12 = 3 numbersign 3 numbersign +keycode 13 = 4 dollar 4 dollar +keycode 14 = 5 percent 5 percent +keycode 15 = 6 asciicircum 6 asciicircum +keycode 16 = 7 ampersand 7 ampersand +keycode 17 = 8 asterisk 8 asterisk +keycode 18 = 9 parenleft 9 parenleft +keycode 19 = 0 parenright 0 parenright +keycode 20 = minus underscore minus underscore +keycode 21 = plus equal degree plusminus keycode 22 = BackSpace BackSpace BackSpace BackSpace keycode 23 = Tab ISO_Left_Tab Tab ISO_Left_Tab -keycode 24 = q Q q Q at Greek_OMEGA at Greek_OMEGA -keycode 25 = w W w W U017F section U017F section -keycode 26 = e E e E EuroSign EuroSign EuroSign EuroSign -keycode 27 = r R r R paragraph registered paragraph registered -keycode 28 = t T t T tslash Tslash tslash Tslash -keycode 29 = z Z z Z leftarrow yen leftarrow yen -keycode 30 = u U u U downarrow uparrow downarrow uparrow -keycode 31 = i I i I rightarrow idotless rightarrow idotless -keycode 32 = o O o O oslash Oslash oslash Oslash -keycode 33 = p P p P thorn THORN thorn THORN -keycode 34 = udiaeresis Udiaeresis udiaeresis Udiaeresis dead_diaeresis dead_abovering dead_diaeresis dead_abovering -keycode 35 = plus asterisk plus asterisk asciitilde macron asciitilde macron +keycode 24 = q Q q Q +keycode 25 = w W w W +keycode 26 = e E e E +keycode 27 = r R r R +keycode 28 = t T t T +keycode 29 = y Y y Y +keycode 30 = u U udiaeresis Udiaeresis +keycode 31 = i I i I +keycode 32 = o O odiaeresis Odiaeresis +keycode 33 = p P p P +keycode 34 = bracketleft braceleft bracketleft braceleft +keycode 35 = bracketright braceright bracketright braceright keycode 36 = Return NoSymbol Return keycode 37 = Control_L NoSymbol Control_L -keycode 38 = a A a A ae AE ae AE -keycode 39 = s S s S U017F U1E9E U017F U1E9E -keycode 40 = d D d D eth ETH eth ETH -keycode 41 = f F f F dstroke ordfeminine dstroke ordfeminine -keycode 42 = g G g G eng ENG eng ENG -keycode 43 = h H h H hstroke Hstroke hstroke Hstroke -keycode 44 = j J j J dead_belowdot dead_abovedot dead_belowdot dead_abovedot -keycode 45 = k K k K kra ampersand kra ampersand -keycode 46 = l L l L lstroke Lstroke lstroke Lstroke -keycode 47 = odiaeresis Odiaeresis odiaeresis Odiaeresis dead_doubleacute dead_belowdot dead_doubleacute dead_belowdot -keycode 48 = adiaeresis Adiaeresis adiaeresis Adiaeresis dead_circumflex dead_caron dead_circumflex dead_caron -keycode 49 = less greater less greater bar dead_belowmacron bar dead_belowmacron +keycode 38 = a A adiaeresis Adiaeresis +keycode 39 = s S ssharp +keycode 40 = d D d D +keycode 41 = f F f F +keycode 42 = g G g G +keycode 43 = h H h H +keycode 44 = j J j J +keycode 45 = k K k K +keycode 46 = l L l L +keycode 47 = semicolon colon semicolon colon +keycode 48 = apostrophe quotedbl apostrophe quotedbl +keycode 49 = grave asciitilde grave asciitilde keycode 50 = Shift_L NoSymbol Shift_L -keycode 51 = numbersign apostrophe numbersign apostrophe rightsinglequotemark dead_breve rightsinglequotemark dead_breve -keycode 52 = y Y y Y guillemotright U203A guillemotright U203A -keycode 53 = x X x X guillemotleft U2039 guillemotleft U2039 -keycode 54 = c C c C cent copyright cent copyright -keycode 55 = v V v V doublelowquotemark singlelowquotemark doublelowquotemark singlelowquotemark -keycode 56 = b B b B leftdoublequotemark leftsinglequotemark leftdoublequotemark leftsinglequotemark -keycode 57 = n N n N rightdoublequotemark rightsinglequotemark rightdoublequotemark rightsinglequotemark -keycode 58 = m M m M mu masculine mu masculine -keycode 59 = comma semicolon comma semicolon periodcentered multiply periodcentered multiply -keycode 60 = period colon period colon U2026 division U2026 division -keycode 61 = minus underscore minus underscore endash emdash endash emdash +keycode 51 = backslash bar backslash bar +keycode 52 = z Z z Z +keycode 53 = x X x X +keycode 54 = c C ccedilla Ccedilla +keycode 55 = v V doublelowquotemark singlelowquotemark +keycode 56 = b B leftdoublequotemark leftsinglequotemark +keycode 57 = n N rightdoublequotemark rightsinglequotemark +keycode 58 = m M m M +keycode 59 = comma less periodcentered multiply +keycode 60 = period greater U2026 division +keycode 61 = slash question slash question keycode 62 = Shift_R NoSymbol Shift_R -keycode 63 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply XF86ClearGrab KP_Multiply KP_Multiply XF86ClearGrab +keycode 63 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply XF86ClearGrab keycode 64 = Alt_L Meta_L Alt_L Meta_L keycode 65 = space NoSymbol space keycode 66 = Caps_Lock NoSymbol Caps_Lock -keycode 67 = F1 F1 F1 F1 F1 F1 XF86Switch_VT_1 F1 F1 XF86Switch_VT_1 -keycode 68 = F2 F2 F2 F2 F2 F2 XF86Switch_VT_2 F2 F2 XF86Switch_VT_2 -keycode 69 = F3 F3 F3 F3 F3 F3 XF86Switch_VT_3 F3 F3 XF86Switch_VT_3 -keycode 70 = F4 F4 F4 F4 F4 F4 XF86Switch_VT_4 F4 F4 XF86Switch_VT_4 -keycode 71 = F5 F5 F5 F5 F5 F5 XF86Switch_VT_5 F5 F5 XF86Switch_VT_5 -keycode 72 = F6 F6 F6 F6 F6 F6 XF86Switch_VT_6 F6 F6 XF86Switch_VT_6 -keycode 73 = F7 F7 F7 F7 F7 F7 XF86Switch_VT_7 F7 F7 XF86Switch_VT_7 -keycode 74 = F8 F8 F8 F8 F8 F8 XF86Switch_VT_8 F8 F8 XF86Switch_VT_8 -keycode 75 = F9 F9 F9 F9 F9 F9 XF86Switch_VT_9 F9 F9 XF86Switch_VT_9 -keycode 76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10 F10 F10 XF86Switch_VT_10 +keycode 67 = F1 F1 F1 F1 F1 F1 XF86Switch_VT_1 +keycode 68 = F2 F2 F2 F2 F2 F2 XF86Switch_VT_2 +keycode 69 = F3 F3 F3 F3 F3 F3 XF86Switch_VT_3 +keycode 70 = F4 F4 F4 F4 F4 F4 XF86Switch_VT_4 +keycode 71 = F5 F5 F5 F5 F5 F5 XF86Switch_VT_5 +keycode 72 = F6 F6 F6 F6 F6 F6 XF86Switch_VT_6 +keycode 73 = F7 F7 F7 F7 F7 F7 XF86Switch_VT_7 +keycode 74 = F8 F8 F8 F8 F8 F8 XF86Switch_VT_8 +keycode 75 = F9 F9 F9 F9 F9 F9 XF86Switch_VT_9 +keycode 76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10 keycode 77 = Num_Lock NoSymbol Num_Lock keycode 78 = Scroll_Lock NoSymbol Scroll_Lock keycode 79 = KP_Home KP_7 KP_Home KP_7 -keycode 80 = KP_Up KP_8 KP_Up KP_8 +keycode 80 = KP_Up KP_8 uparrow uparrow keycode 81 = KP_Prior KP_9 KP_Prior KP_9 -keycode 82 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract XF86Prev_VMode KP_Subtract KP_Subtract XF86Prev_VMode -keycode 83 = KP_Left KP_4 KP_Left KP_4 +keycode 82 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract XF86Prev_VMode +keycode 83 = KP_Left KP_4 leftarrow leftarrow keycode 84 = KP_Begin KP_5 KP_Begin KP_5 -keycode 85 = KP_Right KP_6 KP_Right KP_6 -keycode 86 = KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add XF86Next_VMode KP_Add KP_Add XF86Next_VMode +keycode 85 = KP_Right KP_6 rightarrow rightarrow +keycode 86 = KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add XF86Next_VMode keycode 87 = KP_End KP_1 KP_End KP_1 -keycode 88 = KP_Down KP_2 KP_Down KP_2 +keycode 88 = KP_Down KP_2 downarrow downarrow keycode 89 = KP_Next KP_3 KP_Next KP_3 keycode 90 = KP_Insert KP_0 KP_Insert KP_0 -keycode 91 = KP_Delete KP_Separator KP_Delete KP_Separator +keycode 91 = KP_Delete KP_Decimal KP_Delete KP_Decimal keycode 92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift keycode 93 = -keycode 94 = asciicircum degree asciitilde notsign U2033 -keycode 95 = F11 F11 F11 F11 F11 F11 XF86Switch_VT_11 F11 F11 XF86Switch_VT_11 -keycode 96 = F12 F12 F12 F12 F12 F12 XF86Switch_VT_12 F12 F12 XF86Switch_VT_12 +keycode 94 = less greater less greater bar brokenbar bar +keycode 95 = F11 F11 F11 F11 F11 F11 XF86Switch_VT_11 +keycode 96 = F12 F12 F12 F12 F12 F12 XF86Switch_VT_12 keycode 97 = keycode 98 = Katakana NoSymbol Katakana keycode 99 = Hiragana NoSymbol Hiragana @@ -95,18 +95,18 @@ keycode 101 = Hiragana_Katakana NoSymbol Hiragana_Katakana keycode 102 = Muhenkan NoSymbol Muhenkan keycode 103 = keycode 104 = KP_Enter NoSymbol KP_Enter -keycode 105 = Control_R NoSymbol Control_R -keycode 106 = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide XF86Ungrab KP_Divide KP_Divide XF86Ungrab +keycode 105 = Multi_key NoSymbol Multi_key +keycode 106 = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide XF86Ungrab keycode 107 = Print Sys_Req Print Sys_Req -keycode 108 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift +keycode 108 = Alt_R Meta_R Alt_R Meta_R keycode 109 = Linefeed NoSymbol Linefeed keycode 110 = Home NoSymbol Home -keycode 111 = Up NoSymbol Up +keycode 111 = Up NoSymbol uparrow uparrow keycode 112 = Prior NoSymbol Prior -keycode 113 = Left NoSymbol Left -keycode 114 = Right NoSymbol Right +keycode 113 = Left NoSymbol leftarrow leftarrow +keycode 114 = Right NoSymbol rightarrow rightarrow keycode 115 = End NoSymbol End -keycode 116 = Down NoSymbol Down +keycode 116 = Down NoSymbol downarrow downarrow keycode 117 = Next NoSymbol Next keycode 118 = Insert NoSymbol Insert keycode 119 = Delete NoSymbol Delete @@ -124,7 +124,7 @@ keycode 130 = Hangul NoSymbol Hangul keycode 131 = Hangul_Hanja NoSymbol Hangul_Hanja keycode 132 = keycode 133 = Super_L NoSymbol Super_L -keycode 134 = Super_R NoSymbol Super_R +keycode 134 = Mode_switch NoSymbol Mode_switch keycode 135 = Menu NoSymbol Menu keycode 136 = Cancel NoSymbol Cancel keycode 137 = Redo NoSymbol Redo @@ -181,19 +181,19 @@ keycode 187 = parenleft NoSymbol parenleft keycode 188 = parenright NoSymbol parenright keycode 189 = XF86New NoSymbol XF86New keycode 190 = Redo NoSymbol Redo -keycode 191 = XF86Tools NoSymbol XF86Tools -keycode 192 = XF86Launch5 NoSymbol XF86Launch5 -keycode 193 = XF86Launch6 NoSymbol XF86Launch6 -keycode 194 = XF86Launch7 NoSymbol XF86Launch7 -keycode 195 = XF86Launch8 NoSymbol XF86Launch8 -keycode 196 = XF86Launch9 NoSymbol XF86Launch9 +keycode 191 = XF86Launch1 NoSymbol XF86Launch1 +keycode 192 = XF86Launch2 NoSymbol XF86Launch2 +keycode 193 = XF86Launch3 NoSymbol XF86Launch3 +keycode 194 = XF86Launch4 NoSymbol XF86Launch4 +keycode 195 = +keycode 196 = keycode 197 = keycode 198 = XF86AudioMicMute NoSymbol XF86AudioMicMute keycode 199 = XF86TouchpadToggle NoSymbol XF86TouchpadToggle keycode 200 = XF86TouchpadOn NoSymbol XF86TouchpadOn keycode 201 = XF86TouchpadOff NoSymbol XF86TouchpadOff keycode 202 = -keycode 203 = Mode_switch NoSymbol Mode_switch +keycode 203 = ISO_Level5_Shift NoSymbol ISO_Level5_Shift keycode 204 = NoSymbol Alt_L NoSymbol Alt_L keycode 205 = NoSymbol Meta_L NoSymbol Meta_L keycode 206 = NoSymbol Super_L NoSymbol Super_L @@ -238,7 +238,7 @@ keycode 244 = XF86Battery NoSymbol XF86Battery keycode 245 = XF86Bluetooth NoSymbol XF86Bluetooth keycode 246 = XF86WLAN NoSymbol XF86WLAN keycode 247 = XF86UWB NoSymbol XF86UWB -keycode 248 = +keycode 248 = XF86LaunchB NoSymbol XF86LaunchB keycode 249 = XF86Next_VMode NoSymbol XF86Next_VMode keycode 250 = XF86Prev_VMode NoSymbol XF86Prev_VMode keycode 251 = XF86MonBrightnessCycle NoSymbol XF86MonBrightnessCycle diff --git a/xorg/.Xresources b/xorg/.Xresources index 62afedc..2ed927f 100644 --- a/xorg/.Xresources +++ b/xorg/.Xresources @@ -1,3 +1,70 @@ +#include ".cache/wal/colors.Xresources" + +#define font "JetBrainsMono Nerd Font:size=19:pixelsize=24:antialias=true:autohint=true" + +! Terminal colors +*.color0: c00 +*color0: c00 +*.color1: c01 +*color1: c01 +*.color2: c02 +*color2: c02 +*.color3: c03 +*color3: c03 +*.color4: c04 +*color4: c04 +*.color5: c05 +*color5: c05 +*.color6: c06 +*color6: c06 +*.color7: c07 +*color7: c07 +*.color8: c08 +*color8: c08 +*.color9: c09 +*color9: c09 +*.color10: c10 +*color10: c10 +*.color11: c11 +*color11: c11 +*.color12: c12 +*color12: c12 +*.color13: c13 +*color13: c13 +*.color14: c14 +*color14: c14 +*.color15: c15 +*color15: c15 + +! Black color that will not be affected by bold highlighting +*.color66: c00 +*color66: c00 + +*.background: cbg +*background: cbg +*.foreground: cfg +*foreground: cfg +*.primary: cps +*primary: cps +*.accent: cas +*accent: cas + Xft.dpi: 220 -Sxiv.font: JetBrains Mono:pixelsize=24 +Xcursor.theme: capitaine-cursors-light + +dwm.normbordercolor: c08 +dwm.normbgcolor: cbg +dwm.normfgcolor: cfg +dwm.selbordercolor: cps +dwm.selbgcolor: cps +dwm.selfgcolor: cbg + +Nsxiv.bar.font: font +Nsxiv.bar.background: cps +Nsxiv.bar.foreground: cbg +Nsxiv.mark.foreground: cps +Nsxiv.window.background: cbg +Nsxiv.window.foreground: cps + +xterm*font: *-fixed-*-*-*-28-* diff --git a/xorg/.config/env b/xorg/.config/env index a995e51..bff8a3a 100644 --- a/xorg/.config/env +++ b/xorg/.config/env @@ -1,26 +1,61 @@ #!/bin/bash +export XDG_CONFIG_HOME="$HOME/.config/" + ### SCRIPTS -export PATH="$(find -L "$HOME/.local/bin/" -name '.*' -prune -o -type d -printf ':%p'):$PATH:$HOME/software/bin/" +export PATH="$(find -L "$HOME/.local/bin/" -name '.*' -prune -o -type d -printf ':%p'):/opt/:$PATH" +export PATH="$PATH:$HOME/.local/share/gem/ruby/3.0.0/bin" ### DEFAULTS export TERM="xterm" export EDITOR="nvim" export BROWSER="qutebrowser" export TERMINAL="st" -export EMAIL="thunderbird" +export EMAIL="neomutt" + +export PAGER="leser" +export MANPAGER="leser" +export MANROFFOPT="-P -c" export GIT_SSH_COMMAND="ssh" +export GNUPGHOME="$HOME/keys/gpg" +export PASSWORD_STORE_DIR="$HOME/keys/pass" -### FLUTTER +### SPITFIRE +export WINEPREFIX="$HOME/music/spitfire/spitfire/" +export WINELOADER="$HOME/.local/share/bottles/runners/soda-7.0-9/bin/wine" -export PATH="$PATH:$HOME/software/flutter/bin:/opt/android-sdk/tools/bin/" +### FLUTTER +export PATH="$HOME/software/flutter/bin:/opt/android-sdk/tools/bin/:$PATH" +export FLUTTER_ROOT="$HOME/software/flutter/bin/flutter" export CHROME_EXECUTABLE="$(which brave)" +export CHROME_PATH="$CHROME_EXECUTABLE" + +export JAVA_HOME="/usr/lib/jvm/java-20-openjdk/" +export ANDROID_HOME="sdkmanager" +export ANDROID_HOME="/opt/android-sdk" +export ANDROID_SDK_ROOT="/opt/android-sdk" +export REPO_OS_OVERRIDE="linux" + +export AWT_TOOLKIT="MToolkit" +export _JAVA_AWT_WM_NONREPARENTING=1 + +# -- from github +# export PATH="$PATH:$HOME/git/applications/flutter/bin:$HOME/.sdks/android/android-sdk/platform-tools:$HOME/.sdks/android/android-sdk/tools:$HOME/.sdks/android/android-sdk/tools/bin" + +# export JAVA_HOME="/usr/lib/jvm/java-8-openjdk" + +### JUPYTER +export JUPYTERLAB_DIR="$HOME/.local/share/jupyter/lab" +export JUPYTER_CONFIG_DIR="$HOME/.config/jupyter/" -export JAVA_HOME="/usr/lib/jvm/java-8-openjdk/" -# export ANDROID_HOME="sdkmanager" +### INPUT +export GTK_IM_MODULE=fcitx +export QT_IM_MODULE=fcitx +export XMODIFIERS=@im=fcitx -### UI SCALE +### GUI THINGS +export QT_QPA_PLATFORMTHEME="qt5ct" export GDK_DPI_SCALE="1" export GDK_SCALE="1" diff --git a/xorg/.config/mimeapps.list b/xorg/.config/mimeapps.list index 8abb510..ec9ae23 100644 --- a/xorg/.config/mimeapps.list +++ b/xorg/.config/mimeapps.list @@ -1,16 +1,21 @@ [Added Associations] -image/*=sxiv.desktop;org.qutebrowser.qutebrowser.desktop; -x-scheme-handler/mailto=userapp-Thunderbird-CLI8N1.desktop; -x-scheme-handler/mid=userapp-Thunderbird-CLI8N1.desktop; -application/pdf=org.pwmt.zathura-pdf-mupdf.desktop; +video/*=mpv.desktop +audio/*=mpv.desktop +image/*=nsxiv.desktop +model/*=org.freecadweb.FreeCAD.desktop +model/3mf=cura.desktop;org.freecadweb.FreeCAD.desktop [Default Applications] -image/png=sxiv.desktop -image/jpeg=sxiv.desktop +video/mkv=vlc.desktop +video/mp4=mpv.desktop +audio/mp3=mpv.desktop +image/gif=nsxiv.desktop +image/png=nsxiv.desktop +image/jpg=nsxiv.desktop +image/jpeg=nsxiv.desktop inode/directory=thunar.desktop application/pdf=org.pwmt.zathura.desktop -x-scheme-handler/mailto=userapp-Thunderbird-CLI8N1.desktop -message/rfc822=userapp-Thunderbird-CLI8N1.desktop -x-scheme-handler/mid=userapp-Thunderbird-CLI8N1.desktop x-scheme-handler/http=org.qutebrowser.qutebrowser.desktop x-scheme-handler/https=org.qutebrowser.qutebrowser.desktop +x-scheme-handler/figma=figma-linux.desktop + diff --git a/xorg/.config/wallpaper b/xorg/.config/wallpaper index 92c5f6c..9a4953e 100644 Binary files a/xorg/.config/wallpaper and b/xorg/.config/wallpaper differ diff --git a/xorg/.xinitrc b/xorg/.xinitrc index b6a1168..8bbd85b 100755 --- a/xorg/.xinitrc +++ b/xorg/.xinitrc @@ -1,24 +1,42 @@ #!/bin/bash setxkbmap de -feh --bg-fill $HOME/.config/wallpaper +. "$HOME/.screenlayout/home.sh" +feh --bg-fill "$HOME/.config/wallpaper" -# This was needed on my system with the non-lts kernel (some keys were mismatched) -# [[ -f ~/.Xmodmap ]] && xmodmap $HOME/.Xmodmap -[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources -[[ -f $HOME/.cache/wal/colors.Xresources ]] && xrdb -merge -I$HOME $HOME/.cache/wal/colors.Xresources +env_file="$HOME/.config/env" +modmap_file="$HOME/.Xmodmap" +resources_file="$HOME/.Xresources" -[[ -f $HOME/.config/env ]] && source $HOME/.config/env +[[ -f "$env_file" ]] && . "$env_file" +[[ -f "$modmap_file" ]] && xmodmap "$modmap_file" +[[ -f "$resources_file" ]] && xrdb -merge -I"$HOME" "$resources_file" + +if [ -d /etc/X11/xinit/xinitrc.d ] ; then + for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do + [ -x "$f" ] && . "$f" + done + unset f +fi + +mkdir -p "$HOME"/.local/share/keyrings +eval $(/usr/bin/gnome-keyring-daemon --start) && export SSH_AUTH_SOCK updates check & -sxhkd -c "$HOME/.config/sxhkd/mediarc" & unclutter -idle 1 & brightness load & +clipmenud & +fcitx5 -d & slstatus & dunst & +picom & + +[ ! -s "$HOME/.config/mpd/pid" ] && mpd & -exec dwm +exec dwm # 2> "$HOME/dwm.log" +# exec leftwm +# exec awesome wal -R diff --git a/zathura/.config/zathura/zathurarc b/zathura/.config/zathura/zathurarc deleted file mode 100644 index 2dc8b3e..0000000 --- a/zathura/.config/zathura/zathurarc +++ /dev/null @@ -1,23 +0,0 @@ -set selection-clipboard "clipboard" - -set window-title-basename true -set window-title-page false - -set recolor true - -set font "JetBrains Mono normal 8" - -set default-bg "#1a1a1a" -set highlight-color "#e8e2ef" -set highlight-active-color "#a642c0" -set recolor-lightcolor "#1a1a1a" -set statusbar-bg "#1a1a1a" -set statusbar-fg "#e8e2ef" -set inputbar-bg "#1a1a1a" -set inputbar-fg "#e8e2ef" -set completion-fg "#e8e2ef" -set completion-bg "#1a1a1a" -set completion-group-fg "#e8e2ef" -set completion-group-bg "#a642c0" -set completion-highlight-fg "#1a1a1a" -set completion-highlight-bg "#e8e2ef" -- cgit v1.2.3