From 0212d217556c8966af8c7f100e33bc91f0511fa2 Mon Sep 17 00:00:00 2001 From: Tuan-Dat Tran Date: Tue, 27 Mar 2018 02:04:19 +0200 Subject: [PATCH] C++ for polybars spotify playbutton control instead of python, just to play around C++ a little bit. --- config/.config/polybar/config | 6 +- config/.scripts/spotify-play.cpp | 90 ++++++++++++++++++++++++++ config/.scripts/spotify-play.out | Bin 0 -> 39648 bytes config/.scripts/spotify-play.py | 4 +- emacs/.emacs.d/snippets/c++-mode/cerr | 5 ++ emacs/.emacs.d/snippets/c++-mode/cin | 5 ++ emacs/.emacs.d/snippets/c++-mode/cout | 8 +++ emacs/.emacs.d/snippets/c++-mode/fori | 7 ++ emacs/.emacs.d/snippets/c++-mode/io | 5 ++ 9 files changed, 126 insertions(+), 4 deletions(-) create mode 100644 config/.scripts/spotify-play.cpp create mode 100755 config/.scripts/spotify-play.out create mode 100644 emacs/.emacs.d/snippets/c++-mode/cerr create mode 100644 emacs/.emacs.d/snippets/c++-mode/cin create mode 100644 emacs/.emacs.d/snippets/c++-mode/cout create mode 100644 emacs/.emacs.d/snippets/c++-mode/fori create mode 100644 emacs/.emacs.d/snippets/c++-mode/io diff --git a/config/.config/polybar/config b/config/.config/polybar/config index 85e3384..d82191b 100644 --- a/config/.config/polybar/config +++ b/config/.config/polybar/config @@ -113,16 +113,16 @@ click-left = bash -c "playerctl next" [module/spotify-play] type = custom/script exec-if = pgrep -x spotify -exec = python -u /home/tuan/.scripts/spotify-play.py +exec = ~/.scripts/spotify-play.out tail = true -click-left = bash -c "if [ `cat /home/tuan/.scripts/playstate` = 0 ]; then echo '1'>/home/tuan/.scripts/playstate;else echo '0'>/home/tuan/.scripts/playstate;fi" +click-left = bash -c "if [ `cat /home/$USER/.scripts/playstate` = 0 ]; then echo '1'>/home/$USER/.scripts/playstate;else echo '0'>/home/$USER/.scripts/playstate;fi" [module/spotify-stop] type = custom/script exec-if = pgrep -x spotify exec = echo "" tail = true -click-left = bash -c "playerctl stop && echo '0'>/home/tuan/.scripts/playstate" +click-left = bash -c "playerctl stop && echo '0'>/home/$USER/.scripts/playstate" [module/i3] type = internal/i3 diff --git a/config/.scripts/spotify-play.cpp b/config/.scripts/spotify-play.cpp new file mode 100644 index 0000000..423853f --- /dev/null +++ b/config/.scripts/spotify-play.cpp @@ -0,0 +1,90 @@ +/* ______ _________ _______ _______ _ _______ _________ _______ _______ _______ + * ( __ \ \__ __/( ____ \( ____ \( \ ( ___ )\__ __/( )( ____ \( ____ ) + * | ( \ ) ) ( | ( \/| ( \/| ( | ( ) | ) ( | () () || ( \/| ( )| + * | | ) | | | | (_____ | | | | | (___) | | | | || || || (__ | (____)| + * | | | | | | (_____ )| | | | | ___ | | | | |(_)| || __) | __) + * | | ) | | | ) || | | | | ( ) | | | | | | || ( | (\ ( + * | (__/ )___) (___/\____) || (____/\| (____/\| ) ( |___) (___| ) ( || (____/\| ) \ \__ + * (______/ \_______/\_______)(_______/(_______/|/ \|\_______/|/ \|(_______/|/ \__/ + * + * + * THIS IS GARBAGE CODE AND I KNOW IT. + * I KNOW ABSOLUTLY NOTHING ABOUT C++ AND JUST FRANKENSTEINED + * A BUNCH OF CODE SAMPLES, USING MY PYTHON CODE AS A TEMPLATE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace std; + +int getdir(string dir, vector &files){ + DIR *dp; + struct dirent *dirp; + if((dp = opendir(dir.c_str())) == NULL){ + cout << "Error(" << errno << ") opening " << dir << endl; + return errno; + } + + while ((dirp = readdir(dp)) != NULL){ + files.push_back(string(dirp->d_name)); + } + closedir(dp); + return 0; +} + +string getfile(string file_path){ + ifstream inFile; + string file_content; + inFile.open(file_path); + if(!inFile){ + return ""; + } + inFile >> file_content; + return file_content; +} + +bool spotify_running(){ + string dir = string("/proc/"); + vector procs = vector(); + getdir(dir, procs); + string proc_name = string(""); + for (unsigned int i = 0; i < procs.size(); i++){ + proc_name = dir + procs[i] + "/cmdline"; + if(getfile(proc_name).find(string("/usr/bin/spotify")) != string::npos){ + return true; + } + } + return false; +} + +int main(){ + struct passwd *pw = getpwuid(getuid()); + const char *homedir = pw->pw_dir; + int state = -1; + int playstate = 0; + string playstate_file = ""; + playstate_file += homedir + string("/.scripts/playstate"); + while (spotify_running()){ + playstate = stoi(getfile(playstate_file)); + if(playstate != state){ + state = playstate; + if (state == 0){ + cout << "" << endl; + system("playerctl pause"); + } + else if (state == 1){ + cout << "" << endl; + system("playerctl play"); + } + } + usleep(100); + } +} diff --git a/config/.scripts/spotify-play.out b/config/.scripts/spotify-play.out new file mode 100755 index 0000000000000000000000000000000000000000..641e867bc2145079f569b8d03ddfe348679679e0 GIT binary patch literal 39648 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 literal 0 HcmV?d00001 diff --git a/config/.scripts/spotify-play.py b/config/.scripts/spotify-play.py index 92913bd..48ad62e 100755 --- a/config/.scripts/spotify-play.py +++ b/config/.scripts/spotify-play.py @@ -3,6 +3,7 @@ import subprocess import time import os + def find_proc(proc_name): this_proc = "pythonspotify-play.py" proc_path = '/proc' @@ -25,8 +26,9 @@ def spotify_running(): def main(): state = -1 + home = os.path.expanduser("~") while spotify_running(): - with open('~/.scripts/playstate', 'r') as f: + with open(home + '/.scripts/playstate', 'r') as f: try: file_state = int(f.readline().strip('\n')) except ValueError: diff --git a/emacs/.emacs.d/snippets/c++-mode/cerr b/emacs/.emacs.d/snippets/c++-mode/cerr new file mode 100644 index 0000000..921b3a0 --- /dev/null +++ b/emacs/.emacs.d/snippets/c++-mode/cerr @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: cerr +# key: err +# -- +cerr << $0; \ No newline at end of file diff --git a/emacs/.emacs.d/snippets/c++-mode/cin b/emacs/.emacs.d/snippets/c++-mode/cin new file mode 100644 index 0000000..401ccda --- /dev/null +++ b/emacs/.emacs.d/snippets/c++-mode/cin @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: cin +# key: cin +# -- +cin >> $0; \ No newline at end of file diff --git a/emacs/.emacs.d/snippets/c++-mode/cout b/emacs/.emacs.d/snippets/c++-mode/cout new file mode 100644 index 0000000..1c8e600 --- /dev/null +++ b/emacs/.emacs.d/snippets/c++-mode/cout @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# contributor: York Zhao +# name: cout +# key: cout +# -- +`(progn (goto-char (point-min)) (unless (re-search-forward +"^using\\s-+namespace std;" nil 'no-errer) "std::")) +`cout << $0${1: << "${2:\n}"}; \ No newline at end of file diff --git a/emacs/.emacs.d/snippets/c++-mode/fori b/emacs/.emacs.d/snippets/c++-mode/fori new file mode 100644 index 0000000..7676a89 --- /dev/null +++ b/emacs/.emacs.d/snippets/c++-mode/fori @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: fori +# key: fori +# -- +for (${1:auto }${2:it} = ${3:var}.begin(); $2 != $3.end(); ++$2) { + $0 +} \ No newline at end of file diff --git a/emacs/.emacs.d/snippets/c++-mode/io b/emacs/.emacs.d/snippets/c++-mode/io new file mode 100644 index 0000000..1355dac --- /dev/null +++ b/emacs/.emacs.d/snippets/c++-mode/io @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: io +# key: io +# -- +#include \ No newline at end of file