jgbrowser 30 times faster directory listing in places panel
parent
7c31b714a4
commit
54326f88be
|
@ -0,0 +1,34 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Read a directory to an array and sort it directories first.
|
||||||
|
|
||||||
|
: ${JGMENU_RESOURCE_OPENER=xdg-open}
|
||||||
|
|
||||||
|
DIRECTORY=${1:-$HOME}
|
||||||
|
|
||||||
|
# If '$PWD' is '/', unset it to avoid '//'.
|
||||||
|
[[ $DIRECTORY == / ]] && DIRECTORY=
|
||||||
|
|
||||||
|
for item in "$DIRECTORY"/*; do
|
||||||
|
if [[ -d $item ]]; then
|
||||||
|
dirs+=("${item##*/},^pipe(jgbrowser \"$DIRECTORY/${item##*/}\")")
|
||||||
|
#((item_index++))
|
||||||
|
|
||||||
|
# Find the position of the child directory in the
|
||||||
|
# parent directory list.
|
||||||
|
#[[ $item == "$OLDPWD" ]] &&
|
||||||
|
# ((previous_index=item_index))
|
||||||
|
else
|
||||||
|
files+=("${item##*/},xdg-open \"$DIRECTORY/${item##*/}\"")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
printf "%b\n" "^sep(<small><i>${DIRECTORY}</i></small>)"
|
||||||
|
printf "%b\n" " Otwórz w menadżerze plików,${JGMENU_RESOURCE_OPENER} \"${DIRECTORY:-/}\""
|
||||||
|
printf "%b\n" " Otwórz w termianlu,terminator --working-directory=\"${DIRECTORY:-/}\""
|
||||||
|
printf "%b\n" "^sep()"
|
||||||
|
printf "%b\n" "^sep(Katalogi)"
|
||||||
|
printf '%s\n' "${dirs[@]}"
|
||||||
|
printf "%b\n" "^sep(Pliki)"
|
||||||
|
printf '%s\n' "${files[@]}"
|
||||||
|
#list=("${dirs[@]}" "${files[@]}")
|
|
@ -3,7 +3,7 @@
|
||||||
# Get colors from config file
|
# Get colors from config file
|
||||||
#. $HOME/.config/mb-jgtools/mb-jgtools.colorrc
|
#. $HOME/.config/mb-jgtools/mb-jgtools.colorrc
|
||||||
|
|
||||||
JGWIDTH="322"
|
JGWIDTH="300"
|
||||||
|
|
||||||
[ $(pidof picom) ] && RADIUS="12"
|
[ $(pidof picom) ] && RADIUS="12"
|
||||||
|
|
||||||
|
@ -90,6 +90,14 @@ CONFIG_FILE=$(mktemp)
|
||||||
MENU_ITEMS=$(mktemp)
|
MENU_ITEMS=$(mktemp)
|
||||||
trap "rm -f ${CONFIG_FILE} ${MENU_ITEMS}" EXIT
|
trap "rm -f ${CONFIG_FILE} ${MENU_ITEMS}" EXIT
|
||||||
|
|
||||||
|
## WAŻNE
|
||||||
|
#monitor = integer (default 0)
|
||||||
|
#Specify a particular monitor as an index starting from 1.
|
||||||
|
#If 0, the menu will be launched on the monitor where the mouse is.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#Liczba onitorów
|
#Liczba onitorów
|
||||||
#xrandr --listmonitors | grep Monitors |awk '{print $2}'
|
#xrandr --listmonitors | grep Monitors |awk '{print $2}'
|
||||||
if [ $(xrandr --listmonitors | grep Monitors |awk '{print $2}') -gt "1" ]
|
if [ $(xrandr --listmonitors | grep Monitors |awk '{print $2}') -gt "1" ]
|
||||||
|
@ -120,13 +128,13 @@ MENU_HEIGHT_MIN=$(xdpyinfo | awk '/^ +dimensions/ {print $2}' | cut -d 'x' -f2)
|
||||||
mkconfigfile
|
mkconfigfile
|
||||||
|
|
||||||
cat <<EOF > ${MENU_ITEMS}
|
cat <<EOF > ${MENU_ITEMS}
|
||||||
@icon,,270,10,48,48,4,left,top,,,/usr/share/icons/hicolor/48x48/apps/distributor-logo-mabox.png
|
@icon,,245,10,48,48,4,left,top,,,/usr/share/icons/hicolor/48x48/apps/distributor-logo-mabox.png
|
||||||
@text,,10,10,200,20,4,left,top,#EEEEEE,#111111,<big>$OSNAME $OSVERSION</big> <sup> $OSCODE</sup>
|
@text,,20,10,200,20,4,left,top,#EEEEEE,#111111,<big>$OSNAME $OSVERSION</big> <sup> $OSCODE</sup>
|
||||||
@text,,10,30,200,20,4,left,top,#666666,#444444,<small>Jądro:</small> $KERNEL $HOSTTYPE
|
@text,,20,30,200,20,4,left,top,#666666,#444444,<small>Jądro:</small> $KERNEL $HOSTTYPE
|
||||||
@text,,10,50,200,20,4,left,top,#666666,#444444,<small>$USER@$HOSTNAME</small>
|
@text,,20,50,200,20,4,left,top,#666666,#444444,<small>$USER@$HOSTNAME</small>
|
||||||
#@rect,,40,70,262,20,0,left,top,#666666,#262626,
|
#@rect,,40,70,262,20,0,left,top,#666666,#262626,
|
||||||
@text,,14,70,20,20,0,left,top,auto,#222222,<big></big>
|
@text,,74,70,20,20,0,left,top,auto,#222222,<big></big>
|
||||||
@search,,30,70,292,20,4,left,top,auto,#262626,""" <i>pisz, aby wyszukać</i>"""
|
@search,,90,70,292,20,4,left,top,auto,#262626,""" <i>pisz, aby wyszukać</i>"""
|
||||||
|
|
||||||
. $HOME/.config/mabox/right-prepend.csv
|
. $HOME/.config/mabox/right-prepend.csv
|
||||||
|
|
||||||
|
@ -243,7 +251,7 @@ MENU_ITEMS=$(mktemp)
|
||||||
trap "rm -f ${CONFIG_FILE} ${MENU_ITEMS}" EXIT
|
trap "rm -f ${CONFIG_FILE} ${MENU_ITEMS}" EXIT
|
||||||
|
|
||||||
MENU_HEIGHT_MIN=$(xdpyinfo | awk '/^ +dimensions/ {print $2}' | cut -d 'x' -f2)
|
MENU_HEIGHT_MIN=$(xdpyinfo | awk '/^ +dimensions/ {print $2}' | cut -d 'x' -f2)
|
||||||
|
JGWIDTH=280
|
||||||
mkconfigfile
|
mkconfigfile
|
||||||
|
|
||||||
cat <<EOF > ${MENU_ITEMS}
|
cat <<EOF > ${MENU_ITEMS}
|
||||||
|
@ -255,17 +263,17 @@ cat <<EOF > ${MENU_ITEMS}
|
||||||
. $HOME/.config/mabox/places-prepend.csv
|
. $HOME/.config/mabox/places-prepend.csv
|
||||||
|
|
||||||
^sep(Szybka nawigacja)
|
^sep(Szybka nawigacja)
|
||||||
Katalog główny,^pipe(places "/")
|
Katalog główny,^pipe(jgbrowser /)
|
||||||
Katalog domowy,^pipe(places)
|
Katalog domowy,^pipe(jgbrowser)
|
||||||
|
|
||||||
$(basename $(xdg-user-dir DESKTOP)),^pipe(places $(xdg-user-dir DESKTOP))
|
$(basename $(xdg-user-dir DESKTOP)),^pipe(jgbrowser $(xdg-user-dir DESKTOP))
|
||||||
$(basename $(xdg-user-dir DOWNLOAD)),^pipe(places $(xdg-user-dir DOWNLOAD))
|
$(basename $(xdg-user-dir DOWNLOAD)),^pipe(jgbrowser $(xdg-user-dir DOWNLOAD))
|
||||||
# $(basename $(xdg-user-dir TEMPLATES)),^pipe(places $(xdg-user-dir TEMPLATES))
|
# $(basename $(xdg-user-dir TEMPLATES)),^pipe(jgbrowser $(xdg-user-dir TEMPLATES))
|
||||||
# $(basename $(xdg-user-dir PUBLICSHARE)),^pipe(places $(xdg-user-dir PUBLICSHARE))
|
# $(basename $(xdg-user-dir PUBLICSHARE)),^pipe(jgbrowser $(xdg-user-dir PUBLICSHARE))
|
||||||
$(basename $(xdg-user-dir DOCUMENTS)),^pipe(places $(xdg-user-dir DOCUMENTS))
|
$(basename $(xdg-user-dir DOCUMENTS)),^pipe(jgbrowser $(xdg-user-dir DOCUMENTS))
|
||||||
$(basename $(xdg-user-dir MUSIC)),^pipe(places $(xdg-user-dir MUSIC))
|
$(basename $(xdg-user-dir MUSIC)),^pipe(jgbrowser $(xdg-user-dir MUSIC))
|
||||||
$(basename $(xdg-user-dir PICTURES)),^pipe(places $(xdg-user-dir PICTURES))
|
$(basename $(xdg-user-dir PICTURES)),^pipe(jgbrowser $(xdg-user-dir PICTURES))
|
||||||
$(basename $(xdg-user-dir VIDEOS)),^pipe(places $(xdg-user-dir VIDEOS))
|
$(basename $(xdg-user-dir VIDEOS)),^pipe(jgbrowser $(xdg-user-dir VIDEOS))
|
||||||
#^sep(Zakładki)
|
#^sep(Zakładki)
|
||||||
^sep()
|
^sep()
|
||||||
<big></big> Wyszukiwarka plików, fsearch
|
<big></big> Wyszukiwarka plików, fsearch
|
||||||
|
|
39
bin/places
39
bin/places
|
@ -1,39 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Inspired by the {a,b}l-places-pipemenu scripts found in
|
|
||||||
# ArchLabs and BunsenLabs
|
|
||||||
#
|
|
||||||
|
|
||||||
: ${JGMENU_RESOURCE_OPENER=xdg-open}
|
|
||||||
|
|
||||||
path=${1:-$HOME}
|
|
||||||
[ $path != "/" ] && path=${path%/}
|
|
||||||
|
|
||||||
test -d "$path" || { echo "$0: '$path' is not a directory" >&2 ; exit 1 ; }
|
|
||||||
|
|
||||||
for i in "$path"/*
|
|
||||||
do
|
|
||||||
test -e "$i" || continue
|
|
||||||
shortname=${i##*/}
|
|
||||||
if test -d "$i"
|
|
||||||
then
|
|
||||||
directories_menu="${directories_menu}
|
|
||||||
${shortname},^pipe(places \"${path}/${shortname}\")"
|
|
||||||
else
|
|
||||||
files_menu="$files_menu
|
|
||||||
${shortname},${JGMENU_RESOURCE_OPENER} \"${path}/${shortname}\""
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
printf "%b\n" "^sep(<small><i>${path}</i></small>)"
|
|
||||||
printf "%b\n" " Otwórz w menadżerze plików,${JGMENU_RESOURCE_OPENER} \"${path}\""
|
|
||||||
printf "%b\n" " Otwórz w termianlu,terminator --working-directory=\"${path}\""
|
|
||||||
printf "%b\n" "^sep()"
|
|
||||||
#printf "%b\n" "^sep(Katalogi)"
|
|
||||||
printf "%b\n" "${directories_menu}"
|
|
||||||
#printf "%b\n" "^sep(Pliki)"
|
|
||||||
printf "%b\n" "${files_menu}"
|
|
||||||
|
|
||||||
if test -z "${directories_menu}" && test -z "${files_menu}"
|
|
||||||
then
|
|
||||||
printf "%b\n" '<empty>'
|
|
||||||
fi
|
|
Loading…
Reference in New Issue