1
0
Fork 0
mirror of https://github.com/lcpz/awesome-copycats.git synced 2024-10-22 20:41:22 +00:00

removed custom layouts: they're integrated in vain now

This commit is contained in:
luke bonham 2013-08-19 20:07:15 +02:00
parent be3acd09e9
commit 6a6ae5b6d5
14 changed files with 76 additions and 525 deletions

View file

@ -24,7 +24,6 @@ Notable features:
- PNG taskbar - PNG taskbar
- No borders when there's only one visible client - No borders when there's only one visible client
- Powerful volume bar - Powerful volume bar
- Custom layouts
- Freedesktop menu - Freedesktop menu
- By direction client focus (like in bspwm) - By direction client focus (like in bspwm)
@ -69,8 +68,6 @@ Fonts are Terminus (Multicolor, Powerarrow Darker) and Tamsyn (other ones).
Blackburn and Dremora use Icons_: **if you're running Debian/Ubuntu**, be sure to have bitmaps enabled (1_ 2_). Blackburn and Dremora use Icons_: **if you're running Debian/Ubuntu**, be sure to have bitmaps enabled (1_ 2_).
If you have any ``surface.lua`` problem, be sure to have ``lua`` and ``lua-lgi`` up to date.
Except Multicolor and Powerarrow Darker, every theme has a colorscheme_ and uses Yawn_. Except Multicolor and Powerarrow Darker, every theme has a colorscheme_ and uses Yawn_.
Blackburn and Holo use png topbars, supported screen widths are: Blackburn and Holo use png topbars, supported screen widths are:
@ -85,13 +82,18 @@ Blackburn and Holo use png topbars, supported screen widths are:
1920 1920
2560 2560
if your screen is unsupported, you have to create a proper topbar, and put it into ``themes/$THEME/icons/topbar``. Feel free to send me your custom sized bar, I'll add it. if your screen is unsupported, you have to create a proper topbar and put it into ``themes/$THEME/icons/topbar``. You can send me your custom sized bar, I'll add it.
Freedesktop menu in use is just an example: feel free to modify ``freedesktop/freedesktop.lua``. Freedesktop menu in use is just an example: feel free to modify ``freedesktop/freedesktop.lua``.
If you happen to get an error involving ``/home fs widget``, replace every occurrence of ``/home`` with ``/``, or some other argument defined in vicious readme_, section ``vicious.widgets.fs``. If you happen to get an error involving ``/home fs widget``, replace every occurrence of ``/home`` with ``/``, or some other argument defined in vicious readme_, section ``vicious.widgets.fs``.
**Have any suggestions?** Did you see some great stuff and you want me to put my paws on it? Feel free to email me, it might just be the next copycat! Instead, if you happen to get any ``surface.lua`` problem, be sure to have ``lua`` and ``lua-lgi`` up to date.
Also be sure to set your music dir in ``scripts/mpdinfo``, and to have ``imagemagick`` and ``notify-send`` installed.
**Have any suggestions?** Did you see some great stuff and you'd like me to put my paws on it? Then tell me! It might just be the next copycat.
Author Author
-------- --------

View file

@ -1,110 +0,0 @@
---------------------------------------------------------------------------
-- @author Julien Danjou <julien@danjou.info>
-- @copyright 2008 Julien Danjou
-- @release v3.4.11
---------------------------------------------------------------------------
-- Grab environment we need
local ipairs = ipairs
local math = math
module("layouts.fairgaps")
local function fair(p, orientation)
local wa = p.workarea
local cls = p.clients
if #cls > 0 then
local cells = math.ceil(math.sqrt(#cls))
local strips = math.ceil(#cls / cells)
local cell = 0
local strip = 0
for k, c in ipairs(cls) do
local g = {}
if ( orientation == "east" and #cls > 2 )
or ( orientation == "south" and #cls <= 2 ) then
if #cls < (strips * cells) and strip == strips - 1 then
g.width = wa.width / (cells - ((strips * cells) - #cls))
else
g.width = wa.width / cells
end
g.height = wa.height / strips
g.x = wa.x + cell * g.width
g.y = wa.y + strip * g.height
else
if #cls < (strips * cells) and strip == strips - 1 then
g.height = wa.height / (cells - ((strips * cells) - #cls))
else
g.height = wa.height / cells
end
g.width = wa.width / strips
g.x = wa.x + strip * g.width
g.y = wa.y + cell * g.height
end
-- Useless gap.
useless_gap = 25
if useless_gap > 0
then
-- Top and left clients are shrinked by two steps and
-- get moved away from the border. Other clients just
-- get shrinked in one direction.
top = false
left = false
if g.x == wa.x then
top = true
end
if g.y == wa.y then
left = true
end
if top then
g.width = g.width - 2 * useless_gap
g.x = g.x + useless_gap
else
g.width = g.width - useless_gap
end
if left then
g.height = g.height - 2 * useless_gap
g.y = g.y + useless_gap
else
g.height = g.height - useless_gap
end
end
-- End of useless gap.
c:geometry(g)
cell = cell + 1
if cell == cells then
cell = 0
strip = strip + 1
end
end
end
end
--- Horizontal fair layout.
-- @param screen The screen to arrange.
horizontal = {}
horizontal.name = "fairhgaps"
function horizontal.arrange(p)
return fair(p, "east")
end
-- Vertical fair layout.
-- @param screen The screen to arrange.
name = "fairvgaps"
function arrange(p)
return fair(p, "south")
end

View file

@ -1,4 +0,0 @@
require("layouts.fairgaps")
require("layouts.spiralgaps")
require("layouts.tilegaps")
module("layouts")

View file

@ -1,102 +0,0 @@
---------------------------------------------------------------------------
-- @author Uli Schlachter &lt;psychon@znc.in&gt;
-- @copyright 2009 Uli Schlachter
-- @copyright 2008 Julien Danjou
-- @release v3.4.11
---------------------------------------------------------------------------
-- Grab environment we need
local ipairs = ipairs
module("layouts.spiralgaps")
local function spiral(p, spiral)
local wa = p.workarea
local cls = p.clients
local n = #cls
local static_wa = wa
for k, c in ipairs(cls) do
if k < n then
if k % 2 == 0 then
wa.height = wa.height / 2
else
wa.width = wa.width / 2
end
end
if k % 4 == 0 and spiral then
wa.x = wa.x - wa.width
elseif k % 2 == 0 or
(k % 4 == 3 and k < n and spiral) then
wa.x = wa.x + wa.width
end
if k % 4 == 1 and k ~= 1 and spiral then
wa.y = wa.y - wa.height
elseif k % 2 == 1 and k ~= 1 or
(k % 4 == 0 and k < n and spiral) then
wa.y = wa.y + wa.height
end
local wa2 = {}
wa2.x = wa.x
wa2.y = wa.y
wa2.height = wa.height
wa2.width = wa.width
-- Useless gap.
useless_gap = 25
if useless_gap > 0
then
-- Top and left clients are shrinked by two steps and
-- get moved away from the border. Other clients just
-- get shrinked in one direction.
top = false
left = false
if wa2.y == static_wa.y then
top = true
end
if wa2.x == static_wa.x then
left = true
end
if top then
wa2.height = wa2.height - 2 * useless_gap
wa2.y = wa2.y + useless_gap
else
wa2.height = wa2.height - useless_gap
end
if left then
wa2.width = wa2.width - 2 * useless_gap
wa2.x = wa2.x + useless_gap
else
wa2.width = wa2.width - useless_gap
end
end
-- End of useless gap.
c:geometry(wa2)
end
end
--- Dwindle layout
dwindle = {}
dwindle.name = "dwindlegaps"
function dwindle.arrange(p)
return spiral(p, false)
end
--- Spiral layout
name = "spiralgaps"
function arrange(p)
return spiral(p, true)
end
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80

View file

@ -1,220 +0,0 @@
---------------------------------------------------------------------------
-- @author Donald Ephraim Curtis <dcurtis@cs.uiowa.edu>
-- @author Julien Danjou <julien@danjou.info>
-- @copyright 2009 Donald Ephraim Curtis
-- @copyright 2008 Julien Danjou
-- @release v3.4.11
---------------------------------------------------------------------------
-- Grab environment we need
local ipairs = ipairs
local math = math
local tag = require("awful.tag")
module("layouts.tilegaps")
local function tile_group(cls, wa, orientation, fact, group)
-- get our orientation right
local height = "height"
local width = "width"
local x = "x"
local y = "y"
if orientation == "top" or orientation == "bottom" then
height = "width"
width = "height"
x = "y"
y = "x"
end
-- make this more generic (not just width)
available = wa[width] - (group.coord - wa[x])
-- find our total values
local total_fact = 0
local min_fact = 1
local size = group.size
for c = group.first,group.last do
-- determine the width/height based on the size_hint
local i = c - group.first +1
local size_hints = cls[c].size_hints
local size_hint = size_hints["min_"..width] or size_hints["base_"..width] or 0
size_hint = size_hint + cls[c].border_width*2
size = math.max(size_hint, size)
-- calculate the height
if not fact[i] then
fact[i] = min_fact
else
min_fact = math.min(fact[i],min_fact)
end
total_fact = total_fact + fact[i]
end
size = math.min(size, available)
local coord = wa[y]
local geom = {}
local used_size = 0
local unused = wa[height]
local stat_coord = wa[x]
--stat_coord = size
for c = group.first,group.last do
local i = c - group.first +1
geom[width] = size
geom[height] = math.floor(unused * fact[i] / total_fact)
geom[x] = group.coord
geom[y] = coord
coord = coord + geom[height]
unused = unused - geom[height]
total_fact = total_fact - fact[i]
used_size = math.max(used_size, geom[width])
-- Useless gap.
useless_gap = 25
if useless_gap > 0
then
-- Top and left clients are shrinked by two steps and
-- get moved away from the border. Other clients just
-- get shrinked in one direction.
top = false
left = false
if geom[y] == wa[y] then
top = true
end
if geom[x] == 0 or geom[x] == wa[x] then
left = true
end
if top then
geom[height] = geom[height] - 2 * useless_gap
geom[y] = geom[y] + useless_gap
else
geom[height] = geom[height] - useless_gap
end
if left then
geom[width] = geom[width] - 2 * useless_gap
geom[x] = geom[x] + useless_gap
else
geom[width] = geom[width] - useless_gap
end
end
-- End of useless gap.
geom = cls[c]:geometry(geom)
end
return used_size
end
local function tile(param, orientation)
local t = tag.selected(param.screen)
orientation = orientation or "right"
-- this handles are different orientations
local height = "height"
local width = "width"
local x = "x"
local y = "y"
if orientation == "top" or orientation == "bottom" then
height = "width"
width = "height"
x = "y"
y = "x"
end
local cls = param.clients
local nmaster = math.min(tag.getnmaster(t), #cls)
local nother = math.max(#cls - nmaster,0)
local mwfact = tag.getmwfact(t)
local wa = param.workarea
local ncol = tag.getncol(t)
local data = tag.getdata(t).windowfact
if not data then
data = {}
tag.getdata(t).windowfact = data
end
local coord = wa[x]
local place_master = true
if orientation == "left" or orientation == "top" then
-- if we are on the left or top we need to render the other windows first
place_master = false
end
-- this was easier than writing functions because there is a lot of data we need
for d = 1,2 do
if place_master and nmaster > 0 then
local size = wa[width]
if nother > 0 then
size = math.min(wa[width] * mwfact, wa[width] - (coord - wa[x]))
end
if not data[0] then
data[0] = {}
end
coord = coord + tile_group(cls, wa, orientation, data[0], {first=1, last=nmaster, coord = coord, size = size})
end
if not place_master and nother > 0 then
local last = nmaster
-- we have to modify the work area size to consider left and top views
local wasize = wa[width]
if nmaster > 0 and (orientation == "left" or orientation == "top") then
wasize = wa[width] - wa[width]*mwfact
end
for i = 1,ncol do
-- Try to get equal width among remaining columns
local size = math.min( (wasize - (coord - wa[x])) / (ncol - i + 1) )
local first = last + 1
last = last + math.floor((#cls - last)/(ncol - i + 1))
-- tile the column and update our current x coordinate
if not data[i] then
data[i] = {}
end
coord = coord + tile_group(cls, wa, orientation, data[i], { first = first, last = last, coord = coord, size = size })
end
end
place_master = not place_master
end
end
right = {}
right.name = "tilegaps"
right.arrange = tile
--- The main tile algo, on left.
-- @param screen The screen number to tile.
left = {}
left.name = "tileleftgaps"
function left.arrange(p)
return tile(p, "left")
end
--- The main tile algo, on bottom.
-- @param screen The screen number to tile.
bottom = {}
bottom.name = "tilebottomgaps"
function bottom.arrange(p)
return tile(p, "bottom")
end
--- The main tile algo, on top.
-- @param screen The screen number to tile.
top = {}
top.name = "tiletopgaps"
function top.arrange(p)
return tile(p, "top")
end
arrange = right.arrange
name = right.name

View file

@ -18,7 +18,6 @@ local naughty = require("naughty")
local vicious = require("vicious") local vicious = require("vicious")
local scratch = require("scratch") local scratch = require("scratch")
local yawn = require("yawn") local yawn = require("yawn")
local layouts = require("layouts")
-- }}} -- }}}
@ -102,7 +101,6 @@ layouts =
awful.layout.suit.fair, -- 3 awful.layout.suit.fair, -- 3
awful.layout.suit.tile.left, -- 4 awful.layout.suit.tile.left, -- 4
awful.layout.suit.tile.top, -- 5 awful.layout.suit.tile.top, -- 5
layouts.tilegaps, -- 6
} }
-- }}} -- }}}

View file

@ -18,11 +18,10 @@ local naughty = require("naughty")
local vicious = require("vicious") local vicious = require("vicious")
local scratch = require("scratch") local scratch = require("scratch")
local yawn = require("yawn") local yawn = require("yawn")
local layouts = require("layouts")
-- }}} -- }}}
-- {{{ Autostart programs -- {{{ Autostart applications
function run_once(cmd) function run_once(cmd)
findme = cmd findme = cmd
@ -104,7 +103,6 @@ layouts =
awful.layout.suit.fair, -- 3 awful.layout.suit.fair, -- 3
awful.layout.suit.tile.left, -- 4 awful.layout.suit.tile.left, -- 4
awful.layout.suit.tile.top, -- 5 awful.layout.suit.tile.top, -- 5
layouts.tilegaps, -- 6
} }
-- }}} -- }}}

View file

@ -18,7 +18,6 @@ local naughty = require("naughty")
local vicious = require("vicious") local vicious = require("vicious")
local scratch = require("scratch") local scratch = require("scratch")
local yawn = require("yawn") local yawn = require("yawn")
local layouts = require("layouts")
-- }}} -- }}}
@ -102,7 +101,6 @@ layouts =
awful.layout.suit.fair, -- 3 awful.layout.suit.fair, -- 3
awful.layout.suit.tile.left, -- 4 awful.layout.suit.tile.left, -- 4
awful.layout.suit.tile.top, -- 5 awful.layout.suit.tile.top, -- 5
layouts.tilegaps, -- 6
} }
-- }}} -- }}}

View file

@ -8,20 +8,19 @@
-- {{{ Required Libraries -- {{{ Required Libraries
gears = require("gears") local gears = require("gears")
awful = require("awful") local awful = require("awful")
awful.rules = require("awful.rules") awful.rules = require("awful.rules")
awful.autofocus = require("awful.autofocus") awful.autofocus = require("awful.autofocus")
wibox = require("wibox") local wibox = require("wibox")
beautiful = require("beautiful") local beautiful = require("beautiful")
naughty = require("naughty") local naughty = require("naughty")
vicious = require("vicious") local vicious = require("vicious")
scratch = require("scratch") local scratch = require("scratch")
layouts = require("layouts")
-- }}} -- }}}
-- {{{ Autostart -- {{{ Autostart applications
function run_once(cmd) function run_once(cmd)
findme = cmd findme = cmd
@ -113,7 +112,6 @@ layouts =
awful.layout.suit.max, -- 10 awful.layout.suit.max, -- 10
--awful.layout.suit.max.fullscreen, -- 11 --awful.layout.suit.max.fullscreen, -- 11
--awful.layout.suit.magnifier -- 12 --awful.layout.suit.magnifier -- 12
layouts.tilegaps, -- 13
} }
-- }}} -- }}}

View file

@ -8,20 +8,19 @@
-- {{{ Required Libraries -- {{{ Required Libraries
gears = require("gears") local gears = require("gears")
awful = require("awful") local awful = require("awful")
awful.rules = require("awful.rules") awful.rules = require("awful.rules")
awful.autofocus = require("awful.autofocus") awful.autofocus = require("awful.autofocus")
wibox = require("wibox") local wibox = require("wibox")
beautiful = require("beautiful") local beautiful = require("beautiful")
naughty = require("naughty") local naughty = require("naughty")
vicious = require("vicious") local vicious = require("vicious")
scratch = require("scratch") local scratch = require("scratch")
layouts = require("layouts")
-- }}} -- }}}
-- {{{ Autostart -- {{{ Autostart applications
function run_once(cmd) function run_once(cmd)
findme = cmd findme = cmd
@ -117,7 +116,6 @@ layouts =
awful.layout.suit.max, -- 10 awful.layout.suit.max, -- 10
--awful.layout.suit.max.fullscreen, -- 11 --awful.layout.suit.max.fullscreen, -- 11
--awful.layout.suit.magnifier -- 12 --awful.layout.suit.magnifier -- 12
layouts.tilegaps, -- 13
} }
-- }}} -- }}}

View file

@ -18,7 +18,6 @@ local naughty = require("naughty")
local vicious = require("vicious") local vicious = require("vicious")
local scratch = require("scratch") local scratch = require("scratch")
local yawn = require("yawn") local yawn = require("yawn")
local layouts = require("layouts")
-- }}} -- }}}
@ -102,9 +101,6 @@ layouts =
awful.layout.suit.tile, -- 2 awful.layout.suit.tile, -- 2
awful.layout.suit.fair, -- 3 awful.layout.suit.fair, -- 3
awful.layout.suit.fair.horizontal, -- 4 awful.layout.suit.fair.horizontal, -- 4
layouts.tilegaps, -- 5
layouts.fairgaps, -- 6
layouts.spiralgaps, -- 7
} }
-- }}} -- }}}

View file

@ -8,16 +8,15 @@
-- {{{ Required Libraries -- {{{ Required Libraries
gears = require("gears") local gears = require("gears")
awful = require("awful") local awful = require("awful")
awful.rules = require("awful.rules") awful.rules = require("awful.rules")
awful.autofocus = require("awful.autofocus") awful.autofocus = require("awful.autofocus")
wibox = require("wibox") local wibox = require("wibox")
beautiful = require("beautiful") local beautiful = require("beautiful")
naughty = require("naughty") local naughty = require("naughty")
vicious = require("vicious") local vicious = require("vicious")
scratch = require("scratch") local scratch = require("scratch")
layouts = require("layouts")
-- }}} -- }}}
@ -107,9 +106,6 @@ layouts =
awful.layout.suit.spiral, -- 8 awful.layout.suit.spiral, -- 8
awful.layout.suit.spiral.dwindle, -- 9 awful.layout.suit.spiral.dwindle, -- 9
awful.layout.suit.max, -- 10 awful.layout.suit.max, -- 10
--awful.layout.suit.max.fullscreen, -- 11
--awful.layout.suit.magnifier -- 12
layouts.tilegaps, -- 13
} }
-- }}} -- }}}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

View file

@ -20,7 +20,7 @@ theme.fg_urgent = "#000000"
theme.bg_urgent = "#FFFFFF" theme.bg_urgent = "#FFFFFF"
theme.border_width = "1" theme.border_width = "1"
theme.border_normal = "#242424" theme.border_normal = "#242424"
theme.border_focus = "#999999" theme.border_focus = "#EBEBFF"
theme.taglist_fg_focus = "#EBEBFF" theme.taglist_fg_focus = "#EBEBFF"
theme.taglist_bg_focus = "#3D3D3D" theme.taglist_bg_focus = "#3D3D3D"
theme.menu_height = "16" theme.menu_height = "16"
@ -28,9 +28,9 @@ theme.menu_width = "140"
theme.ocol = "<span color='" .. theme.fg_normal .. "'>" theme.ocol = "<span color='" .. theme.fg_normal .. "'>"
theme.ccol = "</span>" theme.ccol = "</span>"
theme.tasklist_sticky = theme.ocol .. " [S]" .. theme.ccol theme.tasklist_sticky = theme.ocol .. "[S]" .. theme.ccol
theme.tasklist_ontop = theme.ocol .. " [T]" .. theme.ccol theme.tasklist_ontop = theme.ocol .. "[T]" .. theme.ccol
theme.tasklist_floating = theme.ocol .. " [F]" .. theme.ccol theme.tasklist_floating = theme.ocol .. "[F]" .. theme.ccol
theme.tasklist_maximized_horizontal = theme.ocol .. "[M] " .. theme.ccol theme.tasklist_maximized_horizontal = theme.ocol .. "[M] " .. theme.ccol
theme.tasklist_maximized_vertical = "" theme.tasklist_maximized_vertical = ""
theme.tasklist_disable_icon = true theme.tasklist_disable_icon = true
@ -55,13 +55,16 @@ theme.layout_txt_fullscreen = "[F]"
theme.layout_txt_magnifier = "[M]" theme.layout_txt_magnifier = "[M]"
theme.layout_txt_floating = "[*]" theme.layout_txt_floating = "[*]"
theme.layout_txt_tilegaps = "[tg]" -- vain related
theme.layout_txt_tileleftgaps = "[tlg]" theme.border_focus_highprio = "#FF0000"
theme.layout_txt_tilebottomgaps = "[tbg]" theme.border_normal_highprio = "#A03333"
theme.layout_txt_tiletopgaps = "[ttg]" theme.border_focus_lowprio = "#3333FF"
theme.layout_txt_fairhgaps = "[fhg]" theme.border_normal_lowprio = "#333366"
theme.layout_txt_fairvgaps = "[fvg]" theme.useless_gap_width = "6"
theme.layout_txt_spiralgaps = "[spg]" theme.layout_txt_uselesstile = "[ut]"
theme.layout_txt_dwindlegaps = "[dwg]" theme.layout_txt_uselessfairv = "[ufv]"
theme.layout_txt_uselessfairh = "[ufh]"
theme.layout_txt_termfair = "[termfair]"
theme.layout_txt_uselessdwindle = "[ud]"
return theme return theme