X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/a5a6195ce76d754b5f02946ec474213ac79af103..5e047618339863d023c6806081e8df3193bd7641:/.config/awesome/rc.lua?ds=inline diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index ce317dd..afbcb7d 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -25,7 +25,7 @@ local has_fdo, freedesktop = pcall(require, "freedesktop") -- Other libraries local lain = require("lain") local ccwidgets = require("cryptocoin_widgets") -local fxwidgets = require("forex_widgets") +--local fxwidgets = require("forex_widgets") local clocksarray = require("clocksarray") local dbg = require("debugfunc") local th = require("taghelpers") @@ -306,10 +306,10 @@ awful.screen.connect_for_each_screen(function(s) make_spacer(" "), ccwidgets.btc_widget, make_spacer(), - ccwidgets.eth_widget, - make_spacer(), - fxwidgets.ecb_widget, - make_spacer(), + --ccwidgets.eth_widget, + --make_spacer(), + --fxwidgets.ecb_widget, + --make_spacer(), lain_bat.widget, make_spacer(), }, right_widgets) @@ -473,27 +473,56 @@ end default_tags[1].selected = true default_tags = gears.table.join(default_tags, { + { + name = "vrt", + init = true, + exclusive = true, + layout = layouts.maximised, + selected = false, + exec_once = { "remmina" }, + instance = { "Remmina" }, + targets = { + "gern/DP-?[12]-1", + "gauting/eDP-?1", + "toni/eDP-?1", + "krafftwerk/DP-?1-1-5", + "krafftwerk/DisplayPort-2", + "cafe/eDP-?1" + }, + }, { name = "irc", init = true, exclusive = true, - master_width_factor = 0.33, layout = layouts.tiled, - selected = true, + selected = false, exec_once = { terminal .. " -name irc -e env MOSH_TITLE_NOPREFIX=true mosh --family=all -- irc-host tmux new -As irc irssi" }, instance = { "irc" }, - targets = { "gauting/eDP-?1", "lehel/DisplayPort-2" }, + targets = { + "gern/DP-?[12]-1", + "gauting/eDP-?1", + "toni/eDP-?1", + "krafftwerk/DP-?1-1-5", + "krafftwerk/DisplayPort-2", + "cafe/eDP-?1" + }, }, { - name = "[m]", + name = "[]", init = true, exclusive = true, - master_width_factor = 0.67, + master_count = 0, + column_count = 4, layout = layouts.tiled, selected = false, - exec_once = { "revolt" }, - instance = { "Revolt" }, - targets = { "gauting/eDP-?1", "lehel/DisplayPort-2" }, + targets = { + "gern/DP-?[12]-1", + "gauting/eDP-?1", + "toni/eDP-?1", + "krafftwerk/DP-?1-1-5", + "krafftwerk/DisplayPort-2", + "cafe/eDP-?1" + }, }, { name = "dflt", @@ -510,7 +539,14 @@ default_tags = gears.table.join(default_tags, { layout = layouts.default, exec_once = { "thunderbird" }, class = { "thunderbird" }, - targets = { "gauting/eDP-?1", "lehel/DisplayPort-1" }, + targets = { + "gern/DP-?[12]-1", + "gauting/eDP-?1", + "toni/eDP-?1", + "krafftwerk/DP-?1-1-6", + "krafftwerk/DisplayPort-0", + "cafe/eDP-?1" + }, }, { name = "chr", @@ -519,7 +555,15 @@ default_tags = gears.table.join(default_tags, { layout = layouts.default, exec_once = { "chromium" }, class = { "Chromium" }, - targets = { "gauting/eDP-?1", "lehel/DisplayPort-1", "present/HDMI.*" }, + targets = { + "gern/DP-?[12]-1", + "gauting/eDP-?1", + "toni/DP-?2-2", + "krafftwerk/DP-?1-1-6", + "krafftwerk/DisplayPort-0", + "present/HDMI.*", + "cafe/eDP-?1" + }, }, { name = "ffx", @@ -528,7 +572,15 @@ default_tags = gears.table.join(default_tags, { layout = layouts.default, exec_once = { "firefox" }, class = { "Firefox" }, - targets = { "gauting/eDP-?1", "lehel/DisplayPort-1", "present/HDMI.*" }, + targets = { + "gern/DP-?[12]-1", + "gauting/eDP-?1", + "toni/DP-?2-2", + "krafftwerk/DP-?1-1-6", + "krafftwerk/DisplayPort-0", + "present/HDMI.*", + "cafe/eDP-?1" + }, }, }) @@ -607,6 +659,14 @@ local function toggle_tag_by_name(tagname, exclusive) end end +local function move_tags_to_screen_relative(direction) + local s = awful.screen.focused() + for _,tag in ipairs(s.selected_tags) do + print("index: " .. s.index .. " count: " .. screen:count()) + tag.screen = screen[(s.index + screen:count() + direction) % screen.count()] + end +end + globalkeys = gears.table.join( awful.key({ modkey, }, "s", hotkeys_popup.show_help, {description="show help", group="awesome"}), @@ -614,10 +674,6 @@ globalkeys = gears.table.join( {description = "view previous", group = "tag"}), awful.key({ modkey, }, "Right", awful.tag.viewnext, {description = "view next", group = "tag"}), - awful.key({ modkey, "Shift" }, "Left", function () awful.screen.focus_relative( 1) end, - {description = "focus the next screen", group = "screen"}), - awful.key({ modkey, "Shift" }, "Right", function () awful.screen.focus_relative(-1) end, - {description = "focus the previous screen", group = "screen"}), awful.key({ modkey, }, "Escape", awful.tag.history.restore, {description = "go back", group = "tag"}), @@ -635,14 +691,18 @@ globalkeys = gears.table.join( ), -- Layout manipulation - awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( 1) end, + awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( 1) end, {description = "swap with next client by index", group = "client"}), - awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( -1) end, + awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx(-1) end, {description = "swap with previous client by index", group = "client"}), awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative( 1) end, {description = "focus the next screen", group = "screen"}), awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative(-1) end, {description = "focus the previous screen", group = "screen"}), + awful.key({ modkey, "Shift", "Control" }, "k", function () move_tags_to_screen_relative( 1) end, + {description = "move tags to the next screen", group = "screen"}), + awful.key({ modkey, "Shift", "Control" }, "j", function () move_tags_to_screen_relative(-1) end, + {description = "move tags to the previous screen", group = "screen"}), awful.key({ modkey, "Shift" }, "Return", awful.client.urgent.jumpto, {description = "jump to urgent client", group = "client"}), awful.key({ modkey, }, "Tab", @@ -782,14 +842,18 @@ globalkeys = gears.table.join( awful.key({ modkey, "Control", "Shift", "Mod1" }, "a", th.collect_orphan_clients_to_tag, {description = "collect all orphaned clients", group = "client"}), + awful.key({ modkey }, "t", toggle_tag_by_name("vrt", true), + {description = "view tag 'vrt'", group = "tag"}), + awful.key({ modkey, "Control" }, "t", toggle_tag_by_name("vrt"), + {description = "toggle tag 'vrt'", group = "tag"}), awful.key({ modkey }, "y", toggle_tag_by_name("irc", true), {description = "view tag 'irc'", group = "tag"}), awful.key({ modkey, "Control" }, "y", toggle_tag_by_name("irc"), {description = "toggle tag 'irc'", group = "tag"}), - awful.key({ modkey }, "u", toggle_tag_by_name("[m]", true), - {description = "view tag '[m]'", group = "tag"}), - awful.key({ modkey, "Control" }, "u", toggle_tag_by_name("[m]"), - {description = "toggle tag '[m]'", group = "tag"}), + awful.key({ modkey }, "u", toggle_tag_by_name("[]", true), + {description = "view tag '[]'", group = "tag"}), + awful.key({ modkey, "Control" }, "u", toggle_tag_by_name("[]"), + {description = "toggle tag '[]'", group = "tag"}), awful.key({ modkey }, "i", toggle_tag_by_name("cal", true), {description = "view tag 'cal'", group = "tag"}), awful.key({ modkey, "Control" }, "i", toggle_tag_by_name("cal"), @@ -819,8 +883,8 @@ clientkeys = gears.table.join( {description = "move to master", group = "client"}), awful.key({ modkey, }, "z", 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, }, "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 @@ -899,16 +963,16 @@ awful.key({ cmdkey }, "y", function () awful.spawn(terminal .. " -e ipython3") e awful.key({ cmdkey }, "m", function () awful.spawn(terminal .. " -name mutt -e mutt") end), awful.key({ cmdkey }, "t", function () awful.spawn("thunderbird") end), awful.key({ cmdkey }, "g", function () awful.spawn("gscan2pdf") end), -awful.key({ cmdkey }, "v", function () awful.spawn("virt-manager") end), +awful.key({ cmdkey, "Shift" }, "v", function () awful.spawn("virt-manager") end), +awful.key({ cmdkey, "Shift" }, "r", function () awful.spawn("remmina") end), awful.key({ cmdkey }, "l", function () awful.spawn("libreoffice") end), +awful.key({ cmdkey }, "v", function () awful.spawn("virt-viewer") end), awful.key({ cmdkey }, "p", function () awful.spawn("pavucontrol") end), awful.key({ cmdkey }, "i", function () awful.spawn(terminal .. " -name irc -e env MOSH_TITLE_NOPREFIX=true mosh --family=all -- irc-host tmux new -As irc irssi") end), awful.key({ cmdkey }, "x", function () - awful.spawn("/usr/bin/xscreensaver -no-capture-stderr") - os.execute("sleep 5") - awful.spawn("xscreensaver-command -lock") + run_output_notify("sh -c '. ~/.xsession.d/10-xautolock; echo \"Locking…\"; sleep 1; xautolock -locknow'", "Enabling xautolock") end), -awful.key({ cmdkey, "Shift" }, "x", function () awful.spawn("xscreensaver-command -exit") end), +awful.key({ cmdkey, "Shift" }, "x", function () run_output_notify("pkill -e xautolock", "Disabling xautolock") end), awful.key({ cmdkey }, "BackSpace", function () awful.spawn("pkill -USR1 offlineimap") end), @@ -924,14 +988,16 @@ awful.key(nil, "XF86AudioMicMute", function () awful.spawn("pactl set-source-mut awful.key({ cmdkey }, "Home", function () awful.spawn("pactl set-source-mute @DEFAULT_SOURCE@ toggle") end), awful.key({ cmdkey }, "Insert", function () awful.spawn("pa_cycle_default source") end), awful.key({ cmdkey }, "Delete", function () awful.spawn("pa_cycle_default sink") end), -awful.key(nil, "XF86MonBrightnessDown", function () awful.spawn("xbacklight -dec 5%") end), -awful.key(nil, "XF86MonBrightnessUp", function () awful.spawn("xbacklight -inc 5%") end), +awful.key(nil, "XF86MonBrightnessDown", function () awful.spawn("light -U 10") end), +awful.key(nil, "XF86MonBrightnessUp", function () awful.spawn("light -A 10") end), awful.key(nil, "XF86Display", function () awful.spawn("autorandr --change --force"); initialise_to_autorandr_profile() end), +awful.key(nil, "XF86AudioStop", function () awful.spawn("autorandr --change --force"); initialise_to_autorandr_profile() end), awful.key(nil, "XF86WLAN", function () awful.spawn("") end), awful.key(nil, "XF86Tools", function () awful.spawn("") end), awful.key(nil, "XF86Search", function () awful.spawn("") end), awful.key(nil, "XF86LaunchA", function () awful.spawn("") end), awful.key(nil, "XF86Explorer", function () awful.spawn("") end), +awful.key(nil, "XF86Calculator", function () awful.spawn(terminal .. " -e ipython3 --profile=calc") end), awful.key(nil, "XF86Favorites", function () awful.spawn("systemctl suspend") end), awful.key({ cmdkey }, "Multi_key", function () run_output_notify("flameshot gui", "Output") end), @@ -1035,9 +1101,19 @@ awful.rules.rules = { { rule = { instance = "irc" }, callback = move_to_tag_by_name(nil, "irc"), }, + { rule = { class = "scrcpy" }, + callback = move_to_tag_by_name(nil, "[]"), + }, { rule_any = { class = { "Firefox", "firefox" } }, callback = move_to_tag_by_name(nil, "ffx"), }, + { rule_any = { class = { "org.remmina.Remmina", + "Virt-viewer", + "Virt-manager" + }, + }, + callback = move_to_tag_by_name(nil, "vrt"), + }, { rule = { class = "Chromium" }, callback = move_to_tag_by_name(nil, "chr"), }, @@ -1086,12 +1162,10 @@ awful.rules.rules = { }, }, { rule_any = { class = { - "Gscan2pdf", "Gimp", "Inkscape", "Pitivi", "Audacity", - "Microsoft Teams - Preview", }, instance = { "libreoffice", @@ -1102,10 +1176,27 @@ awful.rules.rules = { layout = layouts.maximised, volatile = true, }, - --switchtotag = true, + switchtotag = true, focus = true, }, - }, + }, + { rule_any = { class = { + "Gscan2pdf", + }, + }, + except_any = { type = { "dialog" } }, + properties = { new_tag = { + layout = layouts.default, + volatile = true, + }, + floating = true, + maximized = false, + focus = true, + placement = awful.placement.centered, + switchtotag = true, + focus = true, + }, + }, --XX-- { rule = { class = "Gscan2pdf" }, --XX-- properties = { --XX-- switchtotag = true