Added feature to change by percentage. Added makefile. Added shell script to modify ownership of the file that affects brightness

This commit is contained in:
amazing-username
2017-03-14 22:15:37 -05:00
parent 622d7bd2e8
commit 9e85a65aa9
7 changed files with 77 additions and 37 deletions
+49 -10
View File
@@ -2,9 +2,12 @@
#include <fstream>
#include <ios>
#include "AlterBrightness.h"
#include "Brightness.h"
AlterBrightness::AlterBrightness()
{
currentBrightness = Brightness::getCurrentBrightness();
maxBrightness = Brightness::getMaxBrightness();
}
AlterBrightness::AlterBrightness(unsigned& change, unsigned& current, unsigned& max)
{
@@ -22,38 +25,53 @@ void AlterBrightness::setDecrement(unsigned& change)
{
decrement = change;
}
void AlterBrightness::setCurrentBrightness(unsigned& current)
/**
void AlterBrightness::setCurrentBrightness()
{
currentBrightness = current;
}
void AlterBrightness::setMaxBrightness(unsigned& max)
void AlterBrightness::setMaxBrightness()
{
maxBrightness = max;
}
*/
void AlterBrightness::setPercentageBrightness(float& percent)
{
percentageBrightness = percent;
}
void AlterBrightness::chooseChange(char* changeChoice[])
{
std::ofstream s;
s.open("/sys/class/backlight/intel_backlight/brightness", std::ios::out);
//std::cout << changeChoice << std::endl;
//if (1)
// std::cout << changeChoice.compare("inc") << std::endl;
//else
// std::cout << "0 is not true" << std::endl;
//if (changeChoice.compare(AlterBrightness::getIncrease()) == 0)
if (strcmp(*changeChoice, AlterBrightness::getIncrease()) == 0)
{
AlterBrightness::increaseBrightness();
std::cout << "Increase" << std::endl;
std::cout << AlterBrightness::getCurrentBrightness() << std::endl;
s << AlterBrightness::getCurrentBrightness();
}
else
else if (strcmp(*changeChoice, AlterBrightness::getDecrease()) == 0)
{
AlterBrightness::decreaseBrightness();
std::cout << AlterBrightness::getCurrentBrightness() << std::endl;
s << AlterBrightness::getCurrentBrightness();
}
else if (strcmp(*changeChoice, AlterBrightness::getPercent()) == 0)
{
std::cout << "Percentage" << std::endl;
setBrightnessByPercentage();
std::cout << percentageBrightness / 100 << std::endl;
s << currentBrightness;
}
else
{
std::cout << "Neither increase or decrease" << std::endl;
}
s.close();
}
void AlterBrightness::increaseBrightness()
@@ -74,6 +92,18 @@ void AlterBrightness::decreaseBrightness()
else
currentBrightness = 1;
}
void AlterBrightness::setBrightnessByPercentage()
{
if (AlterBrightness::getPercentageBrightness() < 0 || AlterBrightness::getPercentageBrightness() > 100)
{
std::cout << "Has to be between 0 and 100" <<std::endl;
}
else
{
currentBrightness = (maxBrightness * (percentageBrightness/ 100));
std::cout << currentBrightness << std::endl;
}
}
unsigned AlterBrightness::getIncrement() const
@@ -93,6 +123,11 @@ unsigned AlterBrightness::getMaxBrightness() const
return maxBrightness;
}
float AlterBrightness::getPercentageBrightness() const
{
return percentageBrightness;
}
char* AlterBrightness::getIncrease()
{
return increase;
@@ -101,3 +136,7 @@ char* AlterBrightness::getDecrease()
{
return decrease;
}
char* AlterBrightness::getPercent()
{
return percent;
}
+10 -2
View File
@@ -12,28 +12,36 @@ public:
void setIncrement(unsigned&);
void setDecrement(unsigned&);
void setCurrentBrightness(unsigned&);
void setMaxBrightness(unsigned&);
void setCurrentBrightness();
void setMaxBrightness();
void setPercentageBrightness(float&);
void chooseChange(char*[]);
void increaseBrightness();
void decreaseBrightness();
void setBrightnessByPercentage();
unsigned getIncrement() const;
unsigned getDecrement() const;
unsigned getCurrentBrightness() const;
unsigned getMaxBrightness() const;
float getPercentageBrightness() const;
char* getIncrease();
char* getDecrease();
char* getPercent();
private:
unsigned increment;
unsigned decrement;
unsigned currentBrightness;
unsigned maxBrightness;
float percentageBrightness;
char* increase = "inc";
char* decrease = "dec";
char* percent = "per";
};
#endif
+4 -2
View File
@@ -2,6 +2,8 @@
#include <fstream>
#include "Brightness.h"
unsigned Brightness::maxBrightness = 0;
unsigned Brightness::currentBrightness = 30;
Brightness::Brightness()
{
}
@@ -25,11 +27,11 @@ void Brightness::grabMaxBrightness()
input.close();
}
unsigned Brightness::getCurrentBrightness() const
unsigned Brightness::getCurrentBrightness()
{
return currentBrightness;
}
unsigned Brightness::getMaxBrightness() const
unsigned Brightness::getMaxBrightness()
{
return maxBrightness;
}
+4 -4
View File
@@ -9,11 +9,11 @@ public:
void grabBrightness();
void grabMaxBrightness();
unsigned getCurrentBrightness() const;
unsigned getMaxBrightness() const;
static unsigned getCurrentBrightness();
static unsigned getMaxBrightness();
private:
unsigned currentBrightness;
unsigned maxBrightness;
static unsigned currentBrightness;
static unsigned maxBrightness;
};
#endif
+3 -19
View File
@@ -1,7 +1,5 @@
#include <iostream>
#include <cstring>
#include <fstream>
#include <ios>
#include "AlterBrightness.h"
#include "Brightness.h"
@@ -9,36 +7,22 @@ int main(int argc, char* argv[])
{
char* control[strlen(*(argv + 1))] = {*(argv + 1)};
unsigned changeAmount = atoi(*(argv + 2));
float brightnessPercentage = atoi(*(argv + 2));
unsigned currentBrightness;
unsigned maxBrightness;
/**
std::fstream input;
input.open("/sys/class/backlight/intel_backlight/brightness", std::ios::in);
input >> currentBrightness;
std::cout << currentBrightness << std::endl;
input.close();
input.open("/sys/class/backlight/intel_backlight/max_brightness", std::ios::in);
input >> maxBrightness;
std::cout << maxBrightness << std::endl;
input.close();
*/
AlterBrightness ab;
Brightness br;
br.grabBrightness();
br.grabMaxBrightness();
AlterBrightness ab;
currentBrightness = br.getCurrentBrightness();
maxBrightness = br.getMaxBrightness();
ab.setIncrement(changeAmount);
ab.setDecrement(changeAmount);
ab.setCurrentBrightness(currentBrightness);
ab.setMaxBrightness(maxBrightness);
ab.setPercentageBrightness(brightnessPercentage);
//std::string ctl(*(control));
ab.chooseChange((control));
return 0;
+5
View File
@@ -0,0 +1,5 @@
you=$1
sudo chown $you /sys/class/backlight/intel_backlight/brightness
ls -l /sys/class/backlight/intel_backlight/
+2
View File
@@ -0,0 +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