원문 보기: https://dawoum.duckdns.org/wiki/Play_timer
Play timer는, 이전에 mpris timer로 알려져 있으며, 미디어 플레이어인 척함으로써 완벽하게 통합된 타이머 응용 프로그램입니다.
그것은 궁극적으로 유일한 목적, 즉 타이머를 빠르고 효율적으로 시작하는 데 사용됩니다. 게다가 알림이 포함되어 있습니다!
그것은 가능한 한 키보드 친화적이 되도록 노력합니다. 탐색 키 (화살표, 탭, shift+탭, 스페이스, 엔터)를 사용하거나 바로 숫자 입력해서 시작할 수 있습니다.
Introduction
데비안 그놈 데스크탑에는 gnome clocks라는 타이머 프로그램이 있습니다.
한편, MPRIS는 대부분이 음악 응용 프로그램과 영화 플레이어와 결합시키는 것이지만, 이 새로운 응용 프로그램은 freedesktop standard을 엔터테인먼트와 상관없는, 바로 타이머로 작동합니다.
더구나, 타이머는 잘 통합되어, 시스템트레이에 원형으로 카운터 다운이 이루어지고, 반면에 clocks는 남은 양을 보기 위해 데스크탑에 해당 프로그램을 올려야 하는 것과는 대조적입니다.
Installation
데비안에서 패키지를 제공하지 않기 때문에, 먼저 Flatpak으로 설치를 시도할 수 있습니다:
Debian packaging
어떤 이유에서든지 데비안 패키지가 필요할 수 있습니다. 이때, 아치 리눅스 패키지 정보를 이용할 수 있습니다:
위의 것은 개발자의 바이너리를 받아서 패키지를 만드는 것이고, 아래 것은 직접 소스로부터 컴파일을 시도합니다.
어쨌든, 바이너리 패키지를 만들 때에는 소스 트리가 필요하기 때문에, 먼저 소스 트리를 받고 시작합니다:
- git clone --recurse-submodules --depth 1 https://github.com/efogdev/mpris-timer
- cd mpris-timer
먼저 바이너리 패키지를 만들 때에는 아래에서 정보에 따라 원하는 버전을 다운로드하십시오:
그런-다음 mpris-timer 디렉토리 내부에 해당 파일을 옮겨둡니다:
그런-다음 아치 스크립트를 참조해서 아래와 같이 데비안 바이너리 패키지를 만들 디렉토리 구조를 만들 수 있습니다
- gvim play-timer-bin.install
#!/bin/bash
pkgname=play-timer
pkgver=2.1.1
pkgrel=1
curarch=$(uname -m)
glibname="io.github.efogdev.mpris-timer"
pkgdir=play-timer_2.1.1-1_amd64
curarch=$(uname -m)
install -Dm755 "$pkgname-$curarch" "$pkgdir/usr/bin/$pkgname"
install -Dm644 "misc/$glibname.desktop" \
"$pkgdir/usr/share/applications/$glibname.desktop"
install -Dm644 "misc/$glibname.metainfo.xml" \
"$pkgdir/usr/share/metainfo/$glibname.metainfo.xml"
install -Dm644 "misc/$glibname.gschema.xml" \
"$pkgdir/usr/share/glib-2.0/schemas/$glibname.gschema.xml"
install -Dm644 "internal/ui/res/icon.svg" \
"$pkgdir/usr/share/icons/hicolor/scalable/apps/$glibname.svg"
mkdir -p "$pkgdir/DEBIAN"
다음으로 데비안 control 파일을 만듭니다:
- gvim play-timer_2.1.1-1_amd64/DEBIAN/control
이제 패키지로 묶습니다:
- dpkg-deb --build --root-owner-group play-timer_2.1.1-1_amd64
- sudo dpkg -i play-timer_2.1.1-1_amd64.deb
Binary compile
컴파일에 필요한 파일들은 아치 패키지 정보로부터 확인할 수 있습니다:
- gvim play-timer.install
#!/bin/bash
pkgname=play-timer
pkgver=2.1.1
pkgrel=1
pkgdir=play-timer_2.1.1-1_amd64
glibname="io.github.efogdev.mpris-timer"
curarch=$(uname -m)
#rm -rf .bin
mkdir .bin
export GOBIN=".bin"
export GO111MODULE=on
go build -pgo default.pgo -tags wayland -trimpath -ldflags="-s -w" -o "$GOBIN/play-timer" ./cmd/main.go
install -Dm755 ".bin/play-timer" "$pkgdir/usr/bin/play-timer"
install -Dm644 "misc/$glibname.desktop" \
"$pkgdir/usr/share/applications/$glibname.desktop"
install -Dm644 "misc/$glibname.metainfo.xml" \
"$pkgdir/usr/share/metainfo/$glibname.metainfo.xml"
install -Dm644 "misc/$glibname.gschema.xml" \
"$pkgdir/usr/share/glib-2.0/schemas/$glibname.gschema.xml"
install -Dm644 "internal/ui/res/icon.svg" \
"$pkgdir/usr/share/icons/hicolor/scalable/apps/$glibname.svg"
mkdir -p "$pkgdir/DEBIAN"
13분 정도 걸립니다.
Troubleshootings
Exchange sound file
Gnome clocks와 다르게, 사운드 파일을 지정해서 사용하는 것이 아니라, 사운드 파일을 해부(?)해서 바이너리 내부에 포함시키는 것으로 보입니다.
어쨌든, internal/core/res/ding.mp3 파일이 존재하고, 해당 파일을 다른 파일로 교체하고 같은 이름(?)으로 두고 새롭게 컴파일을 해야 합니다.
Re-compile
사용자 홈디렉토리 아래에 있는 ~/.cache/go-build 디렉토리를 삭제할 수 있습니다. 아마도 다른 방법이 있을 것으로 기대됩니다.
Screenshots
