Cleaned up code and added a feature to print current brightness
This commit is contained in:
+45
-109
@@ -1,5 +1,4 @@
|
||||
#include <iostream>
|
||||
//#include <cstring>
|
||||
#include <ios>
|
||||
#include "AlterBrightness.h"
|
||||
|
||||
@@ -7,21 +6,17 @@ AlterBrightness::AlterBrightness()
|
||||
{
|
||||
currentBrightness = Brightness::getCurrentBrightness();
|
||||
maxBrightness = Brightness::getMaxBrightness();
|
||||
AlterBrightness::options = new std::vector<std::string>;
|
||||
initializeOptions();
|
||||
overwriteBrightness = new std::ofstream;
|
||||
(*overwriteBrightness).open("/sys/class/backlight/intel_backlight/brightness", std::ios::out);
|
||||
overwriteBrightness.open("/sys/class/backlight/intel_backlight/brightness", std::ios::out);
|
||||
}
|
||||
AlterBrightness::AlterBrightness(Brightness* br)
|
||||
AlterBrightness::AlterBrightness(const Brightness& br)
|
||||
{
|
||||
currentBrightness = (*br).getCurrentBrightness();
|
||||
maxBrightness = (*br).getMaxBrightness();
|
||||
options = new std::vector<std::string>;
|
||||
currentBrightness = br.getCurrentBrightness();
|
||||
maxBrightness = br.getMaxBrightness();
|
||||
initializeOptions();
|
||||
overwriteBrightness = new std::ofstream;
|
||||
(*overwriteBrightness).open("/sys/class/backlight/intel_backlight/brightness", std::ios::out);
|
||||
overwriteBrightness.open("/sys/class/backlight/intel_backlight/brightness", std::ios::out);
|
||||
}
|
||||
AlterBrightness::AlterBrightness(const unsigned& change, const unsigned& current, const unsigned& max)
|
||||
AlterBrightness::AlterBrightness(const int& change, const int& current, const int& max)
|
||||
{
|
||||
increment = change;
|
||||
decrement = change;
|
||||
@@ -29,103 +24,71 @@ AlterBrightness::AlterBrightness(const unsigned& change, const unsigned& current
|
||||
maxBrightness = max;
|
||||
}
|
||||
AlterBrightness::~AlterBrightness()
|
||||
{
|
||||
delete options;
|
||||
delete overwriteBrightness;
|
||||
}
|
||||
{ }
|
||||
|
||||
void AlterBrightness::setIncrement(const int& change)
|
||||
{ increment = change; }
|
||||
|
||||
void AlterBrightness::setDecrement(const int& change)
|
||||
{ decrement = change; }
|
||||
|
||||
void AlterBrightness::setIncrement(const unsigned& change)
|
||||
{
|
||||
increment = change;
|
||||
}
|
||||
void AlterBrightness::setDecrement(const unsigned& change)
|
||||
{
|
||||
decrement = change;
|
||||
}
|
||||
/**
|
||||
void AlterBrightness::setCurrentBrightness()
|
||||
{
|
||||
currentBrightness = current;
|
||||
}
|
||||
void AlterBrightness::setMaxBrightness()
|
||||
{
|
||||
maxBrightness = max;
|
||||
}
|
||||
*/
|
||||
void AlterBrightness::setPercentageBrightness(const float& percent)
|
||||
{
|
||||
percentageBrightness = percent;
|
||||
}
|
||||
{ percentageBrightness = percent; }
|
||||
|
||||
void AlterBrightness::initializeOptions()
|
||||
{
|
||||
(*options).push_back("inc");
|
||||
(*options).push_back("dec");
|
||||
(*options).push_back("per");
|
||||
options.push_back("inc");
|
||||
options.push_back("dec");
|
||||
options.push_back("per");
|
||||
options.push_back("cur");
|
||||
}
|
||||
|
||||
void AlterBrightness::chooseChange(const std::string& changeChoice)
|
||||
{
|
||||
//std::ofstream s;
|
||||
//s.open("/sys/class/backlight/intel_backlight/brightness", std::ios::out);
|
||||
//std::cout << (*options).at(0) << std::endl;
|
||||
|
||||
//if (strcmp(*changeChoice, getIncrease()) == 0)
|
||||
//if (strcmp(*changeChoice, (*options).at(0)) == 0)
|
||||
if ((*options).at(0).compare(changeChoice) == 0)
|
||||
if (options.at(0).compare(changeChoice) == 0)
|
||||
{
|
||||
increaseBrightness();
|
||||
|
||||
std::cout << getCurrentBrightness() << std::endl;
|
||||
(*overwriteBrightness) << getCurrentBrightness();
|
||||
overwriteBrightness << getCurrentBrightness();
|
||||
}
|
||||
//else if (strcmp(*changeChoice, getDecrease()) == 0)
|
||||
else if ((*options).at(1).compare(changeChoice) == 0)
|
||||
else if (options.at(1).compare(changeChoice) == 0)
|
||||
{
|
||||
decreaseBrightness();
|
||||
|
||||
std::cout << getCurrentBrightness() << std::endl;
|
||||
(*overwriteBrightness) << getCurrentBrightness();
|
||||
overwriteBrightness << getCurrentBrightness();
|
||||
}
|
||||
//else if (strcmp(*changeChoice, getPercent()) == 0)
|
||||
else if ((*options).at(2).compare(changeChoice) == 0)
|
||||
else if (options.at(2).compare(changeChoice) == 0)
|
||||
{
|
||||
|
||||
//std::cout << "Percentage" << std::endl;
|
||||
setBrightnessByPercentage();
|
||||
|
||||
std::cout << percentageBrightness << "%" << std::endl;
|
||||
(*overwriteBrightness) << currentBrightness;
|
||||
overwriteBrightness << currentBrightness;
|
||||
}
|
||||
else if (options.at(3).compare(changeChoice) == 0)
|
||||
std::cout << "The current percentage is: " << getCurrentBrightness() << "%" << std::endl;
|
||||
else
|
||||
{
|
||||
std::cout << "Neither increase or decrease" << std::endl;
|
||||
}
|
||||
//s.close();
|
||||
}
|
||||
void AlterBrightness::increaseBrightness()
|
||||
{
|
||||
if (getCurrentBrightness() + getIncrement() < getMaxBrightness())
|
||||
{
|
||||
currentBrightness = getCurrentBrightness() + getIncrement();
|
||||
}
|
||||
else
|
||||
currentBrightness = getMaxBrightness();
|
||||
}
|
||||
void AlterBrightness::decreaseBrightness()
|
||||
{
|
||||
if (getCurrentBrightness() - getDecrement() > 0)
|
||||
{
|
||||
currentBrightness = getCurrentBrightness() - getDecrement();
|
||||
}
|
||||
else
|
||||
currentBrightness = 1;
|
||||
}
|
||||
void AlterBrightness::setBrightnessByPercentage()
|
||||
{
|
||||
if (getPercentageBrightness() < 0 || getPercentageBrightness() > 100)
|
||||
{
|
||||
std::cout << "Has to be between 0 and 100" <<std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
currentBrightness = (maxBrightness * (floatToPercent(percentageBrightness)));
|
||||
@@ -134,53 +97,26 @@ void AlterBrightness::setBrightnessByPercentage()
|
||||
}
|
||||
|
||||
|
||||
std::vector<std::string>* AlterBrightness::getOptions()
|
||||
{
|
||||
return options;
|
||||
}
|
||||
std::ofstream* AlterBrightness::getStreamToOverwriteBrightness()
|
||||
{
|
||||
return overwriteBrightness;
|
||||
}
|
||||
std::vector<std::string> AlterBrightness::getOptions()
|
||||
{ return options; }
|
||||
//std::ofstream AlterBrightness::getStreamToOverwriteBrightness()
|
||||
//{ return overwriteBrightness; }
|
||||
|
||||
unsigned AlterBrightness::getIncrement() const
|
||||
{
|
||||
return increment;
|
||||
}
|
||||
unsigned AlterBrightness::getDecrement() const
|
||||
{
|
||||
return decrement;
|
||||
}
|
||||
unsigned AlterBrightness::getCurrentBrightness() const
|
||||
{
|
||||
return currentBrightness;
|
||||
}
|
||||
unsigned AlterBrightness::getMaxBrightness() const
|
||||
{
|
||||
return maxBrightness;
|
||||
}
|
||||
int AlterBrightness::getIncrement() const
|
||||
{ return increment; }
|
||||
|
||||
int AlterBrightness::getDecrement() const
|
||||
{ return decrement; }
|
||||
|
||||
int AlterBrightness::getCurrentBrightness() const
|
||||
{ return currentBrightness; }
|
||||
|
||||
int AlterBrightness::getMaxBrightness() const
|
||||
{ return maxBrightness; }
|
||||
|
||||
|
||||
float AlterBrightness::getPercentageBrightness() const
|
||||
{
|
||||
return percentageBrightness;
|
||||
}
|
||||
float AlterBrightness::floatToPercent(const float& percent) const
|
||||
{
|
||||
return percent / 100;
|
||||
}
|
||||
{ return percentageBrightness; }
|
||||
|
||||
/**
|
||||
char* AlterBrightness::getIncrease()
|
||||
{
|
||||
return increase;
|
||||
}
|
||||
char* AlterBrightness::getDecrease()
|
||||
{
|
||||
return decrease;
|
||||
}
|
||||
char* AlterBrightness::getPercent()
|
||||
{
|
||||
return percent;
|
||||
}
|
||||
*/
|
||||
float AlterBrightness::floatToPercent(const float& percent) const
|
||||
{ return percent / 100; }
|
||||
|
||||
+17
-29
@@ -10,16 +10,15 @@ class AlterBrightness
|
||||
{
|
||||
public:
|
||||
AlterBrightness();
|
||||
AlterBrightness(Brightness*);
|
||||
AlterBrightness(const unsigned&, const unsigned&, const unsigned&);
|
||||
AlterBrightness(const Brightness&);
|
||||
AlterBrightness(const int&, const int&, const int&);
|
||||
|
||||
~AlterBrightness();
|
||||
|
||||
std::vector<std::string>* options;
|
||||
//void setStreamToOverwriteBrightness();
|
||||
std::vector<std::string> options{};
|
||||
|
||||
void setIncrement(const unsigned&);
|
||||
void setDecrement(const unsigned&);
|
||||
void setIncrement(const int&);
|
||||
void setDecrement(const int&);
|
||||
void setCurrentBrightness();
|
||||
void setMaxBrightness();
|
||||
void setPercentageBrightness(const float&);
|
||||
@@ -30,35 +29,24 @@ public:
|
||||
void decreaseBrightness();
|
||||
void setBrightnessByPercentage();
|
||||
|
||||
std::vector<std::string>* getOptions();
|
||||
std::ofstream* getStreamToOverwriteBrightness();
|
||||
std::vector<std::string> getOptions();
|
||||
//std::ofstream getStreamToOverwriteBrightness();
|
||||
|
||||
unsigned getIncrement() const;
|
||||
unsigned getDecrement() const;
|
||||
unsigned getCurrentBrightness() const;
|
||||
unsigned getMaxBrightness() const;
|
||||
int getIncrement() const;
|
||||
int getDecrement() const;
|
||||
int getCurrentBrightness() const;
|
||||
int getMaxBrightness() const;
|
||||
|
||||
float getPercentageBrightness() const;
|
||||
float floatToPercent(const float&) const;
|
||||
|
||||
/**
|
||||
char* getIncrease();
|
||||
char* getDecrease();
|
||||
char* getPercent();
|
||||
*/
|
||||
|
||||
private:
|
||||
std::ofstream* overwriteBrightness;
|
||||
unsigned increment;
|
||||
unsigned decrement;
|
||||
unsigned currentBrightness;
|
||||
unsigned maxBrightness;
|
||||
float percentageBrightness;
|
||||
/**
|
||||
char* increase;
|
||||
char* decrease;
|
||||
char* percent;
|
||||
*/
|
||||
std::ofstream overwriteBrightness{};
|
||||
int increment{};
|
||||
int decrement{};
|
||||
int currentBrightness{};
|
||||
int maxBrightness{};
|
||||
float percentageBrightness{};
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+11
-22
@@ -2,40 +2,29 @@
|
||||
#include <fstream>
|
||||
#include "Brightness.h"
|
||||
|
||||
unsigned Brightness::maxBrightness = 0;
|
||||
unsigned Brightness::currentBrightness = 30;
|
||||
int Brightness::maxBrightness = 0;
|
||||
int Brightness::currentBrightness = 30;
|
||||
Brightness::Brightness()
|
||||
{
|
||||
readBrightnessValues = new std::ifstream;
|
||||
}
|
||||
{ }
|
||||
|
||||
Brightness::~Brightness()
|
||||
{
|
||||
delete readBrightnessValues;
|
||||
}
|
||||
{ }
|
||||
|
||||
void Brightness::grabBrightness()
|
||||
{
|
||||
//std::fstream input;
|
||||
//input.open("/sys/class/backlight/intel_backlight/brightness", std::ios::in);
|
||||
(*readBrightnessValues).open("/sys/class/backlight/intel_backlight/brightness", std::ios::in);
|
||||
readBrightnessValues.open("/sys/class/backlight/intel_backlight/brightness", std::ios::in);
|
||||
|
||||
//input >> currentBrightness;
|
||||
(*readBrightnessValues) >> currentBrightness;
|
||||
readBrightnessValues >> currentBrightness;
|
||||
|
||||
(*readBrightnessValues).close();
|
||||
//input.close();
|
||||
readBrightnessValues.close();
|
||||
}
|
||||
void Brightness::grabMaxBrightness()
|
||||
{
|
||||
//std::fstream input;
|
||||
//input.open("/sys/class/backlight/intel_backlight/max_brightness", std::ios::in);
|
||||
(*readBrightnessValues).open("/sys/class/backlight/intel_backlight/max_brightness", std::ios::in);
|
||||
readBrightnessValues.open("/sys/class/backlight/intel_backlight/max_brightness", std::ios::in);
|
||||
|
||||
//input >> maxBrightness;
|
||||
(*readBrightnessValues) >> maxBrightness;
|
||||
readBrightnessValues >> maxBrightness;
|
||||
|
||||
(*readBrightnessValues).close();
|
||||
//input.close();
|
||||
readBrightnessValues.close();
|
||||
}
|
||||
|
||||
unsigned Brightness::getCurrentBrightness()
|
||||
|
||||
+3
-3
@@ -15,8 +15,8 @@ public:
|
||||
static unsigned getMaxBrightness();
|
||||
|
||||
private:
|
||||
std::ifstream* readBrightnessValues;
|
||||
static unsigned currentBrightness;
|
||||
static unsigned maxBrightness;
|
||||
std::ifstream readBrightnessValues{};
|
||||
static int currentBrightness;
|
||||
static int maxBrightness;
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
#include <iostream>
|
||||
#include <iomanip>
|
||||
#include <fstream>
|
||||
#include "AlterBrightness.h"
|
||||
#include "Brightness.h"
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
|
||||
//char* control[strlen(*(argv + 1))] = {*(argv + 1)};
|
||||
//unsigned currentBrightness;
|
||||
//unsigned maxBrightness;
|
||||
|
||||
Brightness* br = new Brightness;
|
||||
//std::cout << "argc is: " << argc << std::endl;
|
||||
if (argc == 3)
|
||||
{
|
||||
std::string control = *(argv + 1);
|
||||
unsigned changeAmount = atoi(*(argv + 2));
|
||||
float brightnessPercentage = atoi(*(argv + 2));
|
||||
|
||||
(*br).grabBrightness();
|
||||
(*br).grabMaxBrightness();
|
||||
|
||||
|
||||
AlterBrightness* ab = new AlterBrightness(br);
|
||||
delete br;
|
||||
(*ab).setIncrement(changeAmount);
|
||||
(*ab).setDecrement(changeAmount);
|
||||
(*ab).setPercentageBrightness(brightnessPercentage);
|
||||
|
||||
(*ab).chooseChange((control));
|
||||
|
||||
delete ab;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Inlude one of the following arguements: " << std::endl;
|
||||
std::cout << std::setw(10) << "inc";
|
||||
std::cout << std::setw(10) << "dec";
|
||||
std::cout << std::setw(10) << "per" << std::endl << std::endl;
|
||||
|
||||
|
||||
std::cout << "If inc or dec add a value to adjust the brightness by value" << std::endl;
|
||||
std::cout << "If per add a value between 0 and 100 to adjust the brightness by percentage" << std::endl;
|
||||
std::cout << "Adjusting the percentage by brightness is recommended" << std::endl << std::endl;
|
||||
std::cout << "Example: Hot.out per 30" << std::endl << std::endl;
|
||||
|
||||
}
|
||||
/**
|
||||
switch(argc)
|
||||
{
|
||||
case 3:
|
||||
//std::cout << "two" << std::endl;
|
||||
|
||||
|
||||
|
||||
AlterBrightness* ab = new AlterBrightness;
|
||||
delete br;
|
||||
(*ab).setIncrement(changeAmount);
|
||||
(*ab).setDecrement(changeAmount);
|
||||
(*ab).setPercentageBrightness(brightnessPercentage);
|
||||
|
||||
(*ab).chooseChange((control));
|
||||
|
||||
delete ab;
|
||||
break;
|
||||
default:
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
//PointerRemoval pR;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
#include <iostream>
|
||||
#include <iomanip>
|
||||
#include <fstream>
|
||||
|
||||
#include "AlterBrightness.h"
|
||||
#include "Brightness.h"
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
|
||||
|
||||
Brightness br{};
|
||||
if (argc == 3)
|
||||
{
|
||||
std::string control{*(argv + 1)};
|
||||
auto changeAmount = atoi(*(argv + 2));
|
||||
auto brightnessPercentage = atoi(*(argv + 2));
|
||||
|
||||
br.grabBrightness();
|
||||
br.grabMaxBrightness();
|
||||
|
||||
|
||||
AlterBrightness ab{};
|
||||
ab.setIncrement(changeAmount);
|
||||
ab.setDecrement(changeAmount);
|
||||
ab.setPercentageBrightness(brightnessPercentage);
|
||||
|
||||
ab.chooseChange((control));
|
||||
|
||||
}
|
||||
else if (argc == 2)
|
||||
{
|
||||
std::string control{*(argv +1)};
|
||||
if (control.compare("cur") == 0)
|
||||
{
|
||||
br.grabBrightness();
|
||||
AlterBrightness ab{};
|
||||
ab.chooseChange(control);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Inlude one of the following arguements: " << std::endl;
|
||||
std::cout << std::setw(10) << "inc";
|
||||
std::cout << std::setw(10) << "dec";
|
||||
std::cout << std::setw(10) << "per";
|
||||
std::cout << std::setw(10) << "cur" << std::endl << std::endl;
|
||||
|
||||
|
||||
std::cout << "If inc or dec add a value to adjust the brightness by value" << std::endl;
|
||||
std::cout << "If per add a value between 0 and 100 to adjust the brightness by percentage" << std::endl;
|
||||
std::cout << "If cur then the current percentage is printed" << std::endl;
|
||||
std::cout << "Adjusting the percentage by brightness is recommended" << std::endl << std::endl;
|
||||
std::cout << "Example: Hot.out per 30" << std::endl << std::endl;
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
#!/bin/sh
|
||||
you=$1
|
||||
|
||||
sudo chown $you /sys/class/backlight/intel_backlight/brightness
|
||||
ls -l /sys/class/backlight/intel_backlight/
|
||||
#ls -l /sys/class/backlight/intel_backlight/
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
Hot.out: AlterBrightness.cpp AlterBrightness.h BrightnessControl.cpp Brightness.cpp Brightness.h
|
||||
g++ AlterBrightness.cpp AlterBrightness.h BrightnessControl.cpp Brightness.cpp Brightness.h -o Hot.out
|
||||
Hot.out: AlterBrightness.cpp AlterBrightness.h Main.cpp Brightness.cpp Brightness.h
|
||||
g++ AlterBrightness.cpp AlterBrightness.h Main.cpp Brightness.cpp Brightness.h -o Hot.out
|
||||
|
||||
Reference in New Issue
Block a user