the things

This commit is contained in:
Crispy 2024-01-24 21:05:21 +01:00
parent bc7920537e
commit d1418b6444
15 changed files with 431 additions and 57 deletions

View file

@ -1 +0,0 @@
# dotfiles

View file

@ -13,14 +13,17 @@ awful.spawn("redshift")
awful.spawn("sxhkd") awful.spawn("sxhkd")
if not is_laptop then if not is_laptop then
awful.spawn("discord", { screen = 3 }) awful.spawn("vesktop")
awful.spawn("vscodium") awful.spawn("vscodium")
awful.spawn("spotify", { tag = "2", screen = 3, urgent = false }) awful.spawn("spotify")
awful.spawn("firefox") awful.spawn("firefox")
local side_monitor = screen:count()
awful.spawn(terminal .. " -e fish -C \"sleep 5 && ncpamixer\"", awful.spawn(terminal .. " -e fish -C \"sleep 5 && ncpamixer\"",
{ tag = "3", screen = 3, urgent = false, focus = false }) { tag = "3", screen = side_monitor, urgent = false, focus = false })
awful.spawn(terminal .. " -e fish -C btop", { tag = "4", screen = 3, urgent = false, focus = false }) awful.spawn(terminal .. " -e fish -C btop", { tag = "4", screen = side_monitor, urgent = false, focus = false })
awful.spawn(terminal .. " -e fish -C \"sleep 5 && snoud\"", { tag = "5", screen = 3, urgent = false, focus = false }) awful.spawn(terminal .. " -e fish -C \"sleep 5 && snoud\"",
awful.spawn(terminal .. " -e fish -C \"sleep 2 && gomuks\"", { tag = "9", screen = 3, urgent = false, focus = false }) { tag = "5", screen = side_monitor, urgent = false, focus = false })
awful.spawn(terminal .. " -e fish -C \"sleep 2 && gomuks\"",
{ tag = "9", screen = side_monitor, urgent = false, focus = false })
end end

View file

@ -35,6 +35,12 @@ special_keys = gears.table.join(
end, end,
{ description = "Rofi", group = "launcher" }), { description = "Rofi", group = "launcher" }),
-- awful.key({ "Ctrl", "Shift" }, "E", function()
awful.key({ modkey }, "u", function()
awful.util.spawn(SCRIPTS_DIR .. "emoji_picker.sh")
end,
{ description = "Emoji picker", group = "launcher" }),
-- Media Keys -- Media Keys
awful.key({}, "XF86AudioPlay", function() awful.key({}, "XF86AudioPlay", function()

View file

@ -51,7 +51,8 @@ end
-- Theme -- Theme
local theme_path = CONFIG_DIR .. "/themes/default/" local theme_path = CONFIG_DIR .. "/themes/default/"
beautiful.init(theme_path .. "theme.lua") beautiful.init(theme_path .. "theme.lua")
naughty.notify({ title = "Theme loaded", text = tostring(theme_path), icon = theme_path .. "icon.png", screen = 1 }) -- naughty.notify({ title = "Theme loaded", text = tostring(theme_path), icon = theme_path .. "icon.png", screen = 1 })
-- naughty.notify({ title = "Screen count", text = tostring(screen:count()), icon = theme_path .. "icon.png", screen = 1 })
require("modules/brightness") require("modules/brightness")
require("modules/battery") require("modules/battery")
@ -97,8 +98,15 @@ local main_menu = awful.menu({
} }
}) })
local launcher = awful.widget.launcher({ image = beautiful.awesome_icon, menu = main_menu }) local launcher = awful.widget.launcher({ image = beautiful.awesome_icon, menu = main_menu })
local blahaj = awful.widget.launcher({ image = beautiful.blahaj, menu = {} }) local blahaj = awful.widget.button({
image = beautiful.blahaj,
menu = function()
awful.spawn(
"xdg-open https://www.ikea.com/se/sv/p/blahaj-mjukleksak-haj-30373588/")
end
})
-- Menubar configuration -- Menubar configuration
menubar.utils.terminal = terminal -- Set the terminal for applications that require it menubar.utils.terminal = terminal -- Set the terminal for applications that require it
@ -114,8 +122,31 @@ local juneday = awful.widget.watch(HOME_BIN .. "june", 600, function(widget, std
widget.text = " [ " .. line .. " ] " widget.text = " [ " .. line .. " ] "
break break
end end
end)
widget.align = "center" local kb_battery = awful.widget.watch(SCRIPTS_DIR .. "kb_battery.py", 60, function(widget, stdout)
for line in stdout:gmatch("[^\r\n]+") do
widget.text = " [ " .. line .. " ] "
break
end
end)
local birthday = awful.widget.watch(SCRIPTS_DIR .. "bdays.sh", 600, function(widget, stdout)
widget.text = ""
for line in stdout:gmatch("[^\r\n]+") do
widget.text = widget.text .. line .. " "
end
if widget.text ~= "" then
widget.text = "[ Birthday: " .. widget.text .. "]"
end
end)
local steamvr_status = awful.widget.watch("cat /tmp/steamvr_battery_status", 1, function(widget, stdout)
widget.text = ""
for line in stdout:gmatch("[^\r\n]+") do
widget.text = " [ " .. line .. "] "
break
end
end) end)
-- Create a textclock widget -- Create a textclock widget
@ -211,6 +242,9 @@ awful.screen.connect_for_each_screen(function(s)
brightness.piechart, brightness.piechart,
battery_widget, battery_widget,
-- wibox.widget.systray(), -- wibox.widget.systray(),
steamvr_status,
birthday,
kb_battery,
juneday, juneday,
textclock, textclock,
--s.mylayoutbox, --s.mylayoutbox,
@ -240,7 +274,7 @@ local globalkeys = gears.table.join(
), ),
awful.key({ modkey }, "k", awful.key({ modkey }, "k",
function() function()
awful.client.focus.byidx( -1) awful.client.focus.byidx(-1)
end, end,
{ description = "focus previous by index", group = "client" } { description = "focus previous by index", group = "client" }
), ),
@ -250,19 +284,19 @@ local globalkeys = gears.table.join(
{ description = "reload awesome", group = "awesome" }), { description = "reload awesome", group = "awesome" }),
awful.key({ modkey }, "l", function() awful.tag.incmwfact(0.05) end, awful.key({ modkey }, "l", function() awful.tag.incmwfact(0.05) end,
{ description = "increase master width factor", group = "layout" }), { description = "increase master width factor", group = "layout" }),
awful.key({ modkey }, "h", function() awful.tag.incmwfact( -0.05) end, awful.key({ modkey }, "h", function() awful.tag.incmwfact(-0.05) end,
{ description = "decrease master width factor", group = "layout" }), { description = "decrease master width factor", group = "layout" }),
awful.key({ modkey, "Shift" }, "h", function() awful.tag.incnmaster(1, nil, true) end, awful.key({ modkey, "Shift" }, "h", function() awful.tag.incnmaster(1, nil, true) end,
{ description = "increase the number of master clients", group = "layout" }), { description = "increase the number of master clients", group = "layout" }),
awful.key({ modkey, "Shift" }, "l", function() awful.tag.incnmaster( -1, nil, true) end, awful.key({ modkey, "Shift" }, "l", function() awful.tag.incnmaster(-1, nil, true) end,
{ description = "decrease the number of master clients", group = "layout" }), { description = "decrease the number of master clients", group = "layout" }),
awful.key({ modkey, "Control" }, "h", function() awful.tag.incncol(1, nil, true) end, awful.key({ modkey, "Control" }, "h", function() awful.tag.incncol(1, nil, true) end,
{ description = "increase the number of columns", group = "layout" }), { description = "increase the number of columns", group = "layout" }),
awful.key({ modkey, "Control" }, "l", function() awful.tag.incncol( -1, nil, true) end, awful.key({ modkey, "Control" }, "l", function() awful.tag.incncol(-1, nil, true) end,
{ description = "decrease the number of columns", group = "layout" }), { description = "decrease the number of columns", group = "layout" }),
awful.key({ modkey }, "space", function() awful.layout.inc(1) end, awful.key({ modkey }, "space", function() awful.layout.inc(1) end,
{ description = "select next", group = "layout" }), { description = "select next", group = "layout" }),
awful.key({ modkey, "Shift" }, "space", function() awful.layout.inc( -1) end, awful.key({ modkey, "Shift" }, "space", function() awful.layout.inc(-1) end,
{ description = "select previous", group = "layout" }), { description = "select previous", group = "layout" }),
awful.key({ modkey, "Control" }, "n", awful.key({ modkey, "Control" }, "n",
@ -381,7 +415,8 @@ root.keys(globalkeys)
-- Rules to apply to new clients (through the "manage" signal). -- Rules to apply to new clients (through the "manage" signal).
awful.rules.rules = { awful.rules.rules = {
-- All clients will match this rule. -- All clients will match this rule.
{ rule = {}, {
rule = {},
properties = { properties = {
border_width = beautiful.border_width, border_width = beautiful.border_width,
border_color = beautiful.border_normal, border_color = beautiful.border_normal,
@ -395,7 +430,8 @@ awful.rules.rules = {
}, },
-- Floating clients. -- Floating clients.
{ rule_any = { {
rule_any = {
instance = { instance = {
"pavucontrol", "pavucontrol",
}, },
@ -413,16 +449,23 @@ awful.rules.rules = {
"ovr-utils", "ovr-utils",
"Godot", "Godot",
}, },
}, properties = { floating = true, placement = awful.placement.no_offscreen } }, },
properties = { floating = true, placement = awful.placement.no_offscreen }
},
-- Add titlebars to normal clients and dialogs -- Add titlebars to normal clients and dialogs
{ rule_any = { type = { "normal", "dialog" } {
}, properties = { titlebars_enabled = true } rule_any = { type = { "normal", "dialog" }
}, },
{ rule_any = { name = { "Launching steam" } properties = { titlebars_enabled = true }
}, properties = { focus = false, raise = false }
}, },
{ rule = { {
rule_any = { name = { "Launching steam" }
},
properties = { focus = false, raise = false }
},
{
rule = {
class = "/home/crispypin/bin/ovr-utils/ovr-utils.x86_64", class = "/home/crispypin/bin/ovr-utils/ovr-utils.x86_64",
}, },
properties = { floating = true, width = 16, height = 16, tag = "9" } properties = { floating = true, width = 16, height = 16, tag = "9" }

View file

@ -54,7 +54,7 @@ update_ms = 1000
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", #* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. #* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "cpu lazy" proc_sorting = "cpu direct"
#* Reverse sorting order, True or False. #* Reverse sorting order, True or False.
proc_reversed = False proc_reversed = False

View file

@ -17,6 +17,7 @@ alias carr "cargo run --release"
alias cacp "cargo clippy -- -W clippy::pedantic" alias cacp "cargo clippy -- -W clippy::pedantic"
alias tab "echo \"hard_tabs = true\" > rustfmt.toml" alias tab "echo \"hard_tabs = true\" > rustfmt.toml"
alias :3 "echo meow :3" alias :3 "echo meow :3"
alias kill_vr "killall vrdashboard -9 & killall vrmonitor -9 & killall steamvrwebhelper -9 & killall vrcompositor -9"
alias py python alias py python
fish_add_path /home/crispypin/bin/ fish_add_path /home/crispypin/bin/
fish_add_path /home/crispypin/.cargo/bin fish_add_path /home/crispypin/.cargo/bin

View file

@ -8,6 +8,6 @@ font_size 12.0
foreground #ffffff foreground #ffffff
background #222244 background #222244
background_opacity 0.75 background_opacity 0.85

View file

@ -2,5 +2,5 @@
date=$(date "+%-d\\/%-m") date=$(date "+%-d\\/%-m")
echo $(cat ~/documents/notes/bdays.md \ echo $(cat ~/documents/notes/bdays.md \
| sed "/ $date/!d" \ | sed "/ $date /!d" \
| cut -d "|" -f3) | cut -d "|" -f3)

View file

@ -10,4 +10,4 @@ for s in all_statuses:
print(line.split(":")[1].strip()) print(line.split(":")[1].strip())
exit(0) exit(0)
print("no kb found") print("conputer bad")

View file

@ -1,3 +0,0 @@
#!/bin/bash
sshfs -o idmap=user -o transform_symlinks ilo:/ ~/ilo

4
scripts/vr_post_startup.sh Executable file
View file

@ -0,0 +1,4 @@
#!/bin/bash
sleep 4
~/bin/steamvr-status/vr_status &

View file

@ -1,3 +1,3 @@
needed when `"enableLinuxVulkanAsync" : false` is in the config, which in turn is needed to fix rendering latency in steamvr overlays needed when `"enableLinuxVulkanAsync" : false` is in the config, which in turn is needed to fix rendering latency in steamvr overlays
RADV_DEBUG=zerovram %command% RADV_DEBUG=zerovram %command% & ~/dotfiles/scripts/vr_post_startup.sh

298
tokipona_ibus.txt Normal file
View file

@ -0,0 +1,298 @@
### File header must not be modified
### This file must be encoded into UTF-8.
### This table under LGPL
### comments start with ### not single #
### Derive from the format of SCIM Table, so you can modify the table from
### scim-tables' table
SCIM_Generic_Table_Phrase_Library_TEXT
VERSION_1_0
### Begin Table definition.
BEGIN_DEFINITION
### License
LICENSE = LGPL
### An unique id to distinguish this table among others.
### Use uuidgen to generate this kind of id.
UUID = e530f083-e20e-4e85-8d91-980019258c23
### A unique number indicates the version of this file.
### For example the last modified date of this file.
### This number must be less than 2^32.
### Just make your table version-able
SERIAL_NUMBER = 20240102
### ICON can be any format as long as your pygtk can recognized
### the most widely ones are "png" and "svg", letter one is recommended
ICON = ibus-table.svg
### The symbol to be displayed in IM switchers
SYMBOL = 󱥬
### The default name of this table, this is needed
NAME = sitelen pona
### The local names of this table, this is optional
### NAME.zh_CN = 形码
### NAME.zh_HK = 形碼
### NAME.zh_TW = 形碼
### Description
DESCRIPTION = sitelen pona input method for IBus
### Supported languages of this table
### sigle "zh_CN" just be recognized as zh_CN,
### but "zh_CN, zh_HK" or more zh_XX will be recognized as zh;
### and "en_US, zh_CN" will be just ignored.
LANGUAGES = en_US
### The author of this table
AUTHOR = jan Komi
### Prompt string to be displayed in the status area, CN will be replaced by
### the gettext tools in runtime as 中.
STATUS_PROMPT = toki
### Valid input chars.
VALID_INPUT_CHARS = abcdefghijklmnopqrstuvwxyz[](){}:.+-'
### Layout
LAYOUT = us
### The max number of input keys for every phrase or character.
MAX_KEY_LENGTH = 20
### Use auto_commit mode as default
AUTO_COMMIT = TRUE
### Automatically selects the first phrase when typing
AUTO_SELECT = FALSE
### Use full width punctuation by default
DEF_FULL_WIDTH_PUNCT = FALSE
### Not use full width letter by default
DEF_FULL_WIDTH_LETTER = FALSE
### Whether user are allow to define phrase, default is true
### You have to define the word construction rules below.
### For input methods which do not input phrases, set this to False
USER_CAN_DEFINE_PHRASE = FALSE
### Whether support PinYin Mode, default is true.
### this feature is just for Chinese, set it to False if your IM is not
### Chinese.
PINYIN_MODE = FALSE
### If true then the phrases' frequencies will be adjusted dynamically
### according your using frequency.
DYNAMIC_ADJUST = TRUE
### Some characters whose frequencies should be fix all the time, e.g.
### some punctuations
### NO_CHECK_CHARS =
### Rules for constructing user defined phrase
### "ce" stands for "ci equal", a Chinese English :), means "phrase length
### equal to", thus ce2 -> phrase length equal to 2; and "ca" means "phrase
### length equal or above", so ca4 -> phrase length equal or above 4.
### p21 -> the 1st key of 2nd character in the phrase, and so on.
### Each rule separate via ";".
### Example below is a complete rule-set,
### becuase [2,2] ∩ [3,3] ∩ [4,+∞] = [2,+∞], which is the range of length
### of phrase. This have to be satisfied if you need ibus-table to build up
### your own inputed phrase via your daily using.
### RULES = ce2:p11+p12+p21+p22;ce3:p11+p21+p22+p31;ca4:p11+p21+p31+p41
### The key strokes to page up the lookup table.
### PAGE_UP_KEYS = Page_Up,KP_Page_Up,minus,comma
### The key strokes to page down.
### PAGE_DOWN_KEYS = Page_Down,KP_Page_Down,equal,period
### The key strokes to select candidiate phrases.
### Usually "1,2,3,4,5,6,7,8,9" but if this conflicts with
### characters one wants to use for input one can also
### use something like “F1,F2,F3,F4,F5,F6,F7,F8,F9”
SELECT_KEYS = 1,2,3,4,5,6,7,8,9
### The default orientation of the candidate list
### TRUE means the candidate list is vertical, FALSE means it is horizontal
ORIENTATION=TRUE
END_DEFINITION
### Begin Table data.
### Format of every line whose formated in "input_keys\tphrase\tfreq\n" is an
### entry.
### From left to right, the 1st column are the input key combination that you
### entered via keyboard; the 2nd column are presented character or phrase of
### the key combination you want; the 3rd column are frequency of the character
### or phrase.
BEGIN_TABLE
a 󱤀 1
akesi 󱤁 1
ala 󱤂 1
alasa 󱤃 1
ale 󱤄 1
anpa 󱤅 1
ante 󱤆 1
anu 󱤇 1
awen 󱤈 1
e 󱤉 1
en 󱤊 1
esun 󱤋 1
ijo 󱤌 1
ike 󱤍 1
ilo 󱤎 1
insa 󱤏 1
jaki 󱤐 1
jan 󱤑 1
jelo 󱤒 1
jo 󱤓 1
kala 󱤔 1
kalama 󱤕 1
kama 󱤖 1
kasi 󱤗 1
ken 󱤘 1
kepeken 󱤙 1
kili 󱤚 1
kiwen 󱤛 1
ko 󱤜 1
kon 󱤝 1
kule 󱤞 1
kulupu 󱤟 1
kute 󱤠 1
la 󱤡 1
lape 󱤢 1
laso 󱤣 1
lawa 󱤤 1
len 󱤥 1
lete 󱤦 1
li 󱤧 1
lili 󱤨 1
linja 󱤩 1
lipu 󱤪 1
loje 󱤫 1
lon 󱤬 1
luka 󱤭 1
lukin 󱤮 1
lupa 󱤯 1
ma 󱤰 1
mama 󱤱 1
mani 󱤲 1
meli 󱤳 1
mi 󱤴 1
mije 󱤵 1
moku 󱤶 1
moli 󱤷 1
monsi 󱤸 1
mu 󱤹 1
mun 󱤺 1
musi 󱤻 1
mute 󱤼 1
nanpa 󱤽 1
nasa 󱤾 1
nasin 󱤿 1
nena 󱥀 1
ni 󱥁 1
nimi 󱥂 1
noka 󱥃 1
o 󱥄 1
olin 󱥅 1
ona 󱥆 1
open 󱥇 1
pakala 󱥈 1
pali 󱥉 1
palisa 󱥊 1
pan 󱥋 1
pana 󱥌 1
pi 󱥍 1
pilin 󱥎 1
pimeja 󱥏 1
pini 󱥐 1
pipi 󱥑 1
poka 󱥒 1
poki 󱥓 1
pona 󱥔 1
pu 󱥕 1
sama 󱥖 1
seli 󱥗 1
selo 󱥘 1
seme 󱥙 1
sewi 󱥚 1
sijelo 󱥛 1
sike 󱥜 1
sin 󱥝 1
sina 󱥞 1
sinpin 󱥟 1
sitelen 󱥠 1
sona 󱥡 1
soweli 󱥢 1
suli 󱥣 1
suno 󱥤 1
supa 󱥥 1
suwi 󱥦 1
tan 󱥧 1
taso 󱥨 1
tawa 󱥩 1
telo 󱥪 1
tenpo 󱥫 1
toki 󱥬 1
tomo 󱥭 1
tu 󱥮 1
unpa 󱥯 1
uta 󱥰 1
utala 󱥱 1
walo 󱥲 1
wan 󱥳 1
waso 󱥴 1
wawa 󱥵 1
weka 󱥶 1
wile 󱥷 1
namako 󱥸 1
kin 󱥹 1
oko 󱥺 1
kipisi 󱥻 1
leko 󱥼 1
monsuta 󱥽 1
tonsi 󱥾 1
jasima 󱥿 1
kijetesantakalu 󱦀 1
soko 󱦁 1
meso 󱦂 1
epiku 󱦃 1
kokosila 󱦄 1
lanpan 󱦅 1
n 󱦆 1
misikeke 󱦇 1
ku 󱦈 1
pake 󱦠 1
apeja 󱦡 1
majuna 󱦢 1
powe 󱦣 1
. 󱦜 1
: 󱦝 1
[ 󱦐 1
] 󱦑 1
( 󱦗 1
) 󱦘 1
{ 󱦚 1
} 󱦛 1
- 󱦖 1
+ 󱦕 1
END_TABLE
### Since some input methods use different table for every character to make
### phrase, such as ZhengMa, they need explict define the goucima (the
### phrase-building code for the given character), the format of every entry is
### "character\tgoucima\n".
### For the input method which just use the full code as word-building code
### just skip this field. The ibus-table will build the codes needed from
### above TABLE.
### if you don't need different word-building code, please comment out the
### next few lines with ###, just like these lines you are look at now.
### BEGIN_GOUCI
### character_1 goucima_1
### character_1 goucima_2
### END_GOUCI

View file

@ -16,7 +16,7 @@
"liveServer.settings.root": "docs/", "liveServer.settings.root": "docs/",
"liveServer.settings.donotVerifyTags": true, "liveServer.settings.donotVerifyTags": true,
"editor.insertSpaces": false, "editor.insertSpaces": false,
"editor.fontFamily": "\"-Wingdings\",\"-linja lipamanka\", sans, mono", "editor.fontFamily": "\"-Wingdings\",\"-linja lipamanka\", sasns, mono, \"nasin\\-nanpa\"",
"Lua.workspace.library": [ "Lua.workspace.library": [
"~/proj/forks/awesome" "~/proj/forks/awesome"
], ],
@ -41,8 +41,10 @@
"extensions.autoUpdate": false, "extensions.autoUpdate": false,
"zenMode.hideLineNumbers": false, "zenMode.hideLineNumbers": false,
"editor.wordWrap": "on", "editor.wordWrap": "on",
"editor.minimap.renderCharacters": false,
"editor.inlayHints.enabled": "offUnlessPressed", "editor.inlayHints.enabled": "offUnlessPressed",
"diffEditor.ignoreTrimWhitespace": false,
"markdown.preview.breaks": true,
"git.openRepositoryInParentFolders": "always",
"window.zoomLevel": 1, "window.zoomLevel": 1,
"diffEditor.ignoreTrimWhitespace": false "editor.minimap.renderCharacters": false
} }

View file

@ -1,9 +1,30 @@
#setxkbmap -layout se #setxkbmap -layout se
xrandr --output DisplayPort-0 --primary --mode 1920x1080 --pos 1920x0 --rotate normal --set TearFree on \ xrandr \
--output DisplayPort-0 --primary --mode 1920x1080 --pos 1920x0 --rotate normal --set TearFree on \
--output DisplayPort-1 --off \ --output DisplayPort-1 --off \
--output DisplayPort-2 --mode 1920x1080 --pos 0x0 --rotate normal --set TearFree on \ --output HDMI-A-1 --mode 1920x1080 --pos 0x0 --rotate normal --set TearFree on \
--output HDMI-A-0 --mode 1280x1024 --pos 3840x0 --rotate normal --set TearFree on --output VGA-1-1 --mode 1280x1024 --pos 3840x0 --rotate normal
# xrandr \
# --output DisplayPort-0 --primary --mode 1920x1080 --pos 1920x0 --rotate normal --set TearFree on \
# --output DisplayPort-1 --off \
# --output HDMI-A-0 --mode 1280x1024 --pos 3840x0 --rotate normal --set TearFree on \
# --output VGA-1-1 --mode 1920x1080 --pos 0x0 --rotate normal
# --output DisplayPort-4 --mode 1920x1080 --pos 0x0 --rotate normal --set TearFree on \
# VGA doesn't allow tearfree :(
# xrandr
# --output DisplayPort-0 --off
# --output DisplayPort-1 --off
# --output DisplayPort-2 --off
# --output HDMI-A-0 --mode 1280x1024 --pos 1920x56 --rotate normal
# --output DisplayPort-3 --mode 1920x1080 --pos 0x0 --rotate normal
# --output DisplayPort-4 --off
# bind super to super+esc, for menubar toggle with one key # bind super to super+esc, for menubar toggle with one key
xcape -e "Super_L=Super_L|Escape" xcape -e "Super_L=Super_L|Escape"