Added (non-working) layoutmenu patch, ipc and dwmc, updated configs

This commit is contained in:
Alexis Jhon Gaspar 2023-09-24 19:32:23 +08:00
parent 25a8aa8bfd
commit 899a8b0791
19 changed files with 2488 additions and 32 deletions

View file

@ -78,6 +78,8 @@ Linux/Unix users:
- feh (optional)
- pywal (for colors/wallpaper)
- slop (for riodraw)
- libmpdclient(-devel or -dev) for mpdclient
- yajl for ipc
Termux users:
- xorg

3
config/README.md Normal file
View file

@ -0,0 +1,3 @@
# Dotfiles
Random dotfiles designed for suckless-utils.

1465
config/bashrc Normal file

File diff suppressed because it is too large Load diff

1
config/config/dunst/dunstrc Symbolic link
View file

@ -0,0 +1 @@
/home/lucss21a/.cache/wal/dunstrc

99
config/config/picom.conf Normal file
View file

@ -0,0 +1,99 @@
### Shadow }
shadow = true;
shadow-radius = 12;
shadow-opacity = 0.75;
shadow-offset-x = -12;
shadow-offset-y = -12;
shadow-color = "#000000";
shadow-exclude = [
"class_g = 'dwmsystray'",
"class_g = 'Tint2'",
];
### Shadow }
### Fading }
fading = true;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-delta = 3;
no-fading-openclose = false;
no-fading-destroyed-argb = true;
### Fading }
### Opacity }
inactive-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = false;
active-opacity = 1;
inactive-dim = 0.0;
focus-exclude = [
"class_g ?= 'dmenu'",
];
### Opacity }
### Blurring }
blur: {
method = "dual_kawase";
strength = 2.75;
deviation = 2.0;
kernel = "11x11gaussian";
}
blur-background = false;
blur-background-frame = true;
blur-background-fixed = true;
blur-background-exclude = [
"class_g = 'dwmsystray'",
"window_type = 'dock'",
"class_g ~= 'slop'",
"class_i ~= 'slop'",
"name ~= 'slop'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c",
];
### Blurring }
### General Settings }
backend = "glx";
daemon = false;
vsync = true;
dbus = false;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-client-opacity = true;
refresh-rate = 0;
unredir-if-possible = true;
unredir-if-possible-delay = 0
detect-transient = true;
detect-client-leader = true;
resize-damage = 1;
glx-no-stencil = true;
use-damage = true;
transparent-clipping = false;
log-level = "warn";
log-file = "~/.cache/picom.log";
show-all-xerrors = true;
wintypes: {
tooltip = { fade = true; shadow = true; focus = false; };
normal = { shadow = true; };
dock = { shadow = true; };
dnd = { shadow = true; };
popup_menu = { shadow = true; focus = false; opacity = 0.90; };
dropdown_menu = { shadow = true; focus = false; };
above = { shadow = true; };
splash = { shadow = true; };
utility = { focus = false; shadow = true; blur-background = true; };
notification = { shadow = true; };
desktop = { shadow = true; blur-background = true; };
menu = { focus = false; };
dialog = { shadow = true; };
};
### General Settings }

View file

@ -0,0 +1,9 @@
# screenshot-spmenu config file
RUNLAUNCHER="spmenu" # Run launcher to use
SHOW_CURSOR="true" # Show cursor or not (true/false)
DEFAULT_SCREENSHOT_DIRECTORY="/home/lucss21a/Screenshots" # Default screenshot path
PREFIX="screenshot-" # Screenshot prefix
FORMAT="+%T_%D" # Screenshot format
PREVIEW_IMAGE=true
IMAGE_SIZE="500"
CACHE_IMAGE="false"

View file

@ -0,0 +1,154 @@
# spmenu_run default configuration file
#
# This is the configuration file for the run launcher spmenu comes with.
# It is not the configuration file for spmenu, see ~/.config/spmenu/spmenu.conf for that.
#
# spmenu_run also runs these functions if found in the config file:
#
# 'run_pre_func' before spawning spmenu.
# 'run_post_func' after spawning spmenu, selected item passed as an argument.
# 'run_pre_bookmark_list_func' while listing selected/marked items. The selected item is passed as an argument.
# 'run_post_bookmark_list_func' while listing selected/marked items. The selected item is passed as an argument.
# 'run_file_bookmark_list_func' while reading entries from the bookmark file. The current bookmark is passed as an argument.
# 'run_single_char_pre_bookmark_list_func' while listing selected/marked items. The first character of the spmenu output is passed as an argument.
# 'run_single_char_func' while checking the value of a single character. The first character of the spmenu output is passed as an argument.
# 'run_output_func' while checking the value of the spmenu output. spmenu output is passed as an argument.
# 'desktop_pre_func' before spawning spmenu.
# 'desktop_post_func' after spawning spmenu, selected item passed as an argument.
# 'desktop_pre_caching_func' before caching entries.
# 'desktop_post_caching_func' after caching entries.
# 'desktop_file_caching_func' while caching entries. The current file that is being parsed is passed as an argument.
# 'fm_pre_func' before spawning spmenu.
# 'fm_post_func' after spawning spmenu, selected item passed as an argument.
# 'fm_pre_list_func' right before listing out files.
# 'fm_post_list_func' right after listing out files.
# 'fm_line_func' for each line in ls output, the line is passed as an argument, including SGR colors.
# 'read_man' when reading a man page, selected item passed as an argument.
# 'print_array' when printing out .desktop entries
#
# You may create those functions below.
#
# For example, to implement a basic history file:
#
# run_post_func() {
# rm -f /tmp/spmenu_entryhist; printf "$1\n" >> /tmp/spmenu_entryhist
# }
#
# You can use anything POSIX compliant shells and Bash support, as well as programs available on the system.
# Miscellanious software options
TERMINAL="${TERMINAL:-st -e}" # Terminal commands are spawned in
BROWSER="${BROWSER:-xdg-open}" # Web browser, for URLs
TORRENT="${TORRENT:-qbittorrent}" # Torrent client, for magnet links
PDF_READER="${PDF_READER:-zathura}" # PDF reader, for file management
EDITOR="${EDITOR:-nvim}" # Editor, used to open documents
PLAYER="${PLAYER:-mpv}" # Player, used to play audio/video
GENERIC="${GENERIC:-$TERMINAL -e $EDITOR}" # Generic, used to open unknown files
WEB_GREP="http:|https:|www[.]" # Needs to be in grep -E syntax
MAGNET_GREP="magnet:?" # Needs to be in grep -E syntax
HISTORY="${XDG_CACHE_HOME:-$HOME/.cache/}/spmenu/spmenu_run.hist" # History file, spmenu (meaning your user) must have permission to read and write to it.
DISPLAY_BOOKMARKS="true" # Display bookmarks in regular list (true/false)
BOOKMARK_FILE="${BOOKMARK_FILE:-${XDG_CACHE_HOME:-$HOME/.cache/}/spmenu/spmenu_run.bookmarks}" # Bookmark file, spmenu_run must have permission to read and write to it.
BOOKMARK_PROMPT="Bookmarks" # Bookmark prompt (-p)
# Run launcher argument options
RUNLAUNCHER="${RUNLAUNCHER:-spmenu}" # Run launcher to use
RUNLAUNCHER_RUN_ARGS="" # Extra arguments passed to $RUNLAUNCHER when using the run launcher
RUNLAUNCHER_BM_ARGS="" # Extra arguments passed to $RUNLAUNCHER when using the bookmark menu
RUNLAUNCHER_DESKTOP_ARGS="" # Extra rguments passed to $RUNLAUNCHER when using the .desktop launcher
RUNLAUNCHER_FM_ARGS="" # Extra arguments passed to $RUNLAUNCHER when using the file manager
RUNLAUNCHER_HELP_ARGS="" # Extra arguments passed to $RUNLAUNCHER when using the help
DMENU_COMPAT="false" # Enable dmenu compatibility (true/false)
# Pretext
RUNLAUNCHER_RUN_PRETEXT="Type in keywords to search for a program.." # Text to display when no input text
RUNLAUNCHER_BM_PRETEXT="Type in keywords to search for a bookmark.." # Text to display when no input text
RUNLAUNCHER_DESKTOP_PRETEXT="Type in keywords to search for a program.." # Text to display when no input text
RUNLAUNCHER_FM_PRETEXT="Type in keywords to search for a file or directory.." # Text to display when no input text
RUNLAUNCHER_HELP_PRETEXT="" # Text to display when no input text
# Sorting
SORT_BY_NUMBER="false" # Sort by numbers
SORT_IN_REVERSE="false" # Sort in reverse
SORT_BY_RECENT="false" # Sort by recent
SORT_ARGS="" # Extra arguments passed to the sort command.
# Keywords
HIDDEN_KEYWORDS="spmenu" # Keywords that will be ignored, needs to be in grep -vE syntax.
KEYWORDS="" # Keywords that will be matched, needs to be in grep -E syntax.
# Miscellanious
STDOUT="false" # Print to stdout and exit (true/false)
DISPLAY_DUPLICATES="false" # Display duplicates or not
DEFAULT_FEATURE="" # spmenu_run default feature (run/fm/desktop/help)
HELP_COLOR="#FFFF00"
# .desktop entry options
DESKTOP_DIR="/usr/share/applications /usr/local/share/applications /home/lucss21a/.local/share/applications /var/lib/flatpak/exports/share/applications /home/lucss21a/.local/share/flatpak/exports/share/applications" # Directories for .desktop entries
ICON_DIR="/usr/share/icons /usr/local/share/icons /home/lucss21a/.local/share/icons /usr/share/pixmaps /usr/local/share/pixmaps /var/lib/flatpak/exports/share/icons" # Directories for icons defined in the entries
HIDDEN_ENTRY_KEYWORDS="$HIDDEN_KEYWORDS" # Keywords that will be ignored, needs to be in grep -vE syntax.
ENTRY_KEYWORDS="$KEYWORDS" # Keywords that will be matched, needs to be in grep -E syntax.
AUTOREFRESH="true" # Refresh (clear) cache if there are more entries available than cached. May cause cache to be cleared every time in some cases. (true/false)
MULTISELECT="true" # Allow handling multiple items, if set to false only the first line/selected item will be used.
IMAGE="true" # Display images (true/false)
DISPLAY_COMMENT="true" # Display comment (true/false)
DISPLAY_DESCRIPTION="false" # Display description (true/false)"
DESCRIPTION_COLOR="#999888" # Description text color
DESCRIPTION_SEPARATOR=" - " # Separator between title and description
COMMENT_COLOR="#999888" # Comment text color
COMMENT_SEPARATOR=" - " # Separator between title and comment
RESPECT_NODISPLAY="true" # Respect NoDisplay in .desktop entries. If set to true, entries with 'NoDisplay=true' will not be displayed (true/false)
RESPECT_ONLYSHOWIN="true" # Respect OnlyShowIn in .desktop entries. If set to true, entries wth 'OnlyShowIn' assigned will not be displayed (true/false)
PREFERRED_LANGUAGE="generic" # Preferred language for the title and description. "generic" means the default for that .desktop entry (true/false)
LOGFILE="/tmp/spmenu_run.log" # Log file
PRINT_LOGS_STDERR="true" # Print information (such as logs) to stderr (true/false)
TITLEFILE="${XDG_CACHE_HOME:-$HOME/.cache}/spmenu/.desktop_title" # File containing the different titles to display.
DESCFILE="${XDG_CACHE_HOME:-$HOME/.cache}/spmenu/.desktop_desc" # File containing the description to display
EXECFILE="${XDG_CACHE_HOME:-$HOME/.cache}/spmenu/.desktop_exec" # File containing the different executables to run.
ICONFILE="${XDG_CACHE_HOME:-$HOME/.cache}/spmenu/.desktop_icon" # File containing the paths to the icons to display.
FILEFILE="${XDG_CACHE_HOME:-$HOME/.cache}/spmenu/.desktop_file" # File containing the path to the .desktop entries.
TERMFILE="${XDG_CACHE_HOME:-$HOME/.cache}/spmenu/.desktop_term" # File containing the path to the terminal data
ONLYFILE="${XDG_CACHE_HOME:-$HOME/.cache}/spmenu/.desktop_only" # File containing the path to the OnlyShowIn data
DISPLAYFILE="${XDG_CACHE_HOME:-$HOME/.cache}/spmenu/.desktop_display" # File containing the path to the NoDisplay data
COMMENTFILE="${XDG_CACHE_HOME:-$HOME/.cache}/spmenu/.desktop_comment" # File containing the comment to display
# File management
DEFAULT_DIRECTORY="$(pwd)" # Directory to start -fm if none is specified.
LS_ARGS="${LS_ARGS:- --color=always}" # Arguments passed to /bin/ls
USE_FULL_PATH="true" # Return full path (true/false)
# Function to read the man page in spmenu
read_man() {
man "$1" | \
col -b | \
${RUNLAUNCHER:-spmenu} --lines 40 --columns 1 -p "man $1"
}
# Function used to print out the .desktop entries
print_array() {
for i in "${!it_title[@]}"; do
[ "$RESPECT_ONLYSHOWIN" != "false" ] && [ "${it_only[i]}" != "false" ] && continue
[ "$RESPECT_NODISPLAY" != "false" ] && [ "${it_display[i]}" != "true" ] && continue
if [ -f "${it_icon[i]}" ] && [ -n "${it_title[i]}" ] && [ -n "${it_exec[i]}" ] && [ "$IMAGE" != "false" ]; then
printf "%s\t%s" "img://${it_icon[i]}" "${it_title[i]}"
elif [ -n "${it_title[i]}" ] && [ -n "${it_exec[i]}" ]; then
printf "%s" "${it_title[i]}"
else
continue
fi
if [ -n "${it_desc[i]}" ] && [ "$DISPLAY_DESCRIPTION" = "true" ]; then
[ "$DMENU_COMPAT" != "true" ] && COL='\033[0;31m'
printf -- "$DESCRIPTION_SEPARATOR%b%s" "${COL}" "${it_desc[i]}"
fi
if [ -n "${it_comment[i]}" ] && [ "$DISPLAY_COMMENT" = "true" ]; then
[ "$DMENU_COMPAT" != "true" ] && COL='\033[0;32m'
printf -- "$COMMENT_SEPARATOR%b%s" "${COL}" "${it_comment[i]}"
fi
printf "\n"
done
}

View file

@ -134,61 +134,62 @@ spmenu = {
}
);
/* Alpha */
/* Alpha */
alpha = ( { itemnormfg = 255; // Normal item foreground alpha (0-255)
itemnormbg = 182; // Normal item background alpha (0-255)
itemnormbg = 222; // Normal item background alpha (0-255)
itemnormfg2 = 255; // Normal next item foreground alpha (0-255)
itemnormbg2 = 182; // Normal next item background alpha (0-255)
itemnormbg2 = 222; // Normal next item background alpha (0-255)
itemselfg = 255; // Selected item foreground alpha (0-255)
itemselbg = 182; // Selected item background alpha (0-255)
itemselbg = 222; // Selected item background alpha (0-255)
itemmarkedfg = 255; // Marked item foreground alpha (0-255)
itemmarkedbg = 182; // Marked item background alpha (0-255)
itemmarkedbg = 222; // Marked item background alpha (0-255)
itemnormprifg = 255; // Normal priority item foreground alpha (0-255)
itemnormpribg = 182; // Normal priority item background alpha (0-255)
itemnormpribg = 222; // Normal priority item background alpha (0-255)
itemselprifg = 255; // Selected priority item foreground alpha (0-255)
itemselpribg = 182; // Selected priority item background alpha (0-255)
itemselpribg = 222; // Selected priority item background alpha (0-255)
inputfg = 255; // Input foreground alpha (0-255)
inputbg = 182; // Input background alpha (0-255)
inputbg = 222; // Input background alpha (0-255)
pretextfg = 255; // Pretext foreground alpha (0-255)
pretextbg = 182; // Pretext background alpha (0-255)
pretextbg = 222; // Pretext background alpha (0-255)
menu = 182; // Menu alpha (0-255)
menu = 222; // Menu alpha (0-255)
promptfg = 255; // Prompt foreground alpha (0-255)
promptbg = 182; // Prompt background alpha (0-255)
promptbg = 222; // Prompt background alpha (0-255)
larrowfg = 255; // Left arrow foreground alpha (0-255)
larrowbg = 182; // Left arrow background alpha (0-255)
larrowbg = 222; // Left arrow background alpha (0-255)
rarrowfg = 255; // Right arrow foreground alpha (0-255)
rarrowbg = 182; // Right arrow background alpha (0-255)
rarrowbg = 222; // Right arrow background alpha (0-255)
hlnormfg = 255; // Normal highlight foreground alpha (0-255)
hlnormbg = 182; // Normal highlight background alpha (0-255)
hlnormbg = 222; // Normal highlight background alpha (0-255)
hlselfg = 255; // Selected highlight foreground alpha (0-255)
hlselbg = 182; // Selected highlight background alpha (0-255)
hlselbg = 222; // Selected highlight background alpha (0-255)
numfg = 255; // Match count foreground alpha (0-255)
numbg = 182; // Match count background alpha (0-255)
numbg = 222; // Match count background alpha (0-255)
border = 182; // Border alpha (0-255)
border = 255; // Border alpha (0-255)
caretfg = 255; // Caret (cursor) foreground alpha (0-255)
caretbg = 182; // Caret (cursor) background alpha (0-255)
caretbg = 222; // Caret (cursor) background alpha (0-255)
modefg = 255; // Mode indicator foreground alpha (0-255)
modebg = 182; // Mode indicator background alpha (0-255)
modebg = 222; // Mode indicator background alpha (0-255)
capsfg = 255; // Caps Lock indicator foreground alpha (0-255)
capsbg = 182; // Caps Lock indicator background alpha (0-255)
capsbg = 222; // Caps Lock indicator background alpha (0-255)
}
);

View file

@ -0,0 +1,75 @@
! X colors.
! Generated by 'wal'
*foreground: {foreground}
*background: {background}
*.foreground: {foreground}
*.background: {background}
emacs*foreground: {foreground}
emacs*background: {background}
URxvt*foreground: {foreground}
XTerm*foreground: {foreground}
UXTerm*foreground: {foreground}
URxvt*background: {background.alpha}
XTerm*background: {background}
UXTerm*background: {background}
URxvt*cursorColor: {cursor}
XTerm*cursorColor: {cursor}
UXTerm*cursorColor: {cursor}
URxvt*borderColor: {background.alpha}
! Colors 0-15.
*.color0: {color0}
*color0: {color0}
*.color1: {color1}
*color1: {color1}
*.color2: {color2}
*color2: {color2}
*.color3: {color3}
*color3: {color3}
*.color4: {color4}
*color4: {color4}
*.color5: {color5}
*color5: {color5}
*.color6: {color6}
*color6: {color6}
*.color7: {color7}
*color7: {color7}
*.color8: {color8}
*color8: {color8}
*.color9: {color9}
*color9: {color9}
*.color10: {color10}
*color10: {color10}
*.color11: {color11}
*color11: {color11}
*.color12: {color12}
*color12: {color12}
*.color13: {color13}
*color13: {color13}
*.color14: {color14}
*color14: {color14}
*.color15: {color15}
*color15: {color15}
! Black color that will not be affected by bold highlighting.
*.color66: {color0}
*color66: {color0}
! Xclock colors.
XClock*foreground: {foreground}
XClock*background: {background}
XClock*majorColor: rgba:{color15.xrgba}
XClock*minorColor: rgba:{color15.xrgba}
XClock*hourColor: rgba:{color15.xrgba}
XClock*minuteColor: rgba:{color15.xrgba}
XClock*secondColor: rgba:{color15.xrgba}
! Set depth to make transparency work.
URxvt*depth: 32
! XMenu entries
XMenu.activeBackground: {color6}
XMenu.activeForeground: {color0}
XMenu.borderColor: {color6}
XMenu.faceName: Hack Nerd Font
XMenu.faceSize: 12

View file

@ -0,0 +1,462 @@
# See dunst(5) for all configuration options
[global]
### Display ###
# Which monitor should the notifications be displayed on.
monitor = 0
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a window manager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern window managers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = none
### Geometry ###
# dynamic width from 0 to 300
# width = (0, 300)
# constant width of 300
width = 300
# The maximum height of a single notification, excluding the frame.
height = 600
# Position the notification in the top right corner
origin = top-right
# Offset from the origin
offset = 10x50
# Scale factor. It is auto-detected if value is 0.
scale = 0
# Maximum number of notification (0 means no limit)
notification_limit = 20
### Progress bar ###
# Turn on the progess bar. It appears when a progress hint is passed with
# for example dunstify -h int:value:12
progress_bar = true
# Set the progress bar height. This includes the frame, so make sure
# it's at least twice as big as the frame width.
progress_bar_height = 5
# Set the frame width of the progress bar
progress_bar_frame_width = 1
# Set the minimum width for the progress bar
progress_bar_min_width = 150
# Set the maximum width for the progress bar
progress_bar_max_width = 300
# Corner radius for the progress bar. 0 disables rounded corners.
progress_bar_corner_radius = 0
# Corner radius for the icon image.
icon_corner_radius = 0
# Show how many messages are currently hidden (because of
# notification_limit).
indicate_hidden = yes
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
transparency = 10
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
# If gap_size is greater than 0, this setting will be ignored.
separator_height = 2
# Padding between text and separator.
padding = 8
# Horizontal padding.
horizontal_padding = 8
# Padding between text and icon.
text_icon_padding = 0
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 3
# Defines color of the frame around the notification window.
frame_color = "{color1}"
# Size of gap to display between notifications - requires a compositor.
# If value is greater than 0, separator_height will be ignored and a border
# of size frame_width will be drawn around each notification instead.
# Click events on gaps do not currently propagate to applications below.
gap_size = 0
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = frame
# Sort messages by urgency.
sort = yes
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
# A client can set the 'transient' hint to bypass this. See the rules
# section for how to disable this if necessary
# idle_threshold = 120
### Text ###
font = "Hack Nerd Font 10"
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 0
# Possible values are:
# full: Allow a small subset of html markup in notifications:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <https://docs.gtk.org/Pango/pango_markup.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "<b>%a</b>\n<i>%s</i>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# Vertical alignment of message text and icon.
# Possible values are "top", "center" and "bottom".
vertical_alignment = center
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Specify where to make an ellipsis in long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Stack together notifications with the same content
stack_duplicates = true
# Hide the count of stacked notifications with the same content
hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
### Icons ###
# Recursive icon lookup. You can set a single theme, instead of having to
# define all lookup paths.
enable_recursive_icon_lookup = true
# Set icon theme (only used for recursive icon lookup)
icon_theme = "breeze-dark, Adwaita"
# You can also set multiple icon themes, with the leftmost one being used first.
# icon_theme = "Adwaita, breeze"
# Align icons left/right/top/off
icon_position = left
# Scale small icons up to this size, set to 0 to disable. Helpful
# for e.g. small files or high-dpi screens. In case of conflict,
# max_icon_size takes precedence over this.
min_icon_size = 32
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 32
# Paths to default icons (only neccesary when not using recursive icon lookup)
icon_path = /usr/share/icons/breeze-dark/16/status/:/usr/share/icons/breeze-dark/16/devices/
### History ###
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
### Misc/Advanced ###
# dmenu path.
dmenu = /usr/local/bin/spmenu -p dunst:
# Browser for opening urls in context menu.
browser = /usr/bin/xdg-open
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Define the corner radius of the notification window
# in pixel size. If the radius is 0, you have no rounded
# corners.
# The radius will be automatically lowered if it exceeds half of the
# notification height to avoid clipping text and/or icons.
corner_radius = 0
# Ignore the dbus closeNotification message.
# Useful to enforce the timeout set by dunst configuration. Without this
# parameter, an application may close the notification sent before the
# user defined timeout.
ignore_dbusclose = false
### Wayland ###
# These settings are Wayland-specific. They have no effect when using X11
# Uncomment this if you want to let notications appear under fullscreen
# applications (default: overlay)
# layer = top
# Set this to true to use X11 output on Wayland.
force_xwayland = false
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
### mouse
# Defines list of actions for each mouse event
# Possible values are:
# * none: Don't do anything.
# * do_action: Invoke the action determined by the action_name rule. If there is no
# such action, open the context menu.
# * open_url: If the notification has exactly one url, open it. If there are multiple
# ones, open the context menu.
# * close_current: Close current notification.
# * close_all: Close all notifications.
# * context: Open context menu for the notification.
# * context_all: Open context menu for all notifications.
# These values can be strung together for each mouse event, and
# will be executed in sequence.
mouse_left_click = close_current
mouse_middle_click = do_action, close_current
mouse_right_click = close_all
# Experimental features that may or may not work correctly. Do not expect them
# to have a consistent behaviour across releases.
[experimental]
# Calculate the dpi to use on a per-monitor basis.
# If this setting is enabled the Xft.dpi value will be ignored and instead
# dunst will attempt to calculate an appropriate dpi value for each monitor
# using the resolution and physical size. This might be useful in setups
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "{color0}"
foreground = "{color8}"
highlight = "{color5}"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#default_icon = /path/to/icon
[urgency_normal]
background = "{color0}"
foreground = "{color15}"
highlight = "{color5}"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#default_icon = /path/to/icon
[urgency_critical]
background = "{color13}"
foreground = "{color0}"
highlight = "{color5}"
# frame_color = "#ff0000"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#default_icon = /path/to/icon
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
#
# Messages can be matched by
# appname (discouraged, see desktop_entry)
# body
# category
# desktop_entry
# icon
# match_transient
# msg_urgency
# stack_tag
# summary
#
# and you can override the
# background
# foreground
# format
# frame_color
# fullscreen
# new_icon
# set_stack_tag
# set_transient
# set_category
# timeout
# urgency
# icon_position
# skip_display
# history_ignore
# action_name
# word_wrap
# ellipsize
# alignment
# hide_text
#
# Shell-like globbing will get expanded.
#
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
# GLib based applications export their desktop-entry name. In comparison to the appname,
# the desktop-entry won't get localized.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
# Disable the transient hint so that idle_threshold cannot be bypassed from the
# client
#[transient_disable]
# match_transient = yes
# set_transient = no
#
# Make the handling of transient notifications more strict by making them not
# be placed in history.
#[transient_history_ignore]
# match_transient = yes
# history_ignore = yes
# fullscreen values
# show: show the notifications, regardless if there is a fullscreen window opened
# delay: displays the new notification, if there is no fullscreen window active
# If the notification is already drawn, it won't get undrawn.
# pushback: same as delay, but when switching into fullscreen, the notification will get
# withdrawn from screen again and will get delayed like a new notification
#[fullscreen_delay_everything]
# fullscreen = delay
#[fullscreen_show_critical]
# msg_urgency = critical
# fullscreen = show
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# skip_display = true
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[skip-display]
# # This notification will not be displayed, but will be included in the history
# summary = "foobar"
# skip_display = yes
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
#[stack-volumes]
# appname = "some_volume_notifiers"
# set_stack_tag = "volume"
#
# vim: ft=cfg

View file

@ -0,0 +1,13 @@
# wallpaper-spmenu 0.1
# This is the default config file for wallpaper-spmenu.
# You can use any valid shell syntax here.
# See https://spmenu.speedie.site wiki for more information.
PROTOCOL="1" # Default protocol to use (0: X11, 1: Wayland w/ wlroots)
WALLPAPER_DIR="/home/lucss21a/Wallpapers" # Default wallpaper directory, can be set on runtime
COLOR="always" # Color the entries (always/never)
DEFAULT_MODE="fill" # Default mode (stretch/fit/fill/center/tile)
ASK_MODE="false" # Ask how the wallpaper should be set (true/false)
DEFAULT_FEATURE="pw" # Default feature (sw/pw)
PREVIEW_IMAGE="true" # Enable image previews (true/false)

73
config/ncmpcpp/config Normal file
View file

@ -0,0 +1,73 @@
ncmpcpp_directory = ~/.ncmpcpp
lyrics_directory = ~/.ncmpcpp/lyrics
mpd_host = localhost
mpd_port = 6600
mpd_connection_timeout = 5
mpd_music_dir = ~/Music
mpd_crossfade_time = 5
visualizer_fifo_path = /tmp/mpd.fifo
visualizer_output_name = mpd_fifo
visualizer_in_stereo = yes
visualizer_sync_interval = 30
visualizer_type = ellipse
visualizer_look = ▮●
visualizer_color = 41, 83, 119, 155, 185, 215, 209, 203, 197, 161
system_encoding = "UTF-8"
playlist_disable_highlight_delay = 5
message_delay_time = 5
song_list_format = {%a - }{%t}|{$8%f$9}$R{$3(%l)$9}
song_status_format = {{%a{ "%b"{ (%y)}} - }{%t}}|{%f}
song_library_format = {%n - }{%t}|{%f}
alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b
alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D}
now_playing_prefix = $b
now_playing_suffix = $/b
song_window_title_format = {%a - }{%t}|{%f}
browser_sort_mode = name
browser_sort_format = {%a - }{%t}|{%f} {(%l)}
song_columns_list_format = (20)[]{a} (6f)[green]{NE} (50)[white]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l}
playlist_show_mpd_host = no
playlist_show_remaining_time = yes
playlist_shorten_total_times = no
playlist_separate_albums = no
playlist_display_mode = columns
browser_display_mode = classic
search_engine_display_mode = classic
playlist_editor_display_mode = classic
incremental_seeking = yes
seek_time = 1
volume_change_step = 2
autocenter_mode = yes
centered_cursor = yes
progressbar_look = =>
default_place_to_search_in = database
user_interface = alternative
media_library_primary_tag = genre
default_find_mode = wrapped
header_visibility = yes
statusbar_visibility = yes
titles_visibility = yes
header_text_scrolling = yes
cyclic_scrolling = yes
lines_scrolled = 2
follow_now_playing_lyrics = yes
fetch_lyrics_for_current_song_in_background = yes
store_lyrics_in_song_dir = yes
allow_for_physical_item_deletion = no
screen_switcher_mode = browser, media_library, visualizer
startup_screen = playlist
startup_slave_screen = "visualizer"
startup_slave_screen_focus = no
locked_screen_width_part = 50
jump_to_now_playing_song_at_start = yes
ask_before_clearing_playlists = yes
clock_display_seconds = no
display_volume_level = yes
display_bitrate = no
display_remaining_time = yes
ignore_leading_the = no
mouse_support = yes
enable_window_title = yes
external_editor = vim
use_console_editor = yes
colors_enabled = yes

0
config/ncmpcpp/error.log Normal file
View file

73
dwm-flexipatch/' Normal file
View file

@ -0,0 +1,73 @@
# dwm version
VERSION = 6.4
# Customize below to fit your system
# paths
PREFIX = /usr/local
MANPREFIX = ${PREFIX}/share/man
X11INC = /usr/X11R6/include
X11LIB = /usr/X11R6/lib
# FreeBSD (uncomment)
#X11INC = /usr/local/include
#X11LIB = /usr/local/lib
# Xinerama, comment if you don't want it
XINERAMALIBS = -lXinerama
XINERAMAFLAGS = -DXINERAMA
# freetype
FREETYPELIBS = -lfontconfig -lXft
FREETYPEINC = /usr/include/freetype2
# FreeBSD (uncomment)
#FREETYPEINC = /usr/local/include/freetype2
# OpenBSD (uncomment)
#FREETYPEINC = ${X11INC}/freetype2
# OpenBSD - Uncomment this for the swallow patch / SWALLOW_PATCH
#KVMLIB = -lkvm
# Uncomment this for the alpha patch and the winicon patch (BAR_ALPHA_PATCH, BAR_WINICON_PATCH)
XRENDER = -lXrender
# Uncomment this for the mdpcontrol patch / MDPCONTROL_PATCH
MPDCLIENT = -lmpdclient
# Uncomment for the pango patch / BAR_PANGO_PATCH
#PANGOINC = `pkg-config --cflags xft pango pangoxft`
#PANGOLIB = `pkg-config --libs xft pango pangoxft`
# Uncomment for the ipc patch / IPC_PATCH
YAJLLIBS = -lyajl
YAJLINC = -I/usr/include/yajl
# Uncomment this for the rounded corners patch / ROUNDED_CORNERS_PATCH
XEXTLIB = -lXext
# Uncomment this for the swallow patch / SWALLOW_PATCH
XCBLIBS = -lX11-xcb -lxcb -lxcb-res
# This is needed for the winicon and tagpreview patches / BAR_WINICON_PATCH / BAR_TAGPREVIEW_PATCH
IMLIB2LIBS = -lImlib2
# Uncomment for the bidi patch
#BDINC = `pkg-config --cflags fribidi`
#BDLIBS = `pkg-config --libs fribidi`
# includes and libs
INCS = -I${X11INC} -I${FREETYPEINC} ${YAJLINC} ${PANGOINC} ${BDINC}
LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS} ${FREETYPELIBS} ${XRENDER} ${MPDCLIENT} ${XEXTLIB} ${XCBLIBS} ${KVMLIB} ${PANGOLIB} ${YAJLLIBS} ${IMLIB2LIBS} $(BDLIBS)
# flags
CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700L -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS}
#CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
CFLAGS = -std=c99 -pedantic -Wall -Wno-unused-function -Wno-deprecated-declarations -Os ${INCS} ${CPPFLAGS}
LDFLAGS = ${LIBS}
# Solaris
#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
#LDFLAGS = ${LIBS}
# compiler and linker
CC = cc

View file

@ -51,7 +51,8 @@ install: all
ifdef YAJLLIBS
cp -f dwm-msg ${DESTDIR}${PREFIX}/bin
endif
#cp -f patch/dwmc ${DESTDIR}${PREFIX}/bin
cp -f patch/dwmc ${DESTDIR}${PREFIX}/bin
cp -f patch/layoutmenu.sh ${DESTDIR}${PREFIX}/bin
chmod 755 ${DESTDIR}${PREFIX}/bin/dwm
ifdef YAJLLIBS
chmod 755 ${DESTDIR}${PREFIX}/bin/dwm-msg

View file

@ -398,7 +398,7 @@ static char *statuscolors[][ColCount] = {
#endif // BAR_POWERLINE_STATUS_PATCH
#if BAR_LAYOUTMENU_PATCH
static const char *layoutmenu_cmd = "layoutmenu.sh";
static const char *layoutmenu_cmd = "/usr/local/bin/layoutmenu.sh";
#endif
#if COOL_AUTOSTART_PATCH

View file

@ -32,15 +32,15 @@ FREETYPEINC = /usr/include/freetype2
XRENDER = -lXrender
# Uncomment this for the mdpcontrol patch / MDPCONTROL_PATCH
#MPDCLIENT = -lmpdclient
MPDCLIENT = -lmpdclient
# Uncomment for the pango patch / BAR_PANGO_PATCH
#PANGOINC = `pkg-config --cflags xft pango pangoxft`
#PANGOLIB = `pkg-config --libs xft pango pangoxft`
# Uncomment for the ipc patch / IPC_PATCH
#YAJLLIBS = -lyajl
#YAJLINC = -I/usr/include/yajl
YAJLLIBS = -lyajl
YAJLINC = -I/usr/include/yajl
# Uncomment this for the rounded corners patch / ROUNDED_CORNERS_PATCH
XEXTLIB = -lXext

View file

@ -1,8 +1,33 @@
#!/bin/sh
cat <<EOF | xmenu
[]= Tiled Layout 0
><> Floating Layout 1
[M] Monocle Layout 2
cat <<EOF | xmenu
[]= (Flextile) Tiled 0
><> (Flextile) Floating 1
[M] (Flextile) Monocle 2
||| (Flextile) Columns 3
>M> (Flextile) Floating Master 4
[D] (Flextile) Deck 5
TTT (Flextile) Bottom Stack 6
=== (Flextile) Bottom Stack Horizontal 7
|M| (Flextile) Centered Naster 8
-M- (Flextile) Centered Master Horizontal 9
::: (Flextile) Gapless Grid 10
[\] (Flextile) Fibonacci Dwindle 11
(@) (Flextile) Fibonacci Spiral 12
[T] (Flextile) Tatami Tats 13
[]= Tiled 14
[M] Monocle 15
TTT Bottom Stack 16
=== Bottom Stack Horizontal 17
|M| Centered Master 18
>M> Centered Floating Master 19
||| Columns 20
[D] Deck 21
(@) Fibonacci Spiral 22
[\\] Fibonacci Dwindle 23
HHH Grid 24
--- Horizontal Grid 25
::: Gapless Grid 26
### N-row Grid 27
EOF

View file

@ -74,7 +74,7 @@
* - The text of the menu items is for display only. Name them however you want.
* https://dwm.suckless.org/patches/layoutmenu/
*/
#define BAR_LAYOUTMENU_PATCH 0
#define BAR_LAYOUTMENU_PATCH 1
/* Show layout symbol in bar */
#define BAR_LTSYMBOL_PATCH 1
@ -590,7 +590,7 @@
* #cp -f patch/dwmc ${DESTDIR}${PREFIX}/bin
* http://dwm.suckless.org/patches/dwmc/
*/
#define DWMC_PATCH 0
#define DWMC_PATCH 1
/* This patch allows no tag at all to be selected. The result is that dwm will start with
* no tag selected and when you start a client with no tag rule and no tag selected then
@ -712,7 +712,7 @@
* https://github.com/mihirlad55/dwm-ipc
* https://dwm.suckless.org/patches/ipc/
*/
#define IPC_PATCH 0
#define IPC_PATCH 1
/* Adds rule option for clients to avoid accidental termination by killclient for sticky windows.
* https://dwm.suckless.org/patches/ispermanent/
@ -758,7 +758,7 @@
* - libmpdclient
* https://dwm.suckless.org/patches/mpdcontrol/
*/
#define MPDCONTROL_PATCH 0
#define MPDCONTROL_PATCH 1
/* Adds rules per monitor, e.g. have default layouts per monitor.
* The use case for this is if the second monitor is vertical (i.e. rotated) then