From: copycat-killer Date: Wed, 25 Jan 2017 18:48:45 +0000 (+0100) Subject: Merge branch 'Veratil-awesome-v4-layout-fix' X-Git-Url: https://git.madduck.net/etc/awesome.git/commitdiff_plain/176f4d75e1749df77aa8929cb79b4865c2fddaa5?hp=434d5f32aa3a19763bf6bb2eed40f881fd918309 Merge branch 'Veratil-awesome-v4-layout-fix' --- diff --git a/layout/cascade.lua b/layout/cascade.lua index cc3f50f..2b02c00 100644 --- a/layout/cascade.lua +++ b/layout/cascade.lua @@ -8,7 +8,7 @@ --]] -local tag = require("awful.tag") +local scr = require("awful.screen") local tonumber = tonumber local cascade = { @@ -31,6 +31,9 @@ local function do_cascade(p, tiling) -- Screen. local wa = p.workarea local cls = p.clients + local ta = scr.focused().selected_tag + + if not ta then return end if #cls <= 0 then return end @@ -44,7 +47,7 @@ local function do_cascade(p, tiling) if cascade.nmaster > 0 then num_c = cascade.nmaster else - num_c = tag.master_count + num_c = ta.master_count end -- Opening a new window will usually force all existing windows to @@ -89,7 +92,7 @@ local function do_cascade(p, tiling) if cascade.tile.mwfact > 0 then mwfact = cascade.tile.mwfact else - mwfact = tag.getmwfact(t) + mwfact = ta.master_width_factor end -- Make slave windows overlap main window? Do this if ncol is 1. @@ -97,7 +100,7 @@ local function do_cascade(p, tiling) if cascade.tile.ncol > 0 then overlap_main = cascade.tile.ncol else - overlap_main = tag.column_count + overlap_main = ta.column_count end -- Minimum space for slave windows? See cascade.tile.lua. @@ -105,7 +108,7 @@ local function do_cascade(p, tiling) if cascade.tile.nmaster > 0 then num_c = cascade.tile.nmaster else - num_c = tag.master_count + num_c = ta.master_count end local how_many = (#cls - 1 >= num_c and (#cls - 1)) or num_c diff --git a/layout/centerwork.lua b/layout/centerwork.lua index a79314e..a8d9a96 100644 --- a/layout/centerwork.lua +++ b/layout/centerwork.lua @@ -10,9 +10,9 @@ --]] -local tag = require("awful.tag") local tonumber = tonumber local math = { floor = math.floor } +local scr = require("awful.screen") local centerwork = { name = "centerwork", @@ -23,6 +23,9 @@ local function do_centerwork(p, orientation) -- Screen. local wa = p.workarea local cls = p.clients + local ta = scr.focused().selected_tag + + if not ta then return end if #cls <= 0 then return end @@ -33,7 +36,7 @@ local function do_centerwork(p, orientation) local g = {} -- Main column, fixed width and height. - local mwfact = tag.object.get_master_width_factor(t) + local mwfact = ta.master_width_factor local mainhei = math.floor(wa.height * mwfact) local mainwid = math.floor(wa.width * mwfact) local slavewid = wa.width - mainwid diff --git a/layout/termfair.lua b/layout/termfair.lua index 6d24460..26a7130 100644 --- a/layout/termfair.lua +++ b/layout/termfair.lua @@ -9,7 +9,7 @@ --]] -local tag = require("awful.tag") +local scr = require("awful.screen") local math = { ceil = math.ceil, floor = math.floor, max = math.max } @@ -22,6 +22,9 @@ local function do_fair(p, orientation) -- Screen. local wa = p.workarea local cls = p.clients + local ta = scr.focused().selected_tag + + if not ta then return end if #cls <= 0 then return end @@ -50,12 +53,12 @@ local function do_fair(p, orientation) if #cls <= 0 then return end -- How many vertical columns? Read from nmaster on the tag. - local num_x = tonumber(termfair.nmaster) or tag.master_count - local ncol = tonumber(termfair.ncol) or tag.column_count - local width = math.floor((wa.width - (num_x + 1)*useless_gap) / num_x) + local num_x = tonumber(termfair.nmaster) or ta.master_count + local ncol = tonumber(termfair.ncol) or ta.column_count if num_x <= 2 then num_x = 2 end if ncol <= 1 then ncol = 1 end + local width = math.floor((wa.width - (num_x + 1)*useless_gap) / num_x) local num_y = math.max(math.ceil(#cls / num_x), ncol) local height = math.floor((wa.height - (num_y + 1)*useless_gap) / num_y) @@ -143,13 +146,14 @@ local function do_fair(p, orientation) -- +---+---+---+ +---+---+---+ -- How many vertical columns? Read from nmaster on the tag. - local num_x = tonumber(termfair.center.nmaster) or tag.master_count - local ncol = tonumber(termfair.center.ncol) or tag.column_count - local width = math.floor((wa.width - (num_x + 1)*useless_gap) / num_x) + local num_x = tonumber(termfair.center.nmaster) or ta.master_count + local ncol = tonumber(termfair.center.ncol) or ta.column_count if num_x <= 2 then num_x = 2 end if ncol <= 1 then ncol = 1 end + local width = math.floor((wa.width - (num_x + 1)*useless_gap) / num_x) + if #cls < num_x then -- Less clients than the number of columns, let's center it! local offset_x = wa.x + (wa.width - #cls*width - (#cls - 1)*useless_gap) / 2