Rasmus Lindroth

En blogg om Linux & teknik

Video i i3

i3 skrivbord med mpv

Här kommer ett litet snabbt tips för att titta på videoklipp i fönsterhanteraren i3. Som ni kan se på bilden ovanför så ligger videon över alla andra fönster på skrivbordet. Videon följer även med när man byter skrivbord. Jag har två alternativ, antingen att videon hamnar nere till höger eller att den hamnar uppe till höger på skärmen. Jag har snott det från @airblader på Reddit. Han är även en av dem som är med och kodar på i3.

Kommandona för att få till det kommer här.

bindsym $mod+m border pixel 1, fullscreen disable, floating enable, resize set 1242 700, sticky enable, move window to position 2598 1460, focus mode_toggle

bindsym $mod+Shift+m border pixel 1, fullscreen disable, floating enable resize set 1242 700, sticky enable, move window to position 2598 28, focus mode_toggle

För att få till positionen och storleken av det flytande fönstret har jag inte särskilt mycket bättre tips än att försöka sig fram. Tänk bara på propotionerna så du har 16:1 och slipper kanter runt fönstret.

Bonustips om du använder Qutebrowser

Använder du Qutebrowser som webbläsare har jag ett litet bonustips kopplat till videoklipp. Jag brukar spela mina videoklipp med mpv istället för direkt i webbläsaren, framförallt för att videon ska vara separerad från webbläsaren om det är någonting längre. Då kan jag flytta klipper precis som jag visade innan.

Då använder jag mig av två kommandon. Det första fixar kortkommandon över alla länkar och skriver man in kortkommandot skickas videon direkt till mpv. Det andra kommandot ,,v skickar den nuvarande url:en till mpv.

config.bind(',v', 'hint all spawn gmpv {hint-url}')
config.bind(',,v', 'spawn gmpv {url}')

Den som är uppmärksam ser att det står gmpv istället för mpv och det är för att jag har skrivit ett litet program som skickar videon till mpv. Jag minns faktiskt inte varför jag gjorde det, men jag har för mig att det var för att processen annars var kopplad till Qutebrowser. Stängde jag ner Qutebrowser ständes även videon, men jag är inte helt säker. Kan ha varit att det var så i något annat sammanhang. Testa därför att bara skriva in mpv istället för gmpv.

Koden för gmpv är riktigt simpel och skriven i Go.

package main

import (
	"fmt"
	"os"
	"os/exec"
)

func printError(s string) {
	fmt.Fprintln(os.Stderr, s)
	os.Exit(1)
}

func main() {
	if len(os.Args) < 2 {
		printError("You must provide file/url")
	}

	exec.Command("mpv", os.Args[1]).Start()
}