add launch menu style
This commit is contained in:
parent
517794af03
commit
4a053155d7
|
@ -27,6 +27,7 @@ let
|
||||||
dark = {
|
dark = {
|
||||||
background = "~/.local/share/backgrounds/assembly_dark.png";
|
background = "~/.local/share/backgrounds/assembly_dark.png";
|
||||||
opacity = "98";
|
opacity = "98";
|
||||||
|
opacityHex = "ee";
|
||||||
color = {
|
color = {
|
||||||
type = "dark";
|
type = "dark";
|
||||||
bg = "#202020";
|
bg = "#202020";
|
||||||
|
@ -57,7 +58,8 @@ let
|
||||||
nerdfonts_fira_hack =
|
nerdfonts_fira_hack =
|
||||||
(pkgs.nerdfonts.override { fonts = [ "FiraCode" "Hack" ]; });
|
(pkgs.nerdfonts.override { fonts = [ "FiraCode" "Hack" ]; });
|
||||||
accent = accents.red;
|
accent = accents.red;
|
||||||
color = themes.dark.color;
|
theme = themes.dark;
|
||||||
|
color = theme.color;
|
||||||
pulse_sink = pkgs.writeShellScriptBin "pulse_sink" ''
|
pulse_sink = pkgs.writeShellScriptBin "pulse_sink" ''
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
output=$(printf "HDMI\nHeadphones" | bemenu -b)
|
output=$(printf "HDMI\nHeadphones" | bemenu -b)
|
||||||
|
@ -72,6 +74,87 @@ let
|
||||||
esac
|
esac
|
||||||
${pkgs.pamixer}/bin/pamixer --set-volume "$vol"
|
${pkgs.pamixer}/bin/pamixer --set-volume "$vol"
|
||||||
'';
|
'';
|
||||||
|
bmenu = pkgs.writeScriptBin "bmenu" ''
|
||||||
|
#!${pkgs.fish}/bin/fish
|
||||||
|
|
||||||
|
# wrapper around bemenu
|
||||||
|
# bmenu * - use as dmenu, -p for custom prompt (man bemenu)
|
||||||
|
# bmenu run - select from .desktop files and run it
|
||||||
|
# bmenu start - internal option
|
||||||
|
|
||||||
|
set swaymsg ${pkgs.sway}/bin/swaymsg
|
||||||
|
set swaymsg ${pkgs.sway}/bin/swaymsg
|
||||||
|
|
||||||
|
if test "$argv[1]" = "run"
|
||||||
|
test -n "$argv[2]" && set t "$argv[2]" || set t "terminal"
|
||||||
|
|
||||||
|
test -n "$i3SOCK" && set wrapper 'i3-msg exec --'
|
||||||
|
test -n "$SWAYSOCK" && set wrapper 'swaymsg exec --'
|
||||||
|
|
||||||
|
exec ${pkgs.j4-dmenu-desktop}/bin/j4-dmenu-desktop \
|
||||||
|
--dmenu="bmenu start -p Iniciar:" \
|
||||||
|
--term "$t" \
|
||||||
|
--wrapper="$wrapper" \
|
||||||
|
--no-generic
|
||||||
|
end
|
||||||
|
|
||||||
|
if test -n "$SWAYSOCK"
|
||||||
|
swaymsg -t get_tree |
|
||||||
|
${pkgs.jq}/bin/jq -je '..|select(.focused? and .fullscreen_mode? == 1)|""' &&
|
||||||
|
${pkgs.sway}/bin/swaymsg -q fullscreen off &&
|
||||||
|
set fullscreen
|
||||||
|
|
||||||
|
${pkgs.sway}/bin/swaymsg -t get_outputs |
|
||||||
|
${pkgs.jq}/bin/jq -r 'map(.focused)|reverse|index(true)' |
|
||||||
|
read focused_output
|
||||||
|
|
||||||
|
test -n "$focused_output"
|
||||||
|
and set focused_output "-m $focused_output"
|
||||||
|
end
|
||||||
|
|
||||||
|
function clean_exit
|
||||||
|
set -q fullscreen
|
||||||
|
and swaymsg -q fullscreen on &
|
||||||
|
end
|
||||||
|
|
||||||
|
trap clean_exit EXIT
|
||||||
|
|
||||||
|
# t title
|
||||||
|
# f filter
|
||||||
|
# n normal
|
||||||
|
# h highlighted
|
||||||
|
# s selected
|
||||||
|
# sc scrollbar
|
||||||
|
|
||||||
|
set fn "${font.mono} ${font.size.small}"
|
||||||
|
|
||||||
|
set tb "${ color.bg }${theme.opacityHex}"
|
||||||
|
set tf "${ accent.color }"
|
||||||
|
|
||||||
|
set fb "${ color.bg }${theme.opacityHex}"
|
||||||
|
set ff "${ color.txt }"
|
||||||
|
|
||||||
|
set nb "${ color.bg }${theme.opacityHex}"
|
||||||
|
set nf "${ color.txt }"
|
||||||
|
set hb "${ accent.color }"
|
||||||
|
set hf "${ accent.fg }"
|
||||||
|
|
||||||
|
${pkgs.dhist}/bin/dhist wrap -- ${pkgs.bemenu}/bin/bemenu \
|
||||||
|
$focused_output\
|
||||||
|
--ignorecase\
|
||||||
|
--bottom\
|
||||||
|
--no-overlap\
|
||||||
|
--list 20\
|
||||||
|
--prefix '>'\
|
||||||
|
--fn "$fn"\
|
||||||
|
--tb "$tb" --tf "$tf" \
|
||||||
|
--fb "$fb" --ff "$ff" \
|
||||||
|
--nb "$nb" --nf "$nf" \
|
||||||
|
--hb "$hb" --hf "$hf" \
|
||||||
|
$argv
|
||||||
|
|
||||||
|
# vim: ft=fish
|
||||||
|
'';
|
||||||
in {
|
in {
|
||||||
# Home Manager needs a bit of information about you and the
|
# Home Manager needs a bit of information about you and the
|
||||||
# paths it should manage.
|
# paths it should manage.
|
||||||
|
@ -101,6 +184,7 @@ in {
|
||||||
xfce.thunar
|
xfce.thunar
|
||||||
pass
|
pass
|
||||||
dhist
|
dhist
|
||||||
|
bmenu
|
||||||
# media
|
# media
|
||||||
yt-dlp
|
yt-dlp
|
||||||
ffmpeg
|
ffmpeg
|
||||||
|
@ -455,7 +539,7 @@ in {
|
||||||
keybindings = let
|
keybindings = let
|
||||||
mod = "Mod4";
|
mod = "Mod4";
|
||||||
floating.modifier = "Mod4";
|
floating.modifier = "Mod4";
|
||||||
menu = "bemenu-run --bottom";
|
menu = "bmenu run";
|
||||||
terminal = "alacritty";
|
terminal = "alacritty";
|
||||||
workspace_binds = {
|
workspace_binds = {
|
||||||
"${mod}+1" = "workspace number 1";
|
"${mod}+1" = "workspace number 1";
|
||||||
|
|
Loading…
Reference in a new issue