diff --git a/data/css/default.css b/data/css/default.css index 5f4792aa..eed40763 100644 --- a/data/css/default.css +++ b/data/css/default.css @@ -98,27 +98,37 @@ } .wf-dock .box { + background-color: #33333355; padding-left: 1em; padding-right: 1em; border-radius: 1em; } +.wf-dock button { + background: transparent; + padding-left: 0rem; + padding-right: 0rem; +} + +.wf-dock button.activated { + border-bottom: 3px solid white; + margin-bottom: 5px; +} + .wf-dock image { + background: transparent; + padding-left: 0rem; + padding-right: 0rem; transition: 200ms; - -gtk-icon-transform: scale(1.0); - padding-left: 1rem; - padding-right: 1rem; + -gtk-icon-transform: scale(0.7); } .wf-dock image:hover { + background: transparent; + padding-left: 0rem; + padding-right: 0rem; transition: 200ms; - -gtk-icon-transform: scale(1.3); - padding-left: 2rem; - padding-right: 2rem; -} - -.wf-dock .minimized image { - -gtk-icon-filter: grayscale(1); + -gtk-icon-transform: scale(1.0); } .wf-dock image { diff --git a/src/dock/dock.cpp b/src/dock/dock.cpp index ba461c21..7c5ea453 100644 --- a/src/dock/dock.cpp +++ b/src/dock/dock.cpp @@ -30,6 +30,7 @@ class WfDock::impl this->output = output; window = std::unique_ptr( new WayfireAutohidingWindow(output, "dock")); + window->set_auto_exclusive_zone(false); gtk_layer_set_layer(window->gobj(), GTK_LAYER_SHELL_LAYER_TOP); gtk_layer_set_anchor(window->gobj(), GTK_LAYER_SHELL_EDGE_LEFT, true); gtk_layer_set_anchor(window->gobj(), GTK_LAYER_SHELL_EDGE_RIGHT, true); diff --git a/src/dock/toplevel-icon.cpp b/src/dock/toplevel-icon.cpp index b96105e6..01083bdc 100644 --- a/src/dock/toplevel-icon.cpp +++ b/src/dock/toplevel-icon.cpp @@ -147,18 +147,17 @@ class WfToplevelIcon::impl return; } - bool was_activated = this->state & WF_TOPLEVEL_STATE_ACTIVATED; this->state = state; bool is_activated = this->state & WF_TOPLEVEL_STATE_ACTIVATED; bool is_min = state & WF_TOPLEVEL_STATE_MINIMIZED; bool is_max = state & WF_TOPLEVEL_STATE_MAXIMIZED; auto style = this->button.get_style_context(); - if (!was_activated && is_activated) + if (is_activated) { - style->remove_class("flat"); - } else if (was_activated && !is_activated) + style->add_class("activated"); + } else { - style->add_class("flat"); + style->remove_class("activated"); } if (is_min) diff --git a/src/dock/toplevel.cpp b/src/dock/toplevel.cpp index a8bb94cd..ae12c85f 100644 --- a/src/dock/toplevel.cpp +++ b/src/dock/toplevel.cpp @@ -187,6 +187,9 @@ static void handle_toplevel_closed(void *data, toplevel_t handle) zwlr_foreign_toplevel_handle_v1_destroy(handle); } +static void handle_toplevel_parent(void *data, toplevel_t handle, toplevel_t parent) +{} + namespace { struct zwlr_foreign_toplevel_handle_v1_listener toplevel_handle_v1_impl = { @@ -196,6 +199,7 @@ struct zwlr_foreign_toplevel_handle_v1_listener toplevel_handle_v1_impl = { .output_leave = handle_toplevel_output_leave, .state = handle_toplevel_state, .done = handle_toplevel_done, - .closed = handle_toplevel_closed + .closed = handle_toplevel_closed, + .parent = handle_toplevel_parent }; } diff --git a/src/util/wf-autohide-window.cpp b/src/util/wf-autohide-window.cpp index 96155640..81734ba2 100644 --- a/src/util/wf-autohide-window.cpp +++ b/src/util/wf-autohide-window.cpp @@ -302,6 +302,7 @@ void WayfireAutohidingWindow::set_auto_exclusive_zone(bool has_zone) } auto_exclusive_zone = has_zone; + update_auto_exclusive_zone(); } void WayfireAutohidingWindow::increase_autohide() @@ -476,8 +477,6 @@ void WayfireAutohidingWindow::setup_autohide() this->set_auto_exclusive_zone(!(output->output && autohide_opt)); this->update_autohide(); - - this->update_auto_exclusive_zone(); } void WayfireAutohidingWindow::update_autohide()