add launch menu style
This commit is contained in:
		
							parent
							
								
									517794af03
								
							
						
					
					
						commit
						4a053155d7
					
				
					 1 changed files with 86 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -27,6 +27,7 @@ let
 | 
			
		|||
    dark = {
 | 
			
		||||
      background = "~/.local/share/backgrounds/assembly_dark.png";
 | 
			
		||||
      opacity = "98";
 | 
			
		||||
      opacityHex = "ee";
 | 
			
		||||
      color = {
 | 
			
		||||
        type = "dark";
 | 
			
		||||
        bg = "#202020";
 | 
			
		||||
| 
						 | 
				
			
			@ -57,7 +58,8 @@ let
 | 
			
		|||
  nerdfonts_fira_hack =
 | 
			
		||||
    (pkgs.nerdfonts.override { fonts = [ "FiraCode" "Hack" ]; });
 | 
			
		||||
  accent = accents.red;
 | 
			
		||||
  color = themes.dark.color;
 | 
			
		||||
  theme = themes.dark;
 | 
			
		||||
  color = theme.color;
 | 
			
		||||
  pulse_sink = pkgs.writeShellScriptBin "pulse_sink" ''
 | 
			
		||||
    #!/bin/sh
 | 
			
		||||
    output=$(printf "HDMI\nHeadphones" | bemenu -b)
 | 
			
		||||
| 
						 | 
				
			
			@ -72,6 +74,87 @@ let
 | 
			
		|||
    esac
 | 
			
		||||
    ${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 {
 | 
			
		||||
  # Home Manager needs a bit of information about you and the
 | 
			
		||||
  # paths it should manage.
 | 
			
		||||
| 
						 | 
				
			
			@ -101,6 +184,7 @@ in {
 | 
			
		|||
    xfce.thunar
 | 
			
		||||
    pass
 | 
			
		||||
    dhist
 | 
			
		||||
    bmenu
 | 
			
		||||
    # media
 | 
			
		||||
    yt-dlp
 | 
			
		||||
    ffmpeg
 | 
			
		||||
| 
						 | 
				
			
			@ -455,7 +539,7 @@ in {
 | 
			
		|||
      keybindings = let
 | 
			
		||||
        mod = "Mod4";
 | 
			
		||||
        floating.modifier = "Mod4";
 | 
			
		||||
        menu = "bemenu-run --bottom";
 | 
			
		||||
        menu = "bmenu run";
 | 
			
		||||
        terminal = "alacritty";
 | 
			
		||||
        workspace_binds = {
 | 
			
		||||
          "${mod}+1" = "workspace number 1";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue