My name is Lauren Valley, and I have a condition called “Resting Bitch Face.”
When I’m not paying attention to the expression on my face, it often looks like I am extremely pissed off or uninterested. This condition has affected me since I was in elementary school and teachers would stop me in the hallways and tell me that “it was okay to smile.”
I am still slightly in denial about my condition so I take no measures in trying to correct it—my other condition, “Resting Bitch Mouth.” Is something I take active steps to try to fix.
My Pebble Watch face aids me in the “realization” phase of correcting my “Resting Bitch Mouth.” When I get hungry, I often respond with sassy to borderline rude remarks, and based on the hour of the day and the amount of time its been since I’ve eaten, my responses can get kind of touchy.
I have programmed my watch to display sayings based on my regular meal times.
As time passes without food, the sayings displayed range from “It’s all good” when I’ve first eaten to “FUCK MY LIFE” if I’m feeling particularly hungry.
I believe that this watch will aid my struggle in realizing my condition, and soon, the world will be a better place one resting bitch mouth at a time.
12:00 (lunch time!!!!!!!) 1:00pm 2:00pm
3:00pm 4:00pm 4:30pm
New Project 1 from Lauren Valley on Vimeo .
#include
#include
static Window *s_main_window;
static TextLayer *s_time_layer;
static TextLayer *s_weather_layer;
static BitmapLayer *s_background_layer;
static GBitmap *s_background_bitmap;
//static GPath *s_my_path_ptr = NULL;
// static GFont s_time_font;
// static GFont s_weather_font;
static void update_time() {
// Get a tm structure
time_t temp = time(NULL);
struct tm *tick_time = localtime(&temp);
// Create a long-lived buffer
static char buffer[] = "00:00";
// Write the current hours and minutes into the buffer
if(clock_is_24h_style() == true) {
// Use 24 hour format
strftime(buffer, sizeof("00:00"), "%H:%M", tick_time);
} else {
// Use 12 hour format
strftime(buffer, sizeof("00:00"), "%I:%M", tick_time);
}
// Display this time on the TextLayer
text_layer_set_text(s_time_layer, buffer);
}
static void main_window_load(Window *window) {
// Create GBitmap, then set to created BitmapLayer
s_background_bitmap = gbitmap_create_with_resource(RESOURCE_ID_3);
s_background_layer = bitmap_layer_create(GRect(0, 0, 144, 168));
bitmap_layer_set_bitmap(s_background_layer, s_background_bitmap);
layer_add_child(window_get_root_layer(window), bitmap_layer_get_layer(s_background_layer));
// Create time TextLayer
s_time_layer = text_layer_create(GRect(2, 58, 144, 50));
text_layer_set_background_color(s_time_layer, GColorClear);
text_layer_set_text_color(s_time_layer, GColorWhite);
// Improve the layout to be more like a watchface
text_layer_set_font(s_time_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
text_layer_set_text_alignment(s_time_layer, GTextAlignmentCenter);
s_weather_layer = text_layer_create(GRect(2, 70, 144, 50));
text_layer_set_background_color(s_weather_layer, GColorClear);
text_layer_set_text_color(s_weather_layer, GColorWhite);
text_layer_set_text_alignment(s_weather_layer, GTextAlignmentCenter);
text_layer_set_font(s_time_layer, fonts_get_system_font(FONT_KEY_BITHAM_42_BOLD));
// Add it as a child layer to the Window's root layer
layer_add_child(window_get_root_layer(window), text_layer_get_layer(s_time_layer));
layer_add_child(window_get_root_layer(window), text_layer_get_layer(s_weather_layer));
// while( strftime(buffer, sizeof("00:00"), "%H:%M", tick_time){
// text_layer_set_text_color(s_time_layer, GColorWhite);
// }
}
static void tick_handler(struct tm *tick_time, TimeUnits units_changed) {
//all good
if (tick_time->tm_hour == 8 || tick_time->tm_hour == 17) {
text_layer_set_text(s_weather_layer, "All Good here");
//text_layer_set_text(s_time_layer, "00:00");
text_layer_set_text_color(s_weather_layer, GColorBlack);
//text_layer_set_text_color(s_time_layer, GColorWhite);
// Create GBitmap, then set to created BitmapLayer
} else if (tick_time->tm_hour == 11 && tick_time->tm_min >= 30 && tick_time -> tm_min< = 59) { text_layer_set_text(s_weather_layer, "All Good here"); //text_layer_set_text(s_time_layer, "00:00"); text_layer_set_text_color(s_weather_layer, GColorBlack); //text_layer_set_text_color(s_time_layer, GColorWhite); // Create GBitmap, then set to created BitmapLayer } else if (tick_time->tm_hour == 12 && tick_time->tm_min >= 00 && tick_time -> tm_min< = 29) { text_layer_set_text(s_weather_layer, "All Good here"); //text_layer_set_text(s_time_layer, "00:00"); text_layer_set_text_color(s_weather_layer, GColorBlack); //text_layer_set_text_color(s_time_layer, GColorWhite); // Create GBitmap, then set to created BitmapLayer } //ehh...I'm fine else if (tick_time ->tm_hour == 9 || tick_time -> tm_hour == 18){
text_layer_set_text(s_weather_layer, "Ehh...I'm fine");
text_layer_set_text_color(s_weather_layer, GColorBlack);
} else if (tick_time->tm_hour == 12 && tick_time->tm_min >= 30 && tick_time -> tm_min< = 59) { text_layer_set_text_color(s_weather_layer, GColorBlack); } else if (tick_time->tm_hour == 13 && tick_time->tm_min >= 00 && tick_time -> tm_min< = 29) { text_layer_set_text(s_weather_layer, "I'm Good"); text_layer_set_text_color(s_weather_layer, GColorBlack); } //uh huh? else if (tick_time ->tm_hour == 10 || tick_time -> tm_hour == 19){
text_layer_set_text(s_weather_layer, "Uh huh?");
text_layer_set_text_color(s_weather_layer, GColorBlack);
} else if (tick_time->tm_hour == 13 && tick_time->tm_min >= 30 && tick_time -> tm_min< = 59) { text_layer_set_text(s_weather_layer, "Uh huh?"); text_layer_set_text_color(s_weather_layer, GColorBlack); } else if (tick_time->tm_hour == 14 && tick_time->tm_min >= 00 && tick_time -> tm_min< = 59) { text_layer_set_text(s_weather_layer, "Uh huh?"); text_layer_set_text_color(s_weather_layer, GColorBlack); } // and your point is? else if (tick_time -> tm_hour == 20){
text_layer_set_text(s_weather_layer, "And your point is?");
text_layer_set_text_color(s_weather_layer, GColorBlack);
}
else if (tick_time->tm_hour == 11 && tick_time->tm_min >= 00 && tick_time -> tm_min< = 29) { text_layer_set_text(s_weather_layer, "And your point is?"); text_layer_set_text_color(s_weather_layer, GColorBlack); }else if (tick_time->tm_hour == 15) {
text_layer_set_text(s_weather_layer, "And your point is?");
text_layer_set_text_color(s_weather_layer, GColorBlack);
}
// don't touch me
else if (tick_time->tm_hour == 21) {
text_layer_set_text(s_weather_layer, "Don't touch me");
text_layer_set_text_color(s_weather_layer, GColorBlack);
} else if (tick_time->tm_hour == 16 && tick_time->tm_min >= 00 && tick_time -> tm_min< = 29) { text_layer_set_text(s_weather_layer, "And your point is?"); text_layer_set_text_color(s_weather_layer, GColorBlack); } // FUCK MY LIFE else if (tick_time->tm_hour == 22 || tick_time -> tm_hour == 23) {
text_layer_set_text(s_weather_layer, "FUCK MY LIFE");
text_layer_set_text_color(s_weather_layer, GColorBlack);
} else if (tick_time->tm_hour == 16 && tick_time->tm_min >= 30 && tick_time -> tm_min< = 59) { text_layer_set_text(s_weather_layer, "FUCK MY LIFE"); text_layer_set_text_color(s_weather_layer, GColorBlack); } else { text_layer_set_text(s_weather_layer, "resting bitch mouth"); text_layer_set_text_color(s_weather_layer, GColorBlack); //text_layer_set_text_color(s_time_layer, GColorBlack); } // if (tick_time->tm_min % 2 == 0) {
// text_layer_set_text_color(s_time_layer, GColorWhite);
// } else {
// text_layer_set_text_color(s_time_layer, GColorBlack);
// }
update_time();
}
static void main_window_unload(Window *window) {
// Destroy TextLayer
text_layer_destroy(s_time_layer);
// Destroy GBitmap
gbitmap_destroy(s_background_bitmap);
text_layer_destroy(s_weather_layer);
// Destroy BitmapLayer
bitmap_layer_destroy(s_background_layer);
//fonts_unload_custom_font(s_weather_font);
}
static void init() {
// Create main Window element and assign to pointer
s_main_window = window_create();
// Set handlers to manage the elements inside the Window
window_set_window_handlers(s_main_window, (WindowHandlers) {
.load = main_window_load,
.unload = main_window_unload
});
// Show the Window on the watch, with animated=true
window_stack_push(s_main_window, true);
update_time();
// Register with TickTimerService
tick_timer_service_subscribe(MINUTE_UNIT, tick_handler);
}
static void deinit() {
// Destroy Window
window_destroy(s_main_window);
}
int main(void) {
init();
app_event_loop();
deinit();
}