diff options
author | Raphael McSinyx <vn.mcsinyx@gmail.com> | 2017-02-09 10:34:15 +0700 |
---|---|---|
committer | Raphael McSinyx <vn.mcsinyx@gmail.com> | 2017-02-09 10:34:15 +0700 |
commit | a295db54fbe539abda4542195fa3b5781d13806d (patch) | |
tree | edefbd95590f1976419deaff71ae827e2c4e7410 | |
parent | 3722d3e087637b952e34dfd326b0b4d362705bef (diff) | |
download | dotfiles-a295db54fbe539abda4542195fa3b5781d13806d.tar.gz |
Update 20170209. Highlights: awesome 4.0, gruvbox dark -> light
72 files changed, 717 insertions, 833 deletions
diff --git a/.gitmodules b/.gitmodules index e5f0c2a..8f25357 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,7 @@ [submodule "gruvbox"] path = vim/.vim/pack/gruvbox - url = https://github.com/McSinyx/gruvbox + url = https://github.com/McSinyx/gruvbox.git + +[submodule "vim-abolish"] + path = vim/.vim/pack/abolish/start/vim-abolish + url = https://github.com/tpope/vim-abolish.git diff --git a/README.md b/README.md index 9b95a73..4c25433 100644 --- a/README.md +++ b/README.md @@ -6,4 +6,4 @@ Dotfiles of my Debian testing system, managed by GNU Stow. This repository contains my configurations for awesome, bash, Git, GTK+, ranger, Vim, Vimperator (a Firefox add-on) and xterm. Most of those applications are themed with the [gruvbox](https://github.com/morhetz/gruvbox) -colorscheme's dark version. +colorscheme's light version. diff --git a/X/.Xdefaults b/X/.Xdefaults index 9afcfd6..0dd7b4d 100644 --- a/X/.Xdefaults +++ b/X/.Xdefaults @@ -1,56 +1,8 @@ -! URxvt configs -! General -!urxvt*termName: rxvt-256color -urxvt*loginShell: true -urxvt*scrollBar: false -urxvt*secondaryScroll: true -urxvt*saveLines: 65535 -urxvt*cursorBlink: false -urxvt*urgentOnBell: true -!urxvt*override-redirect:false -!urxvt*borderLess: false -!urxvt*internalBorder: 0 -!urxvt*externalBorder: 0 - -! Extensions -urxvt*perl-lib: /usr/lib/urxvt/perl/ -urxvt*perl-ext-common: default,matcher,searchable-scrollback -urxvt*urlLauncher: /usr/bin/firefox -urxvt*matcher.button: 1 -! - catch ugly URLs -urxvt.cutchars: `()'*<>[]{|}" - -! Appearance -! - use xft for drawing fonts -urxvt.font: xft:Droid Sans Mono Slashed:size=11 -urxvt.letterSpace: -1 -! - cursor -!urxvt*cursorColor: #DCDCCC -! - color scheme -urxvt.background: #282828 -urxvt.foreground: #ebdbb2 -urxvt*color0: #282828 -urxvt*color1: #cc241d -urxvt*color2: #98971a -urxvt*color3: #d79921 -urxvt*color4: #458588 -urxvt*color5: #b16286 -urxvt*color6: #689d6a -urxvt*color7: #a89984 -urxvt*color8: #928374 -urxvt*color9: #fb4934 -urxvt*color10: #b8bb26 -urxvt*color11: #fabd2f -urxvt*color12: #83a598 -urxvt*color13: #d3869b -urxvt*color14: #8ec07c -urxvt*color15: #ebdbb2 - ! XTerm configs -UXTerm*faceName: Droid Sans Mono Slashed:size=11 -UXTerm*background: #282828 -UXTerm*foreground: #ebdbb2 -UXTerm*color0: #282828 +UXTerm*faceName: Space Mono:size=10 +UXTerm*background: #fbf1c7 +UXTerm*foreground: #3c3836 +UXTerm*color0: #fbf1c7 UXTerm*color1: #cc241d UXTerm*color2: #98971a UXTerm*color3: #d79921 @@ -59,13 +11,13 @@ UXTerm*color5: #b16286 UXTerm*color6: #689d6a UXTerm*color7: #a89984 UXTerm*color8: #928374 -UXTerm*color9: #fb4934 -UXTerm*color10: #b8bb26 -UXTerm*color11: #fabd2f -UXTerm*color12: #83a598 -UXTerm*color13: #d3869b -UXTerm*color14: #8ec07c -UXTerm*color15: #ebdbb2 +UXTerm*color9: #9d0006 +UXTerm*color10: #79740e +UXTerm*color11: #b57614 +UXTerm*color12: #076678 +UXTerm*color13: #8f3f71 +UXTerm*color14: #427b58 +UXTerm*color15: #3c3836 UXTerm*loginShell: true UXTerm*scrollBar: false UXTerm*saveLines: 65535 diff --git a/X/.config/gtk-3.0/settings.ini b/X/.config/gtk-3.0/settings.ini index 904e5cb..4cc22d3 100644 --- a/X/.config/gtk-3.0/settings.ini +++ b/X/.config/gtk-3.0/settings.ini @@ -1,5 +1,2 @@ [Settings] -gtk-icon-theme-name = Numix-Circle -gtk-cursor-theme-name = Adwaita -gtk-application-prefer-dark-theme = true gtk-font-name = Noto Sans UI 10 diff --git a/X/.fonts/DroidSansMonoDotted.ttf b/X/.fonts/DroidSansMonoDotted.ttf index e56a5ca..e56a5ca 100755..100644 --- a/X/.fonts/DroidSansMonoDotted.ttf +++ b/X/.fonts/DroidSansMonoDotted.ttf Binary files differdiff --git a/X/.fonts/DroidSansMonoSlashed.ttf b/X/.fonts/DroidSansMonoSlashed.ttf index 8c44b47..8c44b47 100755..100644 --- a/X/.fonts/DroidSansMonoSlashed.ttf +++ b/X/.fonts/DroidSansMonoSlashed.ttf Binary files differdiff --git a/X/.fonts/SpaceMono-Bold.ttf b/X/.fonts/SpaceMono-Bold.ttf new file mode 100644 index 0000000..4acd36a --- /dev/null +++ b/X/.fonts/SpaceMono-Bold.ttf Binary files differdiff --git a/X/.fonts/SpaceMono-BoldItalic.ttf b/X/.fonts/SpaceMono-BoldItalic.ttf new file mode 100644 index 0000000..0702475 --- /dev/null +++ b/X/.fonts/SpaceMono-BoldItalic.ttf Binary files differdiff --git a/X/.fonts/SpaceMono-Italic.ttf b/X/.fonts/SpaceMono-Italic.ttf new file mode 100644 index 0000000..8799738 --- /dev/null +++ b/X/.fonts/SpaceMono-Italic.ttf Binary files differdiff --git a/X/.fonts/SpaceMono-Regular.ttf b/X/.fonts/SpaceMono-Regular.ttf new file mode 100644 index 0000000..28d7ff7 --- /dev/null +++ b/X/.fonts/SpaceMono-Regular.ttf Binary files differdiff --git a/X/.gtkrc-2.0 b/X/.gtkrc-2.0 index 316de6b..a2235e8 100644 --- a/X/.gtkrc-2.0 +++ b/X/.gtkrc-2.0 @@ -1,4 +1 @@ -gtk-theme-name = "gruvnox" -gtk-icon-theme-name = "Numix-Circle" -gtk-cursor-theme-name = "Adwaita" gtk-font-name = "Noto Sans UI 10" diff --git a/X/.xinitrc b/X/.xinitrc index 6a481ff..2ab60ac 100644 --- a/X/.xinitrc +++ b/X/.xinitrc @@ -2,8 +2,8 @@ setxkbmap -option caps:swapescape xrandr --output VGA-0 --mode 1600x900 --primary --right-of LVDS synclient TapButton1=1 VertEdgeScroll=1 HorizEdgeScroll=1 VertTwoFingerScroll=0 +redshift-gtk & ibus-daemon -drx nm-applet & clipit & -#mate-power-manager & exec awesome diff --git a/awesome/.config/awesome/rc.lua b/awesome/.config/awesome/rc.lua index 0175440..4c9ce02 100644 --- a/awesome/.config/awesome/rc.lua +++ b/awesome/.config/awesome/rc.lua @@ -1,16 +1,17 @@ -- Standard awesome library local gears = require("gears") local awful = require("awful") -awful.rules = require("awful.rules") require("awful.autofocus") -- Widget and layout library local wibox = require("wibox") -local vicious = require("vicious") -- Theme handling library local beautiful = require("beautiful") -- Notification library local naughty = require("naughty") local menubar = require("menubar") +local hotkeys_popup = require("awful.hotkeys_popup").widget +-- System data library +local vicious = require("vicious") -- Load Debian menu entries require("debian.menu") @@ -19,46 +20,48 @@ require("debian.menu") -- Check if awesome encountered an error during startup and fell back to -- another config (This code will only ever execute for the fallback config) if awesome.startup_errors then - naughty.notify({ - preset = naughty.config.presets.critical, - title = "Oops, there were errors during startup!", - text = awesome.startup_errors - }) + naughty.notify({preset = naughty.config.presets.critical, + title = "Oops, there were errors during startup!", + text = awesome.startup_errors}) end -- Handle runtime errors after startup do - local in_error = false - awesome.connect_signal( - "debug::error", - function(err) - -- Make sure we don't go into an endless error loop - if in_error then return end - in_error = true - - naughty.notify({ - preset = naughty.config.presets.critical, - title = "Oops, an error happened!", - text = err - }) - in_error = false - end - ) + local in_error = false + awesome.connect_signal("debug::error", function(err) + -- Make sure we don't go into an endless error loop + if in_error then return end + in_error = true + + naughty.notify({preset = naughty.config.presets.critical, + title = "Oops, an error happened!", + text = tostring(err)}) + in_error = false + end) end -- }}} -- {{{ Variable definitions -- Themes define colours, icons, font and wallpapers. -beautiful.init("/home/cnx/.config/awesome/themes/gruvbox/theme.lua") +beautiful.init("~/.config/awesome/themes/gruvbox/theme.lua") -- This is used later as the default terminal and editor to run. terminal = "x-terminal-emulator" editor = "gvim" -editor_cmd = terminal .. " -e vim" +-- And some additional applications +root_terminal = terminal .. " -e su -" +ranger = terminal .. " -e ranger" +python = terminal .. " -e python3" +mutt = terminal .. " -e mutt" cmus = terminal .. " -e cmus" cmus_pause = "cmus-remote -u" cmus_prev = "cmus-remote -r" cmus_next = "cmus-remote -n" +slock_suspend = "slock systemctl -i suspend" +function volume_lower() awful.spawn("amixer sset Master 5%-", false) end +function volume_raise() awful.spawn("amixer sset Master 5%+", false) end +function volume_mute() awful.util.spawn("amixer sset Master toggle", false) end + -- Default modkey. -- Usually, Mod4 is the key with a logo between Control and Alt. @@ -69,521 +72,409 @@ cmus_next = "cmus-remote -n" modkey = "Mod4" -- Table of layouts to cover with awful.layout.inc, order matters. -local layouts = { - --awful.layout.suit.floating, - --awful.layout.suit.tile.left, - --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.tile.bottom, - awful.layout.suit.tile, - awful.layout.suit.magnifier +awful.layout.layouts = { + 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 + awful.layout.suit.floating, } -- }}} --- {{{ Wallpaper -awful.util.spawn_with_shell("hsetroot -solid '#282828'") ---if beautiful.wallpaper then --- for s = 1, screen.count() do --- gears.wallpaper.maximized(beautiful.wallpaper, s, true) --- end ---end --- }}} +-- {{{ Helper functions +local function client_menu_toggle_fn() + local instance = nil --- {{{ Tags --- Define a tag table which hold all screen tags. -tags = {} -for s = 1, screen.count() do - -- Each screen has its own tag table. - tags[s] = awful.tag({1, 2, 3, 4, 5, 6, 7, 8, 9}, s, layouts[1]) + return function() + if instance and instance.wibox.visible then + instance:hide() + instance = nil + else + instance = awful.menu.clients({theme = {width = 250}}) + end + end end -- }}} -- {{{ Menu --- Create a laucher widget and a main menu +-- Create a launcher widget and a main menu myawesomemenu = { - {"manual", terminal .. " -e man awesome"}, - {"edit config", editor_cmd .. " " .. awesome.conffile}, - {"restart", awesome.restart}, - {"quit", awesome.quit} + {"hotkeys", function() return false, hotkeys_popup.show_help end}, + {"manual", terminal .. " -e man awesome"}, + {"edit config", editor .. " " .. awesome.conffile}, + {"restart", awesome.restart}, + {"quit", function() awesome.quit() end} } mymainmenu = awful.menu({items = { - {"awesome", myawesomemenu, beautiful.awesome_icon}, - {"Debian", debian.menu.Debian_menu.Debian}, - {"open terminal", terminal} + {"awesome", myawesomemenu, beautiful.awesome_icon}, + {"debian", debian.menu.Debian_menu.Debian}, + {"open terminal", terminal} }}) -mylauncher = awful.widget.launcher({ - image = beautiful.awesome_icon, - menu = mymainmenu -}) +-- mylauncher = awful.widget.launcher({image = beautiful.awesome_icon, +-- menu = mymainmenu}) -- Menubar configuration +-- Set geometry so it would overlay the wibox +menubar.geometry = {y = 0, height = 22} -- Set the terminal for applications that require it menubar.utils.terminal = terminal -- }}} --- {{{ Wibox +-- Keyboard map indicator and switcher +-- mykeyboardlayout = awful.widget.keyboardlayout() + +-- {{{ Wibar -- Create a textclock widget -myclock_text = awful.widget.textclock( - "<span color='#3c3836'> #%u %FT%R</span>", - 1 -) -myclock = wibox.widget.background() -myclock:set_widget(myclock_text) -myclock:set_bg("#cc241d") +mytextclock = wibox.widget.textclock(" #%u %FT%R") -- Create a CPU usage widget -mycpuwidget_text = wibox.widget.textbox() -vicious.register( - mycpuwidget_text, - vicious.widgets.cpu, - function(widget, args) - return("<span color='#3c3836'> CPU%03d%%</span>"):format(args[1]) - end, - 2 -) -mycpuwidget = wibox.widget.background() -mycpuwidget:set_widget(mycpuwidget_text) -mycpuwidget:set_bg("#d65d0e") +mycpuusage = wibox.widget.textbox() +vicious.register(mycpuusage, vicious.widgets.cpu, + function(widget, args) + return (" CPU%03d%%"):format(args[1]) + end, 2) -- Create memory usage widgets -mymemwidget_text = wibox.widget.textbox() -vicious.register( - mymemwidget_text, - vicious.widgets.mem, - function(widget, args) - return("<span color='#3c3836'> MEM%03d%%</span>"):format(args[1]) - end, - 2 -) -mymemwidget = wibox.widget.background() -mymemwidget:set_widget(mymemwidget_text) -mymemwidget:set_bg("#d79921") - -myswapwidget_text = wibox.widget.textbox() -vicious.register( - myswapwidget_text, - vicious.widgets.mem, - function(widget, args) - return("<span color='#3c3836'> SWP%03d%%</span>"):format(args[5]) - end, - 2 -) -myswapwidget = wibox.widget.background() -myswapwidget:set_widget(myswapwidget_text) -myswapwidget:set_bg("#98971a") +vicious.cache(vicious.widgets.mem) +mymemusage = wibox.widget.textbox() -- RAM +vicious.register(mymemusage, vicious.widgets.mem, + function(widget, args) + return (" MEM%03d%%"):format(args[1]) + end, 2) +myswpusage = wibox.widget.textbox() -- swap +vicious.register(myswpusage, vicious.widgets.mem, + function(widget, args) + return (" SWP%03d%%"):format(args[5]) + end, 2) -- Create a battery widget -mybatwidget_text = wibox.widget.textbox() -vicious.register( - mybatwidget_text, - vicious.widgets.bat, - function(widget, args) - return("<span color='#3c3836'> %s%03d%%</span>"):format( - args[1], - args[2] - ) - end, - 5, - "C11F" -) -mybatwidget = wibox.widget.background() -mybatwidget:set_widget(mybatwidget_text) -mybatwidget:set_bg("#689d6a") +mybattery = wibox.widget.textbox() +vicious.register(mybattery, vicious.widgets.bat, + function(widget, args) + return(" %s%03d%%"):format(args[1], args[2]) + end, 5, "C11F") -- Create a volume widget -myvolwidget_text = wibox.widget.textbox() -vicious.register( - myvolwidget_text, - vicious.widgets.volume, - function(widget, args) - return("<span color='#3c3836'> %s%03d%%</span>"):format( - args[2], - args[1] - ) - end, - 1, - "Master" -) -myvolwidget = wibox.widget.background() -myvolwidget:set_widget(myvolwidget_text) -myvolwidget:set_bg("#458588") - --- Arrows -myarrow0 = wibox.widget.imagebox() -myarrow0:set_image(beautiful.arrow0) -myarrow1 = wibox.widget.imagebox() -myarrow1:set_image(beautiful.arrow1) -myarrow2 = wibox.widget.imagebox() -myarrow2:set_image(beautiful.arrow2) -myarrow3 = wibox.widget.imagebox() -myarrow3:set_image(beautiful.arrow3) -myarrow4 = wibox.widget.imagebox() -myarrow4:set_image(beautiful.arrow4) -myarrow5 = wibox.widget.imagebox() -myarrow5:set_image(beautiful.arrow5) +myvolume_text = wibox.widget.textbox() +vicious.register(myvolume_text, vicious.widgets.volume, + function(widget, args) + return(" %s%03d%%"):format(args[2], args[1]) + end, 1, "Master") +myvolume = wibox.container.background(myvolume_text, "#458588") +myvolume:buttons(awful.util.table.join( + awful.button({}, 1, volume_raise), + awful.button({}, 2, volume_mute), + awful.button({}, 3, volume_lower), + awful.button({}, 4, volume_raise), + awful.button({}, 5, volume_lower) +)) -- Create a wibox for each screen and add it -mywibox = {} -mypromptbox = {} -mylayoutbox = {} -mytaglist = {} -mytaglist.buttons = awful.util.table.join( - awful.button({}, 1, awful.tag.viewonly), - awful.button({modkey}, 1, awful.client.movetotag), - awful.button({}, 3, awful.tag.viewtoggle), - awful.button({modkey}, 3, awful.client.toggletag), - awful.button( - {}, - 4, - function(t) - awful.tag.viewnext(awful.tag.getscreen(t)) - end - ), - awful.button( - {}, - 5, - function(t) - awful.tag.viewprev(awful.tag.getscreen(t)) - end - ) -) -mytasklist = {} -mytasklist.buttons = awful.util.table.join( - awful.button( - {}, - 1, - function(c) - if c == client.focus then - c.minimized = true - else - -- Without this, the following - -- :isvisible() makes no sense - c.minimized = false - if not c:isvisible() then - awful.tag.viewonly(c:tags()[1]) - end - -- This will also un-minimize - -- the client, if needed - client.focus = c - c:raise() - end - end - ), - awful.button( - {}, - 3, - function() - if instance then - instance:hide() - instance = nil - else - instance = awful.menu.clients({ - theme = {width = 250} - }) - end - end - ), - awful.button( - {}, - 4, - function() - awful.client.focus.byidx(1) - if client.focus then client.focus:raise() end - end - ), - awful.button( - {}, - 5, - function() - awful.client.focus.byidx(-1) - if client.focus then client.focus:raise() end - end - ) +local taglist_buttons = awful.util.table.join( + awful.button({}, 1, function(t) t:view_only() end), + awful.button({modkey}, 1, function(t) + if client.focus then client.focus:move_to_tag(t) end + end), + awful.button({}, 3, awful.tag.viewtoggle), + awful.button({modkey}, 3, function(t) + if client.focus then client.focus:toggle_tag(t) end + end), + awful.button({}, 4, function(t) awful.tag.viewnext(t.screen) end), + awful.button({}, 5, function(t) awful.tag.viewprev(t.screen) end) ) -for s = 1, screen.count() do - -- Create a promptbox for each screen - mypromptbox[s] = awful.widget.prompt({prompt = " "}) - -- Create an imagebox widget which will contains an icon indicating - -- which layout we're using. We need one layoutbox per screen. - mylayoutbox[s] = awful.widget.layoutbox(s) - mylayoutbox[s]:buttons(awful.util.table.join( - awful.button({}, 1, function() awful.layout.inc(layouts, 1) end), - awful.button({}, 3, function() awful.layout.inc(layouts, -1) end), - awful.button({}, 4, function() awful.layout.inc(layouts, 1) end), - awful.button({}, 5, function() awful.layout.inc(layouts, -1) end) - )) - -- Create a taglist widget - mytaglist[s] = awful.widget.taglist( - s, - awful.widget.taglist.filter.all, - mytaglist.buttons - ) - - -- Create a tasklist widget - mytasklist[s] = awful.widget.tasklist( - s, - awful.widget.tasklist.filter.currenttags, - mytasklist.buttons - ) +local tasklist_buttons = awful.util.table.join( + awful.button({}, 1, function(c) + if c == client.focus then + c.minimized = true + else + -- Without this, the following + -- :isvisible() makes no sense + c.minimized = false + if not c:isvisible() and c.first_tag then c.first_tag:view_only() end + -- This will also un-minimize + -- the client, if needed + client.focus = c + c:raise() + end + end), + awful.button({}, 3, client_menu_toggle_fn()), + awful.button({}, 4, function() awful.client.focus.byidx(1) end), + awful.button({}, 5, function() awful.client.focus.byidx(-1) end) +) - -- Create the wibox - mywibox[s] = awful.wibox({position = "top", height = "24", screen = s}) - - -- Widgets that are aligned to the left - local left_layout = wibox.layout.fixed.horizontal() - --left_layout:add(mylauncher) - left_layout:add(myclock) - left_layout:add(myarrow0) - left_layout:add(mycpuwidget) - left_layout:add(myarrow1) - left_layout:add(mymemwidget) - left_layout:add(myarrow2) - left_layout:add(myswapwidget) - left_layout:add(myarrow3) - left_layout:add(mybatwidget) - left_layout:add(myarrow4) - left_layout:add(myvolwidget) - left_layout:add(myarrow5) - left_layout:add(mypromptbox[s]) - - -- Widgets that are aligned to the right - local right_layout = wibox.layout.fixed.horizontal() - if s == 1 then right_layout:add(wibox.widget.systray()) end - right_layout:add(mytaglist[s]) - right_layout:add(mylayoutbox[s]) - - -- Now bring it all together (with the tasklist in the middle) - local layout = wibox.layout.align.horizontal() - layout:set_left(left_layout) - --layout:set_middle(mytasklist[s]) - layout:set_right(right_layout) - - mywibox[s]:set_widget(layout) -end +--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 +awful.spawn("hsetroot -solid '#fbf1c7'") + +-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) +-- screen.connect_signal("property::geometry", set_wallpaper) + +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 = awful.widget.prompt({prompt = " "}) + -- Create an imagebox widget which will contains an icon indicating which + -- layout we're using. + -- We need one layoutbox per screen. + s.mylayoutbox = awful.widget.layoutbox(s) + s.mylayoutbox:buttons(awful.util.table.join( + awful.button({}, 1, function() awful.layout.inc(1) end), + awful.button({}, 3, function() awful.layout.inc(-1) end), + awful.button({}, 4, function() awful.layout.inc(1) end), + awful.button({}, 5, function() awful.layout.inc(-1) end) + )) + -- Create a taglist widget + s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, + taglist_buttons) + + -- Create a tasklist widget + -- s.mytasklist = awful.widget.tasklist( + -- s, + -- awful.widget.tasklist.filter.currenttags, + -- tasklist_buttons + -- ) + + -- Create the wibox + s.mywibox = awful.wibar({position = "top", height = "22", screen = s}) + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + -- mylauncher, + wibox.container.background(mytextclock, "#cc241d"), + wibox.widget.imagebox(beautiful.arrow0), + wibox.container.background(mycpuusage, "#d65d0e"), + wibox.widget.imagebox(beautiful.arrow1), + wibox.container.background(mymemusage, "#d79921"), + wibox.widget.imagebox(beautiful.arrow2), + wibox.container.background(myswpusage, "#98971a"), + wibox.widget.imagebox(beautiful.arrow3), + wibox.container.background(mybattery, "#689d6a"), + wibox.widget.imagebox(beautiful.arrow4), + myvolume, + wibox.widget.imagebox(beautiful.arrow5), + wibox.container.background(s.mypromptbox, "#b16286"), + wibox.widget.imagebox(beautiful.arrow6) + }, + { -- Middle widget + layout = wibox.layout.fixed.horizontal, + }, + -- s.mytasklist, + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + -- mykeyboardlayout, + wibox.widget.systray(), + s.mytaglist, + s.mylayoutbox + } + } +end) -- }}} -- {{{ Mouse bindings root.buttons(awful.util.table.join( - awful.button({}, 3, function() mymainmenu:toggle() end), - awful.button({}, 4, awful.tag.viewnext), - awful.button({}, 5, awful.tag.viewprev) + awful.button({}, 3, function() mymainmenu:toggle() end), + awful.button({}, 4, awful.tag.viewnext), + awful.button({}, 5, awful.tag.viewprev) )) -- }}} -- {{{ Key bindings globalkeys = awful.util.table.join( - awful.key({modkey}, "Left", awful.tag.viewprev), - awful.key({modkey}, "Right", awful.tag.viewnext), - awful.key({modkey}, "Escape", awful.tag.history.restore), - - awful.key( - {modkey}, - "j", - function() - awful.client.focus.byidx( 1) - if client.focus then client.focus:raise() end - end - ), - awful.key( - {modkey}, - "k", - function() - awful.client.focus.byidx(-1) - if client.focus then client.focus:raise() end - end - ), - awful.key({modkey}, "w", function() mymainmenu:show() end), - - -- Layout manipulation - awful.key( - {modkey, "Shift"}, - "j", - function() awful.client.swap.byidx(1) end - ), - awful.key( - {modkey, "Shift"}, - "k", - function() awful.client.swap.byidx(-1) end - ), - awful.key({modkey}, "0", function() awful.screen.focus_relative(1) end), - awful.key({modkey}, "u", awful.client.urgent.jumpto), - awful.key( - {modkey}, - "Tab", - function() - awful.client.focus.history.previous() - if client.focus then client.focus:raise() end - end - ), - - -- Standard program - awful.key({modkey, "Control"}, "r", awesome.restart), - awful.key({modkey, "Control"}, "q", awesome.quit), - -- Not needed - awful.key({modkey}, "l", function() awful.tag.incmwfact(0.05) end), - awful.key({modkey}, "h", function() awful.tag.incmwfact(-0.05) end), - awful.key({modkey, "Shift"}, "h", function() awful.tag.incnmaster(1) end), - awful.key({modkey, "Shift"}, "l", function() awful.tag.incnmaster(-1) end), - awful.key({modkey, "Control"}, "h", function() awful.tag.incncol(1) end), - awful.key({modkey, "Control"}, "l", function() awful.tag.incncol(-1) end), - awful.key({modkey}, "Return", function() awful.layout.inc(layouts, 1) end), - awful.key( - {modkey, "Shift"}, - "Return", - function() awful.layout.inc(layouts, -1) end - ), - -- Not used - --awful.key({modkey, "Control"}, "n", awful.client.restore), - -- Prompt - awful.key( - {modkey, "Shift"}, - ";", - function() mypromptbox[mouse.screen]:run() end - ), - --awful.key( - -- {modkey}, - -- "x", - -- function() - -- awful.prompt.run({prompt = "Run Lua code: "}, - -- mypromptbox[mouse.screen].widget, - -- awful.util.eval, nil, - -- awful.util.getdir("cache") .. "/history_eval") - -- end - --), - -- Menubar - awful.key({modkey, "Shift"}, "p", function() menubar.show() end), - - -- Applications - awful.key({modkey}, "x", function() awful.util.spawn(terminal) end), - awful.key( - {modkey, "Shift"}, - "x", - function() awful.util.spawn(terminal .. " -e su -") end - ), - awful.key( - {modkey}, - "p", - function() awful.util.spawn(terminal .. " -e python3") end - ), - awful.key( - {modkey}, - "r", - function() awful.util.spawn(terminal .. " -e ranger") end - ), - awful.key( - {modkey}, - "t", - function() awful.util.spawn(terminal .. " -e htop") end - ), - awful.key( - {modkey}, - "c", - function() awful.util.spawn(cmus) end - ), - awful.key( - {modkey, "Shift"}, - "c", - function() awful.util.spawn(cmus_pause) end - ), - awful.key( - {modkey, "Control"}, - "c", - function() awful.util.spawn(cmus_prev) end - ), - awful.key( - {modkey, "Mod1"}, - "c", - function() awful.util.spawn(cmus_next) end - ), - awful.key( - {modkey}, - "m", - function() awful.util.spawn(terminal .. " -e mutt") end - ), - awful.key({modkey}, "v", function() awful.util.spawn(editor) end), - awful.key({modkey}, "f", function() awful.util.spawn("firefox") end), - awful.key({modkey}, "z", function() awful.util.spawn("zathura") end), - awful.key({modkey}, "s", function() awful.util.spawn("slock") end), - awful.key( - {modkey, "Shift"}, - "s", - function() awful.util.spawn("slock systemctl -i suspend") end - ) -) - --- Adjusting volumes -globalkeys = awful.util.table.join( - globalkeys, - awful.key({}, "XF86AudioRaiseVolume", - function() awful.util.spawn("amixer sset Master 5%+", false) end) -) -globalkeys = awful.util.table.join( - globalkeys, - awful.key( - {}, - "XF86AudioLowerVolume", - function() awful.util.spawn("amixer sset Master 5%-", false) end - ) -) -globalkeys = awful.util.table.join( - globalkeys, - awful.key( - {}, - "XF86AudioMute", - function() - awful.util.spawn("amixer sset Master toggle", false) - -- The 2 following lines were needed at least on my configuration, - -- otherwise it would get stuck muted. However, if the channel - -- you're using is "Speaker" or "Headpphone" instead of "Master", - -- you'll have to comment out their corresponding line below. - awful.util.spawn("amixer sset Speaker unmute", false) - awful.util.spawn("amixer sset Headphone unmute", false) - end - ) + awful.key({modkey, "Control"}, "s", hotkeys_popup.show_help, + {description="show help", group="awesome"}), + awful.key({modkey}, "Left", awful.tag.viewprev, + {description = "view previous", group = "tag"}), + awful.key({modkey}, "Right", awful.tag.viewnext, + {description = "view next", group = "tag"}), + awful.key({modkey}, "Escape", awful.tag.history.restore, + {description = "go back", group = "tag"}), + + awful.key({modkey}, "j", function() awful.client.focus.byidx(1) end, + {description = "focus next by index", group = "client"}), + awful.key({modkey}, "k", function() awful.client.focus.byidx(-1) end, + {description = "focus previous by index", group = "client"}), + awful.key({modkey}, "w", function() mymainmenu:show() end, + {description = "show main menu", group = "awesome"}), + + -- Layout manipulation + awful.key({modkey, "Shift"}, "j", function() awful.client.swap.byidx(1) end, + {description = "swap with next client by index", group = "client"}), + awful.key({modkey, "Shift"}, "k", function() awful.client.swap.byidx(-1)end, + {description = "swap with previous client by index", + group = "client"}), + awful.key({modkey}, "0", + function() awful.screen.focus_relative(1) end, + {description = "focus the next screen", group = "screen"}), + awful.key({modkey}, "u", awful.client.urgent.jumpto, + {description = "jump to urgent client", group = "client"}), + awful.key({modkey}, "Tab", + function() + awful.client.focus.history.previous() + if client.focus then client.focus:raise() end + end, + {description = "go back", group = "client"}), + + -- Standard program + awful.key({modkey}, "x", function() awful.spawn(terminal) end, + {description = "open a terminal", group = "launcher"}), + awful.key({modkey, "Shift"}, "x", function() awful.spawn(root_terminal) end, + {description = "open a root terminal", group = "launcher"}), + awful.key({modkey}, "v", function() awful.spawn(editor) end, + {description = "open GVim", group = "launcher"}), + awful.key({modkey}, "b", function() awful.spawn("torbrowser-launcher") end, + {description = "open Tor Browser", group = "launcher"}), + awful.key({modkey}, "r", function() awful.spawn(ranger) end, + {description = "open ranger file manager", group = "launcher"}), + awful.key({modkey}, "p", function() awful.spawn(python) end, + {description = "open Python 3 interpreter", group = "launcher"}), + awful.key({modkey}, "z", function() awful.spawn("zathura") end, + {description = "open zathura document viewer", group = "launcher"}), + awful.key({modkey}, "m", function() awful.spawn(mutt) end, + {description = "open mutt mail client", group = "launcher"}), + awful.key({modkey}, "y", function() awful.spawn("smtube") end, + {description = "open YouTube browser", group = "launcher"}), + awful.key({modkey}, "s", function() awful.spawn("slock") end, + {description = "lock screen", group = "launcher"}), + awful.key({modkey, "Shift"}, "s", function() awful.spawn(slock_suspend) end, + {description = "lock screen then suspend", group = "launcher"}), + awful.key({modkey}, "c", function() awful.spawn(cmus) end, + {description = "open cmus music player", group = "launcher"}), + awful.key({modkey, "Shift"}, "c", function() awful.spawn(cmus_pause) end, + {description = "cmus: pause", group = "multimedia"}), + awful.key({modkey, "Control"}, "c", function() awful.spawn(cmus_prev) end, + {description = "cmus: previous track", group = "multimedia"}), + awful.key({modkey, "Mod1"}, "c", function() awful.spawn(cmus_next) end, + {description = "cmus: next track", group = "multimedia"}), + awful.key({}, "XF86AudioRaiseVolume", volume_raise, + {description = "raise 5% volume", group = "multimedia"}), + awful.key({}, "XF86AudioLowerVolume", volume_lower, + {description = "lower 5% volume", group = "multimedia"}), + awful.key({}, "XF86AudioMute", volume_mute, + {description = "(un)mute volume", group = "multimedia"}), + + awful.key({modkey, "Control"}, "r", awesome.restart, + {description = "reload awesome", group = "awesome"}), + awful.key({modkey, "Shift"}, "q", awesome.quit, + {description = "quit awesome", group = "awesome"}), + + awful.key({modkey}, "l", function() awful.tag.incmwfact(0.05) end, + {description = "increase master width factor", group = "layout"}), + awful.key({modkey}, "h", function() awful.tag.incmwfact(-0.05) end, + {description = "decrease master width factor", group = "layout"}), + awful.key({modkey, "Shift"}, "h", + function() awful.tag.incnmaster(1, nil, true) end, + {description = "increase the number of master clients", + group = "layout"}), + awful.key({modkey, "Shift"}, "l", + function() awful.tag.incnmaster(-1, nil, true) end, + {description = "decrease the number of master clients", + group = "layout"}), + awful.key({modkey, "Control"}, "h", + function() awful.tag.incncol(1, nil, true) end, + {description = "increase the number of columns", group = "layout"}), + awful.key({modkey, "Control"}, "l", + function() awful.tag.incncol(-1, nil, true) end, + {description = "decrease the number of columns", group = "layout"}), + awful.key({modkey}, "Return", function() awful.layout.inc(1) end, + {description = "select next", group = "layout"}), + awful.key({modkey, "Shift"}, "Return", function() awful.layout.inc(-1) end, + {description = "select previous", group = "layout"}), + + awful.key({modkey, "Control"}, "n", + function() + local c = awful.client.restore() + -- Focus restored client + if c then + client.focus = c + c:raise() + end + end, + {description = "restore minimized", group = "client"}), + + -- Prompt + awful.key({modkey}, ";", + function() awful.screen.focused().mypromptbox:run() end, + {description = "run prompt", group = "launcher"}), + -- Menubar + awful.key({modkey, "Shift"}, ";", function() menubar.show() end, + {description = "show the menubar", group = "launcher"}) + + -- I don't know any Lua. + -- awful.key({modkey}, "x", + -- function() + -- awful.prompt.run { + -- prompt = "Run Lua code: ", + -- textbox = awful.screen.focused().mypromptbox.widget, + -- exe_callback = awful.util.eval, + -- history_path = awful.util.get_cache_dir() .. "/history_eval" + -- } + -- end, + -- {description = "lua execute prompt", group = "awesome"}), ) clientkeys = awful.util.table.join( - awful.key({modkey}, "q", function(c) c:kill() end), - awful.key( - {modkey, "Control"}, - "Return", - function(c) c:swap(awful.client.getmaster()) end - ), - awful.key({modkey, "Shift"}, "0", awful.client.movetoscreen), - awful.key( - {modkey, "Control"}, - "t", - function(c) awful.titlebar.toggle(c) end - ) - -- Not used - --awful.key({modkey}, "f", function(c) c.fullscreen = not c.fullscreen end), - --awful.key({modkey, "Control"}, "space", awful.client.floating.toggle), - --awful.key({modkey}, "t", function(c) c.ontop = not c.ontop end), - --awful.key( - -- {modkey}, - -- "n", - -- function(c) - -- -- The client currently has the input focus, so it cannot be - -- -- minimized, since minimized clients can't have the focus. - -- c.minimized = true - -- end - --), - --awful.key( - -- {modkey}, - -- "m", - -- function(c) - -- c.maximized_horizontal = not c.maximized_horizontal - -- c.maximized_vertical = not c.maximized_vertical - -- end - --) + awful.key({modkey}, "f", + function(c) + c.fullscreen = not c.fullscreen + c:raise() + end, + {description = "toggle fullscreen", group = "client"}), + awful.key({modkey}, "q", function(c) c:kill() end, + {description = "close", group = "client"}), + awful.key({modkey, "Control"}, "Return", awful.client.floating.toggle, + {description = "toggle floating", group = "client"}), + awful.key({modkey, "Control"}, "space", + function(c) c:swap(awful.client.getmaster()) end, + {description = "move to master", group = "client"}), + awful.key({modkey, "Shift"}, "0", function(c) c:move_to_screen() end, + {description = "move to screen", group = "client"}), + awful.key({modkey}, "t", function(c) c.ontop = not c.ontop end, + {description = "toggle keep on top", group = "client"}), + awful.key({modkey}, "n", + function(c) + -- The client currently has the input focus, so it cannot be + -- minimized, since minimized clients can't have the focus. + c.minimized = true + end, + {description = "minimize", group = "client"}), + awful.key({modkey, "Control"}, "m", + function(c) + c.maximized = not c.maximized + c:raise() + end, + {description = "maximize", group = "client"}) ) -- Bind all key numbers to tags. @@ -591,64 +482,50 @@ clientkeys = awful.util.table.join( -- This should map on the top row of your keyboard, usually 1 to 9. for i = 1, 9 do globalkeys = awful.util.table.join( - globalkeys, - -- View tag only. - awful.key( - {modkey}, - "#" .. i + 9, - function() - local screen = mouse.screen - local tag = awful.tag.gettags(screen)[i] - if tag then - awful.tag.viewonly(tag) + globalkeys, + -- View tag only. + awful.key({modkey}, "#" .. i + 9, + function() + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then tag:view_only() end + end, + {description = "view tag #"..i, group = "tag"}), + -- Toggle tag display. + awful.key({modkey, "Control"}, "#" .. i + 9, + function() + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then awful.tag.viewtoggle(tag) end + end, + {description = "toggle tag #" .. i, group = "tag"}), + -- Move client to tag. + awful.key({modkey, "Shift"}, "#" .. i + 9, + function() + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then client.focus:move_to_tag(tag) end end - end - ), - -- Toggle tag. - awful.key( - {modkey, "Control"}, - "#" .. i + 9, - function() - local screen = mouse.screen - local tag = awful.tag.gettags(screen)[i] - if tag then - awful.tag.viewtoggle(tag) - end - end - ), - -- Move client to tag. - awful.key( - {modkey, "Shift"}, - "#" .. i + 9, - function() - if client.focus then - local tag = awful.tag.gettags(client.focus.screen)[i] - if tag then - awful.client.movetotag(tag) - end - end - end - ), - -- Toggle tag. - awful.key( - {modkey, "Control", "Shift"}, - "#" .. i + 9, - function() - if client.focus then - local tag = awful.tag.gettags(client.focus.screen)[i] - if tag then - awful.client.toggletag(tag) - end - end - end - ) + end, + {description = "move focused client to tag #"..i, + group = "tag"}), + -- Toggle tag on focused client. + awful.key({modkey, "Control", "Shift"}, "#" .. i + 9, + function() + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then client.focus:toggle_tag(tag) end + end + end, + {description = "toggle focused client on tag #" .. i, + group = "tag"}) ) end clientbuttons = awful.util.table.join( - awful.button({}, 1, function(c) client.focus = c; c:raise() end), - awful.button({modkey}, 1, awful.mouse.client.move), - awful.button({modkey}, 3, awful.mouse.client.resize) + awful.button({}, 1, function(c) client.focus = c; c:raise() end), + awful.button({modkey}, 1, awful.mouse.client.move), + awful.button({modkey}, 3, awful.mouse.client.resize) ) -- Set keys @@ -658,128 +535,175 @@ root.keys(globalkeys) -- {{{ Rules -- Rules to apply to new clients (through the "manage" signal). awful.rules.rules = { - -- All clients will match this rule. - { - rule = {}, - properties = { - border_width = beautiful.border_width, - border_color = beautiful.border_normal, - size_hints_honor = false, - focus = awful.client.focus.filter, - raise = true, - keys = clientkeys, - buttons = clientbuttons - } + -- All clients will match this rule. + {rule = {}, + properties = { + border_width = beautiful.border_width, + border_color = beautiful.border_normal, + focus = awful.client.focus.filter, + raise = true, + keys = clientkeys, + buttons = clientbuttons, + screen = awful.screen.preferred, + placement = awful.placement.no_overlap + awful.placement.no_offscreen, + size_hints_honor = false + }}, + + -- Floating clients. + {rule_any = { + instance = { + "DTA", -- Firefox addon DownThemAll. + "copyq", -- Includes session name in class. + }, + class = { + "Arandr", + "Gpick", + "Gcolor2", + "Kruler", + "MessageWin", -- kalarm. + "Sxiv", + "Torbrowser-launcher", + "Twf", + "Wpa_gui", + "ac_client", + "flare", + "pinentry", + "veromix", + "xtightvncviewer" }, - --{rule = {class = "MPlayer"}, properties = {floating = true}}, - --{rule = {class = "pinentry"}, properties = {floating = true}}, - --{rule = {class = "gimp"}, properties = {floating = true}}, - {rule = {class = "Gcolor2"}, properties = {floating = true}}, - {rule = {class = "flare"}, properties = {floating = true}}, - {rule = {class = "Torbrowser-launcher"}, properties = {floating = true}}, - {rule = {class = "Twf"}, properties = {floating = true}}, - -- Set Firefox to always map on tags number 2 of screen 1. - --{rule = {class = "Firefox"}, properties = {tag = tags[1][2]}}, + name = { + "Event Tester" -- xev. + }, + role = { + "AlarmWindow", -- Thunderbird's calendar. + "pop-up", -- e.g. Google Chrome's (detached) Developer Tools. + }, + }, properties = {floating = true}}, + + -- Add titlebars to normal clients and dialogs + {rule_any = {type = {"normal", "dialog"}}, + properties = {titlebars_enabled = true}} + + -- Set Firefox to always map on the tag named "2" on screen 1. + -- {rule = {class = "Firefox"}, + -- properties = {screen = 1, tag = "2"}} } -- }}} -- {{{ Signals --- Signal functionto execute when a new client appears. +-- Signal function to execute when a new client appears. client.connect_signal( - "manage", - function(c, startup) - -- Enable sloppy focus - c:connect_signal( - "mouse::enter", - function(c) - if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier - and awful.client.focus.filter(c) then - client.focus = c - end - end - ) - - if not startup then - -- Set the windows at the slave, - -- i.e. put it at the end of others instead of setting it master. - -- awful.client.setslave(c) - -- Put windows in a smart way, only if they does not set an initial - -- position. - if not c.size_hints.user_position - and not c.size_hints.program_position then - awful.placement.no_overlap(c) - awful.placement.no_offscreen(c) - end - elseif not c.size_hints.user_position - and not c.size_hints.program_position then - -- Prevent clients from being unreachable after screen count change - awful.placement.no_offscreen(c) + "manage", + function(c) + -- Set the windows at the slave, + -- i.e. put it at the end of others instead of setting it master. + -- if not awesome.startup then awful.client.setslave(c) end + if awesome.startup and + not c.size_hints.user_position and + not c.size_hints.program_position then + -- Prevent clients from being unreachable after screen count changes. + awful.placement.no_offscreen(c) end + end +) - local titlebars_enabled = true - if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then - -- buttons for the titlebar - local buttons = awful.util.table.join( - awful.button( - {}, - 1, - function() - client.focus = c - c:raise() - awful.mouse.client.move(c) - end - ), - awful.button( - {}, - 3, - function() - client.focus = c - c:raise() - awful.mouse.client.resize(c) - end - ) - ) - - -- Widgets that are aligned to the right - local right_layout = wibox.layout.fixed.horizontal() - --right_layout:add(awful.titlebar.widget.iconwidget(c)) - right_layout:buttons(buttons) - - -- Widgets that are aligned to the left - local left_layout = wibox.layout.fixed.horizontal() - left_layout:add(awful.titlebar.widget.closebutton(c)) - left_layout:add(awful.titlebar.widget.ontopbutton(c)) - left_layout:add(awful.titlebar.widget.stickybutton(c)) - left_layout:add(awful.titlebar.widget.maximizedbutton(c)) - left_layout:add(awful.titlebar.widget.floatingbutton(c)) - - -- The title goes in the middle - local middle_layout = wibox.layout.flex.horizontal() - --local title = awful.titlebar.widget.titlewidget(c) - --title:set_align("center") - --middle_layout:add(title) - middle_layout:buttons(buttons) - - -- Now bring it all together - local layout = wibox.layout.align.horizontal() - layout:set_left(left_layout) - layout:set_right(right_layout) - layout:set_middle(middle_layout) - - awful.titlebar(c, {size = "6"}):set_widget(layout) - end +-- Add a titlebar if titlebars_enabled is set to true in the rules. +client.connect_signal( + "request::titlebars", + function(c) + -- buttons for the titlebar + local buttons = awful.util.table.join( + awful.button({}, 1, + function() + client.focus = c + c:raise() + awful.mouse.client.move(c) + end), + awful.button({}, 3, + function() + client.focus = c + c:raise() + awful.mouse.client.resize(c) + end) + ) - if not awful.client.floating.get(c) then - awful.titlebar.hide(c) + awful.titlebar(c, {size=22}) : setup { + { -- Left + awful.titlebar.widget.closebutton(c), + awful.titlebar.widget.ontopbutton(c), + awful.titlebar.widget.stickybutton(c), + awful.titlebar.widget.maximizedbutton(c), + awful.titlebar.widget.floatingbutton(c), + layout = wibox.layout.fixed.horizontal + }, + { -- Middle + { -- Title + align = "center", + widget = awful.titlebar.widget.titlewidget(c) + }, + buttons = buttons, + layout = wibox.layout.flex.horizontal + }, + { -- Right + awful.titlebar.widget.iconwidget(c), + buttons = buttons, + layout = wibox.layout.fixed.horizontal + }, + layout = wibox.layout.align.horizontal + } + + -- Show titlebar if client is floating, hide otherwise. + if not c.floating and + awful.screen.focused().selected_tag.layout ~= + awful.layout.suit.floating then + awful.titlebar.hide(c) end -end) + end +) +-- Show titlebar if client is floating, hide otherwise. client.connect_signal( - "focus", - function(c) c.border_color = beautiful.border_focus end + "property::floating", + function(c) + if c.first_tag == nil then + end + if c.floating or + (c.first_tag ~= nil and + c.first_tag.layout == awful.layout.suit.floating) then + awful.titlebar.show(c) + else + awful.titlebar.hide(c) + end + end ) + +-- Enable sloppy focus, so that focus follows mouse. client.connect_signal( - "unfocus", - function(c) c.border_color = beautiful.border_normal end + "mouse::enter", + function(c) + if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier and + awful.client.focus.filter(c) then + client.focus = c + end + end +) + +client.connect_signal("focus", + function(c) c.border_color = beautiful.border_focus end) +client.connect_signal("unfocus", + function(c) c.border_color = beautiful.border_normal end) + +-- Show titlebar if client is floating, hide otherwise. +tag.connect_signal( + "property::layout", + function(t) + if t.layout == awful.layout.suit.floating then + for _, c in pairs(t:clients()) do awful.titlebar.show(c) end + else + for _, c in pairs(t:clients()) do + if not c.floating then awful.titlebar.hide(c) end + end + end + end ) -- }}} diff --git a/awesome/.config/awesome/themes/gruvbox/README.md b/awesome/.config/awesome/themes/gruvbox/README.md index 4ed359e..dc3f262 100644 --- a/awesome/.config/awesome/themes/gruvbox/README.md +++ b/awesome/.config/awesome/themes/gruvbox/README.md @@ -6,7 +6,7 @@ proper algorithim, e.g. in GIMP use *None* or *Linear* interpolation. * Titlebar and wibox use some pixel arts, so please keep theme at the size of - 24 (wibox) and 6 (titlebar). + 22px. -* I added some 24-pixel high arrows to the theme. You might wanna use them to +* I added some 22-pixel high arrows to the theme. You might wanna use them to rice your desktop in the *powerarrow* way. diff --git a/awesome/.config/awesome/themes/gruvbox/arrows/0.png b/awesome/.config/awesome/themes/gruvbox/arrows/0.png index 9acbc37..44abbcc 100644 --- a/awesome/.config/awesome/themes/gruvbox/arrows/0.png +++ b/awesome/.config/awesome/themes/gruvbox/arrows/0.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/arrows/1.png b/awesome/.config/awesome/themes/gruvbox/arrows/1.png index 29ad5b0..a6c21d1 100644 --- a/awesome/.config/awesome/themes/gruvbox/arrows/1.png +++ b/awesome/.config/awesome/themes/gruvbox/arrows/1.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/arrows/2.png b/awesome/.config/awesome/themes/gruvbox/arrows/2.png index 4b6a25f..e82ca2c 100644 --- a/awesome/.config/awesome/themes/gruvbox/arrows/2.png +++ b/awesome/.config/awesome/themes/gruvbox/arrows/2.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/arrows/3.png b/awesome/.config/awesome/themes/gruvbox/arrows/3.png index 5d40ead..9c51661 100644 --- a/awesome/.config/awesome/themes/gruvbox/arrows/3.png +++ b/awesome/.config/awesome/themes/gruvbox/arrows/3.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/arrows/4.png b/awesome/.config/awesome/themes/gruvbox/arrows/4.png index c821055..33b7496 100644 --- a/awesome/.config/awesome/themes/gruvbox/arrows/4.png +++ b/awesome/.config/awesome/themes/gruvbox/arrows/4.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/arrows/5.png b/awesome/.config/awesome/themes/gruvbox/arrows/5.png index 47c8db0..d5719a3 100644 --- a/awesome/.config/awesome/themes/gruvbox/arrows/5.png +++ b/awesome/.config/awesome/themes/gruvbox/arrows/5.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/arrows/6.png b/awesome/.config/awesome/themes/gruvbox/arrows/6.png new file mode 100644 index 0000000..ab5dd0b --- /dev/null +++ b/awesome/.config/awesome/themes/gruvbox/arrows/6.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/awesome.png b/awesome/.config/awesome/themes/gruvbox/awesome.png index 6ce854b..812060e 100644 --- a/awesome/.config/awesome/themes/gruvbox/awesome.png +++ b/awesome/.config/awesome/themes/gruvbox/awesome.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/background-2048x1152.png b/awesome/.config/awesome/themes/gruvbox/background-2048x1152.png index f138a11..f6e56b4 100644 --- a/awesome/.config/awesome/themes/gruvbox/background-2048x1152.png +++ b/awesome/.config/awesome/themes/gruvbox/background-2048x1152.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/background-2048x1280.png b/awesome/.config/awesome/themes/gruvbox/background-2048x1280.png index 9ad4338..f977b04 100644 --- a/awesome/.config/awesome/themes/gruvbox/background-2048x1280.png +++ b/awesome/.config/awesome/themes/gruvbox/background-2048x1280.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/background-2048x1536.png b/awesome/.config/awesome/themes/gruvbox/background-2048x1536.png index 66de69d..477da23 100644 --- a/awesome/.config/awesome/themes/gruvbox/background-2048x1536.png +++ b/awesome/.config/awesome/themes/gruvbox/background-2048x1536.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/background.png b/awesome/.config/awesome/themes/gruvbox/background.png deleted file mode 100644 index a8d6ff0..0000000 --- a/awesome/.config/awesome/themes/gruvbox/background.png +++ /dev/null Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/cornerne.png b/awesome/.config/awesome/themes/gruvbox/layouts/cornerne.png new file mode 100644 index 0000000..b597376 --- /dev/null +++ b/awesome/.config/awesome/themes/gruvbox/layouts/cornerne.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/cornernw.png b/awesome/.config/awesome/themes/gruvbox/layouts/cornernw.png new file mode 100644 index 0000000..3132710 --- /dev/null +++ b/awesome/.config/awesome/themes/gruvbox/layouts/cornernw.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/cornerse.png b/awesome/.config/awesome/themes/gruvbox/layouts/cornerse.png new file mode 100644 index 0000000..ea15307 --- /dev/null +++ b/awesome/.config/awesome/themes/gruvbox/layouts/cornerse.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/cornersw.png b/awesome/.config/awesome/themes/gruvbox/layouts/cornersw.png new file mode 100644 index 0000000..dc93a13 --- /dev/null +++ b/awesome/.config/awesome/themes/gruvbox/layouts/cornersw.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/dwindle.png b/awesome/.config/awesome/themes/gruvbox/layouts/dwindle.png index 914b0da..730fb5f 100644 --- a/awesome/.config/awesome/themes/gruvbox/layouts/dwindle.png +++ b/awesome/.config/awesome/themes/gruvbox/layouts/dwindle.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/fairh.png b/awesome/.config/awesome/themes/gruvbox/layouts/fairh.png index c68b04c..f048c4e 100644 --- a/awesome/.config/awesome/themes/gruvbox/layouts/fairh.png +++ b/awesome/.config/awesome/themes/gruvbox/layouts/fairh.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/fairv.png b/awesome/.config/awesome/themes/gruvbox/layouts/fairv.png index f71d011..802d935 100644 --- a/awesome/.config/awesome/themes/gruvbox/layouts/fairv.png +++ b/awesome/.config/awesome/themes/gruvbox/layouts/fairv.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/floating.png b/awesome/.config/awesome/themes/gruvbox/layouts/floating.png index fbebe75..d3e8274 100644 --- a/awesome/.config/awesome/themes/gruvbox/layouts/floating.png +++ b/awesome/.config/awesome/themes/gruvbox/layouts/floating.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/fullscreen.png b/awesome/.config/awesome/themes/gruvbox/layouts/fullscreen.png index d7b5615..957dee3 100644 --- a/awesome/.config/awesome/themes/gruvbox/layouts/fullscreen.png +++ b/awesome/.config/awesome/themes/gruvbox/layouts/fullscreen.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/magnifier.png b/awesome/.config/awesome/themes/gruvbox/layouts/magnifier.png index cfaa4be..bc1b1a8 100644 --- a/awesome/.config/awesome/themes/gruvbox/layouts/magnifier.png +++ b/awesome/.config/awesome/themes/gruvbox/layouts/magnifier.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/max.png b/awesome/.config/awesome/themes/gruvbox/layouts/max.png index c975785..c1efe5d 100644 --- a/awesome/.config/awesome/themes/gruvbox/layouts/max.png +++ b/awesome/.config/awesome/themes/gruvbox/layouts/max.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/spiral.png b/awesome/.config/awesome/themes/gruvbox/layouts/spiral.png index 873cd18..98749a5 100644 --- a/awesome/.config/awesome/themes/gruvbox/layouts/spiral.png +++ b/awesome/.config/awesome/themes/gruvbox/layouts/spiral.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/tile.png b/awesome/.config/awesome/themes/gruvbox/layouts/tile.png index 731cdef..a2cbf30 100644 --- a/awesome/.config/awesome/themes/gruvbox/layouts/tile.png +++ b/awesome/.config/awesome/themes/gruvbox/layouts/tile.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/tilebottom.png b/awesome/.config/awesome/themes/gruvbox/layouts/tilebottom.png index 064e429..af39eae 100644 --- a/awesome/.config/awesome/themes/gruvbox/layouts/tilebottom.png +++ b/awesome/.config/awesome/themes/gruvbox/layouts/tilebottom.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/tileleft.png b/awesome/.config/awesome/themes/gruvbox/layouts/tileleft.png index 0bf6785..bdff47e 100644 --- a/awesome/.config/awesome/themes/gruvbox/layouts/tileleft.png +++ b/awesome/.config/awesome/themes/gruvbox/layouts/tileleft.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/layouts/tiletop.png b/awesome/.config/awesome/themes/gruvbox/layouts/tiletop.png index 781f2ee..681a873 100644 --- a/awesome/.config/awesome/themes/gruvbox/layouts/tiletop.png +++ b/awesome/.config/awesome/themes/gruvbox/layouts/tiletop.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/submenu.png b/awesome/.config/awesome/themes/gruvbox/submenu.png index 6f9e9c5..15ca0b8 100644 --- a/awesome/.config/awesome/themes/gruvbox/submenu.png +++ b/awesome/.config/awesome/themes/gruvbox/submenu.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/taglist/square.png b/awesome/.config/awesome/themes/gruvbox/taglist/square.png index f49944e..16eb9dc 100644 --- a/awesome/.config/awesome/themes/gruvbox/taglist/square.png +++ b/awesome/.config/awesome/themes/gruvbox/taglist/square.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/taglist/squaref.png b/awesome/.config/awesome/themes/gruvbox/taglist/squaref.png index a780e55..ab9e201 100644 --- a/awesome/.config/awesome/themes/gruvbox/taglist/squaref.png +++ b/awesome/.config/awesome/themes/gruvbox/taglist/squaref.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/theme.lua b/awesome/.config/awesome/themes/gruvbox/theme.lua index 84c96ca..e1cd7e6 100644 --- a/awesome/.config/awesome/themes/gruvbox/theme.lua +++ b/awesome/.config/awesome/themes/gruvbox/theme.lua @@ -1,5 +1,4 @@ -- gruvbox awesome theme --- -- Copyright (C) 2016 Raphael McSinyx -- -- This program is free software: you can redistribute it and/or modify @@ -15,105 +14,117 @@ -- You should have received a copy of the GNU General Public License -- along with this program. If not, see <http://www.gnu.org/licenses/>. -theme = {} +local theme = {} + +-- Working directory (where you place this theme) +theme.wd = "~/.config/awesome/themes/gruvbox/" -theme.font = "Droid Sans Mono Slashed 11" +theme.font = "Space Mono 10" -theme.bg_normal = "#282828" -theme.bg_focus = "#3c3836" -theme.bg_urgent = theme.bg_normal ---theme.bg_minimize = "#444444" -theme.bg_systray = theme.bg_normal +theme.bg_normal = "#fbf1c7" +theme.bg_focus = "#ebdbb2" +theme.bg_urgent = theme.bg_normal +theme.bg_minimize = theme.bg_focus +theme.bg_systray = theme.bg_normal -theme.fg_normal = "#ebdbb2" -theme.fg_focus = theme.fg_normal -theme.fg_urgent = "#d3869b" ---theme.fg_minimize = "#ffffff" +theme.fg_normal = "#3c3836" +theme.fg_focus = theme.fg_normal +theme.fg_urgent = "#8f3f71" +theme.fg_minimize = theme.fg_normal -theme.border_width = 1 -theme.border_normal = "#3c3836" -theme.border_focus = "#b16286" -theme.border_marked = "#91231c" +theme.useless_gap = 0 +theme.border_width = 1 +theme.border_normal = theme.bg_focus +theme.border_focus = "#b16286" +theme.border_marked = "#cc241d" --- There are other variable sets overriding the default one when defined, --- the sets are: +-- There are other variable sets +-- overriding the default one when +-- defined, the sets are: -- taglist_[bg|fg]_[focus|urgent|occupied|empty] -- tasklist_[bg|fg]_[focus|urgent] -- titlebar_[bg|fg]_[normal|focus] -- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] -- mouse_finder_[color|timeout|animate_timeout|radius|factor] - -theme.titlebar_bg_focus = "#282828" - -mythemedir = "~/.config/awesome/themes/gruvbox/" +-- Example: +--theme.taglist_bg_focus = "#ff0000" -- Display the taglist squares -theme.taglist_squares_sel = mythemedir .. "taglist/squaref.png" -theme.taglist_squares_unsel = mythemedir .. "taglist/square.png" +theme.taglist_squares_sel = theme.wd .. "taglist/squaref.png" +theme.taglist_squares_unsel = theme.wd .. "taglist/square.png" -- Variables set for theming the menu: -- menu_[bg|fg]_[normal|focus] -- menu_[border_color|border_width] -theme.menu_submenu_icon = mythemedir .. "submenu.png" -theme.menu_height = 20 +theme.menu_submenu_icon = theme.wd .. "submenu.png" +theme.menu_height = 22 theme.menu_width = 160 --- You can add as many variables as you wish and access them by using +-- You can add as many variables as +-- you wish and access them by using -- beautiful.variable in your rc.lua --theme.bg_widget = "#cc0000" -- Define the image to load -theme.titlebar_close_button_normal = mythemedir .. "titlebar/normal.png" -theme.titlebar_close_button_focus = mythemedir .. "titlebar/close_focus.png" +theme.titlebar_close_button_normal = theme.wd .. "titlebar/normal.png" +theme.titlebar_close_button_focus = theme.wd .. "titlebar/close.png" + +theme.titlebar_minimize_button_normal = theme.wd .. "titlebar/normal.png" +theme.titlebar_minimize_button_focus = theme.wd .. "titlebar/minimize.png" -theme.titlebar_ontop_button_normal_inactive = mythemedir .. "titlebar/normal.png" -theme.titlebar_ontop_button_focus_inactive = mythemedir .. "titlebar/ontop_focus_inactive.png" -theme.titlebar_ontop_button_normal_active = mythemedir .. "titlebar/normal.png" -theme.titlebar_ontop_button_focus_active = mythemedir .. "titlebar/ontop_focus_active.png" +theme.titlebar_ontop_button_normal_inactive = theme.wd .. "titlebar/normal.png" +theme.titlebar_ontop_button_focus_inactive = theme.wd .. "titlebar/ontop_inactive.png" +theme.titlebar_ontop_button_normal_active = theme.wd .. "titlebar/normal.png" +theme.titlebar_ontop_button_focus_active = theme.wd .. "titlebar/ontop_active.png" -theme.titlebar_sticky_button_normal_inactive = mythemedir .. "titlebar/normal.png" -theme.titlebar_sticky_button_focus_inactive = mythemedir .. "titlebar/sticky_focus_inactive.png" -theme.titlebar_sticky_button_normal_active = mythemedir .. "titlebar/normal.png" -theme.titlebar_sticky_button_focus_active = mythemedir .. "titlebar/sticky_focus_active.png" +theme.titlebar_sticky_button_normal_inactive = theme.wd .. "titlebar/normal.png" +theme.titlebar_sticky_button_focus_inactive = theme.wd .. "titlebar/sticky_inactive.png" +theme.titlebar_sticky_button_normal_active = theme.wd .. "titlebar/normal.png" +theme.titlebar_sticky_button_focus_active = theme.wd .. "titlebar/sticky_active.png" -theme.titlebar_floating_button_normal_inactive = mythemedir .. "titlebar/normal.png" -theme.titlebar_floating_button_focus_inactive = mythemedir .. "titlebar/floating_focus_inactive.png" -theme.titlebar_floating_button_normal_active = mythemedir .. "titlebar/normal.png" -theme.titlebar_floating_button_focus_active = mythemedir .. "titlebar/floating_focus_active.png" +theme.titlebar_floating_button_normal_inactive = theme.wd .. "titlebar/normal.png" +theme.titlebar_floating_button_focus_inactive = theme.wd .. "titlebar/floating_inactive.png" +theme.titlebar_floating_button_normal_active = theme.wd .. "titlebar/normal.png" +theme.titlebar_floating_button_focus_active = theme.wd .. "titlebar/floating_active.png" -theme.titlebar_maximized_button_normal_inactive = mythemedir .. "titlebar/normal.png" -theme.titlebar_maximized_button_focus_inactive = mythemedir .. "titlebar/maximized_focus_inactive.png" -theme.titlebar_maximized_button_normal_active = mythemedir .. "titlebar/normal.png" -theme.titlebar_maximized_button_focus_active = mythemedir .. "titlebar/maximized_focus_active.png" +theme.titlebar_maximized_button_normal_inactive = theme.wd .. "titlebar/normal.png" +theme.titlebar_maximized_button_focus_inactive = theme.wd .. "titlebar/maximized_inactive.png" +theme.titlebar_maximized_button_normal_active = theme.wd .. "titlebar/normal.png" +theme.titlebar_maximized_button_focus_active = theme.wd .. "titlebar/maximized_active.png" -theme.wallpaper = mythemedir .. "background.png" +--theme.wallpaper = theme.wd .. "background.png" -- You can use your own layout icons like this: -theme.layout_fairh = mythemedir .. "layouts/fairh.png" -theme.layout_fairv = mythemedir .. "layouts/fairv.png" -theme.layout_floating = mythemedir .. "layouts/floating.png" -theme.layout_magnifier = mythemedir .. "layouts/magnifier.png" -theme.layout_max = mythemedir .. "layouts/max.png" -theme.layout_fullscreen = mythemedir .. "layouts/fullscreen.png" -theme.layout_tilebottom = mythemedir .. "layouts/tilebottom.png" -theme.layout_tileleft = mythemedir .. "layouts/tileleft.png" -theme.layout_tile = mythemedir .. "layouts/tile.png" -theme.layout_tiletop = mythemedir .. "layouts/tiletop.png" -theme.layout_spiral = mythemedir .. "layouts/spiral.png" -theme.layout_dwindle = mythemedir .. "layouts/dwindle.png" - -theme.awesome_icon = mythemedir .. "awesome.png" - --- Define the icon theme for application icons. If not set then the icons from --- /usr/share/icons and /usr/share/icons/hicolor will be used. +theme.layout_fairh = theme.wd .. "layouts/fairh.png" +theme.layout_fairv = theme.wd .. "layouts/fairv.png" +theme.layout_floating = theme.wd .. "layouts/floating.png" +theme.layout_magnifier = theme.wd .. "layouts/magnifier.png" +theme.layout_max = theme.wd .. "layouts/max.png" +theme.layout_fullscreen = theme.wd .. "layouts/fullscreen.png" +theme.layout_tilebottom = theme.wd .. "layouts/tilebottom.png" +theme.layout_tileleft = theme.wd .. "layouts/tileleft.png" +theme.layout_tile = theme.wd .. "layouts/tile.png" +theme.layout_tiletop = theme.wd .. "layouts/tiletop.png" +theme.layout_spiral = theme.wd .. "layouts/spiral.png" +theme.layout_dwindle = theme.wd .. "layouts/dwindle.png" +theme.layout_cornernw = theme.wd .. "layouts/cornernw.png" +theme.layout_cornerne = theme.wd .. "layouts/cornerne.png" +theme.layout_cornersw = theme.wd .. "layouts/cornersw.png" +theme.layout_cornerse = theme.wd .. "layouts/cornerse.png" + +theme.awesome_icon = theme.wd .. "awesome.png" + +-- Define the icon theme for application icons. If not set then the icons +-- from /usr/share/icons and /usr/share/icons/hicolor will be used. theme.icon_theme = nil -- Arrows -theme.arrow0 = mythemedir .. "arrows/0.png" -theme.arrow1 = mythemedir .. "arrows/1.png" -theme.arrow2 = mythemedir .. "arrows/2.png" -theme.arrow3 = mythemedir .. "arrows/3.png" -theme.arrow4 = mythemedir .. "arrows/4.png" -theme.arrow5 = mythemedir .. "arrows/5.png" +theme.arrow0 = theme.wd .. "arrows/0.png" +theme.arrow1 = theme.wd .. "arrows/1.png" +theme.arrow2 = theme.wd .. "arrows/2.png" +theme.arrow3 = theme.wd .. "arrows/3.png" +theme.arrow4 = theme.wd .. "arrows/4.png" +theme.arrow5 = theme.wd .. "arrows/5.png" +theme.arrow6 = theme.wd .. "arrows/6.png" return theme diff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/close.png b/awesome/.config/awesome/themes/gruvbox/titlebar/close.png new file mode 100644 index 0000000..6c5c53f --- /dev/null +++ b/awesome/.config/awesome/themes/gruvbox/titlebar/close.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/close_focus.png b/awesome/.config/awesome/themes/gruvbox/titlebar/close_focus.png deleted file mode 100644 index 36300e2..0000000 --- a/awesome/.config/awesome/themes/gruvbox/titlebar/close_focus.png +++ /dev/null Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/floating_active.png b/awesome/.config/awesome/themes/gruvbox/titlebar/floating_active.png new file mode 100644 index 0000000..bbaebb9 --- /dev/null +++ b/awesome/.config/awesome/themes/gruvbox/titlebar/floating_active.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/floating_focus_active.png b/awesome/.config/awesome/themes/gruvbox/titlebar/floating_focus_active.png deleted file mode 100644 index dcf5363..0000000 --- a/awesome/.config/awesome/themes/gruvbox/titlebar/floating_focus_active.png +++ /dev/null Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/floating_focus_inactive.png b/awesome/.config/awesome/themes/gruvbox/titlebar/floating_focus_inactive.png deleted file mode 100644 index 072f114..0000000 --- a/awesome/.config/awesome/themes/gruvbox/titlebar/floating_focus_inactive.png +++ /dev/null Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/floating_inactive.png b/awesome/.config/awesome/themes/gruvbox/titlebar/floating_inactive.png new file mode 100644 index 0000000..0988a71 --- /dev/null +++ b/awesome/.config/awesome/themes/gruvbox/titlebar/floating_inactive.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_active.png b/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_active.png new file mode 100644 index 0000000..de6bc5b --- /dev/null +++ b/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_active.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_focus_active.png b/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_focus_active.png deleted file mode 100644 index 3481363..0000000 --- a/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_focus_active.png +++ /dev/null Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_focus_inactive.png b/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_focus_inactive.png deleted file mode 100644 index 6bed56d..0000000 --- a/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_focus_inactive.png +++ /dev/null Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_inactive.png b/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_inactive.png new file mode 100644 index 0000000..0d701bd --- /dev/null +++ b/awesome/.config/awesome/themes/gruvbox/titlebar/maximized_inactive.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/minimize.png b/awesome/.config/awesome/themes/gruvbox/titlebar/minimize.png new file mode 100644 index 0000000..464c553 --- /dev/null +++ b/awesome/.config/awesome/themes/gruvbox/titlebar/minimize.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/normal.png b/awesome/.config/awesome/themes/gruvbox/titlebar/normal.png index a8d94cf..4c54de3 100644 --- a/awesome/.config/awesome/themes/gruvbox/titlebar/normal.png +++ b/awesome/.config/awesome/themes/gruvbox/titlebar/normal.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_active.png b/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_active.png new file mode 100644 index 0000000..e1f42fd --- /dev/null +++ b/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_active.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_focus_active.png b/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_focus_active.png deleted file mode 100644 index 7b938f0..0000000 --- a/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_focus_active.png +++ /dev/null Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_focus_inactive.png b/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_focus_inactive.png deleted file mode 100644 index 9b6727f..0000000 --- a/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_focus_inactive.png +++ /dev/null Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_inactive.png b/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_inactive.png new file mode 100644 index 0000000..1cf8e20 --- /dev/null +++ b/awesome/.config/awesome/themes/gruvbox/titlebar/ontop_inactive.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_active.png b/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_active.png new file mode 100644 index 0000000..7ed573e --- /dev/null +++ b/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_active.png Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_focus_active.png b/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_focus_active.png deleted file mode 100644 index 5f627db..0000000 --- a/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_focus_active.png +++ /dev/null Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_focus_inactive.png b/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_focus_inactive.png deleted file mode 100644 index 8f484ad..0000000 --- a/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_focus_inactive.png +++ /dev/null Binary files differdiff --git a/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_inactive.png b/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_inactive.png new file mode 100644 index 0000000..cc03ad4 --- /dev/null +++ b/awesome/.config/awesome/themes/gruvbox/titlebar/sticky_inactive.png Binary files differdiff --git a/bash/.bashrc b/bash/.bashrc index 65c9ae3..334c920 100644 --- a/bash/.bashrc +++ b/bash/.bashrc @@ -129,5 +129,5 @@ fi # vi mode input set -o vi -export RTV_EDITOR=vim -export BROWSER=w3m +export EDITOR=vim +export PAGER=less diff --git a/screenshot.png b/screenshot.png index 56c1045..96e5d4f 100644 --- a/screenshot.png +++ b/screenshot.png Binary files differdiff --git a/vim/.vim/gvimrc b/vim/.vim/gvimrc index e73b2b0..4990d1f 100755 --- a/vim/.vim/gvimrc +++ b/vim/.vim/gvimrc @@ -1,6 +1,6 @@ set number relativenumber lazyredraw -set guifont=Droid\ Sans\ Mono\ Dotted\ 11 +set guifont=Space\ Mono\ 10 set guioptions=Pc set guicursor+=a:blinkon0 -set background=dark +set background=light colorscheme gruvbox diff --git a/vim/.vim/pack/abolish/start/vim-abolish b/vim/.vim/pack/abolish/start/vim-abolish new file mode 160000 +Subproject 05c7d31f6b3066582017edf5198502a94f6a7cb diff --git a/vim/.vim/vimrc b/vim/.vim/vimrc index 8a3a409..a8e8239 100755 --- a/vim/.vim/vimrc +++ b/vim/.vim/vimrc @@ -6,14 +6,13 @@ set directory=~/.cache/vim/swap set backupdir=~/.cache/vim/backup set viminfo+=n~/.cache/vim/viminfo set clipboard=exclude:cons\|linux -set hidden set wildmenu set showcmd set nostartofline set ruler set confirm set list -if has("patch-7.4.710") +if has("patch-7.4.710") && has("gui_running") set listchars+=space:·,tab:\ \ else set listchars+=tab:├─ @@ -23,7 +22,7 @@ set omnifunc=syntaxcomplete#Complete set dictionary=/usr/share/dict/words set keymap=vietnamese-telex imdisable iminsert=0 imsearch=-1 autocmd BufNewFile,BufRead *.PAS setlocal filetype=pascal -autocmd FileType vim,pascal,html setlocal shiftwidth=2 tabstop=2 +autocmd FileType vim,pascal,lua,html,rst setlocal shiftwidth=2 tabstop=2 autocmd FileType c,h,cpp,arduino setlocal noexpandtab shiftwidth=8 tabstop=8 autocmd FileType markdown setlocal textwidth=79 autocmd FileType python syntax keyword pythonBoolean False True None diff --git a/zathura/.config/zathura/zathurarc b/zathura/.config/zathura/zathurarc index fb5ce55..4c7d375 100644 --- a/zathura/.config/zathura/zathurarc +++ b/zathura/.config/zathura/zathurarc @@ -1,40 +1,40 @@ -set completion-bg \#7c6f64 -set completion-fg \#282828 -set completion-group-bg \#3c3836 -set completion-group-fg \#ebdbb2 -set completion-highlight-bg \#83a598 -set completion-highlight-fg \#504945 -set default-fg \#ebdbb2 -set default-bg \#3c3836 -set font Droid\ Sans\ Mono\ Slashed\ 11 +set completion-bg \#a89984 +set completion-fg \#fbf1c7 +set completion-group-bg \#ebdbb2 +set completion-group-fg \#3c3836 +set completion-highlight-bg \#076678 +set completion-highlight-fg \#d5c4a1 +set default-fg \#3c3836 +set default-bg \#ebdbb2 +set font Space\ Mono\ 10 set guioptions cs -set inputbar-fg \#ebdbb2 -set inputbar-bg \#282828 -set notification-bg \#282828 -set notification-fg \#ebdbb2 -set notification-error-bg \#fb4934 -set notification-error-fg \#282828 -set notification-warning-bg \#282828 -set notification-warning-fg \#fb4934 -set tabbar-bg \#282828 -set tabbar-fg \#7c6f64 -set tabbar-focus-bg \#7c6f64 -set tabbar-focus-fg \#282828 -set statusbar-bg \#7c6f64 -set statusbar-fg \#282828 +set inputbar-fg \#3c3836 +set inputbar-bg \#fbf1c7 +set notification-bg \#fbf1c7 +set notification-fg \#3c3836 +set notification-error-bg \#9d0006 +set notification-error-fg \#fbf1c7 +set notification-warning-bg \#fbf1c7 +set notification-warning-fg \#9d0006 +set tabbar-bg \#fbf1c7 +set tabbar-fg \#a89984 +set tabbar-focus-bg \#a89984 +set tabbar-focus-fg \#fbf1c7 +set statusbar-bg \#a89984 +set statusbar-fg \#fbf1c7 set adjust-open width set incremental-search false -set highlight-color \#3c3836 -set highlight-active-color \#ebdbb2 +set highlight-color \#ebdbb2 +set highlight-active-color \#3c3836 set recolor true -set recolor-darkcolor \#ebdbb2 -set recolor-lightcolor \#282828 +set recolor-darkcolor \#3c3836 +set recolor-lightcolor \#fbf1c7 set recolor-reverse-video false -set render-loading-bg \#282828 -set render-loading-fg \#ebdbb2 +set render-loading-bg \#fbf1c7 +set render-loading-fg \#3c3836 set statusbar-home-tilde true set selection-clipboard primary -set index-bg \#282828 +set index-bg \#fbf1c7 set index-fg \#98971a -set index-active-bg \#3c3836 +set index-active-bg \#ebdbb2 set index-active-fg \#98971a |