diff --git a/assets/icons/maximize.svg b/assets/icons/maximize.svg
new file mode 100644
index 0000000..626292e
--- /dev/null
+++ b/assets/icons/maximize.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/icons/minus.svg b/assets/icons/minus.svg
new file mode 100644
index 0000000..9fae6d9
--- /dev/null
+++ b/assets/icons/minus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/icons/unmaximize.svg b/assets/icons/unmaximize.svg
new file mode 100644
index 0000000..e018969
--- /dev/null
+++ b/assets/icons/unmaximize.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/icons/x.svg b/assets/icons/x.svg
new file mode 100644
index 0000000..89927bb
--- /dev/null
+++ b/assets/icons/x.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/default_theme.lua b/default_theme.lua
index 7e326f7..22aa389 100644
--- a/default_theme.lua
+++ b/default_theme.lua
@@ -111,31 +111,32 @@ theme.menu_width = dpi(256)
--theme.bg_widget = "#cc0000"
-- Define the image to load
-theme.titlebar_close_button_normal = themes_path.."default/titlebar/close_normal.png"
-theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png"
+theme.titlebar_close_button_normal = simple_awesome_path .. "/assets/icons/x.svg"
+theme.titlebar_close_button_focus = theme.titlebar_close_button_normal
+theme.titlebar_close_button_hover_bg_color = '#800'
-theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png"
-theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png"
+theme.titlebar_maximized_button_normal_inactive = simple_awesome_path .. "/assets/icons/maximize.svg"
+theme.titlebar_maximized_button_focus_inactive = theme.titlebar_maximized_button_normal_inactive
+theme.titlebar_maximized_button_normal_active = simple_awesome_path .. "/assets/icons/unmaximize.svg"
+theme.titlebar_maximized_button_focus_active = theme.titlebar_maximized_button_normal_active
+theme.titlebar_maximized_button_hover_bg_color = '#555'
+
+theme.titlebar_minimize_button_normal = simple_awesome_path .. "/assets/icons/minus.svg"
+theme.titlebar_minimize_button_focus = theme.titlebar_minimize_button_normal
+theme.titlebar_minimize_button_hover_bg_color = '#555'
theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png"
-theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png"
+theme.titlebar_ontop_button_focus_inactive = theme.titlebar_ontop_button_normal_inactive
theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png"
-theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png"
-
-theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png"
-theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png"
-theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png"
-theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png"
+theme.titlebar_ontop_button_focus_active = theme.titlebar_ontop_button_normal_active
+theme.titlebar_ontop_button_hover_bg_color = '#555'
theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png"
-theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png"
+theme.titlebar_floating_button_focus_inactive = theme.titlebar_floating_button_normal_inactive
theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png"
-theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png"
+theme.titlebar_floating_button_focus_active = theme.titlebar_floating_button_normal_active
+theme.titlebar_floating_button_hover_bg_color = '#555'
-theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png"
-theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png"
-theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png"
-theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png"
theme.wallpaper = simple_awesome_path.."/assets/art/default_wallpaper.png"
diff --git a/simple/init.lua b/simple/init.lua
index ee9f4ca..a8bdf5f 100644
--- a/simple/init.lua
+++ b/simple/init.lua
@@ -15,6 +15,12 @@ local config = require("config")
local hotkey = require("simple/core/hotkey")
+--
+-- Misc components
+--
+local titlebar = require("simple/titlebar")
+
+
--
-- Awesome WM
--
@@ -670,28 +676,34 @@ client.connect_signal("request::titlebars", function(c)
awful.titlebar(c):setup {
{
- -- Left
- awful.titlebar.widget.iconwidget(c),
- buttons = buttons,
- layout = wibox.layout.fixed.horizontal
- },
- {
- -- Middle
{
- -- Title
- align = "center",
- widget = awful.titlebar.widget.titlewidget(c)
+ awful.titlebar.widget.iconwidget(c),
+ buttons = buttons,
+ layout = wibox.layout.fixed.horizontal
},
- buttons = buttons,
- layout = wibox.layout.flex.horizontal
+ margins = 2,
+ widget = wibox.container.margin,
},
{
- -- Right
- awful.titlebar.widget.floatingbutton(c),
- awful.titlebar.widget.maximizedbutton(c),
- awful.titlebar.widget.stickybutton(c),
- awful.titlebar.widget.ontopbutton(c),
- awful.titlebar.widget.closebutton(c),
+ {
+ {
+ -- Title
+ align = "left",
+ widget = awful.titlebar.widget.titlewidget(c)
+ },
+ buttons = buttons,
+ layout = wibox.layout.flex.horizontal
+ },
+ left = 8,
+ right = 8,
+ widget = wibox.container.margin,
+ },
+ {
+ titlebar.widget.floatingbutton(c),
+ titlebar.widget.ontopbutton(c),
+ titlebar.widget.minimizebutton(c),
+ titlebar.widget.maximizedbutton(c),
+ titlebar.widget.closebutton(c),
layout = wibox.layout.fixed.horizontal()
},
layout = wibox.layout.align.horizontal
diff --git a/simple/titlebar.lua b/simple/titlebar.lua
new file mode 100644
index 0000000..1a89088
--- /dev/null
+++ b/simple/titlebar.lua
@@ -0,0 +1,47 @@
+local awful = require('awful')
+local beautiful = require('beautiful')
+local wibox = require('wibox')
+
+function button(c, image, hover_bg_color)
+ local background = wibox.container.background(image)
+
+ background:connect_signal('mouse::enter', function()
+ background.bg = hover_bg_color
+ end)
+
+ background:connect_signal('mouse::leave', function()
+ background.bg = nil
+ end)
+
+ return background
+end
+
+function closebutton(c)
+ return button(c, awful.titlebar.widget.closebutton(c), beautiful.titlebar_close_button_hover_bg_color)
+end
+
+function maximizedbutton(c)
+ return button(c, awful.titlebar.widget.maximizedbutton(c), beautiful.titlebar_maximized_button_hover_bg_color)
+end
+
+function minimizebutton(c)
+ return button(c, awful.titlebar.widget.minimizebutton(c), beautiful.titlebar_minimize_button_hover_bg_color)
+end
+
+function ontopbutton(c)
+ return button(c, awful.titlebar.widget.ontopbutton(c), beautiful.titlebar_ontop_button_hover_bg_color)
+end
+
+function floatingbutton(c)
+ return button(c, awful.titlebar.widget.floatingbutton(c), beautiful.titlebar_floating_button_hover_bg_color)
+end
+
+return {
+ widget = {
+ closebutton = closebutton,
+ maximizedbutton = maximizedbutton,
+ minimizebutton = minimizebutton,
+ ontopbutton = ontopbutton,
+ floatingbutton = floatingbutton,
+ }
+}
\ No newline at end of file