deleted: .config/fnott/fnott.ini

deleted:    .config/niri/config-01.kdl
	modified:   README.md
	modified:   apps-list.md
	deleted:    background
	renamed:    .config/btop/btop.conf -> config/btop/btop.conf
	renamed:    .config/clipse/config.json -> config/clipse/config.json
	renamed:    .config/clipse/custom_theme.json -> config/clipse/custom_theme.json
	renamed:    .config/fastfetch/1.jsonc -> config/fastfetch/1.jsonc
	renamed:    .config/fastfetch/19.jsonc -> config/fastfetch/19.jsonc
	renamed:    .config/fastfetch/20.jsonc -> config/fastfetch/20.jsonc
	renamed:    .config/fastfetch/config.jsonc -> config/fastfetch/config.jsonc
	renamed:    .config/fish/completions/fisher.fish -> config/fish/completions/fisher.fish
	renamed:    .config/fish/completions/fzf_configure_bindings.fish -> config/fish/completions/fzf_configure_bindings.fish
	renamed:    .config/fish/conf.d/fish_frozen_key_bindings.fish -> config/fish/conf.d/fish_frozen_key_bindings.fish
	renamed:    .config/fish/conf.d/fish_frozen_theme.fish -> config/fish/conf.d/fish_frozen_theme.fish
	renamed:    .config/fish/conf.d/fzf.fish -> config/fish/conf.d/fzf.fish
	new file:   config/fish/conf.d/nix.fish
	renamed:    .config/fish/config.fish -> config/fish/config.fish
	renamed:    .config/fish/fish_plugins -> config/fish/fish_plugins
	renamed:    .config/fish/fish_variables -> config/fish/fish_variables
	renamed:    .config/fish/functions/:q.fish -> config/fish/functions/:q.fish
	renamed:    .config/fish/functions/_fzf_configure_bindings_help.fish -> config/fish/functions/_fzf_configure_bindings_help.fish
	renamed:    .config/fish/functions/_fzf_extract_var_info.fish -> config/fish/functions/_fzf_extract_var_info.fish
	renamed:    .config/fish/functions/_fzf_preview_changed_file.fish -> config/fish/functions/_fzf_preview_changed_file.fish
	renamed:    .config/fish/functions/_fzf_preview_file.fish -> config/fish/functions/_fzf_preview_file.fish
	renamed:    .config/fish/functions/_fzf_report_diff_type.fish -> config/fish/functions/_fzf_report_diff_type.fish
	renamed:    .config/fish/functions/_fzf_report_file_type.fish -> config/fish/functions/_fzf_report_file_type.fish
	renamed:    .config/fish/functions/_fzf_search_directory.fish -> config/fish/functions/_fzf_search_directory.fish
	renamed:    .config/fish/functions/_fzf_search_git_log.fish -> config/fish/functions/_fzf_search_git_log.fish
	renamed:    .config/fish/functions/_fzf_search_git_status.fish -> config/fish/functions/_fzf_search_git_status.fish
	renamed:    .config/fish/functions/_fzf_search_history.fish -> config/fish/functions/_fzf_search_history.fish
	renamed:    .config/fish/functions/_fzf_search_processes.fish -> config/fish/functions/_fzf_search_processes.fish
	renamed:    .config/fish/functions/_fzf_search_variables.fish -> config/fish/functions/_fzf_search_variables.fish
	renamed:    .config/fish/functions/_fzf_wrapper.fish -> config/fish/functions/_fzf_wrapper.fish
	renamed:    .config/fish/functions/ff.fish -> config/fish/functions/ff.fish
	renamed:    .config/fish/functions/fish_prompt.fish -> config/fish/functions/fish_prompt.fish
	renamed:    .config/fish/functions/fish_prompt.fish.bak -> config/fish/functions/fish_prompt.fish.bak
	renamed:    .config/fish/functions/fisher.fish -> config/fish/functions/fisher.fish
	renamed:    .config/fish/functions/fzf_configure_bindings.fish -> config/fish/functions/fzf_configure_bindings.fish
	renamed:    .config/fish/functions/ls.fish -> config/fish/functions/ls.fish
	renamed:    .config/fish/functions/n.fish -> config/fish/functions/n.fish
	renamed:    .config/fish/functions/nv.fish -> config/fish/functions/nv.fish
	renamed:    .config/fish/functions/p.fish -> config/fish/functions/p.fish
	new file:   config/fish/functions/sshp.fish
	renamed:    .config/fish/functions/vpn.fish -> config/fish/functions/vpn.fish
	renamed:    .config/fish/functions/webka.fish -> config/fish/functions/webka.fish
	renamed:    .config/fish/functions/y.fish -> config/fish/functions/y.fish
	renamed:    .config/fish/functions/yz.fish -> config/fish/functions/yz.fish
	renamed:    ".config/fish/functions/\320\275\321\217.fish" -> "config/fish/functions/\320\275\321\217.fish"
	renamed:    .config/fuzzel/fuzzel.ini -> config/fuzzel/fuzzel.ini
	renamed:    .config/hypr/hyprland.conf -> config/hypr/hyprland.conf
	renamed:    .config/hypr/hyprlock.conf -> config/hypr/hyprlock.conf
	new file:   config/hyprwave/config.conf
	new file:   config/hyprwave/style.css
	new file:   config/kitty/current-theme.conf
	renamed:    .config/kitty/kitty.conf.bak -> config/kitty/kitty.conf
	renamed:    .config/kitty/kitty.conf -> config/kitty/kitty.conf.bak
	new file:   config/mimeapps.list
	renamed:    .config/niri/config.kdl -> config/niri/config.kdl
	renamed:    .config/nvim/.gitignore -> config/nvim/.gitignore
	renamed:    .config/nvim/.neoconf.json -> config/nvim/.neoconf.json
	renamed:    .config/nvim/LICENSE -> config/nvim/LICENSE
	renamed:    .config/nvim/README.md -> config/nvim/README.md
	renamed:    .config/nvim/init.lua -> config/nvim/init.lua
	renamed:    .config/nvim/lazy-lock.json -> config/nvim/lazy-lock.json
	renamed:    .config/nvim/lazyvim.json -> config/nvim/lazyvim.json
	renamed:    .config/nvim/lua/config/autocmds.lua -> config/nvim/lua/config/autocmds.lua
	renamed:    .config/nvim/lua/config/keymaps.lua -> config/nvim/lua/config/keymaps.lua
	renamed:    .config/nvim/lua/config/lazy.lua -> config/nvim/lua/config/lazy.lua
	renamed:    .config/nvim/lua/config/options.lua -> config/nvim/lua/config/options.lua
	renamed:    .config/nvim/lua/plugins/example.lua -> config/nvim/lua/plugins/example.lua
	renamed:    .config/nvim/lua/plugins/luasnip.lua -> config/nvim/lua/plugins/luasnip.lua
	renamed:    .config/nvim/lua/plugins/markview.lua -> config/nvim/lua/plugins/markview.lua
	renamed:    .config/nvim/lua/plugins/marp-nvim.lua -> config/nvim/lua/plugins/marp-nvim.lua
	renamed:    .config/nvim/lua/plugins/nvim-snippy.lua -> config/nvim/lua/plugins/nvim-snippy.lua
	renamed:    .config/nvim/lua/plugins/render-markdown.lua -> config/nvim/lua/plugins/render-markdown.lua
	renamed:    .config/nvim/lua/plugins/xkbswitch.lua -> config/nvim/lua/plugins/xkbswitch.lua
	renamed:    .config/nvim/stylua.toml -> config/nvim/stylua.toml
	new file:   config/termusic/tui.toml
	renamed:    .config/waybar/config.jsonc -> config/waybar/config.jsonc
	renamed:    .config/waybar/config01.jsonc -> config/waybar/config01.jsonc
	renamed:    .config/waybar/style.css -> config/waybar/style.css
	renamed:    .config/waybar/style01.css -> config/waybar/style01.css
	renamed:    .config/yazi/yazi.toml -> config/yazi/yazi.toml
	deleted:    mimeapps.list
	deleted:    resolved.conf
	deleted:    zen-mods-export.json
This commit is contained in:
nekochemist 2026-03-12 22:12:13 +05:00
parent f8fae463a8
commit 4779ba49c0
88 changed files with 1182 additions and 1361 deletions

View file

@ -1,75 +0,0 @@
# -*- conf -*-
# For documentation on these options, see `man fnott.ini`
# Global values
# output=<undefined>#
# min-width=0
# max-width=0
# max-height=0
# stacking-order=bottom-up
anchor=top-right
edge-margin-vertical=8
edge-margin-horizontal=8
selection-helper=fuzzel
selection-helper-uses-null-separator=no
default-timeout=10
# notification-margin=10
icon-theme=
max-icon-size=32
# selection-helper=dmenu
# selection-helper-uses-null-separator=no
# play-sound=aplay ${filename}
# Default values, may be overridden in 'urgency' specific sections
# layer=top
background=07090Bff
border-color=C1D6D6ff
border-radius=5
border-size=4
# padding-vertical=20
# padding-horizontal=20
dpi-aware=no
title-font=IosevkaTerm NFP:size=17:weight=bold
# title-color=ffffffff
title-format=<b>%a%A</b>
summary-font=IosevkaTerm NFP:size=13:weight=bold:slant=italic
title-color=c1d6d6ff
summary-color=c1d6d6ff
summary-format=%s</b>\n
body-font=IosevkaTerm NFP:size=12:weight=bold
body-color=C1D6D6ff
body-format=%b
# progress-bar-height=20
progress-color=c1d6d6ff
# progress-style=bar
# sound-file=
#icon=
# Timeout values are in seconds. 0 to disable
# max-timeout=0
# default-timeout=0
# idle-timeout=0
# [low]
# background=2b2b2bff
# title-color=888888ff
# summary-color=888888ff
# body-color=888888ff
# [normal]
# [critical]
# background=6c3333ff

View file

@ -1,708 +0,0 @@
// This config is in the KDL format: https://kdl.dev
// "/-" comments out the following node.
// Check the wiki for a full description of the configuration:
// https://yalter.github.io/niri/Configuration:-Introduction
// Input device configuration.
// Find the full list of options on the wiki:
// https://yalter.github.io/niri/Configuration:-Input
input {
keyboard {
xkb {
// You can set rules, model, layout, variant and options.
// For more information, see xkeyboard-config(7).
// For example:
layout "us,ru"
options "grp:caps_toggle"
// If this section is empty, niri will fetch xkb settings
// from org.freedesktop.locale1. You can control these using
// localectl set-x11-keymap.
}
repeat-delay 250
repeat-rate 25
// track-layout "global"
// Enable numlock on startup, omitting this setting disables it.
numlock
}
// Next sections include libinput settings.
// Omitting settings disables them, or leaves them at their default values.
// All commented-out settings here are examples, not defaults.
touchpad {
// off
tap
// dwt
// dwtp
// drag false
// drag-lock
natural-scroll
// accel-speed 0.2
// accel-profile "flat"
// scroll-method "two-finger"
// disabled-on-external-mouse
}
mouse {
// off
// natural-scroll
// accel-speed 0.2
accel-profile "adaptive"
scroll-button 274
scroll-method "on-button-down"
}
warp-mouse-to-focus
focus-follows-mouse max-scroll-amount="50%"
trackpoint {
// off
// natural-scroll
// accel-speed 0.2
// accel-profile "flat"
// scroll-method "on-button-down"
// scroll-button 273
// scroll-button-lock
// middle-emulation
}
// Uncomment this to make the mouse warp to the center of newly focused windows.
// warp-mouse-to-focus
// Focus windows and outputs automatically when moving the mouse into them.
// Setting max-scroll-amount="0%" makes it work only on windows already fully on screen.
// focus-follows-mouse max-scroll-amount="0%"
}
// You can configure outputs by their name, which you can find
// by running `niri msg outputs` while inside a niri instance.
// The built-in laptop monitor is usually called "eDP-1".
// Find more information on the wiki:
// https://yalter.github.io/niri/Configuration:-Outputs
// Remember to uncomment the node by removing "/-"!
/-output "DP-1" {
// Uncomment this line to disable this output.
// off
// Resolution and, optionally, refresh rate of the output.
// The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
// If the refresh rate is omitted, niri will pick the highest refresh rate
// for the resolution.
// If the mode is omitted altogether or is invalid, niri will pick one automatically.
// Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
mode "1920x1080@165.000"
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
scale 1.0
// Transform allows to rotate the output counter-clockwise, valid values are:
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
transform "normal"
// Position of the output in the global coordinate space.
// This affects directional monitor actions like "focus-monitor-left", and cursor movement.
// The cursor can only move between directly adjacent outputs.
// Output scale and rotation has to be taken into account for positioning:
// outputs are sized in logical, or scaled, pixels.
// For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080,
// so to put another output directly adjacent to it on the right, set its x to 1920.
// If the position is unset or results in an overlap, the output is instead placed
// automatically.
position x=1280 y=0
variable-refresh-rate on-demand=true
}
// Settings that influence how windows are positioned and sized.
// Find more information on the wiki:
// https://yalter.github.io/niri/Configuration:-Layout
layout {
// Set gaps around windows in logical pixels.
gaps 10
// When to center a column when changing focus, options are:
// - "never", default behavior, focusing an off-screen column will keep at the left
// or right edge of the screen.
// - "always", the focused column will always be centered.
// - "on-overflow", focusing a column will center it if it doesn't fit
// together with the previously focused column.
center-focused-column "never"
default-column-display "normal"
// You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between.
preset-column-widths {
// Proportion sets the width as a fraction of the output width, taking gaps into account.
// For example, you can perfectly fit four windows sized "proportion 0.25" on an output.
// The default preset widths are 1/3, 1/2 and 2/3 of the output.
proportion 0.33333
proportion 0.5
proportion 0.66667
// Fixed sets the width in logical pixels exactly.
// fixed 1920
}
// You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between.
// preset-window-heights { }
// You can change the default width of the new windows.
default-column-width { proportion 0.5; }
// If you leave the brackets empty, the windows themselves will decide their initial width.
// default-column-width {}
// By default focus ring and border are rendered as a solid background rectangle
// behind windows. That is, they will show up through semitransparent windows.
// This is because windows using client-side decorations can have an arbitrary shape.
//
// If you don't like that, you should uncomment `prefer-no-csd` below.
// Niri will draw focus ring and border *around* windows that agree to omit their
// client-side decorations.
//
// Alternatively, you can override it with a window rule called
// `draw-border-with-background`.
// You can change how the focus ring looks.
focus-ring {
// Uncomment this line to disable the focus ring.
// off
// How many logical pixels the ring extends out from the windows.
width 4
// Colors can be set in a variety of ways:
// - CSS named colors: "red"
// - RGB hex: "#rgb", "#rgba", "#rrggbb", "#rrggbbaa"
// - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others.
// Color of the ring on the active monitor.
active-color "#C1D6D6"
// foreground #C1D6D6
//background #07090B
// Color of the ring on inactive monitors.
//
// The focus ring only draws around the active window, so the only place
// where you can see its inactive-color is on other monitors.
inactive-color "#000000"
// You can also use gradients. They take precedence over solid colors.
// Gradients are rendered the same as CSS linear-gradient(angle, from, to).
// The angle is the same as in linear-gradient, and is optional,
// defaulting to 180 (top-to-bottom gradient).
// You can use any CSS linear-gradient tool on the web to set these up.
// Changing the color space is also supported, check the wiki for more info.
//
// active-gradient from="#80c8ff" to="#c7ff7f" angle=45
// You can also color the gradient relative to the entire view
// of the workspace, rather than relative to just the window itself.
// To do that, set relative-to="workspace-view".
//
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
}
// You can also add a border. It's similar to the focus ring, but always visible.
border {
// The settings are the same as for the focus ring.
// If you enable the border, you probably want to disable the focus ring.
off
width 2
active-color "#ffc87f"
inactive-color "#505050"
// Color of the border around windows that request your attention.
urgent-color "#9b0000"
// Gradients can use a few different interpolation color spaces.
// For example, this is a pastel rainbow gradient via in="oklch longer hue".
//
// active-gradient from="#e5989b" to="#ffb4a2" angle=45 relative-to="workspace-view" in="oklch longer hue"
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
}
// You can enable drop shadows for windows.
shadow {
// Uncomment the next line to enable shadows.
// on
// By default, the shadow draws only around its window, and not behind it.
// Uncomment this setting to make the shadow draw behind its window.
//
// Note that niri has no way of knowing about the CSD window corner
// radius. It has to assume that windows have square corners, leading to
// shadow artifacts inside the CSD rounded corners. This setting fixes
// those artifacts.
//
// However, instead you may want to set prefer-no-csd and/or
// geometry-corner-radius. Then, niri will know the corner radius and
// draw the shadow correctly, without having to draw it behind the
// window. These will also remove client-side shadows if the window
// draws any.
//
// draw-behind-window true
// You can change how shadows look. The values below are in logical
// pixels and match the CSS box-shadow properties.
// Softness controls the shadow blur radius.
softness 30
// Spread expands the shadow.
spread 5
// Offset moves the shadow relative to the window.
offset x=0 y=5
// You can also change the shadow color and opacity.
color "#0007"
}
// Struts shrink the area occupied by windows, similarly to layer-shell panels.
// You can think of them as a kind of outer gaps. They are set in logical pixels.
// Left and right struts will cause the next window to the side to always be visible.
// Top and bottom struts will simply add outer gaps in addition to the area occupied by
// layer-shell panels and regular gaps.
struts {
// left 64
// right 64
// top 64
// bottom 64
}
tab-indicator{
// off
}
insert-hint {
off
color "#ffc87f80"
gradient from="#ffbb6680" to="#ffc88080" angle=45 relative-to="workspace-view"
}
background-color "#07090B"
}
overview {
zoom 0.45
backdrop-color "#07090b"
workspace-shadow {
off
softness 40
spread 10
offset x=0 y=10
color "#00000050"
}
}
clipboard {
disable-primary
}
cursor {
//xcursor-theme "Dot-Dark"
xcursor-size 12
hide-when-typing
hide-after-inactive-ms 1000
}
// Add lines like this to spawn processes at startup.
// Note that running niri as a session supports xdg-desktop-autostart,
// which may be more convenient to use.
// See the binds section below for more spawn examples.
// This line starts waybar, a commonly used bar for Wayland compositors.
spawn-at-startup "waybar"
spawn-at-startup "fnott"
spawn-at-startup "clipse -listen"
// To run a shell command (with variables, pipes, etc.), use spawn-sh-at-startup:
// spawn-sh-at-startup "qs -c ~/source/qs/MyAwesomeShell"
hotkey-overlay {
// Uncomment this line to disable the "Important Hotkeys" pop-up at startup.
skip-at-startup
}
// Uncomment this line to ask the clients to omit their client-side decorations if possible.
// If the client will specifically ask for CSD, the request will be honored.
// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners.
// This option will also fix border/focus ring drawing behind some semitransparent windows.
// After enabling or disabling this, you need to restart the apps for this to take effect.
prefer-no-csd
// You can change the path where screenshots are saved.
// A ~ at the front will be expanded to the home directory.
// The path is formatted with strftime(3) to give you the screenshot date and time.
screenshot-path "~/imgs/screenshots/screenshot from %Y-%m-%d %H-%M-%S.png"
spawn-at-startup "throne"
// You can also set this to null to disable saving screenshots to disk.
// screenshot-path null
// Animation settings.
// The wiki explains how to configure individual animations:
// https://yalter.github.io/niri/Configuration:-Animations
animations {
// Uncomment to turn off all animations.
// off
// Slow down all animations by this factor. Values below 1 speed them up instead.
// slowdown 3.0
}
// Window rules let you adjust behavior for individual windows.
// Find more information on the wiki:
// https://yalter.github.io/niri/Configuration:-Window-Rules
// Work around WezTerm's initial configure bug
// by setting an empty default-column-width.
window-rule {
// This regular expression is intentionally made as specific as possible,
// since this is the default config, and we want no false positives.
// You can get away with just app-id="wezterm" if you want.
match app-id=r#"^org\.wezfurlong\.wezterm$"#
default-column-width {}
}
window-rule {
match app-id="clipse"
// match is-floating=true
open-maximized true
// open-floating true
tiled-state false
}
window-rule {
open-maximized false
geometry-corner-radius 5
tiled-state true
clip-to-geometry true
}
// Open the Firefox picture-in-picture player as floating by default.
window-rule {
// This app-id regular expression will work for both:
// - host Firefox (app-id is "firefox")
// - Flatpak Firefox (app-id is "org.mozilla.firefox")
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
open-floating true
}
// Example: block out two password managers from screen capture.
// (This example rule is commented out with a "/-" in front.)
/-window-rule {
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
match app-id=r#"^org\.gnome\.World\.Secrets$"#
block-out-from "screen-capture"
// Use this instead if you want them visible on third-party screenshot tools.
// block-out-from "screencast"
}
// Example: enable rounded corners for all windows.
// (This example rule is commented out with a "/-" in front.)
/-window-rule {
geometry-corner-radius 12
clip-to-geometry true
}
layer-rule {
//clip-to-geometry true
match namespace="fnott"
baba-is-float true
geometry-corner-radius 5
}
environment{
}
xwayland-satellite {
// off
path "xwayland-satellite"
}
binds {
// Keys consist of modifiers separated by + signs, followed by an XKB key name
// in the end. To find an XKB name for a particular key, you may use a program
// like wev.
//
// "Mod" is a special modifier equal to Super when running on a TTY, and to Alt
// when running as a winit window.
//
// Most actions that you can bind here can also be invoked programmatically with
// `niri msg action do-something`.
// Mod-Shift-/, which is usually the same as Mod-?,
// shows a list of important hotkeys.
Mod+Shift+Slash { show-hotkey-overlay; }
Super+F{ toggle-window-floating;}
// Mod+Shift+L{spawn "gtklock";}
// Suggested binds for running programs: terminal, app launcher, screen locker.
Mod+Q hotkey-overlay-title="Open a Terminal: alacritty" { spawn "kitty"; }
Mod+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; }
Super+W { spawn "kitty" "--class" "clipse" "-e" "clipse"; }
Mod+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "gtklock"; }
// Use spawn-sh to run a shell command. Do this if you need pipes, multiple commands, etc.
// Note: the entire command goes as a single argument. It's passed verbatim to `sh -c`.
// For example, this is a standard bind to toggle the screen reader (orca).
Super+Alt+S allow-when-locked=true hotkey-overlay-title=null { spawn-sh "pkill orca || exec orca"; }
// Example volume keys mappings for PipeWire & WirePlumber.
// The allow-when-locked=true property makes them work even when the session is locked.
// Using spawn-sh allows to pass multiple arguments together with the command.
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+"; }
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
// Example brightness key mappings for brightnessctl.
// You can use regular spawn with multiple arguments too (to avoid going through "sh"),
// but you need to manually put each argument in separate "" quotes.
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
// Open/close the Overview: a zoomed-out view of workspaces and windows.
// You can also move the mouse into the top-left hot corner,
// or do a four-finger swipe up on a touchpad.
Mod+O repeat=false { toggle-overview; }
Mod+C repeat=false { close-window; }
Mod+Left { focus-column-left; }
Mod+Down { focus-window-down; }
Mod+Up { focus-window-up; }
Mod+Right { focus-column-right; }
Mod+H { focus-column-left; }
Mod+J { focus-window-down; }
Mod+K { focus-window-up; }
Mod+L { focus-column-right; }
Mod+Ctrl+Left { move-column-left; }
Mod+Ctrl+Down { move-window-down; }
Mod+Ctrl+Up { move-window-up; }
Mod+Ctrl+Right { move-column-right; }
Mod+Ctrl+H { move-column-left; }
Mod+Ctrl+J { move-window-down; }
Mod+Ctrl+K { move-window-up; }
Mod+Ctrl+L { move-column-right; }
// Alternative commands that move across workspaces when reaching
// the first or last window in a column.
// Mod+J { focus-window-or-workspace-down; }
// Mod+K { focus-window-or-workspace-up; }
// Mod+Ctrl+J { move-window-down-or-to-workspace-down; }
// Mod+Ctrl+K { move-window-up-or-to-workspace-up; }
Mod+Home { focus-column-first; }
Mod+End { focus-column-last; }
Mod+Ctrl+Home { move-column-to-first; }
Mod+Ctrl+End { move-column-to-last; }
Mod+Shift+Left { focus-monitor-left; }
Mod+Shift+Down { focus-monitor-down; }
Mod+Shift+Up { focus-monitor-up; }
Mod+Shift+Right { focus-monitor-right; }
Mod+Shift+H { focus-monitor-left; }
Mod+Shift+J { focus-monitor-down; }
Mod+Shift+K { focus-monitor-up; }
// Mod+Shift+L { focus-monitor-right; }
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
// Alternatively, there are commands to move just a single window:
// Mod+Shift+Ctrl+Left { move-window-to-monitor-left; }
// ...
// And you can also move a whole workspace to another monitor:
// Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; }
// ...
Mod+Page_Down { focus-workspace-down; }
Mod+Page_Up { focus-workspace-up; }
Mod+U { focus-workspace-down; }
Mod+I { focus-workspace-up; }
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
Mod+Ctrl+U { move-column-to-workspace-down; }
Mod+Ctrl+I { move-column-to-workspace-up; }
// Alternatively, there are commands to move just a single window:
// Mod+Ctrl+Page_Down { move-window-to-workspace-down; }
// ...
Mod+Shift+Page_Down { move-workspace-down; }
Mod+Shift+Page_Up { move-workspace-up; }
Mod+Shift+U { move-workspace-down; }
Mod+Shift+I { move-workspace-up; }
Mod+Shift+MouseForward { focus-workspace-down; }
Mod+Shift+MouseBack { focus-workspace-up; }
Mod+MouseForward { focus-column-right; }
Mod+MouseBack { focus-column-left; }
// You can bind mouse wheel scroll ticks using the following syntax.
// These binds will change direction based on the natural-scroll setting.
//
// To avoid scrolling through workspaces really fast, you can use
// the cooldown-ms property. The bind will be rate-limited to this value.
// You can set a cooldown on any bind, but it's most useful for the wheel.
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
Mod+WheelScrollRight { focus-column-right; }
Mod+WheelScrollLeft { focus-column-left; }
Mod+Ctrl+WheelScrollRight { move-column-right; }
Mod+Ctrl+WheelScrollLeft { move-column-left; }
// Usually scrolling up and down with Shift in applications results in
// horizontal scrolling; these binds replicate that.
Mod+Shift+WheelScrollDown { focus-column-right; }
Mod+Shift+WheelScrollUp { focus-column-left; }
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
// Similarly, you can bind touchpad scroll "ticks".
// Touchpad scrolling is continuous, so for these binds it is split into
// discrete intervals.
// These binds are also affected by touchpad's natural-scroll, so these
// example binds are "inverted", since we have natural-scroll enabled for
// touchpads by default.
// Mod+TouchpadScrollDown { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02+"; }
// Mod+TouchpadScrollUp { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02-"; }
// You can refer to workspaces by index. However, keep in mind that
// niri is a dynamic workspace system, so these commands are kind of
// "best effort". Trying to refer to a workspace index bigger than
// the current workspace count will instead refer to the bottommost
// (empty) workspace.
//
// For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on
// will all refer to the 3rd workspace.
Mod+1 { focus-workspace 1; }
Mod+2 { focus-workspace 2; }
Mod+3 { focus-workspace 3; }
Mod+4 { focus-workspace 4; }
Mod+5 { focus-workspace 5; }
Mod+6 { focus-workspace 6; }
Mod+7 { focus-workspace 7; }
Mod+8 { focus-workspace 8; }
Mod+9 { focus-workspace 9; }
Mod+Ctrl+1 { move-column-to-workspace 1; }
Mod+Ctrl+2 { move-column-to-workspace 2; }
Mod+Ctrl+3 { move-column-to-workspace 3; }
Mod+Ctrl+4 { move-column-to-workspace 4; }
Mod+Ctrl+5 { move-column-to-workspace 5; }
Mod+Ctrl+6 { move-column-to-workspace 6; }
Mod+Ctrl+7 { move-column-to-workspace 7; }
Mod+Ctrl+8 { move-column-to-workspace 8; }
Mod+Ctrl+9 { move-column-to-workspace 9; }
// Alternatively, there are commands to move just a single window:
// Mod+Ctrl+1 { move-window-to-workspace 1; }
// Switches focus between the current and the previous workspace.
Mod+Tab { focus-workspace-previous; }
// The following binds move the focused window in and out of a column.
// If the window is alone, they will consume it into the nearby column to the side.
// If the window is already in a column, they will expel it out.
Mod+BracketLeft { consume-or-expel-window-left; }
Mod+BracketRight { consume-or-expel-window-right; }
// Consume one window from the right to the bottom of the focused column.
Mod+Comma { consume-window-into-column; }
// Expel the bottom window from the focused column to the right.
Mod+Period { expel-window-from-column; }
Mod+R { switch-preset-column-width; }
Mod+Shift+W { toggle-column-tabbed-display; }
// Cycling through the presets in reverse order is also possible.
// Mod+R { switch-preset-column-width-back; }
Mod+Shift+R { switch-preset-window-height; }
Mod+Ctrl+R { reset-window-height; }
Mod+A { maximize-column; }
Mod+Shift+A { fullscreen-window; }
// Expand the focused column to space not taken up by other fully visible columns.
// Makes the column "fill the rest of the space".
Mod+Ctrl+F { expand-column-to-available-width; }
Mod+M { center-column; }
// Center all fully visible columns on screen.
Mod+Ctrl+C { center-visible-columns; }
// Finer width adjustments.
// This command can also:
// * set width in pixels: "1000"
// * adjust width in pixels: "-5" or "+5"
// * set width as a percentage of screen width: "25%"
// * adjust width as a percentage of screen width: "-10%" or "+10%"
// Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0,
// set-column-width "100" will make the column occupy 200 physical screen pixels.
Mod+Minus { set-column-width "-10%"; }
Mod+Equal { set-column-width "+10%"; }
// Finer height adjustments when in column with other windows.
Mod+Shift+Minus { set-window-height "-10%"; }
Mod+Shift+Equal { set-window-height "+10%"; }
// Move the focused window between the floating and the tiling layout.
Mod+V { toggle-window-floating; }
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
// Toggle tabbed column display mode.
// Windows in this column will appear as vertical tabs,
// rather than stacked on top of each other.
//Mod+W { toggle-column-tabbed-display; }
// Actions to switch layouts.
// Note: if you uncomment these, make sure you do NOT have
// a matching layout switch hotkey configured in xkb options above.
// Having both at once on the same hotkey will break the switching,
// since it will switch twice upon pressing the hotkey (once by xkb, once by niri).
// Mod+Space { switch-layout "next"; }
// Mod+Shift+Space { switch-layout "prev"; }
Mod+Shift+S { screenshot; }
Ctrl+Print { screenshot-screen; }
Alt+Print { screenshot-window; }
// Applications such as remote-desktop clients and software KVM switches may
// request that niri stops processing the keyboard shortcuts defined here
// so they may, for example, forward the key presses as-is to a remote machine.
// It's a good idea to bind an escape hatch to toggle the inhibitor,
// so a buggy application can't hold your session hostage.
//
// The allow-inhibiting=false property can be applied to other binds as well,
// which ensures niri always processes them, even when an inhibitor is active.
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
// The quit action will show a confirmation dialog to avoid accidental exits.
Mod+Shift+E { quit; }
Ctrl+Alt+Delete { quit; }
// Powers off the monitors. To turn them back on, do any input like
// moving the mouse or pressing any other key.
Mod+Shift+P { power-off-monitors; }
}

View file

@ -1 +1,32 @@
my .conf files for arch
# This is my configuration files for:
- niri
- kitty
- btop
- clipse
- fastfetch
- hypr (outdated)
- fuzzel
- hyprwave
- neovim
- termusic
- yazi
- waybar (outdated)
- fish
also here is the list of arch packages that i use
if you want to use the niri config without editing, you should install the dependencies:
```
paru -Syu niri-screen-time swayosd walker swaync clipse swaybg xwayland-satellite hyprwave hyprlock hyprpicker
```
if u wanna install **all** packages that i use do next:
copy that repository
```
cd arch-conf
xargs -a apps-list.md paru -Syu
```
(not recommended)

View file

@ -18,6 +18,7 @@ bluedevil
bluetui bluetui
bluez-utils bluez-utils
breeze breeze
breeze-cursors
breeze-gtk breeze-gtk
breeze-plymouth breeze-plymouth
brightnessctl brightnessctl
@ -25,6 +26,7 @@ browsh
btop btop
buho buho
cable cable
caja
calcurse calcurse
cava cava
clipse clipse
@ -34,7 +36,10 @@ cmus
cool-retro-term cool-retro-term
cowsay cowsay
cull-bin cull-bin
dconf-editor
decibels
dialog dialog
discover
dmenu dmenu
dnsmasq dnsmasq
docker docker
@ -45,21 +50,26 @@ eblanfetch
efibootmgr efibootmgr
electron24-bin electron24-bin
element-desktop element-desktop
elephant-all
elyprismlauncher-bin elyprismlauncher-bin
emptty emptty
eog eog
epiphany
espeak-ng espeak-ng
eww eww
ex-vi-compat ex-vi-compat
expac expac
eza eza
fagram-bin
fastfetch fastfetch
fd fd
filezilla
firefox firefox
firefox-tridactyl firefox-tridactyl
fish fish
flatpak-kcm flatpak-kcm
floorp-bin floorp-bin
fluffychat-bin
foliate foliate
foot foot
freerdp freerdp
@ -68,18 +78,49 @@ fuzzel
fzf fzf
galculator galculator
gamescope gamescope
gdm
geoip geoip
geoip-database geoip-database
ghostty ghostty
gimp gimp
git git
gnome-backgrounds
gnome-calculator gnome-calculator
gnome-calendar
gnome-characters
gnome-clocks
gnome-color-manager
gnome-connections
gnome-console
gnome-contacts
gnome-control-center
gnome-disk-utility
gnome-font-viewer
gnome-keyring
gnome-logs
gnome-maps
gnome-menus
gnome-music
gnome-panel
gnome-photos gnome-photos
gnome-remote-desktop
gnome-session
gnome-settings-daemon
gnome-shell
gnome-software
gnome-sound-recorder gnome-sound-recorder
gnome-system-monitor
gnome-text-editor
gnome-themes-extra gnome-themes-extra
gnome-tour
gnome-tweaks gnome-tweaks
gnome-user-docs
gnome-user-share
gnome-weather
godotpcktool-bin godotpcktool-bin
google-chrome
greetd-tuigreet greetd-tuigreet
grilo-plugins
grub grub
gsh gsh
gthumb gthumb
@ -88,6 +129,16 @@ gtk-theme-elementary
gtk-theme-material-black gtk-theme-material-black
gtk3 gtk3
gtklock gtklock
gvfs-afc
gvfs-dnssd
gvfs-goa
gvfs-google
gvfs-gphoto2
gvfs-mtp
gvfs-nfs
gvfs-onedrive
gvfs-smb
gvfs-wsdd
helix helix
helm-bin helm-bin
helvum helvum
@ -136,6 +187,7 @@ kwin-x11
kwrited kwrited
labwc labwc
layer-shell-qt layer-shell-qt
lib32-gamemode
lib32-gnutls lib32-gnutls
libkscreen libkscreen
libksysguard libksysguard
@ -148,13 +200,28 @@ linux-firmware
linux-headers linux-headers
lla lla
lmms lmms
loupe
lsd lsd
lutris lutris
ly ly
mailsend-go mailsend-go
malcontent
mandoc mandoc
marco
marktext-tkaixiang-bin marktext-tkaixiang-bin
marp-cli marp-cli
mate-backgrounds
mate-control-center
mate-desktop
mate-icon-theme
mate-menus
mate-notification-daemon
mate-panel
mate-polkit
mate-session-manager
mate-settings-daemon
mate-themes
mate-user-guide
mcomix mcomix
mesa-demos mesa-demos
microsocks microsocks
@ -168,11 +235,11 @@ neovim
nerd-fonts-noto-sans-mono nerd-fonts-noto-sans-mono
netstat-nat netstat-nat
networkmanager networkmanager
nheko
nicotine+ nicotine+
niri niri
niri-screen-time-git niri-screen-time-git
nirius nirius
nix
nomacs nomacs
noto-fonts-cjk noto-fonts-cjk
noto-fonts-emoji noto-fonts-emoji
@ -189,7 +256,9 @@ ollama-cuda
openbsd-netcat openbsd-netcat
openrazer-daemon openrazer-daemon
oxygen oxygen
oxygen-cursors
oxygen-sounds oxygen-sounds
papers
papirus-icon-theme papirus-icon-theme
paru paru
paru-debug paru-debug
@ -198,12 +267,15 @@ pavucontrol
pidgin pidgin
pipewire-alsa pipewire-alsa
pipewire-pulse pipewire-pulse
plasma-activities
plasma-activities-stats plasma-activities-stats
plasma-browser-integration plasma-browser-integration
plasma-desktop plasma-desktop
plasma-disks plasma-disks
plasma-firewall plasma-firewall
plasma-integration plasma-integration
plasma-keyboard
plasma-login-manager
plasma-nm plasma-nm
plasma-pa plasma-pa
plasma-sdk plasma-sdk
@ -238,6 +310,7 @@ qwen-code
reaper reaper
relay-scanner relay-scanner
rmpc rmpc
rygel
sakura sakura
scrcpy scrcpy
scrntime-git scrntime-git
@ -245,8 +318,10 @@ sddm-kcm
showmethekey showmethekey
showtime showtime
sillytavern-git sillytavern-git
simple-scan
sing-box sing-box
sioyek sioyek
snapshot
snekstudio-bin snekstudio-bin
spectacle spectacle
speedcrunch speedcrunch
@ -254,6 +329,7 @@ squid
startwine startwine
steam steam
sudo sudo
sushi
swaybg swaybg
swaync swaync
swayosd swayosd
@ -264,14 +340,17 @@ systemsettings
tailscale tailscale
tangent-bin tangent-bin
tcsh tcsh
tecla
telegram-cli-git telegram-cli-git
telegram-desktop telegram-desktop
termusic termusic
tesseract-data-eng tesseract-data-eng
throne-bin throne-bin
timr timr
tofi
tor tor
torbrowser-launcher torbrowser-launcher
traceroute
ttf-iosevka-nerd ttf-iosevka-nerd
ttf-iosevkaterm-nerd ttf-iosevkaterm-nerd
ttf-quicksand-variable ttf-quicksand-variable
@ -289,11 +368,15 @@ vkd3d
vulkan-tools vulkan-tools
vulkan-validation-layers vulkan-validation-layers
wacomtablet wacomtablet
walker
waybar waybar
waydroid waydroid
wayland-utils
wayvnc
weechat weechat
wego wego
wf-recorder wf-recorder
whosthere-bin
wine-staging wine-staging
winetricks winetricks
wireshark-cli wireshark-cli
@ -344,6 +427,7 @@ xprintidle
xray-bin xray-bin
xwayland-satellite xwayland-satellite
yazi yazi
yelp
yggdrasil yggdrasil
yt-dlp yt-dlp
zathura zathura

Binary file not shown.

Before

Width:  |  Height:  |  Size: 910 KiB

View file

@ -5,11 +5,17 @@
"display": { "display": {
"pipe": true, "pipe": true,
"key": { "key": {
"width": 16 "width": 16,
}, },
"separator": "│ ", "separator": "│ ",
"percent": { "percent": {
"type": ["bar", "hide-others"] "type": 9,
"color": {
"green": "green",
"yellow": "light_yellow",
"red": "light_red"
}
}, },
"bar": { "bar": {
"border": null, "border": null,
@ -45,6 +51,24 @@
"type": "custom", "type": "custom",
"format": "├────────────┬──────────────────────────────────────────┤" "format": "├────────────┬──────────────────────────────────────────┤"
}, },
{
"type": "datetime",
"key": "│ TIME │{$1}",
"format": "{hour-pretty}:{minute-pretty}",
},
{
"type": "datetime",
"key": "│ DATE │{$1}",
"format": "{day-pretty}.{month}.{year-short}, {weekday}",
},
{
"type": "custom",
"format": "├────────────┼──────────────────────────────────────────┤"
},
{ {
"type": "os", "type": "os",
"key": "│ OS │{$1}" "key": "│ OS │{$1}"
@ -54,18 +78,8 @@
"key": "│ KERNEL │{$1}" "key": "│ KERNEL │{$1}"
}, },
{
"type": "title",
"key": "│ HOSTNAME │{$1}",
"format": "{host-name}"
},
{
"type": "host",
"key": "│ MACHINE │{$1}",
"format": "{name}{?vendor}({vendor}){?}"
},
// { // {
// "type":"display", // "type":"display",
// "key":"│ MONITOR │{$1}" // "key":"│ MONITOR │{$1}"
@ -94,11 +108,6 @@
// }, // },
{
"type": "packages",
"key": "│ PACKAGES │{$1}"
},
{ {
"type": "custom", "type": "custom",
@ -106,23 +115,15 @@
}, },
{ {
"type": "cpu", "type": "cpu",
"key": "│ PROCESSOR │{$1}", "key": "│ CPU │{$1}",
"format": "{name}" "temp": true,
}, "format": "{name}, {freq-max}{/freq-max}{freq-base}{/} - {temperature}"
{
"type": "cpu",
"key": "│ CORES │{$1}",
"format": "{cores-physical} PHYSICAL CORES / {cores-logical} THREADS",
"showPeCoreCount": false
},
{
"type": "cpu",
"key": "│ CPU FREQ │{$1}",
"format": "{freq-max}{/freq-max}{freq-base}{/}"
}, },
{ {
"type": "gpu", "type": "gpu",
"key": "│ GPU │{$1}" "key": "│ GPU │{$1}",
"temp": true,
"format": "{name} - {temperature} {frequency}"
}, },
{ {
@ -142,75 +143,25 @@
// } // }
// }, // },
{
"type": "custom",
"format": "├────────────┼──────────────────────────────────────────┤"
},
{ {
"type": "disk", "type": "disk",
"key": "│ DISK USAGE │{$1}", "key": "│ DISK │{$1}",
"format": "{size-used} / {size-total} [{size-percentage}]", "format": "{size-used} / {size-total} [{size-percentage}]",
"folders": "/", "folders": "/",
"percent": { "percent": {
"type": ["num"] "type": ["num"]
} }
}, },
{ {
"type": "disk",
"key": "│ DISK USAGE │{$1}",
"format": "",
"percent": {
"type": ["bar", "hide-others"]
}
},
{
"type": "custom", "type": "custom",
"format": "├────────────┼──────────────────────────────────────────┤" "format": "├────────────┼──────────────────────────────────────────┤"
}, },
{
"type": "wm",
"key": "│ WM │{$1}",
"keyColor": "blue"
},
{
"type": "LM",
"key": "│ LM │{$1}"
}, {
{
"type":"Shell",
"key":"│ SHELL │{$1}"
},
{
"type": "terminal",
"key":"│ TERMINAL │{$1}"
},
{
"type": "weather",
"key":"│ WEATHER │{$1}",
"timeout": 1000
},
{
"type": "custom",
"format": "├────────────┼──────────────────────────────────────────┤"
},
{
"type": "users",
"key": "│ LAST LOGIN │{$1}",
"format": "{login-time}{?client-ip} ({client-ip})",
"myselfOnly": true
},
{
"type": "uptime", "type": "uptime",
"key": "│ UPTIME │{$1}" "key": "│ UPTIME │{$1}"
}, },
{
"type": "title",
"key": "│ USER │{$1}",
"format": "{user-name}"
},
{ {
"type": "disk", "type": "disk",

View file

@ -9,7 +9,6 @@ end
# This variable is global so that it can be referenced by fzf_configure_bindings and in tests # This variable is global so that it can be referenced by fzf_configure_bindings and in tests
set --global _fzf_search_vars_command '_fzf_search_variables (set --show | psub) (set --names | psub)' set --global _fzf_search_vars_command '_fzf_search_variables (set --show | psub) (set --names | psub)'
# Install the default bindings, which are mnemonic and minimally conflict with fish's preset bindings # Install the default bindings, which are mnemonic and minimally conflict with fish's preset bindings
fzf_configure_bindings fzf_configure_bindings

View file

@ -0,0 +1,2 @@
if test -e /home/unconfer/.nix-profile/etc/profile.d/nix.fish; . /home/unconfer/.nix-profile/etc/profile.d/nix.fish; end # added by Nix installer

View file

@ -1,3 +1,4 @@
if status is-interactive if status is-interactive
set -U fish_cursor_replace_one underscore
# Commands to run in interactive sessions can go here # Commands to run in interactive sessions can go here
end end

View file

@ -6,4 +6,6 @@ SETUVAR _fisher_jorgebucaran_2F_fisher_files:\x7e/\x2econfig/fish/functions/fish
SETUVAR _fisher_patrickf1_2F_fzf_2E_fish_files:\x7e/\x2econfig/fish/functions/_fzf_configure_bindings_help\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_extract_var_info\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_preview_changed_file\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_preview_file\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_report_diff_type\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_report_file_type\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_directory\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_git_log\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_git_status\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_history\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_processes\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_variables\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_wrapper\x2efish\x1e\x7e/\x2econfig/fish/functions/fzf_configure_bindings\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/fzf\x2efish\x1e\x7e/\x2econfig/fish/completions/fzf_configure_bindings\x2efish SETUVAR _fisher_patrickf1_2F_fzf_2E_fish_files:\x7e/\x2econfig/fish/functions/_fzf_configure_bindings_help\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_extract_var_info\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_preview_changed_file\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_preview_file\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_report_diff_type\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_report_file_type\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_directory\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_git_log\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_git_status\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_history\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_processes\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_variables\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_wrapper\x2efish\x1e\x7e/\x2econfig/fish/functions/fzf_configure_bindings\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/fzf\x2efish\x1e\x7e/\x2econfig/fish/completions/fzf_configure_bindings\x2efish
SETUVAR _fisher_plugins:jorgebucaran/fisher\x1epatrickf1/fzf\x2efish SETUVAR _fisher_plugins:jorgebucaran/fisher\x1epatrickf1/fzf\x2efish
SETUVAR _fisher_upgraded_to_4_4:\x1d SETUVAR _fisher_upgraded_to_4_4:\x1d
SETUVAR fish_cursor_default:block
SETUVAR fish_cursor_replace_one:underscore
SETUVAR fish_greeting:\x1d SETUVAR fish_greeting:\x1d

View file

@ -18,7 +18,8 @@ DESCRIPTION
Search Processes | Ctrl+Alt+P (P for process) | --processes Search Processes | Ctrl+Alt+P (P for process) | --processes
Search Variables | Ctrl+V (V for variable) | --variables Search Variables | Ctrl+V (V for variable) | --variables
Override a command's binding by specifying its corresponding option with the desired key Override a command's binding by specifying its corresponding option with the desired key
sequence. Disable a command's binding by specifying its corresponding option with no value. sequence using fish's key name syntax (e.g. ctrl-f, ctrl-alt-v). Disable a command's binding
by specifying its corresponding option with no value.
Because fzf_configure_bindings erases bindings it previously installed, it can be cleanly Because fzf_configure_bindings erases bindings it previously installed, it can be cleanly
executed multiple times. Once the desired fzf_configure_bindings command has been found, add it executed multiple times. Once the desired fzf_configure_bindings command has been found, add it
@ -31,11 +32,11 @@ DESCRIPTION
EXAMPLES EXAMPLES
Default bindings but bind Search Directory to Ctrl+F and Search Variables to Ctrl+Alt+V Default bindings but bind Search Directory to Ctrl+F and Search Variables to Ctrl+Alt+V
\$ fzf_configure_bindings --directory=\cf --variables=\e\cv \$ fzf_configure_bindings --directory=ctrl-f --variables=ctrl-alt-v
Default bindings but disable Search History Default bindings but disable Search History
\$ fzf_configure_bindings --history= \$ fzf_configure_bindings --history=
An agglomeration of different options An agglomeration of different options
\$ fzf_configure_bindings --git_status=\cg --history=\ch --variables= --processes= \$ fzf_configure_bindings --git_status=ctrl-g --history=ctrl-h --variables= --processes=
SEE Also SEE Also
To learn more about fish key bindings, see bind(1) and fish_key_reader(1). To learn more about fish key bindings, see bind(1) and fish_key_reader(1).

View file

@ -3,10 +3,8 @@ function _fzf_extract_var_info --argument-names variable_name set_show_output --
# Extract only the lines about the variable, all of which begin with either # Extract only the lines about the variable, all of which begin with either
# $variable_name: ...or... $variable_name[ # $variable_name: ...or... $variable_name[
string match --regex "^\\\$$variable_name(?::|\[).*" <$set_show_output | string match --regex "^\\\$$variable_name(?::|\[).*" <$set_show_output |
# Strip the variable name prefix, including ": " for scope info lines # Strip the variable name prefix, including ": " for scope info lines
string replace --regex "^\\\$$variable_name(?:: )?" '' | string replace --regex "^\\\$$variable_name(?:: )?" '' |
# Distill the lines of values, replacing... # Distill the lines of values, replacing...
# [1]: |value| # [1]: |value|
# ...with... # ...with...

View file

@ -24,7 +24,6 @@ function _fzf_search_directory --description "Search the current directory. Repl
set -f file_paths_selected ($fd_cmd 2>/dev/null | _fzf_wrapper $fzf_arguments) set -f file_paths_selected ($fd_cmd 2>/dev/null | _fzf_wrapper $fzf_arguments)
end end
if test $status -eq 0 if test $status -eq 0
commandline --current-token --replace -- (string escape -- $file_paths_selected | string join ' ') commandline --current-token --replace -- (string escape -- $file_paths_selected | string join ' ')
end end

View file

@ -1,17 +1,18 @@
function fisher --argument-names cmd --description "A plugin manager for Fish" function fisher --argument-names cmd --description "A plugin manager for Fish"
set --query fisher_path || set --local fisher_path $__fish_config_dir set --query fisher_path || set --local fisher_path $__fish_config_dir
set --local fisher_version 4.4.5 set --local fisher_version 4.4.8
set --local fish_plugins $__fish_config_dir/fish_plugins set --local fish_plugins $__fish_config_dir/fish_plugins
switch "$cmd" switch "$cmd"
case -v --version case -v --version
echo "fisher, version $fisher_version" echo "fisher, version $fisher_version"
case "" -h --help case "" -h --help
echo "Usage: fisher install <plugins...> Install plugins" echo "Usage: fisher install <plugins...> Install plugins"
echo " fisher remove <plugins...> Remove installed plugins" echo " fisher remove <plugins...> Remove installed plugins"
echo " fisher update <plugins...> Update installed plugins" echo " fisher uninstall <plugins...> Remove installed plugins (alias)"
echo " fisher update Update all installed plugins" echo " fisher update <plugins...> Update installed plugins"
echo " fisher list [<regex>] List installed plugins matching regex" echo " fisher update Update all installed plugins"
echo " fisher list [<regex>] List installed plugins matching regex"
echo "Options:" echo "Options:"
echo " -v, --version Print version" echo " -v, --version Print version"
echo " -h, --help Print this help message" echo " -h, --help Print this help message"
@ -19,9 +20,11 @@ function fisher --argument-names cmd --description "A plugin manager for Fish"
echo " \$fisher_path Plugin installation path. Default: $__fish_config_dir" | string replace --regex -- $HOME \~ echo " \$fisher_path Plugin installation path. Default: $__fish_config_dir" | string replace --regex -- $HOME \~
case ls list case ls list
string match --entire --regex -- "$argv[2]" $_fisher_plugins string match --entire --regex -- "$argv[2]" $_fisher_plugins
case install update remove case install update remove uninstall
isatty || read --local --null --array stdin && set --append argv $stdin isatty || read --local --null --array stdin && set --append argv $stdin
test "$cmd" = uninstall && set cmd remove
set --local install_plugins set --local install_plugins
set --local update_plugins set --local update_plugins
set --local remove_plugins set --local remove_plugins
@ -38,6 +41,8 @@ function fisher --argument-names cmd --description "A plugin manager for Fish"
echo "fisher: \"$fish_plugins\" file not found: \"$cmd\"" >&2 && return 1 echo "fisher: \"$fish_plugins\" file not found: \"$cmd\"" >&2 && return 1
end end
set arg_plugins $file_plugins set arg_plugins $file_plugins
else if test "$cmd" = install && ! set --query old_plugins[1]
set --append arg_plugins $file_plugins
end end
for plugin in $arg_plugins for plugin in $arg_plugins
@ -86,6 +91,7 @@ function fisher --argument-names cmd --description "A plugin manager for Fish"
if test -e $plugin if test -e $plugin
command cp -Rf $plugin/* $source command cp -Rf $plugin/* $source
else else
set resp (command mktemp)
set temp (command mktemp -d) set temp (command mktemp -d)
set repo (string split -- \@ $plugin) || set repo[2] HEAD set repo (string split -- \@ $plugin) || set repo[2] HEAD
@ -98,8 +104,13 @@ function fisher --argument-names cmd --description "A plugin manager for Fish"
echo Fetching (set_color --underline)\$url(set_color normal) echo Fetching (set_color --underline)\$url(set_color normal)
if command curl -q --silent -L \$url | command tar -xzC \$temp -f - 2>/dev/null set http (command curl -q --silent -L -o \$resp -w %{http_code} \$url)
if test \"\$http\" = 200 && command tar -xzC \$temp -f \$resp 2>/dev/null
command cp -Rf \$temp/*/* $source command cp -Rf \$temp/*/* $source
else if test \"\$http\" = 403
echo fisher: GitHub API rate limit exceeded \(HTTP 403\) >&2
command rm -rf $source
else else
echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2 echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2
command rm -rf $source command rm -rf $source

View file

@ -16,7 +16,7 @@ function fzf_configure_bindings --description "Installs the default key bindings
else else
# Initialize with default key sequences and then override or disable them based on flags # Initialize with default key sequences and then override or disable them based on flags
# index 1 = directory, 2 = git_log, 3 = git_status, 4 = history, 5 = processes, 6 = variables # index 1 = directory, 2 = git_log, 3 = git_status, 4 = history, 5 = processes, 6 = variables
set -f key_sequences \e\cf \e\cl \e\cs \cr \e\cp \cv # \c = control, \e = escape set -f key_sequences ctrl-alt-f ctrl-alt-l ctrl-alt-s ctrl-r ctrl-alt-p ctrl-v
set --query _flag_directory && set key_sequences[1] "$_flag_directory" set --query _flag_directory && set key_sequences[1] "$_flag_directory"
set --query _flag_git_log && set key_sequences[2] "$_flag_git_log" set --query _flag_git_log && set key_sequences[2] "$_flag_git_log"
set --query _flag_git_status && set key_sequences[3] "$_flag_git_status" set --query _flag_git_status && set key_sequences[3] "$_flag_git_status"

View file

@ -0,0 +1,3 @@
function sshp --wraps='ssh -P 49111' --description 'alias sshp=ssh -P 49111'
ssh -P 49111 $argv
end

View file

@ -0,0 +1,35 @@
# HyprWave Configuration File
[General]
# Edge to anchor HyprWave to
# Options: right, left, top, bottom
edge = top
# Margin from the screen edge (in pixels)
margin = 10
# Layer to render on
# Options: background, bottom, top, overlay
layer = top
# Exclusive zone: 0 = respect other surfaces, -1 = overlap everything
exclusive_zone = 0
[Notifications]
enabled = true
now_playing = true
[Visualizer]
# Enable/disable visualizer (horizontal layout only)
enabled = true
# Idle timeout in seconds before visualizer appears
# Set to 0 to disable auto-activation
idle_timeout = 5
[VerticalDisplay]
enabled=true
idle_timeout=5
[MusicPlayer]
preference = spotify,vlc

567
config/hyprwave/style.css Normal file
View file

@ -0,0 +1,567 @@
/* ========================================
HyprWave - Mystic Portal Theme
Inspired by purple/pink portal with blue depths
======================================== */
:root {
/* Background Colors - Deep Void */
--bg-primary: rgba(15, 12, 30, 0.75);
--bg-secondary: rgba(20, 18, 40, 0.75);
--bg-album-cover: rgba(25, 22, 48, 0.85);
--bg-album-secondary: rgba(30, 28, 55, 0.85);
/* Button Colors - Default (Prev/Next) - Mystic Purple */
--btn-default: rgba(140, 100, 180, 0.85);
--btn-default-secondary: rgba(130, 90, 170, 0.85);
--btn-default-hover: rgba(160, 120, 200, 0.92);
--btn-default-hover-secondary: rgba(150, 110, 190, 0.92);
/* Button Colors - Play/Pause - Bright Pink Portal */
--btn-play: rgba(255, 100, 200, 0.95);
--btn-play-secondary: rgba(240, 80, 180, 0.95);
--btn-play-hover: rgba(255, 120, 215, 0.98);
--btn-play-hover-secondary: rgba(255, 110, 205, 0.98);
--btn-play-active: rgba(230, 70, 170, 0.95);
--btn-play-active-secondary: rgba(220, 60, 160, 0.95);
/* Button Colors - Expand - Deep Violet */
--btn-expand: rgba(120, 60, 200, 0.95);
--btn-expand-secondary: rgba(110, 50, 190, 0.95);
--btn-expand-hover: rgba(140, 80, 220, 0.98);
--btn-expand-hover-secondary: rgba(130, 70, 210, 0.98);
--btn-expand-active: rgba(100, 40, 180, 0.95);
--btn-expand-active-secondary: rgba(90, 35, 170, 0.95);
/* Progress Bar Colors */
--progress-bg: rgba(40, 30, 60, 0.25);
--progress-fill-start: rgba(255, 100, 200, 0.95);
--progress-fill-end: rgba(120, 60, 200, 0.95);
/* Slider Handle Colors */
--handle-color: rgba(255, 100, 200, 0.98);
--handle-hover: rgba(255, 120, 215, 1.0);
--handle-border: rgba(230, 70, 170, 0.5);
--handle-shadow: rgba(255, 100, 200, 0.6);
/* Text Colors - Soft pink/purple on dark */
--text-primary: rgba(255, 220, 245, 0.95);
--text-secondary: rgba(230, 190, 220, 0.85);
--text-tertiary: rgba(200, 160, 195, 0.75);
--text-muted: rgba(160, 120, 165, 0.65);
/* Border Colors */
--border-primary: rgba(100, 70, 140, 0.35);
--border-button: rgba(120, 85, 160, 0.3);
--border-button-hover: rgba(140, 100, 180, 0.45);
--border-play: rgba(255, 100, 200, 0.4);
--border-play-hover: rgba(255, 120, 215, 0.55);
--border-expand: rgba(120, 60, 200, 0.4);
--border-expand-hover: rgba(140, 80, 220, 0.55);
/* Shadow Colors */
--shadow-default: rgba(0, 0, 0, 0.6);
--shadow-button: rgba(0, 0, 0, 0.5);
--shadow-play: rgba(255, 100, 200, 0.5);
--shadow-play-hover: rgba(255, 120, 215, 0.7);
--shadow-expand: rgba(120, 60, 200, 0.5);
--shadow-expand-hover: rgba(140, 80, 220, 0.7);
--shadow-focus: rgba(255, 100, 200, 0.7);
/* Spacing & Sizes */
--border-radius-container: 100px;
--border-radius-section: 20px;
--border-radius-album: 16px;
--border-radius-button: 50%;
--border-radius-progress: 2px;
--padding-container: 12px;
--padding-section: 16px;
}
/* Visualizer bars - mystic portal glow */
.visualizer-bar {
background: linear-gradient(180deg,
rgba(255, 120, 215, 0.98),
rgba(180, 100, 220, 0.98),
rgba(140, 80, 220, 0.98));
border-radius: 0px;
transition: all 0.05s ease-out;
margin: 0px;
min-width: 1px;
min-height: 3px;
box-shadow: 0 0 16px rgba(255, 100, 200, 0.8),
0 0 10px rgba(140, 80, 220, 0.6);
}
.vertical-display-label {
font-family: 'VT323', monospace;
font-size: 28px;
font-weight: bold;
color: rgba(255, 120, 215, 0.98);
letter-spacing: 0px;
line-height: 1.2;
}
/* CRITICAL: Disable CSS transitions during JavaScript animations */
.no-transition,
.no-transition * {
transition: none !important;
animation: none !important;
}
/* ========================================
Base Styles
======================================== */
/* GTK4 transparent window - CRITICAL for compositor transparency */
window,
window.background,
.hyprwave-window {
background-color: transparent;
background-image: none;
}
/* Ensure ALL window-level elements are transparent */
window > * {
background: transparent;
}
/* Main container - transparent */
.main-container {
background: transparent;
}
/* ========================================
Control Container (Vertical Bar)
======================================== */
.control-container {
background: linear-gradient(145deg, var(--bg-primary), var(--bg-secondary));
border-radius: var(--border-radius-container);
border: 1px solid var(--border-primary);
padding: var(--padding-container);
margin: 0;
}
/* ========================================
Control Container (Horizontal Bar)
For Top/Bottom Layouts
======================================== */
.control-container-horizontal {
/* Match the vertical style exactly for consistency */
background: linear-gradient(145deg, var(--bg-primary), var(--bg-secondary));
border-radius: var(--border-radius-container); /* Keeps the pill shape */
border: 1px solid var(--border-primary);
/* Horizontal padding is critical here to prevent buttons
from touching the rounded edges */
padding: 8px 24px;
margin: 0;
}
/* ========================================
Expanded Section (Album Details Card)
======================================== */
.expanded-section {
background: linear-gradient(145deg, var(--bg-primary), var(--bg-secondary));
border-radius: var(--border-radius-section);
border: 1px solid var(--border-primary);
padding: var(--padding-section);
margin: 0;
margin-top: 4px; /* Reduced spacing from control bar */
}
/* ========================================
Expanded Section (Horizontal Layout)
For Top/Bottom Layouts
======================================== */
.expanded-section-horizontal {
background: linear-gradient(145deg, var(--bg-primary), var(--bg-secondary));
border-radius: var(--border-radius-section);
border: 1px solid var(--border-primary);
/* Slightly different padding/margin to look good below/above the bar */
padding: var(--padding-section);
margin-top: 2px; /* Adds gap between control bar and this panel */
margin-bottom: 2px;
/* Ensure it doesn't get too squeezed */
min-width: 300px;
}
/* Album cover */
.album-cover {
background: linear-gradient(135deg, var(--bg-album-cover), var(--bg-album-secondary));
border-radius: var(--border-radius-album);
border: 1px solid var(--border-button);
box-shadow: 0 4px 16px var(--shadow-button);
}
/* ========================================
Text Styles
======================================== */
/* Source label (e.g., "Spotify") */
.source-label {
color: var(--text-muted);
font-size: 11px;
font-weight: 500;
margin-top: 8px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
/* Track title */
.track-title {
color: var(--text-primary);
font-size: 14px;
font-weight: 600;
margin-top: 4px;
}
/* Artist label */
.artist-label {
color: var(--text-secondary);
font-size: 12px;
font-weight: 500;
margin-top: 2px;
}
/* Time remaining */
.time-remaining {
color: var(--text-tertiary);
font-size: 12px;
font-weight: 500;
margin-top: 2px;
}
/* ========================================
Progress Bar - FIXED FOR GTK4
======================================== */
.track-progress {
min-height: 4px;
margin-top: 8px;
margin-bottom: 4px;
}
/* The background track */
.track-progress trough {
background: var(--progress-bg);
border-radius: var(--border-radius-progress);
min-height: 4px;
}
/* The filled progress portion - GTK4 specific */
.track-progress progress {
background: linear-gradient(90deg, var(--progress-fill-start), var(--progress-fill-end));
border-radius: var(--border-radius-progress);
min-height: 4px;
}
/* GTK4 also needs this for the fill bar to show */
progressbar trough {
background: var(--progress-bg);
border-radius: var(--border-radius-progress);
min-height: 4px;
}
progressbar progress {
background: linear-gradient(90deg, var(--progress-fill-start), var(--progress-fill-end));
border-radius: var(--border-radius-progress);
min-height: 4px;
}
/* ========================================
Control Buttons - FIXED ROUNDED SHAPE
======================================== */
/* All control buttons - base styles */
.control-button {
padding: 0;
/* Add margin to compensate for removed border */
margin: 1.5px; /* Same as the old border width */
min-width: 44px;
min-height: 44px;
background: linear-gradient(135deg, var(--btn-default), var(--btn-default-secondary));
border: none;
box-shadow:
inset 0 0 0 1.5px var(--border-button),
0 4px 16px var(--shadow-button),
inset 0 1px 1px rgba(255, 255, 255, 0.2);
border-radius: 50%;
}
.control-button:hover {
background: linear-gradient(135deg, var(--btn-default-hover), var(--btn-default-hover-secondary));
border-color: var(--border-button-hover);
box-shadow:
0 6px 20px var(--shadow-button),
inset 0 1px 1px rgba(255, 255, 255, 0.25);
transform: translateY(-1px);
}
.control-button:active {
transform: scale(0.96);
box-shadow:
0 2px 8px var(--shadow-button),
inset 0 2px 4px rgba(0, 0, 0, 0.2);
}
/* ========================================
Play/Pause Button (Blue)
======================================== */
.play-button {
background: linear-gradient(135deg, var(--btn-play), var(--btn-play-secondary));
border-color: var(--border-play);
box-shadow:
0 4px 16px var(--shadow-play),
inset 0 1px 1px rgba(255, 255, 255, 0.3);
}
.play-button:hover {
background: linear-gradient(135deg, var(--btn-play-hover), var(--btn-play-hover-secondary));
border-color: var(--border-play-hover);
box-shadow:
0 6px 20px var(--shadow-play-hover),
inset 0 1px 1px rgba(255, 255, 255, 0.4);
}
.play-button:active {
background: linear-gradient(135deg, var(--btn-play-active), var(--btn-play-active-secondary));
box-shadow:
0 2px 10px var(--shadow-play),
inset 0 2px 4px rgba(0, 0, 0, 0.15);
}
/* ========================================
Expand Button (Purple)
======================================== */
.expand-button {
background: linear-gradient(135deg, var(--btn-expand), var(--btn-expand-secondary));
border-color: var(--border-expand);
box-shadow:
0 4px 16px var(--shadow-expand),
inset 0 1px 1px rgba(255, 255, 255, 0.3);
}
.expand-button:hover {
background: linear-gradient(135deg, var(--btn-expand-hover), var(--btn-expand-hover-secondary));
border-color: var(--border-expand-hover);
box-shadow:
0 6px 20px var(--shadow-expand-hover),
inset 0 1px 1px rgba(255, 255, 255, 0.4);
}
.expand-button:active {
background: linear-gradient(135deg, var(--btn-expand-active), var(--btn-expand-active-secondary));
box-shadow:
0 2px 10px var(--shadow-expand),
inset 0 2px 4px rgba(0, 0, 0, 0.15);
}
/* ========================================
Previous/Next Buttons
======================================== */
.prev-button, .next-button {
background: linear-gradient(135deg, var(--btn-default), var(--btn-default-secondary));
}
.prev-button:hover, .next-button:hover {
background: linear-gradient(135deg, var(--btn-default-hover), var(--btn-default-hover-secondary));
}
/* ========================================
Focus & Accessibility
======================================== */
button {
outline: none;
}
button:focus {
outline: none;
box-shadow:
0 0 0 3px var(--shadow-focus),
0 4px 16px var(--shadow-play),
inset 0 1px 1px rgba(255, 255, 255, 0.3);
}
/* ========================================
Notification Styles
======================================== */
.notification-window {
background: transparent;
}
.notification-container {
background: linear-gradient(145deg, var(--bg-primary), var(--bg-secondary));
border-radius: var(--border-radius-section);
border: 1px solid var(--border-primary);
padding: 10px 12px; /* Reduced from 12px to 10px vertical padding */
min-width: 280px; /* Reduced from 320px */
max-width: 300px; /* Added max-width */
}
.notification-album {
background: linear-gradient(135deg, var(--bg-album-cover), var(--bg-album-secondary));
border-radius: var(--border-radius-album);
border: 1px solid var(--border-button);
}
.notification-header {
color: var(--text-muted);
font-size: 10px; /* Reduced from 11px */
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 6px; /* Reduced from 8px */
}
.notification-song {
color: var(--text-primary);
font-size: 13px; /* Reduced from 14px */
font-weight: 600;
line-height: 1.2; /* Added for tighter spacing */
}
.notification-artist {
color: var(--text-secondary);
font-size: 11px; /* Reduced from 12px */
font-weight: 500;
line-height: 1.2; /* Added for tighter spacing */
}
/* ========================================
Volume Control Styles
======================================== */
.volume-container {
background: linear-gradient(145deg, var(--bg-primary), var(--bg-secondary));
border-radius: var(--border-radius-section);
border: 1px solid var(--border-primary);
padding: 12px;
margin: 0px;
}
.volume-icon {
min-width: 20px;
min-height: 20px;
}
.volume-percentage {
color: var(--text-primary);
font-size: 13px;
font-weight: 600;
min-width: 40px;
}
/* Volume slider - similar to progress bar but with different colors */
.volume-slider {
min-height: 24px;
min-width: 24px;
}
/* The background track */
.volume-slider trough {
background: var(--progress-bg);
border-radius: var(--border-radius-progress);
min-height: 6px;
min-width: 6px;
}
/* The filled portion */
.volume-slider progress {
background: linear-gradient(90deg, var(--btn-default), var(--btn-default-secondary));
border-radius: var(--border-radius-progress);
min-height: 6px;
min-width: 6px;
}
/* The slider handle */
.volume-slider slider {
min-height: 16px;
min-width: 16px;
background: linear-gradient(135deg, var(--btn-default), var(--btn-default-secondary));
border: 2px solid var(--border-button);
border-radius: 50%;
}
.volume-slider slider:hover {
background: linear-gradient(135deg, var(--btn-default-hover), var(--btn-default-hover-secondary));
border-color: var(--border-button-hover);
transform: scale(1.1);
}
.volume-slider slider:active {
background: linear-gradient(135deg, var(--btn-default), var(--btn-default-secondary));
transform: scale(0.95);
}
/* GTK4 specific for vertical sliders */
.volume-slider.vertical trough {
min-width: 6px;
}
.volume-slider.vertical progress {
min-width: 6px;
}
/* ========================================
Visualizer Bars - Idle Mode Animation
======================================== */
/* Container padding to keep bars inside control bar edges */
.visualizer-container {
padding: 0px; /* 5px padding on left/right keeps bars inside */
padding-bottom: 1px; /* Small bottom padding to align with control bar bottom */
border-radius: 0 0 12px 12px;
}
Smooth control bar height transitions for idle mode */
.control-container-horizontal {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Smooth button fade transitions */
.control-button {
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1),
opacity 0.3s ease-in-out;
}
/* Ensure overlay respects size changes */
overlay {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Vertical Display (for vertical layouts) */
.vertical-display-container {
background: transparent;
padding: 8px 4px;
}
.vertical-display-label {
font-family: 'VT323', monospace;
font-size: 28px;
font-weight: bold;
color: white; /* Match visualizer bar color */
letter-spacing: 0px;
line-height: 1.2;
}

View file

@ -0,0 +1,50 @@
# vim:ft=kitty
## name: Tokyo Night
## license: popachcka-rulet
## author: an idiot
## upstream: /////////gol
background #07090B
foreground #EEF7FD
selection_background #C1D6D6
selection_foreground #07090B
url_color #73daca
cursor #c0caf5
cursor_text_color #1a1b26
# Tabs
active_tab_background #C1D6D6
active_tab_foreground #25C39F
inactive_tab_background #5C6871
inactive_tab_foreground #07090B
#tab_bar_background #15161e
# Windows
active_border_color #25C39F
inactive_border_color #C0CAF5
# normal
color0 #07090B
color1 #FF0100
color2 #25C39F
color3 #FFDE00
color4 #109FFF
color5 #FE31FF
color6 #00FED4
color7 #EEF7FD
# bright
color8 #5C6871
color9 #E46468
color10 #82D1B9
color11 #F6DB8B
color12 #8FD2F7
color13 #F79DE7
color14 #7EFEDE
color15 #C1D6D6
# extended colors
color16 #ff9e64
color17 #db4b4b

View file

@ -267,7 +267,7 @@
#: Text cursor customization {{{ #: Text cursor customization {{{
# cursor #cccccc cursor #eef7fd
#: Default text cursor color. If set to the special value none the #: Default text cursor color. If set to the special value none the
#: cursor will be rendered with a "reverse video" effect. Its color #: cursor will be rendered with a "reverse video" effect. Its color
@ -279,7 +279,7 @@
#: some themes set this value, so if you want to override it, place #: some themes set this value, so if you want to override it, place
#: your value after the lines where the theme file is included. #: your value after the lines where the theme file is included.
# cursor_text_color #111111 cursor_text_color background
#: The color of text under the cursor. If you want it rendered with #: The color of text under the cursor. If you want it rendered with
#: the background color of the cell underneath instead, use the #: the background color of the cell underneath instead, use the
@ -288,7 +288,7 @@
#: so if you want to override it, place your value after the lines #: so if you want to override it, place your value after the lines
#: where the theme file is included. #: where the theme file is included.
# cursor_shape block cursor_shape underline
#: The cursor shape can be one of block, beam, underline. Note that #: The cursor shape can be one of block, beam, underline. Note that
#: when reloading the config this will be changed only if the cursor #: when reloading the config this will be changed only if the cursor
@ -299,7 +299,7 @@
#: the cursor shape to beam at shell prompts. You can avoid this by #: the cursor shape to beam at shell prompts. You can avoid this by
#: setting shell_integration to no-cursor. #: setting shell_integration to no-cursor.
# cursor_shape_unfocused hollow cursor_shape_unfocused beam
#: Defines the text cursor shape when the OS window is not focused. #: Defines the text cursor shape when the OS window is not focused.
#: The unfocused cursor shape can be one of block, beam, underline, #: The unfocused cursor shape can be one of block, beam, underline,
@ -1001,7 +1001,7 @@
#: set the vertical and horizontal sides. Three values set top, #: set the vertical and horizontal sides. Three values set top,
#: horizontal and bottom. Four values set top, right, bottom and left. #: horizontal and bottom. Four values set top, right, bottom and left.
# window_padding_width 0 window_padding_width 5
#: The window padding (in pts) (blank area between the text and the #: The window padding (in pts) (blank area between the text and the
#: window border). A single value sets all four sides. Two values set #: window border). A single value sets all four sides. Two values set
@ -1314,9 +1314,8 @@
#: }}} #: }}}
#: Color scheme {{{ #: Color scheme {{{
#foreground #C1D6D6
foreground #E2F9F9 # background #07090B
background #07090B
#: The foreground and background colors. #: The foreground and background colors.
@ -1442,9 +1441,9 @@
#: How much to dim text that has the DIM/FAINT attribute set. One #: How much to dim text that has the DIM/FAINT attribute set. One
#: means no dimming and zero means fully dimmed (i.e. invisible). #: means no dimming and zero means fully dimmed (i.e. invisible).
# selection_foreground #07090B
# selection_background #ffffff
# selection_foreground #000000
# selection_background #fffacd
#: The foreground and background colors for text selected with the #: The foreground and background colors for text selected with the
#: mouse. Setting both of these to none will cause a "reverse video" #: mouse. Setting both of these to none will cause a "reverse video"
@ -1459,44 +1458,83 @@
#: The 256 terminal colors. There are 8 basic colors, each color has a #: The 256 terminal colors. There are 8 basic colors, each color has a
#: dull and bright version, for the first 16 colors. You can set the #: dull and bright version, for the first 16 colors. You can set the
#: remaining 240 colors as color16 to color255. #: remaining 240 colors as color16 to color255.
#color0 #07090B
color0 #07090B #color8 #5C6871
color8 #6D8199 #596269 good
#464646
#7E7E7F
#545256
#B2B2B2
#BCBEBF
#B2B2B2
#9F9F9F
#181818
#: black #: black
#color1 #FF0100
# color1 #FA444E #color9 #E46468
# color9 #FB8087 #F87173
#: red #: red
# color2 #25C39F
# color2 #2DEAC4 # color10 #82D1B9
# color10 #BEF9F9 #92ED47 from zzz
#A1F7C6
#: green #: green
# color3 #FFDE00
# color3 #FBFB43 #FEDE00
# color11 #FBFBB4 #F4DA00
#F4DA00
#EFFF2B
##BAF000
# color11 #F6DB8B
#FFC777
#F6DB8B
#FDC849
#FFEC38
#ECE782
#: yellow #: yellow
# color4 #109FFF
# color4 #409FFC #1C55E3
# color12 #A9FAFA #00A9FF
# color12 #8FD2F7
#1BB7F9
#2EB6FF
#8077EA
#606ECF
#072857 --best
#0F474B
#13545E
#2CDCE1
#96E1FF
#: blue #: blue
# color5 #FE31FF
# color5 #F932F9 # color13 #F79DE7
# color13 #F99FFA #EF61D6
#FFA4A5
#FF498C
#F978F2
#F586FF
#: magenta #: magenta
# color6 #00FED4
# color6 #2EECF9 #00FFD3
# color14 #FDFDFD #22BEE8
# color14 #7EFEDE
#7EFEDE
#65E09F good green
#4EC2D9
#4CBBC1 --best
#1CE0EF
#6BE6E4
#DFFBE8
#: cyan #: cyan
#color7 #EEF7FD
# color7 #F2F9F9 #color15 #C1D6D6
# color15 #F7F7F7
#: white #: white
@ -2789,8 +2827,14 @@ color8 #6D8199
# BEGIN_KITTY_FONTS # BEGIN_KITTY_FONTS
font_family family='Terminess Nerd Font Mono' postscript_name=TerminessNFM font_family family="IosevkaTerm Nerd Font"
bold_font auto bold_font auto
italic_font auto italic_font auto
bold_italic_font auto bold_italic_font auto
# END_KITTY_FONTS # END_KITTY_FONTS
# BEGIN_KITTY_THEME
#Tokyo Night
include current-theme.conf
# END_KITTY_THEME

75
config/mimeapps.list Normal file
View file

@ -0,0 +1,75 @@
[Added Associations]
application/json=neovide.desktop;
application/octet-stream=mpv.desktop;
application/x-extension-htm=firefox.desktop;userapp-Zen-PIXJK3.desktop;zen.desktop;
application/x-extension-html=firefox.desktop;userapp-Zen-PIXJK3.desktop;zen.desktop;
application/x-extension-shtml=firefox.desktop;userapp-Zen-PIXJK3.desktop;zen.desktop;
application/x-extension-xht=firefox.desktop;userapp-Zen-PIXJK3.desktop;zen.desktop;
application/x-extension-xhtml=firefox.desktop;userapp-Zen-PIXJK3.desktop;zen.desktop;
application/x-msdownload=ru.launcher.StartWine.desktop;
application/x-php=mpv.desktop;
application/xhtml+xml=firefox.desktop;userapp-Zen-PIXJK3.desktop;zen.desktop;
application/zip=org.gnome.Nautilus.desktop;
audio/flac=mpv.desktop;
audio/mp4=mpv.desktop;
audio/ogg=mpv.desktop;
audio/vorbis=mpv.desktop;
audio/x-oggflac=mpv.desktop;
audio/x-vorbis=mpv.desktop;
audio/x-vorbis+ogg=mpv.desktop;
image/jpeg=gimp.desktop;org.gnome.gThumb.desktop;org.gnome.eog.desktop;
image/png=gimp.desktop;org.gnome.eog.desktop;
image/webp=org.gnome.eog.desktop;
text/html=zen.desktop;userapp-Zen-PIXJK3.desktop;
text/plain=neovide.desktop;
video/mp4=mpv.desktop;
video/webm=mpv.desktop;
x-scheme-handler/chrome=zen.desktop;userapp-Zen-PIXJK3.desktop;firefox.desktop;
x-scheme-handler/http=zen.desktop;userapp-Zen-PIXJK3.desktop;firefox.desktop;
x-scheme-handler/https=zen.desktop;userapp-Zen-PIXJK3.desktop;firefox.desktop;
x-scheme-handler/mailto=zen.desktop;
x-scheme-handler/tg=org.telegram.desktop.desktop;userapp-AyuGram Desktop-YAGQF3.desktop;userapp-AyuGram Desktop-352WJ3.desktop;org.fagram.desktop;
x-scheme-handler/tonsite=org.telegram.desktop.desktop;userapp-AyuGram Desktop-UNJQF3.desktop;userapp-AyuGram Desktop-31ZUJ3.desktop;org.fagram.desktop;
[Default Applications]
application/fb2=org.pwmt.zathura.desktop
application/json=neovide.desktop
application/octet-stream=mpv.desktop
application/pdf=org.pwmt.zathura.desktop
application/x-extension-htm=zen.desktop
application/x-extension-html=zen.desktop
application/x-extension-shtml=zen.desktop
application/x-extension-xht=zen.desktop
application/x-extension-xhtml=zen.desktop
application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program;text/win-bat;=PortProton.desktop
application/x-msdownload=ru.launcher.StartWine.desktop
application/x-php=mpv.desktop
application/x-zip-compressed-fb2=org.pwmt.zathura.desktop
application/xhtml+xml=zen.desktop
application/zip=org.gnome.Nautilus.desktop
audio/flac=mpv.desktop
audio/mp4=mpv.desktop
audio/ogg=mpv.desktop;
audio/vorbis=mpv.desktop;
audio/x-oggflac=mpv.desktop;
audio/x-vorbis=mpv.desktop;
audio/x-vorbis+ogg=mpv.desktop;
image/gif=imv.desktop
image/jpeg=org.gnome.eog.desktop
image/png=org.gnome.eog.desktop
image/vnd.djvu=org.pwmt.zathura.desktop
image/webp=org.gnome.eog.desktop
text/fb2+xml=org.pwmt.zathura.desktop
text/html=zen.desktop
text/plain=neovide.desktop
text/xml=com.github.johnfactotum.Foliate.desktop
video/mp4=mpv.desktop
video/webm=mpv.desktop
x-scheme-handler/anytype=anytype.desktop
x-scheme-handler/chrome=zen.desktop
x-scheme-handler/discord=vesktop.desktop
x-scheme-handler/http=zen.desktop
x-scheme-handler/https=zen.desktop
x-scheme-handler/mailto=zen.desktop;
x-scheme-handler/tg=org.fagram.desktop
x-scheme-handler/tonsite=org.fagram.desktop

View file

@ -172,7 +172,7 @@ spawn-at-startup "niri-screen-time" "-daemon"
spawn-at-startup "swayosd-server" spawn-at-startup "swayosd-server"
spawn-at-startup "walker" "--gapplication-service" spawn-at-startup "walker" "--gapplication-service"
//spawn-at-startup "hyprwave" spawn-at-startup "hyprwave"
spawn-at-startup "swaync" spawn-at-startup "swaync"
spawn-at-startup "clipse" "-listen" spawn-at-startup "clipse" "-listen"
spawn-at-startup "swaybg" "-i" "imgs/bafkreiax76e2p3xqoikrkbppjl4mipnaamqrgxkcfgwqtrsa3glksq644m" spawn-at-startup "swaybg" "-i" "imgs/bafkreiax76e2p3xqoikrkbppjl4mipnaamqrgxkcfgwqtrsa3glksq644m"
@ -225,7 +225,7 @@ animations {
curve "ease-out-quad" curve "ease-out-quad"
} }
horizontal-view-movement { horizontal-view-movement {
spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001 spring damping-ratio=0.8 stiffness=1000 epsilon=0.0001
} }
window-movement { window-movement {
@ -290,6 +290,19 @@ window-rule {
} }
window-rule {
match app-id="one.alynx.showmethekey"
open-floating true
open-focused false
default-floating-position x=990 y=28 relative-to="top-left"
min-width 900
min-height 170
border {
off
}
}
// Open the Firefox picture-in-picture player as floating by default. // Open the Firefox picture-in-picture player as floating by default.
window-rule { window-rule {
// This app-id regular expression will work for both: // This app-id regular expression will work for both:

172
config/termusic/tui.toml Normal file
View file

@ -0,0 +1,172 @@
version = "2"
com = "same"
[behavior]
quit_server_on_exit = false
confirm_quit = false
[coverart]
align = "bottom right"
size_scale = 0
hidden = false
[style.library]
foreground_color = "Foreground"
background_color = "Background"
border_color = "Green"
highlight_color = "LightWhite"
highlight_symbol = ">"
[style.playlist]
foreground_color = "Foreground"
background_color = "Background"
border_color = "Green"
highlight_color = "LightWhite"
highlight_symbol = "!"
current_track_symbol = "!"
use_loop_mode_symbol = true
[style.lyric]
foreground_color = "Foreground"
background_color = "Background"
border_color = "Green"
[style.progress]
foreground_color = "LightBlack"
background_color = "Background"
border_color = "Green"
[style.important_popup]
foreground_color = "Yellow"
background_color = "Reset"
border_color = "Yellow"
[style.fallback]
foreground_color = "Foreground"
background_color = "Reset"
border_color = "Blue"
highlight_color = "LightYellow"
[theme]
name = "Native"
author = "Termusic Developers"
[theme.primary]
background = "native"
foreground = "native"
[theme.cursor]
text = "native"
cursor = "native"
[theme.normal]
black = "native"
red = "native"
green = "native"
yellow = "native"
blue = "native"
magenta = "native"
cyan = "native"
white = "native"
[theme.bright]
black = "native"
red = "native"
green = "native"
yellow = "native"
blue = "native"
magenta = "native"
cyan = "native"
white = "native"
[keys]
escape = "escape"
quit = "q"
[keys.view]
view_library = "1"
view_database = "2"
view_podcasts = "3"
open_config = "shift+C"
open_help = "control+h"
[keys.navigation]
up = "k"
down = "j"
left = "h"
right = "l"
goto_top = "g"
goto_bottom = "shift+G"
[keys.global_player]
toggle_pause = "space"
next_track = "n"
previous_track = "shift+N"
volume_up = "+"
volume_down = "-"
seek_forward = "f"
seek_backward = "b"
speed_up = "control+f"
speed_down = "control+b"
toggle_prefetch = "control+g"
save_playlist = "control+s"
[keys.global_lyric]
adjust_offset_forwards = "shift+F"
adjust_offset_backwards = "shift+B"
cycle_frames = "shift+T"
[keys.library]
load_track = "l"
load_dir = "shift+L"
delete = "d"
yank = "y"
paste = "p"
cycle_root = "o"
add_root = "a"
remove_root = "shift+A"
search = "/"
youtube_search = "s"
open_tag_editor = "t"
[keys.playlist]
delete = "d"
delete_all = "shift+D"
shuffle = "r"
cycle_loop_mode = "m"
play_selected = "l"
search = "/"
swap_up = "shift+K"
swap_down = "shift+J"
add_random_songs = "s"
add_random_album = "shift+S"
[keys.database]
add_selected = "l"
add_all = "shift+L"
[keys.podcast]
search = "s"
mark_played = "m"
mark_all_played = "shift+M"
refresh_feed = "r"
refresh_all_feeds = "shift+R"
download_episode = "d"
delete_local_episode = "shift+D"
delete_feed = "x"
delete_all_feeds = "shift+X"
[keys.adjust_cover_art]
move_left = "control+shift+arrowleft"
move_right = "control+shift+arrowright"
move_up = "control+shift+arrowup"
move_down = "control+shift+arrowdown"
increase_size = "control+shift+pageup"
decrease_size = "control+shift+pagedown"
toggle_hide = "control+shift+end"
[keys.config]
save = "control+s"
[ytdlp]
extra_args = ""

View file

@ -1,44 +0,0 @@
[Default Applications]
x-scheme-handler/http=zen.desktop
x-scheme-handler/https=zen.desktop
x-scheme-handler/chrome=zen.desktop
text/html=zen.desktop
application/x-extension-htm=zen.desktop
application/x-extension-html=zen.desktop
application/x-extension-shtml=zen.desktop
application/xhtml+xml=zen.desktop
application/x-extension-xhtml=zen.desktop
application/x-extension-xht=zen.desktop
application/pdf=org.pwmt.zathura.desktop
image/vnd.djvu=org.pwmt.zathura.desktop
image/gif=imv.desktop
image/png=org.gnome.eog.desktop
x-scheme-handler/discord=vesktop.desktop
x-scheme-handler/tg=org.telegram.desktop.desktop
x-scheme-handler/tonsite=org.telegram.desktop.desktop
image/webp=org.gnome.eog.desktop
image/jpeg=org.gnome.eog.desktop
application/octet-stream=mpv.desktop
x-scheme-handler/anytype=anytype.desktop
application/json=neovide.desktop
application/x-php=mpv.desktop
[Added Associations]
x-scheme-handler/http=zen.desktop;firefox.desktop;
x-scheme-handler/https=zen.desktop;firefox.desktop;
x-scheme-handler/chrome=zen.desktop;firefox.desktop;
text/html=firefox.desktop;
application/x-extension-htm=firefox.desktop;
application/x-extension-html=firefox.desktop;
application/x-extension-shtml=firefox.desktop;
application/xhtml+xml=firefox.desktop;
application/x-extension-xhtml=firefox.desktop;
application/x-extension-xht=firefox.desktop;
x-scheme-handler/tg=org.telegram.desktop.desktop;userapp-AyuGram Desktop-JQ4JF3.desktop;
x-scheme-handler/tonsite=org.telegram.desktop.desktop;userapp-AyuGram Desktop-G9MIF3.desktop;
image/webp=org.gnome.eog.desktop;
image/png=org.gnome.eog.desktop;
image/jpeg=org.gnome.eog.desktop;
application/octet-stream=mpv.desktop;
application/json=neovide.desktop;
application/x-php=mpv.desktop;

View file

@ -1,45 +0,0 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free
# Software Foundation; either version 2.1 of the License, or (at your option)
# any later version.
#
# Entries in this file show the compile time defaults. Local configuration
# should be created by either modifying this file (or a copy of it placed in
# /etc/ if the original file is shipped in /usr/), or by creating "drop-ins" in
# the /etc/systemd/resolved.conf.d/ directory. The latter is generally
# recommended. Defaults can be restored by simply deleting the main
# configuration file and all drop-ins located in /etc/.
#
# Use 'systemd-analyze cat-config systemd/resolved.conf' to display the full config.
#
# See resolved.conf(5) for details.
[Resolve]
# Some examples of DNS servers which may be used for DNS= and FallbackDNS=:
# Cloudflare: 1.1.1.1#cloudflare-dns.com 1.0.0.1#cloudflare-dns.com 2606:4700:4700::1111#cloudflare-dns.com 2606:4700:4700::1001#cloudflare-dns.com
Google: 8.8.8.8#dns.google 8.8.4.4#dns.google 2001:4860:4860::8888#dns.google 2001:4860:4860::8844#dns.google
Quad9: 9.9.9.9#dns.quad9.net 149.112.112.112#dns.quad9.net 2620:fe::fe#dns.quad9.net 2620:fe::9#dns.quad9.net
# DNS0: 193.110.81.0#dns0.eu 185.253.5.0#dns0.eu 2a0f:fc80::#dns0.eu 2a0f:fc81::#dns0.eu
#
# Using DNS= configures global DNS servers and does not suppress link-specific
# configuration. Parallel requests will be sent to per-link DNS servers
# configured automatically by systemd-networkd.service(8), NetworkManager(8), or
# similar management services, or configured manually via resolvectl(1). See
# resolved.conf(5) and systemd-resolved(8) for more details.
DNS=8.8.8.8
#FallbackDNS=9.9.9.9#dns.quad9.net 2620:fe::9#dns.quad9.net 1.1.1.1#cloudflare-dns.com 2606:4700:4700::1111#cloudflare-dns.com 8.8.8.8#dns.google 2001:4860:4860::8888#dns.google
Domains=~.
DNSSEC=no
#DNSOverTLS=no
#MulticastDNS=yes
LLMNR=no
#Cache=yes
#CacheFromLocalhost=no
#DNSStubListener=yes
#DNSStubListenerExtra=
#ReadEtcHosts=yes
#ResolveUnicastSingleLabel=no
#StaleRetentionSec=0
#RefuseRecordTypes=

View file

@ -1,345 +0,0 @@
{
"f7c71d9a-bce2-420f-ae44-a64bd92975ab": {
"id": "f7c71d9a-bce2-420f-ae44-a64bd92975ab",
"name": "Better Unloaded Tabs",
"description": "Makes unloaded tabs easier to notice by making them greyscale and transparent.",
"homepage": "https://github.com/Felkazz/zen-browser-better-unloaded-tabs",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/f7c71d9a-bce2-420f-ae44-a64bd92975ab/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/f7c71d9a-bce2-420f-ae44-a64bd92975ab/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/f7c71d9a-bce2-420f-ae44-a64bd92975ab/image.png",
"author": "Felkazz",
"version": "1.0.1",
"tags": [],
"createdAt": "2024-10-12",
"updatedAt": "2025-01-26",
"enabled": true
},
"d8b79d4a-6cba-4495-9ff6-d6d30b0e94fe": {
"id": "d8b79d4a-6cba-4495-9ff6-d6d30b0e94fe",
"name": "Better Active Tab",
"description": "Adds a bright line next to the active tab to better highlight it.",
"homepage": "https://github.com/HliasOuzounis/zen-browser-better-active-tab-indicator",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/d8b79d4a-6cba-4495-9ff6-d6d30b0e94fe/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/d8b79d4a-6cba-4495-9ff6-d6d30b0e94fe/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/d8b79d4a-6cba-4495-9ff6-d6d30b0e94fe/image.png",
"author": "HliasOuzounis",
"version": "1.0.3",
"tags": [
"tabs"
],
"createdAt": "2024-09-07",
"updatedAt": "2025-01-26",
"enabled": true
},
"0c3d77bf-44fc-47a6-a183-39205dfa5f7e": {
"id": "0c3d77bf-44fc-47a6-a183-39205dfa5f7e",
"name": "Hidden Reset Button",
"description": "Hide the reset button behind the tab icon unless hovered.",
"homepage": "",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/0c3d77bf-44fc-47a6-a183-39205dfa5f7e/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/0c3d77bf-44fc-47a6-a183-39205dfa5f7e/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/0c3d77bf-44fc-47a6-a183-39205dfa5f7e/image.png",
"author": "AlexCookieDev",
"version": "1.0.0",
"tags": [],
"createdAt": "2024-12-20",
"updatedAt": "2025-01-26",
"enabled": true
},
"4ab93b88-151c-451b-a1b7-a1e0e28fa7f8": {
"id": "4ab93b88-151c-451b-a1b7-a1e0e28fa7f8",
"name": "No Sidebar Scrollbar",
"description": "This theme removes the Sidebar Scrollbar while retaining the scroll functionality.",
"homepage": "https://github.com/mally8/zen-browser-no-sidebar-scrollbar",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/4ab93b88-151c-451b-a1b7-a1e0e28fa7f8/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/4ab93b88-151c-451b-a1b7-a1e0e28fa7f8/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/4ab93b88-151c-451b-a1b7-a1e0e28fa7f8/image.png",
"preferences": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/4ab93b88-151c-451b-a1b7-a1e0e28fa7f8/preferences.json",
"author": "mally8",
"version": "1.0.8",
"tags": [
"sidebar",
"scrollbar"
],
"createdAt": "2024-09-01",
"updatedAt": "2025-05-22",
"enabled": true
},
"72f8f48d-86b9-4487-acea-eb4977b18f21": {
"id": "72f8f48d-86b9-4487-acea-eb4977b18f21",
"name": "Better CtrlTab Panel",
"description": "Re-style and add customization options for the CtrlTab panel.",
"homepage": "https://github.com/psu/zen-mods",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/72f8f48d-86b9-4487-acea-eb4977b18f21/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/72f8f48d-86b9-4487-acea-eb4977b18f21/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/72f8f48d-86b9-4487-acea-eb4977b18f21/image.png",
"author": "psu",
"version": "1.0.1",
"tags": [],
"createdAt": "2025-03-28",
"updatedAt": "2025-05-22",
"preferences": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/72f8f48d-86b9-4487-acea-eb4977b18f21/preferences.json",
"enabled": true
},
"906c6915-5677-48ff-9bfc-096a02a72379": {
"id": "906c6915-5677-48ff-9bfc-096a02a72379",
"name": "Floating Status Bar",
"description": "Mod for Zen Browser that detaches the status bar from the bottom left corner of the browser window.",
"homepage": "https://github.com/AmirhBeigi/zen-floating-statusbar/",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/906c6915-5677-48ff-9bfc-096a02a72379/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/906c6915-5677-48ff-9bfc-096a02a72379/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/906c6915-5677-48ff-9bfc-096a02a72379/image.png",
"author": "AmirhBeigi",
"version": "1.0.0",
"tags": [],
"createdAt": "2024-10-06",
"updatedAt": "2025-01-26",
"enabled": true
},
"4a222d82-2803-4ed2-a390-90abfce4f195": {
"id": "4a222d82-2803-4ed2-a390-90abfce4f195",
"name": "Back Fwd Always Hidden",
"description": "Back and forward buttons will always be hidden. Useful if your mouse has the relevant buttons",
"homepage": "",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/4a222d82-2803-4ed2-a390-90abfce4f195/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/4a222d82-2803-4ed2-a390-90abfce4f195/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/4a222d82-2803-4ed2-a390-90abfce4f195/image.png",
"author": "jean06560",
"version": "1.0.0",
"tags": [],
"createdAt": "2025-03-06",
"updatedAt": "2025-03-07",
"enabled": true
},
"c45c4894-d6bd-47fc-997a-0c4d015334f1": {
"id": "c45c4894-d6bd-47fc-997a-0c4d015334f1",
"name": "No pinned tab reset btn",
"description": "Hides the reset button that appears when hovering over pinned tabs.",
"homepage": "https://github.com/spicybackend/zen-browser-no-pinned-url-reset",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/c45c4894-d6bd-47fc-997a-0c4d015334f1/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/c45c4894-d6bd-47fc-997a-0c4d015334f1/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/c45c4894-d6bd-47fc-997a-0c4d015334f1/image.png",
"author": "spicybackend",
"version": "1.0.0",
"tags": [],
"createdAt": "2024-12-12",
"updatedAt": "2025-01-26",
"enabled": true
},
"03a8e7ef-cf00-4f41-bf24-a90deeafc9db": {
"id": "03a8e7ef-cf00-4f41-bf24-a90deeafc9db",
"name": "Zen Colored Picker",
"description": "Adds the rainbow color pad to the theme picker",
"homepage": "https://github.com/Nimit1705/zen-colored-picker",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/03a8e7ef-cf00-4f41-bf24-a90deeafc9db/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/03a8e7ef-cf00-4f41-bf24-a90deeafc9db/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/03a8e7ef-cf00-4f41-bf24-a90deeafc9db/image.png",
"author": "Nimit1705",
"version": "2.0.1",
"tags": [],
"createdAt": "2025-02-23",
"updatedAt": "2025-07-15",
"preferences": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/03a8e7ef-cf00-4f41-bf24-a90deeafc9db/preferences.json",
"enabled": true
},
"c8d9e6e6-e702-4e15-8972-3596e57cf398": {
"id": "c8d9e6e6-e702-4e15-8972-3596e57cf398",
"name": "Zen Back Forward",
"description": "Hide Back and Forward button when you don't need them",
"homepage": "",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/c8d9e6e6-e702-4e15-8972-3596e57cf398/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/c8d9e6e6-e702-4e15-8972-3596e57cf398/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/c8d9e6e6-e702-4e15-8972-3596e57cf398/image.png",
"author": "KiKaraage",
"version": "1.0.0",
"tags": [],
"createdAt": "2024-09-03",
"updatedAt": "2025-01-26",
"enabled": true
},
"b0f635d7-c3bf-4709-af68-4712f0e5b2e5": {
"id": "b0f635d7-c3bf-4709-af68-4712f0e5b2e5",
"name": "Cleaner Bookmark Menu",
"description": "Remove unnecessary buttons from the toolbar bookmarks button.",
"homepage": "https://github.com/Pkcarreno/cleaner-bookmark-menu",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/b0f635d7-c3bf-4709-af68-4712f0e5b2e5/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/b0f635d7-c3bf-4709-af68-4712f0e5b2e5/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/b0f635d7-c3bf-4709-af68-4712f0e5b2e5/image.png",
"author": "Pkcarreno",
"version": "1.0.0",
"tags": [],
"createdAt": "2025-02-17",
"updatedAt": "2025-02-23",
"enabled": true
},
"a6335949-4465-4b71-926c-4a52d34bc9c0": {
"id": "a6335949-4465-4b71-926c-4a52d34bc9c0",
"name": "Better Find Bar",
"description": "Improves the find bar, making it floating with theme match and customization.",
"homepage": "https://github.com/RobotoSkunk/zen-better-findbar",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/a6335949-4465-4b71-926c-4a52d34bc9c0/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/a6335949-4465-4b71-926c-4a52d34bc9c0/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/a6335949-4465-4b71-926c-4a52d34bc9c0/image.png",
"author": "RobotoSkunk",
"preferences": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/a6335949-4465-4b71-926c-4a52d34bc9c0/preferences.json",
"version": "1.3.5",
"tags": [
"find",
"bar",
"search",
"searchbar",
"find-bar",
"search-bar"
],
"createdAt": "2024-11-24",
"updatedAt": "2025-09-18",
"enabled": true
},
"ad97bb70-0066-4e42-9b5f-173a5e42c6fc": {
"id": "ad97bb70-0066-4e42-9b5f-173a5e42c6fc",
"name": "SuperPins",
"description": "This Zen Mod enhances pinned tabs/Essentials, by making some UI/UX changes.",
"homepage": "https://github.com/CosmoCreeper/Zen-Themes/tree/main/SuperPins",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/ad97bb70-0066-4e42-9b5f-173a5e42c6fc/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/ad97bb70-0066-4e42-9b5f-173a5e42c6fc/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/ad97bb70-0066-4e42-9b5f-173a5e42c6fc/image.png",
"author": "CosmoCreeper",
"version": "1.5.7",
"preferences": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/ad97bb70-0066-4e42-9b5f-173a5e42c6fc/preferences.json",
"tags": [
"tabs"
],
"createdAt": "2024-08-28",
"updatedAt": "2025-07-22",
"enabled": true
},
"79dde383-4fe7-404a-a8e6-9be440022542": {
"id": "79dde383-4fe7-404a-a8e6-9be440022542",
"name": "Tidy Popup",
"description": "Modifies popup panels, changing divider lines with empty spacer, and makes the button more compact.",
"homepage": "https://github.com/Dinno-DEV/zen-tidy-popup",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/79dde383-4fe7-404a-a8e6-9be440022542/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/79dde383-4fe7-404a-a8e6-9be440022542/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/79dde383-4fe7-404a-a8e6-9be440022542/image.png",
"author": "Dinno-DEV",
"version": "1.0.0",
"tags": [],
"createdAt": "2025-02-26",
"updatedAt": "2025-03-31",
"preferences": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/79dde383-4fe7-404a-a8e6-9be440022542/preferences.json",
"enabled": true
},
"378ba8b9-cd36-45f5-88df-595df5288795": {
"id": "378ba8b9-cd36-45f5-88df-595df5288795",
"name": "Add new tab urlbar icon",
"description": "Adds an icon and the text open in new tab to the urlbar if opened by pressing New Tab or Ctrl+T",
"homepage": "https://github.com/Evthestrike/zen-browser-add-new-tab-icon-to-urlbar",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/378ba8b9-cd36-45f5-88df-595df5288795/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/378ba8b9-cd36-45f5-88df-595df5288795/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/378ba8b9-cd36-45f5-88df-595df5288795/image.png",
"author": "Evthestrike",
"version": "1.0.0",
"tags": [],
"createdAt": "2025-02-20",
"updatedAt": "2025-09-25",
"enabled": true
},
"1e86cf37-a127-4f24-b919-d265b5ce29a0": {
"id": "1e86cf37-a127-4f24-b919-d265b5ce29a0",
"name": "Lean",
"description": "Extensions. Spaces. Toolbars. Clean them up, give extra room for your stuff",
"homepage": "",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/1e86cf37-a127-4f24-b919-d265b5ce29a0/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/1e86cf37-a127-4f24-b919-d265b5ce29a0/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/1e86cf37-a127-4f24-b919-d265b5ce29a0/image.png",
"author": "KiKaraage",
"version": "3.1",
"preferences": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/1e86cf37-a127-4f24-b919-d265b5ce29a0/preferences.json",
"tags": [],
"createdAt": "2024-09-03",
"updatedAt": "2025-10-10",
"enabled": true
},
"81fcd6b3-f014-4796-988f-6c3cb3874db8": {
"id": "81fcd6b3-f014-4796-988f-6c3cb3874db8",
"name": "Zen Context Menu",
"description": "Declutter your right click menu, hide options you don't need",
"homepage": "https://github.com/KiKaraage/ZenMods/",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/81fcd6b3-f014-4796-988f-6c3cb3874db8/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/81fcd6b3-f014-4796-988f-6c3cb3874db8/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/81fcd6b3-f014-4796-988f-6c3cb3874db8/image.png",
"author": "KiKaraage",
"version": "3.1",
"preferences": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/81fcd6b3-f014-4796-988f-6c3cb3874db8/preferences.json",
"tags": [
"context menu"
],
"createdAt": "2024-10-06",
"updatedAt": "2025-08-26",
"enabled": true
},
"20e8cc78-3dac-4db0-81a4-814672fb50af": {
"id": "20e8cc78-3dac-4db0-81a4-814672fb50af",
"name": "Right Side Glance Buttons",
"description": "Move the at a glance buttons to the right side of the window.",
"homepage": "https://github.com/psu/zen-mods",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/20e8cc78-3dac-4db0-81a4-814672fb50af/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/20e8cc78-3dac-4db0-81a4-814672fb50af/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/20e8cc78-3dac-4db0-81a4-814672fb50af/image.png",
"author": "psu",
"version": "1.0.2",
"tags": [],
"createdAt": "2025-03-28",
"updatedAt": "2025-03-31",
"enabled": true
},
"a5f6a231-e3c8-4ce8-8a8e-3e93efd6adec": {
"id": "a5f6a231-e3c8-4ce8-8a8e-3e93efd6adec",
"name": "Cleaned URL bar",
"description": "Cleans up zen's URL bar.",
"homepage": "https://github.com/Dinno-DEV/zen-cleaned-url-bar",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/a5f6a231-e3c8-4ce8-8a8e-3e93efd6adec/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/a5f6a231-e3c8-4ce8-8a8e-3e93efd6adec/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/a5f6a231-e3c8-4ce8-8a8e-3e93efd6adec/image.png",
"author": "Dinno-DEV",
"preferences": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/a5f6a231-e3c8-4ce8-8a8e-3e93efd6adec/preferences.json",
"version": "1.0.4",
"tags": [],
"createdAt": "2024-11-01",
"updatedAt": "2025-03-09",
"enabled": true
},
"253a3a74-0cc4-47b7-8b82-996a64f030d5": {
"id": "253a3a74-0cc4-47b7-8b82-996a64f030d5",
"name": "Floating History",
"description": "Improves the history tab by matching the browser theme, make it floating, more responsive, and allow placing it on either side.",
"homepage": "https://github.com/ahmaadaziz/zen-floating-history",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/253a3a74-0cc4-47b7-8b82-996a64f030d5/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/253a3a74-0cc4-47b7-8b82-996a64f030d5/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/253a3a74-0cc4-47b7-8b82-996a64f030d5/image.png",
"preferences": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/253a3a74-0cc4-47b7-8b82-996a64f030d5/preferences.json",
"author": "ahmaadaziz",
"createdAt": "2024-10-12",
"updatedAt": "2025-07-15",
"version": "2.2.0",
"tags": [
"history"
],
"enabled": true
},
"ae7868dc-1fa1-469e-8b89-a5edf7ab1f24": {
"id": "ae7868dc-1fa1-469e-8b89-a5edf7ab1f24",
"name": "Load Bar",
"description": "Creates a sleek loading bar and mute status for single toolbar mode.",
"homepage": "https://github.com/Tanay-Kar/Zen-Themes/tree/main/LoadBar",
"style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/ae7868dc-1fa1-469e-8b89-a5edf7ab1f24/chrome.css",
"readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/ae7868dc-1fa1-469e-8b89-a5edf7ab1f24/readme.md",
"image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/ae7868dc-1fa1-469e-8b89-a5edf7ab1f24/image.png",
"author": "Tanay-Kar",
"version": "1.0.0",
"tags": [],
"createdAt": "2024-12-21",
"updatedAt": "2025-05-10",
"enabled": true
}
}