Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added 'disable_titlebar' option #8026

Open
wants to merge 11 commits into
base: master
Choose a base branch
from
1 change: 1 addition & 0 deletions include/sway/commands.h
Expand Up @@ -124,6 +124,7 @@ sway_cmd cmd_create_output;
sway_cmd cmd_default_border;
sway_cmd cmd_default_floating_border;
sway_cmd cmd_default_orientation;
sway_cmd cmd_disable_titlebar;
sway_cmd cmd_exec;
sway_cmd cmd_exec_always;
sway_cmd cmd_exit;
Expand Down
1 change: 1 addition & 0 deletions include/sway/config.h
Expand Up @@ -540,6 +540,7 @@ struct sway_config {
bool validating;
bool auto_back_and_forth;
bool show_marks;
bool disable_titlebar;
enum alignment title_align;
bool primary_selection;

Expand Down
1 change: 1 addition & 0 deletions sway/commands.c
Expand Up @@ -57,6 +57,7 @@ static const struct cmd_handler handlers[] = {
{ "client.urgent", cmd_client_urgent },
{ "default_border", cmd_default_border },
{ "default_floating_border", cmd_default_floating_border },
{ "disable_titlebar", cmd_disable_titlebar },
{ "exec", cmd_exec },
{ "exec_always", cmd_exec_always },
{ "floating_maximum_size", cmd_floating_maximum_size },
Expand Down
15 changes: 15 additions & 0 deletions sway/commands/disable_titlebar.c
@@ -0,0 +1,15 @@
#include "sway/commands.h"
#include "sway/config.h"
#include "util.h"

struct cmd_results *cmd_disable_titlebar(int argc, char **argv) {
struct cmd_results *error = NULL;
if ((error = checkarg(argc, "disable_titlebar", EXPECTED_EQUAL_TO, 1))) {
return error;
}

config->disable_titlebar = parse_boolean(argv[0], config->disable_titlebar);

return cmd_results_new(CMD_SUCCESS, NULL);
}

1 change: 1 addition & 0 deletions sway/config.c
Expand Up @@ -278,6 +278,7 @@ static void config_defaults(struct sway_config *config) {
config->auto_back_and_forth = false;
config->reading = false;
config->show_marks = true;
config->disable_titlebar = false;
config->title_align = ALIGN_LEFT;
config->tiling_drag = true;
config->tiling_drag_threshold = 9;
Expand Down
1 change: 1 addition & 0 deletions sway/meson.build
Expand Up @@ -50,6 +50,7 @@ sway_sources = files(
'commands/default_border.c',
'commands/default_floating_border.c',
'commands/default_orientation.c',
'commands/disable_titlebar.c',
'commands/exit.c',
'commands/exec.c',
'commands/exec_always.c',
Expand Down
3 changes: 3 additions & 0 deletions sway/sway.5.scd
Expand Up @@ -732,6 +732,9 @@ The default colors are:
should be greater than titlebar_border_thickness. If _vertical_ value is
not specified it is set to the _horizontal_ value.

*disable_titlebar* yes|no.
Remove titlebar. Default is _no_.

*for_window* <criteria> <command>
Whenever a window that matches _criteria_ appears, run list of commands.
See *CRITERIA* for more details.
Expand Down
4 changes: 4 additions & 0 deletions sway/tree/container.c
Expand Up @@ -726,6 +726,10 @@ void container_update_representation(struct sway_container *con) {
}

size_t container_titlebar_height(void) {
if(config->disable_titlebar) {
return 0;
}

return config->font_height + config->titlebar_v_padding * 2;
}

Expand Down