dwm e scorciatoia per avvio mpv (pseudo-gui)

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3056
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

dwm e scorciatoia per avvio mpv (pseudo-gui)

Messaggioda joe » dom giu 02, 2019 21:44

Sto provando un po' questo window manager minimale...
Volevo impostare qualche scorciatoia per avviare applicazioni di uso frequente del tipo:
Alt + w = avvia firefox
Alt + v = avvia la pseudo gui di mpv

Dei primi due esempi sono riuscito a far funzionare il primo, mentre il secondo non funziona: premendo alt e "v" si dovrebbe aprire la finestrella di mpv in cui trascinare links a video... invece non si apre nulla.

Per far aprire la finestra di mpv il comando preciso è il seguente:

Codice: Seleziona tutto

mpv --player-operation-mode=pseudo-gui

Ecco, tanto per capirci, se da terminale digito quella roba lì la finestra si apre, e funziona anche digitandolo lo stesso comando dalla barra launcher dmenu in alto, che si attiva premendo Alt + p (in pratica: premo alt+p, digito mpv eccecc, e si apre la finestra del player).

Per creare la scorciatoia che lanci mpv ho modificato il file config.h aggiungendo alcune righe:

Codice: Seleziona tutto

/* commands */
static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
static const char *termcmd[]  = { "st", NULL };
static const char *browsercmd[]  = { "firefox", NULL };
static const char *playercmd[]  = { "mpv --player-mode=pseudo-gui", NULL };

static Key keys[] = {
        /* modifier                     key        function        argument */
        { MODKEY,                       XK_p,      spawn,          {.v = dmenucmd } },
        { MODKEY|ShiftMask,             XK_Return, spawn,          {.v = termcmd } },
        { MODKEY,                       XK_v,      spawn,          {.v = playercmd } },
        { MODKEY,                       XK_w,      spawn,          {.v = browsercmd } },
        { MODKEY,                       XK_b,      togglebar,      {0} },

Precisamente le seguenti:

Codice: Seleziona tutto

static const char *browsercmd[]  = { "firefox", NULL };
static const char *playercmd[]  = { "mpv --player-mode=pseudo-gui", NULL };
[...]
        { MODKEY,                       XK_v,      spawn,          {.v = playercmd } },
        { MODKEY,                       XK_w,      spawn,          {.v = browsercmd } },

Ho installato poi il pacchetto dwm usando lo slackbuild di SBo.
C'è una dir patches che viene scandagliata dallo slackbuild e vengono applicate le patches che trova lì dentro.
La patch ottenuta modificando il config sopra viene applicata, perchè il browser firefox si apre premendo alt+w, quindi la patch ha sortito qualche effetto.
Il punto è capire per quale motivo non si avvia mpv.

Qualcuno ha provato qualcosa del genere e ha qualche idea?


PS.
per il momento ho tamponato mettendo palyer-operation-mode=pseudo-gui nel config di mpv.
Per cu ora se premo:
- alt+p
- e digito mpv

si apre la finestrella vuota del player (in cui ci si può trascinare dentro l'oggetto da riprodurre, file o link che sia...).
Certo che però ottenere l stessa cosa facendo semplicemente alt+v sarebbe troppo meglio!

miklos
Master
Master
Messaggi: 1506
Iscritto il: lun lug 16, 2007 17:39
Slackware: 14.1 64bit
Kernel: 3.16.3
Desktop: openbox 3.5.2
Località: Roma

Re: dwm e scorciatoia per avvio mpv (pseudo-gui)

Messaggioda miklos » lun giu 03, 2019 13:50

hai provato a mettere i parametri al posto del NULL (scusami ma sono impossibilitato a fare di meglio dal cellulare).. credo che quando definisca un comando nel config.h la prima stringa è l'eseguibile...la seconda i parametri (se guardi poco sopra come è definito dmenu capirai meglio che intendo)

comunque dwm è una bomba per chi non vuole troppi fronzoli..io lo sto usando e mi ci trovo troppo meglio :)
ho visto cose che voi astemi non potete immaginare
https://github.com/ilmich

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3056
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: dwm e scorciatoia per avvio mpv (pseudo-gui)

Messaggioda joe » lun giu 03, 2019 19:50

Sì ho visto il problema era proprio quello.
Siccome avevo già tamponato come spiegato sopra, cioè mettendo mano alla configurazione di mpv, di fatto non è più necessaria l'opzione da richiamare al lancio...
In pratica questo è sbagliato:

Codice: Seleziona tutto

static const char *playercmd[]  = { "mpv --player-mode=pseudo-gui", NULL };

Mentre questo il giusto sarebbe stato questo credo:

Codice: Seleziona tutto

static const char *playercmd[]  = { "mpv", "--player-mode=pseudo-gui", NULL };

... pesnso che il NULL in fondo serva comunque, ma potrei sbagliarmi, non ho provato.
Non ho provato perché aggiungendo 'opzione nel ~/.config/mpv/mpv.conf, ecco che basta lanciarlo liscio, quindi alla fine ho messo:

Codice: Seleziona tutto

static const char *playercmd[]  = { "mpv", NULL };

E confermo che questo funziona.

Grazie miklos!
Avrei anche qualche altra osservazione/domanda:

- perché firefox viene "taggato" come "9", in pratica perchè viene sparato sul workspace 9 al lancio?
e questo avviene anche senza usare la scorciatoia che ho creato, anche lanciandolo via dmenu (alt+p firefox <invio>).

- come fai tu ad esempio aprire un file pdf? Io spesso utilizzo "mupdf" ed è parecchio scomodo fare

Codice: Seleziona tutto

alt+p

Codice: Seleziona tutto

mupdf Documenti/percorso/del/file/che/voglio/aprire/e/chi/se/lo/ricorda/file.pdf

basterebbe anche una funzione di completamento via tab come c'è in shell tanto per dirne una...
altrimenti si deve aprire un file manager click+click fino alla directory che contiene il file, poi click dx "apri con", mupdf.

- Boh ce ne sarebbero anche altre ma per il momento mi fermo qua

miklos
Master
Master
Messaggi: 1506
Iscritto il: lun lug 16, 2007 17:39
Slackware: 14.1 64bit
Kernel: 3.16.3
Desktop: openbox 3.5.2
Località: Roma

Re: dwm e scorciatoia per avvio mpv (pseudo-gui)

Messaggioda miklos » lun giu 03, 2019 21:21

nel file config.h trovi tutto...se lo spulci vedrai che firefox è 'configurato' per aprirsi sul tag 9... cosi come puoi se nn erro configurare i tipi di disposizione delle finestre (tiling...floating...monocle). per dwm trovi un mondo di patch e configurazioni (soprattutto su github ma anche sul sito ufficiale) dal quale prendere spunto.

io lo uso piuttosto 'vanilla' con slstatus per monitorare un po di cose (CPU RAM etc etc)

relativamente all'apertura dei vari file dwm si presta all'utilizzo del terminale che poi è il motivo per il quale lo sto provando dato che io lo uso parecchio..quindi tipicamente per queste cose apro un terminale e lancio quello che mi serve spostandolo eventualmente su un tag più libero. pero potrebbe esistere una qualche versione di dmenu o simili che ti fa autocompletamento del filesystem
ho visto cose che voi astemi non potete immaginare
https://github.com/ilmich

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3056
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: dwm e scorciatoia per avvio mpv (pseudo-gui)

Messaggioda joe » mar giu 04, 2019 0:25

Per quanto riguarda firefox il configure è abbastanza esplicativo effettivamente, basta leggersi un po' la documentazione
https://dwm.suckless.org/customisation/rules/
La parte saliente da come ho capito è questa

Codice: Seleziona tutto

static const Rule rules[] = {
        /* xprop(1):
         *      WM_CLASS(STRING) = instance, class
         *      WM_NAME(STRING) = title
         */
        /* class      instance    title       tags mask     isfloating   monitor */
        { "Gimp",     NULL,       NULL,       0,            1,           -1 },
        { "Firefox",  NULL,       NULL,       1 << 8,       0,           -1 },
};


Buono a sapersi anche per quanto riguarda slstatus, in effetti avere sotto controllo le risorse hardware impiegate può tornare utile, così come la data e ora...

Sull'auto-completamento in dmenu ho visto che nello slackbuild SBo c'è la possibilità di applicare "rofi", che non ho capito bene perché ho letto al volo, però può soppiantare dmenu, se si usa lo slackbuild di SBo bisogna attivarlo durante la compilazione di dwm, come da filosofia suckless:
https://github.com/davatorium/rofi
Per avere un'idea basta lanciarlo anche da dmenu:
alt+p
rofi -show run
e da lì si può lanciare un'applicazione a piacere... Mi informerò meglio

Anche io ho sempre un terminale aperto e uso principalmente una sessione "screen" con dentro diverse shell...
Però in certi casi sento un po' la mancanza del desktop di KDE in cui avevo piazzato qualche collegamento a directory di uso frequente:
click sul collegamento, si apre dolphin e apro il file che mi serve con un doppio click.. che poi a seconda del file parta libreoffice o un lettore pdf solitamente non me ne preoccupo, ovviamente dipende dal tipo di file... a volte con le immagini che sarebbero per default aperte con gvenview magari voglio invece aprire con gimp e in quel caso ha la sua comodità anche il click dx + menu-tendina "apri con".
Per capirci stavo riflettendo sullo sforzo di ottenere un ambiente ultra tirato e performante, quando poi al lato pratico devi digitare un sacco per ottenere lo stesso risultato che su un ambiente un po' più pesante si ottiene alla fine più agevolmente con un paio di click...
Ma probabilmente la riflessione deriva dalla scarsa conoscenza di dwm e varie estensioni che probabilmente invece offrono potenzialità rilevanti.

miklos
Master
Master
Messaggi: 1506
Iscritto il: lun lug 16, 2007 17:39
Slackware: 14.1 64bit
Kernel: 3.16.3
Desktop: openbox 3.5.2
Località: Roma

Re: dwm e scorciatoia per avvio mpv (pseudo-gui)

Messaggioda miklos » mar giu 04, 2019 14:08

guarda... se come ho capito io.. hai fatto il salto da un DE cosi 'complesso' come KDE a dwm, senza passare da vie di mezzo (icewm.. lxde etc etc etc) ci credo che ti trovi abbastanza spaesato.
Io sono abituato al minimalismo (prima usavo openbox e poco piu') e preferisco non avere popup..notifiche etc etc che mi distraggono da cio che sto facendo.

In ogni caso io come 'file manager' utilizzo Midnight Commander da terminale e quello un minimo di automatisto nell'apertura dei file ce l'ha.

Per quanto riguarda i comandi piu' complessi e la navigazione nelle directory mi affido ad un bash_profile.
Qui dentro metto degli alias per abbreviare i comandi piu' 'noiosi' (tipo montare il telefono, creare progetti java, settare http proxy etc etc) e delle variabili d'ambiente in modo che ad esempio digitando

Codice: Seleziona tutto

cd $FOTO
mi apre direttamente la directory dove tengo le foto personali.
ho visto cose che voi astemi non potete immaginare
https://github.com/ilmich

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3056
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: dwm e scorciatoia per avvio mpv (pseudo-gui)

Messaggioda joe » mar giu 04, 2019 17:28

A dirla tutta svariati anni fa avevo anche usato per parecchio il WM "wmii", se non ricordo male si chiamava così.
Era molto simile a "dwm".... però era un periodo che facevo andavo praticamente solo da terminale, per motivi didattici soprattutto.

Nel tempo sono ri-approdato a desktop più tradizionali come KDE.
Però anche a me danno fastidio le notifiche i vari akonadi knotify (che tra l'altro gira anche ora senza kde...) e tutta quella roba.

Ma... esempi:
- se infilo una chiavetta mi è comodo aprirne il contenuto con tre click, uno sull'area notifiche, uno sui dispositivi collegati, l'altro per scegliere apri col file-manager dolphin. Alla fine è comodo e versatile, cioè anche se ho più roba collegata in usb dal nome riconosco a botta sicura quello che devo aprire/montare/smontare.
In dwm che si fa? mount /dev/sdd <tab> <tab> ecc.ecc /mnt/usb ?? sempre sperando che il filesystem sia beccato automaticamente.... tipo ntfs mi pare si debba ancora specificare "-t ntfs-3g" altrimenti resta in sola lettura no?

MC non l'ho mai usato davvero, solo provato qualche volta e non mi ha mai preso più di tanto. Posso sempre tentare la lettura di un tutorial, magari mi sono sempre sbagliato...

Avendo usato wmii, ricordo che alla fine i vantaggi erano parecchi e quando passai a KDE, effettivamente mi trovai spaesato davvero. Magari col tempo sono io che mi sono impigrito e meno disponibile a spendere troppo tempo in configurazioni, pur pratiche e comode che si rivelino in seguito.

Ad ogni modo ho aggiunto "slstatus", settato il carattere e lo stile "solarized" nel terminale "st", l'ho poi attivato anche in vim, non è male... Poi ho tolto la regola che apre firefox sul tag 9, non mi era utile e nel caso lo sposto a mano, ed eventualmente sul tag 2 che mi è più comodo.

Insomma lo sto provando un po', ma più per curiosità che altro, vediamo se riesco ad ambientarmici.

miklos
Master
Master
Messaggi: 1506
Iscritto il: lun lug 16, 2007 17:39
Slackware: 14.1 64bit
Kernel: 3.16.3
Desktop: openbox 3.5.2
Località: Roma

Re: dwm e scorciatoia per avvio mpv (pseudo-gui)

Messaggioda miklos » mar giu 04, 2019 18:14

dwm va preso per quello che è... ovvero un gestore di finestre.. cosi' come openbox, kwin etc etc etc.
ma questo nn toglie che la restante infrastruttura di slackware che poi è alla base dei DE piu' 'cicciotti' non possa essere utiizzata.
Mi spiego.. su slackware esiste il demone udev (almeno nella 14.2) che unito al sistema di comunicazione interprocesso dbus (anch esso presente in slackware) fa si che si possa fare broadcast di messaggi a seguito di alcuni eventi lanciati dal kernel (come ad esempio l'inserimento di un device nuovo).
La peculiarità di questo sistema è che essendo un 'serverino' che gira con permessi di root rende possibile ad un normale utente la possibilità di fare cose che diversamente richiederebbero privilegi superiori senza la necessità di loggarsi o 'sudare'.

E' attraverso questa implacatura che KDE e simili riescono ad automatizzare questo tipo di cose.

Tutto questo per dirti che anche con dwm volendo puoi ottenere risultati simili perchè sarebbe sufficiente realizzare un demone che sta in ascolto dei messaggi che arrivano tramite dbus e in grado di 'intercettare' quelli ad esempio sui device rimuovilbili e fare in automatico il mount.
Io non lo uso... sono abituato a fare il mount :) pero se non erro esiste un progetto chiamato udevil che fa proprio questo :) ma sicuramente su dwm trovi anche di meglio

EDIT: tanto per farti capire.. se da terminale dai il comando

Codice: Seleziona tutto

dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.PowerOff" boolean:true
spegni il computer esattamente come faresti da KDE con l'apposito pulsante
ho visto cose che voi astemi non potete immaginare
https://github.com/ilmich

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3056
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: dwm e scorciatoia per avvio mpv (pseudo-gui)

Messaggioda joe » mar giu 04, 2019 20:54

Così... al volo perché il topic sarebbe effettivamente "risolto".

Ho dato un'occhiata al programma "nnn": è un file browser che gira da terminale e fa quello che cercavo, esempio:
- lo lancio
- navigo fino alla directory che contiene un file di interesse, ad esempio un PDF
- poi seleziono il file PDF
- a questo punto se voglio aprirlo con l'applicazione predefinita premo invio, se invece voglio aprirlo con altra applicazione premo ctrl-o e digito il nome dell'app

Ho ri-provato anche mc ma proprio non mi va a genio, questo nnn al confronto è tremendamente più intuitivo e semplice, probabilmente anche più limitato, ma va be'.

Comunque grazie anche per il discorso dbus e terrò conto

miklos
Master
Master
Messaggi: 1506
Iscritto il: lun lug 16, 2007 17:39
Slackware: 14.1 64bit
Kernel: 3.16.3
Desktop: openbox 3.5.2
Località: Roma

Re: dwm e scorciatoia per avvio mpv (pseudo-gui)

Messaggioda miklos » mar giu 04, 2019 21:17

siamo qui per condividere esperienze :D ..questo nnn non lo conoscevo in effetti... ci darò un'occhiata... mc lo uso da sempre e oramai vado in automatico pero provare qualcosa di nuovo fa sempre bene.

comunque se tieni duro con dwm sarei curioso di condividere eventuali tuoi sviluppi... magari in un post dedicato
ho visto cose che voi astemi non potete immaginare
https://github.com/ilmich

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3056
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: dwm e scorciatoia per avvio mpv (pseudo-gui)

Messaggioda joe » mar giu 04, 2019 21:33

Sì senz'altro non mancherò.
Anzi tanto per finire di sporcare questa discussione, allego un tarball con uno slackbuild, slack-desc, più config.h (cpu, percentuale occupata disco e spazio libero, data e ora).
se non è presente il tarball dei sorgenti viene scaricato e creato via git. Come versione ho messo la data di oggi.
Ok, dateci un'occhiata perché non sono uno specialista pacchettizzatore, ho solo scopiazzato dagli script di SBo, mi pare quello per "st" o "dwm" non ricordo neanche più... :lol:
Ad ogni modo funzionare mi pare che funzioni. A chi servisse...

Ai prossimi sviluppi!
Su altro topic più in tema però ;)
Allegati
slstatus.tar.gz
(10 KiB) Scaricato 37 volte