Compare commits
2 Commits
master
...
chromebook
Author | SHA1 | Date |
---|---|---|
Alex | 8bdee3d2dc | |
Alex | ef037c0e39 |
|
@ -0,0 +1,6 @@
|
|||
Section "Device"
|
||||
Identifier "AMD"
|
||||
Driver "amdgpu"
|
||||
Option "TearFree" "true"
|
||||
#BusID "PCI:02:0:0"
|
||||
EndSection
|
|
@ -0,0 +1,5 @@
|
|||
Section "Device"
|
||||
Identifier "Intel Graphics"
|
||||
Driver "intel"
|
||||
Option "TearFree" "true"
|
||||
EndSection
|
|
@ -0,0 +1,7 @@
|
|||
Section "InputClass"
|
||||
Identifier "My Mouse"
|
||||
MatchIsPointer "yes"
|
||||
Option "AccelerationProfile" "-1"
|
||||
Option "AccelerationScheme" "none"
|
||||
Option "AccelSpeed" "-1"
|
||||
EndSection
|
|
@ -0,0 +1,415 @@
|
|||
# An example configuration file for MPD.
|
||||
# Read the user manual for documentation: http://www.musicpd.org/doc/user/
|
||||
# or /usr/share/doc/mpd/html/user.html
|
||||
|
||||
|
||||
# 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 "/home/alex/Music" #"/var/lib/mpd/music"
|
||||
#
|
||||
# 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 "/var/lib/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 "/var/lib/mpd/tag_cache"
|
||||
#
|
||||
# These settings are the locations for the daemon log files for the daemon.
|
||||
# These logs are great for troubleshooting, depending on your log_level
|
||||
# settings.
|
||||
#
|
||||
# The special value "syslog" makes MPD use the local syslog daemon. This
|
||||
# setting defaults to logging to syslog, or to journal if mpd was started as
|
||||
# a systemd service.
|
||||
#
|
||||
log_file "/var/log/mpd/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.
|
||||
#
|
||||
pid_file "/run/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 "/var/lib/mpd/state"
|
||||
#
|
||||
# The location of the sticker database. This is a database which
|
||||
# manages dynamic information attached to songs.
|
||||
#
|
||||
sticker_file "/var/lib/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 "mpd"
|
||||
#
|
||||
# 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 then the default, any.
|
||||
# This setting can deny access to control of the daemon. Choose any if you want
|
||||
# to have mpd listen on every address. Not effective if systemd socket
|
||||
# activation is in use.
|
||||
#
|
||||
# For network
|
||||
bind_to_address "localhost"
|
||||
#
|
||||
# And for Unix Socket
|
||||
#bind_to_address "/run/mpd/socket"
|
||||
#
|
||||
# This setting is the TCP port that is desired for the daemon to get assigned
|
||||
# to.
|
||||
#
|
||||
#port "6600"
|
||||
#
|
||||
# This setting controls the type of information which is logged. Available
|
||||
# setting arguments are "default", "secure" or "verbose". The "verbose" setting
|
||||
# argument is recommended for troubleshooting, though can quickly stretch
|
||||
# available resources on limited hardware storage.
|
||||
#
|
||||
#log_level "default"
|
||||
#
|
||||
# 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 #######################################################################
|
||||
#
|
||||
|
||||
#database {
|
||||
# plugin "proxy"
|
||||
# host "other.mpd.host"
|
||||
# port "6600"
|
||||
#}
|
||||
|
||||
# Input #######################################################################
|
||||
#
|
||||
|
||||
input {
|
||||
plugin "curl"
|
||||
# proxy "proxy.isp.com:8080"
|
||||
# proxy_user "user"
|
||||
# proxy_password "password"
|
||||
}
|
||||
|
||||
# QOBUZ input plugin
|
||||
input {
|
||||
enabled "no"
|
||||
plugin "qobuz"
|
||||
# app_id "ID"
|
||||
# app_secret "SECRET"
|
||||
# username "USERNAME"
|
||||
# password "PASSWORD"
|
||||
# format_id "N"
|
||||
}
|
||||
|
||||
# TIDAL input plugin
|
||||
input {
|
||||
enabled "no"
|
||||
plugin "tidal"
|
||||
# token "TOKEN"
|
||||
# username "USERNAME"
|
||||
# password "PASSWORD"
|
||||
# audioquality "Q"
|
||||
}
|
||||
|
||||
# Decoder #####################################################################
|
||||
#
|
||||
|
||||
decoder {
|
||||
plugin "hybrid_dsd"
|
||||
enabled "no"
|
||||
# gapless "no"
|
||||
}
|
||||
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
# 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.
|
||||
#
|
||||
# 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)
|
||||
# Please see README.Debian if you want mpd to play through the pulseaudio
|
||||
# daemon started as part of your graphical desktop session!
|
||||
#
|
||||
#audio_output {
|
||||
# type "pulse"
|
||||
# name "My Pulse Output"
|
||||
# server "remote_server" # optional
|
||||
# sink "remote_server_sink" # 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 an openal output.
|
||||
#
|
||||
#audio_output {
|
||||
# type "openal"
|
||||
# name "My OpenAL output"
|
||||
# device "Digital Audio (S/PDIF) (High Definition Audio Device)" # 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 <http://www.replaygain.org> 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"
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
audio_output {
|
||||
type "fifo"
|
||||
name "Visualizer feed"
|
||||
path "/tmp/mpd.fifo"
|
||||
format "44100:16:2"
|
||||
}
|
|
@ -0,0 +1,155 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
#
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
# ./sway-configuration.nix
|
||||
];
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "rias"; # Define your hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
|
||||
# Per-interface useDHCP will be mandatory in the future, so this generated config
|
||||
# replicates the default behaviour.
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces.enp5s0.useDHCP = true;
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n = {
|
||||
consoleFont = "Lat2-Terminus16";
|
||||
consoleKeyMap = "us";
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Chicago";
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
hardware.opengl.driSupport32Bit = true;
|
||||
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
|
||||
hardware.pulseaudio.support32Bit = true;
|
||||
|
||||
|
||||
fileSystems."/home/alex/HDDA" =
|
||||
{ device = "/dev/disk/by-uuid/b7d683d4-9337-433b-8d33-1035ef7dbcdf";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/media/Seagate_HDD/" =
|
||||
{ device = "/dev/disk/by-uuid/3ec3e778-2b12-469d-92be-95226c0cf759";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
services.flatpak.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
#System programs
|
||||
wget file unzip unrar zsh
|
||||
|
||||
#KDE
|
||||
# redshift-plasma-applet redshift
|
||||
#GNOME
|
||||
gnome3.gnome-tweaks
|
||||
|
||||
#Graphics
|
||||
vulkan-loader
|
||||
|
||||
|
||||
#CLI programs
|
||||
vim htop radeontop
|
||||
|
||||
#GUI programs
|
||||
firefox transmission-gtk mcomix
|
||||
|
||||
#Theming
|
||||
gnome3.adwaita-icon-theme gnome3.defaultIconTheme
|
||||
|
||||
#Gaming
|
||||
wineFull lutris steam
|
||||
|
||||
#Development
|
||||
git go lua love_11
|
||||
mono dotnetPackages.MonoAddins
|
||||
gcc python gnumake
|
||||
|
||||
#needed to build wc-gammactl (maybe not all of this)
|
||||
# meson ninja clang llvm
|
||||
# libgcc
|
||||
# gcc-unwrapped gnome3.glade gtk3 gtkmm3 cmake pkg-config wlroots
|
||||
];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
# programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
networking.firewall.enable = false;
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
# services.printing.enable = true;
|
||||
|
||||
# Enable sound.
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = true;
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
# services.xserver.enable = true;
|
||||
# services.xserver.layout = "us";
|
||||
# services.xserver.xkbOptions = "eurosign:e";
|
||||
|
||||
# Enable touchpad support.
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# Enable the KDE Desktop Environment.
|
||||
#services.xserver.displayManager.sddm.enable = true;
|
||||
#services.xserver.desktopManager.plasma5.enable = true;
|
||||
|
||||
# Enable GNOME Desktop Environment
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome3.enable = true;
|
||||
#services.dbus.packages = with pkgs; [ gnome2.GConf ];
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.alex = {
|
||||
isNormalUser = true;
|
||||
# shell = pkgs.zsh;
|
||||
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
||||
};
|
||||
|
||||
# This value determines the NixOS release with which your system is to be
|
||||
# compatible, in order to avoid breaking some software such as database
|
||||
# servers. You should change this only after NixOS release notes say you
|
||||
# should.
|
||||
system.stateVersion = "19.09"; # Did you read the comment?
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "usbhid" "uas" "sd_mod" "sr_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/fc236860-d371-471d-9c46-14ace1e97ce6";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/FABC-F05B";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/4245f271-aee0-404a-b419-19a36262060b"; }
|
||||
];
|
||||
|
||||
nix.maxJobs = lib.mkDefault 4;
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||
}
|
|
@ -0,0 +1,112 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
# bash script to let dbus know about important env variables and
|
||||
# propogate them to relevent services run at the end of sway config
|
||||
# see
|
||||
# https://github.com/emersion/xdg-desktop-portal-wlr/wiki/"It-doesn't-work"-Troubleshooting-Checklist
|
||||
# note: this is pretty much the same as /etc/sway/config.d/nixos.conf but also restarts
|
||||
# some user services to make sure they have the correct environment variables
|
||||
dbus-sway-environment = pkgs.writeTextFile {
|
||||
name = "dbus-sway-environment";
|
||||
destination = "/bin/dbus-sway-environment";
|
||||
executable = true;
|
||||
|
||||
text = ''
|
||||
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
||||
systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
|
||||
systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
|
||||
'';
|
||||
};
|
||||
|
||||
# currently, there is some friction between sway and gtk:
|
||||
# https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
|
||||
# the suggested way to set gtk settings is with gsettings
|
||||
# for gsettings to work, we need to tell it where the schemas are
|
||||
# using the XDG_DATA_DIR environment variable
|
||||
# run at the end of sway config
|
||||
configure-gtk = pkgs.writeTextFile {
|
||||
name = "configure-gtk";
|
||||
destination = "/bin/configure-gtk";
|
||||
executable = true;
|
||||
text = let
|
||||
schema = pkgs.gsettings-desktop-schemas;
|
||||
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
|
||||
in ''
|
||||
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
|
||||
gnome_schema=org.gnome.desktop.interface
|
||||
gsettings set $gnome_schema gtk-theme 'Dracula'
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
alacritty # gpu accelerated terminal
|
||||
sway
|
||||
dbus-sway-environment
|
||||
configure-gtk
|
||||
wayland
|
||||
glib # gsettings
|
||||
dracula-theme # gtk theme
|
||||
gnome3.adwaita-icon-theme # default gnome cursors
|
||||
swaylock
|
||||
swayidle
|
||||
grim # screenshot functionality
|
||||
slurp # screenshot functionality
|
||||
wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout
|
||||
bemenu # wayland clone of dmenu
|
||||
mako # notification system developed by swaywm maintainer
|
||||
swaybg
|
||||
waybar
|
||||
xwayland
|
||||
gammastep
|
||||
|
||||
#cli programs
|
||||
viu
|
||||
bat
|
||||
yt-dlp
|
||||
neovim
|
||||
|
||||
|
||||
#programs I use
|
||||
librewolf
|
||||
zathura
|
||||
imv
|
||||
pavucontrol
|
||||
];
|
||||
|
||||
#add 32bit support for graphics
|
||||
hardware.opengl.driSupport32Bit = true;
|
||||
|
||||
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
services.pipewire.wireplumber.enable = true;
|
||||
|
||||
|
||||
# xdg-desktop-portal works by exposing a series of D-Bus interfaces
|
||||
# known as portals under a well-known name
|
||||
# (org.freedesktop.portal.Desktop) and object path
|
||||
# (/org/freedesktop/portal/desktop).
|
||||
# The portal interfaces include APIs for file access, opening URIs,
|
||||
# printing and others.
|
||||
services.dbus.enable = true;
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
wlr.enable = true;
|
||||
# gtk portal needed to make gtk apps happy
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
gtkUsePortal = true;
|
||||
};
|
||||
|
||||
# enable sway window manager
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
wrapperFeatures.gtk = true;
|
||||
};
|
|
@ -0,0 +1,113 @@
|
|||
# Adds Sway to NixOS
|
||||
# copied from https://nixos.wiki/wiki/Sway
|
||||
|
||||
{ config, pkgs, lib, ... }: {
|
||||
|
||||
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
swaylock # lockscreen
|
||||
swayidle
|
||||
xwayland # for legacy apps
|
||||
waybar # status bar
|
||||
mako # notification daemon
|
||||
kanshi # autorandr
|
||||
];
|
||||
};
|
||||
|
||||
xdg.portal.wlr.enable = true;
|
||||
|
||||
#enable pipewire
|
||||
services.pipewire.enable = true;
|
||||
services.pipewire.alsa.enable = true;
|
||||
services.pipewire.pulse.enable = true;
|
||||
services.pipewire.wireplumber.enable = true;
|
||||
services.pipewire.audio.enable = true;
|
||||
|
||||
|
||||
|
||||
#environment = {
|
||||
# etc = {
|
||||
# Put config files in /etc. Note that you also can put these in ~/.config, but then you can't manage them with NixOS anymore!
|
||||
#"sway/config".source = ./dotfiles/sway/config;
|
||||
#"xdg/waybar/config".source = ./dotfiles/waybar/config;
|
||||
#"xdg/waybar/style.css".source = ./dotfiles/waybar/style.css;
|
||||
# };
|
||||
#};
|
||||
|
||||
# Here we but a shell script into path, which lets us start sway.service (after importing the environment of the login shell).
|
||||
environment.systemPackages = with pkgs; [
|
||||
pango
|
||||
alacritty
|
||||
bemenu
|
||||
imv
|
||||
mpv
|
||||
cmus
|
||||
zathura
|
||||
pulsemixer
|
||||
ffmpegthumbnailer
|
||||
(
|
||||
pkgs.writeTextFile {
|
||||
name = "startsway";
|
||||
destination = "/bin/startsway";
|
||||
executable = true;
|
||||
text = ''
|
||||
#! ${pkgs.bash}/bin/bash
|
||||
|
||||
# first import environment variables from the login manager
|
||||
systemctl --user import-environment
|
||||
# then start the service
|
||||
exec systemctl --user start sway.service
|
||||
'';
|
||||
}
|
||||
)
|
||||
];
|
||||
|
||||
systemd.user.targets.sway-session = {
|
||||
description = "Sway compositor session";
|
||||
documentation = [ "man:systemd.special(7)" ];
|
||||
bindsTo = [ "graphical-session.target" ];
|
||||
wants = [ "graphical-session-pre.target" ];
|
||||
after = [ "graphical-session-pre.target" ];
|
||||
};
|
||||
|
||||
systemd.user.services.sway = {
|
||||
description = "Sway - Wayland window manager";
|
||||
documentation = [ "man:sway(5)" ];
|
||||
bindsTo = [ "graphical-session.target" ];
|
||||
wants = [ "graphical-session-pre.target" ];
|
||||
after = [ "graphical-session-pre.target" ];
|
||||
# We explicitly unset PATH here, as we want it to be set by
|
||||
# systemctl --user import-environment in startsway
|
||||
environment.PATH = lib.mkForce null;
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = ''
|
||||
${pkgs.dbus}/bin/dbus-run-session ${pkgs.sway}/bin/sway --debug
|
||||
'';
|
||||
Restart = "on-failure";
|
||||
RestartSec = 1;
|
||||
TimeoutStopSec = 10;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
programs.waybar.enable = true;
|
||||
|
||||
systemd.user.services.kanshi = {
|
||||
description = "Kanshi output autoconfig ";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
partOf = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
# kanshi doesn't have an option to specifiy config file yet, so it looks
|
||||
# at .config/kanshi/config
|
||||
ExecStart = ''
|
||||
${pkgs.kanshi}/bin/kanshi
|
||||
'';
|
||||
RestartSec = 5;
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
[Trigger]
|
||||
Operation=Install
|
||||
Operation=Upgrade
|
||||
Operation=Remove
|
||||
Type=Package
|
||||
Target=nvidia
|
||||
Target=linux
|
||||
# Change the linux part above and in the Exec line if a different kernel is used
|
||||
|
||||
[Action]
|
||||
Description=Update Nvidia module in initcpio
|
||||
Depends=mkinitcpio
|
||||
When=PostTransaction
|
||||
NeedsTargets
|
||||
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux) exit 0; esac; done; /usr/bin/mkinitcpio -P'
|
|
@ -0,0 +1,2 @@
|
|||
FONT=Lat2-Terminus16
|
||||
FONT_MAP=8859-2
|
|
@ -0,0 +1,10 @@
|
|||
# Giving configuration update rights to wpa_cli
|
||||
ctrl_interface=/run/wpa_supplicant
|
||||
ctrl_interface_group=wheel
|
||||
update_config=1
|
||||
|
||||
# AP scanning
|
||||
ap_scan=1
|
||||
|
||||
# ISO/IEC alpha2 country code in which the device is operating
|
||||
country=US
|
|
@ -0,0 +1,5 @@
|
|||
[Desktop Entry]
|
||||
Type=XSession
|
||||
Exec=dwm
|
||||
TryExec=dwm
|
||||
Name=Dwm
|
|
@ -0,0 +1,214 @@
|
|||
Xft.autohint: 1
|
||||
Xft.antialias: 1
|
||||
Xft.hinting: true
|
||||
Xft.hintstyle: hintslight
|
||||
Xft.rgba: rgb
|
||||
Xft.lcdfilter: lcddefault
|
||||
Xcursor.theme: Adwaita
|
||||
|
||||
! urxvt
|
||||
urxvt.font: xft:mono:size=10:antialias=true:hinting=true
|
||||
urxvt.url-launcher: /usr/bin/xdg-open
|
||||
urxvt.matcher.button: 1
|
||||
urxvt.matcher.pattern.0: \\b([a-zA-Z]+:\/\/\\w[\\w-.@:]*|www\\.\\w[\\w-]*\\.\\w[\\w-.]*)(\/[^"' ()]*)?
|
||||
urxvt.scrollBar: false
|
||||
urxvt.termName: xterm-256color
|
||||
urxvt.saveLines: 10000
|
||||
urxvt.inheritPixmap: true
|
||||
urxvt.shading: 20
|
||||
urxvt.clipboard.autocopy: true
|
||||
urxvt.perl-ext-common: default,selection-to-clipboard,pasta,matcher,keyboard-select,resize-font,font
|
||||
urxvt.keysym.M-u: perl:url-select:select_next
|
||||
urxvt.transparent: true
|
||||
urxvt.buffered: true
|
||||
urxvt.jumpScroll: false
|
||||
urxvt.scrollTtyKeypress: true
|
||||
urxvt.scrollTtyOutput: false
|
||||
urxvt.scrollWithBuffer: false
|
||||
urxvt.scrollstyle: plain
|
||||
urxvt.secondaryScroll: false
|
||||
urxvt.xftAntialias: true
|
||||
!urxvt.color4: RoyalBlue
|
||||
urxvt.matcher.rend.0: Bold fg6
|
||||
urxvt.cursorBlink: false
|
||||
urxvt.cursorColor: #5f8fff
|
||||
urxvt.mapAlert: true
|
||||
urxvt.pointerBlank: true
|
||||
urxvt.resource: value
|
||||
urxvt.iso14755: false
|
||||
urxvt.iso14755_52: false
|
||||
|
||||
!xterm font
|
||||
XTerm.vt100.faceName: mono:size=10
|
||||
|
||||
!st settings
|
||||
*.font: mono:pixelsize=13
|
||||
*.borderpx: 2
|
||||
*.tabspaces: 4
|
||||
!cursorColor STRING, &colorname[258] },
|
||||
!termname STRING, &termname },
|
||||
!shell STRING, &shell },
|
||||
*.xfps: 30
|
||||
!actionfps INTEGER, &actionfps },
|
||||
!blinktimeout INTEGER, &blinktimeout },
|
||||
*.bellvolume: 100 !INTEGER, &bellvolume },
|
||||
!cwscale FLOAT, &cwscale },
|
||||
!chscale FLOAT &chscale },
|
||||
|
||||
!dmenu settings
|
||||
dmenu.font : mono:pixelsize=13
|
||||
|
||||
|
||||
/*** COLOR SETTINGS ***/
|
||||
|
||||
!global colors
|
||||
#define WHITE #ffffff
|
||||
#define BLACK #000000
|
||||
|
||||
/* include color theme. theme can be set using ~/scripts/set_colors.sh*/
|
||||
#include "./color"
|
||||
|
||||
!if COLOR15 is not defined, there is an error in ~/.config/colors. default to nord
|
||||
#ifndef COLOR15
|
||||
|
||||
#define COLOR0 #3B4252
|
||||
#define COLOR1 #BF616A
|
||||
#define COLOR2 #A3BE8C
|
||||
#define COLOR3 #EBCB8B
|
||||
#define COLOR4 #81A1C1
|
||||
#define COLOR5 #B48EAD
|
||||
#define COLOR6 #88C0D0
|
||||
#define COLOR7 #E5E9F0
|
||||
#define COLOR8 #4C566A
|
||||
#define COLOR9 #BF616A
|
||||
#define COLOR10 #A3BE8C
|
||||
#define COLOR11 #EBCB8B
|
||||
#define COLOR12 #81A1C1
|
||||
#define COLOR13 #B48EAD
|
||||
#define COLOR14 #8FBCBB
|
||||
#define COLOR15 #ECEFF4
|
||||
|
||||
#define FOREGROUND #D8DEE9
|
||||
#define BACKGROUND #2E3440
|
||||
|
||||
#define DWM_NBDR COLOR13
|
||||
#define DWM_NBG BACKGROUND
|
||||
#define DWM_NFG COLOR6
|
||||
#define DWM_SBDR WHITE
|
||||
#define DWM_SBG #434C5E
|
||||
#define DWM_SFG COLOR13
|
||||
|
||||
#endif
|
||||
|
||||
/* DWM colors
|
||||
* dwm.normbordercolor: border not currently selected
|
||||
* dwm.normbgcolor: bg of top bar, bg of not selected tags, bg of dmenu
|
||||
* dwm.normfgclolor: ???
|
||||
* dwm.selbordercolor: active window border color, color of selected entry in dmenu
|
||||
* dwm.selbgcolor: selected tag color, color of section of top bar displaying window title
|
||||
* dwm.selfgcolor: color of window title text, color of current tag indicator,
|
||||
*/
|
||||
|
||||
!source dwm colors from color pallete if not defined
|
||||
#ifndef DWM_NBDR
|
||||
#define DWM_NBDR COLOR8
|
||||
#endif
|
||||
#ifndef DWM_NBG
|
||||
#define DWM_NBG COLOR0
|
||||
#endif
|
||||
#ifndef DWM_NFG
|
||||
#define DWM_NFG COLOR15
|
||||
#endif
|
||||
#ifndef DWM_SBDR
|
||||
#define DWM_SBDR COLOR15
|
||||
#endif
|
||||
#ifndef DWM_SBG
|
||||
#define DWM_SBG COLOR2
|
||||
#endif
|
||||
#ifndef DWM_FBG
|
||||
#define DWM_FBG COLOR15
|
||||
#endif
|
||||
|
||||
!source dmenu colors from color pallette if not defined
|
||||
#ifndef DMENU_NBG
|
||||
#define DMENU_NBG COLOR0
|
||||
#endif
|
||||
#ifndef DMENU_NFG
|
||||
#define DMENU_NFG COLOR15
|
||||
#endif
|
||||
#ifndef DMENU_SBG
|
||||
#define DMENU_SBG COLOR1
|
||||
#endif
|
||||
#ifndef DMENU_SFG
|
||||
#define DMENU_SFG COLOR15
|
||||
#endif
|
||||
|
||||
|
||||
! 6 11 14
|
||||
#define AAAA COLOR6
|
||||
|
||||
#ifndef DMENU_SHFG
|
||||
#define DMENU_SHFG AAAA
|
||||
#endif
|
||||
|
||||
#ifndef DMENU_SHBG
|
||||
#define DMENU_SHBG COLOR1
|
||||
#endif
|
||||
|
||||
#ifndef DMENU_NHFG
|
||||
#define DMENU_NHFG AAAA
|
||||
#endif
|
||||
|
||||
#ifndef DMENU_NHBG
|
||||
#define DMENU_NHBG COLOR0
|
||||
#endif
|
||||
|
||||
|
||||
!source colors for BG and FG if not defined
|
||||
#ifndef BACKGROUND
|
||||
#define BACKGROUND COLOR0
|
||||
#endif
|
||||
#ifndef FOREGROUND
|
||||
#define FOREGROUND COLOR15
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
!set dwm colors defined in included file above
|
||||
dwm.normbordercolor: DWM_NBDR
|
||||
dwm.normbgcolor: DWM_NBG
|
||||
dwm.normfgclolor: DWM_NFG
|
||||
dwm.selbordercolor: DWM_SBDR
|
||||
dwm.selbgcolor: DWM_SBG
|
||||
dwm.selfgcolor: DWM_SFG
|
||||
|
||||
!set dmenu colors defined in included file above
|
||||
dmenu.background : DMENU_NBG
|
||||
dmenu.foreground : DMENU_NFG
|
||||
dmenu.selbackground : DMENU_SBG
|
||||
dmenu.selforeground : DMENU_SFG
|
||||
|
||||
dmenu.selhighlightfg : DMENU_SHFG
|
||||
dmenu.selhighlightbg : DMENU_SHBG
|
||||
dmenu.normhighlightfg : DMENU_NHFG
|
||||
dmenu.normhighlightbg : DMENU_NHBG
|
||||
|
||||
/* ST/Xterm 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
|
||||
*.background: BACKGROUND
|
||||
*.foreground: FOREGROUND
|
|
@ -0,0 +1,531 @@
|
|||
# Configuration for Alacritty, the GPU enhanced terminal emulator.
|
||||
|
||||
# Any items in the `env` entry below will be added as
|
||||
# environment variables. Some entries may override variables
|
||||
# set by alacritty itself.
|
||||
env:
|
||||
# TERM variable
|
||||
#
|
||||
# This value is used to set the `$TERM` environment variable for
|
||||
# each instance of Alacritty. If it is not present, alacritty will
|
||||
# check the local terminfo database and use `alacritty` if it is
|
||||
# available, otherwise `xterm-256color` is used.
|
||||
TERM: xterm-256color
|
||||
|
||||
window:
|
||||
# Window dimensions (changes require restart)
|
||||
#
|
||||
# Specified in number of columns/lines, not pixels.
|
||||
# If both are `0`, this setting is ignored.
|
||||
#dimensions:
|
||||
# columns: 0
|
||||
# lines: 0
|
||||
|
||||
# Window position (changes require restart)
|
||||
#
|
||||
# Specified in number of pixels.
|
||||
# If the position is not set, the window manager will handle the placement.
|
||||
#position:
|
||||
# x: 0
|
||||
# y: 0
|
||||
|
||||
# Window padding (changes require restart)
|
||||
#
|
||||
# Blank space added around the window in pixels. This padding is scaled
|
||||
# by DPI and the specified value is always added at both opposing sides.
|
||||
padding:
|
||||
x: 3
|
||||
y: 3
|
||||
|
||||
# Spread additional padding evenly around the terminal content.
|
||||
#dynamic_padding: false
|
||||
|
||||
# Window decorations
|
||||
#
|
||||
# Values for `decorations`:
|
||||
# - full: Borders and title bar
|
||||
# - none: Neither borders nor title bar
|
||||
#
|
||||
# Values for `decorations` (macOS only):
|
||||
# - transparent: Title bar, transparent background and title bar buttons
|
||||
# - buttonless: Title bar, transparent background, but no title bar buttons
|
||||
decorations: none
|
||||
|
||||
opacity: 0.98
|
||||
#opacity: 1
|
||||
|
||||
# Startup Mode (changes require restart)
|
||||
#
|
||||
# Values for `startup_mode`:
|
||||
# - Windowed
|
||||
# - Maximized
|
||||
# - Fullscreen
|
||||
#
|
||||
# Values for `startup_mode` (macOS only):
|
||||
# - SimpleFullscreen
|
||||
#startup_mode: Windowed
|
||||
|
||||
# Window title
|
||||
#title: Alacritty
|
||||
|
||||
# Window class (Linux/BSD only):
|
||||
#class:
|
||||
# Application instance name
|
||||
#instance: Alacritty
|
||||
# General application class
|
||||
#general: Alacritty
|
||||
|
||||
# GTK theme variant (Linux/BSD only)
|
||||
#
|
||||
# Override the variant of the GTK theme. Commonly supported values are `dark` and `light`.
|
||||
# Set this to `None` to use the default theme variant.
|
||||
#gtk_theme_variant: None
|
||||
|
||||
#scrolling:
|
||||
# Maximum number of lines in the scrollback buffer.
|
||||
# Specifying '0' will disable scrolling.
|
||||
#history: 10000
|
||||
|
||||
# Number of lines the viewport will move for every line scrolled when
|
||||
# scrollback is enabled (history > 0).
|
||||
#multiplier: 3
|
||||
|
||||
# Scroll to the bottom when new text is written to the terminal.
|
||||
#auto_scroll: false
|
||||
|
||||
# Spaces per Tab (changes require restart)
|
||||
#
|
||||
# This setting defines the width of a tab in cells.
|
||||
#
|
||||
# Some applications, like Emacs, rely on knowing about the width of a tab.
|
||||
# To prevent unexpected behavior in these applications, it's also required to
|
||||
# change the `it` value in terminfo when altering this setting.
|
||||
#tabspaces: 8
|
||||
|
||||
# Font configuration
|
||||
font:
|
||||
# Normal (roman) font face
|
||||
normal:
|
||||
# Font family
|
||||
#
|
||||
# Default:
|
||||
# - (macOS) Menlo
|
||||
# - (Linux/BSD) monospace
|
||||
# - (Windows) Consolas
|
||||
family: monospace
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
style: Regular
|
||||
|
||||
# Bold font face
|
||||
#bold:
|
||||
# Font family
|
||||
#
|
||||
# If the bold family is not specified, it will fall back to the
|
||||
# value specified for the normal font.
|
||||
#family: monospace
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
#style: Bold
|
||||
|
||||
# Italic font face
|
||||
#italic:
|
||||
# Font family
|
||||
#
|
||||
# If the italic family is not specified, it will fall back to the
|
||||
# value specified for the normal font.
|
||||
#family: monospace
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
#style: Italic
|
||||
|
||||
# Bold italic font face
|
||||
#bold_italic:
|
||||
# Font family
|
||||
#
|
||||
# If the bold italic family is not specified, it will fall back to the
|
||||
# value specified for the normal font.
|
||||
#family: monospace
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
#style: Bold Italic
|
||||
|
||||
# Point size
|
||||
size: 10.0
|
||||
|
||||
# Offset is the extra space around each character. `offset.y` can be thought of
|
||||
# as modifying the line spacing, and `offset.x` as modifying the letter spacing.
|
||||
#offset:
|
||||
# x: 0
|
||||
# y: 0
|
||||
|
||||
# Glyph offset determines the locations of the glyphs within their cells with
|
||||
# the default being at the bottom. Increasing `x` moves the glyph to the right,
|
||||
# increasing `y` moves the glyph upwards.
|
||||
#glyph_offset:
|
||||
# x: 0
|
||||
# y: 0
|
||||
|
||||
# Thin stroke font rendering (macOS only)
|
||||
#
|
||||
# Thin strokes are suitable for retina displays, but for non-retina screens
|
||||
# it is recommended to set `use_thin_strokes` to `false`
|
||||
#
|
||||
# macOS >= 10.14.x:
|
||||
#
|
||||
# If the font quality on non-retina display looks bad then set
|
||||
# `use_thin_strokes` to `true` and enable font smoothing by running the
|
||||
# following command:
|
||||
# `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO`
|
||||
#
|
||||
# This is a global setting and will require a log out or restart to take
|
||||
# effect.
|
||||
#use_thin_strokes: true
|
||||
|
||||
# If `true`, bold text is drawn using the bright color variants.
|
||||
#draw_bold_text_with_bright_colors: true
|
||||
|
||||
# Base16 Nord - alacritty color config
|
||||
# arcticicestudio
|
||||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
background: '0x2e3440'
|
||||
foreground: '0xe5e9f0'
|
||||
|
||||
# Colors the cursor will use if `custom_cursor_colors` is true
|
||||
cursor:
|
||||
text: '0x2e3440'
|
||||
cursor: '0xe5e9f0'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '0x2e3440'
|
||||
red: '0xbf616a'
|
||||
green: '0xa3be8c'
|
||||
yellow: '0xebcb8b'
|
||||
blue: '0x81a1c1'
|
||||
magenta: '0xb48ead'
|
||||
cyan: '0x88c0d0'
|
||||
white: '0xe5e9f0'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '0x4c566a'
|
||||
red: '0xd08770'
|
||||
green: '0x3b4252'
|
||||
yellow: '0x434c5e'
|
||||
blue: '0xd8dee9'
|
||||
magenta: '0xeceff4'
|
||||
cyan: '0x5e81ac'
|
||||
white: '0x8fbcbb'
|
||||
|
||||
draw_bold_text_with_bright_colors: false
|
||||
|
||||
# Visual Bell
|
||||
#
|
||||
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
|
||||
# rung, the terminal background will be set to white and transition back to the
|
||||
# default background color. You can control the rate of this transition by
|
||||
# setting the `duration` property (represented in milliseconds). You can also
|
||||
# configure the transition function by setting the `animation` property.
|
||||
#
|
||||
# Values for `animation`:
|
||||
# - Ease
|
||||
# - EaseOut
|
||||
# - EaseOutSine
|
||||
# - EaseOutQuad
|
||||
# - EaseOutCubic
|
||||
# - EaseOutQuart
|
||||
# - EaseOutQuint
|
||||
# - EaseOutExpo
|
||||
# - EaseOutCirc
|
||||
# - Linear
|
||||
#
|
||||
# Specifying a `duration` of `0` will disable the visual bell.
|
||||
#visual_bell:
|
||||
# animation: EaseOutExpo
|
||||
# duration: 0
|
||||
# color: '0xffffff'
|
||||
|
||||
# Background opacity
|
||||
#
|
||||
# Window opacity as a floating point number from `0.0` to `1.0`.
|
||||
# The value `0.0` is completely transparent and `1.0` is opaque.
|
||||
|
||||
|
||||
#selection:
|
||||
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||
|
||||
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||
#save_to_clipboard: false
|
||||
|
||||
# Allow terminal applications to change Alacritty's window title.
|
||||
#dynamic_title: true
|
||||
|
||||
#cursor:
|
||||
# Cursor style
|
||||
#
|
||||
# Values for `style`:
|
||||
# - ▇ Block
|
||||
# - _ Underline
|
||||
# - | Beam
|
||||
#style: Block
|
||||
|
||||
# If this is `true`, the cursor will be rendered as a hollow box when the
|
||||
# window is not focused.
|
||||
#unfocused_hollow: true
|
||||
|
||||
# Live config reload (changes require restart)
|
||||
#live_config_reload: true
|
||||
|
||||
# Shell
|
||||
#
|
||||
# You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
|
||||
# Entries in `shell.args` are passed unmodified as arguments to the shell.
|
||||
#
|
||||
# Default:
|
||||
# - (macOS) /bin/bash --login
|
||||
# - (Linux/BSD) user login shell
|
||||
# - (Windows) powershell
|
||||
#shell:
|
||||
# program: /bin/bash
|
||||
# args:
|
||||
# - --login
|
||||
|
||||
# Startup directory
|
||||
#
|
||||
# Directory the shell is started in. If this is unset, or `None`, the working
|
||||
# directory of the parent process will be used.
|
||||
#working_directory: None
|
||||
|
||||
# WinPTY backend (Windows only)
|
||||
#
|
||||
# Alacritty defaults to using the newer ConPTY backend if it is available,
|
||||
# since it resolves a lot of bugs and is quite a bit faster. If it is not
|
||||
# available, the the WinPTY backend will be used instead.
|
||||
#
|
||||
# Setting this option to `true` makes Alacritty use the legacy WinPTY backend,
|
||||
# even if the ConPTY backend is available.
|
||||
#winpty_backend: false
|
||||
|
||||
# Send ESC (\x1b) before characters when alt is pressed.
|
||||
#alt_send_esc: true
|
||||
|
||||
#debug:
|
||||
# Display the time it takes to redraw each frame.
|
||||
#render_timer: false
|
||||
|
||||
# Keep the log file after quitting Alacritty.
|
||||
#persistent_logging: false
|
||||
|
||||
# Log level
|
||||
#
|
||||
# Values for `log_level`:
|
||||
# - None
|
||||
# - Error
|
||||
# - Warn
|
||||
# - Info
|
||||
# - Debug
|
||||
# - Trace
|
||||
#log_level: Warn
|
||||
|
||||
# Print all received window events.
|
||||
#print_events: false
|
||||
|
||||
# Record all characters and escape sequences as test data.
|
||||
#ref_test: false
|
||||
|
||||
#mouse:
|
||||
# Click settings
|
||||
#
|
||||
# The `double_click` and `triple_click` settings control the time
|
||||
# alacritty should wait for accepting multiple clicks as one double
|
||||
# or triple click.
|
||||
#double_click: { threshold: 300 }
|
||||
#triple_click: { threshold: 300 }
|
||||
|
||||
# If this is `true`, the cursor is temporarily hidden when typing.
|
||||
#hide_when_typing: false
|
||||
|
||||
#url:
|
||||
# URL launcher
|
||||
#
|
||||
# This program is executed when clicking on a text which is recognized as a URL.
|
||||
# The URL is always added to the command as the last parameter.
|
||||
#
|
||||
# When set to `None`, URL launching will be disabled completely.
|
||||
#
|
||||
# Default:
|
||||
# - (macOS) open
|
||||
# - (Linux/BSD) xdg-open
|
||||
# - (Windows) explorer
|
||||
#launcher:
|
||||
# program: xdg-open
|
||||
# args: []
|
||||
|
||||
# URL modifiers
|
||||
#
|
||||
# These are the modifiers that need to be held down for opening URLs when clicking
|
||||
# on them. The available modifiers are documented in the key binding section.
|
||||
#modifiers: None
|
||||
|
||||
# Mouse bindings
|
||||
#
|
||||
# Mouse bindings are specified as a list of objects, much like the key
|
||||
# bindings further below.
|
||||
#
|
||||
# Each mouse binding will specify a:
|
||||
#
|
||||
# - `mouse`:
|
||||
#
|
||||
# - Middle
|
||||
# - Left
|
||||
# - Right
|
||||
# - Numeric identifier such as `5`
|
||||
#
|
||||
# - `action` (see key bindings)
|
||||
#
|
||||
# And optionally:
|
||||
#
|
||||
# - `mods` (see key bindings)
|
||||
#mouse_bindings:
|
||||
# - { mouse: Middle, action: PasteSelection }
|
||||
|
||||
# Key bindings
|
||||
#
|
||||
# Key bindings are specified as a list of objects. For example, this is the
|
||||
# default paste binding:
|
||||
#
|
||||
# `- { key: V, mods: Control|Shift, action: Paste }`
|
||||
#
|
||||
# Each key binding will specify a:
|
||||
#
|
||||
# - `key`: Identifier of the key pressed
|
||||
#
|
||||
# - A-Z
|
||||
# - F1-F24
|
||||
# - Key0-Key9
|
||||
#
|
||||
# A full list with available key codes can be found here:
|
||||
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
|
||||
#
|
||||
# Instead of using the name of the keys, the `key` field also supports using
|
||||
# the scancode of the desired key. Scancodes have to be specified as a
|
||||
# decimal number. This command will allow you to display the hex scancodes
|
||||
# for certain keys:
|
||||
#
|
||||
# `showkey --scancodes`.
|
||||
#
|
||||
# Then exactly one of:
|
||||
#
|
||||
# - `chars`: Send a byte sequence to the running application
|
||||
#
|
||||
# The `chars` field writes the specified string to the terminal. This makes
|
||||
# it possible to pass escape sequences. To find escape codes for bindings
|
||||
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
|
||||
# of tmux. Note that applications use terminfo to map escape sequences back
|
||||
# to keys. It is therefore required to update the terminfo when changing an
|
||||
# escape sequence.
|
||||
#
|
||||
# - `action`: Execute a predefined action
|
||||
#
|
||||
# - Copy
|
||||
# - Paste
|
||||
# - PasteSelection
|
||||
# - IncreaseFontSize
|
||||
# - DecreaseFontSize
|
||||
# - ResetFontSize
|
||||
# - ScrollPageUp
|
||||
# - ScrollPageDown
|
||||
# - ScrollLineUp
|
||||
# - ScrollLineDown
|
||||
# - ScrollToTop
|
||||
# - ScrollToBottom
|
||||
# - ClearHistory
|
||||
# - Hide
|
||||
# - Minimize
|
||||
# - Quit
|
||||
# - ToggleFullscreen
|
||||
# - SpawnNewInstance
|
||||
# - ClearLogNotice
|
||||
# - ReceiveChar
|
||||
# - None
|
||||
#
|
||||
# (macOS only):
|
||||
# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
|
||||
#
|
||||
# - `command`: Fork and execute a specified command plus arguments
|
||||
#
|
||||
# The `command` field must be a map containing a `program` string and an
|
||||
# `args` array of command line parameter strings. For example:
|
||||
# `{ program: "alacritty", args: ["-e", "vttest"] }`
|
||||
#
|
||||
# And optionally:
|
||||
#
|
||||
# - `mods`: Key modifiers to filter binding actions
|
||||
#
|
||||
# - Command
|
||||
# - Control
|
||||
# - Option
|
||||
# - Super
|
||||
# - Shift
|
||||
# - Alt
|
||||
#
|
||||
# Multiple `mods` can be combined using `|` like this:
|
||||
# `mods: Control|Shift`.
|
||||
# Whitespace and capitalization are relevant and must match the example.
|
||||
#
|
||||
# - `mode`: Indicate a binding for only specific terminal reported modes
|
||||
#
|
||||
# This is mainly used to send applications the correct escape sequences
|
||||
# when in different modes.
|
||||
#
|
||||
# - AppCursor
|
||||
# - AppKeypad
|
||||
# - Alt
|
||||
#
|
||||
# A `~` operator can be used before a mode to apply the binding whenever
|
||||
# the mode is *not* active, e.g. `~Alt`.
|
||||
#
|
||||
# Bindings are always filled by default, but will be replaced when a new
|
||||
# binding with the same triggers is defined. To unset a default binding, it can
|
||||
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
|
||||
# a no-op if you do not wish to receive input characters for that binding.
|
||||
#key_bindings:
|
||||
# (Windows, Linux, and BSD only)
|
||||
#- { key: V, mods: Control|Shift, action: Paste }
|
||||
#- { key: C, mods: Control|Shift, action: Copy }
|
||||
#- { key: Insert, mods: Shift, action: PasteSelection }
|
||||
#- { key: Key0, mods: Control, action: ResetFontSize }
|
||||
#- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||
#- { key: Add, mods: Control, action: IncreaseFontSize }
|
||||
#- { key: Subtract, mods: Control, action: DecreaseFontSize }
|
||||
#- { key: Minus, mods: Control, action: DecreaseFontSize }
|
||||
|
||||
# (Windows only)
|
||||
#- { key: Return, mods: Alt, action: ToggleFullscreen }
|
||||
|
||||
# (macOS only)
|
||||
#- { key: Key0, mods: Command, action: ResetFontSize }
|
||||
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: Add, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
||||
#- { key: K, mods: Command, action: ClearHistory }
|
||||
#- { key: K, mods: Command, chars: "\x0c" }
|
||||
#- { key: V, mods: Command, action: Paste }
|
||||
#- { key: C, mods: Command, action: Copy }
|
||||
#- { key: H, mods: Command, action: Hide }
|
||||
#- { key: M, mods: Command, action: Minimize }
|
||||
#- { key: Q, mods: Command, action: Quit }
|
||||
#- { key: W, mods: Command, action: Quit }
|
||||
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
|
||||
|
||||
#- { key: Paste, action: Paste }
|
||||
#- { key: Copy, action: Copy }
|
||||
#- { key: L, mods: Control, action: ClearLogNotice }
|
||||
#- { key: L, mods: Control, chars: "\x0c" }
|
||||
#- { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt }
|
||||
#- { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt }
|
||||
#- { key: Home, mods: Shift, action: ScrollToTop, mode: ~Alt }
|
||||
#- { key: End, mods: Shift, action: ScrollToBottom, mode: ~Alt }
|
|
@ -0,0 +1,36 @@
|
|||
# Base16 Atlas - alacritty color config
|
||||
# Alex Lende (https://ajlende.com)
|
||||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
background: '0x002635'
|
||||
foreground: '0xa1a19a'
|
||||
|
||||
# Colors the cursor will use if `custom_cursor_colors` is true
|
||||
cursor:
|
||||
text: '0x002635'
|
||||
cursor: '0xa1a19a'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '0x002635'
|
||||
red: '0xff5a67'
|
||||
green: '0x7fc06e'
|
||||
yellow: '0xffcc1b'
|
||||
blue: '0x5dd7b9'
|
||||
magenta: '0x9a70a4'
|
||||
cyan: '0x14747e'
|
||||
white: '0xa1a19a'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '0x6c8b91'
|
||||
red: '0xf08e48'
|
||||
green: '0x00384d'
|
||||
yellow: '0x517f8d'
|
||||
blue: '0x869696'
|
||||
magenta: '0xe6e6dc'
|
||||
cyan: '0xc43060'
|
||||
white: '0xfafaf8'
|
||||
|
||||
draw_bold_text_with_bright_colors: false
|
|
@ -0,0 +1,36 @@
|
|||
# Base16 Dracula - alacritty color config
|
||||
# Mike Barkmin (http://github.com/mikebarkmin) based on Dracula Theme (http://github.com/dracula)
|
||||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
background: '0x282936'
|
||||
foreground: '0xe9e9f4'
|
||||
|
||||
# Colors the cursor will use if `custom_cursor_colors` is true
|
||||
cursor:
|
||||
text: '0x282936'
|
||||
cursor: '0xe9e9f4'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '0x282936'
|
||||
red: '0xea51b2'
|
||||
green: '0xebff87'
|
||||
yellow: '0x00f769'
|
||||
blue: '0x62d6e8'
|
||||
magenta: '0xb45bcf'
|
||||
cyan: '0xa1efe4'
|
||||
white: '0xe9e9f4'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '0x626483'
|
||||
red: '0xb45bcf'
|
||||
green: '0x3a3c4e'
|
||||
yellow: '0x4d4f68'
|
||||
blue: '0x62d6e8'
|
||||
magenta: '0xf1f2f8'
|
||||
cyan: '0x00f769'
|
||||
white: '0xf7f7fb'
|
||||
|
||||
draw_bold_text_with_bright_colors: false
|
|
@ -0,0 +1,42 @@
|
|||
# Base16 Gruvbox dark, soft 256 - alacritty color config
|
||||
# Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
|
||||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
background: '0x32302f'
|
||||
foreground: '0xd5c4a1'
|
||||
|
||||
# Colors the cursor will use if `custom_cursor_colors` is true
|
||||
cursor:
|
||||
text: '0x32302f'
|
||||
cursor: '0xd5c4a1'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '0x32302f'
|
||||
red: '0xfb4934'
|
||||
green: '0xb8bb26'
|
||||
yellow: '0xfabd2f'
|
||||
blue: '0x83a598'
|
||||
magenta: '0xd3869b'
|
||||
cyan: '0x8ec07c'
|
||||
white: '0xd5c4a1'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '0x665c54'
|
||||
red: '0xfb4934'
|
||||
green: '0xb8bb26'
|
||||
yellow: '0xfabd2f'
|
||||
blue: '0x83a598'
|
||||
magenta: '0xd3869b'
|
||||
cyan: '0x8ec07c'
|
||||
white: '0xfbf1c7'
|
||||
|
||||
indexed_colors:
|
||||
- { index: 16, color: '0xfe8019' }
|
||||
- { index: 17, color: '0xd65d0e' }
|
||||
- { index: 18, color: '0x3c3836' }
|
||||
- { index: 19, color: '0x504945' }
|
||||
- { index: 20, color: '0xbdae93' }
|
||||
- { index: 21, color: '0xebdbb2' }
|
|
@ -0,0 +1,36 @@
|
|||
# Base16 Gruvbox dark, soft - alacritty color config
|
||||
# Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
|
||||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
background: '0x32302f'
|
||||
foreground: '0xd5c4a1'
|
||||
|
||||
# Colors the cursor will use if `custom_cursor_colors` is true
|
||||
cursor:
|
||||
text: '0x32302f'
|
||||
cursor: '0xd5c4a1'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '0x32302f'
|
||||
red: '0xfb4934'
|
||||
green: '0xb8bb26'
|
||||
yellow: '0xfabd2f'
|
||||
blue: '0x83a598'
|
||||
magenta: '0xd3869b'
|
||||
cyan: '0x8ec07c'
|
||||
white: '0xd5c4a1'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '0x665c54'
|
||||
red: '0xfe8019'
|
||||
green: '0x3c3836'
|
||||
yellow: '0x504945'
|
||||
blue: '0xbdae93'
|
||||
magenta: '0xebdbb2'
|
||||
cyan: '0xd65d0e'
|
||||
white: '0xfbf1c7'
|
||||
|
||||
draw_bold_text_with_bright_colors: false
|
|
@ -0,0 +1,96 @@
|
|||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
background: '0x282a36'
|
||||
foreground: '0xf8f8f2'
|
||||
|
||||
# Bright and dim foreground colors
|
||||
#
|
||||
# The dimmed foreground color is calculated automatically if it is not present.
|
||||
# If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
|
||||
# is `false`, the normal foreground color will be used.
|
||||
#dim_foreground: '0x9a9a9a'
|
||||
#bright_foreground: '0xffffff'
|
||||
|
||||
# Cursor colors
|
||||
#
|
||||
# Colors which should be used to draw the terminal cursor. If these are unset,
|
||||
# the cursor color will be the inverse of the cell color.
|
||||
#cursor:
|
||||
# text: '0x000000'
|
||||
# cursor: '0xffffff'
|
||||
|
||||
# Selection colors
|
||||
#
|
||||
# Colors which should be used to draw the selection area. If selection
|
||||
# background is unset, selection color will be the inverse of the cell colors.
|
||||
# If only text is unset the cell text color will remain the same.
|
||||
#selection:
|
||||
# text: '0xeaeaea'
|
||||
# background: '0x404040'
|
||||
|
||||
# Normal colors
|
||||
#normal:
|
||||
# black: '0x000000'
|
||||
# red: '0xd54e53'
|
||||
# green: '0xb9ca4a'
|
||||
# yellow: '0xe6c547'
|
||||
# blue: '0x7aa6da'
|
||||
# magenta: '0xc397d8'
|
||||
# cyan: '0x70c0ba'
|
||||
# white: '0xeaeaea'
|
||||
|
||||
# Bright colors
|
||||
#bright:
|
||||
# black: '0x666666'
|
||||
# red: '0xff3334'
|
||||
# green: '0x9ec400'
|
||||
# yellow: '0xe7c547'
|
||||
# blue: '0x7aa6da'
|
||||
# magenta: '0xb77ee0'
|
||||
# cyan: '0x54ced6'
|
||||
# white: '0xffffff'
|
||||
|
||||
#dracula
|
||||
normal:
|
||||
black: '0x000000'
|
||||
red: '0xff5555'
|
||||
green: '0x50fa7b'
|
||||
yellow: '0xf1fa8c'
|
||||
blue: '0xbd93f9'
|
||||
magenta: '0xff79c6'
|
||||
cyan: '0x8be9fd'
|
||||
white: '0xbbbbbb'
|
||||
bright:
|
||||
black: '0x44475a'
|
||||
red: '0xff5555'
|
||||
green: '0x50fa7b'
|
||||
yellow: '0xf1fa8c'
|
||||
blue: '0xbd93f9'
|
||||
magenta: '0xff79c6'
|
||||
cyan: '0x8be9fd'
|
||||
white: '0xffffff'
|
||||
|
||||
# Dim colors
|
||||
#
|
||||
# If the dim colors are not set, they will be calculated automatically based
|
||||
# on the `normal` colors.
|
||||
#dim:
|
||||
# black: '0x000000'
|
||||
# red: '0x8c3336'
|
||||
# green: '0x7a8530'
|
||||
# yellow: '0x97822e'
|
||||
# blue: '0x506d8f'
|
||||
# magenta: '0x80638e'
|
||||
# cyan: '0x497e7a'
|
||||
# white: '0x9a9a9a'
|
||||
|
||||
# Indexed Colors
|
||||
#
|
||||
# The indexed colors include all colors from 16 to 256.
|
||||
# When these are not set, they're filled with sensible defaults.
|
||||
#
|
||||
# Example:
|
||||
# `- { index: 16, color: '0xff00ff' }`
|
||||
#
|
||||
#indexed_colors: []
|
|
@ -0,0 +1,66 @@
|
|||
#better commands
|
||||
alias ls="ls -hN --color=auto --group-directories-first"
|
||||
alias wget='wget --hsts-file ~/.config/wget/wget-hsts'
|
||||
|
||||
#git
|
||||
alias gs='git status | less'
|
||||
|
||||
#xbps
|
||||
#alias xi='sudo xbps-install'
|
||||
#alias xq='xbps-query'
|
||||
#alias xr='sudo xbps-remove'
|
||||
|
||||
alias vim='nvim'
|
||||
alias mbsync="mbsync -c $HOME/.config/mbsync/config"
|
||||
|
||||
#alias setwp='wal -s -t -e -i '
|
||||
|
||||
#shortend commands
|
||||
alias btc='bluetoothctl'
|
||||
|
||||
#sfeed
|
||||
alias sf='sfeed_curses ~/.local/share/sfeed/feeds/*'
|
||||
alias sfu='sfeed_update ~/.config/sfeed/sfeedrc'
|
||||
alias sfc='rm -r ~/.local/share/sfeed/feeds/*'
|
||||
alias sfe='$EDITOR ~/.config/sfeed/sfeedrc'
|
||||
|
||||
|
||||
#alias mocp='mocp -M ~/.config/moc/' #-T transparent-background'
|
||||
#alias glrun='proot -r ~/.local/share/void-glibc -b /home/'
|
||||
alias mpvyl='mpv --ytdl-format=18 '
|
||||
|
||||
#system power
|
||||
alias poweroff='sudo poweroff'
|
||||
alias reboot='sudo reboot'
|
||||
alias shutdown='sudo shutdown'
|
||||
|
||||
#programs
|
||||
alias trc='tremc -c @192.168.1.162:9091'
|
||||
alias pm='pulsemixer'
|
||||
|
||||
#Youtube
|
||||
alias yv='pipe-viewer --resolution=480p'
|
||||
alias yd='youtube-dl'
|
||||
|
||||
#dotfiles configuration alias
|
||||
alias config='git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
|
||||
|
||||
alias chrome='firejail chromium --ozone-platform-hint=auto'
|
||||
|
||||
note() {
|
||||
NOTEFILE="$HOME/.cache/notes"
|
||||
if [ "$#" -lt 1 ]; then
|
||||
cat "$NOTEFILE"
|
||||
elif [ "$1" = "-e" ]; then
|
||||
$EDITOR "$NOTEFILE"
|
||||
elif [ "$1" = "-h" ]; then
|
||||
echo " usage: note this is a note"
|
||||
echo " the line: \"this is a note\" is stored as a line in the file $NOTEFILE"
|
||||
echo ""
|
||||
echo " run this without arguments to view the contents of $NOTEFILE"
|
||||
echo " -e -> edit note file with \$EDITOR"
|
||||
echo " -h -> print this help menu"
|
||||
else
|
||||
echo "$@" >> "$NOTEFILE"
|
||||
fi
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
#generated from: /home/alex/.config/bemenu/colors/base16-nord
|
||||
export BEMENU_OPTS="-H 22 --nb #2E3440 --nf #EBCB8B --hb #2E3440 --hf #ECEFF4 --sb #3B4252 --sf #ECEFF4 --tb #2E3440 --tf #EBCB8B --fb #2E3440 --ff #ffffff"
|
|
@ -0,0 +1,16 @@
|
|||
#002635
|
||||
#00384d
|
||||
#517F8D
|
||||
#6C8B91
|
||||
#869696
|
||||
#a1a19a
|
||||
#e6e6dc
|
||||
#fafaf8
|
||||
#ff5a67
|
||||
#f08e48
|
||||
#ffcc1b
|
||||
#7fc06e
|
||||
#14747e
|
||||
#5dd7b9
|
||||
#9a70a4
|
||||
#c43060
|
|
@ -0,0 +1,16 @@
|
|||
#1d2021
|
||||
#3c3836
|
||||
#504945
|
||||
#665c54
|
||||
#bdae93
|
||||
#d5c4a1
|
||||
#ebdbb2
|
||||
#fbf1c7
|
||||
#fb4934
|
||||
#fe8019
|
||||
#fabd2f
|
||||
#b8bb26
|
||||
#8ec07c
|
||||
#83a598
|
||||
#d3869b
|
||||
#d65d0e
|
|
@ -0,0 +1,16 @@
|
|||
#2E3440
|
||||
#3B4252
|
||||
#434C5E
|
||||
#4C566A
|
||||
#D8DEE9
|
||||
#E5E9F0
|
||||
#ECEFF4
|
||||
#8FBCBB
|
||||
#BF616A
|
||||
#D08770
|
||||
#EBCB8B
|
||||
#A3BE8C
|
||||
#88C0D0
|
||||
#81A1C1
|
||||
#B48EAD
|
||||
#5E81AC
|
|
@ -0,0 +1,194 @@
|
|||
set aaa_mode=all
|
||||
set altformat_current= %F
|
||||
set altformat_playlist= %f%= %d
|
||||
set altformat_title=%f
|
||||
set altformat_trackwin= %f%= %d
|
||||
set auto_expand_albums_follow=true
|
||||
set auto_expand_albums_search=true
|
||||
set auto_expand_albums_selcur=true
|
||||
set auto_reshuffle=true
|
||||
set buffer_seconds=10
|
||||
set color_cmdline_attr=default
|
||||
set color_cmdline_bg=default
|
||||
set color_cmdline_fg=default
|
||||
set color_cur_sel_attr=default
|
||||
set color_error=lightred
|
||||
set color_info=lightyellow
|
||||
set color_separator=blue
|
||||
set color_statusline_attr=default
|
||||
set color_statusline_bg=gray
|
||||
set color_statusline_fg=black
|
||||
set color_titleline_attr=default
|
||||
set color_titleline_bg=blue
|
||||
set color_titleline_fg=white
|
||||
set color_trackwin_album_attr=bold
|
||||
set color_trackwin_album_bg=default
|
||||
set color_trackwin_album_fg=default
|
||||
set color_win_attr=default
|
||||
set color_win_bg=default
|
||||
set color_win_cur=lightyellow
|
||||
set color_win_cur_attr=default
|
||||
set color_win_cur_sel_attr=default
|
||||
set color_win_cur_sel_bg=blue
|
||||
set color_win_cur_sel_fg=lightyellow
|
||||
set color_win_dir=lightblue
|
||||
set color_win_fg=default
|
||||
set color_win_inactive_cur_sel_attr=default
|
||||
set color_win_inactive_cur_sel_bg=gray
|
||||
set color_win_inactive_cur_sel_fg=lightyellow
|
||||
set color_win_inactive_sel_attr=default
|
||||
set color_win_inactive_sel_bg=gray
|
||||
set color_win_inactive_sel_fg=black
|
||||
set color_win_sel_attr=default
|
||||
set color_win_sel_bg=blue
|
||||
set color_win_sel_fg=white
|
||||
set color_win_title_attr=default
|
||||
set color_win_title_bg=blue
|
||||
set color_win_title_fg=white
|
||||
set confirm_run=true
|
||||
set continue=false
|
||||
set device=/dev/cdrom
|
||||
set display_artist_sort_name=false
|
||||
set dsp.alsa.device=default
|
||||
set follow=false
|
||||
set format_current= %a - %l -%3n. %t%= %y
|
||||
set format_playlist= %-21%a %3n. %t%= %y %d %{?X!=0?%3X ? }
|
||||
set format_playlist_va= %-21%A %3n. %t (%a)%= %y %d %{?X!=0?%3X ? }
|
||||
set format_statusline= %{status} %{?show_playback_position?%{position} %{?duration?/ %{duration} }?%{?duration?%{duration} }}- %{total} %{?bpm>0?at %{bpm} BPM }%{?volume>=0?vol: %{?lvolume!=rvolume?%{lvolume},%{rvolume} ?%{volume} }}%{?stream?buf: %{buffer} }%{?show_current_bitrate & bitrate>=0? %{bitrate} kbps }%=%{?repeat_current?repeat current?%{?play_library?%{playlist_mode} from %{?play_sorted?sorted }library?playlist}} | %1{continue}%1{follow}%1{repeat}%1{shuffle}
|
||||
set format_title=%a - %l - %t (%y)
|
||||
set format_trackwin=%3n. %t%= %y %d
|
||||
set format_trackwin_album= %l %= %{albumduration}
|
||||
set format_trackwin_va=%3n. %t (%a)%= %y %d
|
||||
set format_treewin= %l
|
||||
set format_treewin_artist=%a
|
||||
set icecast_default_charset=ISO-8859-1
|
||||
set id3_default_charset=ISO-8859-1
|
||||
set input.cue.priority=50
|
||||
set input.ffmpeg.priority=30
|
||||
set input.mad.priority=55
|
||||
set input.vorbis.priority=50
|
||||
set input.wav.priority=50
|
||||
set lib_add_filter=
|
||||
set lib_sort=albumartist date album discnumber tracknumber title filename play_count
|
||||
set mixer.alsa.channel=Master
|
||||
set mixer.alsa.device=default
|
||||
set mouse=false
|
||||
set mpris=false
|
||||
set output_plugin=alsa
|
||||
set passwd=
|
||||
set pl_sort=
|
||||
set play_library=true
|
||||
set play_sorted=false
|
||||
set repeat=false
|
||||
set repeat_current=false
|
||||
set replaygain=disabled
|
||||
set replaygain_limit=true
|
||||
set replaygain_preamp=0.000000
|
||||
set resume=false
|
||||
set rewind_offset=5
|
||||
set scroll_offset=2
|
||||
set set_term_title=true
|
||||
set show_all_tracks=true
|
||||
set show_current_bitrate=false
|
||||
set show_hidden=false
|
||||
set show_playback_position=true
|
||||
set show_remaining_time=false
|
||||
set shuffle=false
|
||||
set skip_track_info=false
|
||||
set smart_artist_sort=true
|
||||
set softvol=false
|
||||
set softvol_state=0 0
|
||||
set start_view=tree
|
||||
set status_display_program=
|
||||
set time_show_leading_zero=true
|
||||
set wrap_search=true
|
||||
bind browser backspace browser-up
|
||||
bind browser i toggle show_hidden
|
||||
bind browser space win-activate
|
||||
bind browser u win-update
|
||||
bind common ! push shell
|
||||
bind common + vol +10%
|
||||
bind common , seek -1m
|
||||
bind common - vol -10%
|
||||
bind common . seek +1m
|
||||
bind common / search-start
|
||||
bind common 1 view tree
|
||||
bind common 2 view sorted
|
||||
bind common 3 view playlist
|
||||
bind common 4 view queue
|
||||
bind common 5 view browser
|
||||
bind common 6 view filters
|
||||
bind common 7 view settings
|
||||
bind common = vol +10%
|
||||
bind common ? search-b-start
|
||||
bind common C toggle continue
|
||||
bind common D win-remove
|
||||
bind common E win-add-Q
|
||||
bind common F push filter
|
||||
bind common G win-bottom
|
||||
bind common I echo {}
|
||||
bind common L push live-filter
|
||||
bind common M toggle play_library
|
||||
bind common N search-prev
|
||||
bind common P win-mv-before
|
||||
bind common U win-update-cache
|
||||
bind common [ vol +1% +0
|
||||
bind common ] vol +0 +1%
|
||||
bind common ^B win-page-up
|
||||
bind common ^C echo Type :quit<enter> to exit cmus.
|
||||
bind common ^D win-half-page-down
|
||||
bind common ^E win-scroll-down
|
||||
bind common ^F win-page-down
|
||||
bind common ^L refresh
|
||||
bind common ^R toggle repeat_current
|
||||
bind common ^U win-half-page-up
|
||||
bind common ^Y win-scroll-up
|
||||
bind common a win-add-l
|
||||
bind common b player-next
|
||||
bind common c win-mv-after
|
||||
bind common delete win-remove
|
||||
bind common down win-down
|
||||
bind common e win-add-q
|
||||
bind common end win-bottom
|
||||
bind common enter win-activate
|
||||
bind common f toggle follow
|
||||
bind common g win-top
|
||||
bind common h seek -5
|
||||
bind common home win-top
|
||||
bind common i win-sel-cur
|
||||
bind common j win-down
|
||||
bind common k win-up
|
||||
bind common l seek +5
|
||||
bind common left seek -5
|
||||
bind common m toggle aaa_mode
|
||||
bind common mlb_click_selected win-activate
|
||||
bind common mouse_scroll_down win-down
|
||||
bind common mouse_scroll_up win-up
|
||||
bind common n search-next
|
||||
bind common o toggle play_sorted
|
||||
bind common p player-pause
|
||||
bind common page_down win-page-down
|
||||
bind common page_up win-page-up
|
||||
bind common q quit -i
|
||||
bind common r toggle repeat
|
||||
bind common right seek +5
|
||||
bind common s toggle shuffle
|
||||
bind common space win-toggle
|
||||
bind common t toggle show_remaining_time
|
||||
bind common tab win-next
|
||||
bind common u update-cache
|
||||
bind common up win-up
|
||||
bind common v player-stop
|
||||
bind common x player-play
|
||||
bind common y win-add-p
|
||||
bind common z player-prev
|
||||
bind common { vol -1% -0
|
||||
bind common } vol -0 -1%
|
||||
fset 90s=date>=1990&date<2000
|
||||
fset classical=genre="Classical"
|
||||
fset missing-tag=!stream&(artist=""|album=""|title=""|tracknumber=-1|date=-1)
|
||||
fset mp3=filename="*.mp3"
|
||||
fset ogg=filename="*.ogg"
|
||||
fset ogg-or-mp3=ogg|mp3
|
||||
fset unheard=play_count=0
|
||||
factivate
|
|
@ -0,0 +1,4 @@
|
|||
set output_plugin=alsa
|
||||
set dsp.alsa.device=default
|
||||
set mixer.alsa.device=default
|
||||
set mixer.alsa.channel=Master
|
|
@ -0,0 +1,76 @@
|
|||
<?xml version='1.0'?>
|
||||
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
|
||||
<fontconfig>
|
||||
|
||||
<!-- Set preferred serif, sans serif, and monospace fonts. -->
|
||||
<alias>
|
||||
<family>Serif</family>
|
||||
<prefer><family>Linux Libertine</family></prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer><family>Linux Biolinum</family></prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans</family>
|
||||
<prefer><family>Linux Biolinum</family></prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer><family>Mononoki Nerd Font</family></prefer>
|
||||
<!-- <prefer><family>Terminus (TTF)</family></prefer> -->
|
||||
</alias>
|
||||
|
||||
<!-- Aliases for commonly used MS fonts. -->
|
||||
<match>
|
||||
<test name="family"><string>Arial</string></test>
|
||||
<edit name="family" mode="assign" binding="strong">
|
||||
<string>Linux Biolinum</string>
|
||||
</edit>
|
||||
</match>
|
||||
<match>
|
||||
<test name="family"><string>Helvetica</string></test>
|
||||
<edit name="family" mode="assign" binding="strong">
|
||||
<string>Linux Biolinum</string>
|
||||
</edit>
|
||||
</match>
|
||||
<match>
|
||||
<test name="family"><string>Verdana</string></test>
|
||||
<edit name="family" mode="assign" binding="strong">
|
||||
<string>Linux Biolinum</string>
|
||||
</edit>
|
||||
</match>
|
||||
<match>
|
||||
<test name="family"><string>Tahoma</string></test>
|
||||
<edit name="family" mode="assign" binding="strong">
|
||||
<string>Linux Biolinum</string>
|
||||
</edit>
|
||||
</match>
|
||||
<match>
|
||||
<!-- Insert joke here -->
|
||||
<test name="family"><string>Comic Sans MS</string></test>
|
||||
<edit name="family" mode="assign" binding="strong">
|
||||
<string>Linux Biolinum</string>
|
||||
</edit>
|
||||
</match>
|
||||
<match>
|
||||
<test name="family"><string>Times New Roman</string></test>
|
||||
<edit name="family" mode="assign" binding="strong">
|
||||
<string>Linux Libertine</string>
|
||||
</edit>
|
||||
</match>
|
||||
<match>
|
||||
<test name="family"><string>Times</string></test>
|
||||
<edit name="family" mode="assign" binding="strong">
|
||||
<string>Linux Libertine</string>
|
||||
</edit>
|
||||
</match>
|
||||
<match>
|
||||
<test name="family"><string>Courier New</string></test>
|
||||
<edit name="family" mode="assign" binding="strong">
|
||||
<string>Mononoki Nerd Font</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
</fontconfig>
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
; Global settings
|
||||
[general]
|
||||
; Set the day and night screen temperatures
|
||||
temp-day=6000
|
||||
temp-night=3500
|
||||
|
||||
; Disable the smooth fade between temperatures when Redshift starts and stops.
|
||||
; 0 will cause an immediate change between screen temperatures.
|
||||
; 1 will gradually apply the new screen temperature over a couple of seconds.
|
||||
fade=1
|
||||
|
||||
; Solar elevation thresholds.
|
||||
; By default, Redshift will use the current elevation of the sun to determine
|
||||
; whether it is daytime, night or in transition (dawn/dusk). When the sun is
|
||||
; above the degrees specified with elevation-high it is considered daytime and
|
||||
; below elevation-low it is considered night.
|
||||
;elevation-high=3
|
||||
;elevation-low=-6
|
||||
|
||||
; Custom dawn/dusk intervals.
|
||||
; Instead of using the solar elevation, the time intervals of dawn and dusk
|
||||
; can be specified manually. The times must be specified as HH:MM in 24-hour
|
||||
; format.
|
||||
;dawn-time=6:00-7:45
|
||||
;dusk-time=18:35-20:15
|
||||
|
||||
; Set the screen brightness. Default is 1.0.
|
||||
;brightness=0.9
|
||||
; It is also possible to use different settings for day and night
|
||||
; since version 1.8.
|
||||
;brightness-day=0.7
|
||||
;brightness-night=0.4
|
||||
; Set the screen gamma (for all colors, or each color channel
|
||||
; individually)
|
||||
gamma=1
|
||||
;gamma=0.8:0.7:0.8
|
||||
; This can also be set individually for day and night since
|
||||
; version 1.10.
|
||||
;gamma-day=0.8:0.7:0.8
|
||||
;gamma-night=0.6
|
||||
|
||||
; Set the location-provider: 'geoclue2', 'manual'.
|
||||
; The location provider settings are in a different section.
|
||||
location-provider=manual
|
||||
|
||||
; Set the adjustment-method: 'randr', 'vidmode', 'drm', 'wayland'.
|
||||
; 'randr' is the preferred X11 method, 'vidmode' is an older API
|
||||
; that works in some cases when 'randr' does not.
|
||||
; The adjustment method settings are in a different section.
|
||||
adjustment-method=wayland
|
||||
|
||||
; Configuration of the location-provider:
|
||||
; type 'gammastep -l PROVIDER:help' to see the settings.
|
||||
; ex: 'gammastep -l manual:help'
|
||||
; Keep in mind that longitudes west of Greenwich (e.g. the Americas)
|
||||
; are negative numbers.
|
||||
[manual]
|
||||
|
||||
; Configuration of the adjustment-method
|
||||
; type 'gammastep -m METHOD:help' to see the settings.
|
||||
; ex: 'gammastep -m randr:help'
|
||||
; In this example, randr is configured to adjust only screen 0.
|
||||
; Note that the numbering starts from 0, so this is actually the first screen.
|
||||
; If this option is not specified, Redshift will try to adjust _all_ screens.
|
||||
[randr]
|
||||
screen=0
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
[user]
|
||||
email = "alex@ahubbard.xyz"
|
||||
name = Alex
|
||||
[pull]
|
||||
rebase = false
|
||||
[init]
|
||||
defaultBranch = master
|
|
@ -0,0 +1,11 @@
|
|||
[Filechooser Settings]
|
||||
LocationMode=path-bar
|
||||
ShowHidden=true
|
||||
ShowSizeColumn=true
|
||||
GeometryX=512
|
||||
GeometryY=194
|
||||
GeometryWidth=792
|
||||
GeometryHeight=702
|
||||
SortColumn=name
|
||||
SortOrder=ascending
|
||||
StartupMode=recent
|
|
@ -0,0 +1,19 @@
|
|||
# DO NOT EDIT! This file will be overwritten by LXAppearance.
|
||||
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
|
||||
|
||||
include "/home/alex/.gtkrc-2.0.mine"
|
||||
gtk-theme-name="Nordic-standard-buttons"
|
||||
gtk-icon-theme-name="Papirus-Dark"
|
||||
gtk-font-name="Sans 10"
|
||||
gtk-cursor-theme-name="Adwaita"
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=1
|
||||
gtk-menu-images=1
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=1
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle="hintslight"
|
||||
gtk-xft-rgba="rgb"
|
|
@ -0,0 +1,16 @@
|
|||
[Settings]
|
||||
gtk-theme-name=Nordic-standard-buttons
|
||||
gtk-icon-theme-name=Papirus-Dark
|
||||
gtk-font-name=Sans 10
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_ICONS
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=1
|
||||
gtk-menu-images=0
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=1
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle=hintslight
|
||||
gtk-xft-rgba=rgb
|
||||
gtk-cursor-theme-name=Adwaita
|
|
@ -0,0 +1 @@
|
|||
$include /etc/inputrc
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,163 @@
|
|||
#!/bin/sh
|
||||
|
||||
export LF_ICONS="\
|
||||
di=:\
|
||||
fi=:\
|
||||
ln=:\
|
||||
or=:\
|
||||
ex=:\
|
||||
*.c=:\
|
||||
*.cc=:\
|
||||
*.clj=:\
|
||||
*.coffee=:\
|
||||
*.cpp=:\
|
||||
*.css=:\
|
||||
*.d=:\
|
||||
*.dart=:\
|
||||
*.erl=:\
|
||||
*.exs=:\
|
||||
*.fs=:\
|
||||
*.go=:\
|
||||
*.gitignore=:\
|
||||
*.h=:\
|
||||
*.hh=:\
|
||||
*.hpp=:\
|
||||
*.hs=:\
|
||||
*.html=:\
|
||||
*.java=:\
|
||||
*.jl=:\
|
||||
*.js=:\
|
||||
*.json=:\
|
||||
*.lua=:\
|
||||
*.md=:\
|
||||
*.php=:\
|
||||
*.pl=:\
|
||||
*.pro=:\
|
||||
*.py=:\
|
||||
*.rb=:\
|
||||
*.rs=:\
|
||||
*.scala=:\
|
||||
*.ts=:\
|
||||
*.vim=:\
|
||||
*.cmd=:\
|
||||
*.ps1=:\
|
||||
*.sh=:\
|
||||
*.bash=:\
|
||||
*.zsh=:\
|
||||
*.fish=:\
|
||||
*.tar=:\
|
||||
*.tgz=:\
|
||||
*.arc=:\
|
||||
*.arj=:\
|
||||
*.taz=:\
|
||||
*.lha=:\
|
||||
*.lz4=:\
|
||||
*.lzh=:\
|
||||
*.lzma=:\
|
||||
*.tlz=:\
|
||||
*.txz=:\
|
||||
*.tzo=:\
|
||||
*.t7z=:\
|
||||
*.zip=:\
|
||||
*.z=:\
|
||||
*.dz=:\
|
||||
*.gz=:\
|
||||
*.lrz=:\
|
||||
*.lz=:\
|
||||
*.lzo=:\
|
||||
*.xz=:\
|
||||
*.zst=:\
|
||||
*.tzst=:\
|
||||
*.bz2=:\
|
||||
*.bz=:\
|
||||
*.tbz=:\
|
||||
*.tbz2=:\
|
||||
*.tz=:\
|
||||
*.deb=:\
|
||||
*.rpm=:\
|
||||
*.jar=:\
|
||||
*.war=:\
|
||||
*.ear=:\
|
||||
*.sar=:\
|
||||
*.rar=:\
|
||||
*.alz=:\
|
||||
*.ace=:\
|
||||
*.zoo=:\
|
||||
*.cpio=:\
|
||||
*.7z=:\
|
||||
*.rz=:\
|
||||
*.cab=:\
|
||||
*.wim=:\
|
||||
*.swm=:\
|
||||
*.dwm=:\
|
||||
*.esd=:\
|
||||
*.exe=🍷:\
|
||||
*.jpg=:\
|
||||
*.jpeg=:\
|
||||
*.mjpg=:\
|
||||
*.mjpeg=:\
|
||||
*.gif=:\
|
||||
*.bmp=:\
|
||||
*.pbm=:\
|
||||
*.pgm=:\
|
||||
*.ppm=:\
|
||||
*.tga=:\
|
||||
*.xbm=:\
|
||||
*.xpm=:\
|
||||
*.tif=:\
|
||||
*.tiff=:\
|
||||
*.png=:\
|
||||
*.svg=:\
|
||||
*.svgz=:\
|
||||
*.mng=:\
|
||||
*.pcx=:\
|
||||
*.mov=:\
|
||||
*.mpg=:\
|
||||
*.mpeg=:\
|
||||
*.m2v=:\
|
||||
*.mkv=:\
|
||||
*.webm=:\
|
||||
*.ogm=:\
|
||||
*.mp4=:\
|
||||
*.m4v=:\
|
||||
*.mp4v=:\
|
||||
*.vob=:\
|
||||
*.qt=:\
|
||||
*.nuv=:\
|
||||
*.wmv=:\
|
||||
*.asf=:\
|
||||
*.rm=:\
|
||||
*.rmvb=:\
|
||||
*.flc=:\
|
||||
*.avi=:\
|
||||
*.fli=:\
|
||||
*.flv=:\
|
||||
*.gl=:\
|
||||
*.dl=:\
|
||||
*.xcf=:\
|
||||
*.xwd=:\
|
||||
*.yuv=:\
|
||||
*.cgm=:\
|
||||
*.emf=:\
|
||||
*.ogv=:\
|
||||
*.ogx=:\
|
||||
*.aac=:\
|
||||
*.au=:\
|
||||
*.flac=:\
|
||||
*.m4a=:\
|
||||
*.mid=:\
|
||||
*.midi=:\
|
||||
*.mka=:\
|
||||
*.mp3=:\
|
||||
*.mpc=:\
|
||||
*.ogg=:\
|
||||
*.ra=:\
|
||||
*.wav=:\
|
||||
*.oga=:\
|
||||
*.opus=:\
|
||||
*.spx=:\
|
||||
*.xspf=:\
|
||||
*.pdf=:\
|
||||
*.nix=:\
|
||||
"
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
# interpreter for shell commands (needs to be POSIX compatible)
|
||||
set shell sh
|
||||
|
||||
set color256 true
|
||||
set icons true
|
||||
set ignorecase true
|
||||
#set drawbox true
|
||||
|
||||
|
||||
set previewer ~/.config/lf/pv.sh
|
||||
map i $~/.config/lf/pv.sh $f | less -R
|
||||
|
||||
# set '-eu' options for shell commands
|
||||
# These options are used to have safer shell commands. Option '-e' is used to
|
||||
# exit on error and option '-u' is used to give error for unset variables.
|
||||
# Option '-f' disables pathname expansion which can be useful when $f, $fs, and
|
||||
# $fx variables contain names with '*' or '?' characters. However, this option
|
||||
# is used selectively within individual commands as it can be limiting at
|
||||
# times.
|
||||
set shellopts '-eu'
|
||||
|
||||
# set internal field separator (IFS) to "\n" for shell commands
|
||||
# This is useful to automatically split file names in $fs and $fx properly
|
||||
# since default file separator used in these variables (i.e. 'filesep' option)
|
||||
# is newline. You need to consider the values of these options and create your
|
||||
# commands accordingly.
|
||||
set ifs "\n"
|
||||
|
||||
# leave some space at the top and the bottom of the screen
|
||||
set scrolloff 10
|
||||
|
||||
# use enter for shell commands
|
||||
map <enter> shell
|
||||
|
||||
# execute current file (must be executable)
|
||||
map x $$f
|
||||
map X !$f
|
||||
|
||||
# dedicated keys for file opener actions
|
||||
map o &mimeo $f
|
||||
map O $mimeopen --ask $f
|
||||
|
||||
# define a custom 'open' command
|
||||
# This command is called when current file is not a directory. You may want to
|
||||
# use either file extensions and/or mime types here. Below uses an editor for
|
||||
# text files and a file opener for the rest.
|
||||
cmd open ${{
|
||||
case $(file --mime-type $f -b) in
|
||||
text/*) $EDITOR $fx;;
|
||||
audio/*) mpv --input-ipc-server=/tmp/mpvsoc$(date +%%s) $f ;;
|
||||
application/pdf) setsid zathura $fx >/dev/null 2>&1 & ;;
|
||||
application/zip) setsid unzip -l $f | less;;
|
||||
application/rar) setsid unrar l $f | less;;
|
||||
image/gif) setsid mpv $f --loop=inf ;;
|
||||
image/jpeg) setsid imv $f ;;
|
||||
image/png) setsid imv $f ;;
|
||||
image/*) setsid imv $f ;;
|
||||
video/*) setsid mpv $f --loop=inf ;;
|
||||
application/json) $EDITOR $f;;
|
||||
*) for f in $fx; do setsid $OPENER $f > /dev/null 2> /dev/null & done;;
|
||||
esac
|
||||
}}
|
||||
|
||||
# define a custom 'rename' command without prompt for overwrite
|
||||
# cmd rename %[ -e $1 ] && printf "file exists" || mv $f $1
|
||||
# map r push :rename<space>
|
||||
|
||||
# make sure trash folder exists
|
||||
%mkdir -p ~/.trash
|
||||
|
||||
# move current file or selected files to trash folder
|
||||
# (also see 'man mv' for backup/overwrite options)
|
||||
cmd trash %set -f; mv $fx ~/.trash/
|
||||
|
||||
# define a custom 'delete' command
|
||||
cmd delete ${{
|
||||
set -f
|
||||
printf "$fx\n"
|
||||
printf "delete?[y/n]"
|
||||
read ans
|
||||
[ $ans = "y" ] && rm -rf $fx
|
||||
}}
|
||||
|
||||
# use '<backspace2>' key for either 'trash' or 'delete' command
|
||||
map <backspace2> trash
|
||||
# map <delete> delete
|
||||
|
||||
# extract the current file with the right command
|
||||
# (xkcd link: https://xkcd.com/1168/)
|
||||
cmd extract ${{
|
||||
compress.sh -e "$fx"
|
||||
}}
|
||||
|
||||
cmd compress ${{
|
||||
compress.sh -c "$fx"
|
||||
}}
|
||||
|
||||
map c compress $fx
|
||||
map C extract $f
|
|
@ -0,0 +1,37 @@
|
|||
#!/bin/sh
|
||||
#if [ "$(echo "$TERM" | grep "kitty" )" ]; then
|
||||
# IMG_CMD="kitty +kitten icat"
|
||||
#IMG_CMD="jp2a"
|
||||
# case "$1" in
|
||||
# *.tar*) tar tf "$1";;
|
||||
# *.zip) unzip -l "$1";;
|
||||
# *.rar) unrar l "$1";;
|
||||
# *.7z) 7z l "$1";;
|
||||
# *.jpg | *.JPG | *.jpeg) $IMG_CMD "$1";;
|
||||
# *.png | *.svg | *.gif) $IMG_CMD "$1";;
|
||||
# *.mp4 | *.mkv | *.webm | *.avi | *.mpg | *.mpeg | *.ogv | *.flv | *.wmv | *.WMV) ffmpegthumbnailer -i "$1" -c jpeg -o - | $IMG_CMD -;;
|
||||
# #*.jpg | *.JPG | *.jpeg) jp2a "$1" -b --width=$(($(tput cols)/2 - 10));;
|
||||
# #*.png | *.svg | *.gif) convert "$1" jpg:- | jp2a - -b --width=$(($(tput cols)/2 - 10));;
|
||||
# #*.mp4 | *.mkv | *.webm | *.avi | *.mpg | *.mpeg | *.ogv | *.flv | *.wmv | *.WMV) ffmpegthumbnailer -i "$1" -c jpeg -o - | jp2a - -b --width=$(($(tput cols)/2 - 10));;
|
||||
# *.pdf) pdftotext "$1" -;;
|
||||
# *) highlight -O ansi "$1" || cat "$1";;
|
||||
# esac
|
||||
|
||||
#else
|
||||
case "$1" in
|
||||
*.tar*) tar tf "$1";;
|
||||
*.zip) unzip -l "$1";;
|
||||
*.rar) unrar l "$1";;
|
||||
*.7z) 7z l "$1";;
|
||||
*.jpg | *.JPG | *.jpeg) viu -t "$1" -w $(($(tput cols)/2 - 10));;
|
||||
*.png | *.svg | *.gif) viu -t "$1" -w $(($(tput cols)/2 - 10)) ;;
|
||||
*.mp4 | *.mkv | *.webm | *.avi | *.mpg | *.mpeg | *.ogv | *.flv | *.wmv | *.WMV) ffmpegthumbnailer -i "$1" -c jpeg -o - | viu -t -;;
|
||||
#*.jpg | *.JPG | *.jpeg) jp2a "$1" -b --width=$(($(tput cols)/2 - 10));;
|
||||
#*.png | *.svg | *.gif) convert "$1" jpg:- | jp2a - -b --width=$(($(tput cols)/2 - 10));;
|
||||
#*.mp4 | *.mkv | *.webm | *.avi | *.mpg | *.mpeg | *.ogv | *.flv | *.wmv | *.WMV) ffmpegthumbnailer -i "$1" -c jpeg -o - | jp2a - -b --width=$(($(tput cols)/2 - 10));;
|
||||
*.pdf) pdftotext "$1" -;;
|
||||
*) bat -f "$1";; #*) highlight -O ansi "$1" || cat "$1";;
|
||||
esac
|
||||
|
||||
#fi
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
local modes = require("modes")
|
||||
local settings = require("settings")
|
||||
local downloads = require("downloads")
|
||||
local webview = require("webview")
|
||||
|
||||
---set download dir, and stop prompt for download
|
||||
downloads.default_dir = os.getenv("HOME") .. "/dl"
|
||||
downloads.add_signal("download-location", function (uri, file)
|
||||
luakit.spawn(string.format("notify-send 'Luakit' 'file downloaded to ~/dl/'"))
|
||||
if not file or file == "" then
|
||||
file = (string.match(uri, "/([^/]+)$")
|
||||
or string.match(uri, "^%w+://(.+)")
|
||||
or string.gsub(uri, "/", "_")
|
||||
or "untitled")
|
||||
end
|
||||
return downloads.default_dir .. "/" .. file
|
||||
end)
|
||||
|
||||
---set how to handle various schemes (from luakit FAQ)
|
||||
webview.add_signal("init", function (view)
|
||||
view:add_signal("navigation-request", function (v, uri)
|
||||
---open magnet links with transadd
|
||||
if string.match(string.lower(uri), "^magnet:") then
|
||||
luakit.spawn(string.format("%s %q", "transadd", uri))
|
||||
return false
|
||||
end
|
||||
--- Check URI and open program here
|
||||
end)
|
||||
end)
|
||||
|
||||
|
||||
---set home page
|
||||
settings.window.home_page = os.getenv("HOME") .. "/.config/startpage/index.html"
|
||||
|
||||
|
||||
---open webpage in mpv with: ; + shift + m
|
||||
local video_cmd_fmt = "mpv '%s' --loop"
|
||||
modes.add_binds("ex-follow", {
|
||||
{ "m", "Hint all links and open the video behind that link externally with MPV.",
|
||||
function (w)
|
||||
w:set_mode("follow", {
|
||||
prompt = "open with MPV", selector = "uri", evaluator = "uri",
|
||||
func = function (uri)
|
||||
assert(type(uri) == "string")
|
||||
luakit.spawn(string.format(video_cmd_fmt, uri))
|
||||
w:notify("Launched MPV")
|
||||
end
|
||||
})
|
||||
end },
|
||||
{ "M", "Open the video on the current page externally with MPV.",
|
||||
function (w)
|
||||
local uri = string.gsub(w.view.uri or "", " ", "%%20")
|
||||
luakit.spawn(string.format(video_cmd_fmt, uri))
|
||||
w:notify("Launched MPV")
|
||||
end },
|
||||
})
|
|
@ -0,0 +1,43 @@
|
|||
[Default Applications]
|
||||
application/pdf=pdf.desktop;
|
||||
image/gif=img.desktop;
|
||||
image/jpeg=img.desktop;
|
||||
image/png=img.desktop;
|
||||
video/*=video.desktop;
|
||||
text/plain=text.desktop;
|
||||
text/x-shellscript=text.desktop;
|
||||
x-scheme-handler/magnet=torrent.desktop;
|
||||
application/x-bittorrent=torrent.desktop;
|
||||
text/html=web.desktop
|
||||
text/uri-list=web.desktop
|
||||
text/x-uri=web.desktop
|
||||
x-scheme-handler/about=web.desktop
|
||||
x-scheme-handler/unknown=web.desktop
|
||||
x-scheme-handler/tg=userapp-Telegram Desktop-QXV020.desktop
|
||||
application/msword=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
|
||||
application/rtf=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
|
||||
application/vnd.ms-works=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
|
||||
application/vnd.oasis.opendocument.text=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
|
||||
application/vnd.oasis.opendocument.text-template=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
|
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
|
||||
application/vnd.stardivision.writer=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
|
||||
application/vnd.wordperfect=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
|
||||
application/x-abiword=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop
|
||||
video/*=mpv.desktop
|
||||
text/x-arduino=arduino-arduinoide.desktop
|
||||
|
||||
[Added Associations]
|
||||
image/jpeg=img.desktop;
|
||||
image/png=img.desktop;
|
||||
text/html=web.desktop;
|
||||
inode/directory=lf.desktop
|
||||
application/rss+xml=web.desktop;
|
||||
application/msword=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
|
||||
application/rtf=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
|
||||
application/vnd.ms-works=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
|
||||
application/vnd.oasis.opendocument.text=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
|
||||
application/vnd.oasis.opendocument.text-template=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
|
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
|
||||
application/vnd.stardivision.writer=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
|
||||
application/vnd.wordperfect=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
|
||||
application/x-abiword=appimagekit_370d60f0f93e3e9486777fd6dfdb9d86-LibreOffice.desktop;
|
|
@ -0,0 +1 @@
|
|||
1 5 3 r2930
|
Binary file not shown.
|
@ -0,0 +1,690 @@
|
|||
# This is a configuration file for the MOC player. It should be named
|
||||
# 'config' and placed in the ~/.moc directory. As this file can specify
|
||||
# commands which invoke other applications, MOC will refuse to start if it
|
||||
# is not owned by either root or the current user, or if it is writable by
|
||||
# anyone other than its owner. All options are given with their default
|
||||
# values, and therefore commented.
|
||||
|
||||
# Comments begin with '#'.
|
||||
# You can use quotes and escape ('\') in parameters.
|
||||
#
|
||||
# You can have variable values substituted by enclosing the variable name
|
||||
# as "${...}". (This only applies to the portion of the option following
|
||||
# the '='.) Variables are substituted first from the environment then,
|
||||
# if not found, from the configuration options. (Note that the value of
|
||||
# a configuration option substituted is that which it has at the time the
|
||||
# substitution variable is encountered.) If there is a naming conflict
|
||||
# between an environment and configuration variable, you may be able to
|
||||
# resolve it by using lowercase as the environment variable matches are
|
||||
# case-sensitive whereas the configuration variables are not.
|
||||
#
|
||||
# You can also use the form "${...:-...}" where the value in the second
|
||||
# position will be substituted if the variable name given in the first
|
||||
# position is unset or null.
|
||||
#
|
||||
# So, for example:
|
||||
#
|
||||
# MusicDir = /music/${USER:-public}
|
||||
# Fastdir1 = ${MusicDir}/mp3/rock
|
||||
# Fastdir2 = ${MusicDir}/mp3/electronic
|
||||
# Fastdir3 = ${MusicDir}/mp3/rap
|
||||
# Fastdir4 = ${MusicDir}/mp3/etc
|
||||
#
|
||||
# Variable names are limited to those accepted by the BASH shell; that
|
||||
# is, those comprising the upper- and lowercase ASCII characters, digits
|
||||
# and the underscore.
|
||||
#
|
||||
# If you need to use the "${" sequence for any other purpose, write "$${"
|
||||
# and it will be replaced by "${" and not treated as a substitution.
|
||||
#
|
||||
# Some options take lists of strings as their values. The strings are
|
||||
# separated by colons. Additional strings can be appended to the list
|
||||
# using "+=" in place of a plain "=" to assign the value. For an example,
|
||||
# see the XTerms option.
|
||||
#
|
||||
# You can override any configuration option when you run MOC using the
|
||||
# '-O' command line option:
|
||||
#
|
||||
# mocp -O AutoNext=no -O messagelingertime=1 -O XTerms+=xxt:xwt
|
||||
#
|
||||
# This command line option can be repeated as many times as needed and
|
||||
# the configuration option name is not case sensitive. (Note that MOC
|
||||
# does not perform variable substitution on the value of such overridden
|
||||
# configuration options.) Most option values are set before the
|
||||
# configuration file is processed (which allows the new values to be
|
||||
# picked up by substitutions), however list-valued options are overridden
|
||||
# afterwards (which gives the choice of whether the configured values are
|
||||
# replaced or added to).
|
||||
|
||||
# Remember that the client and server are separate processes and the
|
||||
# server will retain the configuration values formed from the environment
|
||||
# within which it was originally started.
|
||||
|
||||
# Show file titles (title, author, album) instead of file names?
|
||||
#ReadTags = yes
|
||||
|
||||
# In which directory do you store your music files? If you specify it
|
||||
# you will be able to jump straight to this directory with the '-m'
|
||||
# parameter or the 'm' command. This can also point to a playlist.
|
||||
#
|
||||
# Example: MusicDir = "/home/joe/music"
|
||||
#
|
||||
MusicDir = $HOME/media/audio/
|
||||
|
||||
# Start in the music directory by default? If set to 'no', start
|
||||
# in the current directory by default. A single directory on
|
||||
# the command line takes precedence.
|
||||
#StartInMusicDir = no
|
||||
|
||||
# How to sort? FileName is the option's only value for now.
|
||||
#Sort = FileName
|
||||
|
||||
# Show errors in the streams (for example, broken frames in MP3 files)?
|
||||
#ShowStreamErrors = no
|
||||
|
||||
# Ignore CRC errors in MP3 files? Most players do that, so the default
|
||||
# value is 'yes'.
|
||||
#MP3IgnoreCRCErrors = yes
|
||||
|
||||
# Set playback toggles.
|
||||
#Repeat = no
|
||||
#Shuffle = no
|
||||
#AutoNext = yes
|
||||
|
||||
# Default FormatString:
|
||||
#
|
||||
# %n - Track number
|
||||
# %a - Artist
|
||||
# %A - Album
|
||||
# %t - Title
|
||||
# %(X:TRUE:FALSE) - Ternary expression: if X exists, do TRUE,
|
||||
# otherwise FALSE. The escape character must
|
||||
# be doubled (i.e., '\\'). (See zshmisc
|
||||
# documentation for more information.)
|
||||
#
|
||||
#FormatString = "%(n:%n :)%(a:%a - :)%(t:%t:)%(A: \(%A\):)"
|
||||
|
||||
# Input and output buffer sizes (in kilobytes).
|
||||
#InputBuffer = 512 # Minimum value is 32KB
|
||||
#OutputBuffer = 512 # Minimum value is 128KB
|
||||
|
||||
# How much to fill the input buffer before playing (in kilobytes)?
|
||||
# This can't be greater than the value of InputBuffer. While this has
|
||||
# a positive effect for network streams, it also causes the broadcast
|
||||
# audio to be delayed.
|
||||
#Prebuffering = 64
|
||||
|
||||
# Use this HTTP proxy server for internet streams. If not set, the
|
||||
# environment variables http_proxy and ALL_PROXY will be used if present.
|
||||
#
|
||||
# Format: HTTPProxy = PROXY_NAME:PORT
|
||||
#
|
||||
#HTTPProxy =
|
||||
|
||||
# Sound driver - OSS, ALSA, JACK, SNDIO (on OpenBSD) or null (only for
|
||||
# debugging). You can enter more than one driver as a colon-separated
|
||||
# list. The first working driver will be used.
|
||||
#SoundDriver = JACK:ALSA:OSS
|
||||
|
||||
# Jack output settings.
|
||||
#JackClientName = "moc"
|
||||
#JackStartServer = no
|
||||
#JackOutLeft = "system:playback_1"
|
||||
#JackOutRight = "system:playback_2"
|
||||
|
||||
# OSS output settings.
|
||||
#OSSDevice = /dev/dsp
|
||||
#OSSMixerDevice = /dev/mixer
|
||||
#OSSMixerChannel1 = pcm # 'pcm', 'master' or 'speaker'
|
||||
#OSSMixerChannel2 = master # 'pcm', 'master' or 'speaker'
|
||||
|
||||
# ALSA output settings. If you need to dump the audio produced by MOC
|
||||
# to a file for diagnostic purposes, the following setting of 'ALSADevice'
|
||||
# should do that:
|
||||
#
|
||||
# ALSADevice=tee:hw,'/tmp/out.wav',wav
|
||||
#
|
||||
#ALSADevice = default
|
||||
#ALSAMixer1 = PCM
|
||||
#ALSAMixer2 = Master
|
||||
|
||||
# Under some circumstances on 32-bit systems, audio played continously
|
||||
# for long periods of time may begin to stutter. Setting this option to
|
||||
# 'yes' will force MOC to avoid ALSA's dmix resampling and prevent this
|
||||
# stutter. But it also has other implications:
|
||||
#
|
||||
# - You may experience unacceptably high CPU load.
|
||||
# - ALSA's resampler plug-ins will not be used.
|
||||
# - The resampling may be of lower quality than ALSA would provide.
|
||||
# - You may need to try different "ResampleMethod" option settings.
|
||||
# - The "ForceSampleRate" option may be ineffective.
|
||||
# - If libsamplerate is not configured, many audios may be unplayable.
|
||||
#
|
||||
#ALSAStutterDefeat = no
|
||||
|
||||
# Save software mixer state?
|
||||
# If enabled, a file 'softmixer' will be created in '~/.moc/' storing the
|
||||
# mixersetting set when the server is shut down.
|
||||
# Note that there is a "hidden" 'Amplification' setting in that file.
|
||||
# Amplification (0-200) is used to scale the mixer setting (0-100). This
|
||||
# results in a higher signal amplitude but may also produce clipping.
|
||||
#Softmixer_SaveState = yes
|
||||
|
||||
# Save equalizer state?
|
||||
# If enabled, a file 'equalizer' will be created in '~/.moc/' storing the
|
||||
# equalizer settings when the server is shut down.
|
||||
# Note that there is a "hidden" 'Mixin' setting in that file.
|
||||
# Mixin (0.0-1.0) is used to determine how much of the original signal is
|
||||
# used after equalizing. 0 means to only use the equalized sound, while 1
|
||||
# effectively disabled the mixer. The default is 0.25.
|
||||
#Equalizer_SaveState = yes
|
||||
|
||||
# Show files with dot at the beginning?
|
||||
#ShowHiddenFiles = no
|
||||
|
||||
# Hide file name extensions?
|
||||
#HideFileExtension = no
|
||||
|
||||
# Show file format in menu?
|
||||
#ShowFormat = yes
|
||||
|
||||
# Show file time in menu? Possible values: 'yes', 'no' and 'IfAvailable'
|
||||
# (meaning show the time only when it is already known, which often works
|
||||
# faster).
|
||||
#ShowTime = IfAvailable
|
||||
|
||||
# Show time played as a percentage in the time progress bar.
|
||||
#ShowTimePercent = no
|
||||
|
||||
# Values of the TERM environment variable which are deemed to be managed by
|
||||
# screen(1). If you are setting a specific terminal using screen(1)'s
|
||||
# '-T <term>' option, then you will need to add 'screen.<term>' to this list.
|
||||
# Note that this is only a partial test; the value of the WINDOW environment
|
||||
# variable must also be a number (which screen(1) sets).
|
||||
#ScreenTerms = screen:screen-w:vt100
|
||||
|
||||
# Values of the TERM environment variable which are deemed to be xterms. If
|
||||
# you are using MOC within screen(1) under an xterm, then add screen(1)'s
|
||||
# TERM setting here as well to cause MOC to update the xterm's title.
|
||||
#XTerms = xterm
|
||||
#XTerms += xterm-colour:xterm-color
|
||||
#XTerms += xterm-256colour:xterm-256color
|
||||
#XTerms += rxvt:rxvt-unicode
|
||||
#XTerms += rxvt-unicode-256colour:rxvt-unicode-256color
|
||||
#XTerms += eterm
|
||||
|
||||
# Theme file to use. This can be absolute path or relative to
|
||||
# /usr/share/moc/themes/ (depends on installation prefix) or
|
||||
# ~/.moc/themes/ .
|
||||
#
|
||||
# Example: Theme = laras_theme
|
||||
#
|
||||
Theme = transparent-background
|
||||
|
||||
# The theme used when running on an xterm.
|
||||
#
|
||||
# Example: XTermTheme = transparent-background
|
||||
#
|
||||
#XTermTheme =
|
||||
|
||||
# Should MOC try to autoload the default lyrics file for an audio? (The
|
||||
# default lyrics file is a text file with the same file name as the audio
|
||||
# file name with any trailing "extension" removed.)
|
||||
#AutoLoadLyrics = yes
|
||||
|
||||
# MOC directory (where pid file, socket and state files are stored).
|
||||
# You can use ~ at the beginning.
|
||||
#MOCDir = ~/.moc
|
||||
|
||||
# Use mmap() to read files. mmap() is much slower on NFS.
|
||||
#UseMMap = no
|
||||
|
||||
# Use MIME to identify audio files. This can make for slower loading
|
||||
# of playlists but is more accurate than using "extensions".
|
||||
#UseMimeMagic = no
|
||||
|
||||
# Assume this encoding for ID3 version 1/1.1 tags (MP3 files). Unlike
|
||||
# ID3v2, UTF-8 is not used here and MOC can't guess how tags are encoded.
|
||||
# Another solution is using librcc (see the next option). This option is
|
||||
# ignored if UseRCC is set to 'yes'.
|
||||
#ID3v1TagsEncoding = WINDOWS-1250
|
||||
|
||||
# Use librcc to fix ID3 version 1/1.1 tags encoding.
|
||||
#UseRCC = yes
|
||||
|
||||
# Use librcc to filenames and directory names encoding.
|
||||
#UseRCCForFilesystem = yes
|
||||
|
||||
# When this option is set the player assumes that if the encoding of
|
||||
# ID3v2 is set to ISO-8859-1 then the ID3v1TagsEncoding is actually
|
||||
# that and applies appropriate conversion.
|
||||
#EnforceTagsEncoding = no
|
||||
|
||||
# Enable the conversion of filenames from the local encoding to UTF-8.
|
||||
#FileNamesIconv = no
|
||||
|
||||
# Enable the conversion of the xterm title from UTF-8 to the local encoding.
|
||||
#NonUTFXterm = no
|
||||
|
||||
# Should MOC precache files to assist gapless playback?
|
||||
#Precache = yes
|
||||
|
||||
# Remember the playlist after exit?
|
||||
#SavePlaylist = yes
|
||||
|
||||
# When using more than one client (interface) at a time, do they share
|
||||
# the playlist?
|
||||
#SyncPlaylist = yes
|
||||
|
||||
# Choose a keymap file (relative to '~/.moc/' or using an absolute path).
|
||||
# An annotated example keymap file is included ('keymap.example').
|
||||
#
|
||||
# Example: Keymap = my_keymap
|
||||
#
|
||||
#Keymap =
|
||||
|
||||
# Use ASCII rather than graphic characters for drawing lines. This
|
||||
# helps on some terminals.
|
||||
#ASCIILines = no
|
||||
|
||||
# FastDirs, these allow you to jump directly to a directory, the key
|
||||
# bindings are in the keymap file.
|
||||
#
|
||||
# Examples: Fastdir1 = /mp3/rock
|
||||
# Fastdir2 = /mp3/electronic
|
||||
# Fastdir3 = /mp3/rap
|
||||
# Fastdir4 = /mp3/etc
|
||||
#
|
||||
#Fastdir1 =
|
||||
#Fastdir2 =
|
||||
#Fastdir3 =
|
||||
#Fastdir4 =
|
||||
#Fastdir5 =
|
||||
#Fastdir6 =
|
||||
#Fastdir7 =
|
||||
#Fastdir8 =
|
||||
#Fastdir9 =
|
||||
#Fastdir10 =
|
||||
|
||||
# How fast to seek (in number of seconds per keystroke). The first
|
||||
# option is for normal seek and the second for silent seek.
|
||||
#SeekTime = 1
|
||||
#SilentSeekTime = 5
|
||||
|
||||
# PreferredDecoders allows you to specify which decoder should be used
|
||||
# for any given audio format. It is a colon-separated list in which
|
||||
# each entry is of the general form 'code(decoders)', where 'code'
|
||||
# identifies the audio format and 'decoders' is a comma-separated list
|
||||
# of decoders in order of preference.
|
||||
#
|
||||
# The audio format identifier may be either a filename extension or a
|
||||
# MIME media type. If the latter, the format is 'type/subtype' (e.g.,
|
||||
# 'audio/flac'). Because different systems may give different MIME
|
||||
# media types, any 'x-' prefix of the subtype is ignored both here and
|
||||
# in the actual file MIME type (so all combinations of 'audio/flac' and
|
||||
# 'audio/x-flac' match each other).
|
||||
#
|
||||
# For Internet streams the matching is done on MIME media type and on
|
||||
# actual content. For files the matches are made on MIME media type
|
||||
# (if the 'UseMimeMagic' option is set) and on filename extension. The
|
||||
# MIME media type of a file is not determined until the first entry for
|
||||
# MIME is encountered in the list.
|
||||
#
|
||||
# The matching is done in the order of appearance in the list with any
|
||||
# entries added from the command line being matched before those listed
|
||||
# here. Therefore, if you place all filename extension entries before
|
||||
# all MIME entries you will speed up MOC's processing of directories
|
||||
# (which could be significant for remote file systems).
|
||||
#
|
||||
# The decoder list may be empty, in which case no decoders will be used
|
||||
# for files (and files with that audio format ignored) while Internet
|
||||
# streams will be assessed on the actual content. Any decoder position
|
||||
# may contain an asterisk, in which case any decoder not otherwise listed
|
||||
# which can handle the audio format will be used. It is not an error to
|
||||
# list the same decoder twice, but neither does it make sense to do so.
|
||||
#
|
||||
# If you have a mix of audio and non-audio files in your directories, you
|
||||
# may wish to include entries at top of the list which ignore non-audio
|
||||
# files by extension.
|
||||
#
|
||||
# In summary, the PreferredDecoders option provides fine control over the
|
||||
# type of matching which is performed (filename extension, MIME media
|
||||
# type and streamed media content) and which decoder(s) (if any) are used
|
||||
# based on the option's list entries and their ordering.
|
||||
#
|
||||
# Examples: aac(aac,ffmpeg) first try FAAD2 for AACs then FFmpeg
|
||||
# mp3() ignore MP3 files
|
||||
# wav(*,sndfile) use sndfile for WAV as a last resort
|
||||
# ogg(vorbis,*):flac(flac,*) try Xiph decoders first
|
||||
# ogg():audio/ogg() ignore OGG files, and
|
||||
# force Internet selection by content
|
||||
# gz():html() ignore some non-audio files
|
||||
#
|
||||
# Any unspecified audio formats default to trying all decoders.
|
||||
# Any unknown (or misspelt) drivers are ignored.
|
||||
# All names are case insensitive.
|
||||
# The default setting reflects the historical situation modified by
|
||||
# the experience of users.
|
||||
#
|
||||
#PreferredDecoders = aac(aac,ffmpeg):m4a(ffmpeg)
|
||||
#PreferredDecoders += mpc(musepack,*,ffmpeg):mpc8(musepack,*,ffmpeg)
|
||||
#PreferredDecoders += sid(sidplay2):mus(sidplay2)
|
||||
#PreferredDecoders += wav(sndfile,*,ffmpeg)
|
||||
#PreferredDecoders += wv(wavpack,*,ffmpeg)
|
||||
#PreferredDecoders += audio/aac(aac):audio/aacp(aac):audio/m4a(ffmpeg)
|
||||
#PreferredDecoders += audio/wav(sndfile,*)
|
||||
|
||||
# The following PreferredDecoders attempt to handle the ambiguity surrounding
|
||||
# container types such as OGG for files. The first two entries will force
|
||||
# a local file to the correct decoder (assuming the .ogg file contains Vorbis
|
||||
# audio), while the MIME media types will cause Internet audio streams to
|
||||
# be assessed on content (which may be either Vorbis or Speex).
|
||||
#
|
||||
#PreferredDecoders += ogg(vorbis,ffmpeg):oga(vorbis,ffmpeg):ogv(ffmpeg)
|
||||
#PreferredDecoders += opus(ffmpeg)
|
||||
#PreferredDecoders += spx(speex)
|
||||
#PreferredDecoders += application/ogg(vorbis):audio/ogg(vorbis)
|
||||
|
||||
# Which resampling method to use. There are a few methods of resampling
|
||||
# sound supported by libresamplerate. The default is 'Linear') which is
|
||||
# also the fastest. A better description can be found at:
|
||||
#
|
||||
# http://www.mega-nerd.com/libsamplerate/api_misc.html#Converters
|
||||
#
|
||||
# but briefly, the following methods are based on bandlimited interpolation
|
||||
# and are higher quality, but also slower:
|
||||
#
|
||||
# SincBestQuality - really slow (I know you probably have an xx GHz
|
||||
# processor, but it's still not enough to not see
|
||||
# this in the top output :) The worst case
|
||||
# Signal-to-Noise Ratio is 97dB.
|
||||
# SincMediumQuality - much faster.
|
||||
# SincFastest - the fastest bandlimited interpolation.
|
||||
#
|
||||
# And these are lower quality, but much faster methods:
|
||||
#
|
||||
# ZeroOrderHold - really poor quality, but it's really fast.
|
||||
# Linear - a bit better and a bit slower.
|
||||
#
|
||||
#ResampleMethod = Linear
|
||||
|
||||
# Always use this sample rate (in Hz) when opening the audio device (and
|
||||
# resample the sound if necessary). When set to 0 the device is opened
|
||||
# with the file's rate.
|
||||
#ForceSampleRate = 0
|
||||
|
||||
# By default, even if the sound card reports that it can output 24bit samples
|
||||
# MOC converts 24bit PCM to 16bit. Setting this option to 'yes' allows MOC
|
||||
# to use 24bit output. (The MP3 decoder, for example, uses this format.)
|
||||
# This is disabled by default because there were reports that it prevents
|
||||
# MP3 files from playing on some soundcards.
|
||||
#Allow24bitOutput = no
|
||||
|
||||
# Use realtime priority for output buffer thread. This will prevent gaps
|
||||
# while playing even with heavy load. The user who runs MOC must have
|
||||
# permissions to set such a priority. This could be dangerous, because it
|
||||
# is possible that a bug in MOC will freeze your computer.
|
||||
#UseRealtimePriority = no
|
||||
|
||||
# The number of audio files for which MOC will cache tags. When this limit
|
||||
# is reached, file tags are discarded on a least recently used basis (with
|
||||
# one second resolution). You can disable the cache by giving it a size of
|
||||
# zero. Note that if you decrease the cache size below the number of items
|
||||
# currently in the cache, the number will not decrease immediately (if at
|
||||
# all).
|
||||
#TagsCacheSize = 256
|
||||
|
||||
# Number items in the playlist.
|
||||
#PlaylistNumbering = yes
|
||||
|
||||
# Main window layouts can be configured. You can change the position and
|
||||
# size of the menus (directory and playlist). You have three layouts and
|
||||
# can switch between then using the 'l' key (standard mapping). By default,
|
||||
# only two layouts are configured.
|
||||
#
|
||||
# The format is as follows:
|
||||
#
|
||||
# - Each layout is described as a list of menu entries.
|
||||
# - Each menu entry is of the form:
|
||||
#
|
||||
# menu(position_x, position_y, width, height)
|
||||
#
|
||||
# where 'menu' is either 'directory' or 'playlist'.
|
||||
# - The parameters define position and size of the menu. They can
|
||||
# be absolute numbers (like 10) or a percentage of the screen size
|
||||
# (like 45%).
|
||||
# - 'width' and 'height' can have also value of 'FILL' which means
|
||||
# fill the screen from the menu's position to the border.
|
||||
# - Menus may overlap.
|
||||
#
|
||||
# You must describe at least one menu (default is to fill the whole window).
|
||||
# There must be at least one layout (Layout1) defined; others can be empty.
|
||||
#
|
||||
# Example: Layout1 = playlist(50%,50%,50%,50%)
|
||||
# Layout2 = ""
|
||||
# Layout3 = ""
|
||||
#
|
||||
# Just one layout, the directory will occupy the whole
|
||||
# screen, the playlist will have 1/4 of the screen size
|
||||
# and be positioned at lower right corner. (Note that
|
||||
# because the playlist will be hidden by the directory
|
||||
# you will have to use the TAB key to make the playlist
|
||||
# visible.)
|
||||
#
|
||||
# Example: Layout1 = playlist(0,0,100%,10):directory(0,10,100%,FILL)
|
||||
#
|
||||
# The screen is split into two parts: playlist at the top
|
||||
# and the directory menu at the bottom. Playlist will
|
||||
# occupy 10 lines and the directory menu the rest.
|
||||
#
|
||||
#Layout1 = directory(0,0,50%,100%):playlist(50%,0,FILL,100%)
|
||||
#Layout2 = directory(0,0,100%,100%):playlist(0,0,100%,100%)
|
||||
#Layout3 = ""
|
||||
|
||||
# When the song changes, should the menu be scrolled so that the currently
|
||||
# played file is visible?
|
||||
#FollowPlayedFile = yes
|
||||
|
||||
# What to do if the interface was started and the server is already playing
|
||||
# something from the playlist? If CanStartInPlaylist is set to 'yes', the
|
||||
# interface will switch to the playlist. When set to 'no' it will start
|
||||
# from the last directory.
|
||||
#CanStartInPlaylist = yes
|
||||
|
||||
# Executing external commands (1 - 10) invoked with key commands (F1 - F10
|
||||
# by default).
|
||||
#
|
||||
# Some arguments are substituted before executing:
|
||||
#
|
||||
# %f - file path
|
||||
# %i - title made from tags
|
||||
# %S - start block mark (in seconds)
|
||||
# %E - end block mark (in seconds)
|
||||
#
|
||||
# Data from tags can also be substituted:
|
||||
#
|
||||
# %t - title
|
||||
# %a - album
|
||||
# %r - artist
|
||||
# %n - track
|
||||
# %m - time of the file (in seconds)
|
||||
#
|
||||
# The parameters above apply to the currently selected file. If you change
|
||||
# them to capital letters, they are taken from the file currently playing.
|
||||
#
|
||||
# Programs are run using execv(), not a shell, so you can't do things like
|
||||
# redirecting the output to a file. The command string is split using blank
|
||||
# characters as separators; the first element is the command to be executed
|
||||
# and the rest are its parameters, so if you use "echo Playing: %I" we run
|
||||
# program 'echo' (from $PATH) with 2 parameters: the string 'Playing:' and
|
||||
# the title of the file currently playing. Even if the title contains
|
||||
# spaces, it's still one parameter and it's safe if it contains `rm -rf /`.
|
||||
#
|
||||
# Examples: ExecCommand1 = "cp %f /mnt/usb_drive"
|
||||
# ExecCommand2 = "/home/joe/now_playing %I"
|
||||
#
|
||||
#ExecCommand1 =
|
||||
#ExecCommand2 =
|
||||
#ExecCommand3 =
|
||||
#ExecCommand4 =
|
||||
#ExecCommand5 =
|
||||
#ExecCommand6 =
|
||||
#ExecCommand7 =
|
||||
#ExecCommand8 =
|
||||
#ExecCommand9 =
|
||||
#ExecCommand10 =
|
||||
|
||||
# Display the cursor in the line with the selected file. Some braille
|
||||
# readers (the Handy Tech modular series ZMU 737, for example) use the
|
||||
# cursor to focus and can make use of it to present the file line even
|
||||
# when other fields are changing.
|
||||
#UseCursorSelection = no
|
||||
|
||||
# Set the terminal title when running under xterm.
|
||||
#SetXtermTitle = yes
|
||||
|
||||
# Set the terminal title when running under screen(1). If MOC can detect
|
||||
# that it is running under screen(1), then it will set an appropriate
|
||||
# title (see description of ScreenTerms above). However, if multiple
|
||||
# levels of screen management are involved, detection might fail and this
|
||||
# could cause a screen upset. In that situation you can use this option
|
||||
# to force screen titles off.
|
||||
#SetScreenTitle = yes
|
||||
|
||||
# Display full paths instead of just file names in the playlist.
|
||||
#PlaylistFullPaths = yes
|
||||
|
||||
# The following setting describes how block markers are displayed in
|
||||
# the play time progress bar. Its value is a string of exactly three
|
||||
# characters. The first character is displayed in a position which
|
||||
# corresponds to the time marked as the start of a block and the last
|
||||
# character to the time marked as the end of the block. The middle
|
||||
# character is displayed instead if both the start and the end of the block
|
||||
# would fall in the same position (within the resolution of the interface).
|
||||
# You can turn off the displaying of these block marker positions by using
|
||||
# three space characters.
|
||||
#BlockDecorators = "`\"'"
|
||||
|
||||
# How long (in seconds) to leave a message displayed on the screen.
|
||||
# Setting this to a high value allows you to scroll through the messages
|
||||
# using the 'hide_message' key. Setting it to zero means you'll have to
|
||||
# be quick to see any message at all. Any new messages will be queued up
|
||||
# and displayed after the current message's linger time expires.
|
||||
#MessageLingerTime = 3
|
||||
|
||||
# Does MOC display a prefix on delayed messages indicating
|
||||
# the number of queued messages still to be displayed?
|
||||
#PrefixQueuedMessages = yes
|
||||
|
||||
# String to append to the queued message count if any
|
||||
# error messages are still waiting to be displayed.
|
||||
#ErrorMessagesQueued = "!"
|
||||
|
||||
# Self-describing ModPlug options (with 'yes' or 'no' values).
|
||||
#ModPlug_Oversampling = yes
|
||||
#ModPlug_NoiseReduction = yes
|
||||
#ModPlug_Reverb = no
|
||||
#ModPlug_MegaBass = no
|
||||
#ModPlug_Surround = no
|
||||
|
||||
# ModPlug resampling mode.
|
||||
# Valid values are:
|
||||
#
|
||||
# FIR - 8 tap fir filter (extremely high quality)
|
||||
# SPLINE - Cubic spline interpolation (high quality)
|
||||
# LINEAR - Linear interpolation (fast, good quality)
|
||||
# NEAREST - No interpolation (very fast, extremely bad sound quality)
|
||||
#
|
||||
#ModPlug_ResamplingMode = FIR
|
||||
|
||||
# Other self-describing ModPlug audio characteristic options.
|
||||
# (Note that the 32 bit sample size seems to be buggy.)
|
||||
#ModPlug_Channels = 2 # 1 or 2 channels
|
||||
#ModPlug_Bits = 16 # 8, 16 or 32 bits
|
||||
#ModPlug_Frequency = 44100 # 11025, 22050, 44100 or 48000 Hz
|
||||
#ModPlug_ReverbDepth = 0 # 0 (quiet) to 100 (loud)
|
||||
#ModPlug_ReverbDelay = 0 # Delay in ms (usually 40-200ms)
|
||||
#ModPlug_BassAmount = 0 # 0 (quiet) to 100 (loud).
|
||||
#ModPlug_BassRange = 10 # Cutoff in Hz (10-100).
|
||||
#ModPlug_SurroundDepth = 0 # Surround level 0(quiet)-100(heavy).
|
||||
#ModPlug_SurroundDelay = 0 # Surround delay in ms, usually 5-40ms.
|
||||
#ModPlug_LoopCount = 0 # 0 (never), n (times) or -1 (forever)
|
||||
|
||||
# Self-describing TiMidity audio characteristic options.
|
||||
#TiMidity_Rate = 44100 # Between 8000 and 48000
|
||||
#TiMidity_Bits = 16 # 8 or 16
|
||||
#TiMidity_Channels = 2 # 1 or 2
|
||||
#TiMidity_Volume = 100 # 0 to 800
|
||||
|
||||
# You can setup a TiMidity-Config-File here.
|
||||
# Leave it unset to use library defaults (/etc/timidity.cfg mostly).
|
||||
# Setting it to 'yes' also uses the library defaults.
|
||||
# Set it to 'no' if you don't have any configuration file.
|
||||
# Otherwise set it to the name of a specific file.
|
||||
#TiMidity_Config =
|
||||
|
||||
# Self-describing SidPlay2 audio characteristic options.
|
||||
#SidPlay2_DefaultSongLength = 180 # If not in database (in seconds)
|
||||
#SidPlay2_MinimumSongLength = 0 # Play at least n (in seconds)
|
||||
#SidPlay2_Frequency = 44100 # 4000 to 48000
|
||||
#SidPlay2_Bits = 16 # 8 or 16
|
||||
#SidPlay2_Optimisation = 0 # 0 (worst quality) to 2 (best quality)
|
||||
|
||||
# Set path to a HVSC-compatible database (if not set, database is disabled).
|
||||
#SidPlay2_Database =
|
||||
|
||||
# SidPlay2 playback Mode:
|
||||
#
|
||||
# "M": Mono (best for many SIDs)
|
||||
# "S": Stereo
|
||||
# "L"/"R": Left / Right
|
||||
#
|
||||
#SidPlay2_PlayMode = "M"
|
||||
|
||||
# Use start-song information from SID ('yes') or start at first song
|
||||
# ('no'). Songs before the start-song won't be played. (Note that this
|
||||
# option previously took the values 1 and 0; these are now deprecated
|
||||
# in favour of 'yes' and 'no'.)
|
||||
#SidPlay2_StartAtStart = yes
|
||||
|
||||
# Play sub-tunes. (Note that this option previously took the values 1
|
||||
# and 0; these are now deprecated in favour of 'yes' and 'no'.)
|
||||
#SidPlay2_PlaySubTunes = yes
|
||||
|
||||
# Run the OnSongChange command when a new song starts playing.
|
||||
# Specify the full path (i.e. no leading '~') of an executable to run.
|
||||
# Arguments will be passed, and you can use the following escapes:
|
||||
#
|
||||
# %a artist
|
||||
# %r album
|
||||
# %f filename
|
||||
# %t title
|
||||
# %n track
|
||||
# %d file duration in XX:YY form
|
||||
# %D file duration, number of seconds
|
||||
#
|
||||
# No pipes/redirects can be used directly, but writing a shell script
|
||||
# can do the job.
|
||||
#
|
||||
# Example: OnSongChange = "/home/jack/.moc/myscript %a %r"
|
||||
#
|
||||
#OnSongChange =
|
||||
|
||||
# If RepeatSongChange is 'yes' then MOC will execute the command every time
|
||||
# a song starts playing regardless of whether or not it is just repeating.
|
||||
# Otherwise the command will only be executed when a different song is
|
||||
# started.
|
||||
#RepeatSongChange = no
|
||||
|
||||
# Run the OnStop command (full path, no arguments) when MOC changes state
|
||||
# to stopped (i.e., when user stopped playing or changes a song).
|
||||
#OnStop = "/home/jack/.moc/myscript_on_stop"
|
||||
|
||||
# This option determines which song to play after finishing all the songs
|
||||
# in the queue. Setting this to 'yes' causes MOC to play the song which
|
||||
# follows the song being played before queue playing started. If set to
|
||||
# 'no', MOC will play the song following the last song in the queue if it
|
||||
# is in the playlist. The default is 'yes' because this is the way other
|
||||
# players usually behave. (Note that this option previously took the
|
||||
# values 1 and 0; these are now deprecated in favour of 'yes' and 'no'.)
|
||||
#QueueNextSongReturn = yes
|
|
@ -0,0 +1,2 @@
|
|||
Active: 1
|
||||
Mixin: 0.250000
|
|
@ -0,0 +1,188 @@
|
|||
# This is the example keymap file for MOC. You can define your own key
|
||||
# bindings for MOC commands by creating your own keymap file and setting
|
||||
# the 'Keymap' option in ~/.moc/config.
|
||||
#
|
||||
# The format of this file is:
|
||||
#
|
||||
# - Lines beginning with # are comments.
|
||||
# - Blank lines are ignored.
|
||||
# - Every other line is expected to be in one of the formats:
|
||||
#
|
||||
# COMMAND = [KEY ...]
|
||||
# COMMAND += KEY ...
|
||||
#
|
||||
# The KEY can be:
|
||||
#
|
||||
# - Just a char, like i, L, ", *
|
||||
# - CTRL-KEY sequence: ^k (CTRL-k), ^4
|
||||
# - ALT-KEY (meta) sequence: M-j (ALT-j), M-/
|
||||
# - Special keys: DOWN, UP
|
||||
# LEFT, RIGHT
|
||||
# HOME, END
|
||||
# BACKSPACE
|
||||
# INS, DEL
|
||||
# ENTER
|
||||
# PAGE_UP, PAGE_DOWN
|
||||
# SPACE, TAB
|
||||
# KEYPAD_CENTER
|
||||
# ESCAPE
|
||||
# F1 - F12
|
||||
#
|
||||
# Note that the use of a digit as a KEY is deprecated.
|
||||
#
|
||||
# Maximum number of KEYs for one COMMAND is 5.
|
||||
#
|
||||
# Omitting the KEY for a COMMAND will unbind all its default keys. They
|
||||
# will also be automatically unbound when you bind new KEYs to it. Individual
|
||||
# default KEYs will be automatically unbound when they are explicitly bound
|
||||
# to some other COMMAND.
|
||||
#
|
||||
# Using the '+=' form will cause the KEYs to be appended to any existing
|
||||
# (default or explicit) bindings for the COMMAND. Appending an existing
|
||||
# default binding for the same COMMAND will cause MOC to think of that KEY
|
||||
# as then being explicitly bound.
|
||||
#
|
||||
# Only one binding for any given COMMAND can appear in the keymap file. One
|
||||
# exception to this is that if the default keys for a COMMAND are explicitly
|
||||
# unbound then a subsequent binding may appear for it. A second exception
|
||||
# is that multiple appending bindings may appear.
|
||||
#
|
||||
# Meta-key detection is sensitive to the ESCDELAY environment variable (see
|
||||
# the manpage for ncurses(3)). In its absence, MOC resets the default
|
||||
# delay to 25ms. If you need to emulate meta-key sequences using the ESC
|
||||
# key, then you may need to set the value of ESCDELAY back to its ncurses
|
||||
# default of 1000ms (but doing so will make the response to the ESC key
|
||||
# sluggish).
|
||||
#
|
||||
# If MOC's keypresses are being filtered through some other program (in a
|
||||
# GUI environment, for example) which also does meta-key detection, then
|
||||
# MOC is at the mercy of the timings with which that program presents them.
|
||||
#
|
||||
# Default key configuration for MOC (and a list of all available commands):
|
||||
|
||||
# MOC control keys:
|
||||
quit_client = q
|
||||
quit = Q
|
||||
|
||||
# Menu and interface control keys:
|
||||
go = ENTER
|
||||
menu_down = DOWN
|
||||
menu_up = UP
|
||||
menu_page_down = PAGE_DOWN
|
||||
menu_page_up = PAGE_UP
|
||||
menu_first_item = HOME
|
||||
menu_last_item = END
|
||||
search_menu = g /
|
||||
toggle_read_tags = f
|
||||
toggle_show_time = ^t
|
||||
toggle_show_format = ^f
|
||||
toggle_menu = TAB
|
||||
toggle_layout = l
|
||||
toggle_hidden_files = H
|
||||
next_search = ^g ^n
|
||||
show_lyrics = L
|
||||
theme_menu = T
|
||||
help = h ?
|
||||
refresh = ^r
|
||||
reload = r
|
||||
|
||||
# Audio playing and positioning keys:
|
||||
seek_forward = RIGHT
|
||||
seek_backward = LEFT
|
||||
seek_forward_fast = ]
|
||||
seek_backward_fast = [
|
||||
pause = p SPACE
|
||||
stop = s
|
||||
next = n
|
||||
previous = b
|
||||
toggle_shuffle = S
|
||||
toggle_repeat = R
|
||||
toggle_auto_next = X
|
||||
toggle_mixer = x
|
||||
go_url = o
|
||||
|
||||
# Volume control keys:
|
||||
volume_down_1 = <
|
||||
volume_up_1 = >
|
||||
volume_down_5 = ,
|
||||
volume_up_5 = .
|
||||
volume_10 = M-1
|
||||
volume_20 = M-2
|
||||
volume_30 = M-3
|
||||
volume_40 = M-4
|
||||
volume_50 = M-5
|
||||
volume_60 = M-6
|
||||
volume_70 = M-7
|
||||
volume_80 = M-8
|
||||
volume_90 = M-9
|
||||
|
||||
# Directory navigation keys: defaults are Shift-number
|
||||
# (i.e., 'shift 1' -> '!' -> 'Fastdir1').
|
||||
go_to_a_directory = i
|
||||
go_to_music_directory = m
|
||||
go_to_fast_dir1 = !
|
||||
go_to_fast_dir2 = @
|
||||
go_to_fast_dir3 = #
|
||||
go_to_fast_dir4 = $
|
||||
go_to_fast_dir5 = %
|
||||
go_to_fast_dir6 = ^
|
||||
go_to_fast_dir7 = &
|
||||
go_to_fast_dir8 = *
|
||||
go_to_fast_dir9 = (
|
||||
go_to_fast_dir10 = )
|
||||
go_to_playing_file = G
|
||||
go_up = U
|
||||
|
||||
# Playlist specific keys:
|
||||
add_file = a
|
||||
add_directory = A
|
||||
plist_add_stream = ^u
|
||||
delete_from_playlist = d
|
||||
playlist_full_paths = P
|
||||
plist_move_up = u
|
||||
plist_move_down = j
|
||||
save_playlist = V
|
||||
remove_dead_entries = Y
|
||||
clear_playlist = C
|
||||
|
||||
# Queue manipulation keys:
|
||||
enqueue_file = z
|
||||
clear_queue = Z
|
||||
|
||||
# User interaction control:
|
||||
history_up = UP
|
||||
history_down = DOWN
|
||||
delete_to_start = ^u
|
||||
delete_to_end = ^k
|
||||
cancel = ^x ESCAPE
|
||||
hide_message = M
|
||||
|
||||
# Softmixer specific keys:
|
||||
toggle_softmixer = w
|
||||
toggle_make_mono = J
|
||||
|
||||
# Equalizer specific keys:
|
||||
toggle_equalizer = E
|
||||
equalizer_refresh = e
|
||||
equalizer_prev = K
|
||||
equalizer_next = k
|
||||
|
||||
# External commands:
|
||||
mark_start = '
|
||||
mark_end = "
|
||||
exec_command1 = F1
|
||||
exec_command2 = F2
|
||||
exec_command3 = F3
|
||||
exec_command4 = F4
|
||||
exec_command5 = F5
|
||||
exec_command6 = F6
|
||||
exec_command7 = F7
|
||||
exec_command8 = F8
|
||||
exec_command9 = F9
|
||||
exec_command10 = F10
|
||||
|
||||
# The following commands are available but not assigned to any keys by
|
||||
# default:
|
||||
#
|
||||
# toggle_percent Switch on/off play progress bar time percentage
|
||||
#
|
|
@ -0,0 +1 @@
|
|||
/home/alex/media/audio/music/compilations
|
|
@ -0,0 +1,4 @@
|
|||
#EXTM3U
|
||||
#MOCSERIAL: 768
|
||||
#EXTINF:18965,/home/alex/media/audio/music/compilations/The Best Of Folk Metal Mix. Compilation 2.-wClxK8r_Sj0.webm
|
||||
/home/alex/media/audio/music/compilations/The Best Of Folk Metal Mix. Compilation 2.-wClxK8r_Sj0.webm
|
|
@ -0,0 +1,4 @@
|
|||
Active: 0
|
||||
Amplification: 100
|
||||
Value: 100
|
||||
Mono: 0
|
|
@ -0,0 +1,34 @@
|
|||
# Transparent background theme by Marcin Michałowski
|
||||
|
||||
background = default default
|
||||
frame = white default
|
||||
window_title = white default
|
||||
directory = white default bold
|
||||
selected_directory = white blue bold
|
||||
playlist = white default bold
|
||||
selected_playlist = white blue bold
|
||||
file = white default
|
||||
selected_file = white blue
|
||||
marked_file = green default bold
|
||||
marked_selected_file = green blue bold
|
||||
info = blue default bold
|
||||
status = white default
|
||||
title = white default bold
|
||||
state = white default bold
|
||||
current_time = white default bold
|
||||
time_left = white default bold
|
||||
total_time = white default bold
|
||||
time_total_frames = white default
|
||||
sound_parameters = white default bold
|
||||
legend = white default
|
||||
disabled = blue default bold
|
||||
enabled = white default bold
|
||||
empty_mixer_bar = white default
|
||||
filled_mixer_bar = black cyan
|
||||
empty_time_bar = white default
|
||||
filled_time_bar = black cyan
|
||||
entry = white default
|
||||
entry_title = black cyan
|
||||
error = red default bold
|
||||
message = green default bold
|
||||
plist_time = white default bold
|
|
@ -0,0 +1,22 @@
|
|||
music_directory "~/media/audio"
|
||||
playlist_directory "~/.config/mpd/playlists/"
|
||||
|
||||
auto_update "yes"
|
||||
bind_to_address "127.0.0.1"
|
||||
restore_paused "yes"
|
||||
max_output_buffer_size "16384"
|
||||
|
||||
audio_output {
|
||||
type "pulse"
|
||||
name "pulse audio"
|
||||
#device "pulse"
|
||||
#mixer_type "hardware"
|
||||
}
|
||||
|
||||
|
||||
audio_output {
|
||||
type "fifo"
|
||||
name "Visualizer feed"
|
||||
path "/tmp/mpd.fifo"
|
||||
format "44100:16:2"
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
hwdec=vaapi
|
||||
gpu-context=wayland
|
||||
osc=no
|
||||
alang=jpn
|
||||
slang=eng
|
||||
|
||||
[extension.gif]
|
||||
loop-file=inf
|
||||
|
||||
[extension.webm]
|
||||
loop-file=inf
|
||||
|
||||
[idle]
|
||||
profile-cond=p["idle-active"]
|
||||
profile-restore=copy-equal
|
||||
background=1
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,163 @@
|
|||
# vim: filetype=neomuttrc
|
||||
# This file contains all of mutt-wizard's default settings.
|
||||
# mutt-wizard will have this file sourced from your muttrc.
|
||||
# In the interest of seamless updating, do not edit this file.
|
||||
# If you want to override any settings, set those in your muttrc.
|
||||
set mailcap_path = /nix/store/szhf8qsrw2y077kj7frl6i804mghd6y3-mutt-wizard-3.2.1/share/mutt-wizard/mailcap:$mailcap_path
|
||||
set mime_type_query_command = "file --mime-type -b %s"
|
||||
set date_format="%y/%m/%d %I:%M%p"
|
||||
set index_format="%2C %Z %?X?A& ? %D %-15.15F %s (%-4.4c)"
|
||||
set sort = 'reverse-date'
|
||||
set smtp_authenticators = 'gssapi:login'
|
||||
set query_command = "abook --mutt-query '%s'"
|
||||
set rfc2047_parameters = yes
|
||||
set sleep_time = 0 # Pause 0 seconds for informational messages
|
||||
set markers = no # Disables the `+` displayed at line wraps
|
||||
set mark_old = no # Unread mail stay unread until read
|
||||
set mime_forward = yes # attachments are forwarded with mail
|
||||
set wait_key = no # mutt won't ask "press key to continue"
|
||||
set fast_reply # skip to compose when replying
|
||||
set fcc_attach # save attachments with the body
|
||||
set forward_format = "Fwd: %s" # format of subject when forwarding
|
||||
set forward_quote # include message in forwards
|
||||
set reverse_name # reply as whomever it was to
|
||||
set include # include message in replies
|
||||
set mail_check=60 # to avoid lags using IMAP with some email providers (yahoo for example)
|
||||
auto_view text/html # automatically show html (mailcap uses lynx)
|
||||
auto_view application/pgp-encrypted
|
||||
#set display_filter = "tac | sed '/\\\[-- Autoview/,+1d' | tac" # Suppress autoview messages.
|
||||
alternative_order text/plain text/enriched text/html
|
||||
bind index,pager i noop
|
||||
bind index,pager g noop
|
||||
bind index \Cf noop
|
||||
|
||||
# General rebindings
|
||||
bind index j next-entry
|
||||
bind index k previous-entry
|
||||
bind attach <return> view-mailcap
|
||||
bind attach l view-mailcap
|
||||
bind editor <space> noop
|
||||
bind index G last-entry
|
||||
bind index gg first-entry
|
||||
bind pager,attach h exit
|
||||
bind pager j next-line
|
||||
bind pager k previous-line
|
||||
bind pager l view-attachments
|
||||
bind index D delete-message
|
||||
bind index U undelete-message
|
||||
bind index L limit
|
||||
bind index h noop
|
||||
bind index l display-message
|
||||
bind index,query <space> tag-entry
|
||||
#bind browser h goto-parent
|
||||
macro browser h '<change-dir><kill-line>..<enter>' "Go to parent folder"
|
||||
bind index,pager H view-raw-message
|
||||
bind browser l select-entry
|
||||
bind pager,browser gg top-page
|
||||
bind pager,browser G bottom-page
|
||||
bind index,pager,browser d half-down
|
||||
bind index,pager,browser u half-up
|
||||
bind index,pager S sync-mailbox
|
||||
bind index,pager R group-reply
|
||||
bind index \031 previous-undeleted # Mouse wheel
|
||||
bind index \005 next-undeleted # Mouse wheel
|
||||
bind pager \031 previous-line # Mouse wheel
|
||||
bind pager \005 next-line # Mouse wheel
|
||||
bind editor <Tab> complete-query
|
||||
|
||||
#set crypt_autosign = yes
|
||||
#set crypt_opportunistic_encrypt = yes
|
||||
#set pgp_self_encrypt = yes
|
||||
#set pgp_default_key = 'your@gpgemailaddre.ss'
|
||||
|
||||
macro index,pager a "<enter-command>set my_pipe_decode=\$pipe_decode pipe_decode<return><pipe-message>abook --add-email<return><enter-command>set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<return>" "add the sender address to abook"
|
||||
macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
|
||||
macro index O "<shell-escape>mw -Y<enter>" "run mw -Y to sync all mail"
|
||||
macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>printf 'Enter a search term to find with notmuch: '; read x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;s/\^id:// for@a;$,=\"|\";print@a' | perl -le '@a=<>; chomp@a; s/\\+/\\\\+/ for@a;print@a' \`\"<enter>" "show only messages matching a notmuch pattern"
|
||||
macro index A "<limit>all\n" "show all messages (undo limit)"
|
||||
|
||||
# Sidebar mappings
|
||||
set sidebar_visible = yes
|
||||
set sidebar_width = 20
|
||||
set sidebar_short_path = yes
|
||||
set sidebar_next_new_wrap = yes
|
||||
set mail_check_stats
|
||||
set sidebar_format = '%D%?F? [%F]?%* %?N?%N/? %?S?%S?'
|
||||
bind index,pager \Ck sidebar-prev
|
||||
bind index,pager \Cj sidebar-next
|
||||
bind index,pager \Co sidebar-open
|
||||
bind index,pager \Cp sidebar-prev-new
|
||||
bind index,pager \Cn sidebar-next-new
|
||||
bind index,pager B sidebar-toggle-visible
|
||||
|
||||
# Default index colors:
|
||||
color index yellow default '.*'
|
||||
color index_author red default '.*'
|
||||
color index_number blue default
|
||||
color index_subject cyan default '.*'
|
||||
|
||||
# New mail is boldened:
|
||||
color index brightyellow black "~N"
|
||||
color index_author brightred black "~N"
|
||||
color index_subject brightcyan black "~N"
|
||||
|
||||
# Tagged mail is highlighted:
|
||||
color index brightyellow blue "~T"
|
||||
color index_author brightred blue "~T"
|
||||
color index_subject brightcyan blue "~T"
|
||||
|
||||
# Other colors and aesthetic settings:
|
||||
mono bold bold
|
||||
mono underline underline
|
||||
mono indicator reverse
|
||||
mono error bold
|
||||
color normal default default
|
||||
color indicator brightblack white
|
||||
color sidebar_highlight red default
|
||||
color sidebar_divider brightblack black
|
||||
color sidebar_flagged red black
|
||||
color sidebar_new green black
|
||||
color normal brightyellow default
|
||||
color error red default
|
||||
color tilde black default
|
||||
color message cyan default
|
||||
color markers red white
|
||||
color attachment white default
|
||||
color search brightmagenta default
|
||||
color status brightyellow black
|
||||
color hdrdefault brightgreen default
|
||||
color quoted green default
|
||||
color quoted1 blue default
|
||||
color quoted2 cyan default
|
||||
color quoted3 yellow default
|
||||
color quoted4 red default
|
||||
color quoted5 brightred default
|
||||
color signature brightgreen default
|
||||
color bold black default
|
||||
color underline black default
|
||||
color normal default default
|
||||
|
||||
# Regex highlighting:
|
||||
color header blue default ".*"
|
||||
color header brightmagenta default "^(From)"
|
||||
color header brightcyan default "^(Subject)"
|
||||
color header brightwhite default "^(CC|BCC)"
|
||||
color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
|
||||
color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
|
||||
color body green default "\`[^\`]*\`" # Green text between ` and `
|
||||
color body brightblue default "^# \.*" # Headings as bold blue
|
||||
color body brightcyan default "^## \.*" # Subheadings as bold cyan
|
||||
color body brightgreen default "^### \.*" # Subsubheadings as bold green
|
||||
color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow
|
||||
color body brightcyan default "[;:][-o][)/(|]" # emoticons
|
||||
color body brightcyan default "[;:][)(|]" # emoticons
|
||||
color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon?
|
||||
color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon?
|
||||
color body red default "(BAD signature)"
|
||||
color body cyan default "(Good signature)"
|
||||
color body brightblack default "^gpg: Good signature .*"
|
||||
color body brightyellow default "^gpg: "
|
||||
color body brightyellow red "^gpg: BAD signature from.*"
|
||||
mono body bold "^gpg: Good signature"
|
||||
mono body bold "^gpg: BAD signature from.*"
|
||||
color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
|
|
@ -0,0 +1,479 @@
|
|||
##############################################################
|
||||
## This is the example bindings file. Copy it to ##
|
||||
## ~/.ncmpcpp/bindings or $XDG_CONFIG_HOME/ncmpcpp/bindings ##
|
||||
## and set up your preferences ##
|
||||
##############################################################
|
||||
#
|
||||
#def_key "mouse"
|
||||
# mouse_event
|
||||
#
|
||||
#def_key "up"
|
||||
# scroll_up
|
||||
#
|
||||
#def_key "shift-up"
|
||||
# select_item
|
||||
# scroll_up
|
||||
#
|
||||
#def_key "down"
|
||||
# scroll_down
|
||||
#
|
||||
#def_key "shift-down"
|
||||
# select_item
|
||||
# scroll_down
|
||||
#
|
||||
#def_key "["
|
||||
# scroll_up_album
|
||||
#
|
||||
#def_key "]"
|
||||
# scroll_down_album
|
||||
#
|
||||
#def_key "{"
|
||||
# scroll_up_artist
|
||||
#
|
||||
#def_key "}"
|
||||
# scroll_down_artist
|
||||
#
|
||||
#def_key "page_up"
|
||||
# page_up
|
||||
#
|
||||
#def_key "page_down"
|
||||
# page_down
|
||||
#
|
||||
#def_key "home"
|
||||
# move_home
|
||||
#
|
||||
#def_key "end"
|
||||
# move_end
|
||||
#
|
||||
#def_key "insert"
|
||||
# select_item
|
||||
#
|
||||
#def_key "enter"
|
||||
# enter_directory
|
||||
#
|
||||
#def_key "enter"
|
||||
# toggle_output
|
||||
#
|
||||
#def_key "enter"
|
||||
# run_action
|
||||
#
|
||||
#def_key "enter"
|
||||
# play_item
|
||||
#
|
||||
#def_key "space"
|
||||
# add_item_to_playlist
|
||||
#
|
||||
#def_key "space"
|
||||
# toggle_lyrics_update_on_song_change
|
||||
#
|
||||
#def_key "space"
|
||||
# toggle_visualization_type
|
||||
#
|
||||
#def_key "delete"
|
||||
# delete_playlist_items
|
||||
#
|
||||
#def_key "delete"
|
||||
# delete_browser_items
|
||||
#
|
||||
#def_key "delete"
|
||||
# delete_stored_playlist
|
||||
#
|
||||
#def_key "right"
|
||||
# next_column
|
||||
#
|
||||
#def_key "right"
|
||||
# slave_screen
|
||||
#
|
||||
#def_key "right"
|
||||
# volume_up
|
||||
#
|
||||
#def_key "+"
|
||||
# volume_up
|
||||
#
|
||||
#def_key "left"
|
||||
# previous_column
|
||||
#
|
||||
#def_key "left"
|
||||
# master_screen
|
||||
#
|
||||
#def_key "left"
|
||||
# volume_down
|
||||
#
|
||||
#def_key "-"
|
||||
# volume_down
|
||||
#
|
||||
#def_key ":"
|
||||
# execute_command
|
||||
#
|
||||
#def_key "tab"
|
||||
# next_screen
|
||||
#
|
||||
#def_key "shift-tab"
|
||||
# previous_screen
|
||||
#
|
||||
#def_key "f1"
|
||||
# show_help
|
||||
#
|
||||
#def_key "1"
|
||||
# show_playlist
|
||||
#
|
||||
#def_key "2"
|
||||
# show_browser
|
||||
#
|
||||
#def_key "2"
|
||||
# change_browse_mode
|
||||
#
|
||||
#def_key "3"
|
||||
# show_search_engine
|
||||
#
|
||||
#def_key "3"
|
||||
# reset_search_engine
|
||||
#
|
||||
#def_key "4"
|
||||
# show_media_library
|
||||
#
|
||||
#def_key "4"
|
||||
# toggle_media_library_columns_mode
|
||||
#
|
||||
#def_key "5"
|
||||
# show_playlist_editor
|
||||
#
|
||||
#def_key "6"
|
||||
# show_tag_editor
|
||||
#
|
||||
#def_key "7"
|
||||
# show_outputs
|
||||
#
|
||||
#def_key "8"
|
||||
# show_visualizer
|
||||
#
|
||||
#def_key "="
|
||||
# show_clock
|
||||
#
|
||||
#def_key "@"
|
||||
# show_server_info
|
||||
#
|
||||
#def_key "s"
|
||||
# stop
|
||||
#
|
||||
#def_key "p"
|
||||
# pause
|
||||
#
|
||||
#def_key ">"
|
||||
# next
|
||||
#
|
||||
#def_key "<"
|
||||
# previous
|
||||
#
|
||||
#def_key "ctrl-h"
|
||||
# jump_to_parent_directory
|
||||
#
|
||||
#def_key "ctrl-h"
|
||||
# replay_song
|
||||
#
|
||||
#def_key "backspace"
|
||||
# jump_to_parent_directory
|
||||
#
|
||||
#def_key "backspace"
|
||||
# replay_song
|
||||
#
|
||||
def_key "f"
|
||||
seek_forward
|
||||
#
|
||||
def_key "b"
|
||||
seek_backward
|
||||
#
|
||||
#def_key "r"
|
||||
# toggle_repeat
|
||||
#
|
||||
#def_key "z"
|
||||
# toggle_random
|
||||
#
|
||||
#def_key "y"
|
||||
# save_tag_changes
|
||||
#
|
||||
#def_key "y"
|
||||
# start_searching
|
||||
#
|
||||
#def_key "y"
|
||||
# toggle_single
|
||||
#
|
||||
#def_key "R"
|
||||
# toggle_consume
|
||||
#
|
||||
#def_key "Y"
|
||||
# toggle_replay_gain_mode
|
||||
#
|
||||
#def_key "T"
|
||||
# toggle_add_mode
|
||||
#
|
||||
#def_key "|"
|
||||
# toggle_mouse
|
||||
#
|
||||
#def_key "#"
|
||||
# toggle_bitrate_visibility
|
||||
#
|
||||
#def_key "Z"
|
||||
# shuffle
|
||||
#
|
||||
#def_key "x"
|
||||
# toggle_crossfade
|
||||
#
|
||||
#def_key "X"
|
||||
# set_crossfade
|
||||
#
|
||||
#def_key "u"
|
||||
# update_database
|
||||
#
|
||||
#def_key "ctrl-s"
|
||||
# sort_playlist
|
||||
#
|
||||
#def_key "ctrl-s"
|
||||
# toggle_browser_sort_mode
|
||||
#
|
||||
#def_key "ctrl-s"
|
||||
# toggle_media_library_sort_mode
|
||||
#
|
||||
#def_key "ctrl-r"
|
||||
# reverse_playlist
|
||||
#
|
||||
#def_key "ctrl-f"
|
||||
# apply_filter
|
||||
#
|
||||
#def_key "ctrl-_"
|
||||
# select_found_items
|
||||
#
|
||||
#def_key "/"
|
||||
# find
|
||||
#
|
||||
#def_key "/"
|
||||
# find_item_forward
|
||||
#
|
||||
#def_key "?"
|
||||
# find
|
||||
#
|
||||
#def_key "?"
|
||||
# find_item_backward
|
||||
#
|
||||
#def_key "."
|
||||
# next_found_item
|
||||
#
|
||||
#def_key ","
|
||||
# previous_found_item
|
||||
#
|
||||
#def_key "w"
|
||||
# toggle_find_mode
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_song
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_library_tag
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_library_album
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_directory_name
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_playlist_name
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_lyrics
|
||||
#
|
||||
#def_key "i"
|
||||
# show_song_info
|
||||
#
|
||||
#def_key "I"
|
||||
# show_artist_info
|
||||
#
|
||||
#def_key "g"
|
||||
# jump_to_position_in_song
|
||||
#
|
||||
#def_key "l"
|
||||
# show_lyrics
|
||||
#
|
||||
#def_key "ctrl-v"
|
||||
# select_range
|
||||
#
|
||||
#def_key "v"
|
||||
# reverse_selection
|
||||
#
|
||||
#def_key "V"
|
||||
# remove_selection
|
||||
#
|
||||
#def_key "B"
|
||||
# select_album
|
||||
#
|
||||
#def_key "a"
|
||||
# add_selected_items
|
||||
#
|
||||
#def_key "c"
|
||||
# clear_playlist
|
||||
#
|
||||
#def_key "c"
|
||||
# clear_main_playlist
|
||||
#
|
||||
#def_key "C"
|
||||
# crop_playlist
|
||||
#
|
||||
#def_key "C"
|
||||
# crop_main_playlist
|
||||
#
|
||||
#def_key "m"
|
||||
# move_sort_order_up
|
||||
#
|
||||
#def_key "m"
|
||||
# move_selected_items_up
|
||||
#
|
||||
#def_key "n"
|
||||
# move_sort_order_down
|
||||
#
|
||||
#def_key "n"
|
||||
# move_selected_items_down
|
||||
#
|
||||
#def_key "M"
|
||||
# move_selected_items_to
|
||||
#
|
||||
#def_key "A"
|
||||
# add
|
||||
#
|
||||
#def_key "S"
|
||||
# save_playlist
|
||||
#
|
||||
#def_key "o"
|
||||
# jump_to_playing_song
|
||||
#
|
||||
#def_key "G"
|
||||
# jump_to_browser
|
||||
#
|
||||
#def_key "G"
|
||||
# jump_to_playlist_editor
|
||||
#
|
||||
#def_key "~"
|
||||
# jump_to_media_library
|
||||
#
|
||||
#def_key "E"
|
||||
# jump_to_tag_editor
|
||||
#
|
||||
#def_key "U"
|
||||
# toggle_playing_song_centering
|
||||
#
|
||||
#def_key "P"
|
||||
# toggle_display_mode
|
||||
#
|
||||
#def_key "\\"
|
||||
# toggle_interface
|
||||
#
|
||||
#def_key "!"
|
||||
# toggle_separators_between_albums
|
||||
#
|
||||
#def_key "L"
|
||||
# toggle_lyrics_fetcher
|
||||
#
|
||||
#def_key "F"
|
||||
# fetch_lyrics_in_background
|
||||
#
|
||||
#def_key "alt-l"
|
||||
# toggle_fetching_lyrics_in_background
|
||||
#
|
||||
#def_key "ctrl-l"
|
||||
# toggle_screen_lock
|
||||
#
|
||||
#def_key "`"
|
||||
# toggle_library_tag_type
|
||||
#
|
||||
#def_key "`"
|
||||
# refetch_lyrics
|
||||
#
|
||||
#def_key "`"
|
||||
# add_random_items
|
||||
#
|
||||
#def_key "ctrl-p"
|
||||
# set_selected_items_priority
|
||||
#
|
||||
#def_key "q"
|
||||
# quit
|
||||
#
|
||||
#
|
||||
#def_key "f"
|
||||
# find
|
||||
#def_key "f"
|
||||
# find_item_forward
|
||||
|
||||
def_key "+"
|
||||
show_clock
|
||||
def_key "="
|
||||
volume_up
|
||||
|
||||
def_key "j"
|
||||
scroll_down
|
||||
def_key "k"
|
||||
scroll_up
|
||||
|
||||
def_key "ctrl-u"
|
||||
page_up
|
||||
#push_characters "kkkkkkkkkkkkkkk"
|
||||
def_key "ctrl-d"
|
||||
page_down
|
||||
#push_characters "jjjjjjjjjjjjjjj"
|
||||
def_key "u"
|
||||
page_up
|
||||
#push_characters "kkkkkkkkkkkkkkk"
|
||||
def_key "d"
|
||||
page_down
|
||||
#push_characters "jjjjjjjjjjjjjjj"
|
||||
def_key "h"
|
||||
previous_column
|
||||
def_key "l"
|
||||
next_column
|
||||
|
||||
def_key "."
|
||||
show_lyrics
|
||||
|
||||
def_key "n"
|
||||
next_found_item
|
||||
def_key "N"
|
||||
previous_found_item
|
||||
|
||||
# not used but bound
|
||||
def_key "J"
|
||||
move_sort_order_down
|
||||
def_key "K"
|
||||
move_sort_order_up
|
||||
def_key "h"
|
||||
jump_to_parent_directory
|
||||
def_key "l"
|
||||
enter_directory
|
||||
def_key "l"
|
||||
run_action
|
||||
def_key "l"
|
||||
play_item
|
||||
def_key "m"
|
||||
show_media_library
|
||||
def_key "m"
|
||||
toggle_media_library_columns_mode
|
||||
def_key "t"
|
||||
show_tag_editor
|
||||
def_key "v"
|
||||
show_visualizer
|
||||
def_key "G"
|
||||
move_end
|
||||
def_key "g"
|
||||
move_home
|
||||
#jump_to_position_in_song
|
||||
def_key "U"
|
||||
update_database
|
||||
def_key "s"
|
||||
reset_search_engine
|
||||
def_key "s"
|
||||
show_search_engine
|
||||
#def_key "f"
|
||||
# show_browser
|
||||
#def_key "f"
|
||||
# change_browse_mode
|
||||
def_key "x"
|
||||
delete_playlist_items
|
||||
def_key "P"
|
||||
show_playlist
|
|
@ -0,0 +1,32 @@
|
|||
# vim: filetype=conf
|
||||
|
||||
ncmpcpp_directory = "~/.config/ncmpcpp/"
|
||||
lyrics_directory = "~/.local/share/lyrics/"
|
||||
mpd_music_dir = "~/media/audio/"
|
||||
message_delay_time = "1"
|
||||
visualizer_type = "wave"
|
||||
song_list_format = {$4%a - }{%t}|{$8%f$9}$R{$3(%l)$9}
|
||||
song_status_format = $b{{$8"%t"}} $3by {$4%a{ $3in $7%b{ (%y)}} $3}|{$8%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 = $(cyan)$r$b
|
||||
current_item_suffix = $/r$(end)$/b
|
||||
current_item_inactive_column_prefix = $(magenta)$r
|
||||
current_item_inactive_column_suffix = $/r$(end)
|
||||
playlist_display_mode = columns
|
||||
browser_display_mode = columns
|
||||
progressbar_look = ->
|
||||
media_library_primary_tag = album_artist
|
||||
media_library_albums_split_by_date = no
|
||||
startup_screen = "browser"
|
||||
display_volume_level = no
|
||||
ignore_leading_the = yes
|
||||
external_editor = nvim
|
||||
use_console_editor = yes
|
||||
empty_tag_color = magenta
|
||||
main_window_color = white
|
||||
progressbar_color = black:b
|
||||
progressbar_elapsed_color = blue:b
|
||||
statusbar_color = red
|
||||
statusbar_time_color = cyan:b
|
|
@ -0,0 +1,62 @@
|
|||
if empty(glob('~/.local/share/nvim/site/autoload/plug.vim'))
|
||||
silent !curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs
|
||||
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
||||
endif
|
||||
|
||||
|
||||
call plug#begin('~/.local/share/nvim/plugged')
|
||||
Plug 'vim-airline/vim-airline'
|
||||
Plug 'vim-airline/vim-airline-themes'
|
||||
|
||||
Plug 'tpope/vim-fugitive'
|
||||
Plug 'dense-analysis/ale'
|
||||
Plug 'chriskempson/base16-vim'
|
||||
|
||||
"language support
|
||||
Plug 'tbastos/vim-lua'
|
||||
call plug#end()
|
||||
|
||||
"enable ale completion
|
||||
let g:ale_completion_enabled = 1
|
||||
|
||||
"airline setup
|
||||
"let g:airline_extensions = []
|
||||
let g:airline#extensions#tabline#enabled = 1
|
||||
let g:airline#extensions#ale#enabled = 1
|
||||
let g:airline_powerline_fonts = 1
|
||||
let g:airline_theme='base16_atlas'
|
||||
|
||||
"syntax numbers, wildmode
|
||||
syntax on
|
||||
set ruler
|
||||
set number "relativenumber
|
||||
set wildmode=longest,list,full
|
||||
|
||||
"Tab Config
|
||||
set expandtab "converts tabs to spaces
|
||||
set shiftwidth=4
|
||||
set tabstop=4
|
||||
|
||||
"split navigation
|
||||
nnoremap <silent> <tab> :if &modifiable && !&readonly && &modified <CR> :write<CR> :endif<CR>:bnext<CR>
|
||||
nnoremap <silent> <s-tab> :if &modifiable && !&readonly && &modified <CR> :write<CR> :endif<CR>:bprevious<CR>
|
||||
|
||||
"make vim use system clipboard by default. ONLY FOR NEOVIM
|
||||
set clipboard+=unnamedplus
|
||||
|
||||
let vim_markdown_preview_browser='librewolf'
|
||||
let vim_markdown_preview_use_xdg_open=1
|
||||
|
||||
"enable unicode support if possible
|
||||
if has("multi_byte")
|
||||
if &termencoding == ""
|
||||
let &termencoding = &encoding
|
||||
endif
|
||||
set encoding=utf-8
|
||||
setglobal fileencoding=utf-8
|
||||
" Uncomment to have 'bomb' on by default for new files.
|
||||
" Note, this will not apply to the first, empty buffer created at Vim startup.
|
||||
"setglobal bomb
|
||||
set fileencodings=ucs-bom,utf-8,latin1
|
||||
endif
|
|
@ -0,0 +1,10 @@
|
|||
uniform float opacity;
|
||||
uniform bool invert_color;
|
||||
uniform sampler2D tex;
|
||||
|
||||
void main() {
|
||||
vec4 c = texture2D(tex, gl_TexCoord[0].xy);
|
||||
float y = dot(c.rgb, vec3(0.299, 0.587, 0.114));
|
||||
// y = 1.0 -y;
|
||||
gl_FragColor = vec4(y, y, y, 1.0);
|
||||
}
|
|
@ -0,0 +1,419 @@
|
|||
#################################
|
||||
# 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 = 12
|
||||
shadow-radius = 7;
|
||||
|
||||
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
||||
# shadow-opacity = .75
|
||||
|
||||
# The left offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-x = -15
|
||||
shadow-offset-x = -7;
|
||||
|
||||
# The top offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-y = -15
|
||||
shadow-offset-y = -7;
|
||||
|
||||
# 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
|
||||
|
||||
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
|
||||
# shadow-color = "#000000"
|
||||
|
||||
# Specify a list of conditions of windows that should have no shadow.
|
||||
#
|
||||
# examples:
|
||||
# shadow-exclude = "n:e:Notification";
|
||||
#
|
||||
# shadow-exclude = []
|
||||
shadow-exclude = [
|
||||
"name = 'Notification'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g = 'Cairo-clock'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
|
||||
# clip-shadow-above = []
|
||||
|
||||
# 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.03;
|
||||
|
||||
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
||||
# fade-out-step = 0.03
|
||||
fade-out-step = 0.03;
|
||||
|
||||
# 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 = 1
|
||||
inactive-opacity = 0.8;
|
||||
|
||||
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
||||
# frame-opacity = 1.0
|
||||
frame-opacity = 0.7;
|
||||
|
||||
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
|
||||
# inactive-opacity-override = true
|
||||
inactive-opacity-override = false;
|
||||
|
||||
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
|
||||
# active-opacity = 1.0
|
||||
|
||||
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
|
||||
# inactive-dim = 0.0
|
||||
|
||||
# Specify a list of conditions of windows that should never be considered focused.
|
||||
# focus-exclude = []
|
||||
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
||||
|
||||
# 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 = []
|
||||
|
||||
|
||||
#################################
|
||||
# Corners #
|
||||
#################################
|
||||
|
||||
# Sets the radius of rounded window corners. When > 0, the compositor will
|
||||
# round the corners of windows. Does not interact well with
|
||||
# `transparent-clipping`.
|
||||
corner-radius = 0
|
||||
|
||||
# Exclude conditions for rounded corners.
|
||||
rounded-corners-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'"
|
||||
];
|
||||
|
||||
|
||||
#################################
|
||||
# Background-Blurring #
|
||||
#################################
|
||||
|
||||
|
||||
# Parameters for background blurring, see the *BLUR* section for more information.
|
||||
# blur-method =
|
||||
# blur-size = 12
|
||||
#
|
||||
# blur-deviation = false
|
||||
#
|
||||
# blur-strength = 5
|
||||
|
||||
# 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 = false
|
||||
|
||||
# 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 = "3x3box";
|
||||
|
||||
|
||||
# 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
|
||||
vsync = true;
|
||||
|
||||
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
|
||||
# dbus = false
|
||||
|
||||
# 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;
|
||||
|
||||
# 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;
|
||||
|
||||
# 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 = true
|
||||
|
||||
# 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 = true
|
||||
|
||||
# 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 = true
|
||||
|
||||
# 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"
|
||||
|
||||
# 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.
|
||||
#
|
||||
# clip-shadow-above:::
|
||||
# Controls wether shadows that would have been drawn above the window should
|
||||
# be clipped. Useful for dock windows that should have no shadow painted on top.
|
||||
#
|
||||
# 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; opacity = 0.75; focus = true; full-shadow = false; };
|
||||
dock = { shadow = false; clip-shadow-above = true; }
|
||||
dnd = { shadow = false; }
|
||||
popup_menu = { opacity = 0.8; }
|
||||
dropdown_menu = { opacity = 0.8; }
|
||||
};
|
|
@ -0,0 +1,90 @@
|
|||
# Shadow
|
||||
shadow = true;
|
||||
shadow-radius = 7;
|
||||
shadow-offset-x = -7;
|
||||
shadow-offset-y = -7;
|
||||
log-level = "warn";
|
||||
# log-file = "/path/to/your/log/file";
|
||||
# shadow-opacity = 0.7;
|
||||
# shadow-red = 0.0;
|
||||
# shadow-green = 0.0;
|
||||
# shadow-blue = 0.0;
|
||||
shadow-exclude = [
|
||||
"name = 'Notification'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g = 'Cairo-clock'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
# shadow-exclude = "n:e:Notification";
|
||||
# shadow-exclude-reg = "x10+0+0";
|
||||
# xinerama-shadow-crop = true;
|
||||
|
||||
# Opacity
|
||||
#uncomment for window transparency
|
||||
menu-opacity = 0.8;
|
||||
inactive-opacity = 0.8;
|
||||
# active-opacity = 0.8;
|
||||
frame-opacity = 0.7;
|
||||
inactive-opacity-override = false;
|
||||
# inactive-dim = 0.2;
|
||||
# inactive-dim-fixed = true;
|
||||
# blur-background = true;
|
||||
# blur-background-frame = true;
|
||||
blur-kern = "3x3box";
|
||||
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
|
||||
# blur-background-fixed = true;
|
||||
blur-background-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
# opacity-rule = [ "80:class_g = 'URxvt'" ];
|
||||
|
||||
# max-brightness = 0.66
|
||||
|
||||
# Fading
|
||||
fading = true;
|
||||
# fade-delta = 30;
|
||||
fade-in-step = 0.03;
|
||||
fade-out-step = 0.03;
|
||||
# no-fading-openclose = true;
|
||||
# no-fading-destroyed-argb = true;
|
||||
fade-exclude = [ ];
|
||||
|
||||
# Other
|
||||
backend = "glx";
|
||||
|
||||
|
||||
mark-wmwin-focused = true;
|
||||
mark-ovredir-focused = true;
|
||||
# use-ewmh-active-win = true;
|
||||
detect-rounded-corners = true;
|
||||
detect-client-opacity = true;
|
||||
refresh-rate = 0;
|
||||
vsync = true;
|
||||
# sw-opti = true;
|
||||
# unredir-if-possible = true;
|
||||
# unredir-if-possible-delay = 5000;
|
||||
# unredir-if-possible-exclude = [ ];
|
||||
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
||||
detect-transient = true;
|
||||
detect-client-leader = true;
|
||||
invert-color-include = [ ];
|
||||
# resize-damage = 1;
|
||||
|
||||
# GLX backend
|
||||
glx-no-stencil = true;
|
||||
glx-no-rebind-pixmap = true;
|
||||
xrender-sync-fence = true;
|
||||
use-damage = true;
|
||||
|
||||
# Window type settings
|
||||
wintypes:
|
||||
{
|
||||
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
||||
dock = { shadow = false; }
|
||||
dnd = { shadow = false; }
|
||||
popup_menu = { opacity = 0.8; }
|
||||
dropdown_menu = { opacity = 0.8; }
|
||||
};
|
|
@ -0,0 +1,24 @@
|
|||
; Global settings
|
||||
[redshift]
|
||||
temp-day=6500
|
||||
temp-night=2000
|
||||
transition=1
|
||||
;gamma=0.8:0.7:0.8
|
||||
gamma=1.000:1.000:1.000
|
||||
;location-provider=geoclue
|
||||
location-provider=manual
|
||||
adjustment-method=vidmode
|
||||
;brightness=1.0:0.5
|
||||
|
||||
; The location provider and adjustment method settings
|
||||
; are in their own sections.
|
||||
; This is an example lat long for Portland, OR
|
||||
[manual]
|
||||
lat=34.73
|
||||
lon=-86.58
|
||||
|
||||
; In this example screen 1 is adjusted by vidmode. Note
|
||||
; that the numbering starts from 0, so this is actually
|
||||
; the second screen.
|
||||
;[vidmode]
|
||||
;screen=1
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
riverctl input 1133:49257:Logitech_USB_Laser_Mouse accel-profile flat
|
||||
|
||||
wlr-randr --output HDMI-A-1 --pos 0,0
|
||||
wlr-randr --output DP-1 --pos 1920,0
|
|
@ -0,0 +1,179 @@
|
|||
#!/bin/sh
|
||||
|
||||
# This is the example configuration file for river.
|
||||
#
|
||||
# If you wish to edit this, you will probably want to copy it to
|
||||
# $XDG_CONFIG_HOME/river/init or $HOME/.config/river/init first.
|
||||
#
|
||||
# See the river(1), riverctl(1), and rivertile(1) man pages for complete
|
||||
# documentation.
|
||||
|
||||
# Use the "logo" key as the primary modifier
|
||||
mod="Mod1"
|
||||
|
||||
# Mod+Shift+Return to start an instance of foot (https://codeberg.org/dnkl/foot)
|
||||
riverctl map normal $mod+Shift Return spawn alacritty
|
||||
|
||||
# Mod+P open bemenu
|
||||
riverctl map normal $mod P spawn "bemenu-run -H 24"
|
||||
|
||||
# Mod+Q to close the focused view
|
||||
riverctl map normal $mod+Shift C close
|
||||
|
||||
# Mod+E to exit river
|
||||
riverctl map normal $mod+Shift Q exit
|
||||
|
||||
# Mod+J and Mod+K to focus the next/previous view in the layout stack
|
||||
#riverctl map normal $mod J focus-view next
|
||||
#riverctl map normal $mod K focus-view previous
|
||||
|
||||
# Mod+Shift+J and Mod+Shift+K to swap the focused view with the next/previous
|
||||
# view in the layout stack
|
||||
#riverctl map normal $mod+Shift J swap next
|
||||
#riverctl map normal $mod+Shift K swap previous
|
||||
|
||||
# Mod+Period and Mod+Comma to focus the next/previous output
|
||||
riverctl map normal $mod Period focus-output next
|
||||
riverctl map normal $mod Comma focus-output previous
|
||||
|
||||
# Mod+Shift+{Period,Comma} to send the focused view to the next/previous output
|
||||
riverctl map normal $mod+Shift Period send-to-output next
|
||||
riverctl map normal $mod+Shift Comma send-to-output previous
|
||||
|
||||
# Mod+Return to bump the focused view to the top of the layout stack
|
||||
riverctl map normal $mod Return zoom
|
||||
|
||||
# Mod+H and Mod+L to decrease/increase the main ratio of rivertile(1)
|
||||
#riverctl map normal $mod H send-layout-cmd rivertile "main-ratio -0.05"
|
||||
#riverctl map normal $mod L send-layout-cmd rivertile "main-ratio +0.05"
|
||||
|
||||
# Mod+Shift+H and Mod+Shift+L to increment/decrement the main count of rivertile(1)
|
||||
#riverctl map normal $mod+Shift H send-layout-cmd rivertile "main-count +1"
|
||||
#riverctl map normal $mod+Shift L send-layout-cmd rivertile "main-count -1"
|
||||
|
||||
riverctl map normal $mod
|
||||
|
||||
# Mod+Alt+{H,J,K,L} to move views
|
||||
#riverctl map normal $mod+Mod1 H move left 100
|
||||
#riverctl map normal $mod+Mod1 J move down 100
|
||||
#riverctl map normal $mod+Mod1 K move up 100
|
||||
#riverctl map normal $mod+Mod1 L move right 100
|
||||
|
||||
# Mod+Alt+Control+{H,J,K,L} to snap views to screen edges
|
||||
#riverctl map normal $mod+Mod1+Control H snap left
|
||||
#riverctl map normal $mod+Mod1+Control J snap down
|
||||
#riverctl map normal $mod+Mod1+Control K snap up
|
||||
#riverctl map normal $mod+Mod1+Control L snap right
|
||||
|
||||
# Mod+Alt+Shif+{H,J,K,L} to resize views
|
||||
#riverctl map normal $mod+Mod1+Shift H resize horizontal -100
|
||||
#riverctl map normal $mod+Mod1+Shift J resize vertical 100
|
||||
#riverctl map normal $mod+Mod1+Shift K resize vertical -100
|
||||
#riverctl map normal $mod+Mod1+Shift L resize horizontal 100
|
||||
|
||||
riverctl map normal $mod J focus-view next
|
||||
riverctl map normal $mod K focus-view previous
|
||||
|
||||
|
||||
# Mod + Left Mouse Button to move views
|
||||
riverctl map-pointer normal $mod BTN_LEFT move-view
|
||||
|
||||
# Mod + Right Mouse Button to resize views
|
||||
riverctl map-pointer normal $mod BTN_RIGHT resize-view
|
||||
|
||||
for i in $(seq 1 9)
|
||||
do
|
||||
tags=$((1 << ($i - 1)))
|
||||
|
||||
# Mod+[1-9] to focus tag [0-8]
|
||||
riverctl map normal $mod $i set-focused-tags $tags
|
||||
|
||||
# Mod+Shift+[1-9] to tag focused view with tag [0-8]
|
||||
riverctl map normal $mod+Shift $i set-view-tags $tags
|
||||
|
||||
# Mod+Ctrl+[1-9] to toggle focus of tag [0-8]
|
||||
riverctl map normal $mod+Control $i toggle-focused-tags $tags
|
||||
|
||||
# Mod+Shift+Ctrl+[1-9] to toggle tag [0-8] of focused view
|
||||
riverctl map normal $mod+Shift+Control $i toggle-view-tags $tags
|
||||
done
|
||||
|
||||
# Mod+0 to focus all tags
|
||||
# Mod+Shift+0 to tag focused view with all tags
|
||||
all_tags=$(((1 << 32) - 1))
|
||||
riverctl map normal $mod 0 set-focused-tags $all_tags
|
||||
riverctl map normal $mod+Shift 0 set-view-tags $all_tags
|
||||
|
||||
# Mod+f to toggle float
|
||||
riverctl map normal $mod F toggle-float
|
||||
|
||||
# Mod+Shift+F to toggle fullscreen
|
||||
riverctl map normal $mod+Shift F toggle-fullscreen
|
||||
|
||||
# Mod+{Up,Right,Down,Left} to change layout orientation
|
||||
riverctl map normal $mod Up send-layout-cmd rivertile "main-location top"
|
||||
riverctl map normal $mod Right send-layout-cmd rivertile "main-location right"
|
||||
riverctl map normal $mod Down send-layout-cmd rivertile "main-location bottom"
|
||||
riverctl map normal $mod Left send-layout-cmd rivertile "main-location left"
|
||||
|
||||
# Declare a passthrough mode. This mode has only a single mapping to return to
|
||||
# normal mode. This makes it useful for testing a nested wayland compositor
|
||||
riverctl declare-mode passthrough
|
||||
|
||||
# Mod+F11 to enter passthrough mode
|
||||
riverctl map normal $mod F11 enter-mode passthrough
|
||||
|
||||
# Mod+F11 to return to normal mode
|
||||
riverctl map passthrough $mod F11 enter-mode normal
|
||||
|
||||
# Various media key mapping examples for both normal and locked mode which do
|
||||
# not have a modifier
|
||||
for mode in normal locked
|
||||
do
|
||||
# Eject the optical drive
|
||||
riverctl map $mode None XF86Eject spawn 'eject -T'
|
||||
|
||||
# Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer)
|
||||
riverctl map $mode None XF86AudioRaiseVolume spawn 'pamixer -i 5'
|
||||
riverctl map $mode None XF86AudioLowerVolume spawn 'pamixer -d 5'
|
||||
riverctl map $mode None XF86AudioMute spawn 'pamixer --toggle-mute'
|
||||
|
||||
# Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl)
|
||||
riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause'
|
||||
riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause'
|
||||
riverctl map $mode None XF86AudioPrev spawn 'playerctl previous'
|
||||
riverctl map $mode None XF86AudioNext spawn 'playerctl next'
|
||||
|
||||
# Control screen backlight brighness with light (https://github.com/haikarainen/light)
|
||||
riverctl map $mode None XF86MonBrightnessUp spawn 'light -A 5'
|
||||
riverctl map $mode None XF86MonBrightnessDown spawn 'light -U 5'
|
||||
done
|
||||
|
||||
# Set background and border color
|
||||
riverctl background-color 0x002b36
|
||||
riverctl border-color-focused 0x93a1a1
|
||||
riverctl border-color-unfocused 0x586e75
|
||||
|
||||
# Set repeat rate
|
||||
riverctl set-repeat 50 300
|
||||
|
||||
# Make certain views start floating
|
||||
riverctl float-filter-add app-id float
|
||||
riverctl float-filter-add title "popup title with spaces"
|
||||
|
||||
# Set app-ids and titles of views which should use client side decorations
|
||||
riverctl csd-filter-add app-id "gedit"
|
||||
|
||||
# Set and exec into the default layout generator, rivertile.
|
||||
# River will send the process group of the init executable SIGTERM on exit.
|
||||
riverctl default-layout rivertile
|
||||
|
||||
riverctl xcursor-theme Adwaita
|
||||
|
||||
#hardware config
|
||||
sh ~/.config/river/hw_config
|
||||
|
||||
#startup programs
|
||||
sh ~/.local/inits/river.sh
|
||||
|
||||
exec rivertile
|
|
@ -0,0 +1,149 @@
|
|||
configuration {
|
||||
/* modes: "drun,run,ssh";*/
|
||||
/* font: "mono 12";*/
|
||||
/* location: 0;*/
|
||||
/* yoffset: 0;*/
|
||||
/* xoffset: 0;*/
|
||||
/* fixed-num-lines: true;*/
|
||||
/* show-icons: false;*/
|
||||
/* terminal: "rofi-sensible-terminal";*/
|
||||
/* ssh-client: "ssh";*/
|
||||
/* ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";*/
|
||||
/* run-command: "{cmd}";*/
|
||||
/* run-list-command: "";*/
|
||||
/* run-shell-command: "{terminal} -e {cmd}";*/
|
||||
/* window-command: "wmctrl -i -R {window}";*/
|
||||
/* window-match-fields: "all";*/
|
||||
/* icon-theme: ;*/
|
||||
/* drun-match-fields: "name,generic,exec,categories,keywords";*/
|
||||
/* drun-categories: ;*/
|
||||
/* drun-show-actions: false;*/
|
||||
/* drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";*/
|
||||
/* drun-url-launcher: "xdg-open";*/
|
||||
/* disable-history: false;*/
|
||||
/* ignored-prefixes: "";*/
|
||||
/* sort: false;*/
|
||||
/* sorting-method: "normal";*/
|
||||
/* case-sensitive: false;*/
|
||||
/* cycle: true;*/
|
||||
/* sidebar-mode: false;*/
|
||||
/* hover-select: false;*/
|
||||
/* eh: 1;*/
|
||||
/* auto-select: false;*/
|
||||
/* parse-hosts: false;*/
|
||||
/* parse-known-hosts: true;*/
|
||||
/* combi-modes: "window,run";*/
|
||||
/* matching: "normal";*/
|
||||
/* tokenize: true;*/
|
||||
/* m: "-5";*/
|
||||
/* filter: ;*/
|
||||
/* dpi: -1;*/
|
||||
/* threads: 0;*/
|
||||
/* scroll-method: 0;*/
|
||||
/* window-format: "{w} {c} {t}";*/
|
||||
/* click-to-exit: true;*/
|
||||
/* max-history-size: 25;*/
|
||||
/* combi-hide-mode-prefix: false;*/
|
||||
/* combi-display-format: "{mode} {text}";*/
|
||||
/* matching-negate-char: '-' /* unsupported */;*/
|
||||
/* cache-dir: ;*/
|
||||
/* window-thumbnail: false;*/
|
||||
/* drun-use-desktop-cache: false;*/
|
||||
/* drun-reload-desktop-cache: false;*/
|
||||
/* normalize-match: false;*/
|
||||
/* steal-focus: false;*/
|
||||
/* application-fallback-icon: ;*/
|
||||
/* pid: "/run/user/1000/rofi.pid";*/
|
||||
/* display-run: ;*/
|
||||
/* display-ssh: ;*/
|
||||
/* display-drun: ;*/
|
||||
/* display-combi: ;*/
|
||||
/* display-keys: ;*/
|
||||
/* display-filebrowser: ;*/
|
||||
/* kb-primary-paste: "Control+V,Shift+Insert";*/
|
||||
/* kb-secondary-paste: "Control+v,Insert";*/
|
||||
/* kb-clear-line: "Control+w";*/
|
||||
/* kb-move-front: "Control+a";*/
|
||||
/* kb-move-end: "Control+e";*/
|
||||
/* kb-move-word-back: "Alt+b,Control+Left";*/
|
||||
/* kb-move-word-forward: "Alt+f,Control+Right";*/
|
||||
/* kb-move-char-back: "Left,Control+b";*/
|
||||
/* kb-move-char-forward: "Right,Control+f";*/
|
||||
/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/
|
||||
/* kb-remove-word-forward: "Control+Alt+d";*/
|
||||
/* kb-remove-char-forward: "Delete,Control+d";*/
|
||||
/* kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";*/
|
||||
/* kb-remove-to-eol: "Control+k";*/
|
||||
/* kb-remove-to-sol: "Control+u";*/
|
||||
/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/
|
||||
/* kb-accept-custom: "Control+Return";*/
|
||||
/* kb-accept-custom-alt: "Control+Shift+Return";*/
|
||||
/* kb-accept-alt: "Shift+Return";*/
|
||||
/* kb-delete-entry: "Shift+Delete";*/
|
||||
/* kb-mode-next: "Shift+Right,Control+Tab";*/
|
||||
/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/
|
||||
/* kb-mode-complete: "Control+l";*/
|
||||
/* kb-row-left: "Control+Page_Up";*/
|
||||
/* kb-row-right: "Control+Page_Down";*/
|
||||
/* kb-row-up: "Up,Control+p";*/
|
||||
/* kb-row-down: "Down,Control+n";*/
|
||||
/* kb-row-tab: "";*/
|
||||
/* kb-element-next: "Tab";*/
|
||||
/* kb-element-prev: "ISO_Left_Tab";*/
|
||||
/* kb-page-prev: "Page_Up";*/
|
||||
/* kb-page-next: "Page_Down";*/
|
||||
/* kb-row-first: "Home,KP_Home";*/
|
||||
/* kb-row-last: "End,KP_End";*/
|
||||
/* kb-row-select: "Control+space";*/
|
||||
/* kb-screenshot: "Alt+S";*/
|
||||
/* kb-ellipsize: "Alt+period";*/
|
||||
/* kb-toggle-case-sensitivity: "grave,dead_grave";*/
|
||||
/* kb-toggle-sort: "Alt+grave";*/
|
||||
/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/
|
||||
/* kb-custom-1: "Alt+1";*/
|
||||
/* kb-custom-2: "Alt+2";*/
|
||||
/* kb-custom-3: "Alt+3";*/
|
||||
/* kb-custom-4: "Alt+4";*/
|
||||
/* kb-custom-5: "Alt+5";*/
|
||||
/* kb-custom-6: "Alt+6";*/
|
||||
/* kb-custom-7: "Alt+7";*/
|
||||
/* kb-custom-8: "Alt+8";*/
|
||||
/* kb-custom-9: "Alt+9";*/
|
||||
/* kb-custom-10: "Alt+0";*/
|
||||
/* kb-custom-11: "Alt+exclam";*/
|
||||
/* kb-custom-12: "Alt+at";*/
|
||||
/* kb-custom-13: "Alt+numbersign";*/
|
||||
/* kb-custom-14: "Alt+dollar";*/
|
||||
/* kb-custom-15: "Alt+percent";*/
|
||||
/* kb-custom-16: "Alt+dead_circumflex";*/
|
||||
/* kb-custom-17: "Alt+ampersand";*/
|
||||
/* kb-custom-18: "Alt+asterisk";*/
|
||||
/* kb-custom-19: "Alt+parenleft";*/
|
||||
/* kb-select-1: "Super+1";*/
|
||||
/* kb-select-2: "Super+2";*/
|
||||
/* kb-select-3: "Super+3";*/
|
||||
/* kb-select-4: "Super+4";*/
|
||||
/* kb-select-5: "Super+5";*/
|
||||
/* kb-select-6: "Super+6";*/
|
||||
/* kb-select-7: "Super+7";*/
|
||||
/* kb-select-8: "Super+8";*/
|
||||
/* kb-select-9: "Super+9";*/
|
||||
/* kb-select-10: "Super+0";*/
|
||||
/* ml-row-left: "ScrollLeft";*/
|
||||
/* ml-row-right: "ScrollRight";*/
|
||||
/* ml-row-up: "ScrollUp";*/
|
||||
/* ml-row-down: "ScrollDown";*/
|
||||
/* me-select-entry: "MousePrimary";*/
|
||||
/* me-accept-entry: "MouseDPrimary";*/
|
||||
/* me-accept-custom: "Control+MouseDPrimary";*/
|
||||
timeout {
|
||||
action: "kb-cancel";
|
||||
delay: 0;
|
||||
}
|
||||
filebrowser {
|
||||
directories-first: true;
|
||||
sorting-method: "name";
|
||||
}
|
||||
}
|
||||
|
||||
@theme "base16-nord"
|
|
@ -0,0 +1,34 @@
|
|||
.cfg
|
||||
.cache
|
||||
.steam
|
||||
.var
|
||||
.pki
|
||||
.ghc
|
||||
.stack
|
||||
.trash
|
||||
.nix-defexpr
|
||||
.nix-profile
|
||||
.factorio
|
||||
.googleearth
|
||||
.luarocks
|
||||
.minecraft
|
||||
.shared-ringdb
|
||||
.local/share
|
||||
.local/bin
|
||||
.local/state
|
||||
.local/README.md
|
||||
.local/LICENSE
|
||||
.local/TODO
|
||||
.profile
|
||||
.inputrc
|
||||
.gtkrc-2.0
|
||||
.xinitrc
|
||||
.zprofile
|
||||
.Xauthority
|
||||
.Xdefaults
|
||||
.gpupg
|
||||
.ICEauthority
|
||||
.steampath
|
||||
.steampid
|
||||
.pulse-cookie
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
.config/chromium
|
||||
.config/com.liberty.jaxx
|
||||
.local/wallets
|
|
@ -0,0 +1,79 @@
|
|||
sfeedpath="$HOME/.local/share/sfeed/feeds"
|
||||
|
||||
! [ -f "$SFEED_URL_FILE" ] && echo "Creating sfeed url file." && mkdir -p "$(echo $SFEED_URL_FILE | sed 's/\/[a-z]*$//g')" && touch "$SFEED_URL_FILE"
|
||||
|
||||
#override fetch command to fix some feeds not downloading
|
||||
fetch() {
|
||||
# fail on redirects, hide User-Agent, timeout is 15 seconds.
|
||||
curl -L --max-redirs 5 -H "User-Agent:" -f -s -m 15 \
|
||||
"$2" 2>/dev/null
|
||||
}
|
||||
|
||||
# list of feeds to fetch:
|
||||
feeds() {
|
||||
# feed <name> <feedurl> [basesiteurl] [encoding]
|
||||
# sfeedpath
|
||||
# get youtube Atom feed: curl -s -L 'https://www.youtube.com/user/gocoding/videos' | sfeed_web | cut -f 1
|
||||
#
|
||||
|
||||
#NEWS
|
||||
#feed "Breaking911" "https://breaking911.com/feed"
|
||||
feed "Revolver News" "https://www.revolver.news/feed/"
|
||||
|
||||
#Tech
|
||||
feed "NEWS Phoronix" "https://www.phoronix.com/rss.php"
|
||||
feed "TheHackerNews" "https://feeds.feedburner.com/TheHackersNews"
|
||||
feed "Arch Linux News" "https://archlinux.org/feeds/news/"
|
||||
feed "Suckless" "http://suckless.org/atom.xml"
|
||||
feed "Codemadness" "https://www.codemadness.nl/atom.xml"
|
||||
|
||||
#Linux Distros
|
||||
#feed "LibreELEC" "https://libreelec.tv/feed/"
|
||||
#feed "Artix Linux" "https://artixlinux.org/feed.php"
|
||||
feed "Alpine Linux" "https://www.alpinelinux.org/atom.xml"
|
||||
|
||||
#Youtube
|
||||
#feed "VIDS YT HydeWars" "https://www.youtube.com/feeds/videos.xml?channel_id=UCfUaZ8Ra7m7BqUEACv2jySw"
|
||||
#feed "VIDS YT MilleniaThinker" "https://www.youtube.com/feeds/videos.xml?channel_id=UC3TUCGI-7rSjvHsE4ONXRww"
|
||||
#feed "VIDS YT MentalOutlaw" "https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA"
|
||||
#feed "VIDS YT The Bioneer" "https://www.youtube.com/feeds/videos.xml?channel_id=UCIh_TPYPqjJuS_-nOfAIlfg"
|
||||
#Bitchute
|
||||
feed "VIDS BIT Paul Joseph Watson" "https://www.bitchute.com/feeds/rss/channel/pauljosephwatson/"
|
||||
feed "VIDS BIT Liberum Arbitrium" "https://www.bitchute.com/feeds/rss/channel/liberum-arbitrium/"
|
||||
#feed "VIDS BIT Keith Woods" "https://www.bitchute.com/feeds/rss/channel/keithwoods/"
|
||||
feed "VIDS BIT PaxTube" "https://www.bitchute.com/feeds/rss/channel/paxtube/"
|
||||
#feed "VIDS BIT MisterMetokur" "https://www.bitchute.com/feeds/rss/channel/mistermetokur/"
|
||||
|
||||
#Anime
|
||||
#feed "VIDS YT RetroCrush" "https://www.youtube.com/feeds/videos.xml?channel_id=UCPZkYpT5XIUou8sV8zk-3jQ"
|
||||
feed "VIDS YT DemolitionD" "https://www.youtube.com/feeds/videos.xml?channel_id=UCcAvljdM2NMdMYq_pvT9pBw"
|
||||
feed "VIDS YT Merryweather Comics" "https://www.youtube.com/feeds/videos.xml?channel_id=UCvCtIO1it51jSkZGibS9R3w"
|
||||
#feed "VIDS YT Super Eyepatch Wolf" "https://www.youtube.com/feeds/videos.xml?channel_id=UCtGoikgbxP4F3rgI9PldI9g"
|
||||
#feed "VIDS YT Pikamee" "https://www.youtube.com/feeds/videos.xml?channel_id=UCajhBT4nMrg3DLS-bLL2RCg"
|
||||
#feed "VIDS YT ChoobiePatootie" "https://www.youtube.com/feeds/videos.xml?channel_id=UCESCrvsa2H5hNMmBbgkAWdQ"
|
||||
|
||||
#Podcasts
|
||||
#feed "POD The Dick Show" "https://thedickshow.com/feed/podcast/rss"
|
||||
feed "POD Not Related" "https://notrelated.xyz/rss"
|
||||
|
||||
#Baisudo
|
||||
feed "Luke Smith Vids" "https://videos.lukesmith.xyz/feeds/videos.xml?accountId=3"
|
||||
feed "Luke Smith" "https://lukesmith.xyz/rss.xml"
|
||||
feed "Stonetoss" "https://stonetoss.com/index.php/comic/feed/"
|
||||
#feed "VIDS YT John Doyle" "https://www.youtube.com/feeds/videos.xml?channel_id=UCzZpgppwC_XQMe8lFiI77-Q"
|
||||
#feed "VIDS YT The New Pill" "https://www.youtube.com/feeds/videos.xml?channel_id=UCiUkcNS6W0n8QdosuZASduQ"
|
||||
|
||||
#Boogaloo
|
||||
#feed "VIDS YT Booligan Shooting Sports" "https://www.youtube.com/feeds/videos.xml?channel_id=UCzcWHu-x6oWOHxwZTfhrXug"
|
||||
feed "CtrlPew" "https://ctrlpew.com/feed"
|
||||
#feed "VIDS YT Bushradical" "https://www.youtube.com/feeds/videos.xml?channel_id=UCo698VL13Dip93yh0f4Rc5Q"
|
||||
|
||||
#Crypto
|
||||
#feed "Chainlink Blog" "https://blog.chain.link/rss/"
|
||||
feed "GetMonero" "https://www.getmonero.org/feed.xml"
|
||||
|
||||
#Misc
|
||||
#feed "VIDS YT Primitive Technology" "https://www.youtube.com/feeds/videos.xml?channel_id=UCAL3JXZSzSm8AlZyD3nQdBA"
|
||||
|
||||
feed "based.cooking" "https://based.cooking/index.xml"
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
#!/bin/sh
|
||||
|
||||
#remove things from $HOME
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
export XDG_CONFIG_DIRS="$HOME/.config"
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
export XDG_CACHE_HOME="$HOME/.cache"
|
||||
export XDG_DOCUMENTS_DIR="$HOME/docs"
|
||||
export XDG_DOWNLOAD_DIR="$HOME/dl"
|
||||
export XDG_MUSIC_DIR="$HOME/media/audio/music"
|
||||
export XDG_PICTURES_DIR="$HOME/media/img"
|
||||
export XDG_VIDEOS_DIR="$HOME/media/video"
|
||||
export HISTFILE="$XDG_DATA_HOME"/bash/history
|
||||
#XDG_DESKTOP_DIR="$HOME/Desktop"
|
||||
#XDG_PUBLICSHARE_DIR="$HOME/Public"
|
||||
#XDG_TEMPLATES_DIR="$HOME/Templates"
|
||||
|
||||
export NOTMUCH_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/notmuch-config"
|
||||
export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0"
|
||||
export WGETRC="${XDG_CONFIG_HOME:-$HOME/.config}/wget/wgetrc"
|
||||
export INPUTRC="${XDG_CONFIG_HOME:-$HOME/.config}/inputrc"
|
||||
#export ALSA_CONFIG_PATH="$XDG_CONFIG_HOME/alsa/asoundrc"
|
||||
export WINEPREFIX="$XDG_DATA_HOME/wineprefixes/default"
|
||||
export STACK_ROOT="$XDG_DATA_HOME"/stack
|
||||
export PASSWORD_STORE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/password-store"
|
||||
export GNUPGHOME="$XDG_DATA_HOME/gnupg"
|
||||
export CARGO_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/cargo"
|
||||
export GOPATH="${XDG_DATA_HOME:-$HOME/.local/share}/go"
|
||||
export ANSIBLE_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/ansible/ansible.cfg"
|
||||
export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
|
||||
export ANDROID_SDK_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/android"
|
||||
export MBSYNCRC="${XDG_CONFIG_HOME:-$HOME/.config}/mbsync/config"
|
||||
export ELECTRUMDIR="${XDG_DATA_HOME:-$HOME/.local/share}/electrum"
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
BEMENU_CONF="$HOME/.config/bemenu/bemenu_opts.sh"
|
||||
[ -f "$BEMENU_CONF" ] && . "$BEMENU_CONF"
|
||||
#End wayland config
|
||||
|
||||
#make librewolf use wayland
|
||||
export GDK_BACKEND=wayland
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,167 @@
|
|||
# PLEASE READ THE MAN PAGE BEFORE EDITING THIS FILE!
|
||||
# https://htmlpreview.github.io/?https://github.com/conformal/spectrwm/blob/master/spectrwm.html
|
||||
# NOTE: all rgb color values in this file are in hex! see XQueryColor for examples
|
||||
|
||||
workspace_limit = 9
|
||||
focus_mode = follow
|
||||
focus_close = last
|
||||
focus_close_wrap = 1
|
||||
focus_default = first
|
||||
spawn_position = next
|
||||
workspace_clamp = 0
|
||||
|
||||
warp_pointer = 1
|
||||
|
||||
# Window Decoration
|
||||
border_width = 1
|
||||
#color_focus = rgb:bb/c5/ff
|
||||
#color_focus_maximized = yellow
|
||||
#color_unfocus = rgb:88/88/88
|
||||
#color_unfocus_maximized = rgb:88/88/00
|
||||
region_padding = 6
|
||||
tile_gap = 6
|
||||
|
||||
#Colors
|
||||
color_focus = rgb:bb/c5/ff
|
||||
color_focus_maximized = yellow
|
||||
color_unfocus = rgb:88/88/88
|
||||
color_unfocus_maximized = rgb:88/88/00
|
||||
|
||||
bar_border[1] = rgb:28/2a/36
|
||||
bar_border_unfocus[1] = rgb:28/2a/36
|
||||
bar_color[1] = rgb:28/2a/36, rgb:00/80/80
|
||||
bar_color_selected[1] = rgb:00/80/80
|
||||
bar_font_color[1] = rgb:bb/c5/ff, rgb:e1/ac/ff, rgb:dd/ff/a7, rgb:ff/8b/92, rgb:ff/e5/85, rgb:89/dd/ff
|
||||
bar_font_color_selected = black
|
||||
|
||||
|
||||
# Bar Settings
|
||||
bar_action = /home/alex/.local/scripts/spectrwm-bar.sh
|
||||
bar_action_expand = 1
|
||||
bar_enabled = 1
|
||||
bar_border_width = 1
|
||||
#bar_border[1] = rgb:28/2a/36
|
||||
#bar_border_unfocus[1] = rgb:28/2a/36
|
||||
#bar_color[1] = rgb:28/2a/36, rgb:00/80/80
|
||||
#bar_color_selected[1] = rgb:00/80/80
|
||||
bar_delay = 5
|
||||
#bar_font_color[1] = rgb:bb/c5/ff, rgb:e1/ac/ff, rgb:dd/ff/a7, rgb:ff/8b/92, rgb:ff/e5/85, rgb:89/dd/ff
|
||||
#bar_font_color_selected = black
|
||||
bar_font = mono:size=10, symbola:size=10
|
||||
bar_justify = center
|
||||
bar_format = +|L+1<+N:+I +S +F +W +|R+A+1<+@fg=5; %a %b %d [%R]
|
||||
|
||||
workspace_indicator = listcurrent,listactive,markcurrent,printnames
|
||||
bar_at_bottom = 0
|
||||
stack_enabled = 1
|
||||
clock_enabled = 1
|
||||
clock_format = %a %b %d %R %Z %Y
|
||||
iconic_enabled = 0
|
||||
maximize_hide_bar = 0
|
||||
window_class_enabled = 1
|
||||
window_instance_enabled = 1
|
||||
window_name_enabled = 1
|
||||
verbose_layout = 1
|
||||
urgent_enabled = 1
|
||||
urgent_collapse = 0
|
||||
|
||||
|
||||
# PROGRAMS
|
||||
|
||||
# Validated default programs:
|
||||
program[lock] = slock
|
||||
program[term] = alacritty
|
||||
program[menu] = dmenu_run -nb $bar_color -nf $bar_font_color -sb $bar_border -sf $bar_color_selected -fn "mono:size=9"
|
||||
program[search] = dmenu -nb $bar_color -nf $bar_font_color -sb $bar_border -sf $bar_color_selected -fn "mono:size=9"
|
||||
# program[name_workspace] = dmenu $dmenu_bottom -p Workspace -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_color_selected -sf $bar_font_color_selected
|
||||
|
||||
# To disable validation of the above, free the respective binding(s):
|
||||
# bind[] = MOD+Shift+Delete # disable lock
|
||||
# bind[] = MOD+Shift+Return # disable term
|
||||
# bind[] = MOD+p # disable menu
|
||||
|
||||
# Optional default programs that will only be validated if you override:
|
||||
# program[screenshot_all] = screenshot.sh full # optional
|
||||
# program[screenshot_wind] = screenshot.sh window # optional
|
||||
# program[initscr] = initscreen.sh # optional
|
||||
|
||||
# EXAMPLE: Define 'firefox' action and bind to key.
|
||||
# program[firefox] = firefox http://spectrwm.org/
|
||||
# bind[firefox] = MOD+Shift+b
|
||||
|
||||
# QUIRKS
|
||||
# Default quirks, remove with: quirk[class:name] = NONE
|
||||
# quirk[MPlayer:xv] = FLOAT + FULLSCREEN + FOCUSPREV
|
||||
# quirk[OpenOffice.org 2.4:VCLSalFrame] = FLOAT
|
||||
# quirk[OpenOffice.org 3.0:VCLSalFrame] = FLOAT
|
||||
# quirk[OpenOffice.org 3.1:VCLSalFrame] = FLOAT
|
||||
# quirk[Firefox-bin:firefox-bin] = TRANSSZ
|
||||
# quirk[Firefox:Dialog] = FLOAT
|
||||
# quirk[Gimp:gimp] = FLOAT + ANYWHERE
|
||||
# quirk[XTerm:xterm] = XTERM_FONTADJ
|
||||
# quirk[xine:Xine Window] = FLOAT + ANYWHERE
|
||||
# quirk[Xitk:Xitk Combo] = FLOAT + ANYWHERE
|
||||
# quirk[xine:xine Panel] = FLOAT + ANYWHERE
|
||||
# quirk[Xitk:Xine Window] = FLOAT + ANYWHERE
|
||||
# quirk[xine:xine Video Fullscreen Window] = FULLSCREEN + FLOAT
|
||||
# quirk[pcb:pcb] = FLOAT
|
||||
|
||||
|
||||
|
||||
# Region containment
|
||||
# Distance window must be dragged/resized beyond the region edge before it is
|
||||
# allowed outside the region.
|
||||
# boundary_width = 50
|
||||
|
||||
# Remove window border when bar is disabled and there is only one window in workspace
|
||||
# disable_border = 1
|
||||
|
||||
# Dialog box size ratio when using TRANSSZ quirk; 0.3 < dialog_ratio <= 1.0
|
||||
# dialog_ratio = 0.6
|
||||
|
||||
# Split a non-RandR dual head setup into one region per monitor
|
||||
# (non-standard driver-based multihead is not seen by spectrwm)
|
||||
# region = screen[1]:1280x1024+0+0
|
||||
# region = screen[1]:1280x1024+1280+0
|
||||
|
||||
# Launch applications in a workspace of choice
|
||||
# autorun = ws[1]:xterm
|
||||
# autorun = ws[2]:xombrero http://www.openbsd.org
|
||||
|
||||
autorun = ws[1]:sxhkd
|
||||
autorun = ws[1]:dunst
|
||||
autorun = ws[1]:picom
|
||||
autorun = ws[1]:redshift
|
||||
autorun = ws[1]:mpd
|
||||
autorun = ws[1]:wp-load.sh
|
||||
autorun = ws[1]:devmon
|
||||
autorun = ws[1]:xautolock -time 30 -locker slock
|
||||
|
||||
autorun = ws[1]:pipewire
|
||||
autorun = ws[1]:pipewire-pulse
|
||||
autorun = ws[1]:pipewire-media-session
|
||||
|
||||
|
||||
# Customize workspace layout at start
|
||||
# layout = ws[1]:4:0:0:0:vertical
|
||||
# layout = ws[2]:0:0:0:0:horizontal
|
||||
# layout = ws[3]:0:0:0:0:fullscreen
|
||||
# layout = ws[4]:4:0:0:0:vertical_flip
|
||||
# layout = ws[5]:0:0:0:0:horizontal_flip
|
||||
|
||||
# Set workspace name at start
|
||||
# name = ws[1]:IRC
|
||||
# name = ws[2]:Email
|
||||
# name = ws[3]:Browse
|
||||
# name = ws[10]:Music
|
||||
|
||||
# Mod key, (Windows key is Mod4) (Apple key on OSX is Mod2)
|
||||
modkey = Mod1
|
||||
|
||||
# This allows you to include pre-defined key bindings for your keyboard layout.
|
||||
keyboard_mapping = ~/.config/spectrwm/spectrwm_us.conf
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,123 @@
|
|||
# Key bindings for United States (us) keyboards
|
||||
# unbind with: bind[] = <keys>
|
||||
bind[bar_toggle] = MOD+b
|
||||
bind[bar_toggle_ws] = MOD+Shift+b
|
||||
bind[button2] = MOD+v
|
||||
bind[cycle_layout] = MOD+space
|
||||
bind[flip_layout] = MOD+Shift+backslash
|
||||
bind[float_toggle] = MOD+t
|
||||
bind[focus_main] = MOD+m
|
||||
bind[focus_next] = MOD+j
|
||||
bind[focus_next] = MOD+Tab
|
||||
bind[focus_prev] = MOD+k
|
||||
bind[focus_prev] = MOD+Shift+Tab
|
||||
bind[focus_urgent] = MOD+u
|
||||
bind[height_grow] = MOD+Shift+equal
|
||||
bind[height_shrink] = MOD+Shift+minus
|
||||
bind[iconify] = MOD+w
|
||||
bind[initscr] = MOD+Shift+i
|
||||
bind[lock] = MOD+Shift+Delete
|
||||
bind[master_add] = MOD+comma
|
||||
bind[master_del] = MOD+period
|
||||
bind[master_grow] = MOD+l
|
||||
bind[master_shrink] = MOD+h
|
||||
bind[maximize_toggle] = MOD+e
|
||||
bind[menu] = MOD+p
|
||||
bind[move_down] = MOD+Shift+bracketright
|
||||
bind[move_left] = MOD+bracketleft
|
||||
bind[move_right] = MOD+bracketright
|
||||
bind[move_up] = MOD+Shift+bracketleft
|
||||
bind[mvrg_1] = MOD+Shift+KP_End
|
||||
bind[mvrg_2] = MOD+Shift+KP_Down
|
||||
bind[mvrg_3] = MOD+Shift+KP_Next
|
||||
bind[mvrg_4] = MOD+Shift+KP_Left
|
||||
bind[mvrg_5] = MOD+Shift+KP_Begin
|
||||
bind[mvrg_6] = MOD+Shift+KP_Right
|
||||
bind[mvrg_7] = MOD+Shift+KP_Home
|
||||
bind[mvrg_8] = MOD+Shift+KP_Up
|
||||
bind[mvrg_9] = MOD+Shift+KP_Prior
|
||||
bind[mvws_1] = MOD+Shift+1
|
||||
bind[mvws_2] = MOD+Shift+2
|
||||
bind[mvws_3] = MOD+Shift+3
|
||||
bind[mvws_4] = MOD+Shift+4
|
||||
bind[mvws_5] = MOD+Shift+5
|
||||
bind[mvws_6] = MOD+Shift+6
|
||||
bind[mvws_7] = MOD+Shift+7
|
||||
bind[mvws_8] = MOD+Shift+8
|
||||
bind[mvws_9] = MOD+Shift+9
|
||||
bind[mvws_10] = MOD+Shift+0
|
||||
bind[mvws_11] = MOD+Shift+F1
|
||||
bind[mvws_12] = MOD+Shift+F2
|
||||
bind[mvws_13] = MOD+Shift+F3
|
||||
bind[mvws_14] = MOD+Shift+F4
|
||||
bind[mvws_15] = MOD+Shift+F5
|
||||
bind[mvws_16] = MOD+Shift+F6
|
||||
bind[mvws_17] = MOD+Shift+F7
|
||||
bind[mvws_18] = MOD+Shift+F8
|
||||
bind[mvws_19] = MOD+Shift+F9
|
||||
bind[mvws_20] = MOD+Shift+F10
|
||||
bind[mvws_21] = MOD+Shift+F11
|
||||
bind[mvws_22] = MOD+Shift+F12
|
||||
bind[name_workspace] = MOD+Shift+slash
|
||||
bind[quit] = MOD+Shift+q
|
||||
bind[raise_toggle] = MOD+Shift+r
|
||||
bind[restart] = MOD+q
|
||||
bind[rg_1] = MOD+KP_End
|
||||
bind[rg_2] = MOD+KP_Down
|
||||
bind[rg_3] = MOD+KP_Next
|
||||
bind[rg_4] = MOD+KP_Left
|
||||
bind[rg_5] = MOD+KP_Begin
|
||||
bind[rg_6] = MOD+KP_Right
|
||||
bind[rg_7] = MOD+KP_Home
|
||||
bind[rg_8] = MOD+KP_Up
|
||||
bind[rg_9] = MOD+KP_Prior
|
||||
bind[rg_next] = MOD+Shift+Right
|
||||
bind[rg_prev] = MOD+Shift+Left
|
||||
bind[screenshot_all] = MOD+s
|
||||
bind[screenshot_wind] = MOD+Shift+s
|
||||
bind[search_win] = MOD+f
|
||||
bind[search_workspace] = MOD+slash
|
||||
bind[stack_dec] = MOD+Shift+period
|
||||
bind[stack_inc] = MOD+Shift+comma
|
||||
bind[stack_reset] = MOD+Shift+space
|
||||
bind[swap_main] = MOD+Return
|
||||
bind[swap_next] = MOD+Shift+j
|
||||
bind[swap_prev] = MOD+Shift+k
|
||||
bind[term] = MOD+Shift+Return
|
||||
bind[uniconify] = MOD+Shift+w
|
||||
bind[version] = MOD+Shift+v
|
||||
bind[width_grow] = MOD+equal
|
||||
bind[width_shrink] = MOD+minus
|
||||
bind[wind_del] = MOD+c
|
||||
bind[wind_kill] = MOD+Shift+c
|
||||
bind[ws_1] = MOD+1
|
||||
bind[ws_2] = MOD+2
|
||||
bind[ws_3] = MOD+3
|
||||
bind[ws_4] = MOD+4
|
||||
bind[ws_5] = MOD+5
|
||||
bind[ws_6] = MOD+6
|
||||
bind[ws_7] = MOD+7
|
||||
bind[ws_8] = MOD+8
|
||||
bind[ws_9] = MOD+9
|
||||
bind[ws_10] = MOD+0
|
||||
bind[ws_11] = MOD+F1
|
||||
bind[ws_12] = MOD+F2
|
||||
bind[ws_13] = MOD+F3
|
||||
bind[ws_14] = MOD+F4
|
||||
bind[ws_15] = MOD+F5
|
||||
bind[ws_16] = MOD+F6
|
||||
bind[ws_17] = MOD+F7
|
||||
bind[ws_18] = MOD+F8
|
||||
bind[ws_19] = MOD+F9
|
||||
bind[ws_20] = MOD+F10
|
||||
bind[ws_21] = MOD+F11
|
||||
bind[ws_22] = MOD+F12
|
||||
bind[ws_next] = MOD+Right
|
||||
bind[ws_next_all] = MOD+Up
|
||||
bind[ws_next_move] = MOD+Shift+Up
|
||||
bind[ws_prev] = MOD+Left
|
||||
bind[ws_prev_all] = MOD+Down
|
||||
bind[ws_prev_move] = MOD+Shift+Down
|
||||
bind[ws_prior] = MOD+a
|
||||
|
||||
|
|
@ -0,0 +1,103 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
# CLI Straw Viewer 0.1.1 - configuration file
|
||||
|
||||
our $CONFIG = {
|
||||
api_host => "https://invidio.us",
|
||||
auto_captions => 0,
|
||||
autoplay_mode => 0,
|
||||
cache_dir => "$ENV{HOME}/.cache/straw-viewer",
|
||||
colors => 1,
|
||||
comments_order => "top",
|
||||
confirm => 0,
|
||||
convert_cmd => "ffmpeg -i *IN* *OUT*",
|
||||
convert_to => undef,
|
||||
cookie_file => undef,
|
||||
copy_caption => 0,
|
||||
custom_layout => 0,
|
||||
custom_layout_format => [
|
||||
{ align => "right", color => "bold", text => "*NO*.", width => 3 },
|
||||
{ align => "left", color => "bold blue", text => "*TITLE*", width => "55%" },
|
||||
{ align => "left", color => "yellow", text => "*AUTHOR*", width => "15%" },
|
||||
{ align => "right", color => "green", text => "*AGE_SHORT*", width => 3 },
|
||||
{ align => "right", color => "green", text => "*VIEWS_SHORT*", width => 5 },
|
||||
{ align => "right", color => "blue", text => "*TIME*", width => 8 },
|
||||
],
|
||||
dash_mp4_audio => 1,
|
||||
dash_segmented => 1,
|
||||
dash_support => 1,
|
||||
date => undef,
|
||||
debug => 0,
|
||||
download_and_play => 0,
|
||||
download_with_wget => 0,
|
||||
downloads_dir => "dl/",
|
||||
env_proxy => 1,
|
||||
fat32safe => 0,
|
||||
ffmpeg_cmd => "/bin/ffmpeg",
|
||||
fullscreen => 0,
|
||||
get_captions => 1,
|
||||
get_term_width => 1,
|
||||
hfr => 1,
|
||||
highlight_color => "bold",
|
||||
highlight_watched => 1,
|
||||
history => 0,
|
||||
history_file => "$ENV{HOME}/.config/straw-viewer/cli-history.txt",
|
||||
history_limit => 100000,
|
||||
http_proxy => undef,
|
||||
ignore_av1 => 0,
|
||||
interactive => 1,
|
||||
keep_original_video => 0,
|
||||
maxResults => 20,
|
||||
merge_into_mkv => 1,
|
||||
merge_into_mkv_args => "-loglevel warning -c:s srt -c:v copy -c:a copy -disposition:s forced",
|
||||
merge_with_captions => 1,
|
||||
order => undef,
|
||||
page => 1,
|
||||
prefer_av1 => 0,
|
||||
prefer_mp4 => 0,
|
||||
region => undef,
|
||||
remember_watched => 0,
|
||||
remove_played_file => 0,
|
||||
resolution => "best",
|
||||
results_fixed_width => 0,
|
||||
results_with_colors => 0,
|
||||
results_with_details => 0,
|
||||
show_video_info => 1,
|
||||
skip_if_exists => 1,
|
||||
skip_watched => 0,
|
||||
srt_languages => ["en", "es"],
|
||||
subscriptions_order => "relevance",
|
||||
thousand_separator => ",",
|
||||
timeout => undef,
|
||||
user_agent => undef,
|
||||
video_filename_format => "*FTITLE* - *ID*.*FORMAT*",
|
||||
video_player_selected => "mpv",
|
||||
video_players => {
|
||||
mpv => {
|
||||
arg => "--really-quiet --title=*TITLE* --no-ytdl",
|
||||
audio => "--audio-file=*AUDIO*",
|
||||
cmd => "/bin/mpv",
|
||||
fs => "--fullscreen",
|
||||
novideo => "--no-video",
|
||||
srt => "--sub-file=*SUB*",
|
||||
},
|
||||
vlc => {
|
||||
arg => "--quiet --play-and-exit --no-video-title-show --input-title-format=*TITLE*",
|
||||
audio => "--input-slave=*AUDIO*",
|
||||
cmd => "vlc",
|
||||
fs => "--fullscreen",
|
||||
novideo => "--intf=dummy --novideo",
|
||||
srt => "--sub-file=*SUB*",
|
||||
},
|
||||
},
|
||||
videoCaption => undef,
|
||||
videoDefinition => undef,
|
||||
videoDimension => undef,
|
||||
videoDuration => undef,
|
||||
videoLicense => undef,
|
||||
watched_file => "$ENV{HOME}/.config/straw-viewer/watched.txt",
|
||||
wget_cmd => "/bin/wget",
|
||||
youtube_video_url => "https://www.youtube.com/watch?v=%s",
|
||||
ytdl => 1,
|
||||
ytdl_cmd => "/bin/youtube-dl",
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
## Base16 Atlas
|
||||
# Author: Alex Lende (https://ajlende.com)
|
||||
|
||||
set $base00 #002635
|
||||
set $base01 #00384d
|
||||
set $base02 #517F8D
|
||||
set $base03 #6C8B91
|
||||
set $base04 #869696
|
||||
set $base05 #a1a19a
|
||||
set $base06 #e6e6dc
|
||||
set $base07 #fafaf8
|
||||
set $base08 #ff5a67
|
||||
set $base09 #f08e48
|
||||
set $base0A #ffcc1b
|
||||
set $base0B #7fc06e
|
||||
set $base0C #14747e
|
||||
set $base0D #5dd7b9
|
||||
set $base0E #9a70a4
|
||||
set $base0F #c43060
|
|
@ -0,0 +1,16 @@
|
|||
set $base00 #2b2b2b
|
||||
set $base01 #323232
|
||||
set $base02 #323232
|
||||
set $base03 #606366
|
||||
set $base04 #a4a3a3
|
||||
set $base05 #a9b7c6
|
||||
set $base06 #ffc66d
|
||||
set $base07 #ffffff
|
||||
set $base08 #4eade5
|
||||
set $base09 #689757
|
||||
set $base0A #bbb529
|
||||
set $base0B #6a8759
|
||||
set $base0C #629755
|
||||
set $base0D #9876aa
|
||||
set $base0E #cc7832
|
||||
set $base0F #808080
|
|
@ -0,0 +1,19 @@
|
|||
## Base16 Default Dark
|
||||
# Author: Chris Kempson (http://chriskempson.com)
|
||||
|
||||
set $base00 #181818
|
||||
set $base01 #282828
|
||||
set $base02 #383838
|
||||
set $base03 #585858
|
||||
set $base04 #b8b8b8
|
||||
set $base05 #d8d8d8
|
||||
set $base06 #e8e8e8
|
||||
set $base07 #f8f8f8
|
||||
set $base08 #ab4642
|
||||
set $base09 #dc9656
|
||||
set $base0A #f7ca88
|
||||
set $base0B #a1b56c
|
||||
set $base0C #86c1b9
|
||||
set $base0D #7cafc2
|
||||
set $base0E #ba8baf
|
||||
set $base0F #a16946
|
|
@ -0,0 +1,16 @@
|
|||
set $base00 #282936
|
||||
set $base01 #3a3c4e
|
||||
set $base02 #4d4f68
|
||||
set $base03 #626483
|
||||
set $base04 #62d6e8
|
||||
set $base05 #e9e9f4
|
||||
set $base06 #f1f2f8
|
||||
set $base07 #f7f7fb
|
||||
set $base08 #ea51b2
|
||||
set $base09 #b45bcf
|
||||
set $base0A #00f769
|
||||
set $base0B #ebff87
|
||||
set $base0C #a1efe4
|
||||
set $base0D #62d6e8
|
||||
set $base0E #b45bcf
|
||||
set $base0F #00f769
|
|
@ -0,0 +1,19 @@
|
|||
#dracula colorscheme for sway
|
||||
#based on base16 (https://github.com/rkubosz/base16-sway)
|
||||
|
||||
set $base00 #282936
|
||||
set $base01 #3a3c4e
|
||||
set $base02 #F7CA88
|
||||
set $base03 #626483
|
||||
set $base04 #62d6e8
|
||||
set $base05 #e9e9f4
|
||||
set $base06 #f1f2f8
|
||||
set $base07 #f7f7fb
|
||||
set $base08 #ea51b2
|
||||
set $base09 #b45bcf
|
||||
set $base0A #00f769
|
||||
set $base0B #ebff87
|
||||
set $base0C #a1efe4
|
||||
set $base0D #62d6e8
|
||||
set $base0E #b45bcf
|
||||
set $base0F #00f769
|
|
@ -0,0 +1,16 @@
|
|||
set $base00 #32302f
|
||||
set $base01 #3c3836
|
||||
set $base02 #504945
|
||||
set $base03 #665c54
|
||||
set $base04 #bdae93
|
||||
set $base05 #d5c4a1
|
||||
set $base06 #ebdbb2
|
||||
set $base07 #fbf1c7
|
||||
set $base08 #fb4934
|
||||
set $base09 #fe8019
|
||||
set $base0A #fabd2f
|
||||
set $base0B #b8bb26
|
||||
set $base0C #8ec07c
|
||||
set $base0D #83a598
|
||||
set $base0E #d3869b
|
||||
set $base0F #d65d0e
|
|
@ -0,0 +1,305 @@
|
|||
# Default config for sway
|
||||
#
|
||||
# Copy this to ~/.config/sway/config and edit it to your liking.
|
||||
#
|
||||
# Read `man 5 sway` for a complete reference.
|
||||
|
||||
### Variables
|
||||
#
|
||||
# Logo key. Use Mod1 for Alt.
|
||||
set $mod Mod1
|
||||
# Home row direction keys, like vim
|
||||
set $left h
|
||||
set $down j
|
||||
set $up k
|
||||
set $right l
|
||||
# Your preferred terminal emulator
|
||||
set $term alacritty
|
||||
# Your preferred application launcher
|
||||
# Note: it's recommended that you pass the final command to sway
|
||||
#set $menu bemenu-run | xargs swaymsg exec --
|
||||
set $menu rofi -show run | xargs swaymsg exec --
|
||||
|
||||
### Output configuration
|
||||
#
|
||||
# Default wallpaper
|
||||
#output * bg ~/.config/sway/backgrounds/Sway_Wallpaper_Blue_1920x1080.png fill
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
#output HDMI-A-1 resolution 1920x1080 position 1920,0
|
||||
#output HDMI-A-1 bg ~/.config/wall fill
|
||||
#output DP-1 resolution 1920x1080 position 0,0
|
||||
#output DP-1 bg ~/.config/wall fill
|
||||
output * bg ~/.config/wall fill
|
||||
output VGA-1 disable
|
||||
|
||||
|
||||
#
|
||||
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||
|
||||
### Idle configuration
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
exec swayidle -w \
|
||||
timeout 900 'swaylock -f -c 000000' \
|
||||
timeout 1200 'swaymsg "output * dpms off"' \
|
||||
resume 'swaymsg "output * dpms on"' \
|
||||
before-sleep 'swaylock -f -c 000000'
|
||||
#
|
||||
# This will lock your screen after 300 seconds of inactivity, then turn off
|
||||
# your displays after another 300 seconds, and turn your screens back on when
|
||||
# resumed. It will also lock your screen before your computer goes to sleep.
|
||||
|
||||
#set transparency
|
||||
set $opacity 0.9
|
||||
#for_window [class=".*"] opacity 1.0
|
||||
#for_window [app_id=".*"] opacity 1.0
|
||||
|
||||
#for_window [class='alacritty'] opacity $opacity
|
||||
#for_window [class="bash"] opacity $opacity
|
||||
#for_window [app_id="alacritty"] opacity $opacity
|
||||
|
||||
font pango:mononoki Nerd Font Regular 10
|
||||
|
||||
### Input configuration
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# input "2:14:SynPS/2_Synaptics_TouchPad" {
|
||||
# dwt enabled
|
||||
# tap enabled
|
||||
# natural_scroll enabled
|
||||
# middle_emulation enabled
|
||||
# }
|
||||
#
|
||||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
|
||||
xwayland enable
|
||||
|
||||
### Key bindings
|
||||
#
|
||||
# Basics:
|
||||
#
|
||||
# Start a terminal
|
||||
bindsym $mod+Return exec $term
|
||||
|
||||
# Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# Start your launcher
|
||||
bindsym $mod+d exec $menu
|
||||
|
||||
# Drag floating windows by holding down $mod and left mouse button.
|
||||
# Resize them with right mouse button + $mod.
|
||||
# Despite the name, also works for non-floating windows.
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
|
||||
# Reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
# Exit sway (logs you out of your Wayland session)
|
||||
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'exec "$HOME"/.local/init/init.sh -c'
|
||||
#
|
||||
# Moving around:
|
||||
#
|
||||
# Move your focus around
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$down focus down
|
||||
bindsym $mod+$up focus up
|
||||
bindsym $mod+$right focus right
|
||||
# Or use $mod+[up|down|left|right]
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# Move the focused window with the same, but add Shift
|
||||
bindsym $mod+Shift+$left move left
|
||||
bindsym $mod+Shift+$down move down
|
||||
bindsym $mod+Shift+$up move up
|
||||
bindsym $mod+Shift+$right move right
|
||||
# Ditto, with arrow keys
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
#
|
||||
# Workspaces:
|
||||
#
|
||||
# Switch to workspace
|
||||
bindsym $mod+1 workspace 1
|
||||
bindsym $mod+2 workspace 2
|
||||
bindsym $mod+3 workspace 3
|
||||
bindsym $mod+4 workspace 4
|
||||
bindsym $mod+5 workspace 5
|
||||
bindsym $mod+6 workspace 6
|
||||
bindsym $mod+7 workspace 7
|
||||
bindsym $mod+8 workspace 8
|
||||
bindsym $mod+9 workspace 9
|
||||
bindsym $mod+0 workspace 10
|
||||
# Move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace 1
|
||||
bindsym $mod+Shift+2 move container to workspace 2
|
||||
bindsym $mod+Shift+3 move container to workspace 3
|
||||
bindsym $mod+Shift+4 move container to workspace 4
|
||||
bindsym $mod+Shift+5 move container to workspace 5
|
||||
bindsym $mod+Shift+6 move container to workspace 6
|
||||
bindsym $mod+Shift+7 move container to workspace 7
|
||||
bindsym $mod+Shift+8 move container to workspace 8
|
||||
bindsym $mod+Shift+9 move container to workspace 9
|
||||
bindsym $mod+Shift+0 move container to workspace 10
|
||||
# Note: workspaces can have any name you want, not just numbers.
|
||||
# We just use 1-10 as the default.
|
||||
#
|
||||
# Layout stuff:
|
||||
#
|
||||
# You can "split" the current object of your focus with
|
||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||
# respectively.
|
||||
bindsym $mod+b splith
|
||||
bindsym $mod+v splitv
|
||||
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# Toggle the current focus between tiling and floating mode
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# Swap focus between the tiling area and the floating area
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# Move focus to the parent container
|
||||
bindsym $mod+a focus parent
|
||||
#
|
||||
# Scratchpad:
|
||||
#
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
|
||||
# Move the currently focused window to the scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym $mod+minus scratchpad show
|
||||
#
|
||||
# Resizing containers:
|
||||
#
|
||||
mode "resize" {
|
||||
# left will shrink the containers width
|
||||
# right will grow the containers width
|
||||
# up will shrink the containers height
|
||||
# down will grow the containers height
|
||||
bindsym $left resize shrink width 10px
|
||||
bindsym $down resize grow height 10px
|
||||
bindsym $up resize shrink height 10px
|
||||
bindsym $right resize grow width 10px
|
||||
|
||||
# Ditto, with arrow keys
|
||||
bindsym Left resize shrink width 10px
|
||||
bindsym Down resize grow height 10px
|
||||
bindsym Up resize shrink height 10px
|
||||
bindsym Right resize grow width 10px
|
||||
|
||||
# Return to default mode
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
#custom keybinds
|
||||
bindsym XF86AudioRaiseVolume exec vol.sh -i 0.02
|
||||
bindsym XF86AudioLowerVolume exec vol.sh -d 0.02
|
||||
bindsym XF86AudioMute exec vol.sh --toggle-mute
|
||||
bindsym $mod+p exec fixscr.sh --menu
|
||||
bindsym $mod+o exec browser.sh
|
||||
bindsym $mod+shift+s exec ss.sh -s
|
||||
bindsym ctrl+alt+delete exec waylogout
|
||||
|
||||
|
||||
|
||||
#include ~/.config/sway/colors/base16-atlas
|
||||
#include ~/.local/src/base16-sway/themes/base16-gruvbox-dark-medium.config
|
||||
#include ~/.local/src/base16-sway/themes/base16-atlas.config
|
||||
#include ~/.local/src/base16-sway/themes/base16-gruvbox-dark-hard.config
|
||||
include ~/.local/src/base16-sway/themes/base16-nord.config
|
||||
|
||||
|
||||
#
|
||||
# Status Bar:
|
||||
#
|
||||
# Read `man 5 sway-bar` for more information about this section.
|
||||
bar {
|
||||
position top
|
||||
|
||||
# When the status_command prints a new line to stdout, swaybar updates.
|
||||
# The default just shows the current date and time.
|
||||
#status_command while date +'%Y-%m-%d %l:%M:%S %p'; do sleep 1; done
|
||||
status_command sh $HOME/.local/scripts/sway-bar.sh -l
|
||||
|
||||
colors {
|
||||
background $base00
|
||||
separator $base01
|
||||
statusline $base04
|
||||
|
||||
# State Border BG Text
|
||||
focused_workspace $base05 $base0D $base00
|
||||
active_workspace $base05 $base03 $base00
|
||||
inactive_workspace $base03 $base01 $base05
|
||||
urgent_workspace $base08 $base08 $base00
|
||||
binding_mode $base00 $base0A $base00
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Basic color configuration using the Base16 variables for windows and borders.
|
||||
# Property Name Border BG Text Indicator Child Border
|
||||
client.focused $base05 $base0D $base00 $base0D $base0D
|
||||
client.focused_inactive $base01 $base01 $base05 $base03 $base01
|
||||
client.unfocused $base01 $base00 $base05 $base01 $base01
|
||||
client.urgent $base08 $base08 $base00 $base08 $base08
|
||||
client.placeholder $base00 $base00 $base05 $base00 $base00
|
||||
client.background $base07
|
||||
|
||||
#GTK theme
|
||||
set $gnome_schema "org.gnome.desktop.interface"
|
||||
exec_always {
|
||||
gsettings set $gnome_schema gtk-theme 'Nordic-standard-buttons'
|
||||
gsettings set $gnome_schema icon-theme 'ePapirus-Dark'
|
||||
gsettings set $gnome_schema cursor-theme 'Adwaita'
|
||||
gsettings set $gnome_schema font-name 'Noto Sans'
|
||||
}
|
||||
|
||||
|
||||
#gaps
|
||||
gaps inner 10
|
||||
gaps outer 10
|
||||
|
||||
#border
|
||||
default_border pixel 2
|
||||
|
||||
#set windows to float by default
|
||||
for_window [class="Matplotlib"] floating enable
|
||||
|
||||
#input config
|
||||
input type:pointer accel_profile flat
|
||||
input type:pointer pointer_accel -0.5
|
||||
seat seat0 xcursor_theme Adwaita 10
|
||||
|
||||
include /etc/sway/config.d/*
|
||||
|
||||
exec ~/.local/init/init.sh -i ~/.local/init/startup
|
||||
|
||||
#do any computer specific setup here, monitor configs, etc.
|
||||
exec_always ~/.init.sh
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
font=mono
|
||||
color=3B4252
|
||||
inside-color=2E3440
|
||||
inside-caps-lock-color=88c0d0
|
||||
inside-ver-color=88c0d0
|
||||
inside-wrong-color=BF616A
|
||||
ring-color=A3BE8C
|
||||
ring-caps-lock-color=5E81AC
|
||||
key-hl-color=E5E9F0
|
||||
bs-hl-color=D08770
|
|
@ -0,0 +1,33 @@
|
|||
XF86AudioRaiseVolume
|
||||
pulsemixer --change-volume +1 && pkill sleep -P "$(cat ~/.cache/statusbar_pid )"
|
||||
#amixer sset Master 1%+ && pkill sleep -P "$(cat ~/.cache/statusbar_pid )"
|
||||
|
||||
XF86AudioLowerVolume
|
||||
pulsemixer --change-volume -1 && pkill sleep -P "$(cat ~/.cache/statusbar_pid )"
|
||||
#amixer sset Master 1%- && pkill sleep -P "$(cat ~/.cache/statusbar_pid )"
|
||||
|
||||
XF86AudioMute
|
||||
pulsemixer --toggle-mute && pkill sleep -P "$(cat ~/.cache/statusbar_pid )"
|
||||
#amixer sset Master toggle && pkill sleep -P "$(cat ~/.cache/statusbar_pid )"
|
||||
|
||||
super + c
|
||||
sh ~/.local/scripts/toggle-comp.sh
|
||||
|
||||
super + o
|
||||
browser.sh "$(xclip -o | cut -d '%' -f 1-)"
|
||||
|
||||
super + m
|
||||
st -e neomutt
|
||||
super + shift + m
|
||||
st -e mbsync -a
|
||||
|
||||
super + s
|
||||
scrot -s
|
||||
|
||||
super + k
|
||||
xkill
|
||||
|
||||
super + shift + x
|
||||
sudo poweroff
|
||||
super + + shift + r
|
||||
sudo reboot
|
|
@ -0,0 +1,122 @@
|
|||
#. sxhkdrc
|
||||
|
||||
# wm independent hotkeys
|
||||
#
|
||||
|
||||
# terminal emulator
|
||||
super + Return
|
||||
st
|
||||
|
||||
# program launcher
|
||||
super + @space
|
||||
dmenu_run
|
||||
|
||||
# make sxhkd reload its configuration files:
|
||||
super + Escape
|
||||
pkill -USR1 -x sxhkd
|
||||
|
||||
#
|
||||
# bspwm hotkeys
|
||||
#
|
||||
|
||||
# quit/restart bspwm
|
||||
super + alt + {q,r}
|
||||
bspc {quit,wm -r}
|
||||
|
||||
# close and kill
|
||||
super + {_,shift + }w
|
||||
bspc node -{c,k}
|
||||
|
||||
# alternate between the tiled and monocle layout
|
||||
super + m
|
||||
bspc desktop -l next
|
||||
|
||||
# send the newest marked node to the newest preselected node
|
||||
super + y
|
||||
bspc node newest.marked.local -n newest.!automatic.local
|
||||
|
||||
# swap the current node and the biggest node
|
||||
super + g
|
||||
bspc node -s biggest
|
||||
|
||||
#
|
||||
# state/flags
|
||||
#
|
||||
|
||||
# set the window state
|
||||
super + {t,shift + t,s,f}
|
||||
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
|
||||
|
||||
# set the node flags
|
||||
super + ctrl + {m,x,y,z}
|
||||
bspc node -g {marked,locked,sticky,private}
|
||||
|
||||
#
|
||||
# focus/swap
|
||||
#
|
||||
|
||||
# focus the node in the given direction
|
||||
super + {_,shift + }{h,j,k,l}
|
||||
bspc node -{f,s} {west,south,north,east}
|
||||
|
||||
# focus the node for the given path jump
|
||||
super + {p,b,comma,period}
|
||||
bspc node -f @{parent,brother,first,second}
|
||||
|
||||
# focus the next/previous node in the current desktop
|
||||
super + {_,shift + }c
|
||||
bspc node -f {next,prev}.local
|
||||
|
||||
# focus the next/previous desktop in the current monitor
|
||||
super + bracket{left,right}
|
||||
bspc desktop -f {prev,next}.local
|
||||
|
||||
# focus the last node/desktop
|
||||
super + {grave,Tab}
|
||||
bspc {node,desktop} -f last
|
||||
|
||||
# focus the older or newer node in the focus history
|
||||
super + {o,i}
|
||||
bspc wm -h off; \
|
||||
bspc node {older,newer} -f; \
|
||||
bspc wm -h on
|
||||
|
||||
# focus or send to the given desktop
|
||||
super + {_,shift + }{1-9,0}
|
||||
bspc {desktop -f,node -d} '^{1-9,10}'
|
||||
|
||||
#
|
||||
# preselect
|
||||
#
|
||||
|
||||
# preselect the direction
|
||||
super + ctrl + {h,j,k,l}
|
||||
bspc node -p {west,south,north,east}
|
||||
|
||||
# preselect the ratio
|
||||
super + ctrl + {1-9}
|
||||
bspc node -o 0.{1-9}
|
||||
|
||||
# cancel the preselection for the focused node
|
||||
super + ctrl + space
|
||||
bspc node -p cancel
|
||||
|
||||
# cancel the preselection for the focused desktop
|
||||
super + ctrl + shift + space
|
||||
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||
|
||||
#
|
||||
# move/resize
|
||||
#
|
||||
|
||||
# expand a window by moving one of its side outward
|
||||
super + alt + {h,j,k,l}
|
||||
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
|
||||
|
||||
# contract a window by moving one of its side inward
|
||||
super + alt + shift + {h,j,k,l}
|
||||
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
|
||||
|
||||
# move a floating window
|
||||
super + {Left,Down,Up,Right}
|
||||
bspc node -v {-20 0,0 20,0 -20,20 0}
|
|
@ -0,0 +1,15 @@
|
|||
# This file is written by xdg-user-dirs-update
|
||||
# If you want to change or add directories, just edit the line you're
|
||||
# interested in. All local changes will be retained on the next run.
|
||||
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
|
||||
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
|
||||
# absolute path. No other format is supported.
|
||||
#
|
||||
XDG_DESKTOP_DIR="$HOME/.local/share/desktop"
|
||||
XDG_DOWNLOAD_DIR="$HOME/dl"
|
||||
XDG_DOCUMENTS_DIR="$HOME/docs"
|
||||
XDG_MUSIC_DIR="$HOME/"
|
||||
XDG_PICTURES_DIR="$HOME/media/img"
|
||||
XDG_VIDEOS_DIR="$HOME/"
|
||||
XDG_TEMPLATES_DIR="$HOME/"
|
||||
XDG_PUBLICSHARE_DIR="$HOME/"
|
|
@ -0,0 +1,166 @@
|
|||
{
|
||||
// "layer": "top", // Waybar at top layer
|
||||
// "position": "bottom", // Waybar position (top|bottom|left|right)
|
||||
"height": 24, // Waybar height (to be removed for auto height)
|
||||
// "width": 1280, // Waybar width
|
||||
// Choose the order of the modules
|
||||
"modules-left": ["river/tags", "sway/mode", "custom/media"],
|
||||
"modules-center": ["sway/window"],
|
||||
"modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"],
|
||||
// Modules configuration
|
||||
// "sway/workspaces": {
|
||||
// "disable-scroll": true,
|
||||
// "all-outputs": true,
|
||||
// "format": "{name}: {icon}",
|
||||
// "format-icons": {
|
||||
// "1": "",
|
||||
// "2": "",
|
||||
// "3": "",
|
||||
// "4": "",
|
||||
// "5": "",
|
||||
// "urgent": "",
|
||||
// "focused": "",
|
||||
// "default": ""
|
||||
// }
|
||||
// },
|
||||
|
||||
"custom/dwlbar": {
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"max-length": 200,
|
||||
"exec": "$HOME/.config/waybar/dwlbar 'HDMI-A-1'",
|
||||
"escape": true
|
||||
}
|
||||
|
||||
"keyboard-state": {
|
||||
"numlock": true,
|
||||
"capslock": true,
|
||||
"format": "{name} {icon}",
|
||||
"format-icons": {
|
||||
"locked": "",
|
||||
"unlocked": ""
|
||||
}
|
||||
},
|
||||
"sway/mode": {
|
||||
"format": "<span style=\"italic\">{}</span>"
|
||||
},
|
||||
"mpd": {
|
||||
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
|
||||
"format-disconnected": "Disconnected ",
|
||||
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
|
||||
"unknown-tag": "N/A",
|
||||
"interval": 2,
|
||||
"consume-icons": {
|
||||
"on": " "
|
||||
},
|
||||
"random-icons": {
|
||||
"off": "<span color=\"#f53c3c\"></span> ",
|
||||
"on": " "
|
||||
},
|
||||
"repeat-icons": {
|
||||
"on": " "
|
||||
},
|
||||
"single-icons": {
|
||||
"on": "1 "
|
||||
},
|
||||
"state-icons": {
|
||||
"paused": "",
|
||||
"playing": ""
|
||||
},
|
||||
"tooltip-format": "MPD (connected)",
|
||||
"tooltip-format-disconnected": "MPD (disconnected)"
|
||||
},
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
// "icon-size": 21,
|
||||
"spacing": 10
|
||||
},
|
||||
"clock": {
|
||||
// "timezone": "America/New_York",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": "{:%Y-%m-%d}"
|
||||
},
|
||||
"cpu": {
|
||||
"format": "{usage}% ",
|
||||
"tooltip": false
|
||||
},
|
||||
"memory": {
|
||||
"format": "{}% "
|
||||
},
|
||||
"temperature": {
|
||||
// "thermal-zone": 2,
|
||||
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
|
||||
"critical-threshold": 80,
|
||||
// "format-critical": "{temperatureC}°C {icon}",
|
||||
"format": "{temperatureC}°C {icon}",
|
||||
"format-icons": ["", "", ""]
|
||||
},
|
||||
"backlight": {
|
||||
// "device": "acpi_video1",
|
||||
"format": "{percent}% {icon}",
|
||||
"format-icons": ["", ""]
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
// "good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-charging": "{capacity}% ",
|
||||
"format-plugged": "{capacity}% ",
|
||||
"format-alt": "{time} {icon}",
|
||||
// "format-good": "", // An empty format will hide the module
|
||||
// "format-full": "",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
"battery#bat2": {
|
||||
"bat": "BAT2"
|
||||
},
|
||||
"network": {
|
||||
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||
"format-wifi": "{essid} ({signalStrength}%) ",
|
||||
"format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
|
||||
"format-linked": "{ifname} (No IP) ",
|
||||
"format-disconnected": "Disconnected ⚠",
|
||||
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||
},
|
||||
"pulseaudio": {
|
||||
// "scroll-step": 1, // %, can be a float
|
||||
"format": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth-muted": " {icon} {format_source}",
|
||||
"format-muted": " {format_source}",
|
||||
"format-source": "{volume}% ",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
"custom/media": {
|
||||
"format": "{icon} {}",
|
||||
"return-type": "json",
|
||||
"max-length": 40,
|
||||
"format-icons": {
|
||||
"spotify": "",
|
||||
"default": "🎜"
|
||||
},
|
||||
"escape": true,
|
||||
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
|
||||
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/sh
|
||||
|
|
@ -0,0 +1,255 @@
|
|||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
font-family: Roboto, Helvetica, Arial, sans-serif;
|
||||
font-size: 13px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: rgba(43, 48, 59, 0.5);
|
||||
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
|
||||
color: #ffffff;
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
/*
|
||||
window#waybar.empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
window#waybar.solo {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
*/
|
||||
|
||||
window#waybar.termite {
|
||||
background-color: #3F3F3F;
|
||||
}
|
||||
|
||||
window#waybar.chromium {
|
||||
background-color: #000000;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
background-color: transparent;
|
||||
color: #ffffff;
|
||||
/* Use box-shadow instead of border so the text isn't offset */
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
}
|
||||
|
||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||
#workspaces button:hover {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
box-shadow: inset 0 -3px #ffffff;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
background-color: #64727D;
|
||||
box-shadow: inset 0 -3px #ffffff;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background-color: #64727D;
|
||||
border-bottom: 3px solid #ffffff;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#battery,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#temperature,
|
||||
#backlight,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#custom-media,
|
||||
#tray,
|
||||
#mode,
|
||||
#idle_inhibitor,
|
||||
#mpd {
|
||||
padding: 0 10px;
|
||||
margin: 0 4px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#window,
|
||||
#workspaces {
|
||||
margin: 0 4px;
|
||||
}
|
||||
|
||||
/* If workspaces is the leftmost module, omit left margin */
|
||||
.modules-left > widget:first-child > #workspaces {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* If workspaces is the rightmost module, omit right margin */
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#clock {
|
||||
background-color: #64727D;
|
||||
}
|
||||
|
||||
#battery {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#battery.charging, #battery.plugged {
|
||||
color: #ffffff;
|
||||
background-color: #26A65B;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #f53c3c;
|
||||
color: #ffffff;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
background-color: #2ecc71;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#memory {
|
||||
background-color: #9b59b6;
|
||||
}
|
||||
|
||||
#disk {
|
||||
background-color: #964B00;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
background-color: #90b1b1;
|
||||
}
|
||||
|
||||
#network {
|
||||
background-color: #2980b9;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
background-color: #f53c3c;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
background-color: #f1c40f;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
background-color: #90b1b1;
|
||||
color: #2a5c45;
|
||||
}
|
||||
|
||||
#custom-media {
|
||||
background-color: #66cc99;
|
||||
color: #2a5c45;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
#custom-media.custom-spotify {
|
||||
background-color: #66cc99;
|
||||
}
|
||||
|
||||
#custom-media.custom-vlc {
|
||||
background-color: #ffa000;
|
||||
}
|
||||
|
||||
#temperature {
|
||||
background-color: #f0932b;
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#tray {
|
||||
background-color: #2980b9;
|
||||
}
|
||||
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
background-color: #2d3436;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated {
|
||||
background-color: #ecf0f1;
|
||||
color: #2d3436;
|
||||
}
|
||||
|
||||
#mpd {
|
||||
background-color: #66cc99;
|
||||
color: #2a5c45;
|
||||
}
|
||||
|
||||
#mpd.disconnected {
|
||||
background-color: #f53c3c;
|
||||
}
|
||||
|
||||
#mpd.stopped {
|
||||
background-color: #90b1b1;
|
||||
}
|
||||
|
||||
#mpd.paused {
|
||||
background-color: #51a37a;
|
||||
}
|
||||
|
||||
#language {
|
||||
background: #00b093;
|
||||
color: #740864;
|
||||
padding: 0 5px;
|
||||
margin: 0 5px;
|
||||
min-width: 16px;
|
||||
}
|
||||
|
||||
#keyboard-state {
|
||||
background: #97e1ad;
|
||||
color: #000000;
|
||||
padding: 0 0px;
|
||||
margin: 0 5px;
|
||||
min-width: 16px;
|
||||
}
|
||||
|
||||
#keyboard-state > label {
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
#keyboard-state > label.locked {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
ring-color=A3BE8Caa
|
||||
inside-color=2E344066
|
||||
text-color=eaeaeaaa
|
||||
line-color=00000000
|
||||
ring-selection-color=88c0d0aa
|
||||
inside-selection-color=88c0d066
|
||||
text-selection-color=eaeaeaaa
|
||||
line-selection-color=00000000
|
||||
font=mono
|
||||
effect-blur=7x5
|
||||
indicator-thickness=20
|
||||
lock-command="exec swaylock -f"
|
||||
logout-command="exec swaymsg exit"
|
||||
suspend-command="echo suspend"
|
||||
hibernate-command="echo hibernate"
|
||||
poweroff-command="doas /sbin/poweroff"
|
||||
reboot-command="doas /sbin/reboot"
|
||||
switch-user-command="echo switch"
|
||||
hide-cancel
|
||||
screenshots
|
||||
selection-label
|
|
@ -0,0 +1 @@
|
|||
hsts-file=~/.cache/wget-hsts
|
|
@ -0,0 +1,178 @@
|
|||
bar:
|
||||
height: 26
|
||||
location: top
|
||||
background: 000000ff
|
||||
|
||||
right:
|
||||
- clock:
|
||||
content:
|
||||
- string: {text: , font: "Font Awesome 5 Free:style=solid:size=12"}
|
||||
- string: {text: "{date}", right-margin: 5}
|
||||
- string: {text: , font: "Font Awesome 5 Free:style=solid:size=12"}
|
||||
- string: {text: "{time}"}
|
||||
|
||||
left:
|
||||
- script:
|
||||
path: /home/alex/.local/scripts/dwl-tags.sh
|
||||
args: [1]
|
||||
anchors:
|
||||
- occupied: &occupied {foreground: 57bbf4ff}
|
||||
- focused: &focused {foreground: fc65b0ff}
|
||||
- default: &default {foreground: d2ccd6ff}
|
||||
content:
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_0_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_0_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_0}", <<: *focused}}
|
||||
false: {string: {text: "{tag_0}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_0_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_0}", <<: *focused}}
|
||||
false: {string: {text: "{tag_0}", <<: *default}}
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_1_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_1_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_1}", <<: *focused}}
|
||||
false: {string: {text: "{tag_1}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_1_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_1}", <<: *focused}}
|
||||
false: {string: {text: "{tag_1}", <<: *default}}
|
||||
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_2_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_2_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_2}", <<: *focused}}
|
||||
false: {string: {text: "{tag_2}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_2_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_2}", <<: *focused}}
|
||||
false: {string: {text: "{tag_2}", <<: *default}}
|
||||
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_3_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_3_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_3}", <<: *focused}}
|
||||
false: {string: {text: "{tag_3}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_3_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_3}", <<: *focused}}
|
||||
false: {string: {text: "{tag_3}", <<: *default}}
|
||||
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_4_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_4_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_4}", <<: *focused}}
|
||||
false: {string: {text: "{tag_4}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_4_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_4}", <<: *focused}}
|
||||
false: {string: {text: "{tag_4}", <<: *default}}
|
||||
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_5_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_5_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_5}", <<: *focused}}
|
||||
false: {string: {text: "{tag_5}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_5_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_5}", <<: *focused}}
|
||||
false: {string: {text: "{tag_5}", <<: *default}}
|
||||
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_6_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_6_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_6}", <<: *focused}}
|
||||
false: {string: {text: "{tag_6}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_6_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_6}", <<: *focused}}
|
||||
false: {string: {text: "{tag_6}", <<: *default}}
|
||||
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_7_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_7_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_7}", <<: *focused}}
|
||||
false: {string: {text: "{tag_7}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_7_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_7}", <<: *focused}}
|
||||
false: {string: {text: "{tag_7}", <<: *default}}
|
||||
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_8_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_8_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_8}", <<: *focused}}
|
||||
false: {string: {text: "{tag_8}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_8_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_8}", <<: *focused}}
|
||||
false: {string: {text: "{tag_8}", <<: *default}}
|
||||
- list:
|
||||
spacing: 3
|
||||
items:
|
||||
- string: {text: "{layout}"}
|
||||
- string: {text: "{title}"}
|
|
@ -0,0 +1,175 @@
|
|||
bar:
|
||||
height: 40
|
||||
location: top
|
||||
font: mono:pixelsize=10
|
||||
spacing: 2
|
||||
margin: 0
|
||||
layer: bottom
|
||||
foreground: eeeeeeff
|
||||
background: 2E3440dd
|
||||
right:
|
||||
- script:
|
||||
path: /home/alex/.local/scripts/dwl-tags.sh
|
||||
args: [1]
|
||||
anchors:
|
||||
- occupied: &occupied {foreground: 57bbf4ff}
|
||||
- focused: &focused {foreground: fc65b0ff}
|
||||
- default: &default {foreground: d2ccd6ff}
|
||||
content:
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_0_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_0_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_0}", <<: *focused}}
|
||||
false: {string: {text: "{tag_0}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_0_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_0}", <<: *focused}}
|
||||
false: {string: {text: "{tag_0}", <<: *default}}
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_1_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_1_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_1}", <<: *focused}}
|
||||
false: {string: {text: "{tag_1}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_1_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_1}", <<: *focused}}
|
||||
false: {string: {text: "{tag_1}", <<: *default}}
|
||||
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_2_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_2_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_2}", <<: *focused}}
|
||||
false: {string: {text: "{tag_2}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_2_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_2}", <<: *focused}}
|
||||
false: {string: {text: "{tag_2}", <<: *default}}
|
||||
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_3_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_3_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_3}", <<: *focused}}
|
||||
false: {string: {text: "{tag_3}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_3_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_3}", <<: *focused}}
|
||||
false: {string: {text: "{tag_3}", <<: *default}}
|
||||
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_4_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_4_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_4}", <<: *focused}}
|
||||
false: {string: {text: "{tag_4}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_4_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_4}", <<: *focused}}
|
||||
false: {string: {text: "{tag_4}", <<: *default}}
|
||||
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_5_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_5_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_5}", <<: *focused}}
|
||||
false: {string: {text: "{tag_5}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_5_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_5}", <<: *focused}}
|
||||
false: {string: {text: "{tag_5}", <<: *default}}
|
||||
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_6_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_6_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_6}", <<: *focused}}
|
||||
false: {string: {text: "{tag_6}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_6_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_6}", <<: *focused}}
|
||||
false: {string: {text: "{tag_6}", <<: *default}}
|
||||
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_7_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_7_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_7}", <<: *focused}}
|
||||
false: {string: {text: "{tag_7}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_7_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_7}", <<: *focused}}
|
||||
false: {string: {text: "{tag_7}", <<: *default}}
|
||||
|
||||
- map:
|
||||
margin: 4
|
||||
tag: tag_8_occupied
|
||||
values:
|
||||
true:
|
||||
map:
|
||||
tag: tag_8_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_8}", <<: *focused}}
|
||||
false: {string: {text: "{tag_8}", <<: *occupied}}
|
||||
false:
|
||||
map:
|
||||
tag: tag_8_focused
|
||||
values:
|
||||
true: {string: {text: "{tag_8}", <<: *focused}}
|
||||
false: {string: {text: "{tag_8}", <<: *default}}
|
||||
- list:
|
||||
spacing: 3
|
||||
items:
|
||||
- string: {text: "{layout}"}
|
||||
- string: {text: "{title}"}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
set statusbar-h-padding 50
|
||||
set statusbar-v-padding 0
|
||||
set page-padding 10
|
||||
|
||||
map i recolor
|
||||
|
||||
#KEYBINDINGS
|
||||
#map <A-a> shortcut_function
|
||||
#map <C-a> shortcut_function
|
||||
# A - Alt
|
||||
# C - Control
|
||||
# S - Shift
|
||||
#map <A--> zoom out
|
||||
#map <A-=> zoom in
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
# Luke's config for the Zoomer Shell
|
||||
|
||||
# Enable colors and change prompt:
|
||||
autoload -U colors && colors
|
||||
|
||||
#PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b "
|
||||
PS1="%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~% %{$fg[yellow]%} -> "
|
||||
# History in cache directory:
|
||||
HISTSIZE=10000
|
||||
SAVEHIST=10000
|
||||
HISTFILE=~/.cache/zsh/history
|
||||
|
||||
# Basic auto/tab complete:
|
||||
autoload -U compinit
|
||||
zstyle ':completion:*' menu select
|
||||
zmodload zsh/complist
|
||||
compinit
|
||||
_comp_options+=(globdots) # Include hidden files.
|
||||
|
||||
# vi mode
|
||||
bindkey -v
|
||||
export KEYTIMEOUT=1
|
||||
|
||||
# Use vim keys in tab complete menu:
|
||||
bindkey -M menuselect 'h' vi-backward-char
|
||||
bindkey -M menuselect 'k' vi-up-line-or-history
|
||||
bindkey -M menuselect 'l' vi-forward-char
|
||||
bindkey -M menuselect 'j' vi-down-line-or-history
|
||||
bindkey -v '^?' backward-delete-char
|
||||
|
||||
# Change cursor shape for different vi modes.
|
||||
function zle-keymap-select {
|
||||
if [[ ${KEYMAP} == vicmd ]] ||
|
||||
[[ $1 = 'block' ]]; then
|
||||
echo -ne '\e[1 q'
|
||||
elif [[ ${KEYMAP} == main ]] ||
|
||||
[[ ${KEYMAP} == viins ]] ||
|
||||
[[ ${KEYMAP} = '' ]] ||
|
||||
[[ $1 = 'beam' ]]; then
|
||||
echo -ne '\e[5 q'
|
||||
fi
|
||||
}
|
||||
zle -N zle-keymap-select
|
||||
zle-line-init() {
|
||||
zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere)
|
||||
echo -ne "\e[5 q"
|
||||
}
|
||||
zle -N zle-line-init
|
||||
echo -ne '\e[5 q' # Use beam shape cursor on startup.
|
||||
preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt.
|
||||
|
||||
# Use lf to switch directories and bind it to ctrl-o
|
||||
lfcd () {
|
||||
tmp="$(mktemp)"
|
||||
lf -last-dir-path="$tmp" "$@"
|
||||
if [ -f "$tmp" ]; then
|
||||
dir="$(cat "$tmp")"
|
||||
rm -f "$tmp"
|
||||
[ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir"
|
||||
fi
|
||||
}
|
||||
bindkey -s '^o' 'lfcd\n'
|
||||
|
||||
# Edit line in vim with ctrl-e:
|
||||
autoload edit-command-line; zle -N edit-command-line
|
||||
bindkey '^e' edit-command-line
|
||||
|
||||
# Load aliases and shortcuts if existent.
|
||||
[ -f "$HOME/.config/shortcutrc" ] && source "$HOME/.config/shortcutrc"
|
||||
[ -f "$HOME/.config/aliasrc" ] && source "$HOME/.config/aliasrc"
|
||||
|
||||
#my additions
|
||||
unsetopt nomatch
|
||||
|
||||
|
||||
#source haskell file if it exists
|
||||
[ -f "$HOME/.ghcup/env" ] && source "$HOME/.ghcup/env"
|
||||
|
||||
if ! [ -f $HOME/.local/share/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ]; then
|
||||
mkdir -p $HOME/.local/share/zsh/
|
||||
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $HOME/.local/share/zsh/zsh-syntax-highlighting
|
||||
fi
|
||||
|
||||
# prompt stuff
|
||||
pfetch
|
||||
|
||||
#if [ -f "/usr/bin/starship" ]; then
|
||||
# eval "$(starship init zsh)"
|
||||
#fi
|
||||
|
||||
# Load zsh-syntax-highlighting; should be last.
|
||||
source $HOME/.local/share/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 2>/dev/null
|
|
@ -0,0 +1,23 @@
|
|||
.local/share/
|
||||
media/
|
||||
docs/
|
||||
dl/
|
||||
.cache/
|
||||
.mozilla/
|
||||
.trash/
|
||||
.dbus/
|
||||
.pki/
|
||||
devel/
|
||||
go/
|
||||
.cfg/
|
||||
.config/surf/
|
||||
.config/transmission-daemon/
|
||||
.config/pulse/
|
||||
.steam/
|
||||
.steampath
|
||||
.steampid
|
||||
.xinitrc
|
||||
.zprofile
|
||||
.config/color
|
||||
.config/color.bak
|
||||
.config/wall
|
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2019 Alex Hubbard
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
|
@ -0,0 +1,157 @@
|
|||
# My Dotfiles
|
||||
|
||||
This repo contains my config files for the programs I use in my linux setup,
|
||||
as well as any scripts I write for those programs.
|
||||
|
||||
Installers are located in ~/.local/installers/ to automate installation.
|
||||
Currently available for Void Linux and Artix Linux.
|
||||
in the future.
|
||||
|
||||
## Overview
|
||||
|
||||
### Applications used
|
||||
|
||||
- Window Manager - dwm
|
||||
- Terminal Emulator - st
|
||||
- App Launcher - dmenu
|
||||
- File Browser - lf
|
||||
|
||||
## Installation
|
||||
|
||||
Install git
|
||||
|
||||
and then clone this repo
|
||||
|
||||
`$ cd ~`
|
||||
|
||||
`$ git clone --bare https://gitlab.com/ahub/dotfiles.git $HOME/.cfg`
|
||||
|
||||
ensure the config alias is defined
|
||||
|
||||
`alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'`
|
||||
|
||||
then checkout contents of bare repository to populate your home directory.
|
||||
|
||||
`config checkout`
|
||||
|
||||
for more info read [this article](https://www.atlassian.com/git/tutorials/dotfiles)
|
||||
|
||||
|
||||
finally run the install script in ~/.local/installers/
|
||||
|
||||
`bash ~/.local/installers/void-install.sh`
|
||||
|
||||
## Post Install
|
||||
|
||||
### Change Mirrors for Void
|
||||
(NOTE: this is done for you in the void-install.sh script now.)
|
||||
Default mirrors for void are located in Europe. Recommend changing them to a closer location.
|
||||
A list of mirrors can be found at voidlinux.org/download at the bottom of the page.
|
||||
Follow instructions on voids documentation at docs.voidlinux.org to change to desired mirror.
|
||||
|
||||
### Mount Secondary Drives
|
||||
|
||||
Modify /etc/fstab to add any secondary drives. Example entry can be seen below. Replace UUID value with UUID of the device you wish to mount, and the \<dir> entry with the directory you wish to mount to. **Ensure the directory you are mounting to exists**. If the directory does not exist, the system will likely have issues booting.
|
||||
|
||||
To see a list of devices and their UUIDs, run: `$ blkid`. Recommend using UUID instead of device files such as /dev/sda1 because drives may not always be mounted to the same /dev/ file. For more information read [the arch wiki entry](https://wiki.archlinux.org/index.php/Fstab).
|
||||
|
||||
```
|
||||
#<device> <dir> <type> <options> <dump> <fsck>
|
||||
UUID=b7d683d4-9337-433b-8d33-1035ef7dbcdf /home/user/HDD ext4 defaults 0 2
|
||||
```
|
||||
|
||||
To mount a NAS drive at boot:
|
||||
```
|
||||
//IP_ADDRESS/storage/ /path/to/mount/dir/ cifs workgroup=WORKGROUP,users,auto,username=USERNAME,password=PASSWORD 0 0
|
||||
```
|
||||
|
||||
### Enable Apparmor
|
||||
Add `apparmor=1` and `security=apparmor` to GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub.
|
||||
|
||||
Also edit /etc/default/apparmor and add line:
|
||||
|
||||
`APPARMOR=complain` or `APPARMOR=enforce`
|
||||
|
||||
Then generate grub config:
|
||||
|
||||
`$ sudo grub-mkconfig -o /boot/grub/grub.cfg`
|
||||
|
||||
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
### wifi
|
||||
ensure you enabled the wpa_supplicant service with:
|
||||
|
||||
`$ sudo ln -s /etc/sv/wpa_supplicant /var/service`
|
||||
|
||||
if you know the name of the network you wish to connect to:
|
||||
|
||||
1. change to root user:
|
||||
`$ su`
|
||||
|
||||
2. run command:
|
||||
`$ wpa_supplicant -B -i INTERFACE -c <(wpa_passphrase SSID PASSWORD)`
|
||||
|
||||
INTERFACE = name of wifi interface, likey: wlp3s0 or wlan0
|
||||
|
||||
SSID = name of the network
|
||||
|
||||
PASSWORD = the password of the network
|
||||
|
||||
use command:
|
||||
`$ ip link show`
|
||||
|
||||
to get a list of network interfaces available
|
||||
|
||||
|
||||
3. If you can now connect to the internet then you can add this network to your config file so that your computer will automatically connect to it. to do this run:
|
||||
|
||||
`sudo sh -c 'wpa_passphrase SSID PASSWORD >> /etc/wpa_supplicant/wpa_supplicant.conf'`
|
||||
|
||||
Your wifi should now work at startup. It may take a moment to connect. this will need to be done for any wifi network you wish to connect to.
|
||||
|
||||
### st
|
||||
If you have weird issues with st such as a key writing multiple characters, backspace not working etc
|
||||
try running the following in the st directory (~/devel/repos/st/ if using the installer):
|
||||
|
||||
`$ tic -sx st.info`
|
||||
|
||||
### add locales
|
||||
uncomment locale(s) you wish to add in /etc/default/libc-locales then run:
|
||||
|
||||
`$ sudo xbps-reconfigure -f glibc-locales`
|
||||
|
||||
### set system fonts
|
||||
modify alias tags within <fontconfig> in ~/.config/fontconfig/fonts.conf
|
||||
|
||||
```
|
||||
<alias>
|
||||
<family>FONT TYPE</family> #serif, sans-serif,sans, monospace
|
||||
<prefer><family>NAME OF FONT TO SET TO</family></prefer> #NotoSerif,NotoSans, Hack, etc.
|
||||
</alias>
|
||||
```
|
||||
|
||||
### modify visudo
|
||||
To be able to use reboot, poweroff and shutdown without password(needed for sxhkd bindings to work):
|
||||
|
||||
`$ sudo visudo`
|
||||
|
||||
Add this line replacing user_name with your user name
|
||||
|
||||
`user_name ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown`
|
||||
|
||||
### fix low resolution in grub/tty
|
||||
To get list of available resolutions press c in grub then type `vbeinfo` at the prompt
|
||||
|
||||
Then add line to /etc/default/grub
|
||||
|
||||
`GRUB_GFXPAYLOAD_LINUX=1920x1080x30`
|
||||
|
||||
then generate grub config:
|
||||
|
||||
`$ sudo grub-mkconfig -o /boot/grub/grub.cfg`
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
*update README
|
||||
|
||||
*artix-install.sh
|
||||
-remove all remaining prompts
|
||||
-configure grub during install
|
||||
-create separate configuration script that is distro agnostic, expects specific set of packages
|
||||
|
||||
*fix read/write permission issue during install. Caused issues when logging in with zsh. got errors that I didn't have write permissions on .profile
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
#using this because I'm too lazy to change all the scripts that use bemenu right now
|
||||
rofi -dmenu "$@"
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
#chromium --enable-features=UseOzonePlatform --ozone-platform=wayland "$@"
|
||||
#chromium --ozone-platform-hint=auto "$@"
|
||||
brave --ozone-platform-hint=auto "$@"
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
#chromium --enable-features=UseOzonePlatform --ozone-platform=wayland "$@"
|
||||
chromium --ozone-platform-hint=auto "$@"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue