diff options
Diffstat (limited to 'sway/main.c')
| -rw-r--r-- | sway/main.c | 18 | 
1 files changed, 16 insertions, 2 deletions
| diff --git a/sway/main.c b/sway/main.c index c6453226..1a55b519 100644 --- a/sway/main.c +++ b/sway/main.c @@ -20,6 +20,7 @@  #include "sway/commands.h"  #include "sway/config.h"  #include "sway/debug.h" +#include "sway/desktop/transaction.h"  #include "sway/server.h"  #include "sway/tree/layout.h"  #include "sway/ipc-server.h" @@ -251,6 +252,18 @@ static void drop_permissions(bool keep_caps) {  #endif  } +void enable_debug_flag(const char *flag) { +	if (strcmp(flag, "render-tree") == 0) { +		enable_debug_tree = true; +	} else if (strncmp(flag, "damage=", 7) == 0) { +		damage_debug = &flag[7]; +	} else if (strcmp(flag, "txn-debug") == 0) { +		txn_debug = true; +	} else if (strncmp(flag, "txn-timeout=", 12) == 0) { +		txn_timeout_ms = atoi(&flag[12]); +	} +} +  int main(int argc, char **argv) {  	static int verbose = 0, debug = 0, validate = 0; @@ -290,7 +303,7 @@ int main(int argc, char **argv) {  	int c;  	while (1) {  		int option_index = 0; -		c = getopt_long(argc, argv, "hCdDvVc:", long_options, &option_index); +		c = getopt_long(argc, argv, "hCdD:vVc:", long_options, &option_index);  		if (c == -1) {  			break;  		} @@ -309,7 +322,7 @@ int main(int argc, char **argv) {  			debug = 1;  			break;  		case 'D': // extended debug options -			enable_debug_tree = true; +			enable_debug_flag(optarg);  			break;  		case 'v': // version  			fprintf(stdout, "sway version " SWAY_VERSION "\n"); @@ -429,6 +442,7 @@ int main(int argc, char **argv) {  		free(line);  		list_del(config->cmd_queue, 0);  	} +	transaction_commit_dirty();  	if (!terminate_request) {  		server_run(&server); | 
