dmenu i skripte za njega

Rasprave u vezi Linux aplikacija.

Moderator/ica: Moderatori/ce

Avatar
simke
Postovi: 1410
Pridružen/a: 31 sij 2009, 23:37
OS: arch | 7
Lokacija: rijeka
Kontakt:

dmenu i skripte za njega

Post Postao/la simke »

dakle ko nezna dmenu je ovo
http://en.wikipedia.org/wiki/Dwm#dmenu

može se prilagoditi svakakvim potrebama, kako i vecina to u linux-u. jako je koristan kad znte što želite i nega vam se stalno gubiti po bespićjima mena, ili čak neki programi nisi ni dodani u meni e tu je dmenu.

prvo pitanje a onda cu podjeliti par korisnih skripti što sam našo na bespućjima interneta.

dakle, neznam kako koristiti clipbord, xclip, i da mu je frontend dmenu. ovo je skripta

Kod: Označi sve

#! /bin/bash

file=$HOME/.dclip_cache
size=15

if [ "$1" == "copy" ]; then
    sel_clip=$(xclip -o)
    sel_file=$(echo -n "$sel_clip" | tr '\n' '\034')
fi
touch $file 
if [ "$1" == "paste" ]; then 
    shift 
    sel_file=$(cat $file | dmenu ${1+"$@"}) 
    sel_clip=$(echo -n "$sel_file" | tr '\034' '\n')
fi
[ -z "$sel_clip" ] && exit 1

cut=$(cat $file | grep -vFxe "$sel_file" | head -n $(($size-1)))
echo "$sel_file" > $file
[ ! -z "$cut" ] && echo -n "$cut" >> $file

echo -n "$sel_clip" | xclip -selection primary -i
echo -n "$sel_clip" | xclip -selection clipboard -i
 
exit 0
a ovo naredbe za dwm

Kod: Označi sve

/* commands */
static const char *dclipcmd[] = { "dclip", "paste", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-s    b", selbgcolor , "-sf", selfgcolor, NULL };


{ MODKEY|ControlMask,       XK_c,           spawn,          SHCMD("exec dclip copy") },
{ MODKEY|ControlMask,       XK_v,           spawn,          {.v = dclipcmd } },
e sad, neznam kako to staviti u šortkatove u openbox-u. ili udvije bash skriptice pa da onda njih pozovem.
eto molim pomoć.

ako koga zanima evo par korisnih skripti sad. nazovite ih kako hoćete chmod-ajte ju, i možete ih pozvati sa nekom keybind-om.
prvo, za korištenje dmenu trebate ovu skriptu.

Kod: Označi sve

#!/bin/sh

if [ -f $HOME/.dmenurc ]; then
  . $HOME/.dmenurc
else
  DMENU='dmenu -i'
fi

exe=`dmenu_path | $DMENU ${1+"$@"}` && exec $exe
druga je iznimno korisno guglanje pomoću dmenua. ovdje koristim chromium i da otvori u novom tabu.

Kod: Označi sve

#!/bin/bash

if [ -f $HOME/.dmenurc ]; then
  . $HOME/.dmenurc
else
  DMENU='dmenu -i'
fi

GS=`cat ~/.gshist | $DMENU $*`

if grep -q "$GS" "$HOME/.gshist" ; then
    echo already exists in history
else
    echo $GS >> ~/.gshist
fi

chromium -new-tab http://www.google.hr/search?q="$GS"
i nakraju možete sastaviti vlastiti menu sa svime i svači. naredbama, otvaranjem fajlov i foldera itd. po redosljedu u djelu prog ce opcije biti prikazanje. ovo je prijer kako treba da izgleda.

Kod: Označi sve

#!/bin/bash

if [ -f $HOME/.dmenurc ]; then
  . $HOME/.dmenurc
else
  DMENU='dmenu -i'
fi
 
prog="
wlanfix
chromium
.scripts
initab
obnovi_sve"
 
cmd=$(DMENU -fn "-*-nu-*-*-*-*-*-*-*-*-*-*-*-*" <<< "$prog")
 
case ${cmd%% *} in
	     chromium)         exec chromium ;;
        .scripts)         exec pcmanfm ~/.scripts;;
        inittab)           exec gksu medit /etc/inittab;;
        obnovi_sve)       exec terminator -e "packer -Syu --noedit";;
	     wlanfix)          exec terminator -e "sudo iwconfig wlan0 rate 5.5M auto";;
	     *)                exec "'${cmd}'"  ;;
esac
naletio sam ne jednu ful dobro, i ide u alijase.

Kod: Označi sve

alias up='cd "$(ls -d */ | dmenu -i)"'
izbaci izbor direktorij iznad i odabereš koji ćeš.

eto. možete i vi koju ako i korisnu ako imate.
Zadnja izmjena: simke, dana/u 12 svi 2011, 10:48, ukupno mijenjano 3 puta.
I'm a Paladin with 18 charisma and 97 hit points. I can use my helm of disintegration and do one D4 damage as my half-elf mage wields his plus-five holy avenger.
Lutherus

Re: dmenu i skripte za njega

Post Postao/la Lutherus »

moj dmenurc

Kod: Označi sve

 # makes dmenu identical across all scripts by sourcing this file
# aur/dmenu-vertical-xft required for xft fonts

DMENU='dmenu -i -fn xft:Inconsolata-10 -r -x 0 -y 17 -nb #303030 -nf #909090 -sb #909090 -sf #303030'
 
za mpd
#!/bin/bash

DMENU="dmenu -i -nb #000 -nf #7af -sb #000 -sf #fff -x 0 -y 32'"
MPD_HOST='exelero'
MPD_PORT='6600'
MUSIC_DIR=~/Music

function add_track
{
ALBUM="$1"
TRACK=$(echo -e "..\n$(mpc ls "$(grep "$ALBUM" /tmp/newalbum.$$ | awk -F / '{print $1}' | sort -f | uniq)/$ALBUM" | awk -F / '{print $4}')" | ${DMENU} -p "Find: " -l 30 -w 640)
[ "${TRACK}" == ".." ] && add_album
if [ "${TRACK}" != ".." ]
then
mpc add "$(grep "${ALBUM}" /tmp/newalbum.$$ | awk -F / '{print $1}' |sort -f | uniq)/${ALBUM}/${TRACK}"
MORE=$(echo -e "add more\nexit" | ${DMENU} -l 3 -w 100)
[ "$MORE" == "add more" ] && add_track "${ALBUM}"
fi
rm /tmp/newalbum.$$
return
}

function add_album
{
ALBUM=$(mpc listall | awk -F / '{print $2" - " $3}'| grep -v mp3 | sort -f | uniq | ${DMENU} -p "DmMpdC Find: " -l 30 -w 640 | sed -e 's#\ \-\ #\/#')
echo "-${RANDOM}-"
[ -z "$ALBUM" ] && return
MODE=$(echo -e "add\nreplace\nopen" | ${DMENU} -l 4 -w 70)
mpc listall | grep "$ALBUM" > /tmp/newalbum.$$
[ $MODE == "replace" ] && mpc clear
j=$(wc -l /tmp/newalbum.$$ | awk '{print $1}')
J=$(( $j + 1 ))
for ((i=1; i<J; i++))
do
[ $MODE == "add" -o $MODE == "replace" ] && mpc add "$( sed -n "${i}p" /tmp/newalbum.$$)" > /dev/null
done
[ $MODE == "open" ] && add_track "$ALBUM"
[ $MODE == "replace" ] && mpc play 1
rm /tmp/newalbum.$$
}

function select_track
{
TRACK=$(mpc playlist | ${DMENU} -p "Find: " -l 30 -w 400 | cut -c 2- - | sed -r s/"\).*$"/""/)
[ -z "$TRACK" ] && return
MODE=$(echo -e "play\nremove" | ${DMENU} -l 2 -w 100)
[ $MODE == "play" ] && mpc play "$TRACK"
[ $MODE == "remove" ] && mpc del "$TRACK"
}

function toggle_random
{
MRANDOM=$(mpc | grep random | awk '{print $5}')
if [ "${MRANDOM}" == "off" ]
then
mpc random on
notify-send -u low -t 1500 "MPD" "Shuffle switched on"
else
mpc random off
notify-send -u low -t 1500 "MPD" "Shuffle switched off"
fi
}

function mpd_status
{
notify-send -u low -t 4000 "MPD" "<b>$(mpc --format '%artist% - %album% - %title%'| head -n 1)</b>
$(mpc | head -n 3 | tail -n 2)"
}

$1
netcfg profile selector

Kod: Označi sve

#!/bin/sh

nf='#888888'
nb='#2a2a2a'
sf='#ffffff'
sb='#2a2a2a'
font='-*-terminus-medium-r-*-*-12-*-*-*-*-*-*-*'
dmenucmd="dmenu -fn $font -nb $nb -nf $nf -sb $sb -sf $sf"

netprof=`ls -1 /etc/network.d | $dmenucmd $*` 
if [ "x$netprof" != "x" ]; then
    /usr/bin/sudo /usr/bin/netcfg2 -a
    /usr/bin/sudo /usr/bin/netcfg2 $netprof
fi  
Avatar
simke
Postovi: 1410
Pridružen/a: 31 sij 2009, 23:37
OS: arch | 7
Lokacija: rijeka
Kontakt:

Re: dmenu i skripte za njega

Post Postao/la simke »

.dmenurc

Kod: Označi sve

DMENU='dmenu -i -nf '#888888' -nb '#222222' -sf '#ffffff' -sb '#285577'' 
I'm a Paladin with 18 charisma and 97 hit points. I can use my helm of disintegration and do one D4 damage as my half-elf mage wields his plus-five holy avenger.
Lutherus

Re: dmenu i skripte za njega

Post Postao/la Lutherus »

al sumnjam da ćeš nači neki veći odaziv za dmenu.većinom ga koriste uz tiling wm-ove,najviše dwm,wmii,ratpoison,stumpwm,scrotwm,subtle.
a sa time smo dosta kratki na forumu
Avatar
simke
Postovi: 1410
Pridružen/a: 31 sij 2009, 23:37
OS: arch | 7
Lokacija: rijeka
Kontakt:

Re: dmenu i skripte za njega

Post Postao/la simke »

odin je napisao/la:al sumnjam da ćeš nači neki veći odaziv za dmenu.većinom ga koriste uz tiling wm-ove,najviše dwm,wmii,ratpoison,stumpwm,scrotwm,subtle.
a sa time smo dosta kratki na forumu
pa ja ga korstim u openbox. :D

o biti kupim one dobre stvari iz dwm-a. dmenu i tiling, a koristim pypyle
Zadnja izmjena: simke, dana/u 11 svi 2011, 21:09, ukupno mijenjano 2 puta.
I'm a Paladin with 18 charisma and 97 hit points. I can use my helm of disintegration and do one D4 damage as my half-elf mage wields his plus-five holy avenger.
Avatar
retsam
Postovi: 2254
Pridružen/a: 11 svi 2009, 16:26
Spol: M
OS: Arch Linux x86-64 subtle
Lokacija: /dev/pts/0

Re: dmenu i skripte za njega

Post Postao/la retsam »

dmenu mpd

Kod: Označi sve

#!/bin/bash

if [[ -f $HOME/.config/dmenurc ]]; then
  . $HOME/.config/dmenurc
else
  DMENU="dmenu -i"
fi

ARTIST=$( mpc ls | $DMENU )

if [[ $ARTIST == "" ]]; then
  exit 1
else
  ALBUM=$( echo -e "Play All\n$( mpc ls "$ARTIST" )" | $DMENU )

  if [[ $ALBUM == "" ]]; then
    exit 1
  else
    mpc clear
    if [[ $ALBUM == "Play All" ]]; then
      mpc add "$ARTIST"
    else
      mpc add "$ALBUM"
    fi
    mpc play
  fi
fi

exit 0
i dmenurc

Kod: Označi sve

DMENU='dmenu -i -fn Verdana-8 -nb #303030 -nf #909090 -sb #909090 -sf #303030'
koristim dmenu-xft(patchirani iz aur-a)
Ken Thompson je napisao/la:One of my most productive days was throwing away 1000 lines of code.

Pikacode - Arch configs
Pikacode - dwm config
Lutherus

Re: dmenu i skripte za njega

Post Postao/la Lutherus »

zar ti nije lakše odma ozeti dwm?ok,ima više zahebancije ako želiš statusbar ali s druge strane jel moraš imati gtk aplikacije?run it in terminal
Avatar
simke
Postovi: 1410
Pridružen/a: 31 sij 2009, 23:37
OS: arch | 7
Lokacija: rijeka
Kontakt:

Re: dmenu i skripte za njega

Post Postao/la simke »

odin je napisao/la:zar ti nije lakše odma ozeti dwm?ok,ima više zahebancije ako želiš statusbar ali s druge strane jel moraš imati gtk aplikacije?run it in terminal
ma, awsome sam uspio naštimati, najlakši mi se činio. al openbox mi je bolji. nekako je in_the_middle.

ubiti, ovo sam tebo staviti pod arch faun club. :D
Zadnja izmjena: simke, dana/u 11 svi 2011, 21:05, ukupno mijenjano 1 put.
I'm a Paladin with 18 charisma and 97 hit points. I can use my helm of disintegration and do one D4 damage as my half-elf mage wields his plus-five holy avenger.
Lutherus

Re: dmenu i skripte za njega

Post Postao/la Lutherus »

ok.samo pitam.
ma bitno da tebi dela ono kaj ti treba.ostalo koj window manager imaš koj desktop nemaš,koju distru voziš je manje bitno
Avatar
simke
Postovi: 1410
Pridružen/a: 31 sij 2009, 23:37
OS: arch | 7
Lokacija: rijeka
Kontakt:

Re: dmenu i skripte za njega

Post Postao/la simke »

odin je napisao/la:ok.samo pitam.
ma bitno da tebi dela ono kaj ti treba.ostalo koj window manager imaš koj desktop nemaš,koju distru voziš je manje bitno
e pa nedela, ono prvo, napočetu posta.
I'm a Paladin with 18 charisma and 97 hit points. I can use my helm of disintegration and do one D4 damage as my half-elf mage wields his plus-five holy avenger.
Odgovori