Bunch of stuff, who cares

This commit is contained in:
2025-08-20 00:13:16 +01:00
parent b6ef43590e
commit 1e071228be
11 changed files with 413 additions and 56 deletions

View File

@@ -0,0 +1,4 @@
# key: beg
# name: beg
# --
std::begin($0)

View File

@@ -1,6 +1,5 @@
# -*- mode: snippet -*- # -*- mode: snippet -*-
# name: v.begin(), v.end() # name: v.begin(), v.end()
# key: bend # key: bend
# uuid: beginend
# -- # --
${1:a}.begin(), $1.end() std::begin(${1:a}), std::end($1)

View File

@@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: end
# key: end
# --
std::end($0)

View File

@@ -10,8 +10,9 @@
00204 Wed Dec 28 14:50:42 2022 Aryadev Chavali <aryadev@aryadevchavali.com> 00204 Wed Dec 28 14:50:42 2022 Aryadev Chavali <aryadev@aryadevchavali.com>
00187 Thu Jan 12 01:30:09 2023 Aryadev Chavali <aryadev@aryadevchavali.com> 00187 Thu Jan 12 01:30:09 2023 Aryadev Chavali <aryadev@aryadevchavali.com>
00172 Mon Jan 9 12:59:13 2023 Aryadev Chavali <aryadev@aryadevchavali.com> 00172 Mon Jan 9 12:59:13 2023 Aryadev Chavali <aryadev@aryadevchavali.com>
00166 Mon May 6 02:40:23 2024 Aryadev Chavali <aryadev@aryadevchavali.com>
00166 Fri Aug 16 11:05:23 2024 Aryadev Chavali <aryadev@aryadevchavali.com> 00166 Fri Aug 16 11:05:23 2024 Aryadev Chavali <aryadev@aryadevchavali.com>
00166 Mon May 6 02:40:23 2024 Aryadev Chavali <aryadev@aryadevchavali.com>
00154 Sat Jul 26 18:43:42 2025 Aryadev Chavali <aryadev@aryadevchavali.com>
00120 Thu Aug 29 18:45:32 2024 Aryadev Chavali <aryadev@aryadevchavali.com> 00120 Thu Aug 29 18:45:32 2024 Aryadev Chavali <aryadev@aryadevchavali.com>
00114 Fri Jul 21 11:58:31 2023 Aryadev Chavali <aryadev@aryadevchavali.com> 00114 Fri Jul 21 11:58:31 2023 Aryadev Chavali <aryadev@aryadevchavali.com>
00096 Sat Dec 3 16:21:40 2022 Aryadev Chavali <aryadev@aryadevchavali.com> 00096 Sat Dec 3 16:21:40 2022 Aryadev Chavali <aryadev@aryadevchavali.com>
@@ -27,12 +28,12 @@
00048 Sun May 5 19:34:16 2024 Aryadev Chavali <aryadev@aryadevchavali.com> 00048 Sun May 5 19:34:16 2024 Aryadev Chavali <aryadev@aryadevchavali.com>
00046 Wed Oct 12 11:27:19 2022 Aryadev Chavali <aryadev@aryadevchavali.com> 00046 Wed Oct 12 11:27:19 2022 Aryadev Chavali <aryadev@aryadevchavali.com>
00042 Tue Aug 1 19:58:49 2023 Aryadev Chavali <aryadev@aryadevchavali.com> 00042 Tue Aug 1 19:58:49 2023 Aryadev Chavali <aryadev@aryadevchavali.com>
00038 Fri Oct 14 13:05:44 2022 Aryadev Chavali <aryadev@aryadevchavali.com>
00038 Tue Oct 11 16:47:44 2022 Aryadev Chavali <aryadev@aryadevchavali.com> 00038 Tue Oct 11 16:47:44 2022 Aryadev Chavali <aryadev@aryadevchavali.com>
00038 Fri Oct 14 13:05:44 2022 Aryadev Chavali <aryadev@aryadevchavali.com>
00037 Thu Aug 17 18:11:59 2023 Aryadev Chavali <aryadev@aryadevchavali.com> 00037 Thu Aug 17 18:11:59 2023 Aryadev Chavali <aryadev@aryadevchavali.com>
00027 Thu Jan 12 01:14:32 2023 Aryadev Chavali <aryadev@aryadevchavali.com> 00027 Thu Jan 12 01:14:32 2023 Aryadev Chavali <aryadev@aryadevchavali.com>
00024 Thu Jan 12 01:14:54 2023 Aryadev Chavali <aryadev@aryadevchavali.com> 00024 Thu Jan 12 01:14:54 2023 Aryadev Chavali <aryadev@aryadevchavali.com>
00012 Tue Jan 17 13:58:01 2023 Aryadev Chavali <aryadev@aryadevchavali.com> 00012 Tue Jan 17 13:58:01 2023 Aryadev Chavali <aryadev@aryadevchavali.com>
00006 Mon Jan 9 11:04:43 2023 Aryadev Chavali <aryadev@aryadevchavali.com>
00006 Thu Jun 22 23:16:42 2023 Aryadev Chavali <aryadev@aryadevchavali.com> 00006 Thu Jun 22 23:16:42 2023 Aryadev Chavali <aryadev@aryadevchavali.com>
00006 Mon Jan 9 11:04:43 2023 Aryadev Chavali <aryadev@aryadevchavali.com>
00000 Fri Dec 2 13:58:02 2022 Aryadev Chavali <aryadev@aryadevchavali.com> 00000 Fri Dec 2 13:58:02 2022 Aryadev Chavali <aryadev@aryadevchavali.com>

View File

@@ -270,7 +270,8 @@ forcefully adjust the font size.
(_ 120)) (_ 120))
(pcase (display-pixel-width) ; get a multiplier based on resolution (pcase (display-pixel-width) ; get a multiplier based on resolution
((pred (>= 1920)) 0.9) ((pred (>= 1920)) 0.9)
((pred (>= 2560)) 1.24))) ((pred (>= 2560)) 1.24)
(_ 1.05)))
floor floor
(progn (progn
(set-face-attribute 'default nil :height it) (set-face-attribute 'default nil :height it)
@@ -1019,8 +1020,9 @@ fundamental mode and call it a day.
(with-current-buffer "*scratch*" (with-current-buffer "*scratch*"
(goto-char (point-max)) (goto-char (point-max))
(thread-last (thread-last
(emacs-init-time) (straight-recipes-list)
(format "Emacs v%s - %s\n" emacs-version) length
(format "Emacs v%s - %s - %s packages\n" emacs-version (emacs-init-time))
(insert)))))) (insert))))))
#+end_src #+end_src
** Cursor and the highlighted line ** Cursor and the highlighted line
@@ -1515,6 +1517,7 @@ system.
(setq-default (setq-default
smtpmail-smtp-server "mail.aryadevchavali.com" smtpmail-smtp-server "mail.aryadevchavali.com"
smtpmail-smtp-user "aryadev" smtpmail-smtp-user "aryadev"
smtpmail-servers-requiring-authorization "mail.aryadevchavali.com"
smtpmail-smtp-service 587 smtpmail-smtp-service 587
smtpmail-stream-type 'starttls smtpmail-stream-type 'starttls
send-mail-function #'smtpmail-send-it send-mail-function #'smtpmail-send-it
@@ -2353,13 +2356,11 @@ playing.
:general :general
(app-leader (app-leader
"e" #'empv-hydra/body) "e" #'empv-hydra/body)
:init :init
(setq empv-audio-dir (list (expand-file-name "~/Media/audio") (setq empv-audio-dir (list (expand-file-name "~/Media/audio"))
;; "/sshx:oldboy:/media/hdd/content/Audio"
)
empv-video-dir (list (expand-file-name "~/Media/videos") empv-video-dir (list (expand-file-name "~/Media/videos")
;; "/sshx:oldboy:/media/hdd/content/Videos" (expand-file-name "~/Media/anime"))
)
empv-playlist-dir (expand-file-name "~/Media/playlists") empv-playlist-dir (expand-file-name "~/Media/playlists")
empv-audio-file-extensions (list "mp3" "ogg" "wav" "m4a" "flac" "aac" "opus") empv-audio-file-extensions (list "mp3" "ogg" "wav" "m4a" "flac" "aac" "opus")
empv-video-file-extensions (list "mkv" "mp4" "avi" "mov" "webm") empv-video-file-extensions (list "mkv" "mp4" "avi" "mov" "webm")
@@ -3113,7 +3114,7 @@ a very tidy way to manage your time.
org-agenda-skip-scheduled-if-done t org-agenda-skip-scheduled-if-done t
org-agenda-skip-deadline-if-done t org-agenda-skip-deadline-if-done t
org-agenda-start-with-entry-text-mode nil org-agenda-start-with-entry-text-mode nil
org-agenda-span 'day) org-agenda-span 'week)
:config :config
(evil-set-initial-state 'org-agenda-mode 'normal) (evil-set-initial-state 'org-agenda-mode 'normal)
:general :general
@@ -3438,8 +3439,7 @@ on your machine.
(define-minor-mode clang-format-mode (define-minor-mode clang-format-mode
"On save formats the current buffer via clang-format." "On save formats the current buffer via clang-format."
:lighter nil :lighter nil
(let ((save-func (proc-int (let ((save-func (proc-int (clang-format-buffer))))
(clang-format-buffer))))
(if clang-format-mode (if clang-format-mode
(add-hook 'before-save-hook save-func nil t) (add-hook 'before-save-hook save-func nil t)
(remove-hook 'before-save-hook save-func t)))) (remove-hook 'before-save-hook save-func t))))
@@ -4233,11 +4233,44 @@ effectively.
:init :init
(setq tab-bar-close-button-show nil (setq tab-bar-close-button-show nil
tab-bar-format '(tab-bar-format-history tab-bar-format '(tab-bar-format-history
tab-bar-format-tabs tab-bar-separator) tab-bar-format-tabs
tab-bar-separator)
tab-bar-show 1 tab-bar-show 1
tab-bar-auto-width t tab-bar-auto-width t
tab-bar-auto-width-max '((100) 20) tab-bar-auto-width-max '((150) 20)
tab-bar-auto-width-min '((20) 2)) tab-bar-auto-width-min '((20) 2)
tab-bar-tab-name-function #'+tab-bar/name-func)
(defvar +tab-bar/buffer-name-max-len 7)
(defvar +tab-bar/project-name-max-len 10)
(defun +tab-bar/--abbreviate-project-name ()
(if-let* ((project (project-current))
(name (project-name project)))
(if (> (length name) +tab-bar/project-name-max-len)
(concat (substring name 0 +tab-bar/project-name-max-len) "<...>")
name)
""))
(defun +tab-bar/--abbreviate-buffer-name ()
(let* ((buffer-name (buffer-name (window-buffer (or (minibuffer-selected-window)
(and (window-minibuffer-p)
(get-mru-window))))))
(ext (string-match "\\.[[:word:]]+$" buffer-name)))
(if (> (or ext (length buffer-name)) +tab-bar/buffer-name-max-len)
(thread-last
(if ext
(substring buffer-name ext)
"")
(concat (substring buffer-name 0 +tab-bar/buffer-name-max-len) "<...>"))
buffer-name)))
(defun +tab-bar/name-func ()
(if (null (project-current))
(+tab-bar/--abbreviate-buffer-name)
(format "%s[%s]"
(+tab-bar/--abbreviate-project-name)
(+tab-bar/--abbreviate-buffer-name))))
:general :general
(tab-leader (tab-leader
"R" #'tab-rename "R" #'tab-rename
@@ -4294,6 +4327,8 @@ Recentf provides a method of keeping track of recently opened files.
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package recentf (use-package recentf
:defer t :defer t
:init
(setq recentf-auto-cleanup 'never)
:hook (after-init-hook . recentf-mode) :hook (after-init-hook . recentf-mode)
:general :general
(file-leader (file-leader

View File

@@ -89,14 +89,16 @@
(require 'eshell) (require 'eshell)
(require 'eglot)) (require 'eglot))
(require 'gnutls)
(add-to-list 'gnutls-trustfiles "/usr/local/etc/openssl/cert.pem")
(setq gc-cons-threshold (* 100 1024 1024) ; ~100MiB (setq gc-cons-threshold (* 100 1024 1024) ; ~100MiB
gc-cons-percentage 0.1 ; 10% of heap allocation => collect garbage gc-cons-percentage 0.1 ; 10% of heap allocation => collect garbage
read-process-output-max (* 5 1024 1024) ; ~5MiB read-process-output-max (* 5 1024 1024) ; ~5MiB
;; FIXME: Problem with memory-report after running Emacs for a ;; FIXME: Problem with memory-report after running Emacs for a
;; bit, causes a Lisp nesting error, so I just set it up really ;; bit, causes a Lisp nesting error, so I just set it up really
;; high so it doesn't reach that. ;; high so it doesn't reach that.
max-lisp-eval-depth 999999 max-lisp-eval-depth 999999)
garbage-collection-messages t)
(provide 'init) (provide 'init)
;;; init.el ends here ;;; init.el ends here

View File

@@ -1,7 +1,7 @@
{ {
"NeoSolarized": { "branch": "master", "commit": "b94b1a9ad51e2de015266f10fdc6e142f97bd617" }, "NeoSolarized": { "branch": "master", "commit": "b94b1a9ad51e2de015266f10fdc6e142f97bd617" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }, "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
"vim-tmux-navigator": { "branch": "master", "commit": "412c474e97468e7934b9c217064025ea7a69e05e" } "vim-tmux-navigator": { "branch": "master", "commit": "c45243dc1f32ac6bcf6068e5300f3b2b237e576a" }
} }

View File

@@ -1,35 +1,29 @@
#!/usr/bin/env sh #!/usr/bin/env python3
usage() { from subprocess import run, PIPE
printf "Usage: localstream [-f|-p]
\t-f: Lookup video files
\t-p: Lookup playlists\n";
}
if [ $# -eq 0 ] DIRECTORIES = [{"type": "ssh", "host": "oreo@oldboy", "directory": "/media/hdd/content"},
then {"type": "local", "directory": "/home/oreo/Media"}]
usage && exit 1;
fi
case $1 in def make_filters(extensions):
"-f") s = []
filtering="-name '*.mp4' -or -name '*.mkv' -or -name '*.webm' -or -name '*.opus'"; for i, ext in enumerate(extensions):
selection="\(.*\)";; s.append("-iname")
"-p") s.append(f"\"{ext}\"")
filtering="-name 'playlist'"; if i < len(extensions) - 1:
selection="\(.*\)\/playlist"; s.append("-or")
ending="/playlist";; return s
*)
usage && exit 1;;
esac
choice=$(ssh oreo@oldboy "find /media/hdd/content/ -type 'f' $filtering" |\ def get_local_files(directory, extensions):
sed "s/\/media\/hdd\/content\/$selection/\1/g" |\ return ["find", directory, "-type", "f"] + make_filters(extensions)
dmenu -i -l 5 -p "Choose file: ")
if [ $1 = "-f" ] def get_remote_files(host, directory, extensions):
then return ["ssh", host, f"find {directory} -type 'f' {' '.join(make_filters(extensions))}"]
mpv "sftp://oldboy:/media/hdd/content/$choice$ending"
else def run_command(cmd):
mpv --playlist="sftp://oldboy:/media/hdd/content/$choice$ending" res = run(cmd, stdout=PIPE, stderr=PIPE, text=True)
fi return res.stdout.split("\n"), res.returncode
choices = dict()
'*.mp4', '*.mkv', '*.webm', '*.opus'

View File

@@ -35,7 +35,7 @@ autoload -U compinit
setopt autocd setopt autocd
export ZSH_THEME="af-magic" export ZSH_THEME="af-magic"
PS1="%B%F{4}[%(4~|...|)%3~] PS1="%B%F{4}[%(4~|...|)%3~]
%F{white}%F{0}%m%b%f> %k" %F{white}%F{2}%m%b%f> %k"
setopt BANG_HIST setopt BANG_HIST
setopt EXTENDED_HISTORY setopt EXTENDED_HISTORY

View File

@@ -7,8 +7,8 @@ xset s 1800;
xrandr --output HDMI1 --auto --mode 1920x1080 --left-of eDP1; xrandr --output HDMI1 --auto --mode 1920x1080 --left-of eDP1;
xrandr --output eDP1 --auto --mode 1920x1080; xrandr --output eDP1 --auto --mode 1920x1080;
xrandr --output HDMI-0 --auto --mode 1920x1080 --right-of HDMI-1-1; xrandr --output HDMI-1 --auto --mode 1920x1080 --left-of HDMI-1-0;
xrandr --output HDMI-1-1 --auto --mode 1920x1080 --left-of HDMI-0; xrandr --output HDMI-1-0 --auto --mode 1920x1080 --right-of HDMI-1;
sxhkd & sxhkd &
dunst & dunst &

View File

@@ -0,0 +1,317 @@
#################################
# 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.
#
# Can be set per-window using rules.
#
# Default: false
shadow = true;
# The blur radius for shadows, in pixels.
#
# Default: 12
shadow-radius = 7;
# The opacity of shadows.
#
# Range: 0.0 - 1.0
# Default: 0.75
# shadow-opacity = .75
# The left offset for shadows, in pixels.
#
# Default: -15
shadow-offset-x = -7;
# The top offset for shadows, in pixels.
#
# Default: -15
shadow-offset-y = -7;
# Hex string color value of shadow. Formatted like "#RRGGBB", e.g. "#C0FFEE".
#
# Default: #000000
# shadow-color = "#000000"
# Crop shadow of a window fully on a particular monitor to that monitor. This is
# currently implemented using the X RandR extension.
#
# Default: false
# crop-shadow-to-monitor = false
#################################
# Fading #
#################################
# Fade windows in/out when opening/closing and when opacity changes,
# unless no-fading-openclose is used. Can be set per-window using rules.
#
# Default: false
fading = true;
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 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;
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
# fade-delta = 10
# 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 window titlebars and borders.
#
# Range: 0.1 - 1.0
# Default: 1.0 (disabled)
frame-opacity = 0.9;
# Use fixed inactive dim value, instead of adjusting according to window opacity.
#
# Default: false
# inactive-dim-fixed = true
#################################
# 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`.
#
# Default: 0 (disabled)
corner-radius = 0
#################################
# Blur #
#################################
# Parameters for background blurring, see BLUR section in the man page for more information.
# blur-method =
# blur-size = 12
#
# blur-deviation = false
#
# blur-strength = 5
# Blur background of semi-transparent / ARGB windows.
# Can be set per-window using rules.
#
# Default: false
# blur-background = false
# Blur background of windows when the window frame is not opaque.
# Implies:
# blur-background
#
# Default: false
# blur-background-frame = false
# Use fixed blur strength rather than adjusting according to window opacity.
#
# Default: false
# 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";
# Can also be a pre-defined kernel, see the man page.
#
# Default: ""
blur-kern = "3x3box";
#################################
# General Settings #
#################################
# Enable remote control via D-Bus. See the man page for more details.
#
# Default: false
# dbus = true
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
# daemon = false
# Specify the backend to use: `xrender`, `glx`, or `egl`.
#
# Default: "xrender"
backend = "xrender"
# Use higher precision during rendering, and apply dither when presenting the
# rendered screen. Reduces banding artifacts, but may cause performance
# degradation. Only works with OpenGL.
dithered-present = false;
# Enable/disable VSync.
#
# Default: false
vsync = true;
# Try to detect windows with rounded corners and don't consider them
# shaped windows. The accuracy is not very high, unfortunately.
#
# Has nothing to do with `corner-radius`.
#
# Default: false
detect-rounded-corners = true;
# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
#
# Default: false
detect-client-opacity = true;
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. May be more accurate,
# provided that the WM supports it.
#
# Default: false
# 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.
#
# Default: false
# unredir-if-possible = false
# Delay before unredirecting the window, in milliseconds.
#
# Default: 0.
# unredir-if-possible-delay = 0
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
# in the same group focused at the same time.
#
# Default: false
detect-transient = true;
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
# group focused at the same time. This usually means windows from the same application
# will be considered focused or unfocused at the same time.
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
#
# Default: false
# detect-client-leader = false
# Use of damage information for rendering. This cause the only the part of the
# screen that has actually changed to be redrawn, instead of the whole screen
# every time. Should improve performance.
#
# Default: false
use-damage = true;
# Use X Sync fence to wait for the completion of rendering of other windows,
# before using their content to render the current screen.
#
# Required for explicit sync drivers, such as nvidia.
#
# Default: false
# xrender-sync-fence = false
# GLX backend: Use specified GLSL fragment shader for rendering window
# contents. Read the man page for a detailed explanation of the interface.
#
# Can be set per-window using rules.
#
# window-shader-fg = "default"
# Force all windows to be painted with blending. Useful if you
# have a `window-shader-fg` that could turn opaque pixels transparent.
#
# Default: false
# 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.
#
# Default: false
# 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 (disabled)
# max-brightness = 1.0
# Make transparent windows clip other windows like non-transparent windows do,
# instead of blending on top of them. e.g. placing a transparent window on top
# of another window will cut a "hole" in that window, and show the desktop background
# underneath.
#
# Default: false
# transparent-clipping = false
# Set the log level. Possible values are:
# "trace", "debug", "info", "warn", "error"
# in increasing level of importance. Case insensitive.
# If using the "TRACE" log level, it's better to log into a file
# using *--log-file*, since it can generate a huge stream of logs.
#
# Default: "warn"
# 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"
# Write process ID to a file.
# write-pid-path = "/path/to/your/log/file"
# Rule-based per-window options.
#
# See WINDOW RULES section in the man page for how these work.
rules: ({
match = "window_type = 'tooltip'";
fade = false;
shadow = true;
opacity = 0.75;
full-shadow = false;
}, {
match = "window_type = 'dock' || "
"window_type = 'desktop' || "
"_GTK_FRAME_EXTENTS@";
blur-background = false;
}, {
match = "window_type != 'dock'";
# shader = "my_shader.frag";
}, {
match = "window_type = 'dock' || "
"window_type = 'desktop'";
corner-radius = 0;
}, {
match = "name = 'Notification' || "
"class_g = 'Conky' || "
"class_g ?= 'Notify-osd' || "
"class_g = 'Cairo-clock' || "
"_GTK_FRAME_EXTENTS@";
shadow = false;
})
# `@include` directive can be used to include additional configuration files.
# Relative paths are search either in the parent of this configuration file
# (when the configuration is loaded through a symlink, the symlink will be
# resolved first). Or in `$XDG_CONFIG_HOME/picom/include`.
#
# @include "extra.conf"