From 1495b957f18cb9b01e0915e901fcf98e59ca4a29 Mon Sep 17 00:00:00 2001 From: Anuragh K P Date: Wed, 25 Jan 2023 22:28:07 +0530 Subject: [PATCH] for image module get path from executable file --- include/modules/image.hpp | 1 + src/modules/image.cpp | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/include/modules/image.hpp b/include/modules/image.hpp index 06b61ee..391922c 100644 --- a/include/modules/image.hpp +++ b/include/modules/image.hpp @@ -27,6 +27,7 @@ class Image : public AModule { std::string path_; int size_; int interval_; + util::command::res output_; util::SleeperThread thread_; }; diff --git a/src/modules/image.cpp b/src/modules/image.cpp index eed19ae..01f1375 100644 --- a/src/modules/image.cpp +++ b/src/modules/image.cpp @@ -9,7 +9,7 @@ waybar::modules::Image::Image(const std::string& name, const std::string& id, dp.emit(); - path_ = config["path"].asString(); + //path_ = config["path"].asString(); size_ = config["size"].asInt(); interval_ = config_["interval"].asInt(); @@ -41,7 +41,15 @@ void waybar::modules::Image::refresh(int sig) { auto waybar::modules::Image::update() -> void { Glib::RefPtr pixbuf; - + if(config_["path"].isString()) + { + path_ = config_["path"].asString(); + } + else + { + output_ = util::command::exec(config_["exec"].asString()); + path_ =output_.out; + } if (Glib::file_test(path_, Glib::FILE_TEST_EXISTS)) pixbuf = Gdk::Pixbuf::create_from_file(path_, size_, size_); else