mirror of
https://github.com/swaywm/sway.git
synced 2024-11-24 00:41:28 +00:00
Add --no-dock
option
This commit is contained in:
parent
440d0bc22d
commit
a50e5ca9f0
|
@ -96,6 +96,7 @@ struct swaynag {
|
|||
char *message;
|
||||
list_t *buttons;
|
||||
struct swaynag_details details;
|
||||
bool no_dock;
|
||||
};
|
||||
|
||||
void swaynag_setup(struct swaynag *swaynag);
|
||||
|
|
|
@ -69,6 +69,7 @@ int swaynag_parse_options(int argc, char **argv, struct swaynag *swaynag,
|
|||
{"detailed-message", no_argument, NULL, 'l'},
|
||||
{"detailed-button", required_argument, NULL, 'L'},
|
||||
{"message", required_argument, NULL, 'm'},
|
||||
{"no-dock", no_argument, NULL, 'n'},
|
||||
{"output", required_argument, NULL, 'o'},
|
||||
{"dismiss-button", required_argument, NULL, 's'},
|
||||
{"type", required_argument, NULL, 't'},
|
||||
|
@ -116,6 +117,7 @@ int swaynag_parse_options(int argc, char **argv, struct swaynag *swaynag,
|
|||
" -l, --detailed-message Read a detailed message from stdin.\n"
|
||||
" -L, --detailed-button <text> Set the text of the detail button.\n"
|
||||
" -m, --message <msg> Set the message text.\n"
|
||||
" -n, --no-dock Do not set the exclusive zone.\n"
|
||||
" -o, --output <output> Set the output to use.\n"
|
||||
" -s, --dismiss-button <text> Set the dismiss button text.\n"
|
||||
" -t, --type <type> Set the message type.\n"
|
||||
|
@ -140,7 +142,7 @@ int swaynag_parse_options(int argc, char **argv, struct swaynag *swaynag,
|
|||
|
||||
optind = 1;
|
||||
while (1) {
|
||||
int c = getopt_long(argc, argv, "b:B:z:Z:c:de:y:f:hlL:m:o:s:t:v", opts, NULL);
|
||||
int c = getopt_long(argc, argv, "b:B:z:Z:c:de:y:f:hlL:m:o:s:t:nv", opts, NULL);
|
||||
if (c == -1) {
|
||||
break;
|
||||
}
|
||||
|
@ -242,6 +244,11 @@ int swaynag_parse_options(int argc, char **argv, struct swaynag *swaynag,
|
|||
swaynag->message = strdup(optarg);
|
||||
}
|
||||
break;
|
||||
case 'n':
|
||||
if (swaynag) {
|
||||
swaynag->no_dock = true;
|
||||
}
|
||||
break;
|
||||
case 'o': // Output
|
||||
if (type) {
|
||||
free(type->output);
|
||||
|
|
|
@ -264,8 +264,10 @@ void render_frame(struct swaynag *swaynag) {
|
|||
uint32_t height = render_to_cairo(cairo, swaynag);
|
||||
if (height != swaynag->height) {
|
||||
zwlr_layer_surface_v1_set_size(swaynag->layer_surface, 0, height);
|
||||
zwlr_layer_surface_v1_set_exclusive_zone(swaynag->layer_surface,
|
||||
height);
|
||||
if (!swaynag->no_dock) {
|
||||
zwlr_layer_surface_v1_set_exclusive_zone(swaynag->layer_surface,
|
||||
height);
|
||||
}
|
||||
wl_surface_commit(swaynag->surface);
|
||||
wl_display_roundtrip(swaynag->display);
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue