Phone style + smarter ubuntu layout
This commit is contained in:
parent
4a6ec01f88
commit
9842227176
|
@ -2,7 +2,7 @@ local awful = require("awful")
|
|||
local gears = require("gears")
|
||||
|
||||
return gears.table.join(
|
||||
awful.button({ }, 3, function () require("core.widgets.menu"):toggle() end),
|
||||
awful.button({ }, 3, function () menu:show() end),
|
||||
awful.button({ }, 4, awful.tag.viewnext),
|
||||
awful.button({ }, 5, awful.tag.viewprev)
|
||||
)
|
||||
|
|
106
core/layout.lua
106
core/layout.lua
|
@ -67,76 +67,72 @@ awful.screen.connect_for_each_screen(function(s)
|
|||
},
|
||||
bottom_widgets = {
|
||||
require("widgets.polylauncher")({vertical = true})
|
||||
}
|
||||
},
|
||||
position="left"
|
||||
})
|
||||
-- Menu
|
||||
require("core.widgets.menu")
|
||||
-- Start button
|
||||
local start_button = wibox.widget {
|
||||
{
|
||||
{
|
||||
image = beautiful.awesome_icon,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
widget = wibox.container.place,
|
||||
halign = "center",
|
||||
id = "menu"
|
||||
},
|
||||
bg = "#26262633",
|
||||
widget = wibox.container.background,
|
||||
forced_width = require("beautiful.xresources").apply_dpi(61),
|
||||
}
|
||||
start_button:connect_signal("button::press",function(self,x,y,button)
|
||||
if button == 1 then
|
||||
menu:show()
|
||||
end
|
||||
end)
|
||||
-- Add widgets to the wibox
|
||||
s.mywibox:setup {
|
||||
expand = "outside",
|
||||
layout = wibox.layout.align.horizontal,
|
||||
{ -- Left widgets
|
||||
start_button,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
{
|
||||
{
|
||||
require("core.widgets.menu_launcher"),
|
||||
widget = wibox.container.place,
|
||||
halign = "center"
|
||||
},
|
||||
bg = "#26262633",
|
||||
widget = wibox.container.background,
|
||||
forced_width = require("beautiful.xresources").apply_dpi(61),
|
||||
},
|
||||
--require("widgets.polylauncher")({vertical = false}),
|
||||
--s.mytaglist,
|
||||
s.mypromptbox,
|
||||
spacing = 3
|
||||
},
|
||||
-- Middle widget
|
||||
{
|
||||
--[[require("widgets.polytasklist")({
|
||||
vertical = false,
|
||||
stretch = false,
|
||||
constraint = 180,
|
||||
names = true,
|
||||
margins = 5
|
||||
})(s),]]
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
},
|
||||
{ -- Right widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
awful.widget.keyboardlayout(),
|
||||
require("widgets.wallpapers")({
|
||||
screen = s,
|
||||
path = os.getenv("HOME").."/Pictures/Wallpapers/",
|
||||
style = {
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
require("widgets.mailbox")({
|
||||
screen = s,
|
||||
style = {
|
||||
rounding = 1,
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
--wibox.widget.systray(),
|
||||
require("widgets.volume")({
|
||||
style = {
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
require("widgets.battery")({
|
||||
percentage = true,
|
||||
style = {
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
wibox.widget.textclock(),
|
||||
require("widgets.username")({
|
||||
style = {
|
||||
icon_bg_normal = beautiful.topbar_bg
|
||||
}
|
||||
}),
|
||||
s.mylayoutbox,
|
||||
spacing = 4
|
||||
{
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
require("widgets.wallpapers")({
|
||||
screen = s,
|
||||
path = os.getenv("HOME").."/Pictures/Wallpapers/",
|
||||
}),
|
||||
require("widgets.mailbox")({
|
||||
screen = s,
|
||||
style = {
|
||||
rounding = 1,
|
||||
}
|
||||
}),
|
||||
require("widgets.volume")({}),
|
||||
require("widgets.battery")({
|
||||
percentage = true,
|
||||
}),
|
||||
--wibox.widget.systray(),
|
||||
awful.widget.keyboardlayout(),
|
||||
wibox.widget.textclock(),
|
||||
s.mylayoutbox,
|
||||
spacing = 4,
|
||||
},
|
||||
widget = wibox.container.place,
|
||||
halign = "right",
|
||||
fill_horizontal = false
|
||||
},
|
||||
}
|
||||
end)
|
||||
|
|
|
@ -83,7 +83,7 @@ local menu_template = {
|
|||
vertical = true,
|
||||
inverse = true
|
||||
}
|
||||
local menu = polymenu(menu_template)
|
||||
menu = polymenu(menu_template)
|
||||
root.keys(gears.table.join(
|
||||
root.keys(),
|
||||
awful.key({ global.modkey, }, "w", function () menu:show() end,
|
||||
|
|
|
@ -0,0 +1,136 @@
|
|||
local beautiful = require("beautiful")
|
||||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
local wibox = require("wibox")
|
||||
-- {{{ Wibar
|
||||
|
||||
-- Create a wibox for each screen and add it
|
||||
|
||||
local function set_wallpaper(s)
|
||||
-- Wallpaper
|
||||
if beautiful.wallpaper then
|
||||
local wallpaper = beautiful.wallpaper
|
||||
-- If wallpaper is a function, call it with the screen
|
||||
if type(wallpaper) == "function" then
|
||||
wallpaper = wallpaper(s)
|
||||
end
|
||||
gears.wallpaper.maximized(wallpaper, s, true)
|
||||
end
|
||||
end
|
||||
|
||||
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
|
||||
screen.connect_signal("property::geometry", set_wallpaper)
|
||||
|
||||
-- {{{ Non-widget modules
|
||||
-- The following modules are not exactly widgets, however they are part of the ui.
|
||||
|
||||
-- Load the keybindings list
|
||||
require("core.widgets.hotkeys_popup")
|
||||
|
||||
-- Load the menubar
|
||||
require("core.widgets.menubar")
|
||||
-- }}}
|
||||
|
||||
awful.screen.connect_for_each_screen(function(s)
|
||||
-- Wallpaper
|
||||
set_wallpaper(s)
|
||||
|
||||
-- Each screen has its own tag table.
|
||||
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
|
||||
|
||||
-- Create a promptbox for each screen
|
||||
s.mypromptbox = require("core.widgets.prompt")()
|
||||
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
|
||||
-- Create the taglist
|
||||
s.mytaglist = require("core.widgets.taglist")(s)
|
||||
-- We need one layoutbox per screen.
|
||||
s.mylayoutbox = require("core.widgets.layout_box")(s)
|
||||
-- Create a tasklist widget
|
||||
s.mytasklist = require("core.widgets.tasklist")(s)
|
||||
-- Create the wibox
|
||||
s.mywibox = awful.wibar({
|
||||
position = "top",
|
||||
screen = s,
|
||||
bg = beautiful.topbar_bg,
|
||||
})
|
||||
-- Add screen lock
|
||||
require("widgets.lock")({screen = s, obscure = true})
|
||||
require("widgets.unitybar")(s,{
|
||||
top_widgets = {
|
||||
require("widgets.polytasklist")({
|
||||
vertical = false,
|
||||
stretch = false,
|
||||
--constraint = 180,
|
||||
names = false,
|
||||
margins = 5
|
||||
})(s),
|
||||
},
|
||||
bottom_widgets = {
|
||||
require("widgets.polylauncher")({vertical = false})
|
||||
},
|
||||
position="bottom"
|
||||
})
|
||||
-- Menu
|
||||
require("core.widgets.menu")
|
||||
-- Start button
|
||||
local start_button = wibox.widget {
|
||||
{
|
||||
{
|
||||
image = beautiful.awesome_icon,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
widget = wibox.container.place,
|
||||
halign = "center",
|
||||
id = "menu"
|
||||
},
|
||||
bg = "#26262633",
|
||||
widget = wibox.container.background,
|
||||
forced_width = require("beautiful.xresources").apply_dpi(61),
|
||||
}
|
||||
start_button:connect_signal("button::press",function(self,x,y,button)
|
||||
if button == 1 then
|
||||
menu:show()
|
||||
end
|
||||
end)
|
||||
-- Add widgets to the wibox
|
||||
s.mywibox:setup {
|
||||
expand = "outside",
|
||||
layout = wibox.layout.align.horizontal,
|
||||
{ -- Left widgets
|
||||
start_button,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
--require("widgets.polylauncher")({vertical = false}),
|
||||
--s.mytaglist,
|
||||
s.mypromptbox,
|
||||
spacing = 3
|
||||
},
|
||||
wibox.widget.textclock(),
|
||||
{ -- Right widgets
|
||||
{
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
awful.widget.keyboardlayout(),
|
||||
require("widgets.wallpapers")({
|
||||
screen = s,
|
||||
path = os.getenv("HOME").."/Pictures/Wallpapers/",
|
||||
}),
|
||||
require("widgets.mailbox")({
|
||||
screen = s,
|
||||
style = {
|
||||
rounding = 1,
|
||||
}
|
||||
}),
|
||||
--wibox.widget.systray(),
|
||||
require("widgets.volume")({}),
|
||||
require("widgets.battery")({
|
||||
percentage = true,
|
||||
}),
|
||||
s.mylayoutbox,
|
||||
spacing = 4,
|
||||
},
|
||||
widget = wibox.container.place,
|
||||
halign = "right",
|
||||
fill_horizontal = true
|
||||
},
|
||||
}
|
||||
end)
|
||||
-- }}}
|
|
@ -0,0 +1,155 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
local wibox = require("wibox")
|
||||
local menu = require("widgets.polymenu")
|
||||
local move_screentags = {}
|
||||
local toggle_screentags = {}
|
||||
awful.screen.connect_for_each_screen(function(s)
|
||||
local move_tags = {}
|
||||
local toggle_tags = {}
|
||||
for _,tag in pairs(s.tags) do
|
||||
table.insert(move_tags,{
|
||||
tag.name,
|
||||
function()
|
||||
if client.focus then
|
||||
client.focus:tags({tag})
|
||||
end
|
||||
end
|
||||
})
|
||||
table.insert(toggle_tags,{
|
||||
tag.name,
|
||||
function()
|
||||
if client.focus then
|
||||
local tags = client.focus:tags()
|
||||
for k,v in pairs(tags) do
|
||||
if v == tag then
|
||||
table.remove(tags,k)
|
||||
client.focus:tags(tags)
|
||||
return
|
||||
end
|
||||
end
|
||||
table.insert(tags,tag)
|
||||
client.focus:tags(tags)
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
table.insert(move_screentags,{
|
||||
"Screen "..tostring(s.index),
|
||||
move_tags
|
||||
})
|
||||
table.insert(toggle_screentags,{
|
||||
"Screen "..tostring(s.index),
|
||||
toggle_tags
|
||||
})
|
||||
end)
|
||||
local controls_widget = wibox.widget {
|
||||
forced_width = 72,
|
||||
forced_height = 24,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
}
|
||||
-- To conserve memory we keep one menu at a time
|
||||
local menu_widget = menu({
|
||||
before = {
|
||||
controls_widget
|
||||
},
|
||||
after = {
|
||||
require("widgets.client-volume")({})
|
||||
},
|
||||
items = {
|
||||
{ "Move to tag" ,
|
||||
move_screentags
|
||||
},
|
||||
{ "Toggle on tag",
|
||||
toggle_screentags
|
||||
},
|
||||
{ "Stop task",
|
||||
function()
|
||||
awful.spawn("kill "..tostring(client.focus.pid))
|
||||
end
|
||||
},
|
||||
{ "Kill task",
|
||||
function()
|
||||
awful.spawn("kill -s KILL "..tostring(client.focus.pid))
|
||||
end
|
||||
},
|
||||
{ "Debug info",
|
||||
{
|
||||
before = {
|
||||
require("widgets.window-debug")()
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
vertical = true
|
||||
})
|
||||
|
||||
return function(c)
|
||||
local buttons = gears.table.join(
|
||||
awful.button({ }, 1, function()
|
||||
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||
awful.mouse.client.move(c)
|
||||
end),
|
||||
awful.button({ }, 3, function()
|
||||
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||
awful.mouse.client.resize(c)
|
||||
end)
|
||||
)
|
||||
c.menu_button = awful.titlebar.widget.iconwidget(c)
|
||||
-- A little trick we do to conserve memory and cpu usage on regenerating
|
||||
-- buttons is we pop up a menu in the location of the icon
|
||||
-- and insert buttons into the controls widget layout.
|
||||
c.hidden_floatingbutton = awful.titlebar.widget.floatingbutton(c)
|
||||
c.hidden_stickybutton = awful.titlebar.widget.stickybutton(c)
|
||||
c.hidden_ontopbutton = awful.titlebar.widget.ontopbutton(c)
|
||||
c.menu_button:connect_signal("button::press", function()
|
||||
menu_widget.toggle()
|
||||
if controls_widget then
|
||||
controls_widget:reset()
|
||||
controls_widget:add(c.hidden_floatingbutton)
|
||||
controls_widget:add(c.hidden_stickybutton)
|
||||
controls_widget:add(c.hidden_ontopbutton)
|
||||
end
|
||||
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||
end)
|
||||
c:connect_signal("unfocus",function()
|
||||
if menu_widget.visible then
|
||||
menu_widget.toggle(0,0)
|
||||
end
|
||||
end)
|
||||
return awful.titlebar(c) : setup {
|
||||
{ -- Left
|
||||
c.menu_button,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
},
|
||||
{ -- Middle
|
||||
awful.titlebar.widget.titlewidget(c),
|
||||
buttons = buttons,
|
||||
layout = wibox.layout.flex.horizontal
|
||||
},
|
||||
{ -- Right
|
||||
{
|
||||
{
|
||||
awful.titlebar.widget.maximizedbutton(c),
|
||||
awful.titlebar.widget.minimizebutton (c),
|
||||
awful.titlebar.widget.closebutton (c),
|
||||
layout = wibox.layout.fixed.horizontal(),
|
||||
widget = wibox.container.margin,
|
||||
margins = 3
|
||||
},
|
||||
widget = wibox.container.background,
|
||||
shape = gears.shape.rounded_bar,
|
||||
bg = {
|
||||
type = "linear",
|
||||
from = { 0, 15 },
|
||||
to = { 0, 0},
|
||||
stops = { { 0, "#5d5d5955"} , {1, "39383555"} }
|
||||
},
|
||||
},
|
||||
widget = wibox.container.margin,
|
||||
margins = 2
|
||||
},
|
||||
spacing = 10,
|
||||
layout = wibox.layout.align.horizontal,
|
||||
}
|
||||
end
|
|
@ -0,0 +1,31 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
-- {{{ Variable definitions
|
||||
global = {}
|
||||
global.awesome_dir = os.getenv("HOME").."/.config/awesome/"
|
||||
global.config_dir = os.getenv("HOME").."/.awesome/"
|
||||
global.themes_dir = os.getenv("HOME").."/.config/awesome/themes/"
|
||||
global.theme = global.awesome_dir .. "themes/unity/theme.lua"
|
||||
global.terminal = "xterm"
|
||||
global.editor = os.getenv("EDITOR") or "vim"
|
||||
global.editor_cmd = global.terminal .. " -e ".. global.editor
|
||||
global.modkey = "Mod4"
|
||||
awful.layout.layouts = {
|
||||
awful.layout.suit.floating,
|
||||
awful.layout.suit.tile,
|
||||
awful.layout.suit.tile.left,
|
||||
awful.layout.suit.tile.bottom,
|
||||
awful.layout.suit.tile.top,
|
||||
awful.layout.suit.fair,
|
||||
awful.layout.suit.fair.horizontal,
|
||||
awful.layout.suit.spiral,
|
||||
awful.layout.suit.spiral.dwindle,
|
||||
awful.layout.suit.max,
|
||||
awful.layout.suit.max.fullscreen,
|
||||
awful.layout.suit.magnifier,
|
||||
awful.layout.suit.corner.nw,
|
||||
-- awful.layout.suit.corner.ne,
|
||||
-- awful.layout.suit.corner.sw,
|
||||
-- awful.layout.suit.corner.se,
|
||||
}
|
||||
-- }}}
|
|
@ -31,7 +31,8 @@ return function(args)
|
|||
local icon_name = out:match("icon%-name:%s+'(battery%-[^']+)'")
|
||||
local value = out:match("percentage:%s+(%d+%%)")
|
||||
icon:get_children_by_id("widget_icon")[1].image =
|
||||
style[icon_name:gsub("%-","_")]
|
||||
style[icon_name:gsub("%-","_")] or
|
||||
style["battery_missing_symbolic"]
|
||||
if args.percentage and value then
|
||||
icon:get_children_by_id("widget_text")[1].markup = value
|
||||
end
|
||||
|
|
|
@ -138,9 +138,13 @@ local function loader(options)
|
|||
end
|
||||
end)
|
||||
elseif type(v[2]) == "function" then
|
||||
new_button:connect_signal("button::press",v[2])
|
||||
new_button:connect_signal("button::press",function()
|
||||
cascade_close(tree_path,1)
|
||||
v[2]()
|
||||
end)
|
||||
elseif type(v[2]) == "string" then
|
||||
new_button:connect_signal("button::press",function()
|
||||
cascade_close(tree_path,1)
|
||||
awful.spawn(v[2])
|
||||
end)
|
||||
end
|
||||
|
@ -152,9 +156,6 @@ local function loader(options)
|
|||
menu.current_button = new_button
|
||||
menu.current_button.bg = button_bg_on
|
||||
end)
|
||||
new_button:connect_signal("button::press",function()
|
||||
cascade_close(tree_path,1)
|
||||
end)
|
||||
table.insert(menu,new_button)
|
||||
end
|
||||
end
|
||||
|
@ -182,7 +183,10 @@ local function loader(options)
|
|||
end
|
||||
tree_path[1] = menu
|
||||
menu.visible = (not menu.visible)
|
||||
end
|
||||
end
|
||||
menu.show = function(self)
|
||||
menu.toggle()
|
||||
end
|
||||
return menu
|
||||
end
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ local awmtk = require("awmtk")
|
|||
function unitybar(s,args)
|
||||
local style = awmtk.style(awmtk.defaults,args.style or {},"unitybar_")
|
||||
s.myunitybar = awful.wibar({
|
||||
position = "left",
|
||||
position = args.position or "left",
|
||||
screen = s,
|
||||
border_width = style.unitybar_border_width or 1,
|
||||
border_color = style.unitybar_border_color or "#262626AA",
|
||||
|
@ -13,7 +13,21 @@ function unitybar(s,args)
|
|||
(type(style.bg_normal) == "string") and
|
||||
(style.bg_normal:len() < 8) and
|
||||
style.bg_normal.."AA"),
|
||||
width = style.unitybar_width or 50,
|
||||
width = (function()
|
||||
if (not args.position) or
|
||||
(args.position == "left") or
|
||||
(args.position == "right")
|
||||
then
|
||||
return style.unitybar_width or 50
|
||||
end
|
||||
end)(),
|
||||
height = (function()
|
||||
if (args.position == "bottom") or
|
||||
(args.posiiton == "top")
|
||||
then
|
||||
return style.unitybar_width or 50
|
||||
end
|
||||
end)()
|
||||
})
|
||||
local top_widgets = {
|
||||
layout = wibox.layout.fixed.vertical,
|
||||
|
@ -31,7 +45,15 @@ function unitybar(s,args)
|
|||
widget = wibox.container.margin,
|
||||
margins = style.unitybar_inner_margin,
|
||||
{
|
||||
layout = wibox.layout.align.vertical,
|
||||
layout = (function()
|
||||
if (s.myunitybar.position == "left") or
|
||||
(s.myunitybar.position == "right")
|
||||
then
|
||||
return wibox.layout.align.vertical
|
||||
else
|
||||
return wibox.layout.align.horizontal
|
||||
end
|
||||
end)(),
|
||||
top_widgets,
|
||||
{ --Middle spacer
|
||||
widget = wibox.container.background
|
||||
|
|
Loading…
Reference in New Issue