diff options
Diffstat (limited to 'linux/home/.local')
| -rwxr-xr-x | linux/home/.local/bin/control-center | 31 | ||||
| -rwxr-xr-x | linux/home/.local/bin/eww | bin | 0 -> 22225024 bytes | |||
| -rwxr-xr-x | linux/home/.local/bin/ffmpeg | 24 | ||||
| -rwxr-xr-x | linux/home/.local/bin/nitrogen | 63 | ||||
| -rwxr-xr-x | linux/home/.local/bin/notification-center | 26 | ||||
| -rwxr-xr-x | linux/home/.local/bin/xcolor-pick | 31 | ||||
| -rw-r--r-- | linux/home/.local/share/applications/com.obsproject.Studio.desktop | 99 | ||||
| -rw-r--r-- | linux/home/.local/share/applications/phototonic.desktop | 17 |
8 files changed, 291 insertions, 0 deletions
diff --git a/linux/home/.local/bin/control-center b/linux/home/.local/bin/control-center new file mode 100755 index 0000000..d0b3320 --- /dev/null +++ b/linux/home/.local/bin/control-center @@ -0,0 +1,31 @@ +#!/bin/bash + +LOCK_FILE="$HOME/.cache/eww-control-center.lock" +EWW_BIN="$HOME/.local/bin/eww" +ACTIVE_PLAYERS=$(playerctl -l | head -n 1) + +run() { + ${EWW_BIN} open control-center + sleep 0.2 + xdo raise -N eww-bar + ${EWW_BIN} update ccenter=true + + sleep 1 && [[ ! -z "$ACTIVE_PLAYERS" ]] && ${EWW_BIN} update mp=true +} + +# Run eww daemon if not running +if [[ ! `pidof eww` ]]; then + ${EWW_BIN} daemon + sleep 1 +else + if [[ ! -f "$LOCK_FILE" ]]; then + touch "$LOCK_FILE" + run + else + [[ ! -z "$ACTIVE_PLAYERS" ]] && ${EWW_BIN} update mp=false && sleep 0.4 + ${EWW_BIN} update ccenter=false + sleep 0.6 + ${EWW_BIN} close control-center + rm "$LOCK_FILE" + fi +fi diff --git a/linux/home/.local/bin/eww b/linux/home/.local/bin/eww Binary files differnew file mode 100755 index 0000000..585d6d2 --- /dev/null +++ b/linux/home/.local/bin/eww diff --git a/linux/home/.local/bin/ffmpeg b/linux/home/.local/bin/ffmpeg new file mode 100755 index 0000000..2258fbd --- /dev/null +++ b/linux/home/.local/bin/ffmpeg @@ -0,0 +1,24 @@ +#!/bin/bash + +# audio +A="$(pactl list sources | grep 'analog.*monitor' | awk '{print $2}')" +# screen size +S="$(xdpyinfo | grep dimensions | awk '{print $2}')" +# file name +N="$(date +"%m-%d-%Y_%I:%M%p").mp4" + +# Desktop audio + screen recording +ffmpeg \ +-s "$S" -r 25 -f x11grab -i :0.0+0,0 \ +-ac 2 ~/"$N" + +# ffmpeg can output high quality GIF. Before you start it is always recommended to use a recent version: download or compile. + +# ffmpeg -ss 30 -t 3 -i input.mp4 -vf "fps=10,scale=320:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 output.gif + +# This example will skip the first 30 seconds (-ss 30) of the input and create a 3 second output (-t 3). +# fps filter sets the frame rate. A rate of 10 frames per second is used in the example. +# scale filter will resize the output to 320 pixels wide and automatically determine the height while preserving the aspect ratio. The lanczos scaling algorithm is used in this example. +# palettegen and paletteuse filters will generate and use a custom palette generated from your input. These filters have many options, so refer to the links for a list of all available options and values. Also see the Advanced options section below. +# split filter will allow everything to be done in one command and avoids having to create a temporary PNG file of the palette. +# Control looping with -loop output option but the values are confusing. A value of 0 is infinite looping, -1 is no looping, and 1 will loop once meaning it will play twice. So a value of 10 will cause the GIF to play 11 times. diff --git a/linux/home/.local/bin/nitrogen b/linux/home/.local/bin/nitrogen new file mode 100755 index 0000000..b8afe27 --- /dev/null +++ b/linux/home/.local/bin/nitrogen @@ -0,0 +1,63 @@ +#!/usr/bin/env bash + +# Wrapper for nitrogen setting the freedesktop.org AccountsService/BackgroundFile so LightDM wallpaper is synced. +# Inspired by <https://rafaelc.org/posts/sync-wm-wallpaper-with-lightdm-on-linux-mint/> + +key_value_retriever() { + KEY="${1}" + if [[ -z "$KEY" ]]; then + printf "ERROR: KEY should not be empty\n" + return + fi + FILE="${2}" + if [[ ! -f "$FILE" ]]; then + printf "ERROR: Cannot find FILE: %s\n" "$FILE" + return + fi + VALUE_VARNAME="${3}" + if [[ -z "$VALUE_VARNAME" ]]; then + printf "ERROR: VALUE_VARNAME should not be empty\n" + return + fi + MATCH=$(grep -m1 "^[[:space:]]*${KEY}=" "$FILE") + INDEX_OF_FIRST_EQUAL=$(expr index "$MATCH" =) + VALUE="${MATCH:${INDEX_OF_FIRST_EQUAL}}" + export "$VALUE_VARNAME"="$VALUE" +} + +/usr/bin/nitrogen "$@" +if [[ "${1:-}" == "--restore" ]]; then + exit $? +fi + +NITROGEN_BG_SAVED_CFG_FILE="${HOME}/.config/nitrogen/bg-saved.cfg" +if [[ ! -f "$NITROGEN_BG_SAVED_CFG_FILE" ]]; then + printf "!ERROR! Cannot find NITROGEN_BG_SAVED_CFG_FILE[%s]\n" "$NITROGEN_BG_SAVED_CFG_FILE" 1>&2 + exit 1 +fi + +key_value_retriever "file" "$NITROGEN_BG_SAVED_CFG_FILE" "NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE" + +if [[ -z "$NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE" ]]; then + printf "!ERROR! Cannot retrieve NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE from NITROGEN_BG_SAVED_CFG_FILE[%s]\n" "NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE" 1>&2 + exit 1 +fi + +if [[ ! -f "$NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE" ]]; then + printf "!ERROR! Cannot find NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE[%s]\n" "$NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE" 1>&2 + exit 1 +fi + +printf "Setting nitrogen background into freedesktop.org AccountsService...\n" +printf "NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE[%s]\n" "$NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE" + +"$HOME"/.scripts/lockscreen-wallpaper & +dbus-send \ + --print-reply \ + --system \ + --dest=org.freedesktop.Accounts \ + /org/freedesktop/Accounts/User"$(id -u)" \ + org.freedesktop.DBus.Properties.Set \ + string:org.freedesktop.DisplayManager.AccountsService \ + string:BackgroundFile \ + variant:string:"$NITROGEN_BG_SAVED_CFG_FIRST_BACKGROUND_FILE" diff --git a/linux/home/.local/bin/notification-center b/linux/home/.local/bin/notification-center new file mode 100755 index 0000000..d785628 --- /dev/null +++ b/linux/home/.local/bin/notification-center @@ -0,0 +1,26 @@ +#!/bin/bash + +LOCK_FILE="$HOME/.cache/eww-notification-center.lock" +EWW_BIN="$HOME/.local/bin/eww" + +run() { + "$EWW_BIN" open notification-center + sleep 0.2 + "$EWW_BIN" update noticenter=true +} + +# Run eww daemon if not running +if [[ ! $(pidof eww) ]]; then + "$EWW_BIN" daemon + sleep 1 +else + if [[ ! -f "$LOCK_FILE" ]]; then + touch "$LOCK_FILE" + run + else + "$EWW_BIN" update noticenter=false + sleep 0.8 + "$EWW_BIN" close notification-center + rm "$LOCK_FILE" + fi +fi diff --git a/linux/home/.local/bin/xcolor-pick b/linux/home/.local/bin/xcolor-pick new file mode 100755 index 0000000..459246f --- /dev/null +++ b/linux/home/.local/bin/xcolor-pick @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +# ██╗ ██╗ ██████╗ ██████╗ ██╗ ██████╗ ██████╗ +# ╚██╗██╔╝██╔════╝██╔═══██╗██║ ██╔═══██╗██╔══██╗ +# ╚███╔╝ ██║ ██║ ██║██║ ██║ ██║██████╔╝ +# ██╔██╗ ██║ ██║ ██║██║ ██║ ██║██╔══██╗ +# ██╔╝ ██╗╚██████╗╚██████╔╝███████╗╚██████╔╝██║ ██║ +# ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ +# color picker for X. +# Simple Script To Pick Color Quickly Using Gpick. +# Created By: rxyhn. + +TEMP_DIR=/tmp/xcolor +MSG=${XDG_CACHE_HOME:-$HOME/.cache}/xcolor.msg + +EXPIRE_TIME=5000 + +main() { + + HEX_COLOR=$(gpick -pso --no-newline) + mkdir -p $TEMP_DIR + HEX="${HEX_COLOR#\#}" + FNAME="$TEMP_DIR/$HEX.png" + convert -size 100x100 xc:"$HEX_COLOR" "$FNAME" + COLOR_CODE="$HEX_COLOR" + + printf %s "$COLOR_CODE" | xclip -sel c + notify-send -a XColor "$COLOR_CODE" --icon="$FNAME" --expire-time="$EXPIRE_TIME" +} + +main diff --git a/linux/home/.local/share/applications/com.obsproject.Studio.desktop b/linux/home/.local/share/applications/com.obsproject.Studio.desktop new file mode 100644 index 0000000..a0a09fd --- /dev/null +++ b/linux/home/.local/share/applications/com.obsproject.Studio.desktop @@ -0,0 +1,99 @@ +[Desktop Entry] +Version=1.0 +Name=OBS Studio +GenericName=Streaming/Recording Software +Comment=Free and Open Source Streaming/Recording Software +Exec=obs +#Icon=$HOME/.icons/WhiteSur-dark/apps/scalable/obs.svg +#Icon=$HOME/.local/share/icons/WhiteSur-dark/apps/scalable/obs.svg +Icon=/home/srdusr/.local/share/icons/WhiteSur-dark/apps/scalable/obs.svg +Terminal=false +Type=Application +Categories=AudioVideo;Recorder; +StartupNotify=true +StartupWMClass=obs + +GenericName[an_ES]=Programa de retransmisión/gravación +Comment[an_ES]=Program de retransmisión/gravación libre y de codigo ubierto +GenericName[ar_SA]=برامج البث / التسجيل +Comment[ar_SA]=برنامج بث / تسجيل مجاني ومفتوح المصدر +GenericName[bn_BD]=স্ট্রিমিং/রেকর্ডিং সফটওয়্যার +Comment[bn_BD]=ফ্রি এবং মুক্ত সোর্স স্ট্রিমিং/রেকর্ডিং সফ্টওয়্যার +GenericName[ca_ES]=Programa de retransmissió/enregistrament +Comment[ca_ES]=Programa de retransmissió/enregistrament de codi lliure i gratuït +GenericName[cs_CZ]=Software pro vysílání a nahrávání +Comment[cs_CZ]=Svobodný software pro vysílání a nahrávání +GenericName[da_DK]=Streaming-/optagelsessoftware +Comment[da_DK]=Gratis og open-source streaming-/optagelsessoftware +GenericName[de_DE]=Streaming-/Aufnahme-Software +Comment[de_DE]=Freie und Open-Source-Streaming-/Aufnahme-Software +GenericName[el_GR]=Λογισμικό Ροής/Καταγραφής +Comment[el_GR]=Δωρεαν Λογισμικό Streaming/Kαταγραφή ανοιχτου κωδικα +GenericName[en_GB]=Streaming/Recording Software +Comment[en_GB]=Free and Open Source Streaming/Recording Software +GenericName[es_ES]=Disfusion digital/ Software de grabacion +Comment[es_ES]=Difusion Digital/Software de grabacion Gratis y con Fuentes Abiertas +GenericName[et_EE]=Video voogesituse ja salvestuse tarkvara +Comment[et_EE]=Tasuta ja avatud lähtekoodiga video voogesituse ja salvestuse tarkvara +GenericName[fa_IR]=نرم افزار جریان/ضبط +Comment[fa_IR]=نرم افزار منبع باز و رایگان جریان/ضبط +GenericName[fi_FI]=Striimaus-/tallennusohjelmisto +Comment[fi_FI]=Ilmainen ja avoimen lähdekoodin striimaus-/tallennusohjelmisto +GenericName[fil_PH]=Software para sa Streaming/Recording +Comment[fil_PH]=Libre at Open Source na Streaming/Recording Software +GenericName[fr_FR]=Logiciel de diffusion/enregistrement +Comment[fr_FR]=Logiciel de diffusion/enregistrement gratuit et Open Source +GenericName[gd_GB]=Bathar-bog sruthaidh/clàraidh +Comment[gd_GB]=Bathar-bog sruthaidh/clàraidh saor le bun-tùs fosgailte +GenericName[he_IL]=תוכנה לשידורים חיים והקלטה +Comment[he_IL]=תכנה חינמית בקוד פתוח לשידורים חיים ולהקלטה +GenericName[hi_IN]=स्ट्रीमिंग/रिकॉर्डिंग सॉफ्टवेयर +Comment[hi_IN]=स्वतंत्र एवं खुले स्रोत वाला स्ट्रीमिंग/रिकॉर्डिंग सॉफ्टवेयर +GenericName[hr_HR]=Softver za emitiranje/snimanje +Comment[hr_HR]=Slobodan softver otvorenog koda za emitiranje/snimanje +GenericName[hu_HU]=Közvetítő/rögzítő szoftver +Comment[hu_HU]=Szabad és nyílt forráskódú közvetítő/rögzítő szoftver +GenericName[id_ID]=Perangkat Lunak Streaming/Perekaman +Comment[id_ID]=Perangkat Lunak Streaming/Perekaman Gratis dan Sumber Terbuka +GenericName[it_IT]=Software per dirette e registrazione schermo +Comment[it_IT]=Software Libero e Open Source Streaming/Registrazione +GenericName[ja_JP]=配信/録画ソフトウェア +Comment[ja_JP]=無料のオープンソース配信/録画ソフトウェア +GenericName[ka_GE]=ვიდეოს ეთერში გამშვები/ჩამწერი პროგრამა +Comment[ka_GE]=თავისუფალი და ღია წყაროს მქონე, ვიდეოს ეთერში გამშვები/ჩამწერი პროგრამა +GenericName[kmr_TR]=Nermalava weşandin/tomarkirin-ê +Comment[kmr_TR]=Nermalava weşandin/tomarkirin-ê belaş û çavkaniya azad +GenericName[ko_KR]=방송 및 녹화 프로그램 +Comment[ko_KR]=무료 오픈소스 방송 및 녹화 프로그램 +GenericName[ms_MY]=Perisian Penstriman/Rakaman +Comment[ms_MY]=Perisian Penstriman/Rakaman Bersumber Terbuka dan Bebas +GenericName[nb_NO]=Strømming- og Opptaksprogramvare +Comment[nb_NO]=Gratis Strømming- og Opptaksprogramvare med Åpen Kildekode +GenericName[nl_NL]=Streaming/Opname Software +Comment[nl_NL]=Vrij en Open Source Streaming/Opname Sofware +GenericName[pl_PL]=Oprogramowanie do transmisji strumieniowej/nagrywania +Comment[pl_PL]=Darmowe i otwarte oprogramowanie do transmisji strumieniowej/nagrywania +GenericName[pt_BR]=Software de Streaming/Gravação +Comment[pt_BR]=Software de Streaming/Gravação de Código Aberto e Livre +GenericName[pt_PT]=Programa de transmissão/gravação +Comment[pt_PT]=Programa de transmissão/gravação livre e de código aberto +GenericName[ro_RO]=Program de Streaming/Înregistrare +Comment[ro_RO]=Program de streaming / înregistrare gratuit și open source +GenericName[ru_RU]=Программа для видеостриминга и видеозаписи +Comment[ru_RU]=Свободное и открытое ПО для видеостриминга и видеозаписи +GenericName[sk_SK]=Streamovací/Nahrávací Software +Comment[sk_SK]=Bezplatný a otvorený streamovací/nahrávací software +GenericName[sl_SI]=Pretočna/snemalna programska oprema +Comment[sl_SI]=Brezplačni in odprtokodna programska oprema za pretakanje/snemanje +GenericName[sv_SE]=Programvara för strömning/inspelning +Comment[sv_SE]=Fri programvara för strömning/inspelning med öppen källkod +GenericName[tr_TR]=Yayın/Kayıt Yazılımı +Comment[tr_TR]=Ücretsiz ve Açık Kaynaklı Yayın/Kayıt Yazılımı +GenericName[uk_UA]=Програма для трансляцій/запису +Comment[uk_UA]=Вільне та відкрите програмне забезпечення для трансляцій/запису +GenericName[vi_VN]=Phần mềm ghi hình/phát luồng +Comment[vi_VN]=Phần mềm ghi hình / phát luồng mở và miễn phí +GenericName[zh_CN]=直播/录像软件 +Comment[zh_CN]=自由且开源的用于直播串流以及视频录制的软件 +GenericName[zh_TW]=串流與錄影軟體 +Comment[zh_TW]=免費,開源的串流與錄影軟體 diff --git a/linux/home/.local/share/applications/phototonic.desktop b/linux/home/.local/share/applications/phototonic.desktop new file mode 100644 index 0000000..b99875e --- /dev/null +++ b/linux/home/.local/share/applications/phototonic.desktop @@ -0,0 +1,17 @@ +[Desktop Entry] +Name=Phototonic +Name[de]=Phototonic +Name[fr]=Phototonic +Comment=View photos on your computer +Comment[de]=Photos betrachten und verwalten +Comment[fr]=Visionner et gérer des photos sur votre ordinateur +GenericName=Image Viewer +GenericName[de]=Bildbetrachter +GenericName[fr]=Visionneuse d'images +Exec=phototonic %F +Icon=/home/srdusr/.local/share/icons/WhiteSur-dark/apps/scalable/gwenview.svg +Terminal=false +Type=Application +Categories=Graphics;Viewer; +StartupNotify=true +MimeType=image/png;image/gif;image/jpeg;image/bmp;image/svg+xml; |
