madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

full dynamic tagging and wiki added
authorluke bonham <dadasignificanulla@gmail.com>
Thu, 19 Sep 2013 18:51:28 +0000 (20:51 +0200)
committercopycat-killer <dada@archlinux.info>
Wed, 5 Aug 2015 11:30:30 +0000 (13:30 +0200)
.gitmodules [new file with mode: 0644]
util/init.lua
widgets/borderbox.lua
wiki [new submodule]

diff --git a/.gitmodules b/.gitmodules
new file mode 100644 (file)
index 0000000..350c0f8
--- /dev/null
@@ -0,0 +1,3 @@
+[submodule "wiki"]
+       path = wiki
+       url = https://github.com/copycat-killer/lain.wiki.git
index 4e82cd74b555c5314de8a167f81cf78618a9b9e8..73818b696ca600b2c450238a053e56c22688fd20 100644 (file)
@@ -163,7 +163,22 @@ function util.tag_view_nonempty(direction, sc)
    end
 end
 
--- Dynamically rename the current tag you have focused.
+-- {{{ Dynamic tagging
+--
+-- Add a new tag
+function util.prompt_add_tag(mypromptbox)
+    awful.prompt.run({prompt="New tag name: "}, mypromptbox[mouse.screen].widget,
+    function(text)
+        if text:len() > 0 then
+            props = { selected = true }
+            tag = awful.tag.add(new_name, props)
+            tag.name = text
+            tag:emit_signal("property::name")
+        end
+    end)
+end
+
+-- Rename current tag
 function util.prompt_rename_tag(mypromptbox)
     local tag = awful.tag.selected(mouse.screen)
     awful.prompt.run({prompt="Rename tag: "}, mypromptbox[mouse.screen].widget,
@@ -175,12 +190,20 @@ function util.prompt_rename_tag(mypromptbox)
     end)
 end
 
+-- Delete current tag (if empty)
+-- Any rule set on the tag shall be broken
+function util.remove_tag()
+    local tag = awful.tag.selected(mouse.screen)
+    local prevtag = awful.tag.gettags(mouse.screen)[awful.tag.getidx(tag) - 1]
+    awful.tag.delete(tag, prevtag)
+end
+--
+-- }}}
+
 -- On the fly useless gaps change
 function util.useless_gaps_resize(thatmuch)
-    if beautiful.useless_gap_width then
-        beautiful.useless_gap_width = tonumber(beautiful.useless_gap_width) + thatmuch
-        awful.layout.arrange(mouse.screen)
-    end
+    beautiful.useless_gap_width = tonumber(beautiful.useless_gap_width) + thatmuch
+    awful.layout.arrange(mouse.screen)
 end
 
 return setmetatable(util, { __index = wrequire })
index 150c1c3ca28ab2676879d717ef6a0d2e6e5bdaaa..c251ea8d8fdaf989c8edc9a65fc3d71edddaccf7 100644 (file)
@@ -15,7 +15,7 @@ local setmetatable = setmetatable
 local borderbox = {}
 
 local function worker(relbox, s, args)
-    local where = args.position or 'above'
+    local where = args.position or 'top'
     local color = args.color or '#FFFFFF'
     local size = args.size or 1
     local box = nil
@@ -24,14 +24,14 @@ local function worker(relbox, s, args)
         bg = color
     }
 
-    if where == 'above'
+    if where == 'top'
     then
         wiboxarg.width = relbox.width
         wiboxarg.height = size
         box = wibox(wiboxarg)
         box.x = relbox.x
         box.y = relbox.y - size
-    elseif where == 'below'
+    elseif where == 'bottom'
     then
         wiboxarg.width = relbox.width
         wiboxarg.height = size
diff --git a/wiki b/wiki
new file mode 160000 (submodule)
index 0000000..1368b03
--- /dev/null
+++ b/wiki
@@ -0,0 +1 @@
+Subproject commit 1368b031aa5d4b29a30c8f24b4bebde2f9d08ece