-- Table of layouts to cover with awful.layout.inc, order matters.
local layouts = {
default = awful.layout.suit.fair,
+ default_horiz = awful.layout.suit.fair.horizontal,
tiled = awful.layout.suit.tile,
+ tiled_horiz = awful.layout.suit.tile.top,
floating = awful.layout.suit.floating,
maximised = awful.layout.suit.max
}
layouts.tiled,
layouts.maximised,
layouts.floating,
+ layouts.default_horiz,
+ layouts.tiled_horiz,
}
-- }}}
end
end
-local function centre_mouse_on_area(a)
- mouse.coords({
- x = a.x + a.width/2,
- y = a.y + a.height/2,
- }, true)
+local function move_mouse_to_area(a)
+ local coords = mouse.coords()
+ if (coords.x < a.x or
+ coords.x > (a.x+a.width) or
+ coords.y < a.y or
+ coords.y > (a.y+a.height)) then
+
+ mouse.coords({
+ x = a.x + a.width/2,
+ y = a.y + a.height/2,
+ }, true)
+ end
end
-- }}}
-- forced_width = 4,
-- widget = wibox.widget.separator
--}
-local spacer = wibox.widget.textbox()
-spacer:set_text(" │ ")
+local function make_spacer(text)
+ local spacer = wibox.widget.textbox()
+ spacer:set_text(text or " │ ")
+ return spacer
+end
-- Keyboard map indicator and switcher
mykeyboardlayout = awful.widget.keyboardlayout()
clocksarray = clocksarray.get_clocksarray("%a %d %b %H:%M:%S %Z", {
["NZ"] = "Pacific/Auckland",
["DE"] = "Europe/Berlin"
- }, spacer)
+ }, make_spacer())
-- Create a wibox for each screen and add it
local taglist_buttons = gears.table.join(
-- Add widgets to the wibox
local right_widgets = gears.table.join(clocksarray, {
- spacer,
- --spacing = 4,
- --spacing_widget = spacer,
+ make_spacer(" "),
+ wibox.widget.systray(),
s.mylayoutbox,
layout = wibox.layout.fixed.horizontal,
})
if s == screen.primary then
right_widgets = gears.table.join({
- wibox.widget.systray(),
- spacer,
+ make_spacer(" "),
ccwidgets.btc_widget,
- spacer,
+ make_spacer(),
ccwidgets.eth_widget,
- spacer,
+ make_spacer(),
lain_bat.widget,
- spacer,
+ make_spacer(),
}, right_widgets)
end
s.mywibox:setup {
layout = wibox.layout.align.horizontal,
{ -- Left widgets
- spacing = 4,
- spacing_widget = spacer,
layout = wibox.layout.fixed.horizontal,
--s.namebox,
s.mytaglist,
+ make_spacer(" "),
s.mypromptbox,
},
s.mytasklist, -- Middle widget
local function initialise_to_autorandr_profile()
local profile
+ profile = nil
local function process_line(line)
if profile then return end
- local match = string.match(line, "^([^%s]+) %(detected%)$")
+ local match = string.match(line, "^([^%s]+) %(detected%)")
if match then
profile = match
end
end
awful.spawn.with_line_callback('autorandr', {
- stderr = process_line,
+ stdout = process_line,
output_done = output_done,
exit = handle_exit
})
selected = true,
exec_once = { terminal .. " -name irc -e env MOSH_TITLE_NOPREFIX=true mosh -4 -- irc-host tmux new -As irc irssi" },
instance = { "irc" },
- targets = { "catalyst/eDP1", "mtvic/eDP1" },
+ targets = { "catalyst/eDP1", "mtvic/eDP1", "lehel/DisplayPort-2" },
},
{
name = "[m]",
selected = true,
exec_once = { "revolt" },
instance = { "Revolt" },
- targets = { "catalyst/eDP1", "mtvic/eDP1" },
+ targets = { "catalyst/eDP1", "mtvic/eDP1", "lehel/DisplayPort-2" },
},
{
name = "dflt",
layout = layouts.default,
exec_once = { "thunderbird" },
class = { "Thunderbird" },
- targets = { "catalyst/HDMI1", "mtvic/eDP1" },
+ targets = { "catalyst/HDMI1", "mtvic/eDP1", "lehel/DisplayPort-1" },
},
{
name = "chr",
layout = layouts.default,
exec_once = { "chromium" },
class = { "Chromium" },
- targets = { "catalyst/HDMI1", "mtvic/eDP1" },
+ targets = { "catalyst/HDMI1", "mtvic/eDP1", "lehel/DisplayPort-1" },
},
{
name = "ffx",
layout = layouts.default,
exec_once = { "firefox" },
class = { "Firefox" },
- targets = { "catalyst/HDMI1", "mtvic/eDP1" },
+ targets = { "catalyst/HDMI1", "mtvic/eDP1", "lehel/DisplayPort-1" },
},
})
bg_cursor = '#ff0000',
textbox = widget,
history_path = awful.util.get_cache_dir() .. "/history",
+ completion_callback = awful.completion.shell,
hooks = {
-- Replace the 'normal' Return with a custom one
{{ }, 'Return', function(command)
awful.key({ modkey, }, "d", th.delete_tag,
{description = "delete the current tag", group = "tag"}),
awful.key({ modkey, "Shift", }, "a", function()
- move_to_new_tag(nil,nil,true,true,true)
+ th.move_to_new_tag(nil,nil,true,true,true)
end,
{description = "add a volatile tag with the focused client", group = "tag"}),
awful.key({ modkey, "Shift", "Control" }, "a", function()
- move_to_new_tag(nil,nil,false,true,true)
+ th.move_to_new_tag(nil,nil,false,true,true)
end,
{description = "add a permanent tag with the focused client", group = "tag"}),
awful.key({ modkey, "Mod1" }, "a", th.copy_tag,
{ rule = { class = "URxvt" },
properties = { size_hints_honor = false, }
},
- { rule = { instance = "irc" },
+ { rule = { instance = "irc" },
callback = move_to_tag_by_name(nil, "irc"),
},
{ rule = { class = "Revolt" },
{ rule_any = { class = {
"MuPDF",
"Wicd-client.py",
+ "Gxmessage",
+ "Pinentry"
}},
properties = { floating = true,
+ maximized = false,
focus = true,
- placement = function(c)
- float_client_in_the_middle_with_margins(c, 50, 25)
- end,
+ placement = awful.placement.centered,
},
},
- { rule_any = { class = {
- "Gscan2pdf",
- "Gimp",
- },
- instance = {
- "libreoffice",
- }
- },
- properties = { new_tag = {
- layout = layouts.maximised,
- volatile = true,
- },
- switchtotag = true,
+ { rule_any = { instance = {
+ "tridactyl-edit",
+ "libreoffice"
+ }},
+ properties = { floating = true,
+ maximized = false,
focus = true,
+ placement = awful.placement.centered,
},
},
+-- { rule_any = { class = {
+-- "Gscan2pdf",
+-- "Gimp",
+-- },
+-- instance = {
+-- "libreoffice",
+-- }
+-- },
+-- properties = { new_tag = {
+-- layout = layouts.maximised,
+-- volatile = true,
+-- },
+-- switchtotag = true,
+-- focus = true,
+-- },
+-- },
--XX-- { rule = { class = "Gscan2pdf" },
--XX-- properties = {
--XX-- switchtotag = true
}, context) then
gears.timer.delayed_call(function()
-- we need a delayed call so that we execute *after layout changes
- centre_mouse_on_area(client.focus)
+ if hints.raise and c == client.focus and client.focus:isvisible() then
+ move_mouse_to_area(client.focus)
+ end
end)
- else
- dbg.dump(c, context, hints)
end
end)