diff --git a/src/Widgets/WorkspaceThumb.vala b/src/Widgets/WorkspaceThumb.vala index daac1720..c6752616 100644 --- a/src/Widgets/WorkspaceThumb.vala +++ b/src/Widgets/WorkspaceThumb.vala @@ -41,6 +41,18 @@ namespace Gala static GtkClutter.Texture? plus = null; + Gtk.StyleContext selector_style; + static const string FALLBACK_STYLE = """ + .workspace-selector { + background-image: -gtk-gradient (linear, + left top, left bottom, + from(#eee), + to(#555)); + border: 1px solid black; + border-radius: 5px; + } + """; + internal Clone wallpaper; Clutter.Actor windows; internal Clutter.Actor icons; @@ -54,6 +66,19 @@ namespace Gala workspace = _workspace; screen = workspace.get_screen (); + //setup styles + var fallback = new Gtk.CssProvider (); + try { + fallback.load_from_data (FALLBACK_STYLE, -1); + } catch (Error e) { warning (e.message); } + + var e = new Gtk.EventBox (); + e.show (); + selector_style = e.get_style_context (); + selector_style.add_class ("workspace-selector"); + selector_style.add_provider (fallback, Gtk.STYLE_PROVIDER_PRIORITY_FALLBACK); + + screen.workspace_switched.connect (handle_workspace_switched); screen.workspace_added.connect (workspace_added); @@ -200,13 +225,7 @@ namespace Gala bool draw_indicator (Cairo.Context cr) { - Granite.Drawing.Utilities.cairo_rounded_rectangle (cr, 0, 0, indicator.width, indicator.height, 8); - - cr.set_source_rgb (0.35, 0.75, 1.0); - cr.fill_preserve (); - cr.set_line_width (1); - cr.set_source_rgba (0.0, 0.0, 0.0, 0.8); - cr.stroke (); + selector_style.render_activity (cr, 0, 0, indicator.width, indicator.height); return false; } diff --git a/src/Widgets/WorkspaceView.vala b/src/Widgets/WorkspaceView.vala index 7870cb86..baa44395 100644 --- a/src/Widgets/WorkspaceView.vala +++ b/src/Widgets/WorkspaceView.vala @@ -37,6 +37,18 @@ namespace Gala bool wait_one_key_release; //called by shortcut, don't close it on first keyrelease + Gtk.StyleContext background_style; + static const string FALLBACK_STYLE = """ + .workspaces-background { + border-top: 1px solid alpha(#fff, 0.5); + background-image: -gtk-gradient (linear, + left top, left bottom, + from (#161616), + color-stop (0.15, #262626), + to (#262626)); + } + """; + public WorkspaceView (Gala.Plugin _plugin) { plugin = _plugin; @@ -46,6 +58,18 @@ namespace Gala opacity = 0; reactive = true; + //setup styles + var fallback = new Gtk.CssProvider (); + try { + fallback.load_from_data (FALLBACK_STYLE, -1); + } catch (Error e) { warning (e.message); } + + var e = new Gtk.EventBox (); + e.show (); + background_style = e.get_style_context (); + background_style.add_class ("workspaces-background"); + background_style.add_provider (fallback, Gtk.STYLE_PROVIDER_PRIORITY_FALLBACK); + thumbnails = new Clutter.Actor (); thumbnails.layout_manager = new Clutter.BoxLayout (); (thumbnails.layout_manager as Clutter.BoxLayout).spacing = 12; @@ -113,7 +137,7 @@ namespace Gala bool draw_background (Cairo.Context cr) { - cr.rectangle (0, 1, width, height); + /*cr.rectangle (0, 1, width, height); cr.set_source_rgb (0.15, 0.15, 0.15); cr.fill (); @@ -129,7 +153,9 @@ namespace Gala cr.rectangle (0, 1, width, 15); cr.set_source (grad); - cr.fill (); + cr.fill ();*/ + + background_style.render_activity (cr, 0, 0, width, height); return false; }