parent
038bb8cc7c
commit
a416715372
|
@ -4,6 +4,16 @@ int wrap(int i, int max) {
|
||||||
return ((i % max) + max) % max;
|
return ((i % max) + max) % max;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int numlen(int n) {
|
||||||
|
if (n >= 1000000) return 7;
|
||||||
|
if (n >= 100000) return 6;
|
||||||
|
if (n >= 10000) return 5;
|
||||||
|
if (n >= 1000) return 4;
|
||||||
|
if (n >= 100) return 3;
|
||||||
|
if (n >= 10) return 2;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static struct modifier_key {
|
static struct modifier_key {
|
||||||
char *name;
|
char *name;
|
||||||
uint32_t mod;
|
uint32_t mod;
|
||||||
|
|
|
@ -10,6 +10,11 @@
|
||||||
*/
|
*/
|
||||||
int wrap(int i, int max);
|
int wrap(int i, int max);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Count number of digits in int
|
||||||
|
*/
|
||||||
|
int numlen(int n);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get modifier mask from modifier name.
|
* Get modifier mask from modifier name.
|
||||||
*
|
*
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
#include <libinput.h>
|
#include <libinput.h>
|
||||||
#include <math.h>
|
|
||||||
#include "stringop.h"
|
#include "stringop.h"
|
||||||
#include "layout.h"
|
#include "layout.h"
|
||||||
#include "focus.h"
|
#include "focus.h"
|
||||||
|
@ -1581,7 +1580,7 @@ static struct cmd_results *cmd_bar(int argc, char **argv) {
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < config->bars->length; ++i) {
|
for (i = 0; i < config->bars->length; ++i) {
|
||||||
if (bar == config->bars->items[i]) {
|
if (bar == config->bars->items[i]) {
|
||||||
const int len = 5 + log10(i) + 1; // "bar-" + i + \0
|
const int len = 5 + numlen(i); // "bar-" + i + \0
|
||||||
bar->id = malloc(len * sizeof(char));
|
bar->id = malloc(len * sizeof(char));
|
||||||
snprintf(bar->id, len, "bar-%d", i);
|
snprintf(bar->id, len, "bar-%d", i);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -10,7 +10,6 @@ target_link_libraries(swaygrab
|
||||||
sway-common
|
sway-common
|
||||||
${JSONC_LIBRARIES}
|
${JSONC_LIBRARIES}
|
||||||
rt
|
rt
|
||||||
m
|
|
||||||
)
|
)
|
||||||
|
|
||||||
install(
|
install(
|
||||||
|
|
|
@ -39,7 +39,7 @@ void grab_and_apply_magick(const char *file, const char *output,
|
||||||
|
|
||||||
const char *fmt = "convert -depth 8 -size %dx%d+0 rgba:- -flip %s";
|
const char *fmt = "convert -depth 8 -size %dx%d+0 rgba:- -flip %s";
|
||||||
char *cmd = malloc(strlen(fmt) - 6 /*args*/
|
char *cmd = malloc(strlen(fmt) - 6 /*args*/
|
||||||
+ log10(width) + 1 + log10(height) + 1 + strlen(file) + 1);
|
+ numlen(width) + numlen(height) + strlen(file) + 1);
|
||||||
sprintf(cmd, fmt, width, height, file);
|
sprintf(cmd, fmt, width, height, file);
|
||||||
|
|
||||||
FILE *f = popen(cmd, "w");
|
FILE *f = popen(cmd, "w");
|
||||||
|
@ -72,7 +72,7 @@ void grab_and_apply_movie_magic(const char *file, const char *output,
|
||||||
"-video_size %dx%d -pixel_format argb "
|
"-video_size %dx%d -pixel_format argb "
|
||||||
"-i pipe:0 -r %d -vf vflip %s";
|
"-i pipe:0 -r %d -vf vflip %s";
|
||||||
char *cmd = malloc(strlen(fmt) - 8 /*args*/
|
char *cmd = malloc(strlen(fmt) - 8 /*args*/
|
||||||
+ log10(width) + 1 + log10(height) + 1 + log10(framerate) + 1 * 2
|
+ numlen(width) + numlen(height) + numlen(framerate) * 2
|
||||||
+ strlen(file) + 1);
|
+ strlen(file) + 1);
|
||||||
sprintf(cmd, fmt, framerate, width, height, framerate, file);
|
sprintf(cmd, fmt, framerate, width, height, framerate, file);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue